github frankarobotics/franka_ros2 v3.3.0
franka_ros2 v3.3.0

latest release: v2.4.0
4 hours ago

Requires libfranka >= 0.20.4 and franka_description >= 2.7.0 requires ROS 2 Jazzy

  • feat: Added the spline action server and examples for the Franka Spine

  • chore: refactored gazebo launch files, added integration tests

  • chore: refactored mFR3duo example controller to be gazebo independent by chaining swerve_ik_controller

  • chore: removed vendored controller_manager

  • feat: Added franka_mobile package with swerve_drive_controller (tf and odom support) and swerve_ik_controller for gazebo sim.

  • docu: Maintenance work on documentation

  • feat: add franka_vision_and_manipulation_kit package with urdf descriptions and launch files for the Franka Vision and Manipulation Kit

  • refactor: replace blocking mutex in franka_robot_state_broadcaster with lock-free AsyncBuffer

  • BREAKING CHANGE: franka_robot_state_broadcaster convenience topics are published with best_effort QoS

  • chore: Added a CI job to try backporting jazzy to humble

  • BREAKING CHANGE: franka_robot_state_broadcaster convenience topics are published with best_effort QoS.
    Topics affected: current_pose, stiffness_frame_wrench, and all other convenience topics
    from the broadcaster. Subscribers using the default reliable QoS will no longer receive
    messages. To migrate, set the subscriber QoS to best_effort:

    C++ (rclcpp)

    .. code-block:: cpp

    // Before (default reliable QoS — no longer receives messages):
    auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
    "current_pose", 10, callback);

    // After (best_effort QoS):
    rclcpp::QoS qos(10);
    qos.best_effort();
    auto sub = node->create_subscription<geometry_msgs::msg::PoseStamped>(
    "current_pose", qos, callback);

    Python (rclpy)

    .. code-block:: python

    Before (default reliable QoS — no longer receives messages):

    self.create_subscription(PoseStamped, 'current_pose', callback, 10)

    After (best_effort QoS):

    from rclpy.qos import QoSProfile, ReliabilityPolicy
    qos = QoSProfile(depth=10, reliability=ReliabilityPolicy.BEST_EFFORT)
    self.create_subscription(PoseStamped, 'current_pose', callback, qos)

  • feat: franka_vision_and_manipulation_kit package used in Gazebo to display the sensors of the kit

  • fix: clang-tidy test duration reduced by applying a filter

  • feat: added a gazebo example for fr3 duo using the franka vision and manipulation kit

  • fix: teleop node is publishing correctly if there is no namespace

  • feat: Added moveit support for mobile fr3 duo

  • feat: Updated franka_selfcollision package to support mobile_fr3_duo in addition to fr3_duo

  • fix: resolve segfault caused by ABI mismatch between hardware_interface and controller_manager C++ (rclcpp)

  • chore: Unify ros2_control (Jazzy) sources to avoid ABI mismatches (add ros2_control to dependency.repos so hardware_interface/controller_manager build from the same ABI;
    remove the standalone hardware_interface fork; keep manage_overruns for async hardware components via a small patch auto-applied in franka_entrypoint.sh).
    BREAKING: existing workspaces must be cleaned before rebuilding: rm -rf build/ install/ && colcon build

  • fix: Removed the franka_robot_state_broadcaster while using the TMR

  • fix: With async control, it could happen that the robot_state is teared while publishing. This fix provides a
    lock-free intermediate buffer to allow mutual exclusive robot_state buffer data access.

  • fix: improved integration test reliability

  • chore: Removed the explicit self collision example and added it by default to the fr3 duo and mobile fr3 duo examples

  • fix: make FrankaHardwareInterface error recoverable

  • refactor: FrankaHardwareInterface to use enums for the control mode

  • fix: ActionServers crashing when exception is not caught

  • fix: re-enable franka_gazebo_bringup launch tests with robust gz sim cleanup between tests

Don't miss a new franka_ros2 release

NewReleases is sending notifications on new releases.