Package symbol

libfranka package from libfranka repo

libfranka

ROS Distro
humble

Package Summary

Version 0.18.1
License Apache 2.0
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/frankaemika/libfranka.git
VCS Type git
VCS Version main
Last Updated 2025-11-28
Dev Status DEVELOPED
Released RELEASED
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

libfranka is a C++ library that provides low-level control of Franka Robotics research robots. The API References offers an overview of its capabilities, while the Franka Control Interface (FCI) documentation 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 Robot System Version Compatibility.

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 (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 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

File truncated at 100 lines see the full file

CHANGELOG

CHANGELOG

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

[Unreleased]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Documentation

  • Enhanced documentation with expanded installation methods, and reorganized getting started guide

    Changed

pylibfranka - Python

Added

  • Added Joint and Cartesian Velocity controller examples.

[0.18.1]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Changed

  • The libfranka library is built with static links - removing the need for dynamic dependencies at runtime
  • Fix the acceleration link addition bug and robot model link parsing github
  • Update the test urdf with the acceleration links and joint

pylibfranka - Python

Added

  • Added API documentation section to the official docs: API References

[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.

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

Version 0.18.1
License Apache 2.0
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/frankaemika/libfranka.git
VCS Type git
VCS Version main
Last Updated 2025-11-28
Dev Status DEVELOPED
Released RELEASED
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

libfranka is a C++ library that provides low-level control of Franka Robotics research robots. The API References offers an overview of its capabilities, while the Franka Control Interface (FCI) documentation 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 Robot System Version Compatibility.

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 (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 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

File truncated at 100 lines see the full file

CHANGELOG

CHANGELOG

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

[Unreleased]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Documentation

  • Enhanced documentation with expanded installation methods, and reorganized getting started guide

    Changed

pylibfranka - Python

Added

  • Added Joint and Cartesian Velocity controller examples.

[0.18.1]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Changed

  • The libfranka library is built with static links - removing the need for dynamic dependencies at runtime
  • Fix the acceleration link addition bug and robot model link parsing github
  • Update the test urdf with the acceleration links and joint

pylibfranka - Python

Added

  • Added API documentation section to the official docs: API References

[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.

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

Version 0.18.1
License Apache 2.0
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/frankaemika/libfranka.git
VCS Type git
VCS Version main
Last Updated 2025-11-28
Dev Status DEVELOPED
Released RELEASED
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

libfranka is a C++ library that provides low-level control of Franka Robotics research robots. The API References offers an overview of its capabilities, while the Franka Control Interface (FCI) documentation 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 Robot System Version Compatibility.

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 (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 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

File truncated at 100 lines see the full file

CHANGELOG

CHANGELOG

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

[Unreleased]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Documentation

  • Enhanced documentation with expanded installation methods, and reorganized getting started guide

    Changed

pylibfranka - Python

Added

  • Added Joint and Cartesian Velocity controller examples.

[0.18.1]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Changed

  • The libfranka library is built with static links - removing the need for dynamic dependencies at runtime
  • Fix the acceleration link addition bug and robot model link parsing github
  • Update the test urdf with the acceleration links and joint

pylibfranka - Python

Added

  • Added API documentation section to the official docs: API References

[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.

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

Version 0.18.1
License Apache 2.0
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/frankaemika/libfranka.git
VCS Type git
VCS Version main
Last Updated 2025-11-28
Dev Status DEVELOPED
Released RELEASED
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

libfranka is a C++ library that provides low-level control of Franka Robotics research robots. The API References offers an overview of its capabilities, while the Franka Control Interface (FCI) documentation 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 Robot System Version Compatibility.

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 (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 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

File truncated at 100 lines see the full file

CHANGELOG

CHANGELOG

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

[Unreleased]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Documentation

  • Enhanced documentation with expanded installation methods, and reorganized getting started guide

    Changed

pylibfranka - Python

Added

  • Added Joint and Cartesian Velocity controller examples.

[0.18.1]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Changed

  • The libfranka library is built with static links - removing the need for dynamic dependencies at runtime
  • Fix the acceleration link addition bug and robot model link parsing github
  • Update the test urdf with the acceleration links and joint

pylibfranka - Python

Added

  • Added API documentation section to the official docs: API References

[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.

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 ardent showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

libfranka package from libfranka repo

libfranka

ROS Distro
humble

Package Summary

Version 0.18.1
License Apache 2.0
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/frankaemika/libfranka.git
VCS Type git
VCS Version main
Last Updated 2025-11-28
Dev Status DEVELOPED
Released RELEASED
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

libfranka is a C++ library that provides low-level control of Franka Robotics research robots. The API References offers an overview of its capabilities, while the Franka Control Interface (FCI) documentation 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 Robot System Version Compatibility.

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 (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 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

File truncated at 100 lines see the full file

CHANGELOG

CHANGELOG

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

[Unreleased]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Documentation

  • Enhanced documentation with expanded installation methods, and reorganized getting started guide

    Changed

pylibfranka - Python

Added

  • Added Joint and Cartesian Velocity controller examples.

[0.18.1]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Changed

  • The libfranka library is built with static links - removing the need for dynamic dependencies at runtime
  • Fix the acceleration link addition bug and robot model link parsing github
  • Update the test urdf with the acceleration links and joint

pylibfranka - Python

Added

  • Added API documentation section to the official docs: API References

[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.

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 bouncy showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

libfranka package from libfranka repo

libfranka

ROS Distro
humble

Package Summary

Version 0.18.1
License Apache 2.0
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/frankaemika/libfranka.git
VCS Type git
VCS Version main
Last Updated 2025-11-28
Dev Status DEVELOPED
Released RELEASED
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

libfranka is a C++ library that provides low-level control of Franka Robotics research robots. The API References offers an overview of its capabilities, while the Franka Control Interface (FCI) documentation 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 Robot System Version Compatibility.

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 (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 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

File truncated at 100 lines see the full file

CHANGELOG

CHANGELOG

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

[Unreleased]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Documentation

  • Enhanced documentation with expanded installation methods, and reorganized getting started guide

    Changed

pylibfranka - Python

Added

  • Added Joint and Cartesian Velocity controller examples.

[0.18.1]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Changed

  • The libfranka library is built with static links - removing the need for dynamic dependencies at runtime
  • Fix the acceleration link addition bug and robot model link parsing github
  • Update the test urdf with the acceleration links and joint

pylibfranka - Python

Added

  • Added API documentation section to the official docs: API References

[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.

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 crystal showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

libfranka package from libfranka repo

libfranka

ROS Distro
humble

Package Summary

Version 0.18.1
License Apache 2.0
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/frankaemika/libfranka.git
VCS Type git
VCS Version main
Last Updated 2025-11-28
Dev Status DEVELOPED
Released RELEASED
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

libfranka is a C++ library that provides low-level control of Franka Robotics research robots. The API References offers an overview of its capabilities, while the Franka Control Interface (FCI) documentation 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 Robot System Version Compatibility.

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 (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 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

File truncated at 100 lines see the full file

CHANGELOG

CHANGELOG

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

[Unreleased]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Documentation

  • Enhanced documentation with expanded installation methods, and reorganized getting started guide

    Changed

pylibfranka - Python

Added

  • Added Joint and Cartesian Velocity controller examples.

[0.18.1]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Changed

  • The libfranka library is built with static links - removing the need for dynamic dependencies at runtime
  • Fix the acceleration link addition bug and robot model link parsing github
  • Update the test urdf with the acceleration links and joint

pylibfranka - Python

Added

  • Added API documentation section to the official docs: API References

[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.

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 eloquent showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

libfranka package from libfranka repo

libfranka

ROS Distro
humble

Package Summary

Version 0.18.1
License Apache 2.0
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/frankaemika/libfranka.git
VCS Type git
VCS Version main
Last Updated 2025-11-28
Dev Status DEVELOPED
Released RELEASED
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

libfranka is a C++ library that provides low-level control of Franka Robotics research robots. The API References offers an overview of its capabilities, while the Franka Control Interface (FCI) documentation 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 Robot System Version Compatibility.

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 (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 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

File truncated at 100 lines see the full file

CHANGELOG

CHANGELOG

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

[Unreleased]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Documentation

  • Enhanced documentation with expanded installation methods, and reorganized getting started guide

    Changed

pylibfranka - Python

Added

  • Added Joint and Cartesian Velocity controller examples.

[0.18.1]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Changed

  • The libfranka library is built with static links - removing the need for dynamic dependencies at runtime
  • Fix the acceleration link addition bug and robot model link parsing github
  • Update the test urdf with the acceleration links and joint

pylibfranka - Python

Added

  • Added API documentation section to the official docs: API References

[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.

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 dashing showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

libfranka package from libfranka repo

libfranka

ROS Distro
humble

Package Summary

Version 0.18.1
License Apache 2.0
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/frankaemika/libfranka.git
VCS Type git
VCS Version main
Last Updated 2025-11-28
Dev Status DEVELOPED
Released RELEASED
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

libfranka is a C++ library that provides low-level control of Franka Robotics research robots. The API References offers an overview of its capabilities, while the Franka Control Interface (FCI) documentation 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 Robot System Version Compatibility.

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 (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 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

File truncated at 100 lines see the full file

CHANGELOG

CHANGELOG

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

[Unreleased]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Documentation

  • Enhanced documentation with expanded installation methods, and reorganized getting started guide

    Changed

pylibfranka - Python

Added

  • Added Joint and Cartesian Velocity controller examples.

[0.18.1]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Changed

  • The libfranka library is built with static links - removing the need for dynamic dependencies at runtime
  • Fix the acceleration link addition bug and robot model link parsing github
  • Update the test urdf with the acceleration links and joint

pylibfranka - Python

Added

  • Added API documentation section to the official docs: API References

[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.

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

Version 0.18.1
License Apache 2.0
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/frankaemika/libfranka.git
VCS Type git
VCS Version main
Last Updated 2025-11-28
Dev Status DEVELOPED
Released RELEASED
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

libfranka is a C++ library that provides low-level control of Franka Robotics research robots. The API References offers an overview of its capabilities, while the Franka Control Interface (FCI) documentation 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 Robot System Version Compatibility.

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 (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 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

File truncated at 100 lines see the full file

CHANGELOG

CHANGELOG

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

[Unreleased]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Documentation

  • Enhanced documentation with expanded installation methods, and reorganized getting started guide

    Changed

pylibfranka - Python

Added

  • Added Joint and Cartesian Velocity controller examples.

[0.18.1]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Changed

  • The libfranka library is built with static links - removing the need for dynamic dependencies at runtime
  • Fix the acceleration link addition bug and robot model link parsing github
  • Update the test urdf with the acceleration links and joint

pylibfranka - Python

Added

  • Added API documentation section to the official docs: API References

[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.

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 foxy showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

libfranka package from libfranka repo

libfranka

ROS Distro
humble

Package Summary

Version 0.18.1
License Apache 2.0
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/frankaemika/libfranka.git
VCS Type git
VCS Version main
Last Updated 2025-11-28
Dev Status DEVELOPED
Released RELEASED
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

libfranka is a C++ library that provides low-level control of Franka Robotics research robots. The API References offers an overview of its capabilities, while the Franka Control Interface (FCI) documentation 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 Robot System Version Compatibility.

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 (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 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

File truncated at 100 lines see the full file

CHANGELOG

CHANGELOG

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

[Unreleased]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Documentation

  • Enhanced documentation with expanded installation methods, and reorganized getting started guide

    Changed

pylibfranka - Python

Added

  • Added Joint and Cartesian Velocity controller examples.

[0.18.1]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Changed

  • The libfranka library is built with static links - removing the need for dynamic dependencies at runtime
  • Fix the acceleration link addition bug and robot model link parsing github
  • Update the test urdf with the acceleration links and joint

pylibfranka - Python

Added

  • Added API documentation section to the official docs: API References

[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.

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

Version 0.18.1
License Apache 2.0
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/frankaemika/libfranka.git
VCS Type git
VCS Version main
Last Updated 2025-11-28
Dev Status DEVELOPED
Released RELEASED
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

libfranka is a C++ library that provides low-level control of Franka Robotics research robots. The API References offers an overview of its capabilities, while the Franka Control Interface (FCI) documentation 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 Robot System Version Compatibility.

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 (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 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

File truncated at 100 lines see the full file

CHANGELOG

CHANGELOG

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

[Unreleased]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Documentation

  • Enhanced documentation with expanded installation methods, and reorganized getting started guide

    Changed

pylibfranka - Python

Added

  • Added Joint and Cartesian Velocity controller examples.

[0.18.1]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Changed

  • The libfranka library is built with static links - removing the need for dynamic dependencies at runtime
  • Fix the acceleration link addition bug and robot model link parsing github
  • Update the test urdf with the acceleration links and joint

pylibfranka - Python

Added

  • Added API documentation section to the official docs: API References

[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.

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 lunar showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

libfranka package from libfranka repo

libfranka

ROS Distro
humble

Package Summary

Version 0.18.1
License Apache 2.0
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/frankaemika/libfranka.git
VCS Type git
VCS Version main
Last Updated 2025-11-28
Dev Status DEVELOPED
Released RELEASED
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

libfranka is a C++ library that provides low-level control of Franka Robotics research robots. The API References offers an overview of its capabilities, while the Franka Control Interface (FCI) documentation 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 Robot System Version Compatibility.

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 (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 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

File truncated at 100 lines see the full file

CHANGELOG

CHANGELOG

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

[Unreleased]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Documentation

  • Enhanced documentation with expanded installation methods, and reorganized getting started guide

    Changed

pylibfranka - Python

Added

  • Added Joint and Cartesian Velocity controller examples.

[0.18.1]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Changed

  • The libfranka library is built with static links - removing the need for dynamic dependencies at runtime
  • Fix the acceleration link addition bug and robot model link parsing github
  • Update the test urdf with the acceleration links and joint

pylibfranka - Python

Added

  • Added API documentation section to the official docs: API References

[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.

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 jade showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

libfranka package from libfranka repo

libfranka

ROS Distro
humble

Package Summary

Version 0.18.1
License Apache 2.0
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/frankaemika/libfranka.git
VCS Type git
VCS Version main
Last Updated 2025-11-28
Dev Status DEVELOPED
Released RELEASED
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

libfranka is a C++ library that provides low-level control of Franka Robotics research robots. The API References offers an overview of its capabilities, while the Franka Control Interface (FCI) documentation 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 Robot System Version Compatibility.

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 (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 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

File truncated at 100 lines see the full file

CHANGELOG

CHANGELOG

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

[Unreleased]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Documentation

  • Enhanced documentation with expanded installation methods, and reorganized getting started guide

    Changed

pylibfranka - Python

Added

  • Added Joint and Cartesian Velocity controller examples.

[0.18.1]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Changed

  • The libfranka library is built with static links - removing the need for dynamic dependencies at runtime
  • Fix the acceleration link addition bug and robot model link parsing github
  • Update the test urdf with the acceleration links and joint

pylibfranka - Python

Added

  • Added API documentation section to the official docs: API References

[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.

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 indigo showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

libfranka package from libfranka repo

libfranka

ROS Distro
humble

Package Summary

Version 0.18.1
License Apache 2.0
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/frankaemika/libfranka.git
VCS Type git
VCS Version main
Last Updated 2025-11-28
Dev Status DEVELOPED
Released RELEASED
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

libfranka is a C++ library that provides low-level control of Franka Robotics research robots. The API References offers an overview of its capabilities, while the Franka Control Interface (FCI) documentation 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 Robot System Version Compatibility.

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 (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 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

File truncated at 100 lines see the full file

CHANGELOG

CHANGELOG

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

[Unreleased]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Documentation

  • Enhanced documentation with expanded installation methods, and reorganized getting started guide

    Changed

pylibfranka - Python

Added

  • Added Joint and Cartesian Velocity controller examples.

[0.18.1]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Changed

  • The libfranka library is built with static links - removing the need for dynamic dependencies at runtime
  • Fix the acceleration link addition bug and robot model link parsing github
  • Update the test urdf with the acceleration links and joint

pylibfranka - Python

Added

  • Added API documentation section to the official docs: API References

[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.

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 hydro showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

libfranka package from libfranka repo

libfranka

ROS Distro
humble

Package Summary

Version 0.18.1
License Apache 2.0
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/frankaemika/libfranka.git
VCS Type git
VCS Version main
Last Updated 2025-11-28
Dev Status DEVELOPED
Released RELEASED
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

libfranka is a C++ library that provides low-level control of Franka Robotics research robots. The API References offers an overview of its capabilities, while the Franka Control Interface (FCI) documentation 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 Robot System Version Compatibility.

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 (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 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

File truncated at 100 lines see the full file

CHANGELOG

CHANGELOG

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

[Unreleased]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Documentation

  • Enhanced documentation with expanded installation methods, and reorganized getting started guide

    Changed

pylibfranka - Python

Added

  • Added Joint and Cartesian Velocity controller examples.

[0.18.1]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Changed

  • The libfranka library is built with static links - removing the need for dynamic dependencies at runtime
  • Fix the acceleration link addition bug and robot model link parsing github
  • Update the test urdf with the acceleration links and joint

pylibfranka - Python

Added

  • Added API documentation section to the official docs: API References

[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.

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 kinetic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

libfranka package from libfranka repo

libfranka

ROS Distro
humble

Package Summary

Version 0.18.1
License Apache 2.0
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/frankaemika/libfranka.git
VCS Type git
VCS Version main
Last Updated 2025-11-28
Dev Status DEVELOPED
Released RELEASED
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

libfranka is a C++ library that provides low-level control of Franka Robotics research robots. The API References offers an overview of its capabilities, while the Franka Control Interface (FCI) documentation 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 Robot System Version Compatibility.

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 (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 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

File truncated at 100 lines see the full file

CHANGELOG

CHANGELOG

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

[Unreleased]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Documentation

  • Enhanced documentation with expanded installation methods, and reorganized getting started guide

    Changed

pylibfranka - Python

Added

  • Added Joint and Cartesian Velocity controller examples.

[0.18.1]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Changed

  • The libfranka library is built with static links - removing the need for dynamic dependencies at runtime
  • Fix the acceleration link addition bug and robot model link parsing github
  • Update the test urdf with the acceleration links and joint

pylibfranka - Python

Added

  • Added API documentation section to the official docs: API References

[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.

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

Version 0.18.1
License Apache 2.0
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/frankaemika/libfranka.git
VCS Type git
VCS Version main
Last Updated 2025-11-28
Dev Status DEVELOPED
Released RELEASED
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

libfranka is a C++ library that provides low-level control of Franka Robotics research robots. The API References offers an overview of its capabilities, while the Franka Control Interface (FCI) documentation 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 Robot System Version Compatibility.

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 (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 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

File truncated at 100 lines see the full file

CHANGELOG

CHANGELOG

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

[Unreleased]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Documentation

  • Enhanced documentation with expanded installation methods, and reorganized getting started guide

    Changed

pylibfranka - Python

Added

  • Added Joint and Cartesian Velocity controller examples.

[0.18.1]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Changed

  • The libfranka library is built with static links - removing the need for dynamic dependencies at runtime
  • Fix the acceleration link addition bug and robot model link parsing github
  • Update the test urdf with the acceleration links and joint

pylibfranka - Python

Added

  • Added API documentation section to the official docs: API References

[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.

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

Version 0.18.1
License Apache 2.0
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/frankaemika/libfranka.git
VCS Type git
VCS Version main
Last Updated 2025-11-28
Dev Status DEVELOPED
Released RELEASED
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

libfranka is a C++ library that provides low-level control of Franka Robotics research robots. The API References offers an overview of its capabilities, while the Franka Control Interface (FCI) documentation 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 Robot System Version Compatibility.

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 (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 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

File truncated at 100 lines see the full file

CHANGELOG

CHANGELOG

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

[Unreleased]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Documentation

  • Enhanced documentation with expanded installation methods, and reorganized getting started guide

    Changed

pylibfranka - Python

Added

  • Added Joint and Cartesian Velocity controller examples.

[0.18.1]

Requires Franka Research 3 System Version >= 5.9.0

libfranka - C++

Changed

  • The libfranka library is built with static links - removing the need for dynamic dependencies at runtime
  • Fix the acceleration link addition bug and robot model link parsing github
  • Update the test urdf with the acceleration links and joint

pylibfranka - Python

Added

  • Added API documentation section to the official docs: API References

[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.

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