Fundamentals of robotics ROS package for the Franka Emika robot.
Dockerfile for creating environment for the laboratory exercises, alongside with instructions how to use is located here.
Instructions for installing Docker can be found here.
After installing Docker, check post-installation steps to easily build, start and remove docker images.
- You can launch robot with:
roslaunch for_franka_ros for_lab.launch
- Open up another terminal and enter docker container with:
docker exec -it for_cont bash
- Run script with:
python3 or_lab1.py
Topics that are used to control robot are under control_arm_node
namespace.
In order to work with real robot, we need to specify correct ROS_MASTER_URI
and ROS_HOSTNAME
setup.
You can do so with following commands:
echo "export ROS_MASTER_URI=http://192.168.150.250:11311" >> ~/.bashrc
echo "export ROS_HOSTNAME=<your_ip>" >> ~/.bashrc
After that you can run your or_lab3 script with:
python3 or_lab3.py
Robot trajectories (paths) while drawing a house won't be straight lines and it is normal and expected. However, from the figure obtained, you should see red and blue line, more or less in a same way.
In order to use autocomplete and CMAKE_ARGS use following command:
catkin build --cmake-args -DCMAKE_C_FLAGS="-DCMAKE_EXPORT_COMPILE_COMMANDS=1"
- ROS planning docs
- FreeCAD docs for making obstacles for the experiments
Current implemented robot states are:
JOINT_TRAJ_CTL
--> OMPL MoveIt! integrated plannerCART_TRAJ_CTL
--> Cartesian MoveIt! integrated plannerSERVO_CTL
--> Not implemented yet!IDLE
--> If command sent, robot ignores cmd!
You can change states by invoking:
rosservice call /control_arm_node/change_state "state: "<WANTED_STATE>""
- Create
control_arm.cpp
interface [simple moveit wrapper] - Add instructions for building/using Dockerfile
- Debug init HoCook
- [py] Add class inheritance and develop one Lab class that will be inherited by each instance of the lab
- [py] Added init joy ctl for pose tracking
- [py] Add orientation ctl for joy
- [cpp] Refactor
- [cpp] Add yaml topic name reading
- [cpp] Added init to the Cartesian path planning [Fails often]
- [cpp] Add init pose tracking gazebo
- [cpp] Add servo
- [cpp] Add joystick control for servo (check existing Moveit 2 joy ctl)
- [cpp] Add analytic IK [choose closest solution]
- [cpp] Test joint pose commands
- [cpp] Change to the shorter namespace
- [cpp] Test with multiple robots (IFACE)
- [cpp] IFACE test: Schunk
- [cpp] IFACE test: Franka
- [cpp] IFACE test: Kinova
- [docs] Add CMake stuff
- [docs] Add lab instructions as separate subsection