- install the latest Ubuntu LTS
- either set up Ubuntu Pro real-time kernel as suggested by the Franka documentation or install the XanMod Kernel with realtime (
PREEMPT_RT
) patches (sudo apt install linux-xanmod-rt-x64v3
orlinux-xanmod-rt-x64v2
for older systems) - set realtime permissions for user
- (optional for CUDA) add the NVIDIA driver and CUDA repo (select
deb (network)
) and install the driver package withIGNORE_PREEMPT_RT_PRESENCE=1 sudo -E apt install cuda-drivers
(you also have to useIGNORE_PREEMPT_RT_PRESENCE=1
when updating the driver, e.g.IGNORE_PREEMPT_RT_PRESENCE=1 sudo -E apt upgrade
, or simply addexport IGNORE_PREEMPT_RT_PRESENCE=1
to your~/.bashrc
)
Run the following commands to build the Franka workspace:
mkdir ~/franka_ws && cd ~/franka_ws
vcs import --recursive --input https://raw.githubusercontent.com/mul-cps/mul_franka/refs/heads/main/sources.repos
rosdep install --from-paths src --ignore-src -y --skip-keys=libfranka
colcon build
. install/setup.bash
- Power on the controller. The lights on the robot will flash yellow. Wait until the lights are solid yellow.
- Connect to the Franka Desk Web UI (
https://$ROBOT_IP
). - Unlock the breaks. If the light turn pink, press and release the e-stop. The lights will turn blue.
- Activate FCI. This will lock the Web UI and you can now connect to the robot via libfranka on ip
$ROBOT_IP
and port1337
.
This repo contains a couple of launch files:
franka.launch.py
: hardware interface and controllersmoveit.launch.py
: MoveIt 2 for motion planningrviz.launch.py
: visualisation of the robot state and UI for MoveIt 2
Once FCI is activated on the robot, you can use these launch files via ros2 launch
:
# start hardware interface, connect to FCI, and start controllers
ros2 launch mul_franka_launch franka.launch.py robot_ip:=$ROBOT_IP
# start MoveIt 2
ros2 launch mul_franka_launch moveit.launch.py
# optionally, start RViz
ros2 launch mul_franka_launch rviz.launch.py