Repolode
frankarobotics

frankarobotics/libfranka

C++ client library for real-time low-level control of Franka Robotics research robots, with Python bindings via pylibfranka.

Stars
463
Forks
258
Open issues
2
Last commit
2 months ago

What is it?

libfranka is a C++ library for low-level, real-time control of Franka Robotics research robots. It communicates with the robot over the network and exposes motion control and robot state access for applications that need direct control of the arm, rather than the higher-level interfaces of the robot's own software.

The library is distributed as Debian packages for Ubuntu 20.04, 22.04, 24.04 and 26.04 LTS, and can also be built from source or in a Docker-based development environment using CMake. Real-time operation is intended to run on a Linux kernel with the PREEMPT_RT patch. Each libfranka release targets specific robot system versions, which are listed in a compatibility matrix.

pylibfranka provides Python bindings for the same library and can be installed from PyPI, with wheels for several Python versions tied to Ubuntu releases. The repository also includes example programs for joint position and impedance control, printing robot state, and operating the gripper.

Key features

  • 01Low-level, real-time motion control of Franka research robots.
  • 02Network communication with the robot for reading state and sending commands.
  • 03Python bindings (pylibfranka) installable from PyPI.
  • 04Debian packages and source builds for Ubuntu 20.04 through 26.04 LTS.
  • 05Example programs for joint impedance control, robot state printing and gripper operation.

Use cases

  • Research projects that need direct real-time control of a Franka arm.
  • Writing custom controllers such as impedance or joint position control in C++ or Python.
  • Integrating Franka robots with external control loops or research software stacks.
  • Operating the Franka gripper from custom applications.

Quick start

  1. 1

    Download the libfranka Debian package for your Ubuntu version from the GitHub releases page

    wget https://github.com/frankarobotics/libfranka/releases/download/0.19.0/libfranka_0.19.0_jammy_amd64.deb
  2. 2

    Verify the package checksum

    sha256sum -c libfranka_0.19.0_jammy_amd64.deb.sha256
  3. 3

    Install the package

    sudo dpkg -i libfranka_0.19.0_jammy_amd64.deb

Things to know

  • Targets Franka Robotics research robots with the FCI feature installed; it is not useful without that hardware.
  • Officially supports Ubuntu Linux only, with a PREEMPT_RT kernel recommended for real-time control.

In collections

Topics

#robotics#real-time-control#cpp#python-bindings#robot-arm#motion-control

FAQ

What is libfranka?
C++ client library for real-time low-level control of Franka Robotics research robots, with Python bindings via pylibfranka. libfranka is a C++ library for low-level, real-time control of Franka Robotics research robots. It communicates with the robot over the network and exposes motion control and robot state access for applications that need direct control of the arm, rather than the higher-level interfaces of the robot's own software.
Is libfranka free to use? What license does it have?
libfranka is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is libfranka still maintained?
Updated within 6 months. The last commit to libfranka was on Sep 7, 2026.
What can I use libfranka for?
Research projects that need direct real-time control of a Franka arm. Writing custom controllers such as impedance or joint position control in C++ or Python. Integrating Franka robots with external control loops or research software stacks. Operating the Franka gripper from custom applications.
How do I install libfranka?
Download the libfranka Debian package for your Ubuntu version from the GitHub releases page: wget https://github.com/frankarobotics/libfranka/releases/download/0.19.0/libfranka_0.19.0_jammy_amd64.deb Verify the package checksum: sha256sum -c libfranka_0.19.0_jammy_amd64.deb.sha256 Install the package: sudo dpkg -i libfranka_0.19.0_jammy_amd64.deb
Where can I get libfranka?
The source code and installation instructions are on GitHub: https://github.com/frankarobotics/libfranka

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects