Package Summary
| Version | 2.4.0 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/frankaemika/franka_ros2.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-05-04 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Franka Robotics GmbH
Authors
Changelog for package franka_ros2
v2.4.0 (2026-05-04) ----------Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble
-
breaking change: Switching franka_description common package both for humble and jazzy -> 2.7.0
-
chore: refactored cartesian velocity example controller to be gazebo independent by chaining [swerve_ik_controller]{.title-ref}
-
docu: Maintenance work on documentation
-
feat: Added [franka_mobile]{.title-ref} package with [swerve_drive_controller]{.title-ref} (tf and odom support) and [swerve_ik_controller]{.title-ref} for gazebo sim.
-
refactor: replace blocking mutex in franka_robot_state_broadcaster with lock-free AsyncBuffer
-
BREAKING CHANGE: franka_robot_state_broadcaster convenience topics are published with best_effort QoS. Topics affected:
current_pose,stiffness_frame_wrench, and all other convenience topics from the broadcaster. Subscribers using the defaultreliableQoS will no longer receive messages. To migrate, set the subscriber QoS tobest_effort:C++ (rclcpp)
// Before (default reliable QoS — no longer receives messages):
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", 10, callback);
// After (best_effort QoS):
rclcpp::QoS qos(10);
qos.best_effort();
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", qos, callback);
**Python (rclpy)**
# Before (default reliable QoS — no longer receives messages):
self.create_subscription(PoseStamped, 'current_pose', callback, 10)
# After (best_effort QoS):
from rclpy.qos import QoSProfile, ReliabilityPolicy
qos = QoSProfile(depth=10, reliability=ReliabilityPolicy.BEST_EFFORT)
self.create_subscription(PoseStamped, 'current_pose', callback, qos)
-
fix: test fr3 urdf updated and segmentation fault errors from unit tests fixed
-
fix: make FrankaHardwareInterface error recoverable
-
refactor: FrankaHardwareInterface to use enums for the control mode
-
fix: ActionServers crashing when exception is not caught
v2.3.0 (2026-03-10)
Requires libfranka >= 0.20.4 and franka_description >= 1.6.1 requires ROS 2 Humble
- feat: integration_launch_testing: added smoke tests for the example controllers
- feat: franka_mobile_sensors: add visualization of sensors in rviz
- feat: integration_launch_testing: test example controllers using example.launch.py
- fix: gripper_example_controller also works without namespace
- fix: corrected logs in franka_hardware
- fix: gravity_compensation_example_controller, move_to_start_example_controller, joint_impedance_example_controller work with parametrized robot_type
- fix: joint_impedance_with_ik_example_controller checked for 'robot_id' instead of 'robot_type' argument
- fix: added missing dependency to rclcpp_action in franka_hardware package.xml
- fix: franka_hardware test fixed
- fix: franka_hardware test fixed
- fix: rclpy.parameter_client.AsyncParameterClient replaced with custom version because the package is missing in humble
- feat: update to libfranka 0.20.4
- chore: cleanup franka_bringup launch utils import
- feat: multi robot example for gazebo
- fix: added arm_prefix functionality to all franka_example_controllers and franka_robot_state_broadcaster
- feat: add sensor support for gazebo. Remove multi robot example for gazebo.
- feat: support tmr simulation with sensors
- chore: removed integration_launch_testing package, moved integration tests in their subpackage
- feat: added unit tests for [franka_gazebo_bringup]{.title-ref} launch files and cleanup.
v2.2.0 (2026-01-14) ----------Requires libfranka >= 0.19.0 and franka_description >= 1.2.0 requires ROS 2 Humble
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged franka_ros2 at Robotics Stack Exchange
Package Summary
| Version | 2.4.0 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/frankaemika/franka_ros2.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-05-04 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Franka Robotics GmbH
Authors
Changelog for package franka_ros2
v2.4.0 (2026-05-04) ----------Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble
-
breaking change: Switching franka_description common package both for humble and jazzy -> 2.7.0
-
chore: refactored cartesian velocity example controller to be gazebo independent by chaining [swerve_ik_controller]{.title-ref}
-
docu: Maintenance work on documentation
-
feat: Added [franka_mobile]{.title-ref} package with [swerve_drive_controller]{.title-ref} (tf and odom support) and [swerve_ik_controller]{.title-ref} for gazebo sim.
-
refactor: replace blocking mutex in franka_robot_state_broadcaster with lock-free AsyncBuffer
-
BREAKING CHANGE: franka_robot_state_broadcaster convenience topics are published with best_effort QoS. Topics affected:
current_pose,stiffness_frame_wrench, and all other convenience topics from the broadcaster. Subscribers using the defaultreliableQoS will no longer receive messages. To migrate, set the subscriber QoS tobest_effort:C++ (rclcpp)
// Before (default reliable QoS — no longer receives messages):
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", 10, callback);
// After (best_effort QoS):
rclcpp::QoS qos(10);
qos.best_effort();
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", qos, callback);
**Python (rclpy)**
# Before (default reliable QoS — no longer receives messages):
self.create_subscription(PoseStamped, 'current_pose', callback, 10)
# After (best_effort QoS):
from rclpy.qos import QoSProfile, ReliabilityPolicy
qos = QoSProfile(depth=10, reliability=ReliabilityPolicy.BEST_EFFORT)
self.create_subscription(PoseStamped, 'current_pose', callback, qos)
-
fix: test fr3 urdf updated and segmentation fault errors from unit tests fixed
-
fix: make FrankaHardwareInterface error recoverable
-
refactor: FrankaHardwareInterface to use enums for the control mode
-
fix: ActionServers crashing when exception is not caught
v2.3.0 (2026-03-10)
Requires libfranka >= 0.20.4 and franka_description >= 1.6.1 requires ROS 2 Humble
- feat: integration_launch_testing: added smoke tests for the example controllers
- feat: franka_mobile_sensors: add visualization of sensors in rviz
- feat: integration_launch_testing: test example controllers using example.launch.py
- fix: gripper_example_controller also works without namespace
- fix: corrected logs in franka_hardware
- fix: gravity_compensation_example_controller, move_to_start_example_controller, joint_impedance_example_controller work with parametrized robot_type
- fix: joint_impedance_with_ik_example_controller checked for 'robot_id' instead of 'robot_type' argument
- fix: added missing dependency to rclcpp_action in franka_hardware package.xml
- fix: franka_hardware test fixed
- fix: franka_hardware test fixed
- fix: rclpy.parameter_client.AsyncParameterClient replaced with custom version because the package is missing in humble
- feat: update to libfranka 0.20.4
- chore: cleanup franka_bringup launch utils import
- feat: multi robot example for gazebo
- fix: added arm_prefix functionality to all franka_example_controllers and franka_robot_state_broadcaster
- feat: add sensor support for gazebo. Remove multi robot example for gazebo.
- feat: support tmr simulation with sensors
- chore: removed integration_launch_testing package, moved integration tests in their subpackage
- feat: added unit tests for [franka_gazebo_bringup]{.title-ref} launch files and cleanup.
v2.2.0 (2026-01-14) ----------Requires libfranka >= 0.19.0 and franka_description >= 1.2.0 requires ROS 2 Humble
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged franka_ros2 at Robotics Stack Exchange
Package Summary
| Version | 2.4.0 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/frankaemika/franka_ros2.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-05-04 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Franka Robotics GmbH
Authors
Changelog for package franka_ros2
v2.4.0 (2026-05-04) ----------Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble
-
breaking change: Switching franka_description common package both for humble and jazzy -> 2.7.0
-
chore: refactored cartesian velocity example controller to be gazebo independent by chaining [swerve_ik_controller]{.title-ref}
-
docu: Maintenance work on documentation
-
feat: Added [franka_mobile]{.title-ref} package with [swerve_drive_controller]{.title-ref} (tf and odom support) and [swerve_ik_controller]{.title-ref} for gazebo sim.
-
refactor: replace blocking mutex in franka_robot_state_broadcaster with lock-free AsyncBuffer
-
BREAKING CHANGE: franka_robot_state_broadcaster convenience topics are published with best_effort QoS. Topics affected:
current_pose,stiffness_frame_wrench, and all other convenience topics from the broadcaster. Subscribers using the defaultreliableQoS will no longer receive messages. To migrate, set the subscriber QoS tobest_effort:C++ (rclcpp)
// Before (default reliable QoS — no longer receives messages):
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", 10, callback);
// After (best_effort QoS):
rclcpp::QoS qos(10);
qos.best_effort();
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", qos, callback);
**Python (rclpy)**
# Before (default reliable QoS — no longer receives messages):
self.create_subscription(PoseStamped, 'current_pose', callback, 10)
# After (best_effort QoS):
from rclpy.qos import QoSProfile, ReliabilityPolicy
qos = QoSProfile(depth=10, reliability=ReliabilityPolicy.BEST_EFFORT)
self.create_subscription(PoseStamped, 'current_pose', callback, qos)
-
fix: test fr3 urdf updated and segmentation fault errors from unit tests fixed
-
fix: make FrankaHardwareInterface error recoverable
-
refactor: FrankaHardwareInterface to use enums for the control mode
-
fix: ActionServers crashing when exception is not caught
v2.3.0 (2026-03-10)
Requires libfranka >= 0.20.4 and franka_description >= 1.6.1 requires ROS 2 Humble
- feat: integration_launch_testing: added smoke tests for the example controllers
- feat: franka_mobile_sensors: add visualization of sensors in rviz
- feat: integration_launch_testing: test example controllers using example.launch.py
- fix: gripper_example_controller also works without namespace
- fix: corrected logs in franka_hardware
- fix: gravity_compensation_example_controller, move_to_start_example_controller, joint_impedance_example_controller work with parametrized robot_type
- fix: joint_impedance_with_ik_example_controller checked for 'robot_id' instead of 'robot_type' argument
- fix: added missing dependency to rclcpp_action in franka_hardware package.xml
- fix: franka_hardware test fixed
- fix: franka_hardware test fixed
- fix: rclpy.parameter_client.AsyncParameterClient replaced with custom version because the package is missing in humble
- feat: update to libfranka 0.20.4
- chore: cleanup franka_bringup launch utils import
- feat: multi robot example for gazebo
- fix: added arm_prefix functionality to all franka_example_controllers and franka_robot_state_broadcaster
- feat: add sensor support for gazebo. Remove multi robot example for gazebo.
- feat: support tmr simulation with sensors
- chore: removed integration_launch_testing package, moved integration tests in their subpackage
- feat: added unit tests for [franka_gazebo_bringup]{.title-ref} launch files and cleanup.
v2.2.0 (2026-01-14) ----------Requires libfranka >= 0.19.0 and franka_description >= 1.2.0 requires ROS 2 Humble
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged franka_ros2 at Robotics Stack Exchange
Package Summary
| Version | 2.4.0 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/frankaemika/franka_ros2.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-05-04 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Franka Robotics GmbH
Authors
Changelog for package franka_ros2
v2.4.0 (2026-05-04) ----------Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble
-
breaking change: Switching franka_description common package both for humble and jazzy -> 2.7.0
-
chore: refactored cartesian velocity example controller to be gazebo independent by chaining [swerve_ik_controller]{.title-ref}
-
docu: Maintenance work on documentation
-
feat: Added [franka_mobile]{.title-ref} package with [swerve_drive_controller]{.title-ref} (tf and odom support) and [swerve_ik_controller]{.title-ref} for gazebo sim.
-
refactor: replace blocking mutex in franka_robot_state_broadcaster with lock-free AsyncBuffer
-
BREAKING CHANGE: franka_robot_state_broadcaster convenience topics are published with best_effort QoS. Topics affected:
current_pose,stiffness_frame_wrench, and all other convenience topics from the broadcaster. Subscribers using the defaultreliableQoS will no longer receive messages. To migrate, set the subscriber QoS tobest_effort:C++ (rclcpp)
// Before (default reliable QoS — no longer receives messages):
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", 10, callback);
// After (best_effort QoS):
rclcpp::QoS qos(10);
qos.best_effort();
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", qos, callback);
**Python (rclpy)**
# Before (default reliable QoS — no longer receives messages):
self.create_subscription(PoseStamped, 'current_pose', callback, 10)
# After (best_effort QoS):
from rclpy.qos import QoSProfile, ReliabilityPolicy
qos = QoSProfile(depth=10, reliability=ReliabilityPolicy.BEST_EFFORT)
self.create_subscription(PoseStamped, 'current_pose', callback, qos)
-
fix: test fr3 urdf updated and segmentation fault errors from unit tests fixed
-
fix: make FrankaHardwareInterface error recoverable
-
refactor: FrankaHardwareInterface to use enums for the control mode
-
fix: ActionServers crashing when exception is not caught
v2.3.0 (2026-03-10)
Requires libfranka >= 0.20.4 and franka_description >= 1.6.1 requires ROS 2 Humble
- feat: integration_launch_testing: added smoke tests for the example controllers
- feat: franka_mobile_sensors: add visualization of sensors in rviz
- feat: integration_launch_testing: test example controllers using example.launch.py
- fix: gripper_example_controller also works without namespace
- fix: corrected logs in franka_hardware
- fix: gravity_compensation_example_controller, move_to_start_example_controller, joint_impedance_example_controller work with parametrized robot_type
- fix: joint_impedance_with_ik_example_controller checked for 'robot_id' instead of 'robot_type' argument
- fix: added missing dependency to rclcpp_action in franka_hardware package.xml
- fix: franka_hardware test fixed
- fix: franka_hardware test fixed
- fix: rclpy.parameter_client.AsyncParameterClient replaced with custom version because the package is missing in humble
- feat: update to libfranka 0.20.4
- chore: cleanup franka_bringup launch utils import
- feat: multi robot example for gazebo
- fix: added arm_prefix functionality to all franka_example_controllers and franka_robot_state_broadcaster
- feat: add sensor support for gazebo. Remove multi robot example for gazebo.
- feat: support tmr simulation with sensors
- chore: removed integration_launch_testing package, moved integration tests in their subpackage
- feat: added unit tests for [franka_gazebo_bringup]{.title-ref} launch files and cleanup.
v2.2.0 (2026-01-14) ----------Requires libfranka >= 0.19.0 and franka_description >= 1.2.0 requires ROS 2 Humble
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged franka_ros2 at Robotics Stack Exchange
Package Summary
| Version | 2.4.0 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/frankaemika/franka_ros2.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-05-04 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Franka Robotics GmbH
Authors
Changelog for package franka_ros2
v2.4.0 (2026-05-04) ----------Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble
-
breaking change: Switching franka_description common package both for humble and jazzy -> 2.7.0
-
chore: refactored cartesian velocity example controller to be gazebo independent by chaining [swerve_ik_controller]{.title-ref}
-
docu: Maintenance work on documentation
-
feat: Added [franka_mobile]{.title-ref} package with [swerve_drive_controller]{.title-ref} (tf and odom support) and [swerve_ik_controller]{.title-ref} for gazebo sim.
-
refactor: replace blocking mutex in franka_robot_state_broadcaster with lock-free AsyncBuffer
-
BREAKING CHANGE: franka_robot_state_broadcaster convenience topics are published with best_effort QoS. Topics affected:
current_pose,stiffness_frame_wrench, and all other convenience topics from the broadcaster. Subscribers using the defaultreliableQoS will no longer receive messages. To migrate, set the subscriber QoS tobest_effort:C++ (rclcpp)
// Before (default reliable QoS — no longer receives messages):
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", 10, callback);
// After (best_effort QoS):
rclcpp::QoS qos(10);
qos.best_effort();
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", qos, callback);
**Python (rclpy)**
# Before (default reliable QoS — no longer receives messages):
self.create_subscription(PoseStamped, 'current_pose', callback, 10)
# After (best_effort QoS):
from rclpy.qos import QoSProfile, ReliabilityPolicy
qos = QoSProfile(depth=10, reliability=ReliabilityPolicy.BEST_EFFORT)
self.create_subscription(PoseStamped, 'current_pose', callback, qos)
-
fix: test fr3 urdf updated and segmentation fault errors from unit tests fixed
-
fix: make FrankaHardwareInterface error recoverable
-
refactor: FrankaHardwareInterface to use enums for the control mode
-
fix: ActionServers crashing when exception is not caught
v2.3.0 (2026-03-10)
Requires libfranka >= 0.20.4 and franka_description >= 1.6.1 requires ROS 2 Humble
- feat: integration_launch_testing: added smoke tests for the example controllers
- feat: franka_mobile_sensors: add visualization of sensors in rviz
- feat: integration_launch_testing: test example controllers using example.launch.py
- fix: gripper_example_controller also works without namespace
- fix: corrected logs in franka_hardware
- fix: gravity_compensation_example_controller, move_to_start_example_controller, joint_impedance_example_controller work with parametrized robot_type
- fix: joint_impedance_with_ik_example_controller checked for 'robot_id' instead of 'robot_type' argument
- fix: added missing dependency to rclcpp_action in franka_hardware package.xml
- fix: franka_hardware test fixed
- fix: franka_hardware test fixed
- fix: rclpy.parameter_client.AsyncParameterClient replaced with custom version because the package is missing in humble
- feat: update to libfranka 0.20.4
- chore: cleanup franka_bringup launch utils import
- feat: multi robot example for gazebo
- fix: added arm_prefix functionality to all franka_example_controllers and franka_robot_state_broadcaster
- feat: add sensor support for gazebo. Remove multi robot example for gazebo.
- feat: support tmr simulation with sensors
- chore: removed integration_launch_testing package, moved integration tests in their subpackage
- feat: added unit tests for [franka_gazebo_bringup]{.title-ref} launch files and cleanup.
v2.2.0 (2026-01-14) ----------Requires libfranka >= 0.19.0 and franka_description >= 1.2.0 requires ROS 2 Humble
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged franka_ros2 at Robotics Stack Exchange
Package Summary
| Version | 2.4.0 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/frankaemika/franka_ros2.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-05-04 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Franka Robotics GmbH
Authors
Changelog for package franka_ros2
v2.4.0 (2026-05-04) ----------Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble
-
breaking change: Switching franka_description common package both for humble and jazzy -> 2.7.0
-
chore: refactored cartesian velocity example controller to be gazebo independent by chaining [swerve_ik_controller]{.title-ref}
-
docu: Maintenance work on documentation
-
feat: Added [franka_mobile]{.title-ref} package with [swerve_drive_controller]{.title-ref} (tf and odom support) and [swerve_ik_controller]{.title-ref} for gazebo sim.
-
refactor: replace blocking mutex in franka_robot_state_broadcaster with lock-free AsyncBuffer
-
BREAKING CHANGE: franka_robot_state_broadcaster convenience topics are published with best_effort QoS. Topics affected:
current_pose,stiffness_frame_wrench, and all other convenience topics from the broadcaster. Subscribers using the defaultreliableQoS will no longer receive messages. To migrate, set the subscriber QoS tobest_effort:C++ (rclcpp)
// Before (default reliable QoS — no longer receives messages):
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", 10, callback);
// After (best_effort QoS):
rclcpp::QoS qos(10);
qos.best_effort();
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", qos, callback);
**Python (rclpy)**
# Before (default reliable QoS — no longer receives messages):
self.create_subscription(PoseStamped, 'current_pose', callback, 10)
# After (best_effort QoS):
from rclpy.qos import QoSProfile, ReliabilityPolicy
qos = QoSProfile(depth=10, reliability=ReliabilityPolicy.BEST_EFFORT)
self.create_subscription(PoseStamped, 'current_pose', callback, qos)
-
fix: test fr3 urdf updated and segmentation fault errors from unit tests fixed
-
fix: make FrankaHardwareInterface error recoverable
-
refactor: FrankaHardwareInterface to use enums for the control mode
-
fix: ActionServers crashing when exception is not caught
v2.3.0 (2026-03-10)
Requires libfranka >= 0.20.4 and franka_description >= 1.6.1 requires ROS 2 Humble
- feat: integration_launch_testing: added smoke tests for the example controllers
- feat: franka_mobile_sensors: add visualization of sensors in rviz
- feat: integration_launch_testing: test example controllers using example.launch.py
- fix: gripper_example_controller also works without namespace
- fix: corrected logs in franka_hardware
- fix: gravity_compensation_example_controller, move_to_start_example_controller, joint_impedance_example_controller work with parametrized robot_type
- fix: joint_impedance_with_ik_example_controller checked for 'robot_id' instead of 'robot_type' argument
- fix: added missing dependency to rclcpp_action in franka_hardware package.xml
- fix: franka_hardware test fixed
- fix: franka_hardware test fixed
- fix: rclpy.parameter_client.AsyncParameterClient replaced with custom version because the package is missing in humble
- feat: update to libfranka 0.20.4
- chore: cleanup franka_bringup launch utils import
- feat: multi robot example for gazebo
- fix: added arm_prefix functionality to all franka_example_controllers and franka_robot_state_broadcaster
- feat: add sensor support for gazebo. Remove multi robot example for gazebo.
- feat: support tmr simulation with sensors
- chore: removed integration_launch_testing package, moved integration tests in their subpackage
- feat: added unit tests for [franka_gazebo_bringup]{.title-ref} launch files and cleanup.
v2.2.0 (2026-01-14) ----------Requires libfranka >= 0.19.0 and franka_description >= 1.2.0 requires ROS 2 Humble
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged franka_ros2 at Robotics Stack Exchange
Package Summary
| Version | 2.4.0 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/frankaemika/franka_ros2.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-05-04 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Franka Robotics GmbH
Authors
Changelog for package franka_ros2
v2.4.0 (2026-05-04) ----------Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble
-
breaking change: Switching franka_description common package both for humble and jazzy -> 2.7.0
-
chore: refactored cartesian velocity example controller to be gazebo independent by chaining [swerve_ik_controller]{.title-ref}
-
docu: Maintenance work on documentation
-
feat: Added [franka_mobile]{.title-ref} package with [swerve_drive_controller]{.title-ref} (tf and odom support) and [swerve_ik_controller]{.title-ref} for gazebo sim.
-
refactor: replace blocking mutex in franka_robot_state_broadcaster with lock-free AsyncBuffer
-
BREAKING CHANGE: franka_robot_state_broadcaster convenience topics are published with best_effort QoS. Topics affected:
current_pose,stiffness_frame_wrench, and all other convenience topics from the broadcaster. Subscribers using the defaultreliableQoS will no longer receive messages. To migrate, set the subscriber QoS tobest_effort:C++ (rclcpp)
// Before (default reliable QoS — no longer receives messages):
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", 10, callback);
// After (best_effort QoS):
rclcpp::QoS qos(10);
qos.best_effort();
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", qos, callback);
**Python (rclpy)**
# Before (default reliable QoS — no longer receives messages):
self.create_subscription(PoseStamped, 'current_pose', callback, 10)
# After (best_effort QoS):
from rclpy.qos import QoSProfile, ReliabilityPolicy
qos = QoSProfile(depth=10, reliability=ReliabilityPolicy.BEST_EFFORT)
self.create_subscription(PoseStamped, 'current_pose', callback, qos)
-
fix: test fr3 urdf updated and segmentation fault errors from unit tests fixed
-
fix: make FrankaHardwareInterface error recoverable
-
refactor: FrankaHardwareInterface to use enums for the control mode
-
fix: ActionServers crashing when exception is not caught
v2.3.0 (2026-03-10)
Requires libfranka >= 0.20.4 and franka_description >= 1.6.1 requires ROS 2 Humble
- feat: integration_launch_testing: added smoke tests for the example controllers
- feat: franka_mobile_sensors: add visualization of sensors in rviz
- feat: integration_launch_testing: test example controllers using example.launch.py
- fix: gripper_example_controller also works without namespace
- fix: corrected logs in franka_hardware
- fix: gravity_compensation_example_controller, move_to_start_example_controller, joint_impedance_example_controller work with parametrized robot_type
- fix: joint_impedance_with_ik_example_controller checked for 'robot_id' instead of 'robot_type' argument
- fix: added missing dependency to rclcpp_action in franka_hardware package.xml
- fix: franka_hardware test fixed
- fix: franka_hardware test fixed
- fix: rclpy.parameter_client.AsyncParameterClient replaced with custom version because the package is missing in humble
- feat: update to libfranka 0.20.4
- chore: cleanup franka_bringup launch utils import
- feat: multi robot example for gazebo
- fix: added arm_prefix functionality to all franka_example_controllers and franka_robot_state_broadcaster
- feat: add sensor support for gazebo. Remove multi robot example for gazebo.
- feat: support tmr simulation with sensors
- chore: removed integration_launch_testing package, moved integration tests in their subpackage
- feat: added unit tests for [franka_gazebo_bringup]{.title-ref} launch files and cleanup.
v2.2.0 (2026-01-14) ----------Requires libfranka >= 0.19.0 and franka_description >= 1.2.0 requires ROS 2 Humble
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged franka_ros2 at Robotics Stack Exchange
Package Summary
| Version | 2.4.0 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/frankaemika/franka_ros2.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-05-04 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Franka Robotics GmbH
Authors
Changelog for package franka_ros2
v2.4.0 (2026-05-04) ----------Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble
-
breaking change: Switching franka_description common package both for humble and jazzy -> 2.7.0
-
chore: refactored cartesian velocity example controller to be gazebo independent by chaining [swerve_ik_controller]{.title-ref}
-
docu: Maintenance work on documentation
-
feat: Added [franka_mobile]{.title-ref} package with [swerve_drive_controller]{.title-ref} (tf and odom support) and [swerve_ik_controller]{.title-ref} for gazebo sim.
-
refactor: replace blocking mutex in franka_robot_state_broadcaster with lock-free AsyncBuffer
-
BREAKING CHANGE: franka_robot_state_broadcaster convenience topics are published with best_effort QoS. Topics affected:
current_pose,stiffness_frame_wrench, and all other convenience topics from the broadcaster. Subscribers using the defaultreliableQoS will no longer receive messages. To migrate, set the subscriber QoS tobest_effort:C++ (rclcpp)
// Before (default reliable QoS — no longer receives messages):
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", 10, callback);
// After (best_effort QoS):
rclcpp::QoS qos(10);
qos.best_effort();
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", qos, callback);
**Python (rclpy)**
# Before (default reliable QoS — no longer receives messages):
self.create_subscription(PoseStamped, 'current_pose', callback, 10)
# After (best_effort QoS):
from rclpy.qos import QoSProfile, ReliabilityPolicy
qos = QoSProfile(depth=10, reliability=ReliabilityPolicy.BEST_EFFORT)
self.create_subscription(PoseStamped, 'current_pose', callback, qos)
-
fix: test fr3 urdf updated and segmentation fault errors from unit tests fixed
-
fix: make FrankaHardwareInterface error recoverable
-
refactor: FrankaHardwareInterface to use enums for the control mode
-
fix: ActionServers crashing when exception is not caught
v2.3.0 (2026-03-10)
Requires libfranka >= 0.20.4 and franka_description >= 1.6.1 requires ROS 2 Humble
- feat: integration_launch_testing: added smoke tests for the example controllers
- feat: franka_mobile_sensors: add visualization of sensors in rviz
- feat: integration_launch_testing: test example controllers using example.launch.py
- fix: gripper_example_controller also works without namespace
- fix: corrected logs in franka_hardware
- fix: gravity_compensation_example_controller, move_to_start_example_controller, joint_impedance_example_controller work with parametrized robot_type
- fix: joint_impedance_with_ik_example_controller checked for 'robot_id' instead of 'robot_type' argument
- fix: added missing dependency to rclcpp_action in franka_hardware package.xml
- fix: franka_hardware test fixed
- fix: franka_hardware test fixed
- fix: rclpy.parameter_client.AsyncParameterClient replaced with custom version because the package is missing in humble
- feat: update to libfranka 0.20.4
- chore: cleanup franka_bringup launch utils import
- feat: multi robot example for gazebo
- fix: added arm_prefix functionality to all franka_example_controllers and franka_robot_state_broadcaster
- feat: add sensor support for gazebo. Remove multi robot example for gazebo.
- feat: support tmr simulation with sensors
- chore: removed integration_launch_testing package, moved integration tests in their subpackage
- feat: added unit tests for [franka_gazebo_bringup]{.title-ref} launch files and cleanup.
v2.2.0 (2026-01-14) ----------Requires libfranka >= 0.19.0 and franka_description >= 1.2.0 requires ROS 2 Humble
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged franka_ros2 at Robotics Stack Exchange
Package Summary
| Version | 2.4.0 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/frankaemika/franka_ros2.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-05-04 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Franka Robotics GmbH
Authors
Changelog for package franka_ros2
v2.4.0 (2026-05-04) ----------Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble
-
breaking change: Switching franka_description common package both for humble and jazzy -> 2.7.0
-
chore: refactored cartesian velocity example controller to be gazebo independent by chaining [swerve_ik_controller]{.title-ref}
-
docu: Maintenance work on documentation
-
feat: Added [franka_mobile]{.title-ref} package with [swerve_drive_controller]{.title-ref} (tf and odom support) and [swerve_ik_controller]{.title-ref} for gazebo sim.
-
refactor: replace blocking mutex in franka_robot_state_broadcaster with lock-free AsyncBuffer
-
BREAKING CHANGE: franka_robot_state_broadcaster convenience topics are published with best_effort QoS. Topics affected:
current_pose,stiffness_frame_wrench, and all other convenience topics from the broadcaster. Subscribers using the defaultreliableQoS will no longer receive messages. To migrate, set the subscriber QoS tobest_effort:C++ (rclcpp)
// Before (default reliable QoS — no longer receives messages):
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", 10, callback);
// After (best_effort QoS):
rclcpp::QoS qos(10);
qos.best_effort();
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", qos, callback);
**Python (rclpy)**
# Before (default reliable QoS — no longer receives messages):
self.create_subscription(PoseStamped, 'current_pose', callback, 10)
# After (best_effort QoS):
from rclpy.qos import QoSProfile, ReliabilityPolicy
qos = QoSProfile(depth=10, reliability=ReliabilityPolicy.BEST_EFFORT)
self.create_subscription(PoseStamped, 'current_pose', callback, qos)
-
fix: test fr3 urdf updated and segmentation fault errors from unit tests fixed
-
fix: make FrankaHardwareInterface error recoverable
-
refactor: FrankaHardwareInterface to use enums for the control mode
-
fix: ActionServers crashing when exception is not caught
v2.3.0 (2026-03-10)
Requires libfranka >= 0.20.4 and franka_description >= 1.6.1 requires ROS 2 Humble
- feat: integration_launch_testing: added smoke tests for the example controllers
- feat: franka_mobile_sensors: add visualization of sensors in rviz
- feat: integration_launch_testing: test example controllers using example.launch.py
- fix: gripper_example_controller also works without namespace
- fix: corrected logs in franka_hardware
- fix: gravity_compensation_example_controller, move_to_start_example_controller, joint_impedance_example_controller work with parametrized robot_type
- fix: joint_impedance_with_ik_example_controller checked for 'robot_id' instead of 'robot_type' argument
- fix: added missing dependency to rclcpp_action in franka_hardware package.xml
- fix: franka_hardware test fixed
- fix: franka_hardware test fixed
- fix: rclpy.parameter_client.AsyncParameterClient replaced with custom version because the package is missing in humble
- feat: update to libfranka 0.20.4
- chore: cleanup franka_bringup launch utils import
- feat: multi robot example for gazebo
- fix: added arm_prefix functionality to all franka_example_controllers and franka_robot_state_broadcaster
- feat: add sensor support for gazebo. Remove multi robot example for gazebo.
- feat: support tmr simulation with sensors
- chore: removed integration_launch_testing package, moved integration tests in their subpackage
- feat: added unit tests for [franka_gazebo_bringup]{.title-ref} launch files and cleanup.
v2.2.0 (2026-01-14) ----------Requires libfranka >= 0.19.0 and franka_description >= 1.2.0 requires ROS 2 Humble
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged franka_ros2 at Robotics Stack Exchange
Package Summary
| Version | 2.4.0 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/frankaemika/franka_ros2.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-05-04 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Franka Robotics GmbH
Authors
Changelog for package franka_ros2
v2.4.0 (2026-05-04) ----------Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble
-
breaking change: Switching franka_description common package both for humble and jazzy -> 2.7.0
-
chore: refactored cartesian velocity example controller to be gazebo independent by chaining [swerve_ik_controller]{.title-ref}
-
docu: Maintenance work on documentation
-
feat: Added [franka_mobile]{.title-ref} package with [swerve_drive_controller]{.title-ref} (tf and odom support) and [swerve_ik_controller]{.title-ref} for gazebo sim.
-
refactor: replace blocking mutex in franka_robot_state_broadcaster with lock-free AsyncBuffer
-
BREAKING CHANGE: franka_robot_state_broadcaster convenience topics are published with best_effort QoS. Topics affected:
current_pose,stiffness_frame_wrench, and all other convenience topics from the broadcaster. Subscribers using the defaultreliableQoS will no longer receive messages. To migrate, set the subscriber QoS tobest_effort:C++ (rclcpp)
// Before (default reliable QoS — no longer receives messages):
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", 10, callback);
// After (best_effort QoS):
rclcpp::QoS qos(10);
qos.best_effort();
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", qos, callback);
**Python (rclpy)**
# Before (default reliable QoS — no longer receives messages):
self.create_subscription(PoseStamped, 'current_pose', callback, 10)
# After (best_effort QoS):
from rclpy.qos import QoSProfile, ReliabilityPolicy
qos = QoSProfile(depth=10, reliability=ReliabilityPolicy.BEST_EFFORT)
self.create_subscription(PoseStamped, 'current_pose', callback, qos)
-
fix: test fr3 urdf updated and segmentation fault errors from unit tests fixed
-
fix: make FrankaHardwareInterface error recoverable
-
refactor: FrankaHardwareInterface to use enums for the control mode
-
fix: ActionServers crashing when exception is not caught
v2.3.0 (2026-03-10)
Requires libfranka >= 0.20.4 and franka_description >= 1.6.1 requires ROS 2 Humble
- feat: integration_launch_testing: added smoke tests for the example controllers
- feat: franka_mobile_sensors: add visualization of sensors in rviz
- feat: integration_launch_testing: test example controllers using example.launch.py
- fix: gripper_example_controller also works without namespace
- fix: corrected logs in franka_hardware
- fix: gravity_compensation_example_controller, move_to_start_example_controller, joint_impedance_example_controller work with parametrized robot_type
- fix: joint_impedance_with_ik_example_controller checked for 'robot_id' instead of 'robot_type' argument
- fix: added missing dependency to rclcpp_action in franka_hardware package.xml
- fix: franka_hardware test fixed
- fix: franka_hardware test fixed
- fix: rclpy.parameter_client.AsyncParameterClient replaced with custom version because the package is missing in humble
- feat: update to libfranka 0.20.4
- chore: cleanup franka_bringup launch utils import
- feat: multi robot example for gazebo
- fix: added arm_prefix functionality to all franka_example_controllers and franka_robot_state_broadcaster
- feat: add sensor support for gazebo. Remove multi robot example for gazebo.
- feat: support tmr simulation with sensors
- chore: removed integration_launch_testing package, moved integration tests in their subpackage
- feat: added unit tests for [franka_gazebo_bringup]{.title-ref} launch files and cleanup.
v2.2.0 (2026-01-14) ----------Requires libfranka >= 0.19.0 and franka_description >= 1.2.0 requires ROS 2 Humble
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged franka_ros2 at Robotics Stack Exchange
Package Summary
| Version | 2.4.0 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/frankaemika/franka_ros2.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-05-04 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Franka Robotics GmbH
Authors
Changelog for package franka_ros2
v2.4.0 (2026-05-04) ----------Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble
-
breaking change: Switching franka_description common package both for humble and jazzy -> 2.7.0
-
chore: refactored cartesian velocity example controller to be gazebo independent by chaining [swerve_ik_controller]{.title-ref}
-
docu: Maintenance work on documentation
-
feat: Added [franka_mobile]{.title-ref} package with [swerve_drive_controller]{.title-ref} (tf and odom support) and [swerve_ik_controller]{.title-ref} for gazebo sim.
-
refactor: replace blocking mutex in franka_robot_state_broadcaster with lock-free AsyncBuffer
-
BREAKING CHANGE: franka_robot_state_broadcaster convenience topics are published with best_effort QoS. Topics affected:
current_pose,stiffness_frame_wrench, and all other convenience topics from the broadcaster. Subscribers using the defaultreliableQoS will no longer receive messages. To migrate, set the subscriber QoS tobest_effort:C++ (rclcpp)
// Before (default reliable QoS — no longer receives messages):
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", 10, callback);
// After (best_effort QoS):
rclcpp::QoS qos(10);
qos.best_effort();
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", qos, callback);
**Python (rclpy)**
# Before (default reliable QoS — no longer receives messages):
self.create_subscription(PoseStamped, 'current_pose', callback, 10)
# After (best_effort QoS):
from rclpy.qos import QoSProfile, ReliabilityPolicy
qos = QoSProfile(depth=10, reliability=ReliabilityPolicy.BEST_EFFORT)
self.create_subscription(PoseStamped, 'current_pose', callback, qos)
-
fix: test fr3 urdf updated and segmentation fault errors from unit tests fixed
-
fix: make FrankaHardwareInterface error recoverable
-
refactor: FrankaHardwareInterface to use enums for the control mode
-
fix: ActionServers crashing when exception is not caught
v2.3.0 (2026-03-10)
Requires libfranka >= 0.20.4 and franka_description >= 1.6.1 requires ROS 2 Humble
- feat: integration_launch_testing: added smoke tests for the example controllers
- feat: franka_mobile_sensors: add visualization of sensors in rviz
- feat: integration_launch_testing: test example controllers using example.launch.py
- fix: gripper_example_controller also works without namespace
- fix: corrected logs in franka_hardware
- fix: gravity_compensation_example_controller, move_to_start_example_controller, joint_impedance_example_controller work with parametrized robot_type
- fix: joint_impedance_with_ik_example_controller checked for 'robot_id' instead of 'robot_type' argument
- fix: added missing dependency to rclcpp_action in franka_hardware package.xml
- fix: franka_hardware test fixed
- fix: franka_hardware test fixed
- fix: rclpy.parameter_client.AsyncParameterClient replaced with custom version because the package is missing in humble
- feat: update to libfranka 0.20.4
- chore: cleanup franka_bringup launch utils import
- feat: multi robot example for gazebo
- fix: added arm_prefix functionality to all franka_example_controllers and franka_robot_state_broadcaster
- feat: add sensor support for gazebo. Remove multi robot example for gazebo.
- feat: support tmr simulation with sensors
- chore: removed integration_launch_testing package, moved integration tests in their subpackage
- feat: added unit tests for [franka_gazebo_bringup]{.title-ref} launch files and cleanup.
v2.2.0 (2026-01-14) ----------Requires libfranka >= 0.19.0 and franka_description >= 1.2.0 requires ROS 2 Humble
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged franka_ros2 at Robotics Stack Exchange
Package Summary
| Version | 2.4.0 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/frankaemika/franka_ros2.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-05-04 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Franka Robotics GmbH
Authors
Changelog for package franka_ros2
v2.4.0 (2026-05-04) ----------Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble
-
breaking change: Switching franka_description common package both for humble and jazzy -> 2.7.0
-
chore: refactored cartesian velocity example controller to be gazebo independent by chaining [swerve_ik_controller]{.title-ref}
-
docu: Maintenance work on documentation
-
feat: Added [franka_mobile]{.title-ref} package with [swerve_drive_controller]{.title-ref} (tf and odom support) and [swerve_ik_controller]{.title-ref} for gazebo sim.
-
refactor: replace blocking mutex in franka_robot_state_broadcaster with lock-free AsyncBuffer
-
BREAKING CHANGE: franka_robot_state_broadcaster convenience topics are published with best_effort QoS. Topics affected:
current_pose,stiffness_frame_wrench, and all other convenience topics from the broadcaster. Subscribers using the defaultreliableQoS will no longer receive messages. To migrate, set the subscriber QoS tobest_effort:C++ (rclcpp)
// Before (default reliable QoS — no longer receives messages):
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", 10, callback);
// After (best_effort QoS):
rclcpp::QoS qos(10);
qos.best_effort();
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", qos, callback);
**Python (rclpy)**
# Before (default reliable QoS — no longer receives messages):
self.create_subscription(PoseStamped, 'current_pose', callback, 10)
# After (best_effort QoS):
from rclpy.qos import QoSProfile, ReliabilityPolicy
qos = QoSProfile(depth=10, reliability=ReliabilityPolicy.BEST_EFFORT)
self.create_subscription(PoseStamped, 'current_pose', callback, qos)
-
fix: test fr3 urdf updated and segmentation fault errors from unit tests fixed
-
fix: make FrankaHardwareInterface error recoverable
-
refactor: FrankaHardwareInterface to use enums for the control mode
-
fix: ActionServers crashing when exception is not caught
v2.3.0 (2026-03-10)
Requires libfranka >= 0.20.4 and franka_description >= 1.6.1 requires ROS 2 Humble
- feat: integration_launch_testing: added smoke tests for the example controllers
- feat: franka_mobile_sensors: add visualization of sensors in rviz
- feat: integration_launch_testing: test example controllers using example.launch.py
- fix: gripper_example_controller also works without namespace
- fix: corrected logs in franka_hardware
- fix: gravity_compensation_example_controller, move_to_start_example_controller, joint_impedance_example_controller work with parametrized robot_type
- fix: joint_impedance_with_ik_example_controller checked for 'robot_id' instead of 'robot_type' argument
- fix: added missing dependency to rclcpp_action in franka_hardware package.xml
- fix: franka_hardware test fixed
- fix: franka_hardware test fixed
- fix: rclpy.parameter_client.AsyncParameterClient replaced with custom version because the package is missing in humble
- feat: update to libfranka 0.20.4
- chore: cleanup franka_bringup launch utils import
- feat: multi robot example for gazebo
- fix: added arm_prefix functionality to all franka_example_controllers and franka_robot_state_broadcaster
- feat: add sensor support for gazebo. Remove multi robot example for gazebo.
- feat: support tmr simulation with sensors
- chore: removed integration_launch_testing package, moved integration tests in their subpackage
- feat: added unit tests for [franka_gazebo_bringup]{.title-ref} launch files and cleanup.
v2.2.0 (2026-01-14) ----------Requires libfranka >= 0.19.0 and franka_description >= 1.2.0 requires ROS 2 Humble
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged franka_ros2 at Robotics Stack Exchange
Package Summary
| Version | 2.4.0 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/frankaemika/franka_ros2.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-05-04 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Franka Robotics GmbH
Authors
Changelog for package franka_ros2
v2.4.0 (2026-05-04) ----------Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble
-
breaking change: Switching franka_description common package both for humble and jazzy -> 2.7.0
-
chore: refactored cartesian velocity example controller to be gazebo independent by chaining [swerve_ik_controller]{.title-ref}
-
docu: Maintenance work on documentation
-
feat: Added [franka_mobile]{.title-ref} package with [swerve_drive_controller]{.title-ref} (tf and odom support) and [swerve_ik_controller]{.title-ref} for gazebo sim.
-
refactor: replace blocking mutex in franka_robot_state_broadcaster with lock-free AsyncBuffer
-
BREAKING CHANGE: franka_robot_state_broadcaster convenience topics are published with best_effort QoS. Topics affected:
current_pose,stiffness_frame_wrench, and all other convenience topics from the broadcaster. Subscribers using the defaultreliableQoS will no longer receive messages. To migrate, set the subscriber QoS tobest_effort:C++ (rclcpp)
// Before (default reliable QoS — no longer receives messages):
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", 10, callback);
// After (best_effort QoS):
rclcpp::QoS qos(10);
qos.best_effort();
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", qos, callback);
**Python (rclpy)**
# Before (default reliable QoS — no longer receives messages):
self.create_subscription(PoseStamped, 'current_pose', callback, 10)
# After (best_effort QoS):
from rclpy.qos import QoSProfile, ReliabilityPolicy
qos = QoSProfile(depth=10, reliability=ReliabilityPolicy.BEST_EFFORT)
self.create_subscription(PoseStamped, 'current_pose', callback, qos)
-
fix: test fr3 urdf updated and segmentation fault errors from unit tests fixed
-
fix: make FrankaHardwareInterface error recoverable
-
refactor: FrankaHardwareInterface to use enums for the control mode
-
fix: ActionServers crashing when exception is not caught
v2.3.0 (2026-03-10)
Requires libfranka >= 0.20.4 and franka_description >= 1.6.1 requires ROS 2 Humble
- feat: integration_launch_testing: added smoke tests for the example controllers
- feat: franka_mobile_sensors: add visualization of sensors in rviz
- feat: integration_launch_testing: test example controllers using example.launch.py
- fix: gripper_example_controller also works without namespace
- fix: corrected logs in franka_hardware
- fix: gravity_compensation_example_controller, move_to_start_example_controller, joint_impedance_example_controller work with parametrized robot_type
- fix: joint_impedance_with_ik_example_controller checked for 'robot_id' instead of 'robot_type' argument
- fix: added missing dependency to rclcpp_action in franka_hardware package.xml
- fix: franka_hardware test fixed
- fix: franka_hardware test fixed
- fix: rclpy.parameter_client.AsyncParameterClient replaced with custom version because the package is missing in humble
- feat: update to libfranka 0.20.4
- chore: cleanup franka_bringup launch utils import
- feat: multi robot example for gazebo
- fix: added arm_prefix functionality to all franka_example_controllers and franka_robot_state_broadcaster
- feat: add sensor support for gazebo. Remove multi robot example for gazebo.
- feat: support tmr simulation with sensors
- chore: removed integration_launch_testing package, moved integration tests in their subpackage
- feat: added unit tests for [franka_gazebo_bringup]{.title-ref} launch files and cleanup.
v2.2.0 (2026-01-14) ----------Requires libfranka >= 0.19.0 and franka_description >= 1.2.0 requires ROS 2 Humble
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged franka_ros2 at Robotics Stack Exchange
Package Summary
| Version | 2.4.0 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/frankaemika/franka_ros2.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-05-04 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Franka Robotics GmbH
Authors
Changelog for package franka_ros2
v2.4.0 (2026-05-04) ----------Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble
-
breaking change: Switching franka_description common package both for humble and jazzy -> 2.7.0
-
chore: refactored cartesian velocity example controller to be gazebo independent by chaining [swerve_ik_controller]{.title-ref}
-
docu: Maintenance work on documentation
-
feat: Added [franka_mobile]{.title-ref} package with [swerve_drive_controller]{.title-ref} (tf and odom support) and [swerve_ik_controller]{.title-ref} for gazebo sim.
-
refactor: replace blocking mutex in franka_robot_state_broadcaster with lock-free AsyncBuffer
-
BREAKING CHANGE: franka_robot_state_broadcaster convenience topics are published with best_effort QoS. Topics affected:
current_pose,stiffness_frame_wrench, and all other convenience topics from the broadcaster. Subscribers using the defaultreliableQoS will no longer receive messages. To migrate, set the subscriber QoS tobest_effort:C++ (rclcpp)
// Before (default reliable QoS — no longer receives messages):
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", 10, callback);
// After (best_effort QoS):
rclcpp::QoS qos(10);
qos.best_effort();
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", qos, callback);
**Python (rclpy)**
# Before (default reliable QoS — no longer receives messages):
self.create_subscription(PoseStamped, 'current_pose', callback, 10)
# After (best_effort QoS):
from rclpy.qos import QoSProfile, ReliabilityPolicy
qos = QoSProfile(depth=10, reliability=ReliabilityPolicy.BEST_EFFORT)
self.create_subscription(PoseStamped, 'current_pose', callback, qos)
-
fix: test fr3 urdf updated and segmentation fault errors from unit tests fixed
-
fix: make FrankaHardwareInterface error recoverable
-
refactor: FrankaHardwareInterface to use enums for the control mode
-
fix: ActionServers crashing when exception is not caught
v2.3.0 (2026-03-10)
Requires libfranka >= 0.20.4 and franka_description >= 1.6.1 requires ROS 2 Humble
- feat: integration_launch_testing: added smoke tests for the example controllers
- feat: franka_mobile_sensors: add visualization of sensors in rviz
- feat: integration_launch_testing: test example controllers using example.launch.py
- fix: gripper_example_controller also works without namespace
- fix: corrected logs in franka_hardware
- fix: gravity_compensation_example_controller, move_to_start_example_controller, joint_impedance_example_controller work with parametrized robot_type
- fix: joint_impedance_with_ik_example_controller checked for 'robot_id' instead of 'robot_type' argument
- fix: added missing dependency to rclcpp_action in franka_hardware package.xml
- fix: franka_hardware test fixed
- fix: franka_hardware test fixed
- fix: rclpy.parameter_client.AsyncParameterClient replaced with custom version because the package is missing in humble
- feat: update to libfranka 0.20.4
- chore: cleanup franka_bringup launch utils import
- feat: multi robot example for gazebo
- fix: added arm_prefix functionality to all franka_example_controllers and franka_robot_state_broadcaster
- feat: add sensor support for gazebo. Remove multi robot example for gazebo.
- feat: support tmr simulation with sensors
- chore: removed integration_launch_testing package, moved integration tests in their subpackage
- feat: added unit tests for [franka_gazebo_bringup]{.title-ref} launch files and cleanup.
v2.2.0 (2026-01-14) ----------Requires libfranka >= 0.19.0 and franka_description >= 1.2.0 requires ROS 2 Humble
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged franka_ros2 at Robotics Stack Exchange
Package Summary
| Version | 2.4.0 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/frankaemika/franka_ros2.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-05-04 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Franka Robotics GmbH
Authors
Changelog for package franka_ros2
v2.4.0 (2026-05-04) ----------Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble
-
breaking change: Switching franka_description common package both for humble and jazzy -> 2.7.0
-
chore: refactored cartesian velocity example controller to be gazebo independent by chaining [swerve_ik_controller]{.title-ref}
-
docu: Maintenance work on documentation
-
feat: Added [franka_mobile]{.title-ref} package with [swerve_drive_controller]{.title-ref} (tf and odom support) and [swerve_ik_controller]{.title-ref} for gazebo sim.
-
refactor: replace blocking mutex in franka_robot_state_broadcaster with lock-free AsyncBuffer
-
BREAKING CHANGE: franka_robot_state_broadcaster convenience topics are published with best_effort QoS. Topics affected:
current_pose,stiffness_frame_wrench, and all other convenience topics from the broadcaster. Subscribers using the defaultreliableQoS will no longer receive messages. To migrate, set the subscriber QoS tobest_effort:C++ (rclcpp)
// Before (default reliable QoS — no longer receives messages):
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", 10, callback);
// After (best_effort QoS):
rclcpp::QoS qos(10);
qos.best_effort();
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", qos, callback);
**Python (rclpy)**
# Before (default reliable QoS — no longer receives messages):
self.create_subscription(PoseStamped, 'current_pose', callback, 10)
# After (best_effort QoS):
from rclpy.qos import QoSProfile, ReliabilityPolicy
qos = QoSProfile(depth=10, reliability=ReliabilityPolicy.BEST_EFFORT)
self.create_subscription(PoseStamped, 'current_pose', callback, qos)
-
fix: test fr3 urdf updated and segmentation fault errors from unit tests fixed
-
fix: make FrankaHardwareInterface error recoverable
-
refactor: FrankaHardwareInterface to use enums for the control mode
-
fix: ActionServers crashing when exception is not caught
v2.3.0 (2026-03-10)
Requires libfranka >= 0.20.4 and franka_description >= 1.6.1 requires ROS 2 Humble
- feat: integration_launch_testing: added smoke tests for the example controllers
- feat: franka_mobile_sensors: add visualization of sensors in rviz
- feat: integration_launch_testing: test example controllers using example.launch.py
- fix: gripper_example_controller also works without namespace
- fix: corrected logs in franka_hardware
- fix: gravity_compensation_example_controller, move_to_start_example_controller, joint_impedance_example_controller work with parametrized robot_type
- fix: joint_impedance_with_ik_example_controller checked for 'robot_id' instead of 'robot_type' argument
- fix: added missing dependency to rclcpp_action in franka_hardware package.xml
- fix: franka_hardware test fixed
- fix: franka_hardware test fixed
- fix: rclpy.parameter_client.AsyncParameterClient replaced with custom version because the package is missing in humble
- feat: update to libfranka 0.20.4
- chore: cleanup franka_bringup launch utils import
- feat: multi robot example for gazebo
- fix: added arm_prefix functionality to all franka_example_controllers and franka_robot_state_broadcaster
- feat: add sensor support for gazebo. Remove multi robot example for gazebo.
- feat: support tmr simulation with sensors
- chore: removed integration_launch_testing package, moved integration tests in their subpackage
- feat: added unit tests for [franka_gazebo_bringup]{.title-ref} launch files and cleanup.
v2.2.0 (2026-01-14) ----------Requires libfranka >= 0.19.0 and franka_description >= 1.2.0 requires ROS 2 Humble
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged franka_ros2 at Robotics Stack Exchange
Package Summary
| Version | 2.4.0 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/frankaemika/franka_ros2.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-05-04 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Franka Robotics GmbH
Authors
Changelog for package franka_ros2
v2.4.0 (2026-05-04) ----------Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble
-
breaking change: Switching franka_description common package both for humble and jazzy -> 2.7.0
-
chore: refactored cartesian velocity example controller to be gazebo independent by chaining [swerve_ik_controller]{.title-ref}
-
docu: Maintenance work on documentation
-
feat: Added [franka_mobile]{.title-ref} package with [swerve_drive_controller]{.title-ref} (tf and odom support) and [swerve_ik_controller]{.title-ref} for gazebo sim.
-
refactor: replace blocking mutex in franka_robot_state_broadcaster with lock-free AsyncBuffer
-
BREAKING CHANGE: franka_robot_state_broadcaster convenience topics are published with best_effort QoS. Topics affected:
current_pose,stiffness_frame_wrench, and all other convenience topics from the broadcaster. Subscribers using the defaultreliableQoS will no longer receive messages. To migrate, set the subscriber QoS tobest_effort:C++ (rclcpp)
// Before (default reliable QoS — no longer receives messages):
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", 10, callback);
// After (best_effort QoS):
rclcpp::QoS qos(10);
qos.best_effort();
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", qos, callback);
**Python (rclpy)**
# Before (default reliable QoS — no longer receives messages):
self.create_subscription(PoseStamped, 'current_pose', callback, 10)
# After (best_effort QoS):
from rclpy.qos import QoSProfile, ReliabilityPolicy
qos = QoSProfile(depth=10, reliability=ReliabilityPolicy.BEST_EFFORT)
self.create_subscription(PoseStamped, 'current_pose', callback, qos)
-
fix: test fr3 urdf updated and segmentation fault errors from unit tests fixed
-
fix: make FrankaHardwareInterface error recoverable
-
refactor: FrankaHardwareInterface to use enums for the control mode
-
fix: ActionServers crashing when exception is not caught
v2.3.0 (2026-03-10)
Requires libfranka >= 0.20.4 and franka_description >= 1.6.1 requires ROS 2 Humble
- feat: integration_launch_testing: added smoke tests for the example controllers
- feat: franka_mobile_sensors: add visualization of sensors in rviz
- feat: integration_launch_testing: test example controllers using example.launch.py
- fix: gripper_example_controller also works without namespace
- fix: corrected logs in franka_hardware
- fix: gravity_compensation_example_controller, move_to_start_example_controller, joint_impedance_example_controller work with parametrized robot_type
- fix: joint_impedance_with_ik_example_controller checked for 'robot_id' instead of 'robot_type' argument
- fix: added missing dependency to rclcpp_action in franka_hardware package.xml
- fix: franka_hardware test fixed
- fix: franka_hardware test fixed
- fix: rclpy.parameter_client.AsyncParameterClient replaced with custom version because the package is missing in humble
- feat: update to libfranka 0.20.4
- chore: cleanup franka_bringup launch utils import
- feat: multi robot example for gazebo
- fix: added arm_prefix functionality to all franka_example_controllers and franka_robot_state_broadcaster
- feat: add sensor support for gazebo. Remove multi robot example for gazebo.
- feat: support tmr simulation with sensors
- chore: removed integration_launch_testing package, moved integration tests in their subpackage
- feat: added unit tests for [franka_gazebo_bringup]{.title-ref} launch files and cleanup.
v2.2.0 (2026-01-14) ----------Requires libfranka >= 0.19.0 and franka_description >= 1.2.0 requires ROS 2 Humble
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged franka_ros2 at Robotics Stack Exchange
Package Summary
| Version | 2.4.0 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/frankaemika/franka_ros2.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-05-04 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Franka Robotics GmbH
Authors
Changelog for package franka_ros2
v2.4.0 (2026-05-04) ----------Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble
-
breaking change: Switching franka_description common package both for humble and jazzy -> 2.7.0
-
chore: refactored cartesian velocity example controller to be gazebo independent by chaining [swerve_ik_controller]{.title-ref}
-
docu: Maintenance work on documentation
-
feat: Added [franka_mobile]{.title-ref} package with [swerve_drive_controller]{.title-ref} (tf and odom support) and [swerve_ik_controller]{.title-ref} for gazebo sim.
-
refactor: replace blocking mutex in franka_robot_state_broadcaster with lock-free AsyncBuffer
-
BREAKING CHANGE: franka_robot_state_broadcaster convenience topics are published with best_effort QoS. Topics affected:
current_pose,stiffness_frame_wrench, and all other convenience topics from the broadcaster. Subscribers using the defaultreliableQoS will no longer receive messages. To migrate, set the subscriber QoS tobest_effort:C++ (rclcpp)
// Before (default reliable QoS — no longer receives messages):
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", 10, callback);
// After (best_effort QoS):
rclcpp::QoS qos(10);
qos.best_effort();
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", qos, callback);
**Python (rclpy)**
# Before (default reliable QoS — no longer receives messages):
self.create_subscription(PoseStamped, 'current_pose', callback, 10)
# After (best_effort QoS):
from rclpy.qos import QoSProfile, ReliabilityPolicy
qos = QoSProfile(depth=10, reliability=ReliabilityPolicy.BEST_EFFORT)
self.create_subscription(PoseStamped, 'current_pose', callback, qos)
-
fix: test fr3 urdf updated and segmentation fault errors from unit tests fixed
-
fix: make FrankaHardwareInterface error recoverable
-
refactor: FrankaHardwareInterface to use enums for the control mode
-
fix: ActionServers crashing when exception is not caught
v2.3.0 (2026-03-10)
Requires libfranka >= 0.20.4 and franka_description >= 1.6.1 requires ROS 2 Humble
- feat: integration_launch_testing: added smoke tests for the example controllers
- feat: franka_mobile_sensors: add visualization of sensors in rviz
- feat: integration_launch_testing: test example controllers using example.launch.py
- fix: gripper_example_controller also works without namespace
- fix: corrected logs in franka_hardware
- fix: gravity_compensation_example_controller, move_to_start_example_controller, joint_impedance_example_controller work with parametrized robot_type
- fix: joint_impedance_with_ik_example_controller checked for 'robot_id' instead of 'robot_type' argument
- fix: added missing dependency to rclcpp_action in franka_hardware package.xml
- fix: franka_hardware test fixed
- fix: franka_hardware test fixed
- fix: rclpy.parameter_client.AsyncParameterClient replaced with custom version because the package is missing in humble
- feat: update to libfranka 0.20.4
- chore: cleanup franka_bringup launch utils import
- feat: multi robot example for gazebo
- fix: added arm_prefix functionality to all franka_example_controllers and franka_robot_state_broadcaster
- feat: add sensor support for gazebo. Remove multi robot example for gazebo.
- feat: support tmr simulation with sensors
- chore: removed integration_launch_testing package, moved integration tests in their subpackage
- feat: added unit tests for [franka_gazebo_bringup]{.title-ref} launch files and cleanup.
v2.2.0 (2026-01-14) ----------Requires libfranka >= 0.19.0 and franka_description >= 1.2.0 requires ROS 2 Humble
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged franka_ros2 at Robotics Stack Exchange
Package Summary
| Version | 2.4.0 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/frankaemika/franka_ros2.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-05-04 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Franka Robotics GmbH
Authors
Changelog for package franka_ros2
v2.4.0 (2026-05-04) ----------Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble
-
breaking change: Switching franka_description common package both for humble and jazzy -> 2.7.0
-
chore: refactored cartesian velocity example controller to be gazebo independent by chaining [swerve_ik_controller]{.title-ref}
-
docu: Maintenance work on documentation
-
feat: Added [franka_mobile]{.title-ref} package with [swerve_drive_controller]{.title-ref} (tf and odom support) and [swerve_ik_controller]{.title-ref} for gazebo sim.
-
refactor: replace blocking mutex in franka_robot_state_broadcaster with lock-free AsyncBuffer
-
BREAKING CHANGE: franka_robot_state_broadcaster convenience topics are published with best_effort QoS. Topics affected:
current_pose,stiffness_frame_wrench, and all other convenience topics from the broadcaster. Subscribers using the defaultreliableQoS will no longer receive messages. To migrate, set the subscriber QoS tobest_effort:C++ (rclcpp)
// Before (default reliable QoS — no longer receives messages):
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", 10, callback);
// After (best_effort QoS):
rclcpp::QoS qos(10);
qos.best_effort();
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", qos, callback);
**Python (rclpy)**
# Before (default reliable QoS — no longer receives messages):
self.create_subscription(PoseStamped, 'current_pose', callback, 10)
# After (best_effort QoS):
from rclpy.qos import QoSProfile, ReliabilityPolicy
qos = QoSProfile(depth=10, reliability=ReliabilityPolicy.BEST_EFFORT)
self.create_subscription(PoseStamped, 'current_pose', callback, qos)
-
fix: test fr3 urdf updated and segmentation fault errors from unit tests fixed
-
fix: make FrankaHardwareInterface error recoverable
-
refactor: FrankaHardwareInterface to use enums for the control mode
-
fix: ActionServers crashing when exception is not caught
v2.3.0 (2026-03-10)
Requires libfranka >= 0.20.4 and franka_description >= 1.6.1 requires ROS 2 Humble
- feat: integration_launch_testing: added smoke tests for the example controllers
- feat: franka_mobile_sensors: add visualization of sensors in rviz
- feat: integration_launch_testing: test example controllers using example.launch.py
- fix: gripper_example_controller also works without namespace
- fix: corrected logs in franka_hardware
- fix: gravity_compensation_example_controller, move_to_start_example_controller, joint_impedance_example_controller work with parametrized robot_type
- fix: joint_impedance_with_ik_example_controller checked for 'robot_id' instead of 'robot_type' argument
- fix: added missing dependency to rclcpp_action in franka_hardware package.xml
- fix: franka_hardware test fixed
- fix: franka_hardware test fixed
- fix: rclpy.parameter_client.AsyncParameterClient replaced with custom version because the package is missing in humble
- feat: update to libfranka 0.20.4
- chore: cleanup franka_bringup launch utils import
- feat: multi robot example for gazebo
- fix: added arm_prefix functionality to all franka_example_controllers and franka_robot_state_broadcaster
- feat: add sensor support for gazebo. Remove multi robot example for gazebo.
- feat: support tmr simulation with sensors
- chore: removed integration_launch_testing package, moved integration tests in their subpackage
- feat: added unit tests for [franka_gazebo_bringup]{.title-ref} launch files and cleanup.
v2.2.0 (2026-01-14) ----------Requires libfranka >= 0.19.0 and franka_description >= 1.2.0 requires ROS 2 Humble
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged franka_ros2 at Robotics Stack Exchange
Package Summary
| Version | 2.4.0 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/frankaemika/franka_ros2.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-05-04 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Franka Robotics GmbH
Authors
Changelog for package franka_ros2
v2.4.0 (2026-05-04) ----------Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble
-
breaking change: Switching franka_description common package both for humble and jazzy -> 2.7.0
-
chore: refactored cartesian velocity example controller to be gazebo independent by chaining [swerve_ik_controller]{.title-ref}
-
docu: Maintenance work on documentation
-
feat: Added [franka_mobile]{.title-ref} package with [swerve_drive_controller]{.title-ref} (tf and odom support) and [swerve_ik_controller]{.title-ref} for gazebo sim.
-
refactor: replace blocking mutex in franka_robot_state_broadcaster with lock-free AsyncBuffer
-
BREAKING CHANGE: franka_robot_state_broadcaster convenience topics are published with best_effort QoS. Topics affected:
current_pose,stiffness_frame_wrench, and all other convenience topics from the broadcaster. Subscribers using the defaultreliableQoS will no longer receive messages. To migrate, set the subscriber QoS tobest_effort:C++ (rclcpp)
// Before (default reliable QoS — no longer receives messages):
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", 10, callback);
// After (best_effort QoS):
rclcpp::QoS qos(10);
qos.best_effort();
auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
"current_pose", qos, callback);
**Python (rclpy)**
# Before (default reliable QoS — no longer receives messages):
self.create_subscription(PoseStamped, 'current_pose', callback, 10)
# After (best_effort QoS):
from rclpy.qos import QoSProfile, ReliabilityPolicy
qos = QoSProfile(depth=10, reliability=ReliabilityPolicy.BEST_EFFORT)
self.create_subscription(PoseStamped, 'current_pose', callback, qos)
-
fix: test fr3 urdf updated and segmentation fault errors from unit tests fixed
-
fix: make FrankaHardwareInterface error recoverable
-
refactor: FrankaHardwareInterface to use enums for the control mode
-
fix: ActionServers crashing when exception is not caught
v2.3.0 (2026-03-10)
Requires libfranka >= 0.20.4 and franka_description >= 1.6.1 requires ROS 2 Humble
- feat: integration_launch_testing: added smoke tests for the example controllers
- feat: franka_mobile_sensors: add visualization of sensors in rviz
- feat: integration_launch_testing: test example controllers using example.launch.py
- fix: gripper_example_controller also works without namespace
- fix: corrected logs in franka_hardware
- fix: gravity_compensation_example_controller, move_to_start_example_controller, joint_impedance_example_controller work with parametrized robot_type
- fix: joint_impedance_with_ik_example_controller checked for 'robot_id' instead of 'robot_type' argument
- fix: added missing dependency to rclcpp_action in franka_hardware package.xml
- fix: franka_hardware test fixed
- fix: franka_hardware test fixed
- fix: rclpy.parameter_client.AsyncParameterClient replaced with custom version because the package is missing in humble
- feat: update to libfranka 0.20.4
- chore: cleanup franka_bringup launch utils import
- feat: multi robot example for gazebo
- fix: added arm_prefix functionality to all franka_example_controllers and franka_robot_state_broadcaster
- feat: add sensor support for gazebo. Remove multi robot example for gazebo.
- feat: support tmr simulation with sensors
- chore: removed integration_launch_testing package, moved integration tests in their subpackage
- feat: added unit tests for [franka_gazebo_bringup]{.title-ref} launch files and cleanup.
v2.2.0 (2026-01-14) ----------Requires libfranka >= 0.19.0 and franka_description >= 1.2.0 requires ROS 2 Humble
File truncated at 100 lines see the full file