Frankr is a high-level C++ and Python API for controlling the Franka Emika Panda Robot through ROS. We are using our own fork of the panda_moveit_config
package to control the robot as the default kinetic-devel branch in panda_moveit_config
contains wrong information about collisions for the robot. See the Dockerfile for more details on the installation.
For manual build of the docker image see: INSTALL.md
Pull the docker image:
docker pull dtiresearch/frankr
Run the container:
docker run -it --rm --network=host --privileged \
-v $(pwd):/home/workspace/test \
-w /home/workspace/ \
dtiresearch/frankr
Open two more terminals and connect them to the running Docker container by docker exec -it ... bash
. Then launch the following launch files in these terminals
roslaunch franka_control franka_control robot_ip:=172.16.0.2
roslaunch panda_moveit_config panda_moveit.launch
Now you're ready to test out the examples on your system. Always have a user ready at the emergency stop when moving the (any) robot! Simply run:
python3 examples/gripper.py --host 172.16.0.2
...
python3 examples/home.py
Frankr is originally authored by Lars Berscheid from KIT @pantor from which this standalone package is build.
Currently, frankr is tested against:
- ROS Kinetic
- libfranka 0.8.0
- Panda controller firmware 4.0.4