Package symbol

libfranka package from libfranka repo

libfranka

ROS Distro
humble

Package Summary

Tags No category tags.
Version 0.18.0
License Apache 2.0
Build type CMAKE
Use RECOMMENDED

Repository Summary

Description C++ client library to control Franka robots in real-time
Checkout URI https://github.com/frankaemika/libfranka.git
VCS Type git
VCS Version main
Last Updated 2025-11-10
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

libfranka is a C++ library for Franka Robotics research robots

Additional Links

Maintainers

  • Franka Robotics GmbH

Authors

  • Franka Robotics GmbH

libfranka: C++ Library for Franka Robotics Research Robots

[![codecov][codecov-status]][codecov]

libfranka is a C++ library that provides low-level control of Franka Robotics research robots. The [generated API documentation][api-docs] offers an overview of its capabilities, while the [Franka Control Interface (FCI) documentation][fci-docs] provides more information on setting up the robot and utilizing its features and functionalities.

To find the appropriate version to use, please refer to the [Compatibility Matrix][compatibility-matrix].

Key Features

  • Low-level control: Access precise motion control for research robots.
  • Real-time communication: Interact with the robot in real-time.

Getting Started

1. System Requirements

Before using libfranka, ensure your system meets the following requirements:

  • Operating System: [Linux with PREEMPT_RT patched kernel][real-time-kernel] (Ubuntu 16.04 or later, Ubuntu 22.04 recommended)
  • Compiler: GCC 7 or later
  • CMake: Version 3.10 or later
  • Robot: Franka Robotics robot with FCI feature installed

2. Installing dependencies

sudo apt-get update
sudo apt-get install -y build-essential cmake git libpoco-dev libeigen3-dev libfmt-dev

To use libfranka version 0.14.0 or later, you will need to install [pinocchio][stack-of-tasks] and some more dependencies:

sudo apt-get install -y lsb-release curl
sudo mkdir -p /etc/apt/keyrings
curl -fsSL http://robotpkg.openrobots.org/packages/debian/robotpkg.asc | sudo tee /etc/apt/keyrings/robotpkg.asc

echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/robotpkg.asc] http://robotpkg.openrobots.org/packages/debian/pub $(lsb_release -cs) robotpkg" | sudo tee /etc/apt/sources.list.d/robotpkg.list

sudo apt-get update
sudo apt-get install -y robotpkg-pinocchio

3. Building and Installation from Source

Before building and installing from source, please uninstall existing installations of libfranka to avoid conflicts:

sudo apt-get remove "*libfranka*"

Clone the Repository

You can clone the repository and choose the version you need by selecting a specific tag:

git clone --recurse-submodules https://github.com/frankarobotics/libfranka.git
cd libfranka

List available tags

git tag -l

Checkout a specific tag (e.g., 0.15.0)

git checkout 0.15.0

Update submodules

git submodule update

Create a build directory and navigate to it

mkdir build
cd build

Configure the project and build

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=/opt/openrobots/lib/cmake -DBUILD_TESTS=OFF ..
make

Building a Debian package is optional but recommended for easier installation and management. In the build folder, execute:

File truncated at 100 lines see the full file

CHANGELOG

CHANGELOG

All notable changes to libfranka and pylibfranka will be documented in this file.

[0.18.0]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Added

  • Forward kinematics computation using Pinocchio library
  • Jacobian computation using Pinocchio library
  • Accelerometer data exposed in robot state
  • Joint position-based velocity limits parsed from URDF to compute upper and lower velocity bounds
  • Documentation under libfranka repository
  • Feat: Async Position Control Handler added to libfranka to support asynchronous position control (Experimental and subject to change)

Changed

  • Updated libfranka-common (common-libfranka) to use float-based RobotState struct
  • Upgraded Pinocchio dependency to version 3.4.0
  • Upgraded minimum Clang version from 6 to 14
  • Removed dynamic library loading from Model constructor

Fixed

  • Corrected elbow limit rating which was using incorrect values

Deprecated

  • Marked franka::computeUpperLimitsJointVelocity(const std::array<double, 7UL> &q) and franka::computeLowerLimitsJointVelocity(const std::array<double, 7UL> &q)as deprecated. It will be removed in future versions. Use Robot::getUpperJointVelocityLimits(const std::array<double, 7UL> &joint_positions) and Robot::getLowerJointVelocityLimits(const std::array<double, 7UL> &joint_positions) instead.
  • With system image >= 5.9.0, the joint position limits of the system with libfranka are increased to match the datasheet. The methods franka::computeUpperLimitsJointVelocity(const std::array<double, 7UL> &q) and franka::computeLowerLimitsJointVelocity(const std::array<double, 7UL> &q) now impose stricter constraints compared to the new parametrized limits.

pylibfranka - Python

  • Deployment of the pylibfranka to the github hosted web-page
  • Pylibfranka and libfranka versions are synchronized

[0.17.0] - 2025-10-15

pylibfranka - Python

Added

  • Cartesian pose control interface

0.16.1 - 2025-10-10

  • Fix: fix cmake and package versioning

0.16.0 - 2025-09-15

  • Feat: Added pylibfranka - a python binding for libfranka

0.15.3 - 2025-07-31

  • Fix outdated Emika links

0.15.2 - 2025-07-24

  • Optimize robot model computation

0.15.1 - 2025-06-23

  • docs starts a new docs build

0.15.0 - 2025-01-16

Requires Franka Research 3 System Version >= 5.7.2

  • Improved error minimization for joint/cartesian pose velocities and accelerations.
  • Updated joint position and cartesian pose examples to start from the initial q or O_T_EE.
  • Fixed joint position and cartesian pose low-pass filters to use the same command in the first package.
  • Added a general logger, allowing users to implement custom loggers for receiving log messages.
  • Fixed the bug that prevented exit in case of network connection interruption.

Important

  • The flags fci_joint_motion_generator_position_limits_violation_flag and fci_cartesian_motion_generator_joint_position_limits_violation_flag are now always set to false and will be deprecated in future releases. They will be replaced by joint_position_limits_violation.

BREAKING

  • The previous CSV robot state logger has been renamed to robot_state_logger and relocated.

0.14.1 - 2024-09-06

  • Added doxygen generation

0.14.0 - 2024-03-26

Requires Franka Research 3 system version >= 5.7.0

  • Compute dynamic robot parameters with Pinocchio library.

0.13.5 - 2024-09-06

  • Updated doxygen generation

0.13.4 - 2024-09-05

Requires Franka Research 3 system version >= 5.5.0

  • Added package.xml for ros humble release

0.13.3 - 2024-01-18

Requires Franka Research 3 system version >= 5.5.0

  • Bump libfranka-common version compatible with 5.5.0

File truncated at 100 lines see the full file

Package Dependencies

Deps Name
pinocchio

System Dependencies

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged libfranka at Robotics Stack Exchange

No version for distro jazzy showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

libfranka package from libfranka repo

libfranka

ROS Distro
humble

Package Summary

Tags No category tags.
Version 0.18.0
License Apache 2.0
Build type CMAKE
Use RECOMMENDED

Repository Summary

Description C++ client library to control Franka robots in real-time
Checkout URI https://github.com/frankaemika/libfranka.git
VCS Type git
VCS Version main
Last Updated 2025-11-10
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

libfranka is a C++ library for Franka Robotics research robots

Additional Links

Maintainers

  • Franka Robotics GmbH

Authors

  • Franka Robotics GmbH

libfranka: C++ Library for Franka Robotics Research Robots

[![codecov][codecov-status]][codecov]

libfranka is a C++ library that provides low-level control of Franka Robotics research robots. The [generated API documentation][api-docs] offers an overview of its capabilities, while the [Franka Control Interface (FCI) documentation][fci-docs] provides more information on setting up the robot and utilizing its features and functionalities.

To find the appropriate version to use, please refer to the [Compatibility Matrix][compatibility-matrix].

Key Features

  • Low-level control: Access precise motion control for research robots.
  • Real-time communication: Interact with the robot in real-time.

Getting Started

1. System Requirements

Before using libfranka, ensure your system meets the following requirements:

  • Operating System: [Linux with PREEMPT_RT patched kernel][real-time-kernel] (Ubuntu 16.04 or later, Ubuntu 22.04 recommended)
  • Compiler: GCC 7 or later
  • CMake: Version 3.10 or later
  • Robot: Franka Robotics robot with FCI feature installed

2. Installing dependencies

sudo apt-get update
sudo apt-get install -y build-essential cmake git libpoco-dev libeigen3-dev libfmt-dev

To use libfranka version 0.14.0 or later, you will need to install [pinocchio][stack-of-tasks] and some more dependencies:

sudo apt-get install -y lsb-release curl
sudo mkdir -p /etc/apt/keyrings
curl -fsSL http://robotpkg.openrobots.org/packages/debian/robotpkg.asc | sudo tee /etc/apt/keyrings/robotpkg.asc

echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/robotpkg.asc] http://robotpkg.openrobots.org/packages/debian/pub $(lsb_release -cs) robotpkg" | sudo tee /etc/apt/sources.list.d/robotpkg.list

sudo apt-get update
sudo apt-get install -y robotpkg-pinocchio

3. Building and Installation from Source

Before building and installing from source, please uninstall existing installations of libfranka to avoid conflicts:

sudo apt-get remove "*libfranka*"

Clone the Repository

You can clone the repository and choose the version you need by selecting a specific tag:

git clone --recurse-submodules https://github.com/frankarobotics/libfranka.git
cd libfranka

List available tags

git tag -l

Checkout a specific tag (e.g., 0.15.0)

git checkout 0.15.0

Update submodules

git submodule update

Create a build directory and navigate to it

mkdir build
cd build

Configure the project and build

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=/opt/openrobots/lib/cmake -DBUILD_TESTS=OFF ..
make

Building a Debian package is optional but recommended for easier installation and management. In the build folder, execute:

File truncated at 100 lines see the full file

CHANGELOG

CHANGELOG

All notable changes to libfranka and pylibfranka will be documented in this file.

[0.18.0]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Added

  • Forward kinematics computation using Pinocchio library
  • Jacobian computation using Pinocchio library
  • Accelerometer data exposed in robot state
  • Joint position-based velocity limits parsed from URDF to compute upper and lower velocity bounds
  • Documentation under libfranka repository
  • Feat: Async Position Control Handler added to libfranka to support asynchronous position control (Experimental and subject to change)

Changed

  • Updated libfranka-common (common-libfranka) to use float-based RobotState struct
  • Upgraded Pinocchio dependency to version 3.4.0
  • Upgraded minimum Clang version from 6 to 14
  • Removed dynamic library loading from Model constructor

Fixed

  • Corrected elbow limit rating which was using incorrect values

Deprecated

  • Marked franka::computeUpperLimitsJointVelocity(const std::array<double, 7UL> &q) and franka::computeLowerLimitsJointVelocity(const std::array<double, 7UL> &q)as deprecated. It will be removed in future versions. Use Robot::getUpperJointVelocityLimits(const std::array<double, 7UL> &joint_positions) and Robot::getLowerJointVelocityLimits(const std::array<double, 7UL> &joint_positions) instead.
  • With system image >= 5.9.0, the joint position limits of the system with libfranka are increased to match the datasheet. The methods franka::computeUpperLimitsJointVelocity(const std::array<double, 7UL> &q) and franka::computeLowerLimitsJointVelocity(const std::array<double, 7UL> &q) now impose stricter constraints compared to the new parametrized limits.

pylibfranka - Python

  • Deployment of the pylibfranka to the github hosted web-page
  • Pylibfranka and libfranka versions are synchronized

[0.17.0] - 2025-10-15

pylibfranka - Python

Added

  • Cartesian pose control interface

0.16.1 - 2025-10-10

  • Fix: fix cmake and package versioning

0.16.0 - 2025-09-15

  • Feat: Added pylibfranka - a python binding for libfranka

0.15.3 - 2025-07-31

  • Fix outdated Emika links

0.15.2 - 2025-07-24

  • Optimize robot model computation

0.15.1 - 2025-06-23

  • docs starts a new docs build

0.15.0 - 2025-01-16

Requires Franka Research 3 System Version >= 5.7.2

  • Improved error minimization for joint/cartesian pose velocities and accelerations.
  • Updated joint position and cartesian pose examples to start from the initial q or O_T_EE.
  • Fixed joint position and cartesian pose low-pass filters to use the same command in the first package.
  • Added a general logger, allowing users to implement custom loggers for receiving log messages.
  • Fixed the bug that prevented exit in case of network connection interruption.

Important

  • The flags fci_joint_motion_generator_position_limits_violation_flag and fci_cartesian_motion_generator_joint_position_limits_violation_flag are now always set to false and will be deprecated in future releases. They will be replaced by joint_position_limits_violation.

BREAKING

  • The previous CSV robot state logger has been renamed to robot_state_logger and relocated.

0.14.1 - 2024-09-06

  • Added doxygen generation

0.14.0 - 2024-03-26

Requires Franka Research 3 system version >= 5.7.0

  • Compute dynamic robot parameters with Pinocchio library.

0.13.5 - 2024-09-06

  • Updated doxygen generation

0.13.4 - 2024-09-05

Requires Franka Research 3 system version >= 5.5.0

  • Added package.xml for ros humble release

0.13.3 - 2024-01-18

Requires Franka Research 3 system version >= 5.5.0

  • Bump libfranka-common version compatible with 5.5.0

File truncated at 100 lines see the full file

Package Dependencies

Deps Name
pinocchio

System Dependencies

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged libfranka at Robotics Stack Exchange

No version for distro kilted showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

libfranka package from libfranka repo

libfranka

ROS Distro
humble

Package Summary

Tags No category tags.
Version 0.18.0
License Apache 2.0
Build type CMAKE
Use RECOMMENDED

Repository Summary

Description C++ client library to control Franka robots in real-time
Checkout URI https://github.com/frankaemika/libfranka.git
VCS Type git
VCS Version main
Last Updated 2025-11-10
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

libfranka is a C++ library for Franka Robotics research robots

Additional Links

Maintainers

  • Franka Robotics GmbH

Authors

  • Franka Robotics GmbH

libfranka: C++ Library for Franka Robotics Research Robots

[![codecov][codecov-status]][codecov]

libfranka is a C++ library that provides low-level control of Franka Robotics research robots. The [generated API documentation][api-docs] offers an overview of its capabilities, while the [Franka Control Interface (FCI) documentation][fci-docs] provides more information on setting up the robot and utilizing its features and functionalities.

To find the appropriate version to use, please refer to the [Compatibility Matrix][compatibility-matrix].

Key Features

  • Low-level control: Access precise motion control for research robots.
  • Real-time communication: Interact with the robot in real-time.

Getting Started

1. System Requirements

Before using libfranka, ensure your system meets the following requirements:

  • Operating System: [Linux with PREEMPT_RT patched kernel][real-time-kernel] (Ubuntu 16.04 or later, Ubuntu 22.04 recommended)
  • Compiler: GCC 7 or later
  • CMake: Version 3.10 or later
  • Robot: Franka Robotics robot with FCI feature installed

2. Installing dependencies

sudo apt-get update
sudo apt-get install -y build-essential cmake git libpoco-dev libeigen3-dev libfmt-dev

To use libfranka version 0.14.0 or later, you will need to install [pinocchio][stack-of-tasks] and some more dependencies:

sudo apt-get install -y lsb-release curl
sudo mkdir -p /etc/apt/keyrings
curl -fsSL http://robotpkg.openrobots.org/packages/debian/robotpkg.asc | sudo tee /etc/apt/keyrings/robotpkg.asc

echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/robotpkg.asc] http://robotpkg.openrobots.org/packages/debian/pub $(lsb_release -cs) robotpkg" | sudo tee /etc/apt/sources.list.d/robotpkg.list

sudo apt-get update
sudo apt-get install -y robotpkg-pinocchio

3. Building and Installation from Source

Before building and installing from source, please uninstall existing installations of libfranka to avoid conflicts:

sudo apt-get remove "*libfranka*"

Clone the Repository

You can clone the repository and choose the version you need by selecting a specific tag:

git clone --recurse-submodules https://github.com/frankarobotics/libfranka.git
cd libfranka

List available tags

git tag -l

Checkout a specific tag (e.g., 0.15.0)

git checkout 0.15.0

Update submodules

git submodule update

Create a build directory and navigate to it

mkdir build
cd build

Configure the project and build

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=/opt/openrobots/lib/cmake -DBUILD_TESTS=OFF ..
make

Building a Debian package is optional but recommended for easier installation and management. In the build folder, execute:

File truncated at 100 lines see the full file

CHANGELOG

CHANGELOG

All notable changes to libfranka and pylibfranka will be documented in this file.

[0.18.0]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Added

  • Forward kinematics computation using Pinocchio library
  • Jacobian computation using Pinocchio library
  • Accelerometer data exposed in robot state
  • Joint position-based velocity limits parsed from URDF to compute upper and lower velocity bounds
  • Documentation under libfranka repository
  • Feat: Async Position Control Handler added to libfranka to support asynchronous position control (Experimental and subject to change)

Changed

  • Updated libfranka-common (common-libfranka) to use float-based RobotState struct
  • Upgraded Pinocchio dependency to version 3.4.0
  • Upgraded minimum Clang version from 6 to 14
  • Removed dynamic library loading from Model constructor

Fixed

  • Corrected elbow limit rating which was using incorrect values

Deprecated

  • Marked franka::computeUpperLimitsJointVelocity(const std::array<double, 7UL> &q) and franka::computeLowerLimitsJointVelocity(const std::array<double, 7UL> &q)as deprecated. It will be removed in future versions. Use Robot::getUpperJointVelocityLimits(const std::array<double, 7UL> &joint_positions) and Robot::getLowerJointVelocityLimits(const std::array<double, 7UL> &joint_positions) instead.
  • With system image >= 5.9.0, the joint position limits of the system with libfranka are increased to match the datasheet. The methods franka::computeUpperLimitsJointVelocity(const std::array<double, 7UL> &q) and franka::computeLowerLimitsJointVelocity(const std::array<double, 7UL> &q) now impose stricter constraints compared to the new parametrized limits.

pylibfranka - Python

  • Deployment of the pylibfranka to the github hosted web-page
  • Pylibfranka and libfranka versions are synchronized

[0.17.0] - 2025-10-15

pylibfranka - Python

Added

  • Cartesian pose control interface

0.16.1 - 2025-10-10

  • Fix: fix cmake and package versioning

0.16.0 - 2025-09-15

  • Feat: Added pylibfranka - a python binding for libfranka

0.15.3 - 2025-07-31

  • Fix outdated Emika links

0.15.2 - 2025-07-24

  • Optimize robot model computation

0.15.1 - 2025-06-23

  • docs starts a new docs build

0.15.0 - 2025-01-16

Requires Franka Research 3 System Version >= 5.7.2

  • Improved error minimization for joint/cartesian pose velocities and accelerations.
  • Updated joint position and cartesian pose examples to start from the initial q or O_T_EE.
  • Fixed joint position and cartesian pose low-pass filters to use the same command in the first package.
  • Added a general logger, allowing users to implement custom loggers for receiving log messages.
  • Fixed the bug that prevented exit in case of network connection interruption.

Important

  • The flags fci_joint_motion_generator_position_limits_violation_flag and fci_cartesian_motion_generator_joint_position_limits_violation_flag are now always set to false and will be deprecated in future releases. They will be replaced by joint_position_limits_violation.

BREAKING

  • The previous CSV robot state logger has been renamed to robot_state_logger and relocated.

0.14.1 - 2024-09-06

  • Added doxygen generation

0.14.0 - 2024-03-26

Requires Franka Research 3 system version >= 5.7.0

  • Compute dynamic robot parameters with Pinocchio library.

0.13.5 - 2024-09-06

  • Updated doxygen generation

0.13.4 - 2024-09-05

Requires Franka Research 3 system version >= 5.5.0

  • Added package.xml for ros humble release

0.13.3 - 2024-01-18

Requires Franka Research 3 system version >= 5.5.0

  • Bump libfranka-common version compatible with 5.5.0

File truncated at 100 lines see the full file

Package Dependencies

Deps Name
pinocchio

System Dependencies

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged libfranka at Robotics Stack Exchange

No version for distro rolling showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

libfranka package from libfranka repo

libfranka

ROS Distro
humble

Package Summary

Tags No category tags.
Version 0.18.0
License Apache 2.0
Build type CMAKE
Use RECOMMENDED

Repository Summary

Description C++ client library to control Franka robots in real-time
Checkout URI https://github.com/frankaemika/libfranka.git
VCS Type git
VCS Version main
Last Updated 2025-11-10
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

libfranka is a C++ library for Franka Robotics research robots

Additional Links

Maintainers

  • Franka Robotics GmbH

Authors

  • Franka Robotics GmbH

libfranka: C++ Library for Franka Robotics Research Robots

[![codecov][codecov-status]][codecov]

libfranka is a C++ library that provides low-level control of Franka Robotics research robots. The [generated API documentation][api-docs] offers an overview of its capabilities, while the [Franka Control Interface (FCI) documentation][fci-docs] provides more information on setting up the robot and utilizing its features and functionalities.

To find the appropriate version to use, please refer to the [Compatibility Matrix][compatibility-matrix].

Key Features

  • Low-level control: Access precise motion control for research robots.
  • Real-time communication: Interact with the robot in real-time.

Getting Started

1. System Requirements

Before using libfranka, ensure your system meets the following requirements:

  • Operating System: [Linux with PREEMPT_RT patched kernel][real-time-kernel] (Ubuntu 16.04 or later, Ubuntu 22.04 recommended)
  • Compiler: GCC 7 or later
  • CMake: Version 3.10 or later
  • Robot: Franka Robotics robot with FCI feature installed

2. Installing dependencies

sudo apt-get update
sudo apt-get install -y build-essential cmake git libpoco-dev libeigen3-dev libfmt-dev

To use libfranka version 0.14.0 or later, you will need to install [pinocchio][stack-of-tasks] and some more dependencies:

sudo apt-get install -y lsb-release curl
sudo mkdir -p /etc/apt/keyrings
curl -fsSL http://robotpkg.openrobots.org/packages/debian/robotpkg.asc | sudo tee /etc/apt/keyrings/robotpkg.asc

echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/robotpkg.asc] http://robotpkg.openrobots.org/packages/debian/pub $(lsb_release -cs) robotpkg" | sudo tee /etc/apt/sources.list.d/robotpkg.list

sudo apt-get update
sudo apt-get install -y robotpkg-pinocchio

3. Building and Installation from Source

Before building and installing from source, please uninstall existing installations of libfranka to avoid conflicts:

sudo apt-get remove "*libfranka*"

Clone the Repository

You can clone the repository and choose the version you need by selecting a specific tag:

git clone --recurse-submodules https://github.com/frankarobotics/libfranka.git
cd libfranka

List available tags

git tag -l

Checkout a specific tag (e.g., 0.15.0)

git checkout 0.15.0

Update submodules

git submodule update

Create a build directory and navigate to it

mkdir build
cd build

Configure the project and build

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=/opt/openrobots/lib/cmake -DBUILD_TESTS=OFF ..
make

Building a Debian package is optional but recommended for easier installation and management. In the build folder, execute:

File truncated at 100 lines see the full file

CHANGELOG

CHANGELOG

All notable changes to libfranka and pylibfranka will be documented in this file.

[0.18.0]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Added

  • Forward kinematics computation using Pinocchio library
  • Jacobian computation using Pinocchio library
  • Accelerometer data exposed in robot state
  • Joint position-based velocity limits parsed from URDF to compute upper and lower velocity bounds
  • Documentation under libfranka repository
  • Feat: Async Position Control Handler added to libfranka to support asynchronous position control (Experimental and subject to change)

Changed

  • Updated libfranka-common (common-libfranka) to use float-based RobotState struct
  • Upgraded Pinocchio dependency to version 3.4.0
  • Upgraded minimum Clang version from 6 to 14
  • Removed dynamic library loading from Model constructor

Fixed

  • Corrected elbow limit rating which was using incorrect values

Deprecated

  • Marked franka::computeUpperLimitsJointVelocity(const std::array<double, 7UL> &q) and franka::computeLowerLimitsJointVelocity(const std::array<double, 7UL> &q)as deprecated. It will be removed in future versions. Use Robot::getUpperJointVelocityLimits(const std::array<double, 7UL> &joint_positions) and Robot::getLowerJointVelocityLimits(const std::array<double, 7UL> &joint_positions) instead.
  • With system image >= 5.9.0, the joint position limits of the system with libfranka are increased to match the datasheet. The methods franka::computeUpperLimitsJointVelocity(const std::array<double, 7UL> &q) and franka::computeLowerLimitsJointVelocity(const std::array<double, 7UL> &q) now impose stricter constraints compared to the new parametrized limits.

pylibfranka - Python

  • Deployment of the pylibfranka to the github hosted web-page
  • Pylibfranka and libfranka versions are synchronized

[0.17.0] - 2025-10-15

pylibfranka - Python

Added

  • Cartesian pose control interface

0.16.1 - 2025-10-10

  • Fix: fix cmake and package versioning

0.16.0 - 2025-09-15

  • Feat: Added pylibfranka - a python binding for libfranka

0.15.3 - 2025-07-31

  • Fix outdated Emika links

0.15.2 - 2025-07-24

  • Optimize robot model computation

0.15.1 - 2025-06-23

  • docs starts a new docs build

0.15.0 - 2025-01-16

Requires Franka Research 3 System Version >= 5.7.2

  • Improved error minimization for joint/cartesian pose velocities and accelerations.
  • Updated joint position and cartesian pose examples to start from the initial q or O_T_EE.
  • Fixed joint position and cartesian pose low-pass filters to use the same command in the first package.
  • Added a general logger, allowing users to implement custom loggers for receiving log messages.
  • Fixed the bug that prevented exit in case of network connection interruption.

Important

  • The flags fci_joint_motion_generator_position_limits_violation_flag and fci_cartesian_motion_generator_joint_position_limits_violation_flag are now always set to false and will be deprecated in future releases. They will be replaced by joint_position_limits_violation.

BREAKING

  • The previous CSV robot state logger has been renamed to robot_state_logger and relocated.

0.14.1 - 2024-09-06

  • Added doxygen generation

0.14.0 - 2024-03-26

Requires Franka Research 3 system version >= 5.7.0

  • Compute dynamic robot parameters with Pinocchio library.

0.13.5 - 2024-09-06

  • Updated doxygen generation

0.13.4 - 2024-09-05

Requires Franka Research 3 system version >= 5.5.0

  • Added package.xml for ros humble release

0.13.3 - 2024-01-18

Requires Franka Research 3 system version >= 5.5.0

  • Bump libfranka-common version compatible with 5.5.0

File truncated at 100 lines see the full file

Package Dependencies

Deps Name
pinocchio

System Dependencies

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged libfranka at Robotics Stack Exchange

No version for distro github showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

libfranka package from libfranka repo

libfranka

ROS Distro
humble

Package Summary

Tags No category tags.
Version 0.18.0
License Apache 2.0
Build type CMAKE
Use RECOMMENDED

Repository Summary

Description C++ client library to control Franka robots in real-time
Checkout URI https://github.com/frankaemika/libfranka.git
VCS Type git
VCS Version main
Last Updated 2025-11-10
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

libfranka is a C++ library for Franka Robotics research robots

Additional Links

Maintainers

  • Franka Robotics GmbH

Authors

  • Franka Robotics GmbH

libfranka: C++ Library for Franka Robotics Research Robots

[![codecov][codecov-status]][codecov]

libfranka is a C++ library that provides low-level control of Franka Robotics research robots. The [generated API documentation][api-docs] offers an overview of its capabilities, while the [Franka Control Interface (FCI) documentation][fci-docs] provides more information on setting up the robot and utilizing its features and functionalities.

To find the appropriate version to use, please refer to the [Compatibility Matrix][compatibility-matrix].

Key Features

  • Low-level control: Access precise motion control for research robots.
  • Real-time communication: Interact with the robot in real-time.

Getting Started

1. System Requirements

Before using libfranka, ensure your system meets the following requirements:

  • Operating System: [Linux with PREEMPT_RT patched kernel][real-time-kernel] (Ubuntu 16.04 or later, Ubuntu 22.04 recommended)
  • Compiler: GCC 7 or later
  • CMake: Version 3.10 or later
  • Robot: Franka Robotics robot with FCI feature installed

2. Installing dependencies

sudo apt-get update
sudo apt-get install -y build-essential cmake git libpoco-dev libeigen3-dev libfmt-dev

To use libfranka version 0.14.0 or later, you will need to install [pinocchio][stack-of-tasks] and some more dependencies:

sudo apt-get install -y lsb-release curl
sudo mkdir -p /etc/apt/keyrings
curl -fsSL http://robotpkg.openrobots.org/packages/debian/robotpkg.asc | sudo tee /etc/apt/keyrings/robotpkg.asc

echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/robotpkg.asc] http://robotpkg.openrobots.org/packages/debian/pub $(lsb_release -cs) robotpkg" | sudo tee /etc/apt/sources.list.d/robotpkg.list

sudo apt-get update
sudo apt-get install -y robotpkg-pinocchio

3. Building and Installation from Source

Before building and installing from source, please uninstall existing installations of libfranka to avoid conflicts:

sudo apt-get remove "*libfranka*"

Clone the Repository

You can clone the repository and choose the version you need by selecting a specific tag:

git clone --recurse-submodules https://github.com/frankarobotics/libfranka.git
cd libfranka

List available tags

git tag -l

Checkout a specific tag (e.g., 0.15.0)

git checkout 0.15.0

Update submodules

git submodule update

Create a build directory and navigate to it

mkdir build
cd build

Configure the project and build

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=/opt/openrobots/lib/cmake -DBUILD_TESTS=OFF ..
make

Building a Debian package is optional but recommended for easier installation and management. In the build folder, execute:

File truncated at 100 lines see the full file

CHANGELOG

CHANGELOG

All notable changes to libfranka and pylibfranka will be documented in this file.

[0.18.0]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Added

  • Forward kinematics computation using Pinocchio library
  • Jacobian computation using Pinocchio library
  • Accelerometer data exposed in robot state
  • Joint position-based velocity limits parsed from URDF to compute upper and lower velocity bounds
  • Documentation under libfranka repository
  • Feat: Async Position Control Handler added to libfranka to support asynchronous position control (Experimental and subject to change)

Changed

  • Updated libfranka-common (common-libfranka) to use float-based RobotState struct
  • Upgraded Pinocchio dependency to version 3.4.0
  • Upgraded minimum Clang version from 6 to 14
  • Removed dynamic library loading from Model constructor

Fixed

  • Corrected elbow limit rating which was using incorrect values

Deprecated

  • Marked franka::computeUpperLimitsJointVelocity(const std::array<double, 7UL> &q) and franka::computeLowerLimitsJointVelocity(const std::array<double, 7UL> &q)as deprecated. It will be removed in future versions. Use Robot::getUpperJointVelocityLimits(const std::array<double, 7UL> &joint_positions) and Robot::getLowerJointVelocityLimits(const std::array<double, 7UL> &joint_positions) instead.
  • With system image >= 5.9.0, the joint position limits of the system with libfranka are increased to match the datasheet. The methods franka::computeUpperLimitsJointVelocity(const std::array<double, 7UL> &q) and franka::computeLowerLimitsJointVelocity(const std::array<double, 7UL> &q) now impose stricter constraints compared to the new parametrized limits.

pylibfranka - Python

  • Deployment of the pylibfranka to the github hosted web-page
  • Pylibfranka and libfranka versions are synchronized

[0.17.0] - 2025-10-15

pylibfranka - Python

Added

  • Cartesian pose control interface

0.16.1 - 2025-10-10

  • Fix: fix cmake and package versioning

0.16.0 - 2025-09-15

  • Feat: Added pylibfranka - a python binding for libfranka

0.15.3 - 2025-07-31

  • Fix outdated Emika links

0.15.2 - 2025-07-24

  • Optimize robot model computation

0.15.1 - 2025-06-23

  • docs starts a new docs build

0.15.0 - 2025-01-16

Requires Franka Research 3 System Version >= 5.7.2

  • Improved error minimization for joint/cartesian pose velocities and accelerations.
  • Updated joint position and cartesian pose examples to start from the initial q or O_T_EE.
  • Fixed joint position and cartesian pose low-pass filters to use the same command in the first package.
  • Added a general logger, allowing users to implement custom loggers for receiving log messages.
  • Fixed the bug that prevented exit in case of network connection interruption.

Important

  • The flags fci_joint_motion_generator_position_limits_violation_flag and fci_cartesian_motion_generator_joint_position_limits_violation_flag are now always set to false and will be deprecated in future releases. They will be replaced by joint_position_limits_violation.

BREAKING

  • The previous CSV robot state logger has been renamed to robot_state_logger and relocated.

0.14.1 - 2024-09-06

  • Added doxygen generation

0.14.0 - 2024-03-26

Requires Franka Research 3 system version >= 5.7.0

  • Compute dynamic robot parameters with Pinocchio library.

0.13.5 - 2024-09-06

  • Updated doxygen generation

0.13.4 - 2024-09-05

Requires Franka Research 3 system version >= 5.5.0

  • Added package.xml for ros humble release

0.13.3 - 2024-01-18

Requires Franka Research 3 system version >= 5.5.0

  • Bump libfranka-common version compatible with 5.5.0

File truncated at 100 lines see the full file

Package Dependencies

Deps Name
pinocchio

System Dependencies

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged libfranka at Robotics Stack Exchange

No version for distro galactic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

libfranka package from libfranka repo

libfranka

ROS Distro
humble

Package Summary

Tags No category tags.
Version 0.18.0
License Apache 2.0
Build type CMAKE
Use RECOMMENDED

Repository Summary

Description C++ client library to control Franka robots in real-time
Checkout URI https://github.com/frankaemika/libfranka.git
VCS Type git
VCS Version main
Last Updated 2025-11-10
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

libfranka is a C++ library for Franka Robotics research robots

Additional Links

Maintainers

  • Franka Robotics GmbH

Authors

  • Franka Robotics GmbH

libfranka: C++ Library for Franka Robotics Research Robots

[![codecov][codecov-status]][codecov]

libfranka is a C++ library that provides low-level control of Franka Robotics research robots. The [generated API documentation][api-docs] offers an overview of its capabilities, while the [Franka Control Interface (FCI) documentation][fci-docs] provides more information on setting up the robot and utilizing its features and functionalities.

To find the appropriate version to use, please refer to the [Compatibility Matrix][compatibility-matrix].

Key Features

  • Low-level control: Access precise motion control for research robots.
  • Real-time communication: Interact with the robot in real-time.

Getting Started

1. System Requirements

Before using libfranka, ensure your system meets the following requirements:

  • Operating System: [Linux with PREEMPT_RT patched kernel][real-time-kernel] (Ubuntu 16.04 or later, Ubuntu 22.04 recommended)
  • Compiler: GCC 7 or later
  • CMake: Version 3.10 or later
  • Robot: Franka Robotics robot with FCI feature installed

2. Installing dependencies

sudo apt-get update
sudo apt-get install -y build-essential cmake git libpoco-dev libeigen3-dev libfmt-dev

To use libfranka version 0.14.0 or later, you will need to install [pinocchio][stack-of-tasks] and some more dependencies:

sudo apt-get install -y lsb-release curl
sudo mkdir -p /etc/apt/keyrings
curl -fsSL http://robotpkg.openrobots.org/packages/debian/robotpkg.asc | sudo tee /etc/apt/keyrings/robotpkg.asc

echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/robotpkg.asc] http://robotpkg.openrobots.org/packages/debian/pub $(lsb_release -cs) robotpkg" | sudo tee /etc/apt/sources.list.d/robotpkg.list

sudo apt-get update
sudo apt-get install -y robotpkg-pinocchio

3. Building and Installation from Source

Before building and installing from source, please uninstall existing installations of libfranka to avoid conflicts:

sudo apt-get remove "*libfranka*"

Clone the Repository

You can clone the repository and choose the version you need by selecting a specific tag:

git clone --recurse-submodules https://github.com/frankarobotics/libfranka.git
cd libfranka

List available tags

git tag -l

Checkout a specific tag (e.g., 0.15.0)

git checkout 0.15.0

Update submodules

git submodule update

Create a build directory and navigate to it

mkdir build
cd build

Configure the project and build

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=/opt/openrobots/lib/cmake -DBUILD_TESTS=OFF ..
make

Building a Debian package is optional but recommended for easier installation and management. In the build folder, execute:

File truncated at 100 lines see the full file

CHANGELOG

CHANGELOG

All notable changes to libfranka and pylibfranka will be documented in this file.

[0.18.0]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Added

  • Forward kinematics computation using Pinocchio library
  • Jacobian computation using Pinocchio library
  • Accelerometer data exposed in robot state
  • Joint position-based velocity limits parsed from URDF to compute upper and lower velocity bounds
  • Documentation under libfranka repository
  • Feat: Async Position Control Handler added to libfranka to support asynchronous position control (Experimental and subject to change)

Changed

  • Updated libfranka-common (common-libfranka) to use float-based RobotState struct
  • Upgraded Pinocchio dependency to version 3.4.0
  • Upgraded minimum Clang version from 6 to 14
  • Removed dynamic library loading from Model constructor

Fixed

  • Corrected elbow limit rating which was using incorrect values

Deprecated

  • Marked franka::computeUpperLimitsJointVelocity(const std::array<double, 7UL> &q) and franka::computeLowerLimitsJointVelocity(const std::array<double, 7UL> &q)as deprecated. It will be removed in future versions. Use Robot::getUpperJointVelocityLimits(const std::array<double, 7UL> &joint_positions) and Robot::getLowerJointVelocityLimits(const std::array<double, 7UL> &joint_positions) instead.
  • With system image >= 5.9.0, the joint position limits of the system with libfranka are increased to match the datasheet. The methods franka::computeUpperLimitsJointVelocity(const std::array<double, 7UL> &q) and franka::computeLowerLimitsJointVelocity(const std::array<double, 7UL> &q) now impose stricter constraints compared to the new parametrized limits.

pylibfranka - Python

  • Deployment of the pylibfranka to the github hosted web-page
  • Pylibfranka and libfranka versions are synchronized

[0.17.0] - 2025-10-15

pylibfranka - Python

Added

  • Cartesian pose control interface

0.16.1 - 2025-10-10

  • Fix: fix cmake and package versioning

0.16.0 - 2025-09-15

  • Feat: Added pylibfranka - a python binding for libfranka

0.15.3 - 2025-07-31

  • Fix outdated Emika links

0.15.2 - 2025-07-24

  • Optimize robot model computation

0.15.1 - 2025-06-23

  • docs starts a new docs build

0.15.0 - 2025-01-16

Requires Franka Research 3 System Version >= 5.7.2

  • Improved error minimization for joint/cartesian pose velocities and accelerations.
  • Updated joint position and cartesian pose examples to start from the initial q or O_T_EE.
  • Fixed joint position and cartesian pose low-pass filters to use the same command in the first package.
  • Added a general logger, allowing users to implement custom loggers for receiving log messages.
  • Fixed the bug that prevented exit in case of network connection interruption.

Important

  • The flags fci_joint_motion_generator_position_limits_violation_flag and fci_cartesian_motion_generator_joint_position_limits_violation_flag are now always set to false and will be deprecated in future releases. They will be replaced by joint_position_limits_violation.

BREAKING

  • The previous CSV robot state logger has been renamed to robot_state_logger and relocated.

0.14.1 - 2024-09-06

  • Added doxygen generation

0.14.0 - 2024-03-26

Requires Franka Research 3 system version >= 5.7.0

  • Compute dynamic robot parameters with Pinocchio library.

0.13.5 - 2024-09-06

  • Updated doxygen generation

0.13.4 - 2024-09-05

Requires Franka Research 3 system version >= 5.5.0

  • Added package.xml for ros humble release

0.13.3 - 2024-01-18

Requires Franka Research 3 system version >= 5.5.0

  • Bump libfranka-common version compatible with 5.5.0

File truncated at 100 lines see the full file

Package Dependencies

Deps Name
pinocchio

System Dependencies

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged libfranka at Robotics Stack Exchange

No version for distro iron showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

libfranka package from libfranka repo

libfranka

ROS Distro
humble

Package Summary

Tags No category tags.
Version 0.18.0
License Apache 2.0
Build type CMAKE
Use RECOMMENDED

Repository Summary

Description C++ client library to control Franka robots in real-time
Checkout URI https://github.com/frankaemika/libfranka.git
VCS Type git
VCS Version main
Last Updated 2025-11-10
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

libfranka is a C++ library for Franka Robotics research robots

Additional Links

Maintainers

  • Franka Robotics GmbH

Authors

  • Franka Robotics GmbH

libfranka: C++ Library for Franka Robotics Research Robots

[![codecov][codecov-status]][codecov]

libfranka is a C++ library that provides low-level control of Franka Robotics research robots. The [generated API documentation][api-docs] offers an overview of its capabilities, while the [Franka Control Interface (FCI) documentation][fci-docs] provides more information on setting up the robot and utilizing its features and functionalities.

To find the appropriate version to use, please refer to the [Compatibility Matrix][compatibility-matrix].

Key Features

  • Low-level control: Access precise motion control for research robots.
  • Real-time communication: Interact with the robot in real-time.

Getting Started

1. System Requirements

Before using libfranka, ensure your system meets the following requirements:

  • Operating System: [Linux with PREEMPT_RT patched kernel][real-time-kernel] (Ubuntu 16.04 or later, Ubuntu 22.04 recommended)
  • Compiler: GCC 7 or later
  • CMake: Version 3.10 or later
  • Robot: Franka Robotics robot with FCI feature installed

2. Installing dependencies

sudo apt-get update
sudo apt-get install -y build-essential cmake git libpoco-dev libeigen3-dev libfmt-dev

To use libfranka version 0.14.0 or later, you will need to install [pinocchio][stack-of-tasks] and some more dependencies:

sudo apt-get install -y lsb-release curl
sudo mkdir -p /etc/apt/keyrings
curl -fsSL http://robotpkg.openrobots.org/packages/debian/robotpkg.asc | sudo tee /etc/apt/keyrings/robotpkg.asc

echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/robotpkg.asc] http://robotpkg.openrobots.org/packages/debian/pub $(lsb_release -cs) robotpkg" | sudo tee /etc/apt/sources.list.d/robotpkg.list

sudo apt-get update
sudo apt-get install -y robotpkg-pinocchio

3. Building and Installation from Source

Before building and installing from source, please uninstall existing installations of libfranka to avoid conflicts:

sudo apt-get remove "*libfranka*"

Clone the Repository

You can clone the repository and choose the version you need by selecting a specific tag:

git clone --recurse-submodules https://github.com/frankarobotics/libfranka.git
cd libfranka

List available tags

git tag -l

Checkout a specific tag (e.g., 0.15.0)

git checkout 0.15.0

Update submodules

git submodule update

Create a build directory and navigate to it

mkdir build
cd build

Configure the project and build

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=/opt/openrobots/lib/cmake -DBUILD_TESTS=OFF ..
make

Building a Debian package is optional but recommended for easier installation and management. In the build folder, execute:

File truncated at 100 lines see the full file

CHANGELOG

CHANGELOG

All notable changes to libfranka and pylibfranka will be documented in this file.

[0.18.0]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Added

  • Forward kinematics computation using Pinocchio library
  • Jacobian computation using Pinocchio library
  • Accelerometer data exposed in robot state
  • Joint position-based velocity limits parsed from URDF to compute upper and lower velocity bounds
  • Documentation under libfranka repository
  • Feat: Async Position Control Handler added to libfranka to support asynchronous position control (Experimental and subject to change)

Changed

  • Updated libfranka-common (common-libfranka) to use float-based RobotState struct
  • Upgraded Pinocchio dependency to version 3.4.0
  • Upgraded minimum Clang version from 6 to 14
  • Removed dynamic library loading from Model constructor

Fixed

  • Corrected elbow limit rating which was using incorrect values

Deprecated

  • Marked franka::computeUpperLimitsJointVelocity(const std::array<double, 7UL> &q) and franka::computeLowerLimitsJointVelocity(const std::array<double, 7UL> &q)as deprecated. It will be removed in future versions. Use Robot::getUpperJointVelocityLimits(const std::array<double, 7UL> &joint_positions) and Robot::getLowerJointVelocityLimits(const std::array<double, 7UL> &joint_positions) instead.
  • With system image >= 5.9.0, the joint position limits of the system with libfranka are increased to match the datasheet. The methods franka::computeUpperLimitsJointVelocity(const std::array<double, 7UL> &q) and franka::computeLowerLimitsJointVelocity(const std::array<double, 7UL> &q) now impose stricter constraints compared to the new parametrized limits.

pylibfranka - Python

  • Deployment of the pylibfranka to the github hosted web-page
  • Pylibfranka and libfranka versions are synchronized

[0.17.0] - 2025-10-15

pylibfranka - Python

Added

  • Cartesian pose control interface

0.16.1 - 2025-10-10

  • Fix: fix cmake and package versioning

0.16.0 - 2025-09-15

  • Feat: Added pylibfranka - a python binding for libfranka

0.15.3 - 2025-07-31

  • Fix outdated Emika links

0.15.2 - 2025-07-24

  • Optimize robot model computation

0.15.1 - 2025-06-23

  • docs starts a new docs build

0.15.0 - 2025-01-16

Requires Franka Research 3 System Version >= 5.7.2

  • Improved error minimization for joint/cartesian pose velocities and accelerations.
  • Updated joint position and cartesian pose examples to start from the initial q or O_T_EE.
  • Fixed joint position and cartesian pose low-pass filters to use the same command in the first package.
  • Added a general logger, allowing users to implement custom loggers for receiving log messages.
  • Fixed the bug that prevented exit in case of network connection interruption.

Important

  • The flags fci_joint_motion_generator_position_limits_violation_flag and fci_cartesian_motion_generator_joint_position_limits_violation_flag are now always set to false and will be deprecated in future releases. They will be replaced by joint_position_limits_violation.

BREAKING

  • The previous CSV robot state logger has been renamed to robot_state_logger and relocated.

0.14.1 - 2024-09-06

  • Added doxygen generation

0.14.0 - 2024-03-26

Requires Franka Research 3 system version >= 5.7.0

  • Compute dynamic robot parameters with Pinocchio library.

0.13.5 - 2024-09-06

  • Updated doxygen generation

0.13.4 - 2024-09-05

Requires Franka Research 3 system version >= 5.5.0

  • Added package.xml for ros humble release

0.13.3 - 2024-01-18

Requires Franka Research 3 system version >= 5.5.0

  • Bump libfranka-common version compatible with 5.5.0

File truncated at 100 lines see the full file

Package Dependencies

Deps Name
pinocchio

System Dependencies

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged libfranka at Robotics Stack Exchange

No version for distro melodic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

libfranka package from libfranka repo

libfranka

ROS Distro
humble

Package Summary

Tags No category tags.
Version 0.18.0
License Apache 2.0
Build type CMAKE
Use RECOMMENDED

Repository Summary

Description C++ client library to control Franka robots in real-time
Checkout URI https://github.com/frankaemika/libfranka.git
VCS Type git
VCS Version main
Last Updated 2025-11-10
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

libfranka is a C++ library for Franka Robotics research robots

Additional Links

Maintainers

  • Franka Robotics GmbH

Authors

  • Franka Robotics GmbH

libfranka: C++ Library for Franka Robotics Research Robots

[![codecov][codecov-status]][codecov]

libfranka is a C++ library that provides low-level control of Franka Robotics research robots. The [generated API documentation][api-docs] offers an overview of its capabilities, while the [Franka Control Interface (FCI) documentation][fci-docs] provides more information on setting up the robot and utilizing its features and functionalities.

To find the appropriate version to use, please refer to the [Compatibility Matrix][compatibility-matrix].

Key Features

  • Low-level control: Access precise motion control for research robots.
  • Real-time communication: Interact with the robot in real-time.

Getting Started

1. System Requirements

Before using libfranka, ensure your system meets the following requirements:

  • Operating System: [Linux with PREEMPT_RT patched kernel][real-time-kernel] (Ubuntu 16.04 or later, Ubuntu 22.04 recommended)
  • Compiler: GCC 7 or later
  • CMake: Version 3.10 or later
  • Robot: Franka Robotics robot with FCI feature installed

2. Installing dependencies

sudo apt-get update
sudo apt-get install -y build-essential cmake git libpoco-dev libeigen3-dev libfmt-dev

To use libfranka version 0.14.0 or later, you will need to install [pinocchio][stack-of-tasks] and some more dependencies:

sudo apt-get install -y lsb-release curl
sudo mkdir -p /etc/apt/keyrings
curl -fsSL http://robotpkg.openrobots.org/packages/debian/robotpkg.asc | sudo tee /etc/apt/keyrings/robotpkg.asc

echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/robotpkg.asc] http://robotpkg.openrobots.org/packages/debian/pub $(lsb_release -cs) robotpkg" | sudo tee /etc/apt/sources.list.d/robotpkg.list

sudo apt-get update
sudo apt-get install -y robotpkg-pinocchio

3. Building and Installation from Source

Before building and installing from source, please uninstall existing installations of libfranka to avoid conflicts:

sudo apt-get remove "*libfranka*"

Clone the Repository

You can clone the repository and choose the version you need by selecting a specific tag:

git clone --recurse-submodules https://github.com/frankarobotics/libfranka.git
cd libfranka

List available tags

git tag -l

Checkout a specific tag (e.g., 0.15.0)

git checkout 0.15.0

Update submodules

git submodule update

Create a build directory and navigate to it

mkdir build
cd build

Configure the project and build

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=/opt/openrobots/lib/cmake -DBUILD_TESTS=OFF ..
make

Building a Debian package is optional but recommended for easier installation and management. In the build folder, execute:

File truncated at 100 lines see the full file

CHANGELOG

CHANGELOG

All notable changes to libfranka and pylibfranka will be documented in this file.

[0.18.0]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Added

  • Forward kinematics computation using Pinocchio library
  • Jacobian computation using Pinocchio library
  • Accelerometer data exposed in robot state
  • Joint position-based velocity limits parsed from URDF to compute upper and lower velocity bounds
  • Documentation under libfranka repository
  • Feat: Async Position Control Handler added to libfranka to support asynchronous position control (Experimental and subject to change)

Changed

  • Updated libfranka-common (common-libfranka) to use float-based RobotState struct
  • Upgraded Pinocchio dependency to version 3.4.0
  • Upgraded minimum Clang version from 6 to 14
  • Removed dynamic library loading from Model constructor

Fixed

  • Corrected elbow limit rating which was using incorrect values

Deprecated

  • Marked franka::computeUpperLimitsJointVelocity(const std::array<double, 7UL> &q) and franka::computeLowerLimitsJointVelocity(const std::array<double, 7UL> &q)as deprecated. It will be removed in future versions. Use Robot::getUpperJointVelocityLimits(const std::array<double, 7UL> &joint_positions) and Robot::getLowerJointVelocityLimits(const std::array<double, 7UL> &joint_positions) instead.
  • With system image >= 5.9.0, the joint position limits of the system with libfranka are increased to match the datasheet. The methods franka::computeUpperLimitsJointVelocity(const std::array<double, 7UL> &q) and franka::computeLowerLimitsJointVelocity(const std::array<double, 7UL> &q) now impose stricter constraints compared to the new parametrized limits.

pylibfranka - Python

  • Deployment of the pylibfranka to the github hosted web-page
  • Pylibfranka and libfranka versions are synchronized

[0.17.0] - 2025-10-15

pylibfranka - Python

Added

  • Cartesian pose control interface

0.16.1 - 2025-10-10

  • Fix: fix cmake and package versioning

0.16.0 - 2025-09-15

  • Feat: Added pylibfranka - a python binding for libfranka

0.15.3 - 2025-07-31

  • Fix outdated Emika links

0.15.2 - 2025-07-24

  • Optimize robot model computation

0.15.1 - 2025-06-23

  • docs starts a new docs build

0.15.0 - 2025-01-16

Requires Franka Research 3 System Version >= 5.7.2

  • Improved error minimization for joint/cartesian pose velocities and accelerations.
  • Updated joint position and cartesian pose examples to start from the initial q or O_T_EE.
  • Fixed joint position and cartesian pose low-pass filters to use the same command in the first package.
  • Added a general logger, allowing users to implement custom loggers for receiving log messages.
  • Fixed the bug that prevented exit in case of network connection interruption.

Important

  • The flags fci_joint_motion_generator_position_limits_violation_flag and fci_cartesian_motion_generator_joint_position_limits_violation_flag are now always set to false and will be deprecated in future releases. They will be replaced by joint_position_limits_violation.

BREAKING

  • The previous CSV robot state logger has been renamed to robot_state_logger and relocated.

0.14.1 - 2024-09-06

  • Added doxygen generation

0.14.0 - 2024-03-26

Requires Franka Research 3 system version >= 5.7.0

  • Compute dynamic robot parameters with Pinocchio library.

0.13.5 - 2024-09-06

  • Updated doxygen generation

0.13.4 - 2024-09-05

Requires Franka Research 3 system version >= 5.5.0

  • Added package.xml for ros humble release

0.13.3 - 2024-01-18

Requires Franka Research 3 system version >= 5.5.0

  • Bump libfranka-common version compatible with 5.5.0

File truncated at 100 lines see the full file

Package Dependencies

Deps Name
pinocchio

System Dependencies

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged libfranka at Robotics Stack Exchange

No version for distro noetic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

libfranka package from libfranka repo

libfranka

ROS Distro
humble

Package Summary

Tags No category tags.
Version 0.18.0
License Apache 2.0
Build type CMAKE
Use RECOMMENDED

Repository Summary

Description C++ client library to control Franka robots in real-time
Checkout URI https://github.com/frankaemika/libfranka.git
VCS Type git
VCS Version main
Last Updated 2025-11-10
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

libfranka is a C++ library for Franka Robotics research robots

Additional Links

Maintainers

  • Franka Robotics GmbH

Authors

  • Franka Robotics GmbH

libfranka: C++ Library for Franka Robotics Research Robots

[![codecov][codecov-status]][codecov]

libfranka is a C++ library that provides low-level control of Franka Robotics research robots. The [generated API documentation][api-docs] offers an overview of its capabilities, while the [Franka Control Interface (FCI) documentation][fci-docs] provides more information on setting up the robot and utilizing its features and functionalities.

To find the appropriate version to use, please refer to the [Compatibility Matrix][compatibility-matrix].

Key Features

  • Low-level control: Access precise motion control for research robots.
  • Real-time communication: Interact with the robot in real-time.

Getting Started

1. System Requirements

Before using libfranka, ensure your system meets the following requirements:

  • Operating System: [Linux with PREEMPT_RT patched kernel][real-time-kernel] (Ubuntu 16.04 or later, Ubuntu 22.04 recommended)
  • Compiler: GCC 7 or later
  • CMake: Version 3.10 or later
  • Robot: Franka Robotics robot with FCI feature installed

2. Installing dependencies

sudo apt-get update
sudo apt-get install -y build-essential cmake git libpoco-dev libeigen3-dev libfmt-dev

To use libfranka version 0.14.0 or later, you will need to install [pinocchio][stack-of-tasks] and some more dependencies:

sudo apt-get install -y lsb-release curl
sudo mkdir -p /etc/apt/keyrings
curl -fsSL http://robotpkg.openrobots.org/packages/debian/robotpkg.asc | sudo tee /etc/apt/keyrings/robotpkg.asc

echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/robotpkg.asc] http://robotpkg.openrobots.org/packages/debian/pub $(lsb_release -cs) robotpkg" | sudo tee /etc/apt/sources.list.d/robotpkg.list

sudo apt-get update
sudo apt-get install -y robotpkg-pinocchio

3. Building and Installation from Source

Before building and installing from source, please uninstall existing installations of libfranka to avoid conflicts:

sudo apt-get remove "*libfranka*"

Clone the Repository

You can clone the repository and choose the version you need by selecting a specific tag:

git clone --recurse-submodules https://github.com/frankarobotics/libfranka.git
cd libfranka

List available tags

git tag -l

Checkout a specific tag (e.g., 0.15.0)

git checkout 0.15.0

Update submodules

git submodule update

Create a build directory and navigate to it

mkdir build
cd build

Configure the project and build

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=/opt/openrobots/lib/cmake -DBUILD_TESTS=OFF ..
make

Building a Debian package is optional but recommended for easier installation and management. In the build folder, execute:

File truncated at 100 lines see the full file

CHANGELOG

CHANGELOG

All notable changes to libfranka and pylibfranka will be documented in this file.

[0.18.0]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Added

  • Forward kinematics computation using Pinocchio library
  • Jacobian computation using Pinocchio library
  • Accelerometer data exposed in robot state
  • Joint position-based velocity limits parsed from URDF to compute upper and lower velocity bounds
  • Documentation under libfranka repository
  • Feat: Async Position Control Handler added to libfranka to support asynchronous position control (Experimental and subject to change)

Changed

  • Updated libfranka-common (common-libfranka) to use float-based RobotState struct
  • Upgraded Pinocchio dependency to version 3.4.0
  • Upgraded minimum Clang version from 6 to 14
  • Removed dynamic library loading from Model constructor

Fixed

  • Corrected elbow limit rating which was using incorrect values

Deprecated

  • Marked franka::computeUpperLimitsJointVelocity(const std::array<double, 7UL> &q) and franka::computeLowerLimitsJointVelocity(const std::array<double, 7UL> &q)as deprecated. It will be removed in future versions. Use Robot::getUpperJointVelocityLimits(const std::array<double, 7UL> &joint_positions) and Robot::getLowerJointVelocityLimits(const std::array<double, 7UL> &joint_positions) instead.
  • With system image >= 5.9.0, the joint position limits of the system with libfranka are increased to match the datasheet. The methods franka::computeUpperLimitsJointVelocity(const std::array<double, 7UL> &q) and franka::computeLowerLimitsJointVelocity(const std::array<double, 7UL> &q) now impose stricter constraints compared to the new parametrized limits.

pylibfranka - Python

  • Deployment of the pylibfranka to the github hosted web-page
  • Pylibfranka and libfranka versions are synchronized

[0.17.0] - 2025-10-15

pylibfranka - Python

Added

  • Cartesian pose control interface

0.16.1 - 2025-10-10

  • Fix: fix cmake and package versioning

0.16.0 - 2025-09-15

  • Feat: Added pylibfranka - a python binding for libfranka

0.15.3 - 2025-07-31

  • Fix outdated Emika links

0.15.2 - 2025-07-24

  • Optimize robot model computation

0.15.1 - 2025-06-23

  • docs starts a new docs build

0.15.0 - 2025-01-16

Requires Franka Research 3 System Version >= 5.7.2

  • Improved error minimization for joint/cartesian pose velocities and accelerations.
  • Updated joint position and cartesian pose examples to start from the initial q or O_T_EE.
  • Fixed joint position and cartesian pose low-pass filters to use the same command in the first package.
  • Added a general logger, allowing users to implement custom loggers for receiving log messages.
  • Fixed the bug that prevented exit in case of network connection interruption.

Important

  • The flags fci_joint_motion_generator_position_limits_violation_flag and fci_cartesian_motion_generator_joint_position_limits_violation_flag are now always set to false and will be deprecated in future releases. They will be replaced by joint_position_limits_violation.

BREAKING

  • The previous CSV robot state logger has been renamed to robot_state_logger and relocated.

0.14.1 - 2024-09-06

  • Added doxygen generation

0.14.0 - 2024-03-26

Requires Franka Research 3 system version >= 5.7.0

  • Compute dynamic robot parameters with Pinocchio library.

0.13.5 - 2024-09-06

  • Updated doxygen generation

0.13.4 - 2024-09-05

Requires Franka Research 3 system version >= 5.5.0

  • Added package.xml for ros humble release

0.13.3 - 2024-01-18

Requires Franka Research 3 system version >= 5.5.0

  • Bump libfranka-common version compatible with 5.5.0

File truncated at 100 lines see the full file

Package Dependencies

Deps Name
pinocchio

System Dependencies

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged libfranka at Robotics Stack Exchange