Package Summary

Version 2.7.1
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-09-01
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.7.1 (2026-09-01) ----------

  • fix: spine ~/halt and move_absolute cancel did not stop the carriage. halt_motion() posted to /spine/api/motion:halt, which the device does not implement (404). It now uses motion:quick-stop, re-arms to SwitchedOn after the DS402 stop, overlaps halt and feedback with the blocking motion-mm:start on one HTTP client, and does not report a goal canceled when halt fails.
  • fix: spine http_timeout (default 3 s) is only the connect timeout and the budget for short REST. motion-mm:start uses (http_timeout, 600 s) so a long move is not aborted by the short read; the motion lock stays held until that POST returns.
  • refactor: spine REST wire strings live in SpineStatus (DS402 states) and SpineMotion (Finished).
  • fix: move_absolute no longer surfaces HTTP 424 when the spine is not SwitchedOn. It checks state first and reports e.g. Cannot start motion: spine is SwitchedOff (expected SwitchedOn).

v2.7.0 (2026-08-14) ----------

  • feat: add TMR battery ROS 2 support in franka_mobile (sensor_msgs/BatteryState topic at 1 Hz and std_srvs/Trigger services for wireless charging), with an internal franka_desk_api HTTPS helper used by the spine and battery clients.

  • fix: franka_hardware tests now run in isolated ROS domains to avoid possible collisions.

  • fix: fixed franka_hardware stop motion test to check for stopping_joint_positions matching the last

    commanded target instead of zero positions.

v2.6.0 (2026-08-10)

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

  • fix: tune mobile teleop velocity/acceleration limits to stay within the RCU 2-norm bounds. Raise swerve translational limits to 0.35 m/s / 0.4 m/s\^2 and rotational to 0.5 rad/s / 0.3 rad/s\^2 in controllers.yaml, rescale the xbox normal/turbo axes in xbox.config.yaml to match max_velocity, and reduce the joystick deadzone (0.1) with a higher autorepeat rate (50 Hz) in mobile_teleop.launch.py for smoother teleop.
  • test: add a no-hardware integration test suite: a fake-hardware FR3 controller-lifecycle test, a Joy→cmd_vel teleop test, a launch-file parsing test, a MoveIt planning smoke test with a gripper name-consistency check, and a single GTest that loads every example controller. moveit.launch.py gains a use_rviz argument so the smoke test can run headless. The CI test stage now selects franka_bringup, which the package filter had excluded, so its tests are executed rather than only built.
  • fix: align MoveIt gripper controller name with actual gripper node name. fr3_controllers.yaml and moveit.launch.py referenced fr3_gripper but the node is launched as franka_gripper, breaking gripper action commands and joint state aggregation in MoveIt. (GitHub PR #206)
  • fix: add missing dependencies in package.xml for isolated builds (rclcpp_components in franka_hardware; rclcpp_lifecycle, urdf, eigen in franka_semantic_components). Fixes rosdep-based fresh-environment builds. (community contribution: GitHub PRs #96, #169)
  • refactor: BREAKING CHANGE decouple the simulation backend (real/mock/gazebo) from the franka_hardware ros2_control macros (franka_arm and tmrv0_2). The hardware <plugin> block and the gz_ros2_control <gazebo> system element are now injected by the owning package (franka_bringup for real/mock, franka_gazebo_bringup for gazebo) instead of being selected by xacro:if inside franka_hardware. Mode/interface selection moved to the entry-point URDFs as capability flags (include_effort_command, include_finger_joint, include_passive_base), replacing the former gazebo / gazebo_effort flags. URDF expansions remain behavior-equivalent.
  • fix: collapse five duplicate top-level /**: keys in franka_gazebo_bringup's franka_gazebo_controllers.yaml into one. YAML last-key-wins was silently dropping the controller_manager type declarations, blocking the tmr gazebo launch.

v2.5.1 (2026-07-07)

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

* feat: add tmr launch file in franka bringup and use it for the mobile teleop launch file Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • feat: franka_gazebo: add robot model, full franka::RobotState and estimated external-wrench (tcp force/torque) state interfaces to the gz_ros2_control system plugin, so model-based and force/torque controllers activate in simulation like on hardware. The plugin is renamed franka_gazebo_hardware/FrankaGazeboHardwareInterface.
  • fix: franka_hardware: set the gz_ros2_control plugin <ros><namespace> for the mobile robot (tmrv0_2) so the controller_manager comes up in the /mobile_base namespace and

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.7.1
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-09-01
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.7.1 (2026-09-01) ----------

  • fix: spine ~/halt and move_absolute cancel did not stop the carriage. halt_motion() posted to /spine/api/motion:halt, which the device does not implement (404). It now uses motion:quick-stop, re-arms to SwitchedOn after the DS402 stop, overlaps halt and feedback with the blocking motion-mm:start on one HTTP client, and does not report a goal canceled when halt fails.
  • fix: spine http_timeout (default 3 s) is only the connect timeout and the budget for short REST. motion-mm:start uses (http_timeout, 600 s) so a long move is not aborted by the short read; the motion lock stays held until that POST returns.
  • refactor: spine REST wire strings live in SpineStatus (DS402 states) and SpineMotion (Finished).
  • fix: move_absolute no longer surfaces HTTP 424 when the spine is not SwitchedOn. It checks state first and reports e.g. Cannot start motion: spine is SwitchedOff (expected SwitchedOn).

v2.7.0 (2026-08-14) ----------

  • feat: add TMR battery ROS 2 support in franka_mobile (sensor_msgs/BatteryState topic at 1 Hz and std_srvs/Trigger services for wireless charging), with an internal franka_desk_api HTTPS helper used by the spine and battery clients.

  • fix: franka_hardware tests now run in isolated ROS domains to avoid possible collisions.

  • fix: fixed franka_hardware stop motion test to check for stopping_joint_positions matching the last

    commanded target instead of zero positions.

v2.6.0 (2026-08-10)

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

  • fix: tune mobile teleop velocity/acceleration limits to stay within the RCU 2-norm bounds. Raise swerve translational limits to 0.35 m/s / 0.4 m/s\^2 and rotational to 0.5 rad/s / 0.3 rad/s\^2 in controllers.yaml, rescale the xbox normal/turbo axes in xbox.config.yaml to match max_velocity, and reduce the joystick deadzone (0.1) with a higher autorepeat rate (50 Hz) in mobile_teleop.launch.py for smoother teleop.
  • test: add a no-hardware integration test suite: a fake-hardware FR3 controller-lifecycle test, a Joy→cmd_vel teleop test, a launch-file parsing test, a MoveIt planning smoke test with a gripper name-consistency check, and a single GTest that loads every example controller. moveit.launch.py gains a use_rviz argument so the smoke test can run headless. The CI test stage now selects franka_bringup, which the package filter had excluded, so its tests are executed rather than only built.
  • fix: align MoveIt gripper controller name with actual gripper node name. fr3_controllers.yaml and moveit.launch.py referenced fr3_gripper but the node is launched as franka_gripper, breaking gripper action commands and joint state aggregation in MoveIt. (GitHub PR #206)
  • fix: add missing dependencies in package.xml for isolated builds (rclcpp_components in franka_hardware; rclcpp_lifecycle, urdf, eigen in franka_semantic_components). Fixes rosdep-based fresh-environment builds. (community contribution: GitHub PRs #96, #169)
  • refactor: BREAKING CHANGE decouple the simulation backend (real/mock/gazebo) from the franka_hardware ros2_control macros (franka_arm and tmrv0_2). The hardware <plugin> block and the gz_ros2_control <gazebo> system element are now injected by the owning package (franka_bringup for real/mock, franka_gazebo_bringup for gazebo) instead of being selected by xacro:if inside franka_hardware. Mode/interface selection moved to the entry-point URDFs as capability flags (include_effort_command, include_finger_joint, include_passive_base), replacing the former gazebo / gazebo_effort flags. URDF expansions remain behavior-equivalent.
  • fix: collapse five duplicate top-level /**: keys in franka_gazebo_bringup's franka_gazebo_controllers.yaml into one. YAML last-key-wins was silently dropping the controller_manager type declarations, blocking the tmr gazebo launch.

v2.5.1 (2026-07-07)

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

* feat: add tmr launch file in franka bringup and use it for the mobile teleop launch file Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • feat: franka_gazebo: add robot model, full franka::RobotState and estimated external-wrench (tcp force/torque) state interfaces to the gz_ros2_control system plugin, so model-based and force/torque controllers activate in simulation like on hardware. The plugin is renamed franka_gazebo_hardware/FrankaGazeboHardwareInterface.
  • fix: franka_hardware: set the gz_ros2_control plugin <ros><namespace> for the mobile robot (tmrv0_2) so the controller_manager comes up in the /mobile_base namespace and

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.7.1
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-09-01
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.7.1 (2026-09-01) ----------

  • fix: spine ~/halt and move_absolute cancel did not stop the carriage. halt_motion() posted to /spine/api/motion:halt, which the device does not implement (404). It now uses motion:quick-stop, re-arms to SwitchedOn after the DS402 stop, overlaps halt and feedback with the blocking motion-mm:start on one HTTP client, and does not report a goal canceled when halt fails.
  • fix: spine http_timeout (default 3 s) is only the connect timeout and the budget for short REST. motion-mm:start uses (http_timeout, 600 s) so a long move is not aborted by the short read; the motion lock stays held until that POST returns.
  • refactor: spine REST wire strings live in SpineStatus (DS402 states) and SpineMotion (Finished).
  • fix: move_absolute no longer surfaces HTTP 424 when the spine is not SwitchedOn. It checks state first and reports e.g. Cannot start motion: spine is SwitchedOff (expected SwitchedOn).

v2.7.0 (2026-08-14) ----------

  • feat: add TMR battery ROS 2 support in franka_mobile (sensor_msgs/BatteryState topic at 1 Hz and std_srvs/Trigger services for wireless charging), with an internal franka_desk_api HTTPS helper used by the spine and battery clients.

  • fix: franka_hardware tests now run in isolated ROS domains to avoid possible collisions.

  • fix: fixed franka_hardware stop motion test to check for stopping_joint_positions matching the last

    commanded target instead of zero positions.

v2.6.0 (2026-08-10)

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

  • fix: tune mobile teleop velocity/acceleration limits to stay within the RCU 2-norm bounds. Raise swerve translational limits to 0.35 m/s / 0.4 m/s\^2 and rotational to 0.5 rad/s / 0.3 rad/s\^2 in controllers.yaml, rescale the xbox normal/turbo axes in xbox.config.yaml to match max_velocity, and reduce the joystick deadzone (0.1) with a higher autorepeat rate (50 Hz) in mobile_teleop.launch.py for smoother teleop.
  • test: add a no-hardware integration test suite: a fake-hardware FR3 controller-lifecycle test, a Joy→cmd_vel teleop test, a launch-file parsing test, a MoveIt planning smoke test with a gripper name-consistency check, and a single GTest that loads every example controller. moveit.launch.py gains a use_rviz argument so the smoke test can run headless. The CI test stage now selects franka_bringup, which the package filter had excluded, so its tests are executed rather than only built.
  • fix: align MoveIt gripper controller name with actual gripper node name. fr3_controllers.yaml and moveit.launch.py referenced fr3_gripper but the node is launched as franka_gripper, breaking gripper action commands and joint state aggregation in MoveIt. (GitHub PR #206)
  • fix: add missing dependencies in package.xml for isolated builds (rclcpp_components in franka_hardware; rclcpp_lifecycle, urdf, eigen in franka_semantic_components). Fixes rosdep-based fresh-environment builds. (community contribution: GitHub PRs #96, #169)
  • refactor: BREAKING CHANGE decouple the simulation backend (real/mock/gazebo) from the franka_hardware ros2_control macros (franka_arm and tmrv0_2). The hardware <plugin> block and the gz_ros2_control <gazebo> system element are now injected by the owning package (franka_bringup for real/mock, franka_gazebo_bringup for gazebo) instead of being selected by xacro:if inside franka_hardware. Mode/interface selection moved to the entry-point URDFs as capability flags (include_effort_command, include_finger_joint, include_passive_base), replacing the former gazebo / gazebo_effort flags. URDF expansions remain behavior-equivalent.
  • fix: collapse five duplicate top-level /**: keys in franka_gazebo_bringup's franka_gazebo_controllers.yaml into one. YAML last-key-wins was silently dropping the controller_manager type declarations, blocking the tmr gazebo launch.

v2.5.1 (2026-07-07)

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

* feat: add tmr launch file in franka bringup and use it for the mobile teleop launch file Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • feat: franka_gazebo: add robot model, full franka::RobotState and estimated external-wrench (tcp force/torque) state interfaces to the gz_ros2_control system plugin, so model-based and force/torque controllers activate in simulation like on hardware. The plugin is renamed franka_gazebo_hardware/FrankaGazeboHardwareInterface.
  • fix: franka_hardware: set the gz_ros2_control plugin <ros><namespace> for the mobile robot (tmrv0_2) so the controller_manager comes up in the /mobile_base namespace and

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.7.1
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-09-01
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.7.1 (2026-09-01) ----------

  • fix: spine ~/halt and move_absolute cancel did not stop the carriage. halt_motion() posted to /spine/api/motion:halt, which the device does not implement (404). It now uses motion:quick-stop, re-arms to SwitchedOn after the DS402 stop, overlaps halt and feedback with the blocking motion-mm:start on one HTTP client, and does not report a goal canceled when halt fails.
  • fix: spine http_timeout (default 3 s) is only the connect timeout and the budget for short REST. motion-mm:start uses (http_timeout, 600 s) so a long move is not aborted by the short read; the motion lock stays held until that POST returns.
  • refactor: spine REST wire strings live in SpineStatus (DS402 states) and SpineMotion (Finished).
  • fix: move_absolute no longer surfaces HTTP 424 when the spine is not SwitchedOn. It checks state first and reports e.g. Cannot start motion: spine is SwitchedOff (expected SwitchedOn).

v2.7.0 (2026-08-14) ----------

  • feat: add TMR battery ROS 2 support in franka_mobile (sensor_msgs/BatteryState topic at 1 Hz and std_srvs/Trigger services for wireless charging), with an internal franka_desk_api HTTPS helper used by the spine and battery clients.

  • fix: franka_hardware tests now run in isolated ROS domains to avoid possible collisions.

  • fix: fixed franka_hardware stop motion test to check for stopping_joint_positions matching the last

    commanded target instead of zero positions.

v2.6.0 (2026-08-10)

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

  • fix: tune mobile teleop velocity/acceleration limits to stay within the RCU 2-norm bounds. Raise swerve translational limits to 0.35 m/s / 0.4 m/s\^2 and rotational to 0.5 rad/s / 0.3 rad/s\^2 in controllers.yaml, rescale the xbox normal/turbo axes in xbox.config.yaml to match max_velocity, and reduce the joystick deadzone (0.1) with a higher autorepeat rate (50 Hz) in mobile_teleop.launch.py for smoother teleop.
  • test: add a no-hardware integration test suite: a fake-hardware FR3 controller-lifecycle test, a Joy→cmd_vel teleop test, a launch-file parsing test, a MoveIt planning smoke test with a gripper name-consistency check, and a single GTest that loads every example controller. moveit.launch.py gains a use_rviz argument so the smoke test can run headless. The CI test stage now selects franka_bringup, which the package filter had excluded, so its tests are executed rather than only built.
  • fix: align MoveIt gripper controller name with actual gripper node name. fr3_controllers.yaml and moveit.launch.py referenced fr3_gripper but the node is launched as franka_gripper, breaking gripper action commands and joint state aggregation in MoveIt. (GitHub PR #206)
  • fix: add missing dependencies in package.xml for isolated builds (rclcpp_components in franka_hardware; rclcpp_lifecycle, urdf, eigen in franka_semantic_components). Fixes rosdep-based fresh-environment builds. (community contribution: GitHub PRs #96, #169)
  • refactor: BREAKING CHANGE decouple the simulation backend (real/mock/gazebo) from the franka_hardware ros2_control macros (franka_arm and tmrv0_2). The hardware <plugin> block and the gz_ros2_control <gazebo> system element are now injected by the owning package (franka_bringup for real/mock, franka_gazebo_bringup for gazebo) instead of being selected by xacro:if inside franka_hardware. Mode/interface selection moved to the entry-point URDFs as capability flags (include_effort_command, include_finger_joint, include_passive_base), replacing the former gazebo / gazebo_effort flags. URDF expansions remain behavior-equivalent.
  • fix: collapse five duplicate top-level /**: keys in franka_gazebo_bringup's franka_gazebo_controllers.yaml into one. YAML last-key-wins was silently dropping the controller_manager type declarations, blocking the tmr gazebo launch.

v2.5.1 (2026-07-07)

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

* feat: add tmr launch file in franka bringup and use it for the mobile teleop launch file Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • feat: franka_gazebo: add robot model, full franka::RobotState and estimated external-wrench (tcp force/torque) state interfaces to the gz_ros2_control system plugin, so model-based and force/torque controllers activate in simulation like on hardware. The plugin is renamed franka_gazebo_hardware/FrankaGazeboHardwareInterface.
  • fix: franka_hardware: set the gz_ros2_control plugin <ros><namespace> for the mobile robot (tmrv0_2) so the controller_manager comes up in the /mobile_base namespace and

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.7.1
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-09-01
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.7.1 (2026-09-01) ----------

  • fix: spine ~/halt and move_absolute cancel did not stop the carriage. halt_motion() posted to /spine/api/motion:halt, which the device does not implement (404). It now uses motion:quick-stop, re-arms to SwitchedOn after the DS402 stop, overlaps halt and feedback with the blocking motion-mm:start on one HTTP client, and does not report a goal canceled when halt fails.
  • fix: spine http_timeout (default 3 s) is only the connect timeout and the budget for short REST. motion-mm:start uses (http_timeout, 600 s) so a long move is not aborted by the short read; the motion lock stays held until that POST returns.
  • refactor: spine REST wire strings live in SpineStatus (DS402 states) and SpineMotion (Finished).
  • fix: move_absolute no longer surfaces HTTP 424 when the spine is not SwitchedOn. It checks state first and reports e.g. Cannot start motion: spine is SwitchedOff (expected SwitchedOn).

v2.7.0 (2026-08-14) ----------

  • feat: add TMR battery ROS 2 support in franka_mobile (sensor_msgs/BatteryState topic at 1 Hz and std_srvs/Trigger services for wireless charging), with an internal franka_desk_api HTTPS helper used by the spine and battery clients.

  • fix: franka_hardware tests now run in isolated ROS domains to avoid possible collisions.

  • fix: fixed franka_hardware stop motion test to check for stopping_joint_positions matching the last

    commanded target instead of zero positions.

v2.6.0 (2026-08-10)

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

  • fix: tune mobile teleop velocity/acceleration limits to stay within the RCU 2-norm bounds. Raise swerve translational limits to 0.35 m/s / 0.4 m/s\^2 and rotational to 0.5 rad/s / 0.3 rad/s\^2 in controllers.yaml, rescale the xbox normal/turbo axes in xbox.config.yaml to match max_velocity, and reduce the joystick deadzone (0.1) with a higher autorepeat rate (50 Hz) in mobile_teleop.launch.py for smoother teleop.
  • test: add a no-hardware integration test suite: a fake-hardware FR3 controller-lifecycle test, a Joy→cmd_vel teleop test, a launch-file parsing test, a MoveIt planning smoke test with a gripper name-consistency check, and a single GTest that loads every example controller. moveit.launch.py gains a use_rviz argument so the smoke test can run headless. The CI test stage now selects franka_bringup, which the package filter had excluded, so its tests are executed rather than only built.
  • fix: align MoveIt gripper controller name with actual gripper node name. fr3_controllers.yaml and moveit.launch.py referenced fr3_gripper but the node is launched as franka_gripper, breaking gripper action commands and joint state aggregation in MoveIt. (GitHub PR #206)
  • fix: add missing dependencies in package.xml for isolated builds (rclcpp_components in franka_hardware; rclcpp_lifecycle, urdf, eigen in franka_semantic_components). Fixes rosdep-based fresh-environment builds. (community contribution: GitHub PRs #96, #169)
  • refactor: BREAKING CHANGE decouple the simulation backend (real/mock/gazebo) from the franka_hardware ros2_control macros (franka_arm and tmrv0_2). The hardware <plugin> block and the gz_ros2_control <gazebo> system element are now injected by the owning package (franka_bringup for real/mock, franka_gazebo_bringup for gazebo) instead of being selected by xacro:if inside franka_hardware. Mode/interface selection moved to the entry-point URDFs as capability flags (include_effort_command, include_finger_joint, include_passive_base), replacing the former gazebo / gazebo_effort flags. URDF expansions remain behavior-equivalent.
  • fix: collapse five duplicate top-level /**: keys in franka_gazebo_bringup's franka_gazebo_controllers.yaml into one. YAML last-key-wins was silently dropping the controller_manager type declarations, blocking the tmr gazebo launch.

v2.5.1 (2026-07-07)

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

* feat: add tmr launch file in franka bringup and use it for the mobile teleop launch file Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • feat: franka_gazebo: add robot model, full franka::RobotState and estimated external-wrench (tcp force/torque) state interfaces to the gz_ros2_control system plugin, so model-based and force/torque controllers activate in simulation like on hardware. The plugin is renamed franka_gazebo_hardware/FrankaGazeboHardwareInterface.
  • fix: franka_hardware: set the gz_ros2_control plugin <ros><namespace> for the mobile robot (tmrv0_2) so the controller_manager comes up in the /mobile_base namespace and

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.7.1
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-09-01
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.7.1 (2026-09-01) ----------

  • fix: spine ~/halt and move_absolute cancel did not stop the carriage. halt_motion() posted to /spine/api/motion:halt, which the device does not implement (404). It now uses motion:quick-stop, re-arms to SwitchedOn after the DS402 stop, overlaps halt and feedback with the blocking motion-mm:start on one HTTP client, and does not report a goal canceled when halt fails.
  • fix: spine http_timeout (default 3 s) is only the connect timeout and the budget for short REST. motion-mm:start uses (http_timeout, 600 s) so a long move is not aborted by the short read; the motion lock stays held until that POST returns.
  • refactor: spine REST wire strings live in SpineStatus (DS402 states) and SpineMotion (Finished).
  • fix: move_absolute no longer surfaces HTTP 424 when the spine is not SwitchedOn. It checks state first and reports e.g. Cannot start motion: spine is SwitchedOff (expected SwitchedOn).

v2.7.0 (2026-08-14) ----------

  • feat: add TMR battery ROS 2 support in franka_mobile (sensor_msgs/BatteryState topic at 1 Hz and std_srvs/Trigger services for wireless charging), with an internal franka_desk_api HTTPS helper used by the spine and battery clients.

  • fix: franka_hardware tests now run in isolated ROS domains to avoid possible collisions.

  • fix: fixed franka_hardware stop motion test to check for stopping_joint_positions matching the last

    commanded target instead of zero positions.

v2.6.0 (2026-08-10)

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

  • fix: tune mobile teleop velocity/acceleration limits to stay within the RCU 2-norm bounds. Raise swerve translational limits to 0.35 m/s / 0.4 m/s\^2 and rotational to 0.5 rad/s / 0.3 rad/s\^2 in controllers.yaml, rescale the xbox normal/turbo axes in xbox.config.yaml to match max_velocity, and reduce the joystick deadzone (0.1) with a higher autorepeat rate (50 Hz) in mobile_teleop.launch.py for smoother teleop.
  • test: add a no-hardware integration test suite: a fake-hardware FR3 controller-lifecycle test, a Joy→cmd_vel teleop test, a launch-file parsing test, a MoveIt planning smoke test with a gripper name-consistency check, and a single GTest that loads every example controller. moveit.launch.py gains a use_rviz argument so the smoke test can run headless. The CI test stage now selects franka_bringup, which the package filter had excluded, so its tests are executed rather than only built.
  • fix: align MoveIt gripper controller name with actual gripper node name. fr3_controllers.yaml and moveit.launch.py referenced fr3_gripper but the node is launched as franka_gripper, breaking gripper action commands and joint state aggregation in MoveIt. (GitHub PR #206)
  • fix: add missing dependencies in package.xml for isolated builds (rclcpp_components in franka_hardware; rclcpp_lifecycle, urdf, eigen in franka_semantic_components). Fixes rosdep-based fresh-environment builds. (community contribution: GitHub PRs #96, #169)
  • refactor: BREAKING CHANGE decouple the simulation backend (real/mock/gazebo) from the franka_hardware ros2_control macros (franka_arm and tmrv0_2). The hardware <plugin> block and the gz_ros2_control <gazebo> system element are now injected by the owning package (franka_bringup for real/mock, franka_gazebo_bringup for gazebo) instead of being selected by xacro:if inside franka_hardware. Mode/interface selection moved to the entry-point URDFs as capability flags (include_effort_command, include_finger_joint, include_passive_base), replacing the former gazebo / gazebo_effort flags. URDF expansions remain behavior-equivalent.
  • fix: collapse five duplicate top-level /**: keys in franka_gazebo_bringup's franka_gazebo_controllers.yaml into one. YAML last-key-wins was silently dropping the controller_manager type declarations, blocking the tmr gazebo launch.

v2.5.1 (2026-07-07)

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

* feat: add tmr launch file in franka bringup and use it for the mobile teleop launch file Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • feat: franka_gazebo: add robot model, full franka::RobotState and estimated external-wrench (tcp force/torque) state interfaces to the gz_ros2_control system plugin, so model-based and force/torque controllers activate in simulation like on hardware. The plugin is renamed franka_gazebo_hardware/FrankaGazeboHardwareInterface.
  • fix: franka_hardware: set the gz_ros2_control plugin <ros><namespace> for the mobile robot (tmrv0_2) so the controller_manager comes up in the /mobile_base namespace and

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.7.1
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-09-01
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.7.1 (2026-09-01) ----------

  • fix: spine ~/halt and move_absolute cancel did not stop the carriage. halt_motion() posted to /spine/api/motion:halt, which the device does not implement (404). It now uses motion:quick-stop, re-arms to SwitchedOn after the DS402 stop, overlaps halt and feedback with the blocking motion-mm:start on one HTTP client, and does not report a goal canceled when halt fails.
  • fix: spine http_timeout (default 3 s) is only the connect timeout and the budget for short REST. motion-mm:start uses (http_timeout, 600 s) so a long move is not aborted by the short read; the motion lock stays held until that POST returns.
  • refactor: spine REST wire strings live in SpineStatus (DS402 states) and SpineMotion (Finished).
  • fix: move_absolute no longer surfaces HTTP 424 when the spine is not SwitchedOn. It checks state first and reports e.g. Cannot start motion: spine is SwitchedOff (expected SwitchedOn).

v2.7.0 (2026-08-14) ----------

  • feat: add TMR battery ROS 2 support in franka_mobile (sensor_msgs/BatteryState topic at 1 Hz and std_srvs/Trigger services for wireless charging), with an internal franka_desk_api HTTPS helper used by the spine and battery clients.

  • fix: franka_hardware tests now run in isolated ROS domains to avoid possible collisions.

  • fix: fixed franka_hardware stop motion test to check for stopping_joint_positions matching the last

    commanded target instead of zero positions.

v2.6.0 (2026-08-10)

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

  • fix: tune mobile teleop velocity/acceleration limits to stay within the RCU 2-norm bounds. Raise swerve translational limits to 0.35 m/s / 0.4 m/s\^2 and rotational to 0.5 rad/s / 0.3 rad/s\^2 in controllers.yaml, rescale the xbox normal/turbo axes in xbox.config.yaml to match max_velocity, and reduce the joystick deadzone (0.1) with a higher autorepeat rate (50 Hz) in mobile_teleop.launch.py for smoother teleop.
  • test: add a no-hardware integration test suite: a fake-hardware FR3 controller-lifecycle test, a Joy→cmd_vel teleop test, a launch-file parsing test, a MoveIt planning smoke test with a gripper name-consistency check, and a single GTest that loads every example controller. moveit.launch.py gains a use_rviz argument so the smoke test can run headless. The CI test stage now selects franka_bringup, which the package filter had excluded, so its tests are executed rather than only built.
  • fix: align MoveIt gripper controller name with actual gripper node name. fr3_controllers.yaml and moveit.launch.py referenced fr3_gripper but the node is launched as franka_gripper, breaking gripper action commands and joint state aggregation in MoveIt. (GitHub PR #206)
  • fix: add missing dependencies in package.xml for isolated builds (rclcpp_components in franka_hardware; rclcpp_lifecycle, urdf, eigen in franka_semantic_components). Fixes rosdep-based fresh-environment builds. (community contribution: GitHub PRs #96, #169)
  • refactor: BREAKING CHANGE decouple the simulation backend (real/mock/gazebo) from the franka_hardware ros2_control macros (franka_arm and tmrv0_2). The hardware <plugin> block and the gz_ros2_control <gazebo> system element are now injected by the owning package (franka_bringup for real/mock, franka_gazebo_bringup for gazebo) instead of being selected by xacro:if inside franka_hardware. Mode/interface selection moved to the entry-point URDFs as capability flags (include_effort_command, include_finger_joint, include_passive_base), replacing the former gazebo / gazebo_effort flags. URDF expansions remain behavior-equivalent.
  • fix: collapse five duplicate top-level /**: keys in franka_gazebo_bringup's franka_gazebo_controllers.yaml into one. YAML last-key-wins was silently dropping the controller_manager type declarations, blocking the tmr gazebo launch.

v2.5.1 (2026-07-07)

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

* feat: add tmr launch file in franka bringup and use it for the mobile teleop launch file Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • feat: franka_gazebo: add robot model, full franka::RobotState and estimated external-wrench (tcp force/torque) state interfaces to the gz_ros2_control system plugin, so model-based and force/torque controllers activate in simulation like on hardware. The plugin is renamed franka_gazebo_hardware/FrankaGazeboHardwareInterface.
  • fix: franka_hardware: set the gz_ros2_control plugin <ros><namespace> for the mobile robot (tmrv0_2) so the controller_manager comes up in the /mobile_base namespace and

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.7.1
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-09-01
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.7.1 (2026-09-01) ----------

  • fix: spine ~/halt and move_absolute cancel did not stop the carriage. halt_motion() posted to /spine/api/motion:halt, which the device does not implement (404). It now uses motion:quick-stop, re-arms to SwitchedOn after the DS402 stop, overlaps halt and feedback with the blocking motion-mm:start on one HTTP client, and does not report a goal canceled when halt fails.
  • fix: spine http_timeout (default 3 s) is only the connect timeout and the budget for short REST. motion-mm:start uses (http_timeout, 600 s) so a long move is not aborted by the short read; the motion lock stays held until that POST returns.
  • refactor: spine REST wire strings live in SpineStatus (DS402 states) and SpineMotion (Finished).
  • fix: move_absolute no longer surfaces HTTP 424 when the spine is not SwitchedOn. It checks state first and reports e.g. Cannot start motion: spine is SwitchedOff (expected SwitchedOn).

v2.7.0 (2026-08-14) ----------

  • feat: add TMR battery ROS 2 support in franka_mobile (sensor_msgs/BatteryState topic at 1 Hz and std_srvs/Trigger services for wireless charging), with an internal franka_desk_api HTTPS helper used by the spine and battery clients.

  • fix: franka_hardware tests now run in isolated ROS domains to avoid possible collisions.

  • fix: fixed franka_hardware stop motion test to check for stopping_joint_positions matching the last

    commanded target instead of zero positions.

v2.6.0 (2026-08-10)

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

  • fix: tune mobile teleop velocity/acceleration limits to stay within the RCU 2-norm bounds. Raise swerve translational limits to 0.35 m/s / 0.4 m/s\^2 and rotational to 0.5 rad/s / 0.3 rad/s\^2 in controllers.yaml, rescale the xbox normal/turbo axes in xbox.config.yaml to match max_velocity, and reduce the joystick deadzone (0.1) with a higher autorepeat rate (50 Hz) in mobile_teleop.launch.py for smoother teleop.
  • test: add a no-hardware integration test suite: a fake-hardware FR3 controller-lifecycle test, a Joy→cmd_vel teleop test, a launch-file parsing test, a MoveIt planning smoke test with a gripper name-consistency check, and a single GTest that loads every example controller. moveit.launch.py gains a use_rviz argument so the smoke test can run headless. The CI test stage now selects franka_bringup, which the package filter had excluded, so its tests are executed rather than only built.
  • fix: align MoveIt gripper controller name with actual gripper node name. fr3_controllers.yaml and moveit.launch.py referenced fr3_gripper but the node is launched as franka_gripper, breaking gripper action commands and joint state aggregation in MoveIt. (GitHub PR #206)
  • fix: add missing dependencies in package.xml for isolated builds (rclcpp_components in franka_hardware; rclcpp_lifecycle, urdf, eigen in franka_semantic_components). Fixes rosdep-based fresh-environment builds. (community contribution: GitHub PRs #96, #169)
  • refactor: BREAKING CHANGE decouple the simulation backend (real/mock/gazebo) from the franka_hardware ros2_control macros (franka_arm and tmrv0_2). The hardware <plugin> block and the gz_ros2_control <gazebo> system element are now injected by the owning package (franka_bringup for real/mock, franka_gazebo_bringup for gazebo) instead of being selected by xacro:if inside franka_hardware. Mode/interface selection moved to the entry-point URDFs as capability flags (include_effort_command, include_finger_joint, include_passive_base), replacing the former gazebo / gazebo_effort flags. URDF expansions remain behavior-equivalent.
  • fix: collapse five duplicate top-level /**: keys in franka_gazebo_bringup's franka_gazebo_controllers.yaml into one. YAML last-key-wins was silently dropping the controller_manager type declarations, blocking the tmr gazebo launch.

v2.5.1 (2026-07-07)

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

* feat: add tmr launch file in franka bringup and use it for the mobile teleop launch file Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • feat: franka_gazebo: add robot model, full franka::RobotState and estimated external-wrench (tcp force/torque) state interfaces to the gz_ros2_control system plugin, so model-based and force/torque controllers activate in simulation like on hardware. The plugin is renamed franka_gazebo_hardware/FrankaGazeboHardwareInterface.
  • fix: franka_hardware: set the gz_ros2_control plugin <ros><namespace> for the mobile robot (tmrv0_2) so the controller_manager comes up in the /mobile_base namespace and

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.7.1
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-09-01
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.7.1 (2026-09-01) ----------

  • fix: spine ~/halt and move_absolute cancel did not stop the carriage. halt_motion() posted to /spine/api/motion:halt, which the device does not implement (404). It now uses motion:quick-stop, re-arms to SwitchedOn after the DS402 stop, overlaps halt and feedback with the blocking motion-mm:start on one HTTP client, and does not report a goal canceled when halt fails.
  • fix: spine http_timeout (default 3 s) is only the connect timeout and the budget for short REST. motion-mm:start uses (http_timeout, 600 s) so a long move is not aborted by the short read; the motion lock stays held until that POST returns.
  • refactor: spine REST wire strings live in SpineStatus (DS402 states) and SpineMotion (Finished).
  • fix: move_absolute no longer surfaces HTTP 424 when the spine is not SwitchedOn. It checks state first and reports e.g. Cannot start motion: spine is SwitchedOff (expected SwitchedOn).

v2.7.0 (2026-08-14) ----------

  • feat: add TMR battery ROS 2 support in franka_mobile (sensor_msgs/BatteryState topic at 1 Hz and std_srvs/Trigger services for wireless charging), with an internal franka_desk_api HTTPS helper used by the spine and battery clients.

  • fix: franka_hardware tests now run in isolated ROS domains to avoid possible collisions.

  • fix: fixed franka_hardware stop motion test to check for stopping_joint_positions matching the last

    commanded target instead of zero positions.

v2.6.0 (2026-08-10)

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

  • fix: tune mobile teleop velocity/acceleration limits to stay within the RCU 2-norm bounds. Raise swerve translational limits to 0.35 m/s / 0.4 m/s\^2 and rotational to 0.5 rad/s / 0.3 rad/s\^2 in controllers.yaml, rescale the xbox normal/turbo axes in xbox.config.yaml to match max_velocity, and reduce the joystick deadzone (0.1) with a higher autorepeat rate (50 Hz) in mobile_teleop.launch.py for smoother teleop.
  • test: add a no-hardware integration test suite: a fake-hardware FR3 controller-lifecycle test, a Joy→cmd_vel teleop test, a launch-file parsing test, a MoveIt planning smoke test with a gripper name-consistency check, and a single GTest that loads every example controller. moveit.launch.py gains a use_rviz argument so the smoke test can run headless. The CI test stage now selects franka_bringup, which the package filter had excluded, so its tests are executed rather than only built.
  • fix: align MoveIt gripper controller name with actual gripper node name. fr3_controllers.yaml and moveit.launch.py referenced fr3_gripper but the node is launched as franka_gripper, breaking gripper action commands and joint state aggregation in MoveIt. (GitHub PR #206)
  • fix: add missing dependencies in package.xml for isolated builds (rclcpp_components in franka_hardware; rclcpp_lifecycle, urdf, eigen in franka_semantic_components). Fixes rosdep-based fresh-environment builds. (community contribution: GitHub PRs #96, #169)
  • refactor: BREAKING CHANGE decouple the simulation backend (real/mock/gazebo) from the franka_hardware ros2_control macros (franka_arm and tmrv0_2). The hardware <plugin> block and the gz_ros2_control <gazebo> system element are now injected by the owning package (franka_bringup for real/mock, franka_gazebo_bringup for gazebo) instead of being selected by xacro:if inside franka_hardware. Mode/interface selection moved to the entry-point URDFs as capability flags (include_effort_command, include_finger_joint, include_passive_base), replacing the former gazebo / gazebo_effort flags. URDF expansions remain behavior-equivalent.
  • fix: collapse five duplicate top-level /**: keys in franka_gazebo_bringup's franka_gazebo_controllers.yaml into one. YAML last-key-wins was silently dropping the controller_manager type declarations, blocking the tmr gazebo launch.

v2.5.1 (2026-07-07)

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

* feat: add tmr launch file in franka bringup and use it for the mobile teleop launch file Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • feat: franka_gazebo: add robot model, full franka::RobotState and estimated external-wrench (tcp force/torque) state interfaces to the gz_ros2_control system plugin, so model-based and force/torque controllers activate in simulation like on hardware. The plugin is renamed franka_gazebo_hardware/FrankaGazeboHardwareInterface.
  • fix: franka_hardware: set the gz_ros2_control plugin <ros><namespace> for the mobile robot (tmrv0_2) so the controller_manager comes up in the /mobile_base namespace and

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.7.1
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-09-01
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.7.1 (2026-09-01) ----------

  • fix: spine ~/halt and move_absolute cancel did not stop the carriage. halt_motion() posted to /spine/api/motion:halt, which the device does not implement (404). It now uses motion:quick-stop, re-arms to SwitchedOn after the DS402 stop, overlaps halt and feedback with the blocking motion-mm:start on one HTTP client, and does not report a goal canceled when halt fails.
  • fix: spine http_timeout (default 3 s) is only the connect timeout and the budget for short REST. motion-mm:start uses (http_timeout, 600 s) so a long move is not aborted by the short read; the motion lock stays held until that POST returns.
  • refactor: spine REST wire strings live in SpineStatus (DS402 states) and SpineMotion (Finished).
  • fix: move_absolute no longer surfaces HTTP 424 when the spine is not SwitchedOn. It checks state first and reports e.g. Cannot start motion: spine is SwitchedOff (expected SwitchedOn).

v2.7.0 (2026-08-14) ----------

  • feat: add TMR battery ROS 2 support in franka_mobile (sensor_msgs/BatteryState topic at 1 Hz and std_srvs/Trigger services for wireless charging), with an internal franka_desk_api HTTPS helper used by the spine and battery clients.

  • fix: franka_hardware tests now run in isolated ROS domains to avoid possible collisions.

  • fix: fixed franka_hardware stop motion test to check for stopping_joint_positions matching the last

    commanded target instead of zero positions.

v2.6.0 (2026-08-10)

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

  • fix: tune mobile teleop velocity/acceleration limits to stay within the RCU 2-norm bounds. Raise swerve translational limits to 0.35 m/s / 0.4 m/s\^2 and rotational to 0.5 rad/s / 0.3 rad/s\^2 in controllers.yaml, rescale the xbox normal/turbo axes in xbox.config.yaml to match max_velocity, and reduce the joystick deadzone (0.1) with a higher autorepeat rate (50 Hz) in mobile_teleop.launch.py for smoother teleop.
  • test: add a no-hardware integration test suite: a fake-hardware FR3 controller-lifecycle test, a Joy→cmd_vel teleop test, a launch-file parsing test, a MoveIt planning smoke test with a gripper name-consistency check, and a single GTest that loads every example controller. moveit.launch.py gains a use_rviz argument so the smoke test can run headless. The CI test stage now selects franka_bringup, which the package filter had excluded, so its tests are executed rather than only built.
  • fix: align MoveIt gripper controller name with actual gripper node name. fr3_controllers.yaml and moveit.launch.py referenced fr3_gripper but the node is launched as franka_gripper, breaking gripper action commands and joint state aggregation in MoveIt. (GitHub PR #206)
  • fix: add missing dependencies in package.xml for isolated builds (rclcpp_components in franka_hardware; rclcpp_lifecycle, urdf, eigen in franka_semantic_components). Fixes rosdep-based fresh-environment builds. (community contribution: GitHub PRs #96, #169)
  • refactor: BREAKING CHANGE decouple the simulation backend (real/mock/gazebo) from the franka_hardware ros2_control macros (franka_arm and tmrv0_2). The hardware <plugin> block and the gz_ros2_control <gazebo> system element are now injected by the owning package (franka_bringup for real/mock, franka_gazebo_bringup for gazebo) instead of being selected by xacro:if inside franka_hardware. Mode/interface selection moved to the entry-point URDFs as capability flags (include_effort_command, include_finger_joint, include_passive_base), replacing the former gazebo / gazebo_effort flags. URDF expansions remain behavior-equivalent.
  • fix: collapse five duplicate top-level /**: keys in franka_gazebo_bringup's franka_gazebo_controllers.yaml into one. YAML last-key-wins was silently dropping the controller_manager type declarations, blocking the tmr gazebo launch.

v2.5.1 (2026-07-07)

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

* feat: add tmr launch file in franka bringup and use it for the mobile teleop launch file Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • feat: franka_gazebo: add robot model, full franka::RobotState and estimated external-wrench (tcp force/torque) state interfaces to the gz_ros2_control system plugin, so model-based and force/torque controllers activate in simulation like on hardware. The plugin is renamed franka_gazebo_hardware/FrankaGazeboHardwareInterface.
  • fix: franka_hardware: set the gz_ros2_control plugin <ros><namespace> for the mobile robot (tmrv0_2) so the controller_manager comes up in the /mobile_base namespace and

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.7.1
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-09-01
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.7.1 (2026-09-01) ----------

  • fix: spine ~/halt and move_absolute cancel did not stop the carriage. halt_motion() posted to /spine/api/motion:halt, which the device does not implement (404). It now uses motion:quick-stop, re-arms to SwitchedOn after the DS402 stop, overlaps halt and feedback with the blocking motion-mm:start on one HTTP client, and does not report a goal canceled when halt fails.
  • fix: spine http_timeout (default 3 s) is only the connect timeout and the budget for short REST. motion-mm:start uses (http_timeout, 600 s) so a long move is not aborted by the short read; the motion lock stays held until that POST returns.
  • refactor: spine REST wire strings live in SpineStatus (DS402 states) and SpineMotion (Finished).
  • fix: move_absolute no longer surfaces HTTP 424 when the spine is not SwitchedOn. It checks state first and reports e.g. Cannot start motion: spine is SwitchedOff (expected SwitchedOn).

v2.7.0 (2026-08-14) ----------

  • feat: add TMR battery ROS 2 support in franka_mobile (sensor_msgs/BatteryState topic at 1 Hz and std_srvs/Trigger services for wireless charging), with an internal franka_desk_api HTTPS helper used by the spine and battery clients.

  • fix: franka_hardware tests now run in isolated ROS domains to avoid possible collisions.

  • fix: fixed franka_hardware stop motion test to check for stopping_joint_positions matching the last

    commanded target instead of zero positions.

v2.6.0 (2026-08-10)

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

  • fix: tune mobile teleop velocity/acceleration limits to stay within the RCU 2-norm bounds. Raise swerve translational limits to 0.35 m/s / 0.4 m/s\^2 and rotational to 0.5 rad/s / 0.3 rad/s\^2 in controllers.yaml, rescale the xbox normal/turbo axes in xbox.config.yaml to match max_velocity, and reduce the joystick deadzone (0.1) with a higher autorepeat rate (50 Hz) in mobile_teleop.launch.py for smoother teleop.
  • test: add a no-hardware integration test suite: a fake-hardware FR3 controller-lifecycle test, a Joy→cmd_vel teleop test, a launch-file parsing test, a MoveIt planning smoke test with a gripper name-consistency check, and a single GTest that loads every example controller. moveit.launch.py gains a use_rviz argument so the smoke test can run headless. The CI test stage now selects franka_bringup, which the package filter had excluded, so its tests are executed rather than only built.
  • fix: align MoveIt gripper controller name with actual gripper node name. fr3_controllers.yaml and moveit.launch.py referenced fr3_gripper but the node is launched as franka_gripper, breaking gripper action commands and joint state aggregation in MoveIt. (GitHub PR #206)
  • fix: add missing dependencies in package.xml for isolated builds (rclcpp_components in franka_hardware; rclcpp_lifecycle, urdf, eigen in franka_semantic_components). Fixes rosdep-based fresh-environment builds. (community contribution: GitHub PRs #96, #169)
  • refactor: BREAKING CHANGE decouple the simulation backend (real/mock/gazebo) from the franka_hardware ros2_control macros (franka_arm and tmrv0_2). The hardware <plugin> block and the gz_ros2_control <gazebo> system element are now injected by the owning package (franka_bringup for real/mock, franka_gazebo_bringup for gazebo) instead of being selected by xacro:if inside franka_hardware. Mode/interface selection moved to the entry-point URDFs as capability flags (include_effort_command, include_finger_joint, include_passive_base), replacing the former gazebo / gazebo_effort flags. URDF expansions remain behavior-equivalent.
  • fix: collapse five duplicate top-level /**: keys in franka_gazebo_bringup's franka_gazebo_controllers.yaml into one. YAML last-key-wins was silently dropping the controller_manager type declarations, blocking the tmr gazebo launch.

v2.5.1 (2026-07-07)

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

* feat: add tmr launch file in franka bringup and use it for the mobile teleop launch file Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • feat: franka_gazebo: add robot model, full franka::RobotState and estimated external-wrench (tcp force/torque) state interfaces to the gz_ros2_control system plugin, so model-based and force/torque controllers activate in simulation like on hardware. The plugin is renamed franka_gazebo_hardware/FrankaGazeboHardwareInterface.
  • fix: franka_hardware: set the gz_ros2_control plugin <ros><namespace> for the mobile robot (tmrv0_2) so the controller_manager comes up in the /mobile_base namespace and

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.7.1
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-09-01
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.7.1 (2026-09-01) ----------

  • fix: spine ~/halt and move_absolute cancel did not stop the carriage. halt_motion() posted to /spine/api/motion:halt, which the device does not implement (404). It now uses motion:quick-stop, re-arms to SwitchedOn after the DS402 stop, overlaps halt and feedback with the blocking motion-mm:start on one HTTP client, and does not report a goal canceled when halt fails.
  • fix: spine http_timeout (default 3 s) is only the connect timeout and the budget for short REST. motion-mm:start uses (http_timeout, 600 s) so a long move is not aborted by the short read; the motion lock stays held until that POST returns.
  • refactor: spine REST wire strings live in SpineStatus (DS402 states) and SpineMotion (Finished).
  • fix: move_absolute no longer surfaces HTTP 424 when the spine is not SwitchedOn. It checks state first and reports e.g. Cannot start motion: spine is SwitchedOff (expected SwitchedOn).

v2.7.0 (2026-08-14) ----------

  • feat: add TMR battery ROS 2 support in franka_mobile (sensor_msgs/BatteryState topic at 1 Hz and std_srvs/Trigger services for wireless charging), with an internal franka_desk_api HTTPS helper used by the spine and battery clients.

  • fix: franka_hardware tests now run in isolated ROS domains to avoid possible collisions.

  • fix: fixed franka_hardware stop motion test to check for stopping_joint_positions matching the last

    commanded target instead of zero positions.

v2.6.0 (2026-08-10)

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

  • fix: tune mobile teleop velocity/acceleration limits to stay within the RCU 2-norm bounds. Raise swerve translational limits to 0.35 m/s / 0.4 m/s\^2 and rotational to 0.5 rad/s / 0.3 rad/s\^2 in controllers.yaml, rescale the xbox normal/turbo axes in xbox.config.yaml to match max_velocity, and reduce the joystick deadzone (0.1) with a higher autorepeat rate (50 Hz) in mobile_teleop.launch.py for smoother teleop.
  • test: add a no-hardware integration test suite: a fake-hardware FR3 controller-lifecycle test, a Joy→cmd_vel teleop test, a launch-file parsing test, a MoveIt planning smoke test with a gripper name-consistency check, and a single GTest that loads every example controller. moveit.launch.py gains a use_rviz argument so the smoke test can run headless. The CI test stage now selects franka_bringup, which the package filter had excluded, so its tests are executed rather than only built.
  • fix: align MoveIt gripper controller name with actual gripper node name. fr3_controllers.yaml and moveit.launch.py referenced fr3_gripper but the node is launched as franka_gripper, breaking gripper action commands and joint state aggregation in MoveIt. (GitHub PR #206)
  • fix: add missing dependencies in package.xml for isolated builds (rclcpp_components in franka_hardware; rclcpp_lifecycle, urdf, eigen in franka_semantic_components). Fixes rosdep-based fresh-environment builds. (community contribution: GitHub PRs #96, #169)
  • refactor: BREAKING CHANGE decouple the simulation backend (real/mock/gazebo) from the franka_hardware ros2_control macros (franka_arm and tmrv0_2). The hardware <plugin> block and the gz_ros2_control <gazebo> system element are now injected by the owning package (franka_bringup for real/mock, franka_gazebo_bringup for gazebo) instead of being selected by xacro:if inside franka_hardware. Mode/interface selection moved to the entry-point URDFs as capability flags (include_effort_command, include_finger_joint, include_passive_base), replacing the former gazebo / gazebo_effort flags. URDF expansions remain behavior-equivalent.
  • fix: collapse five duplicate top-level /**: keys in franka_gazebo_bringup's franka_gazebo_controllers.yaml into one. YAML last-key-wins was silently dropping the controller_manager type declarations, blocking the tmr gazebo launch.

v2.5.1 (2026-07-07)

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

* feat: add tmr launch file in franka bringup and use it for the mobile teleop launch file Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • feat: franka_gazebo: add robot model, full franka::RobotState and estimated external-wrench (tcp force/torque) state interfaces to the gz_ros2_control system plugin, so model-based and force/torque controllers activate in simulation like on hardware. The plugin is renamed franka_gazebo_hardware/FrankaGazeboHardwareInterface.
  • fix: franka_hardware: set the gz_ros2_control plugin <ros><namespace> for the mobile robot (tmrv0_2) so the controller_manager comes up in the /mobile_base namespace and

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.7.1
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-09-01
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.7.1 (2026-09-01) ----------

  • fix: spine ~/halt and move_absolute cancel did not stop the carriage. halt_motion() posted to /spine/api/motion:halt, which the device does not implement (404). It now uses motion:quick-stop, re-arms to SwitchedOn after the DS402 stop, overlaps halt and feedback with the blocking motion-mm:start on one HTTP client, and does not report a goal canceled when halt fails.
  • fix: spine http_timeout (default 3 s) is only the connect timeout and the budget for short REST. motion-mm:start uses (http_timeout, 600 s) so a long move is not aborted by the short read; the motion lock stays held until that POST returns.
  • refactor: spine REST wire strings live in SpineStatus (DS402 states) and SpineMotion (Finished).
  • fix: move_absolute no longer surfaces HTTP 424 when the spine is not SwitchedOn. It checks state first and reports e.g. Cannot start motion: spine is SwitchedOff (expected SwitchedOn).

v2.7.0 (2026-08-14) ----------

  • feat: add TMR battery ROS 2 support in franka_mobile (sensor_msgs/BatteryState topic at 1 Hz and std_srvs/Trigger services for wireless charging), with an internal franka_desk_api HTTPS helper used by the spine and battery clients.

  • fix: franka_hardware tests now run in isolated ROS domains to avoid possible collisions.

  • fix: fixed franka_hardware stop motion test to check for stopping_joint_positions matching the last

    commanded target instead of zero positions.

v2.6.0 (2026-08-10)

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

  • fix: tune mobile teleop velocity/acceleration limits to stay within the RCU 2-norm bounds. Raise swerve translational limits to 0.35 m/s / 0.4 m/s\^2 and rotational to 0.5 rad/s / 0.3 rad/s\^2 in controllers.yaml, rescale the xbox normal/turbo axes in xbox.config.yaml to match max_velocity, and reduce the joystick deadzone (0.1) with a higher autorepeat rate (50 Hz) in mobile_teleop.launch.py for smoother teleop.
  • test: add a no-hardware integration test suite: a fake-hardware FR3 controller-lifecycle test, a Joy→cmd_vel teleop test, a launch-file parsing test, a MoveIt planning smoke test with a gripper name-consistency check, and a single GTest that loads every example controller. moveit.launch.py gains a use_rviz argument so the smoke test can run headless. The CI test stage now selects franka_bringup, which the package filter had excluded, so its tests are executed rather than only built.
  • fix: align MoveIt gripper controller name with actual gripper node name. fr3_controllers.yaml and moveit.launch.py referenced fr3_gripper but the node is launched as franka_gripper, breaking gripper action commands and joint state aggregation in MoveIt. (GitHub PR #206)
  • fix: add missing dependencies in package.xml for isolated builds (rclcpp_components in franka_hardware; rclcpp_lifecycle, urdf, eigen in franka_semantic_components). Fixes rosdep-based fresh-environment builds. (community contribution: GitHub PRs #96, #169)
  • refactor: BREAKING CHANGE decouple the simulation backend (real/mock/gazebo) from the franka_hardware ros2_control macros (franka_arm and tmrv0_2). The hardware <plugin> block and the gz_ros2_control <gazebo> system element are now injected by the owning package (franka_bringup for real/mock, franka_gazebo_bringup for gazebo) instead of being selected by xacro:if inside franka_hardware. Mode/interface selection moved to the entry-point URDFs as capability flags (include_effort_command, include_finger_joint, include_passive_base), replacing the former gazebo / gazebo_effort flags. URDF expansions remain behavior-equivalent.
  • fix: collapse five duplicate top-level /**: keys in franka_gazebo_bringup's franka_gazebo_controllers.yaml into one. YAML last-key-wins was silently dropping the controller_manager type declarations, blocking the tmr gazebo launch.

v2.5.1 (2026-07-07)

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

* feat: add tmr launch file in franka bringup and use it for the mobile teleop launch file Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • feat: franka_gazebo: add robot model, full franka::RobotState and estimated external-wrench (tcp force/torque) state interfaces to the gz_ros2_control system plugin, so model-based and force/torque controllers activate in simulation like on hardware. The plugin is renamed franka_gazebo_hardware/FrankaGazeboHardwareInterface.
  • fix: franka_hardware: set the gz_ros2_control plugin <ros><namespace> for the mobile robot (tmrv0_2) so the controller_manager comes up in the /mobile_base namespace and

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.7.1
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-09-01
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.7.1 (2026-09-01) ----------

  • fix: spine ~/halt and move_absolute cancel did not stop the carriage. halt_motion() posted to /spine/api/motion:halt, which the device does not implement (404). It now uses motion:quick-stop, re-arms to SwitchedOn after the DS402 stop, overlaps halt and feedback with the blocking motion-mm:start on one HTTP client, and does not report a goal canceled when halt fails.
  • fix: spine http_timeout (default 3 s) is only the connect timeout and the budget for short REST. motion-mm:start uses (http_timeout, 600 s) so a long move is not aborted by the short read; the motion lock stays held until that POST returns.
  • refactor: spine REST wire strings live in SpineStatus (DS402 states) and SpineMotion (Finished).
  • fix: move_absolute no longer surfaces HTTP 424 when the spine is not SwitchedOn. It checks state first and reports e.g. Cannot start motion: spine is SwitchedOff (expected SwitchedOn).

v2.7.0 (2026-08-14) ----------

  • feat: add TMR battery ROS 2 support in franka_mobile (sensor_msgs/BatteryState topic at 1 Hz and std_srvs/Trigger services for wireless charging), with an internal franka_desk_api HTTPS helper used by the spine and battery clients.

  • fix: franka_hardware tests now run in isolated ROS domains to avoid possible collisions.

  • fix: fixed franka_hardware stop motion test to check for stopping_joint_positions matching the last

    commanded target instead of zero positions.

v2.6.0 (2026-08-10)

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

  • fix: tune mobile teleop velocity/acceleration limits to stay within the RCU 2-norm bounds. Raise swerve translational limits to 0.35 m/s / 0.4 m/s\^2 and rotational to 0.5 rad/s / 0.3 rad/s\^2 in controllers.yaml, rescale the xbox normal/turbo axes in xbox.config.yaml to match max_velocity, and reduce the joystick deadzone (0.1) with a higher autorepeat rate (50 Hz) in mobile_teleop.launch.py for smoother teleop.
  • test: add a no-hardware integration test suite: a fake-hardware FR3 controller-lifecycle test, a Joy→cmd_vel teleop test, a launch-file parsing test, a MoveIt planning smoke test with a gripper name-consistency check, and a single GTest that loads every example controller. moveit.launch.py gains a use_rviz argument so the smoke test can run headless. The CI test stage now selects franka_bringup, which the package filter had excluded, so its tests are executed rather than only built.
  • fix: align MoveIt gripper controller name with actual gripper node name. fr3_controllers.yaml and moveit.launch.py referenced fr3_gripper but the node is launched as franka_gripper, breaking gripper action commands and joint state aggregation in MoveIt. (GitHub PR #206)
  • fix: add missing dependencies in package.xml for isolated builds (rclcpp_components in franka_hardware; rclcpp_lifecycle, urdf, eigen in franka_semantic_components). Fixes rosdep-based fresh-environment builds. (community contribution: GitHub PRs #96, #169)
  • refactor: BREAKING CHANGE decouple the simulation backend (real/mock/gazebo) from the franka_hardware ros2_control macros (franka_arm and tmrv0_2). The hardware <plugin> block and the gz_ros2_control <gazebo> system element are now injected by the owning package (franka_bringup for real/mock, franka_gazebo_bringup for gazebo) instead of being selected by xacro:if inside franka_hardware. Mode/interface selection moved to the entry-point URDFs as capability flags (include_effort_command, include_finger_joint, include_passive_base), replacing the former gazebo / gazebo_effort flags. URDF expansions remain behavior-equivalent.
  • fix: collapse five duplicate top-level /**: keys in franka_gazebo_bringup's franka_gazebo_controllers.yaml into one. YAML last-key-wins was silently dropping the controller_manager type declarations, blocking the tmr gazebo launch.

v2.5.1 (2026-07-07)

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

* feat: add tmr launch file in franka bringup and use it for the mobile teleop launch file Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • feat: franka_gazebo: add robot model, full franka::RobotState and estimated external-wrench (tcp force/torque) state interfaces to the gz_ros2_control system plugin, so model-based and force/torque controllers activate in simulation like on hardware. The plugin is renamed franka_gazebo_hardware/FrankaGazeboHardwareInterface.
  • fix: franka_hardware: set the gz_ros2_control plugin <ros><namespace> for the mobile robot (tmrv0_2) so the controller_manager comes up in the /mobile_base namespace and

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.7.1
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-09-01
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.7.1 (2026-09-01) ----------

  • fix: spine ~/halt and move_absolute cancel did not stop the carriage. halt_motion() posted to /spine/api/motion:halt, which the device does not implement (404). It now uses motion:quick-stop, re-arms to SwitchedOn after the DS402 stop, overlaps halt and feedback with the blocking motion-mm:start on one HTTP client, and does not report a goal canceled when halt fails.
  • fix: spine http_timeout (default 3 s) is only the connect timeout and the budget for short REST. motion-mm:start uses (http_timeout, 600 s) so a long move is not aborted by the short read; the motion lock stays held until that POST returns.
  • refactor: spine REST wire strings live in SpineStatus (DS402 states) and SpineMotion (Finished).
  • fix: move_absolute no longer surfaces HTTP 424 when the spine is not SwitchedOn. It checks state first and reports e.g. Cannot start motion: spine is SwitchedOff (expected SwitchedOn).

v2.7.0 (2026-08-14) ----------

  • feat: add TMR battery ROS 2 support in franka_mobile (sensor_msgs/BatteryState topic at 1 Hz and std_srvs/Trigger services for wireless charging), with an internal franka_desk_api HTTPS helper used by the spine and battery clients.

  • fix: franka_hardware tests now run in isolated ROS domains to avoid possible collisions.

  • fix: fixed franka_hardware stop motion test to check for stopping_joint_positions matching the last

    commanded target instead of zero positions.

v2.6.0 (2026-08-10)

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

  • fix: tune mobile teleop velocity/acceleration limits to stay within the RCU 2-norm bounds. Raise swerve translational limits to 0.35 m/s / 0.4 m/s\^2 and rotational to 0.5 rad/s / 0.3 rad/s\^2 in controllers.yaml, rescale the xbox normal/turbo axes in xbox.config.yaml to match max_velocity, and reduce the joystick deadzone (0.1) with a higher autorepeat rate (50 Hz) in mobile_teleop.launch.py for smoother teleop.
  • test: add a no-hardware integration test suite: a fake-hardware FR3 controller-lifecycle test, a Joy→cmd_vel teleop test, a launch-file parsing test, a MoveIt planning smoke test with a gripper name-consistency check, and a single GTest that loads every example controller. moveit.launch.py gains a use_rviz argument so the smoke test can run headless. The CI test stage now selects franka_bringup, which the package filter had excluded, so its tests are executed rather than only built.
  • fix: align MoveIt gripper controller name with actual gripper node name. fr3_controllers.yaml and moveit.launch.py referenced fr3_gripper but the node is launched as franka_gripper, breaking gripper action commands and joint state aggregation in MoveIt. (GitHub PR #206)
  • fix: add missing dependencies in package.xml for isolated builds (rclcpp_components in franka_hardware; rclcpp_lifecycle, urdf, eigen in franka_semantic_components). Fixes rosdep-based fresh-environment builds. (community contribution: GitHub PRs #96, #169)
  • refactor: BREAKING CHANGE decouple the simulation backend (real/mock/gazebo) from the franka_hardware ros2_control macros (franka_arm and tmrv0_2). The hardware <plugin> block and the gz_ros2_control <gazebo> system element are now injected by the owning package (franka_bringup for real/mock, franka_gazebo_bringup for gazebo) instead of being selected by xacro:if inside franka_hardware. Mode/interface selection moved to the entry-point URDFs as capability flags (include_effort_command, include_finger_joint, include_passive_base), replacing the former gazebo / gazebo_effort flags. URDF expansions remain behavior-equivalent.
  • fix: collapse five duplicate top-level /**: keys in franka_gazebo_bringup's franka_gazebo_controllers.yaml into one. YAML last-key-wins was silently dropping the controller_manager type declarations, blocking the tmr gazebo launch.

v2.5.1 (2026-07-07)

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

* feat: add tmr launch file in franka bringup and use it for the mobile teleop launch file Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • feat: franka_gazebo: add robot model, full franka::RobotState and estimated external-wrench (tcp force/torque) state interfaces to the gz_ros2_control system plugin, so model-based and force/torque controllers activate in simulation like on hardware. The plugin is renamed franka_gazebo_hardware/FrankaGazeboHardwareInterface.
  • fix: franka_hardware: set the gz_ros2_control plugin <ros><namespace> for the mobile robot (tmrv0_2) so the controller_manager comes up in the /mobile_base namespace and

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.7.1
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-09-01
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.7.1 (2026-09-01) ----------

  • fix: spine ~/halt and move_absolute cancel did not stop the carriage. halt_motion() posted to /spine/api/motion:halt, which the device does not implement (404). It now uses motion:quick-stop, re-arms to SwitchedOn after the DS402 stop, overlaps halt and feedback with the blocking motion-mm:start on one HTTP client, and does not report a goal canceled when halt fails.
  • fix: spine http_timeout (default 3 s) is only the connect timeout and the budget for short REST. motion-mm:start uses (http_timeout, 600 s) so a long move is not aborted by the short read; the motion lock stays held until that POST returns.
  • refactor: spine REST wire strings live in SpineStatus (DS402 states) and SpineMotion (Finished).
  • fix: move_absolute no longer surfaces HTTP 424 when the spine is not SwitchedOn. It checks state first and reports e.g. Cannot start motion: spine is SwitchedOff (expected SwitchedOn).

v2.7.0 (2026-08-14) ----------

  • feat: add TMR battery ROS 2 support in franka_mobile (sensor_msgs/BatteryState topic at 1 Hz and std_srvs/Trigger services for wireless charging), with an internal franka_desk_api HTTPS helper used by the spine and battery clients.

  • fix: franka_hardware tests now run in isolated ROS domains to avoid possible collisions.

  • fix: fixed franka_hardware stop motion test to check for stopping_joint_positions matching the last

    commanded target instead of zero positions.

v2.6.0 (2026-08-10)

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

  • fix: tune mobile teleop velocity/acceleration limits to stay within the RCU 2-norm bounds. Raise swerve translational limits to 0.35 m/s / 0.4 m/s\^2 and rotational to 0.5 rad/s / 0.3 rad/s\^2 in controllers.yaml, rescale the xbox normal/turbo axes in xbox.config.yaml to match max_velocity, and reduce the joystick deadzone (0.1) with a higher autorepeat rate (50 Hz) in mobile_teleop.launch.py for smoother teleop.
  • test: add a no-hardware integration test suite: a fake-hardware FR3 controller-lifecycle test, a Joy→cmd_vel teleop test, a launch-file parsing test, a MoveIt planning smoke test with a gripper name-consistency check, and a single GTest that loads every example controller. moveit.launch.py gains a use_rviz argument so the smoke test can run headless. The CI test stage now selects franka_bringup, which the package filter had excluded, so its tests are executed rather than only built.
  • fix: align MoveIt gripper controller name with actual gripper node name. fr3_controllers.yaml and moveit.launch.py referenced fr3_gripper but the node is launched as franka_gripper, breaking gripper action commands and joint state aggregation in MoveIt. (GitHub PR #206)
  • fix: add missing dependencies in package.xml for isolated builds (rclcpp_components in franka_hardware; rclcpp_lifecycle, urdf, eigen in franka_semantic_components). Fixes rosdep-based fresh-environment builds. (community contribution: GitHub PRs #96, #169)
  • refactor: BREAKING CHANGE decouple the simulation backend (real/mock/gazebo) from the franka_hardware ros2_control macros (franka_arm and tmrv0_2). The hardware <plugin> block and the gz_ros2_control <gazebo> system element are now injected by the owning package (franka_bringup for real/mock, franka_gazebo_bringup for gazebo) instead of being selected by xacro:if inside franka_hardware. Mode/interface selection moved to the entry-point URDFs as capability flags (include_effort_command, include_finger_joint, include_passive_base), replacing the former gazebo / gazebo_effort flags. URDF expansions remain behavior-equivalent.
  • fix: collapse five duplicate top-level /**: keys in franka_gazebo_bringup's franka_gazebo_controllers.yaml into one. YAML last-key-wins was silently dropping the controller_manager type declarations, blocking the tmr gazebo launch.

v2.5.1 (2026-07-07)

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

* feat: add tmr launch file in franka bringup and use it for the mobile teleop launch file Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • feat: franka_gazebo: add robot model, full franka::RobotState and estimated external-wrench (tcp force/torque) state interfaces to the gz_ros2_control system plugin, so model-based and force/torque controllers activate in simulation like on hardware. The plugin is renamed franka_gazebo_hardware/FrankaGazeboHardwareInterface.
  • fix: franka_hardware: set the gz_ros2_control plugin <ros><namespace> for the mobile robot (tmrv0_2) so the controller_manager comes up in the /mobile_base namespace and

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.7.1
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-09-01
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.7.1 (2026-09-01) ----------

  • fix: spine ~/halt and move_absolute cancel did not stop the carriage. halt_motion() posted to /spine/api/motion:halt, which the device does not implement (404). It now uses motion:quick-stop, re-arms to SwitchedOn after the DS402 stop, overlaps halt and feedback with the blocking motion-mm:start on one HTTP client, and does not report a goal canceled when halt fails.
  • fix: spine http_timeout (default 3 s) is only the connect timeout and the budget for short REST. motion-mm:start uses (http_timeout, 600 s) so a long move is not aborted by the short read; the motion lock stays held until that POST returns.
  • refactor: spine REST wire strings live in SpineStatus (DS402 states) and SpineMotion (Finished).
  • fix: move_absolute no longer surfaces HTTP 424 when the spine is not SwitchedOn. It checks state first and reports e.g. Cannot start motion: spine is SwitchedOff (expected SwitchedOn).

v2.7.0 (2026-08-14) ----------

  • feat: add TMR battery ROS 2 support in franka_mobile (sensor_msgs/BatteryState topic at 1 Hz and std_srvs/Trigger services for wireless charging), with an internal franka_desk_api HTTPS helper used by the spine and battery clients.

  • fix: franka_hardware tests now run in isolated ROS domains to avoid possible collisions.

  • fix: fixed franka_hardware stop motion test to check for stopping_joint_positions matching the last

    commanded target instead of zero positions.

v2.6.0 (2026-08-10)

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

  • fix: tune mobile teleop velocity/acceleration limits to stay within the RCU 2-norm bounds. Raise swerve translational limits to 0.35 m/s / 0.4 m/s\^2 and rotational to 0.5 rad/s / 0.3 rad/s\^2 in controllers.yaml, rescale the xbox normal/turbo axes in xbox.config.yaml to match max_velocity, and reduce the joystick deadzone (0.1) with a higher autorepeat rate (50 Hz) in mobile_teleop.launch.py for smoother teleop.
  • test: add a no-hardware integration test suite: a fake-hardware FR3 controller-lifecycle test, a Joy→cmd_vel teleop test, a launch-file parsing test, a MoveIt planning smoke test with a gripper name-consistency check, and a single GTest that loads every example controller. moveit.launch.py gains a use_rviz argument so the smoke test can run headless. The CI test stage now selects franka_bringup, which the package filter had excluded, so its tests are executed rather than only built.
  • fix: align MoveIt gripper controller name with actual gripper node name. fr3_controllers.yaml and moveit.launch.py referenced fr3_gripper but the node is launched as franka_gripper, breaking gripper action commands and joint state aggregation in MoveIt. (GitHub PR #206)
  • fix: add missing dependencies in package.xml for isolated builds (rclcpp_components in franka_hardware; rclcpp_lifecycle, urdf, eigen in franka_semantic_components). Fixes rosdep-based fresh-environment builds. (community contribution: GitHub PRs #96, #169)
  • refactor: BREAKING CHANGE decouple the simulation backend (real/mock/gazebo) from the franka_hardware ros2_control macros (franka_arm and tmrv0_2). The hardware <plugin> block and the gz_ros2_control <gazebo> system element are now injected by the owning package (franka_bringup for real/mock, franka_gazebo_bringup for gazebo) instead of being selected by xacro:if inside franka_hardware. Mode/interface selection moved to the entry-point URDFs as capability flags (include_effort_command, include_finger_joint, include_passive_base), replacing the former gazebo / gazebo_effort flags. URDF expansions remain behavior-equivalent.
  • fix: collapse five duplicate top-level /**: keys in franka_gazebo_bringup's franka_gazebo_controllers.yaml into one. YAML last-key-wins was silently dropping the controller_manager type declarations, blocking the tmr gazebo launch.

v2.5.1 (2026-07-07)

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

* feat: add tmr launch file in franka bringup and use it for the mobile teleop launch file Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • feat: franka_gazebo: add robot model, full franka::RobotState and estimated external-wrench (tcp force/torque) state interfaces to the gz_ros2_control system plugin, so model-based and force/torque controllers activate in simulation like on hardware. The plugin is renamed franka_gazebo_hardware/FrankaGazeboHardwareInterface.
  • fix: franka_hardware: set the gz_ros2_control plugin <ros><namespace> for the mobile robot (tmrv0_2) so the controller_manager comes up in the /mobile_base namespace and

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.7.1
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-09-01
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.7.1 (2026-09-01) ----------

  • fix: spine ~/halt and move_absolute cancel did not stop the carriage. halt_motion() posted to /spine/api/motion:halt, which the device does not implement (404). It now uses motion:quick-stop, re-arms to SwitchedOn after the DS402 stop, overlaps halt and feedback with the blocking motion-mm:start on one HTTP client, and does not report a goal canceled when halt fails.
  • fix: spine http_timeout (default 3 s) is only the connect timeout and the budget for short REST. motion-mm:start uses (http_timeout, 600 s) so a long move is not aborted by the short read; the motion lock stays held until that POST returns.
  • refactor: spine REST wire strings live in SpineStatus (DS402 states) and SpineMotion (Finished).
  • fix: move_absolute no longer surfaces HTTP 424 when the spine is not SwitchedOn. It checks state first and reports e.g. Cannot start motion: spine is SwitchedOff (expected SwitchedOn).

v2.7.0 (2026-08-14) ----------

  • feat: add TMR battery ROS 2 support in franka_mobile (sensor_msgs/BatteryState topic at 1 Hz and std_srvs/Trigger services for wireless charging), with an internal franka_desk_api HTTPS helper used by the spine and battery clients.

  • fix: franka_hardware tests now run in isolated ROS domains to avoid possible collisions.

  • fix: fixed franka_hardware stop motion test to check for stopping_joint_positions matching the last

    commanded target instead of zero positions.

v2.6.0 (2026-08-10)

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

  • fix: tune mobile teleop velocity/acceleration limits to stay within the RCU 2-norm bounds. Raise swerve translational limits to 0.35 m/s / 0.4 m/s\^2 and rotational to 0.5 rad/s / 0.3 rad/s\^2 in controllers.yaml, rescale the xbox normal/turbo axes in xbox.config.yaml to match max_velocity, and reduce the joystick deadzone (0.1) with a higher autorepeat rate (50 Hz) in mobile_teleop.launch.py for smoother teleop.
  • test: add a no-hardware integration test suite: a fake-hardware FR3 controller-lifecycle test, a Joy→cmd_vel teleop test, a launch-file parsing test, a MoveIt planning smoke test with a gripper name-consistency check, and a single GTest that loads every example controller. moveit.launch.py gains a use_rviz argument so the smoke test can run headless. The CI test stage now selects franka_bringup, which the package filter had excluded, so its tests are executed rather than only built.
  • fix: align MoveIt gripper controller name with actual gripper node name. fr3_controllers.yaml and moveit.launch.py referenced fr3_gripper but the node is launched as franka_gripper, breaking gripper action commands and joint state aggregation in MoveIt. (GitHub PR #206)
  • fix: add missing dependencies in package.xml for isolated builds (rclcpp_components in franka_hardware; rclcpp_lifecycle, urdf, eigen in franka_semantic_components). Fixes rosdep-based fresh-environment builds. (community contribution: GitHub PRs #96, #169)
  • refactor: BREAKING CHANGE decouple the simulation backend (real/mock/gazebo) from the franka_hardware ros2_control macros (franka_arm and tmrv0_2). The hardware <plugin> block and the gz_ros2_control <gazebo> system element are now injected by the owning package (franka_bringup for real/mock, franka_gazebo_bringup for gazebo) instead of being selected by xacro:if inside franka_hardware. Mode/interface selection moved to the entry-point URDFs as capability flags (include_effort_command, include_finger_joint, include_passive_base), replacing the former gazebo / gazebo_effort flags. URDF expansions remain behavior-equivalent.
  • fix: collapse five duplicate top-level /**: keys in franka_gazebo_bringup's franka_gazebo_controllers.yaml into one. YAML last-key-wins was silently dropping the controller_manager type declarations, blocking the tmr gazebo launch.

v2.5.1 (2026-07-07)

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

* feat: add tmr launch file in franka bringup and use it for the mobile teleop launch file Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • feat: franka_gazebo: add robot model, full franka::RobotState and estimated external-wrench (tcp force/torque) state interfaces to the gz_ros2_control system plugin, so model-based and force/torque controllers activate in simulation like on hardware. The plugin is renamed franka_gazebo_hardware/FrankaGazeboHardwareInterface.
  • fix: franka_hardware: set the gz_ros2_control plugin <ros><namespace> for the mobile robot (tmrv0_2) so the controller_manager comes up in the /mobile_base namespace and

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.7.1
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-09-01
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.7.1 (2026-09-01) ----------

  • fix: spine ~/halt and move_absolute cancel did not stop the carriage. halt_motion() posted to /spine/api/motion:halt, which the device does not implement (404). It now uses motion:quick-stop, re-arms to SwitchedOn after the DS402 stop, overlaps halt and feedback with the blocking motion-mm:start on one HTTP client, and does not report a goal canceled when halt fails.
  • fix: spine http_timeout (default 3 s) is only the connect timeout and the budget for short REST. motion-mm:start uses (http_timeout, 600 s) so a long move is not aborted by the short read; the motion lock stays held until that POST returns.
  • refactor: spine REST wire strings live in SpineStatus (DS402 states) and SpineMotion (Finished).
  • fix: move_absolute no longer surfaces HTTP 424 when the spine is not SwitchedOn. It checks state first and reports e.g. Cannot start motion: spine is SwitchedOff (expected SwitchedOn).

v2.7.0 (2026-08-14) ----------

  • feat: add TMR battery ROS 2 support in franka_mobile (sensor_msgs/BatteryState topic at 1 Hz and std_srvs/Trigger services for wireless charging), with an internal franka_desk_api HTTPS helper used by the spine and battery clients.

  • fix: franka_hardware tests now run in isolated ROS domains to avoid possible collisions.

  • fix: fixed franka_hardware stop motion test to check for stopping_joint_positions matching the last

    commanded target instead of zero positions.

v2.6.0 (2026-08-10)

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

  • fix: tune mobile teleop velocity/acceleration limits to stay within the RCU 2-norm bounds. Raise swerve translational limits to 0.35 m/s / 0.4 m/s\^2 and rotational to 0.5 rad/s / 0.3 rad/s\^2 in controllers.yaml, rescale the xbox normal/turbo axes in xbox.config.yaml to match max_velocity, and reduce the joystick deadzone (0.1) with a higher autorepeat rate (50 Hz) in mobile_teleop.launch.py for smoother teleop.
  • test: add a no-hardware integration test suite: a fake-hardware FR3 controller-lifecycle test, a Joy→cmd_vel teleop test, a launch-file parsing test, a MoveIt planning smoke test with a gripper name-consistency check, and a single GTest that loads every example controller. moveit.launch.py gains a use_rviz argument so the smoke test can run headless. The CI test stage now selects franka_bringup, which the package filter had excluded, so its tests are executed rather than only built.
  • fix: align MoveIt gripper controller name with actual gripper node name. fr3_controllers.yaml and moveit.launch.py referenced fr3_gripper but the node is launched as franka_gripper, breaking gripper action commands and joint state aggregation in MoveIt. (GitHub PR #206)
  • fix: add missing dependencies in package.xml for isolated builds (rclcpp_components in franka_hardware; rclcpp_lifecycle, urdf, eigen in franka_semantic_components). Fixes rosdep-based fresh-environment builds. (community contribution: GitHub PRs #96, #169)
  • refactor: BREAKING CHANGE decouple the simulation backend (real/mock/gazebo) from the franka_hardware ros2_control macros (franka_arm and tmrv0_2). The hardware <plugin> block and the gz_ros2_control <gazebo> system element are now injected by the owning package (franka_bringup for real/mock, franka_gazebo_bringup for gazebo) instead of being selected by xacro:if inside franka_hardware. Mode/interface selection moved to the entry-point URDFs as capability flags (include_effort_command, include_finger_joint, include_passive_base), replacing the former gazebo / gazebo_effort flags. URDF expansions remain behavior-equivalent.
  • fix: collapse five duplicate top-level /**: keys in franka_gazebo_bringup's franka_gazebo_controllers.yaml into one. YAML last-key-wins was silently dropping the controller_manager type declarations, blocking the tmr gazebo launch.

v2.5.1 (2026-07-07)

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

* feat: add tmr launch file in franka bringup and use it for the mobile teleop launch file Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • feat: franka_gazebo: add robot model, full franka::RobotState and estimated external-wrench (tcp force/torque) state interfaces to the gz_ros2_control system plugin, so model-based and force/torque controllers activate in simulation like on hardware. The plugin is renamed franka_gazebo_hardware/FrankaGazeboHardwareInterface.
  • fix: franka_hardware: set the gz_ros2_control plugin <ros><namespace> for the mobile robot (tmrv0_2) so the controller_manager comes up in the /mobile_base namespace and

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.7.1
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-09-01
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.7.1 (2026-09-01) ----------

  • fix: spine ~/halt and move_absolute cancel did not stop the carriage. halt_motion() posted to /spine/api/motion:halt, which the device does not implement (404). It now uses motion:quick-stop, re-arms to SwitchedOn after the DS402 stop, overlaps halt and feedback with the blocking motion-mm:start on one HTTP client, and does not report a goal canceled when halt fails.
  • fix: spine http_timeout (default 3 s) is only the connect timeout and the budget for short REST. motion-mm:start uses (http_timeout, 600 s) so a long move is not aborted by the short read; the motion lock stays held until that POST returns.
  • refactor: spine REST wire strings live in SpineStatus (DS402 states) and SpineMotion (Finished).
  • fix: move_absolute no longer surfaces HTTP 424 when the spine is not SwitchedOn. It checks state first and reports e.g. Cannot start motion: spine is SwitchedOff (expected SwitchedOn).

v2.7.0 (2026-08-14) ----------

  • feat: add TMR battery ROS 2 support in franka_mobile (sensor_msgs/BatteryState topic at 1 Hz and std_srvs/Trigger services for wireless charging), with an internal franka_desk_api HTTPS helper used by the spine and battery clients.

  • fix: franka_hardware tests now run in isolated ROS domains to avoid possible collisions.

  • fix: fixed franka_hardware stop motion test to check for stopping_joint_positions matching the last

    commanded target instead of zero positions.

v2.6.0 (2026-08-10)

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

  • fix: tune mobile teleop velocity/acceleration limits to stay within the RCU 2-norm bounds. Raise swerve translational limits to 0.35 m/s / 0.4 m/s\^2 and rotational to 0.5 rad/s / 0.3 rad/s\^2 in controllers.yaml, rescale the xbox normal/turbo axes in xbox.config.yaml to match max_velocity, and reduce the joystick deadzone (0.1) with a higher autorepeat rate (50 Hz) in mobile_teleop.launch.py for smoother teleop.
  • test: add a no-hardware integration test suite: a fake-hardware FR3 controller-lifecycle test, a Joy→cmd_vel teleop test, a launch-file parsing test, a MoveIt planning smoke test with a gripper name-consistency check, and a single GTest that loads every example controller. moveit.launch.py gains a use_rviz argument so the smoke test can run headless. The CI test stage now selects franka_bringup, which the package filter had excluded, so its tests are executed rather than only built.
  • fix: align MoveIt gripper controller name with actual gripper node name. fr3_controllers.yaml and moveit.launch.py referenced fr3_gripper but the node is launched as franka_gripper, breaking gripper action commands and joint state aggregation in MoveIt. (GitHub PR #206)
  • fix: add missing dependencies in package.xml for isolated builds (rclcpp_components in franka_hardware; rclcpp_lifecycle, urdf, eigen in franka_semantic_components). Fixes rosdep-based fresh-environment builds. (community contribution: GitHub PRs #96, #169)
  • refactor: BREAKING CHANGE decouple the simulation backend (real/mock/gazebo) from the franka_hardware ros2_control macros (franka_arm and tmrv0_2). The hardware <plugin> block and the gz_ros2_control <gazebo> system element are now injected by the owning package (franka_bringup for real/mock, franka_gazebo_bringup for gazebo) instead of being selected by xacro:if inside franka_hardware. Mode/interface selection moved to the entry-point URDFs as capability flags (include_effort_command, include_finger_joint, include_passive_base), replacing the former gazebo / gazebo_effort flags. URDF expansions remain behavior-equivalent.
  • fix: collapse five duplicate top-level /**: keys in franka_gazebo_bringup's franka_gazebo_controllers.yaml into one. YAML last-key-wins was silently dropping the controller_manager type declarations, blocking the tmr gazebo launch.

v2.5.1 (2026-07-07)

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

* feat: add tmr launch file in franka bringup and use it for the mobile teleop launch file Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Humble

  • feat: franka_gazebo: add robot model, full franka::RobotState and estimated external-wrench (tcp force/torque) state interfaces to the gz_ros2_control system plugin, so model-based and force/torque controllers activate in simulation like on hardware. The plugin is renamed franka_gazebo_hardware/FrankaGazeboHardwareInterface.
  • fix: franka_hardware: set the gz_ros2_control plugin <ros><namespace> for the mobile robot (tmrv0_2) so the controller_manager comes up in the /mobile_base namespace and

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