Python client for the Franka Desk REST API, with a ROS 2
bringup wrapper. It automates the web-UI steps required before libfranka /
franka_ros2 can talk to a Franka Research robot — take the control token,
unlock the joints, and activate the FCI (Franka Control Interface) — and, in
ROS 2, publishes when the arm is actually ready to be commanded.
| Package | What it is | Docs |
|---|---|---|
franka_desk |
Pure-Python client for the Desk REST API. Published to PyPI. | franka_desk/README.md |
franka_desk_bringup |
ROS 2 (Jazzy) node wrapping the client — activates the FCI and publishes readiness. | franka_desk_bringup/README.md |
Python:
pip install franka_deskfrom franka_desk import FrankaDeskClient
# Brings the robot up on enter, tears it down on exit.
with FrankaDeskClient("https://<robot-ip>", "<username>", "<password>") as client:
... # FCI active, joints unlocked — connect libfranka / franka_ros2ROS 2 (Jazzy):
ros2 launch franka_desk_bringup franka_desk_bringup.launch.py \
robot_url:=https://<robot-ip> password:=<password>See each package's README for full instructions.
franka_desk: Python ≥ 3.11 (usesdatetime.UTC),requests.franka_desk_bringup: ROS 2 Jazzy +franka_desk.
CI (GitHub Actions) runs on every push and PR: it lints and builds franka_desk
on Python 3.11 / 3.12, colcon builds the ROS 2 wrapper, and publishes
franka_desk to PyPI on a v* tag.
MIT © Technical University of Munich — see LICENSE.