Package Summary
| Tags | No category tags. |
| Version | 0.18.1 |
| License | Apache 2.0 |
| Build type | CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | C++ client library to control Franka robots in real-time |
| Checkout URI | https://github.com/frankaemika/libfranka.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-12-02 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Franka Robotics GmbH
Authors
- Franka Robotics GmbH
libfranka: C++ Library for Franka Robotics Research Robots
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
3. Install from Debian Package - Generic Pattern ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Check your architecture:
dpkg --print-architecture
Download and install:
wget https://github.com/frankarobotics/libfranka/releases/download/<version>/libfranka_<version>_<architecture>.deb
sudo dpkg -i libfranka_<version>_<architecture>.deb
Replace <version> with the desired release version (e.g., 0.18.1)
and <architecture> with your system architecture (e.g., amd64 or
arm64).
Example for version 0.18.1 on amd64:
wget https://github.com/frankarobotics/libfranka/releases/download/0.18.1/libfranka_0.18.1_amd64.deb
sudo dpkg -i libfranka_0.18.1_amd64.deb
If you prefer to build libfranka inside a Docker container, you can use the provided Docker setup. This ensures a consistent build environment and avoids dependency conflicts on your host system.
Docker creates a self-contained environment, which is helpful if:
- Your system doesn't meet the requirements
- You want to avoid installing dependencies on your main system
- You prefer a clean, reproducible setup
If you haven't already, clone the libfranka repository:
git clone --recurse-submodules https://github.com/frankarobotics/libfranka.git cd libfranka git checkout <desired-tag-or-branch>
Using Docker command line
- Build the Docker image:
cd .ci
docker build -t libfranka:latest -f Dockerfile.focal .
cd ..
File truncated at 100 lines see the full file
CHANGELOG
All notable changes to libfranka and pylibfranka will be documented in this file.
[0.18.2]- 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
- upload debian packages automatically to releases
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)andfranka::computeLowerLimitsJointVelocity(const std::array<double, 7UL> &q)as deprecated. It will be removed in future versions. UseRobot::getUpperJointVelocityLimits(const std::array<double, 7UL> &joint_positions)andRobot::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)andfranka::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
qorO_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_flagandfci_cartesian_motion_generator_joint_position_limits_violation_flagare now always set tofalseand will be deprecated in future releases. They will be replaced byjoint_position_limits_violation.
BREAKING
File truncated at 100 lines see the full file
Dependant Packages
| Name | Deps |
|---|---|
| franka_gripper | |
| franka_hardware | |
| franka_ros2 |
Launch files
Messages
Services
Plugins
Recent questions tagged libfranka at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.18.1 |
| License | Apache 2.0 |
| Build type | CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | C++ client library to control Franka robots in real-time |
| Checkout URI | https://github.com/frankaemika/libfranka.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-12-02 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Franka Robotics GmbH
Authors
- Franka Robotics GmbH
libfranka: C++ Library for Franka Robotics Research Robots
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
3. Install from Debian Package - Generic Pattern ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Check your architecture:
dpkg --print-architecture
Download and install:
wget https://github.com/frankarobotics/libfranka/releases/download/<version>/libfranka_<version>_<architecture>.deb
sudo dpkg -i libfranka_<version>_<architecture>.deb
Replace <version> with the desired release version (e.g., 0.18.1)
and <architecture> with your system architecture (e.g., amd64 or
arm64).
Example for version 0.18.1 on amd64:
wget https://github.com/frankarobotics/libfranka/releases/download/0.18.1/libfranka_0.18.1_amd64.deb
sudo dpkg -i libfranka_0.18.1_amd64.deb
If you prefer to build libfranka inside a Docker container, you can use the provided Docker setup. This ensures a consistent build environment and avoids dependency conflicts on your host system.
Docker creates a self-contained environment, which is helpful if:
- Your system doesn't meet the requirements
- You want to avoid installing dependencies on your main system
- You prefer a clean, reproducible setup
If you haven't already, clone the libfranka repository:
git clone --recurse-submodules https://github.com/frankarobotics/libfranka.git cd libfranka git checkout <desired-tag-or-branch>
Using Docker command line
- Build the Docker image:
cd .ci
docker build -t libfranka:latest -f Dockerfile.focal .
cd ..
File truncated at 100 lines see the full file
CHANGELOG
All notable changes to libfranka and pylibfranka will be documented in this file.
[0.18.2]- 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
- upload debian packages automatically to releases
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)andfranka::computeLowerLimitsJointVelocity(const std::array<double, 7UL> &q)as deprecated. It will be removed in future versions. UseRobot::getUpperJointVelocityLimits(const std::array<double, 7UL> &joint_positions)andRobot::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)andfranka::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
qorO_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_flagandfci_cartesian_motion_generator_joint_position_limits_violation_flagare now always set tofalseand will be deprecated in future releases. They will be replaced byjoint_position_limits_violation.
BREAKING
File truncated at 100 lines see the full file
Dependant Packages
| Name | Deps |
|---|---|
| franka_gripper | |
| franka_hardware | |
| franka_ros2 |
Launch files
Messages
Services
Plugins
Recent questions tagged libfranka at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.18.1 |
| License | Apache 2.0 |
| Build type | CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | C++ client library to control Franka robots in real-time |
| Checkout URI | https://github.com/frankaemika/libfranka.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-12-02 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Franka Robotics GmbH
Authors
- Franka Robotics GmbH
libfranka: C++ Library for Franka Robotics Research Robots
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
3. Install from Debian Package - Generic Pattern ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Check your architecture:
dpkg --print-architecture
Download and install:
wget https://github.com/frankarobotics/libfranka/releases/download/<version>/libfranka_<version>_<architecture>.deb
sudo dpkg -i libfranka_<version>_<architecture>.deb
Replace <version> with the desired release version (e.g., 0.18.1)
and <architecture> with your system architecture (e.g., amd64 or
arm64).
Example for version 0.18.1 on amd64:
wget https://github.com/frankarobotics/libfranka/releases/download/0.18.1/libfranka_0.18.1_amd64.deb
sudo dpkg -i libfranka_0.18.1_amd64.deb
If you prefer to build libfranka inside a Docker container, you can use the provided Docker setup. This ensures a consistent build environment and avoids dependency conflicts on your host system.
Docker creates a self-contained environment, which is helpful if:
- Your system doesn't meet the requirements
- You want to avoid installing dependencies on your main system
- You prefer a clean, reproducible setup
If you haven't already, clone the libfranka repository:
git clone --recurse-submodules https://github.com/frankarobotics/libfranka.git cd libfranka git checkout <desired-tag-or-branch>
Using Docker command line
- Build the Docker image:
cd .ci
docker build -t libfranka:latest -f Dockerfile.focal .
cd ..
File truncated at 100 lines see the full file
CHANGELOG
All notable changes to libfranka and pylibfranka will be documented in this file.
[0.18.2]- 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
- upload debian packages automatically to releases
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)andfranka::computeLowerLimitsJointVelocity(const std::array<double, 7UL> &q)as deprecated. It will be removed in future versions. UseRobot::getUpperJointVelocityLimits(const std::array<double, 7UL> &joint_positions)andRobot::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)andfranka::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
qorO_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_flagandfci_cartesian_motion_generator_joint_position_limits_violation_flagare now always set tofalseand will be deprecated in future releases. They will be replaced byjoint_position_limits_violation.
BREAKING
File truncated at 100 lines see the full file
Dependant Packages
| Name | Deps |
|---|---|
| franka_gripper | |
| franka_hardware | |
| franka_ros2 |
Launch files
Messages
Services
Plugins
Recent questions tagged libfranka at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.18.1 |
| License | Apache 2.0 |
| Build type | CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | C++ client library to control Franka robots in real-time |
| Checkout URI | https://github.com/frankaemika/libfranka.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-12-02 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Franka Robotics GmbH
Authors
- Franka Robotics GmbH
libfranka: C++ Library for Franka Robotics Research Robots
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
3. Install from Debian Package - Generic Pattern ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Check your architecture:
dpkg --print-architecture
Download and install:
wget https://github.com/frankarobotics/libfranka/releases/download/<version>/libfranka_<version>_<architecture>.deb
sudo dpkg -i libfranka_<version>_<architecture>.deb
Replace <version> with the desired release version (e.g., 0.18.1)
and <architecture> with your system architecture (e.g., amd64 or
arm64).
Example for version 0.18.1 on amd64:
wget https://github.com/frankarobotics/libfranka/releases/download/0.18.1/libfranka_0.18.1_amd64.deb
sudo dpkg -i libfranka_0.18.1_amd64.deb
If you prefer to build libfranka inside a Docker container, you can use the provided Docker setup. This ensures a consistent build environment and avoids dependency conflicts on your host system.
Docker creates a self-contained environment, which is helpful if:
- Your system doesn't meet the requirements
- You want to avoid installing dependencies on your main system
- You prefer a clean, reproducible setup
If you haven't already, clone the libfranka repository:
git clone --recurse-submodules https://github.com/frankarobotics/libfranka.git cd libfranka git checkout <desired-tag-or-branch>
Using Docker command line
- Build the Docker image:
cd .ci
docker build -t libfranka:latest -f Dockerfile.focal .
cd ..
File truncated at 100 lines see the full file
CHANGELOG
All notable changes to libfranka and pylibfranka will be documented in this file.
[0.18.2]- 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
- upload debian packages automatically to releases
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)andfranka::computeLowerLimitsJointVelocity(const std::array<double, 7UL> &q)as deprecated. It will be removed in future versions. UseRobot::getUpperJointVelocityLimits(const std::array<double, 7UL> &joint_positions)andRobot::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)andfranka::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
qorO_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_flagandfci_cartesian_motion_generator_joint_position_limits_violation_flagare now always set tofalseand will be deprecated in future releases. They will be replaced byjoint_position_limits_violation.
BREAKING
File truncated at 100 lines see the full file
Dependant Packages
| Name | Deps |
|---|---|
| franka_gripper | |
| franka_hardware | |
| franka_ros2 |
Launch files
Messages
Services
Plugins
Recent questions tagged libfranka at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.18.1 |
| License | Apache 2.0 |
| Build type | CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | C++ client library to control Franka robots in real-time |
| Checkout URI | https://github.com/frankaemika/libfranka.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-12-02 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Franka Robotics GmbH
Authors
- Franka Robotics GmbH
libfranka: C++ Library for Franka Robotics Research Robots
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
3. Install from Debian Package - Generic Pattern ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Check your architecture:
dpkg --print-architecture
Download and install:
wget https://github.com/frankarobotics/libfranka/releases/download/<version>/libfranka_<version>_<architecture>.deb
sudo dpkg -i libfranka_<version>_<architecture>.deb
Replace <version> with the desired release version (e.g., 0.18.1)
and <architecture> with your system architecture (e.g., amd64 or
arm64).
Example for version 0.18.1 on amd64:
wget https://github.com/frankarobotics/libfranka/releases/download/0.18.1/libfranka_0.18.1_amd64.deb
sudo dpkg -i libfranka_0.18.1_amd64.deb
If you prefer to build libfranka inside a Docker container, you can use the provided Docker setup. This ensures a consistent build environment and avoids dependency conflicts on your host system.
Docker creates a self-contained environment, which is helpful if:
- Your system doesn't meet the requirements
- You want to avoid installing dependencies on your main system
- You prefer a clean, reproducible setup
If you haven't already, clone the libfranka repository:
git clone --recurse-submodules https://github.com/frankarobotics/libfranka.git cd libfranka git checkout <desired-tag-or-branch>
Using Docker command line
- Build the Docker image:
cd .ci
docker build -t libfranka:latest -f Dockerfile.focal .
cd ..
File truncated at 100 lines see the full file
CHANGELOG
All notable changes to libfranka and pylibfranka will be documented in this file.
[0.18.2]- 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
- upload debian packages automatically to releases
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)andfranka::computeLowerLimitsJointVelocity(const std::array<double, 7UL> &q)as deprecated. It will be removed in future versions. UseRobot::getUpperJointVelocityLimits(const std::array<double, 7UL> &joint_positions)andRobot::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)andfranka::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
qorO_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_flagandfci_cartesian_motion_generator_joint_position_limits_violation_flagare now always set tofalseand will be deprecated in future releases. They will be replaced byjoint_position_limits_violation.
BREAKING
File truncated at 100 lines see the full file
Dependant Packages
| Name | Deps |
|---|---|
| franka_gripper | |
| franka_hardware | |
| franka_ros2 |
Launch files
Messages
Services
Plugins
Recent questions tagged libfranka at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.18.1 |
| License | Apache 2.0 |
| Build type | CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | C++ client library to control Franka robots in real-time |
| Checkout URI | https://github.com/frankaemika/libfranka.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-12-02 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Franka Robotics GmbH
Authors
- Franka Robotics GmbH
libfranka: C++ Library for Franka Robotics Research Robots
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
3. Install from Debian Package - Generic Pattern ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Check your architecture:
dpkg --print-architecture
Download and install:
wget https://github.com/frankarobotics/libfranka/releases/download/<version>/libfranka_<version>_<architecture>.deb
sudo dpkg -i libfranka_<version>_<architecture>.deb
Replace <version> with the desired release version (e.g., 0.18.1)
and <architecture> with your system architecture (e.g., amd64 or
arm64).
Example for version 0.18.1 on amd64:
wget https://github.com/frankarobotics/libfranka/releases/download/0.18.1/libfranka_0.18.1_amd64.deb
sudo dpkg -i libfranka_0.18.1_amd64.deb
If you prefer to build libfranka inside a Docker container, you can use the provided Docker setup. This ensures a consistent build environment and avoids dependency conflicts on your host system.
Docker creates a self-contained environment, which is helpful if:
- Your system doesn't meet the requirements
- You want to avoid installing dependencies on your main system
- You prefer a clean, reproducible setup
If you haven't already, clone the libfranka repository:
git clone --recurse-submodules https://github.com/frankarobotics/libfranka.git cd libfranka git checkout <desired-tag-or-branch>
Using Docker command line
- Build the Docker image:
cd .ci
docker build -t libfranka:latest -f Dockerfile.focal .
cd ..
File truncated at 100 lines see the full file
CHANGELOG
All notable changes to libfranka and pylibfranka will be documented in this file.
[0.18.2]- 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
- upload debian packages automatically to releases
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)andfranka::computeLowerLimitsJointVelocity(const std::array<double, 7UL> &q)as deprecated. It will be removed in future versions. UseRobot::getUpperJointVelocityLimits(const std::array<double, 7UL> &joint_positions)andRobot::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)andfranka::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
qorO_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_flagandfci_cartesian_motion_generator_joint_position_limits_violation_flagare now always set tofalseand will be deprecated in future releases. They will be replaced byjoint_position_limits_violation.
BREAKING
File truncated at 100 lines see the full file
Dependant Packages
| Name | Deps |
|---|---|
| franka_gripper | |
| franka_hardware | |
| franka_ros2 |
Launch files
Messages
Services
Plugins
Recent questions tagged libfranka at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.18.1 |
| License | Apache 2.0 |
| Build type | CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | C++ client library to control Franka robots in real-time |
| Checkout URI | https://github.com/frankaemika/libfranka.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-12-02 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Franka Robotics GmbH
Authors
- Franka Robotics GmbH
libfranka: C++ Library for Franka Robotics Research Robots
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
3. Install from Debian Package - Generic Pattern ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Check your architecture:
dpkg --print-architecture
Download and install:
wget https://github.com/frankarobotics/libfranka/releases/download/<version>/libfranka_<version>_<architecture>.deb
sudo dpkg -i libfranka_<version>_<architecture>.deb
Replace <version> with the desired release version (e.g., 0.18.1)
and <architecture> with your system architecture (e.g., amd64 or
arm64).
Example for version 0.18.1 on amd64:
wget https://github.com/frankarobotics/libfranka/releases/download/0.18.1/libfranka_0.18.1_amd64.deb
sudo dpkg -i libfranka_0.18.1_amd64.deb
If you prefer to build libfranka inside a Docker container, you can use the provided Docker setup. This ensures a consistent build environment and avoids dependency conflicts on your host system.
Docker creates a self-contained environment, which is helpful if:
- Your system doesn't meet the requirements
- You want to avoid installing dependencies on your main system
- You prefer a clean, reproducible setup
If you haven't already, clone the libfranka repository:
git clone --recurse-submodules https://github.com/frankarobotics/libfranka.git cd libfranka git checkout <desired-tag-or-branch>
Using Docker command line
- Build the Docker image:
cd .ci
docker build -t libfranka:latest -f Dockerfile.focal .
cd ..
File truncated at 100 lines see the full file
CHANGELOG
All notable changes to libfranka and pylibfranka will be documented in this file.
[0.18.2]- 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
- upload debian packages automatically to releases
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)andfranka::computeLowerLimitsJointVelocity(const std::array<double, 7UL> &q)as deprecated. It will be removed in future versions. UseRobot::getUpperJointVelocityLimits(const std::array<double, 7UL> &joint_positions)andRobot::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)andfranka::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
qorO_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_flagandfci_cartesian_motion_generator_joint_position_limits_violation_flagare now always set tofalseand will be deprecated in future releases. They will be replaced byjoint_position_limits_violation.
BREAKING
File truncated at 100 lines see the full file
Dependant Packages
| Name | Deps |
|---|---|
| franka_gripper | |
| franka_hardware | |
| franka_ros2 |
Launch files
Messages
Services
Plugins
Recent questions tagged libfranka at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.18.1 |
| License | Apache 2.0 |
| Build type | CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | C++ client library to control Franka robots in real-time |
| Checkout URI | https://github.com/frankaemika/libfranka.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-12-02 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Franka Robotics GmbH
Authors
- Franka Robotics GmbH
libfranka: C++ Library for Franka Robotics Research Robots
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
3. Install from Debian Package - Generic Pattern ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Check your architecture:
dpkg --print-architecture
Download and install:
wget https://github.com/frankarobotics/libfranka/releases/download/<version>/libfranka_<version>_<architecture>.deb
sudo dpkg -i libfranka_<version>_<architecture>.deb
Replace <version> with the desired release version (e.g., 0.18.1)
and <architecture> with your system architecture (e.g., amd64 or
arm64).
Example for version 0.18.1 on amd64:
wget https://github.com/frankarobotics/libfranka/releases/download/0.18.1/libfranka_0.18.1_amd64.deb
sudo dpkg -i libfranka_0.18.1_amd64.deb
If you prefer to build libfranka inside a Docker container, you can use the provided Docker setup. This ensures a consistent build environment and avoids dependency conflicts on your host system.
Docker creates a self-contained environment, which is helpful if:
- Your system doesn't meet the requirements
- You want to avoid installing dependencies on your main system
- You prefer a clean, reproducible setup
If you haven't already, clone the libfranka repository:
git clone --recurse-submodules https://github.com/frankarobotics/libfranka.git cd libfranka git checkout <desired-tag-or-branch>
Using Docker command line
- Build the Docker image:
cd .ci
docker build -t libfranka:latest -f Dockerfile.focal .
cd ..
File truncated at 100 lines see the full file
CHANGELOG
All notable changes to libfranka and pylibfranka will be documented in this file.
[0.18.2]- 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
- upload debian packages automatically to releases
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)andfranka::computeLowerLimitsJointVelocity(const std::array<double, 7UL> &q)as deprecated. It will be removed in future versions. UseRobot::getUpperJointVelocityLimits(const std::array<double, 7UL> &joint_positions)andRobot::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)andfranka::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
qorO_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_flagandfci_cartesian_motion_generator_joint_position_limits_violation_flagare now always set tofalseand will be deprecated in future releases. They will be replaced byjoint_position_limits_violation.
BREAKING
File truncated at 100 lines see the full file
Dependant Packages
| Name | Deps |
|---|---|
| franka_gripper | |
| franka_hardware | |
| franka_ros2 |
Launch files
Messages
Services
Plugins
Recent questions tagged libfranka at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.18.1 |
| License | Apache 2.0 |
| Build type | CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | C++ client library to control Franka robots in real-time |
| Checkout URI | https://github.com/frankaemika/libfranka.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-12-02 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Franka Robotics GmbH
Authors
- Franka Robotics GmbH
libfranka: C++ Library for Franka Robotics Research Robots
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
3. Install from Debian Package - Generic Pattern ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Check your architecture:
dpkg --print-architecture
Download and install:
wget https://github.com/frankarobotics/libfranka/releases/download/<version>/libfranka_<version>_<architecture>.deb
sudo dpkg -i libfranka_<version>_<architecture>.deb
Replace <version> with the desired release version (e.g., 0.18.1)
and <architecture> with your system architecture (e.g., amd64 or
arm64).
Example for version 0.18.1 on amd64:
wget https://github.com/frankarobotics/libfranka/releases/download/0.18.1/libfranka_0.18.1_amd64.deb
sudo dpkg -i libfranka_0.18.1_amd64.deb
If you prefer to build libfranka inside a Docker container, you can use the provided Docker setup. This ensures a consistent build environment and avoids dependency conflicts on your host system.
Docker creates a self-contained environment, which is helpful if:
- Your system doesn't meet the requirements
- You want to avoid installing dependencies on your main system
- You prefer a clean, reproducible setup
If you haven't already, clone the libfranka repository:
git clone --recurse-submodules https://github.com/frankarobotics/libfranka.git cd libfranka git checkout <desired-tag-or-branch>
Using Docker command line
- Build the Docker image:
cd .ci
docker build -t libfranka:latest -f Dockerfile.focal .
cd ..
File truncated at 100 lines see the full file
CHANGELOG
All notable changes to libfranka and pylibfranka will be documented in this file.
[0.18.2]- 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
- upload debian packages automatically to releases
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)andfranka::computeLowerLimitsJointVelocity(const std::array<double, 7UL> &q)as deprecated. It will be removed in future versions. UseRobot::getUpperJointVelocityLimits(const std::array<double, 7UL> &joint_positions)andRobot::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)andfranka::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
qorO_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_flagandfci_cartesian_motion_generator_joint_position_limits_violation_flagare now always set tofalseand will be deprecated in future releases. They will be replaced byjoint_position_limits_violation.
BREAKING
File truncated at 100 lines see the full file
Dependant Packages
| Name | Deps |
|---|---|
| franka_gripper | |
| franka_hardware | |
| franka_ros2 |