Package Summary

Version 2.5.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-06-23
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Meta package of franka_ros2

Maintainers

  • Franka Robotics GmbH

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package franka_ros2

v2.5.0 (2026-06-23)

Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • chore: split the gazebo sources into two packages, franka_gazebo_bringup (launch files, worlds, robot descriptions, controller configs) and franka_gazebo_hardware (the gz_ros2_control gravity-compensation system plugin, franka_gazebo_hardware/GazeboGravityCompensationSystem). The public ros2 launch franka_gazebo_bringup ... command is unchanged.

* fix: franka_gazebo_bringup: fix launch file for gazebo (use world without gravity by default for example controllers) Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble Requires libfranka >= 0.20.4 and franka_description >= 2.8.0(?) requires ROS 2 Jazzy

  • feat: expose K_F_ext_hat_K as ForceTorqueSensor state interfaces (force.x/y/z, torque.x/y/z) on the <arm_prefix><robot_type>_tcp sensor, enabling direct wrench consumption at control frequency without a topic bridge.
  • BREAKING CHANGE: collision_detected topic now uses best_effort QoS (SensorDataQoS); thread-safe atomics for collision state in example controllers. Subscribers using the default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_effort (SensorDataQoS):
  • feat: Added franka_spine packages (franka_spine_msgs, franka_spine_server, franka_spine_examples) — ROS 2 action/service server for controlling the Franka Spine module
  • docu: Added documentation for error recovery after an FCI error.
  • refactor: Removed the dead auto_declare<std::string>("robot_description", "") parameter from the joint position/velocity example controllers - the URDF is obtained from robot_state_publisher via the parameters client, so the declaration was unused.
  • chore: devcontainer container name now derives from the workspace folder basename (<folder>_humble) so variant clones no longer collide on a fixed container name.

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}

  • feat: added a model-based gravity-compensation system plugin (franka_gazebo_bringup::GazeboGravityCompensationSystem) for gz_ros2_control that injects pinocchio-computed gravity torque on the effort-controlled arm joints, so the zero-torque example controllers behave in Gazebo as on the real robot (where the master controller performs gravity compensation) instead of collapsing under gravity.

  • chore: removed the per-link <gravity>false</gravity> xacro overrides; gravity is now enabled globally in the Gazebo world. This is engine-independent (the previous approach relied on a gz-fortress gravity-disable behavior that is not forwarded by some physics engines). Simulation-only behavior change; no impact on real-robot users.

  • 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 default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_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)**

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged franka_ros2 at Robotics Stack Exchange

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

Package Summary

Version 2.5.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-06-23
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Meta package of franka_ros2

Maintainers

  • Franka Robotics GmbH

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package franka_ros2

v2.5.0 (2026-06-23)

Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • chore: split the gazebo sources into two packages, franka_gazebo_bringup (launch files, worlds, robot descriptions, controller configs) and franka_gazebo_hardware (the gz_ros2_control gravity-compensation system plugin, franka_gazebo_hardware/GazeboGravityCompensationSystem). The public ros2 launch franka_gazebo_bringup ... command is unchanged.

* fix: franka_gazebo_bringup: fix launch file for gazebo (use world without gravity by default for example controllers) Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble Requires libfranka >= 0.20.4 and franka_description >= 2.8.0(?) requires ROS 2 Jazzy

  • feat: expose K_F_ext_hat_K as ForceTorqueSensor state interfaces (force.x/y/z, torque.x/y/z) on the <arm_prefix><robot_type>_tcp sensor, enabling direct wrench consumption at control frequency without a topic bridge.
  • BREAKING CHANGE: collision_detected topic now uses best_effort QoS (SensorDataQoS); thread-safe atomics for collision state in example controllers. Subscribers using the default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_effort (SensorDataQoS):
  • feat: Added franka_spine packages (franka_spine_msgs, franka_spine_server, franka_spine_examples) — ROS 2 action/service server for controlling the Franka Spine module
  • docu: Added documentation for error recovery after an FCI error.
  • refactor: Removed the dead auto_declare<std::string>("robot_description", "") parameter from the joint position/velocity example controllers - the URDF is obtained from robot_state_publisher via the parameters client, so the declaration was unused.
  • chore: devcontainer container name now derives from the workspace folder basename (<folder>_humble) so variant clones no longer collide on a fixed container name.

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}

  • feat: added a model-based gravity-compensation system plugin (franka_gazebo_bringup::GazeboGravityCompensationSystem) for gz_ros2_control that injects pinocchio-computed gravity torque on the effort-controlled arm joints, so the zero-torque example controllers behave in Gazebo as on the real robot (where the master controller performs gravity compensation) instead of collapsing under gravity.

  • chore: removed the per-link <gravity>false</gravity> xacro overrides; gravity is now enabled globally in the Gazebo world. This is engine-independent (the previous approach relied on a gz-fortress gravity-disable behavior that is not forwarded by some physics engines). Simulation-only behavior change; no impact on real-robot users.

  • 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 default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_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)**

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged franka_ros2 at Robotics Stack Exchange

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

Package Summary

Version 2.5.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-06-23
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Meta package of franka_ros2

Maintainers

  • Franka Robotics GmbH

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package franka_ros2

v2.5.0 (2026-06-23)

Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • chore: split the gazebo sources into two packages, franka_gazebo_bringup (launch files, worlds, robot descriptions, controller configs) and franka_gazebo_hardware (the gz_ros2_control gravity-compensation system plugin, franka_gazebo_hardware/GazeboGravityCompensationSystem). The public ros2 launch franka_gazebo_bringup ... command is unchanged.

* fix: franka_gazebo_bringup: fix launch file for gazebo (use world without gravity by default for example controllers) Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble Requires libfranka >= 0.20.4 and franka_description >= 2.8.0(?) requires ROS 2 Jazzy

  • feat: expose K_F_ext_hat_K as ForceTorqueSensor state interfaces (force.x/y/z, torque.x/y/z) on the <arm_prefix><robot_type>_tcp sensor, enabling direct wrench consumption at control frequency without a topic bridge.
  • BREAKING CHANGE: collision_detected topic now uses best_effort QoS (SensorDataQoS); thread-safe atomics for collision state in example controllers. Subscribers using the default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_effort (SensorDataQoS):
  • feat: Added franka_spine packages (franka_spine_msgs, franka_spine_server, franka_spine_examples) — ROS 2 action/service server for controlling the Franka Spine module
  • docu: Added documentation for error recovery after an FCI error.
  • refactor: Removed the dead auto_declare<std::string>("robot_description", "") parameter from the joint position/velocity example controllers - the URDF is obtained from robot_state_publisher via the parameters client, so the declaration was unused.
  • chore: devcontainer container name now derives from the workspace folder basename (<folder>_humble) so variant clones no longer collide on a fixed container name.

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}

  • feat: added a model-based gravity-compensation system plugin (franka_gazebo_bringup::GazeboGravityCompensationSystem) for gz_ros2_control that injects pinocchio-computed gravity torque on the effort-controlled arm joints, so the zero-torque example controllers behave in Gazebo as on the real robot (where the master controller performs gravity compensation) instead of collapsing under gravity.

  • chore: removed the per-link <gravity>false</gravity> xacro overrides; gravity is now enabled globally in the Gazebo world. This is engine-independent (the previous approach relied on a gz-fortress gravity-disable behavior that is not forwarded by some physics engines). Simulation-only behavior change; no impact on real-robot users.

  • 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 default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_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)**

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged franka_ros2 at Robotics Stack Exchange

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

Package Summary

Version 2.5.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-06-23
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Meta package of franka_ros2

Maintainers

  • Franka Robotics GmbH

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package franka_ros2

v2.5.0 (2026-06-23)

Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • chore: split the gazebo sources into two packages, franka_gazebo_bringup (launch files, worlds, robot descriptions, controller configs) and franka_gazebo_hardware (the gz_ros2_control gravity-compensation system plugin, franka_gazebo_hardware/GazeboGravityCompensationSystem). The public ros2 launch franka_gazebo_bringup ... command is unchanged.

* fix: franka_gazebo_bringup: fix launch file for gazebo (use world without gravity by default for example controllers) Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble Requires libfranka >= 0.20.4 and franka_description >= 2.8.0(?) requires ROS 2 Jazzy

  • feat: expose K_F_ext_hat_K as ForceTorqueSensor state interfaces (force.x/y/z, torque.x/y/z) on the <arm_prefix><robot_type>_tcp sensor, enabling direct wrench consumption at control frequency without a topic bridge.
  • BREAKING CHANGE: collision_detected topic now uses best_effort QoS (SensorDataQoS); thread-safe atomics for collision state in example controllers. Subscribers using the default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_effort (SensorDataQoS):
  • feat: Added franka_spine packages (franka_spine_msgs, franka_spine_server, franka_spine_examples) — ROS 2 action/service server for controlling the Franka Spine module
  • docu: Added documentation for error recovery after an FCI error.
  • refactor: Removed the dead auto_declare<std::string>("robot_description", "") parameter from the joint position/velocity example controllers - the URDF is obtained from robot_state_publisher via the parameters client, so the declaration was unused.
  • chore: devcontainer container name now derives from the workspace folder basename (<folder>_humble) so variant clones no longer collide on a fixed container name.

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}

  • feat: added a model-based gravity-compensation system plugin (franka_gazebo_bringup::GazeboGravityCompensationSystem) for gz_ros2_control that injects pinocchio-computed gravity torque on the effort-controlled arm joints, so the zero-torque example controllers behave in Gazebo as on the real robot (where the master controller performs gravity compensation) instead of collapsing under gravity.

  • chore: removed the per-link <gravity>false</gravity> xacro overrides; gravity is now enabled globally in the Gazebo world. This is engine-independent (the previous approach relied on a gz-fortress gravity-disable behavior that is not forwarded by some physics engines). Simulation-only behavior change; no impact on real-robot users.

  • 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 default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_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)**

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged franka_ros2 at Robotics Stack Exchange

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

Package Summary

Version 2.5.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-06-23
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Meta package of franka_ros2

Maintainers

  • Franka Robotics GmbH

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package franka_ros2

v2.5.0 (2026-06-23)

Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • chore: split the gazebo sources into two packages, franka_gazebo_bringup (launch files, worlds, robot descriptions, controller configs) and franka_gazebo_hardware (the gz_ros2_control gravity-compensation system plugin, franka_gazebo_hardware/GazeboGravityCompensationSystem). The public ros2 launch franka_gazebo_bringup ... command is unchanged.

* fix: franka_gazebo_bringup: fix launch file for gazebo (use world without gravity by default for example controllers) Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble Requires libfranka >= 0.20.4 and franka_description >= 2.8.0(?) requires ROS 2 Jazzy

  • feat: expose K_F_ext_hat_K as ForceTorqueSensor state interfaces (force.x/y/z, torque.x/y/z) on the <arm_prefix><robot_type>_tcp sensor, enabling direct wrench consumption at control frequency without a topic bridge.
  • BREAKING CHANGE: collision_detected topic now uses best_effort QoS (SensorDataQoS); thread-safe atomics for collision state in example controllers. Subscribers using the default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_effort (SensorDataQoS):
  • feat: Added franka_spine packages (franka_spine_msgs, franka_spine_server, franka_spine_examples) — ROS 2 action/service server for controlling the Franka Spine module
  • docu: Added documentation for error recovery after an FCI error.
  • refactor: Removed the dead auto_declare<std::string>("robot_description", "") parameter from the joint position/velocity example controllers - the URDF is obtained from robot_state_publisher via the parameters client, so the declaration was unused.
  • chore: devcontainer container name now derives from the workspace folder basename (<folder>_humble) so variant clones no longer collide on a fixed container name.

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}

  • feat: added a model-based gravity-compensation system plugin (franka_gazebo_bringup::GazeboGravityCompensationSystem) for gz_ros2_control that injects pinocchio-computed gravity torque on the effort-controlled arm joints, so the zero-torque example controllers behave in Gazebo as on the real robot (where the master controller performs gravity compensation) instead of collapsing under gravity.

  • chore: removed the per-link <gravity>false</gravity> xacro overrides; gravity is now enabled globally in the Gazebo world. This is engine-independent (the previous approach relied on a gz-fortress gravity-disable behavior that is not forwarded by some physics engines). Simulation-only behavior change; no impact on real-robot users.

  • 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 default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_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)**

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged franka_ros2 at Robotics Stack Exchange

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

Package Summary

Version 2.5.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-06-23
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Meta package of franka_ros2

Maintainers

  • Franka Robotics GmbH

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package franka_ros2

v2.5.0 (2026-06-23)

Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • chore: split the gazebo sources into two packages, franka_gazebo_bringup (launch files, worlds, robot descriptions, controller configs) and franka_gazebo_hardware (the gz_ros2_control gravity-compensation system plugin, franka_gazebo_hardware/GazeboGravityCompensationSystem). The public ros2 launch franka_gazebo_bringup ... command is unchanged.

* fix: franka_gazebo_bringup: fix launch file for gazebo (use world without gravity by default for example controllers) Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble Requires libfranka >= 0.20.4 and franka_description >= 2.8.0(?) requires ROS 2 Jazzy

  • feat: expose K_F_ext_hat_K as ForceTorqueSensor state interfaces (force.x/y/z, torque.x/y/z) on the <arm_prefix><robot_type>_tcp sensor, enabling direct wrench consumption at control frequency without a topic bridge.
  • BREAKING CHANGE: collision_detected topic now uses best_effort QoS (SensorDataQoS); thread-safe atomics for collision state in example controllers. Subscribers using the default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_effort (SensorDataQoS):
  • feat: Added franka_spine packages (franka_spine_msgs, franka_spine_server, franka_spine_examples) — ROS 2 action/service server for controlling the Franka Spine module
  • docu: Added documentation for error recovery after an FCI error.
  • refactor: Removed the dead auto_declare<std::string>("robot_description", "") parameter from the joint position/velocity example controllers - the URDF is obtained from robot_state_publisher via the parameters client, so the declaration was unused.
  • chore: devcontainer container name now derives from the workspace folder basename (<folder>_humble) so variant clones no longer collide on a fixed container name.

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}

  • feat: added a model-based gravity-compensation system plugin (franka_gazebo_bringup::GazeboGravityCompensationSystem) for gz_ros2_control that injects pinocchio-computed gravity torque on the effort-controlled arm joints, so the zero-torque example controllers behave in Gazebo as on the real robot (where the master controller performs gravity compensation) instead of collapsing under gravity.

  • chore: removed the per-link <gravity>false</gravity> xacro overrides; gravity is now enabled globally in the Gazebo world. This is engine-independent (the previous approach relied on a gz-fortress gravity-disable behavior that is not forwarded by some physics engines). Simulation-only behavior change; no impact on real-robot users.

  • 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 default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_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)**

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged franka_ros2 at Robotics Stack Exchange

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

Package Summary

Version 2.5.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-06-23
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Meta package of franka_ros2

Maintainers

  • Franka Robotics GmbH

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package franka_ros2

v2.5.0 (2026-06-23)

Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • chore: split the gazebo sources into two packages, franka_gazebo_bringup (launch files, worlds, robot descriptions, controller configs) and franka_gazebo_hardware (the gz_ros2_control gravity-compensation system plugin, franka_gazebo_hardware/GazeboGravityCompensationSystem). The public ros2 launch franka_gazebo_bringup ... command is unchanged.

* fix: franka_gazebo_bringup: fix launch file for gazebo (use world without gravity by default for example controllers) Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble Requires libfranka >= 0.20.4 and franka_description >= 2.8.0(?) requires ROS 2 Jazzy

  • feat: expose K_F_ext_hat_K as ForceTorqueSensor state interfaces (force.x/y/z, torque.x/y/z) on the <arm_prefix><robot_type>_tcp sensor, enabling direct wrench consumption at control frequency without a topic bridge.
  • BREAKING CHANGE: collision_detected topic now uses best_effort QoS (SensorDataQoS); thread-safe atomics for collision state in example controllers. Subscribers using the default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_effort (SensorDataQoS):
  • feat: Added franka_spine packages (franka_spine_msgs, franka_spine_server, franka_spine_examples) — ROS 2 action/service server for controlling the Franka Spine module
  • docu: Added documentation for error recovery after an FCI error.
  • refactor: Removed the dead auto_declare<std::string>("robot_description", "") parameter from the joint position/velocity example controllers - the URDF is obtained from robot_state_publisher via the parameters client, so the declaration was unused.
  • chore: devcontainer container name now derives from the workspace folder basename (<folder>_humble) so variant clones no longer collide on a fixed container name.

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}

  • feat: added a model-based gravity-compensation system plugin (franka_gazebo_bringup::GazeboGravityCompensationSystem) for gz_ros2_control that injects pinocchio-computed gravity torque on the effort-controlled arm joints, so the zero-torque example controllers behave in Gazebo as on the real robot (where the master controller performs gravity compensation) instead of collapsing under gravity.

  • chore: removed the per-link <gravity>false</gravity> xacro overrides; gravity is now enabled globally in the Gazebo world. This is engine-independent (the previous approach relied on a gz-fortress gravity-disable behavior that is not forwarded by some physics engines). Simulation-only behavior change; no impact on real-robot users.

  • 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 default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_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)**

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged franka_ros2 at Robotics Stack Exchange

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

Package Summary

Version 2.5.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-06-23
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Meta package of franka_ros2

Maintainers

  • Franka Robotics GmbH

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package franka_ros2

v2.5.0 (2026-06-23)

Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • chore: split the gazebo sources into two packages, franka_gazebo_bringup (launch files, worlds, robot descriptions, controller configs) and franka_gazebo_hardware (the gz_ros2_control gravity-compensation system plugin, franka_gazebo_hardware/GazeboGravityCompensationSystem). The public ros2 launch franka_gazebo_bringup ... command is unchanged.

* fix: franka_gazebo_bringup: fix launch file for gazebo (use world without gravity by default for example controllers) Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble Requires libfranka >= 0.20.4 and franka_description >= 2.8.0(?) requires ROS 2 Jazzy

  • feat: expose K_F_ext_hat_K as ForceTorqueSensor state interfaces (force.x/y/z, torque.x/y/z) on the <arm_prefix><robot_type>_tcp sensor, enabling direct wrench consumption at control frequency without a topic bridge.
  • BREAKING CHANGE: collision_detected topic now uses best_effort QoS (SensorDataQoS); thread-safe atomics for collision state in example controllers. Subscribers using the default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_effort (SensorDataQoS):
  • feat: Added franka_spine packages (franka_spine_msgs, franka_spine_server, franka_spine_examples) — ROS 2 action/service server for controlling the Franka Spine module
  • docu: Added documentation for error recovery after an FCI error.
  • refactor: Removed the dead auto_declare<std::string>("robot_description", "") parameter from the joint position/velocity example controllers - the URDF is obtained from robot_state_publisher via the parameters client, so the declaration was unused.
  • chore: devcontainer container name now derives from the workspace folder basename (<folder>_humble) so variant clones no longer collide on a fixed container name.

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}

  • feat: added a model-based gravity-compensation system plugin (franka_gazebo_bringup::GazeboGravityCompensationSystem) for gz_ros2_control that injects pinocchio-computed gravity torque on the effort-controlled arm joints, so the zero-torque example controllers behave in Gazebo as on the real robot (where the master controller performs gravity compensation) instead of collapsing under gravity.

  • chore: removed the per-link <gravity>false</gravity> xacro overrides; gravity is now enabled globally in the Gazebo world. This is engine-independent (the previous approach relied on a gz-fortress gravity-disable behavior that is not forwarded by some physics engines). Simulation-only behavior change; no impact on real-robot users.

  • 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 default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_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)**

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged franka_ros2 at Robotics Stack Exchange

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

Package Summary

Version 2.5.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-06-23
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Meta package of franka_ros2

Maintainers

  • Franka Robotics GmbH

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package franka_ros2

v2.5.0 (2026-06-23)

Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • chore: split the gazebo sources into two packages, franka_gazebo_bringup (launch files, worlds, robot descriptions, controller configs) and franka_gazebo_hardware (the gz_ros2_control gravity-compensation system plugin, franka_gazebo_hardware/GazeboGravityCompensationSystem). The public ros2 launch franka_gazebo_bringup ... command is unchanged.

* fix: franka_gazebo_bringup: fix launch file for gazebo (use world without gravity by default for example controllers) Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble Requires libfranka >= 0.20.4 and franka_description >= 2.8.0(?) requires ROS 2 Jazzy

  • feat: expose K_F_ext_hat_K as ForceTorqueSensor state interfaces (force.x/y/z, torque.x/y/z) on the <arm_prefix><robot_type>_tcp sensor, enabling direct wrench consumption at control frequency without a topic bridge.
  • BREAKING CHANGE: collision_detected topic now uses best_effort QoS (SensorDataQoS); thread-safe atomics for collision state in example controllers. Subscribers using the default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_effort (SensorDataQoS):
  • feat: Added franka_spine packages (franka_spine_msgs, franka_spine_server, franka_spine_examples) — ROS 2 action/service server for controlling the Franka Spine module
  • docu: Added documentation for error recovery after an FCI error.
  • refactor: Removed the dead auto_declare<std::string>("robot_description", "") parameter from the joint position/velocity example controllers - the URDF is obtained from robot_state_publisher via the parameters client, so the declaration was unused.
  • chore: devcontainer container name now derives from the workspace folder basename (<folder>_humble) so variant clones no longer collide on a fixed container name.

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}

  • feat: added a model-based gravity-compensation system plugin (franka_gazebo_bringup::GazeboGravityCompensationSystem) for gz_ros2_control that injects pinocchio-computed gravity torque on the effort-controlled arm joints, so the zero-torque example controllers behave in Gazebo as on the real robot (where the master controller performs gravity compensation) instead of collapsing under gravity.

  • chore: removed the per-link <gravity>false</gravity> xacro overrides; gravity is now enabled globally in the Gazebo world. This is engine-independent (the previous approach relied on a gz-fortress gravity-disable behavior that is not forwarded by some physics engines). Simulation-only behavior change; no impact on real-robot users.

  • 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 default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_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)**

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged franka_ros2 at Robotics Stack Exchange

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

Package Summary

Version 2.5.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-06-23
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Meta package of franka_ros2

Maintainers

  • Franka Robotics GmbH

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package franka_ros2

v2.5.0 (2026-06-23)

Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • chore: split the gazebo sources into two packages, franka_gazebo_bringup (launch files, worlds, robot descriptions, controller configs) and franka_gazebo_hardware (the gz_ros2_control gravity-compensation system plugin, franka_gazebo_hardware/GazeboGravityCompensationSystem). The public ros2 launch franka_gazebo_bringup ... command is unchanged.

* fix: franka_gazebo_bringup: fix launch file for gazebo (use world without gravity by default for example controllers) Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble Requires libfranka >= 0.20.4 and franka_description >= 2.8.0(?) requires ROS 2 Jazzy

  • feat: expose K_F_ext_hat_K as ForceTorqueSensor state interfaces (force.x/y/z, torque.x/y/z) on the <arm_prefix><robot_type>_tcp sensor, enabling direct wrench consumption at control frequency without a topic bridge.
  • BREAKING CHANGE: collision_detected topic now uses best_effort QoS (SensorDataQoS); thread-safe atomics for collision state in example controllers. Subscribers using the default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_effort (SensorDataQoS):
  • feat: Added franka_spine packages (franka_spine_msgs, franka_spine_server, franka_spine_examples) — ROS 2 action/service server for controlling the Franka Spine module
  • docu: Added documentation for error recovery after an FCI error.
  • refactor: Removed the dead auto_declare<std::string>("robot_description", "") parameter from the joint position/velocity example controllers - the URDF is obtained from robot_state_publisher via the parameters client, so the declaration was unused.
  • chore: devcontainer container name now derives from the workspace folder basename (<folder>_humble) so variant clones no longer collide on a fixed container name.

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}

  • feat: added a model-based gravity-compensation system plugin (franka_gazebo_bringup::GazeboGravityCompensationSystem) for gz_ros2_control that injects pinocchio-computed gravity torque on the effort-controlled arm joints, so the zero-torque example controllers behave in Gazebo as on the real robot (where the master controller performs gravity compensation) instead of collapsing under gravity.

  • chore: removed the per-link <gravity>false</gravity> xacro overrides; gravity is now enabled globally in the Gazebo world. This is engine-independent (the previous approach relied on a gz-fortress gravity-disable behavior that is not forwarded by some physics engines). Simulation-only behavior change; no impact on real-robot users.

  • 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 default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_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)**

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged franka_ros2 at Robotics Stack Exchange

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

Package Summary

Version 2.5.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-06-23
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Meta package of franka_ros2

Maintainers

  • Franka Robotics GmbH

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package franka_ros2

v2.5.0 (2026-06-23)

Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • chore: split the gazebo sources into two packages, franka_gazebo_bringup (launch files, worlds, robot descriptions, controller configs) and franka_gazebo_hardware (the gz_ros2_control gravity-compensation system plugin, franka_gazebo_hardware/GazeboGravityCompensationSystem). The public ros2 launch franka_gazebo_bringup ... command is unchanged.

* fix: franka_gazebo_bringup: fix launch file for gazebo (use world without gravity by default for example controllers) Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble Requires libfranka >= 0.20.4 and franka_description >= 2.8.0(?) requires ROS 2 Jazzy

  • feat: expose K_F_ext_hat_K as ForceTorqueSensor state interfaces (force.x/y/z, torque.x/y/z) on the <arm_prefix><robot_type>_tcp sensor, enabling direct wrench consumption at control frequency without a topic bridge.
  • BREAKING CHANGE: collision_detected topic now uses best_effort QoS (SensorDataQoS); thread-safe atomics for collision state in example controllers. Subscribers using the default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_effort (SensorDataQoS):
  • feat: Added franka_spine packages (franka_spine_msgs, franka_spine_server, franka_spine_examples) — ROS 2 action/service server for controlling the Franka Spine module
  • docu: Added documentation for error recovery after an FCI error.
  • refactor: Removed the dead auto_declare<std::string>("robot_description", "") parameter from the joint position/velocity example controllers - the URDF is obtained from robot_state_publisher via the parameters client, so the declaration was unused.
  • chore: devcontainer container name now derives from the workspace folder basename (<folder>_humble) so variant clones no longer collide on a fixed container name.

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}

  • feat: added a model-based gravity-compensation system plugin (franka_gazebo_bringup::GazeboGravityCompensationSystem) for gz_ros2_control that injects pinocchio-computed gravity torque on the effort-controlled arm joints, so the zero-torque example controllers behave in Gazebo as on the real robot (where the master controller performs gravity compensation) instead of collapsing under gravity.

  • chore: removed the per-link <gravity>false</gravity> xacro overrides; gravity is now enabled globally in the Gazebo world. This is engine-independent (the previous approach relied on a gz-fortress gravity-disable behavior that is not forwarded by some physics engines). Simulation-only behavior change; no impact on real-robot users.

  • 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 default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_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)**

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged franka_ros2 at Robotics Stack Exchange

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

Package Summary

Version 2.5.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-06-23
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Meta package of franka_ros2

Maintainers

  • Franka Robotics GmbH

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package franka_ros2

v2.5.0 (2026-06-23)

Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • chore: split the gazebo sources into two packages, franka_gazebo_bringup (launch files, worlds, robot descriptions, controller configs) and franka_gazebo_hardware (the gz_ros2_control gravity-compensation system plugin, franka_gazebo_hardware/GazeboGravityCompensationSystem). The public ros2 launch franka_gazebo_bringup ... command is unchanged.

* fix: franka_gazebo_bringup: fix launch file for gazebo (use world without gravity by default for example controllers) Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble Requires libfranka >= 0.20.4 and franka_description >= 2.8.0(?) requires ROS 2 Jazzy

  • feat: expose K_F_ext_hat_K as ForceTorqueSensor state interfaces (force.x/y/z, torque.x/y/z) on the <arm_prefix><robot_type>_tcp sensor, enabling direct wrench consumption at control frequency without a topic bridge.
  • BREAKING CHANGE: collision_detected topic now uses best_effort QoS (SensorDataQoS); thread-safe atomics for collision state in example controllers. Subscribers using the default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_effort (SensorDataQoS):
  • feat: Added franka_spine packages (franka_spine_msgs, franka_spine_server, franka_spine_examples) — ROS 2 action/service server for controlling the Franka Spine module
  • docu: Added documentation for error recovery after an FCI error.
  • refactor: Removed the dead auto_declare<std::string>("robot_description", "") parameter from the joint position/velocity example controllers - the URDF is obtained from robot_state_publisher via the parameters client, so the declaration was unused.
  • chore: devcontainer container name now derives from the workspace folder basename (<folder>_humble) so variant clones no longer collide on a fixed container name.

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}

  • feat: added a model-based gravity-compensation system plugin (franka_gazebo_bringup::GazeboGravityCompensationSystem) for gz_ros2_control that injects pinocchio-computed gravity torque on the effort-controlled arm joints, so the zero-torque example controllers behave in Gazebo as on the real robot (where the master controller performs gravity compensation) instead of collapsing under gravity.

  • chore: removed the per-link <gravity>false</gravity> xacro overrides; gravity is now enabled globally in the Gazebo world. This is engine-independent (the previous approach relied on a gz-fortress gravity-disable behavior that is not forwarded by some physics engines). Simulation-only behavior change; no impact on real-robot users.

  • 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 default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_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)**

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged franka_ros2 at Robotics Stack Exchange

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

Package Summary

Version 2.5.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-06-23
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Meta package of franka_ros2

Maintainers

  • Franka Robotics GmbH

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package franka_ros2

v2.5.0 (2026-06-23)

Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • chore: split the gazebo sources into two packages, franka_gazebo_bringup (launch files, worlds, robot descriptions, controller configs) and franka_gazebo_hardware (the gz_ros2_control gravity-compensation system plugin, franka_gazebo_hardware/GazeboGravityCompensationSystem). The public ros2 launch franka_gazebo_bringup ... command is unchanged.

* fix: franka_gazebo_bringup: fix launch file for gazebo (use world without gravity by default for example controllers) Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble Requires libfranka >= 0.20.4 and franka_description >= 2.8.0(?) requires ROS 2 Jazzy

  • feat: expose K_F_ext_hat_K as ForceTorqueSensor state interfaces (force.x/y/z, torque.x/y/z) on the <arm_prefix><robot_type>_tcp sensor, enabling direct wrench consumption at control frequency without a topic bridge.
  • BREAKING CHANGE: collision_detected topic now uses best_effort QoS (SensorDataQoS); thread-safe atomics for collision state in example controllers. Subscribers using the default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_effort (SensorDataQoS):
  • feat: Added franka_spine packages (franka_spine_msgs, franka_spine_server, franka_spine_examples) — ROS 2 action/service server for controlling the Franka Spine module
  • docu: Added documentation for error recovery after an FCI error.
  • refactor: Removed the dead auto_declare<std::string>("robot_description", "") parameter from the joint position/velocity example controllers - the URDF is obtained from robot_state_publisher via the parameters client, so the declaration was unused.
  • chore: devcontainer container name now derives from the workspace folder basename (<folder>_humble) so variant clones no longer collide on a fixed container name.

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}

  • feat: added a model-based gravity-compensation system plugin (franka_gazebo_bringup::GazeboGravityCompensationSystem) for gz_ros2_control that injects pinocchio-computed gravity torque on the effort-controlled arm joints, so the zero-torque example controllers behave in Gazebo as on the real robot (where the master controller performs gravity compensation) instead of collapsing under gravity.

  • chore: removed the per-link <gravity>false</gravity> xacro overrides; gravity is now enabled globally in the Gazebo world. This is engine-independent (the previous approach relied on a gz-fortress gravity-disable behavior that is not forwarded by some physics engines). Simulation-only behavior change; no impact on real-robot users.

  • 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 default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_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)**

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged franka_ros2 at Robotics Stack Exchange

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

Package Summary

Version 2.5.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-06-23
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Meta package of franka_ros2

Maintainers

  • Franka Robotics GmbH

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package franka_ros2

v2.5.0 (2026-06-23)

Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • chore: split the gazebo sources into two packages, franka_gazebo_bringup (launch files, worlds, robot descriptions, controller configs) and franka_gazebo_hardware (the gz_ros2_control gravity-compensation system plugin, franka_gazebo_hardware/GazeboGravityCompensationSystem). The public ros2 launch franka_gazebo_bringup ... command is unchanged.

* fix: franka_gazebo_bringup: fix launch file for gazebo (use world without gravity by default for example controllers) Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble Requires libfranka >= 0.20.4 and franka_description >= 2.8.0(?) requires ROS 2 Jazzy

  • feat: expose K_F_ext_hat_K as ForceTorqueSensor state interfaces (force.x/y/z, torque.x/y/z) on the <arm_prefix><robot_type>_tcp sensor, enabling direct wrench consumption at control frequency without a topic bridge.
  • BREAKING CHANGE: collision_detected topic now uses best_effort QoS (SensorDataQoS); thread-safe atomics for collision state in example controllers. Subscribers using the default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_effort (SensorDataQoS):
  • feat: Added franka_spine packages (franka_spine_msgs, franka_spine_server, franka_spine_examples) — ROS 2 action/service server for controlling the Franka Spine module
  • docu: Added documentation for error recovery after an FCI error.
  • refactor: Removed the dead auto_declare<std::string>("robot_description", "") parameter from the joint position/velocity example controllers - the URDF is obtained from robot_state_publisher via the parameters client, so the declaration was unused.
  • chore: devcontainer container name now derives from the workspace folder basename (<folder>_humble) so variant clones no longer collide on a fixed container name.

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}

  • feat: added a model-based gravity-compensation system plugin (franka_gazebo_bringup::GazeboGravityCompensationSystem) for gz_ros2_control that injects pinocchio-computed gravity torque on the effort-controlled arm joints, so the zero-torque example controllers behave in Gazebo as on the real robot (where the master controller performs gravity compensation) instead of collapsing under gravity.

  • chore: removed the per-link <gravity>false</gravity> xacro overrides; gravity is now enabled globally in the Gazebo world. This is engine-independent (the previous approach relied on a gz-fortress gravity-disable behavior that is not forwarded by some physics engines). Simulation-only behavior change; no impact on real-robot users.

  • 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 default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_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)**

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged franka_ros2 at Robotics Stack Exchange

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

Package Summary

Version 2.5.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-06-23
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Meta package of franka_ros2

Maintainers

  • Franka Robotics GmbH

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package franka_ros2

v2.5.0 (2026-06-23)

Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • chore: split the gazebo sources into two packages, franka_gazebo_bringup (launch files, worlds, robot descriptions, controller configs) and franka_gazebo_hardware (the gz_ros2_control gravity-compensation system plugin, franka_gazebo_hardware/GazeboGravityCompensationSystem). The public ros2 launch franka_gazebo_bringup ... command is unchanged.

* fix: franka_gazebo_bringup: fix launch file for gazebo (use world without gravity by default for example controllers) Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble Requires libfranka >= 0.20.4 and franka_description >= 2.8.0(?) requires ROS 2 Jazzy

  • feat: expose K_F_ext_hat_K as ForceTorqueSensor state interfaces (force.x/y/z, torque.x/y/z) on the <arm_prefix><robot_type>_tcp sensor, enabling direct wrench consumption at control frequency without a topic bridge.
  • BREAKING CHANGE: collision_detected topic now uses best_effort QoS (SensorDataQoS); thread-safe atomics for collision state in example controllers. Subscribers using the default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_effort (SensorDataQoS):
  • feat: Added franka_spine packages (franka_spine_msgs, franka_spine_server, franka_spine_examples) — ROS 2 action/service server for controlling the Franka Spine module
  • docu: Added documentation for error recovery after an FCI error.
  • refactor: Removed the dead auto_declare<std::string>("robot_description", "") parameter from the joint position/velocity example controllers - the URDF is obtained from robot_state_publisher via the parameters client, so the declaration was unused.
  • chore: devcontainer container name now derives from the workspace folder basename (<folder>_humble) so variant clones no longer collide on a fixed container name.

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}

  • feat: added a model-based gravity-compensation system plugin (franka_gazebo_bringup::GazeboGravityCompensationSystem) for gz_ros2_control that injects pinocchio-computed gravity torque on the effort-controlled arm joints, so the zero-torque example controllers behave in Gazebo as on the real robot (where the master controller performs gravity compensation) instead of collapsing under gravity.

  • chore: removed the per-link <gravity>false</gravity> xacro overrides; gravity is now enabled globally in the Gazebo world. This is engine-independent (the previous approach relied on a gz-fortress gravity-disable behavior that is not forwarded by some physics engines). Simulation-only behavior change; no impact on real-robot users.

  • 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 default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_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)**

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged franka_ros2 at Robotics Stack Exchange

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

Package Summary

Version 2.5.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-06-23
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Meta package of franka_ros2

Maintainers

  • Franka Robotics GmbH

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package franka_ros2

v2.5.0 (2026-06-23)

Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • chore: split the gazebo sources into two packages, franka_gazebo_bringup (launch files, worlds, robot descriptions, controller configs) and franka_gazebo_hardware (the gz_ros2_control gravity-compensation system plugin, franka_gazebo_hardware/GazeboGravityCompensationSystem). The public ros2 launch franka_gazebo_bringup ... command is unchanged.

* fix: franka_gazebo_bringup: fix launch file for gazebo (use world without gravity by default for example controllers) Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble Requires libfranka >= 0.20.4 and franka_description >= 2.8.0(?) requires ROS 2 Jazzy

  • feat: expose K_F_ext_hat_K as ForceTorqueSensor state interfaces (force.x/y/z, torque.x/y/z) on the <arm_prefix><robot_type>_tcp sensor, enabling direct wrench consumption at control frequency without a topic bridge.
  • BREAKING CHANGE: collision_detected topic now uses best_effort QoS (SensorDataQoS); thread-safe atomics for collision state in example controllers. Subscribers using the default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_effort (SensorDataQoS):
  • feat: Added franka_spine packages (franka_spine_msgs, franka_spine_server, franka_spine_examples) — ROS 2 action/service server for controlling the Franka Spine module
  • docu: Added documentation for error recovery after an FCI error.
  • refactor: Removed the dead auto_declare<std::string>("robot_description", "") parameter from the joint position/velocity example controllers - the URDF is obtained from robot_state_publisher via the parameters client, so the declaration was unused.
  • chore: devcontainer container name now derives from the workspace folder basename (<folder>_humble) so variant clones no longer collide on a fixed container name.

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}

  • feat: added a model-based gravity-compensation system plugin (franka_gazebo_bringup::GazeboGravityCompensationSystem) for gz_ros2_control that injects pinocchio-computed gravity torque on the effort-controlled arm joints, so the zero-torque example controllers behave in Gazebo as on the real robot (where the master controller performs gravity compensation) instead of collapsing under gravity.

  • chore: removed the per-link <gravity>false</gravity> xacro overrides; gravity is now enabled globally in the Gazebo world. This is engine-independent (the previous approach relied on a gz-fortress gravity-disable behavior that is not forwarded by some physics engines). Simulation-only behavior change; no impact on real-robot users.

  • 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 default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_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)**

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged franka_ros2 at Robotics Stack Exchange

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

Package Summary

Version 2.5.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-06-23
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Meta package of franka_ros2

Maintainers

  • Franka Robotics GmbH

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package franka_ros2

v2.5.0 (2026-06-23)

Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • chore: split the gazebo sources into two packages, franka_gazebo_bringup (launch files, worlds, robot descriptions, controller configs) and franka_gazebo_hardware (the gz_ros2_control gravity-compensation system plugin, franka_gazebo_hardware/GazeboGravityCompensationSystem). The public ros2 launch franka_gazebo_bringup ... command is unchanged.

* fix: franka_gazebo_bringup: fix launch file for gazebo (use world without gravity by default for example controllers) Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble Requires libfranka >= 0.20.4 and franka_description >= 2.8.0(?) requires ROS 2 Jazzy

  • feat: expose K_F_ext_hat_K as ForceTorqueSensor state interfaces (force.x/y/z, torque.x/y/z) on the <arm_prefix><robot_type>_tcp sensor, enabling direct wrench consumption at control frequency without a topic bridge.
  • BREAKING CHANGE: collision_detected topic now uses best_effort QoS (SensorDataQoS); thread-safe atomics for collision state in example controllers. Subscribers using the default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_effort (SensorDataQoS):
  • feat: Added franka_spine packages (franka_spine_msgs, franka_spine_server, franka_spine_examples) — ROS 2 action/service server for controlling the Franka Spine module
  • docu: Added documentation for error recovery after an FCI error.
  • refactor: Removed the dead auto_declare<std::string>("robot_description", "") parameter from the joint position/velocity example controllers - the URDF is obtained from robot_state_publisher via the parameters client, so the declaration was unused.
  • chore: devcontainer container name now derives from the workspace folder basename (<folder>_humble) so variant clones no longer collide on a fixed container name.

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}

  • feat: added a model-based gravity-compensation system plugin (franka_gazebo_bringup::GazeboGravityCompensationSystem) for gz_ros2_control that injects pinocchio-computed gravity torque on the effort-controlled arm joints, so the zero-torque example controllers behave in Gazebo as on the real robot (where the master controller performs gravity compensation) instead of collapsing under gravity.

  • chore: removed the per-link <gravity>false</gravity> xacro overrides; gravity is now enabled globally in the Gazebo world. This is engine-independent (the previous approach relied on a gz-fortress gravity-disable behavior that is not forwarded by some physics engines). Simulation-only behavior change; no impact on real-robot users.

  • 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 default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_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)**

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged franka_ros2 at Robotics Stack Exchange

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

Package Summary

Version 2.5.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-06-23
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Meta package of franka_ros2

Maintainers

  • Franka Robotics GmbH

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package franka_ros2

v2.5.0 (2026-06-23)

Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • chore: split the gazebo sources into two packages, franka_gazebo_bringup (launch files, worlds, robot descriptions, controller configs) and franka_gazebo_hardware (the gz_ros2_control gravity-compensation system plugin, franka_gazebo_hardware/GazeboGravityCompensationSystem). The public ros2 launch franka_gazebo_bringup ... command is unchanged.

* fix: franka_gazebo_bringup: fix launch file for gazebo (use world without gravity by default for example controllers) Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble Requires libfranka >= 0.20.4 and franka_description >= 2.8.0(?) requires ROS 2 Jazzy

  • feat: expose K_F_ext_hat_K as ForceTorqueSensor state interfaces (force.x/y/z, torque.x/y/z) on the <arm_prefix><robot_type>_tcp sensor, enabling direct wrench consumption at control frequency without a topic bridge.
  • BREAKING CHANGE: collision_detected topic now uses best_effort QoS (SensorDataQoS); thread-safe atomics for collision state in example controllers. Subscribers using the default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_effort (SensorDataQoS):
  • feat: Added franka_spine packages (franka_spine_msgs, franka_spine_server, franka_spine_examples) — ROS 2 action/service server for controlling the Franka Spine module
  • docu: Added documentation for error recovery after an FCI error.
  • refactor: Removed the dead auto_declare<std::string>("robot_description", "") parameter from the joint position/velocity example controllers - the URDF is obtained from robot_state_publisher via the parameters client, so the declaration was unused.
  • chore: devcontainer container name now derives from the workspace folder basename (<folder>_humble) so variant clones no longer collide on a fixed container name.

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}

  • feat: added a model-based gravity-compensation system plugin (franka_gazebo_bringup::GazeboGravityCompensationSystem) for gz_ros2_control that injects pinocchio-computed gravity torque on the effort-controlled arm joints, so the zero-torque example controllers behave in Gazebo as on the real robot (where the master controller performs gravity compensation) instead of collapsing under gravity.

  • chore: removed the per-link <gravity>false</gravity> xacro overrides; gravity is now enabled globally in the Gazebo world. This is engine-independent (the previous approach relied on a gz-fortress gravity-disable behavior that is not forwarded by some physics engines). Simulation-only behavior change; no impact on real-robot users.

  • 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 default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_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)**

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged franka_ros2 at Robotics Stack Exchange

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

Package Summary

Version 2.5.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-06-23
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Meta package of franka_ros2

Maintainers

  • Franka Robotics GmbH

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package franka_ros2

v2.5.0 (2026-06-23)

Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • chore: split the gazebo sources into two packages, franka_gazebo_bringup (launch files, worlds, robot descriptions, controller configs) and franka_gazebo_hardware (the gz_ros2_control gravity-compensation system plugin, franka_gazebo_hardware/GazeboGravityCompensationSystem). The public ros2 launch franka_gazebo_bringup ... command is unchanged.

* fix: franka_gazebo_bringup: fix launch file for gazebo (use world without gravity by default for example controllers) Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble Requires libfranka >= 0.20.4 and franka_description >= 2.8.0(?) requires ROS 2 Jazzy

  • feat: expose K_F_ext_hat_K as ForceTorqueSensor state interfaces (force.x/y/z, torque.x/y/z) on the <arm_prefix><robot_type>_tcp sensor, enabling direct wrench consumption at control frequency without a topic bridge.
  • BREAKING CHANGE: collision_detected topic now uses best_effort QoS (SensorDataQoS); thread-safe atomics for collision state in example controllers. Subscribers using the default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_effort (SensorDataQoS):
  • feat: Added franka_spine packages (franka_spine_msgs, franka_spine_server, franka_spine_examples) — ROS 2 action/service server for controlling the Franka Spine module
  • docu: Added documentation for error recovery after an FCI error.
  • refactor: Removed the dead auto_declare<std::string>("robot_description", "") parameter from the joint position/velocity example controllers - the URDF is obtained from robot_state_publisher via the parameters client, so the declaration was unused.
  • chore: devcontainer container name now derives from the workspace folder basename (<folder>_humble) so variant clones no longer collide on a fixed container name.

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}

  • feat: added a model-based gravity-compensation system plugin (franka_gazebo_bringup::GazeboGravityCompensationSystem) for gz_ros2_control that injects pinocchio-computed gravity torque on the effort-controlled arm joints, so the zero-torque example controllers behave in Gazebo as on the real robot (where the master controller performs gravity compensation) instead of collapsing under gravity.

  • chore: removed the per-link <gravity>false</gravity> xacro overrides; gravity is now enabled globally in the Gazebo world. This is engine-independent (the previous approach relied on a gz-fortress gravity-disable behavior that is not forwarded by some physics engines). Simulation-only behavior change; no impact on real-robot users.

  • 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 default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_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)**

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged franka_ros2 at Robotics Stack Exchange

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

Package Summary

Version 2.5.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-06-23
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Meta package of franka_ros2

Maintainers

  • Franka Robotics GmbH

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package franka_ros2

v2.5.0 (2026-06-23)

Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • chore: split the gazebo sources into two packages, franka_gazebo_bringup (launch files, worlds, robot descriptions, controller configs) and franka_gazebo_hardware (the gz_ros2_control gravity-compensation system plugin, franka_gazebo_hardware/GazeboGravityCompensationSystem). The public ros2 launch franka_gazebo_bringup ... command is unchanged.

* fix: franka_gazebo_bringup: fix launch file for gazebo (use world without gravity by default for example controllers) Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Humble Requires libfranka >= 0.20.4 and franka_description >= 2.8.0(?) requires ROS 2 Jazzy

  • feat: expose K_F_ext_hat_K as ForceTorqueSensor state interfaces (force.x/y/z, torque.x/y/z) on the <arm_prefix><robot_type>_tcp sensor, enabling direct wrench consumption at control frequency without a topic bridge.
  • BREAKING CHANGE: collision_detected topic now uses best_effort QoS (SensorDataQoS); thread-safe atomics for collision state in example controllers. Subscribers using the default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_effort (SensorDataQoS):
  • feat: Added franka_spine packages (franka_spine_msgs, franka_spine_server, franka_spine_examples) — ROS 2 action/service server for controlling the Franka Spine module
  • docu: Added documentation for error recovery after an FCI error.
  • refactor: Removed the dead auto_declare<std::string>("robot_description", "") parameter from the joint position/velocity example controllers - the URDF is obtained from robot_state_publisher via the parameters client, so the declaration was unused.
  • chore: devcontainer container name now derives from the workspace folder basename (<folder>_humble) so variant clones no longer collide on a fixed container name.

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}

  • feat: added a model-based gravity-compensation system plugin (franka_gazebo_bringup::GazeboGravityCompensationSystem) for gz_ros2_control that injects pinocchio-computed gravity torque on the effort-controlled arm joints, so the zero-torque example controllers behave in Gazebo as on the real robot (where the master controller performs gravity compensation) instead of collapsing under gravity.

  • chore: removed the per-link <gravity>false</gravity> xacro overrides; gravity is now enabled globally in the Gazebo world. This is engine-independent (the previous approach relied on a gz-fortress gravity-disable behavior that is not forwarded by some physics engines). Simulation-only behavior change; no impact on real-robot users.

  • 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 default reliable QoS will no longer receive messages. To migrate, set the subscriber QoS to best_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)**

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged franka_ros2 at Robotics Stack Exchange