The is the server-side code intended to run on a realtime kernel with ros-noetic
and franka-ros
installed. We implement a cartesian impedance controller to control the robot.
We provide a gymnasium environment to interface with the server: Gym Franka Client.
- Setup franka-ros for ros-noetic as guided in https://frankaemika.github.io/docs/installation_linux.html.
- Clone this repository.
- Run
bash ./setup.sh
from the project's directory. - Start a new terminal so the workspace is properly sourced.
-
To provent the CPU from entering
Powersave
mode and causing communication delays, install indicator-cpufreq by runningsudo apt-get install indicator-cpufreq
and change toPerformance
mode. -
Configure the environment variables to match your networking setup.
export SERVER_IP=192.168.xx.xx # The IP of the server (this PC) export FCI_IP=192.168.xx.xx # The IP of the franka control box
python3 gym_franka_server.py
roslaunch gym_franka_server home.launch robot_ip:=$FCI_IP
We provide a teleoperation example. The iOS app is available on the App Store: XR-Controller.
roslaunch gym_franka_server ci_socket.launch robot_ip:=$FCI_IP address:=$SERVER_IP port:=6789 client:=iOS