Requires libfranka >= 0.20.4 and franka_description >= 2.8.0 requires ROS 2 Jazzy
-
feat: expose
K_F_ext_hat_KasForceTorqueSensorstate interfaces (force.x/y/z,
torque.x/y/z) on the<arm_prefix><robot_type>_tcpsensor, enabling direct wrench
consumption at control frequency without a topic bridge. -
fix(franka_mobile): enable jerk limiting on the swerve_drive_controller velocity
limiter (linear x/y, angular z) so the commanded base velocity ramps with a bounded
acceleration onset, preventing the firmwarecartesian_motion_generator_velocity_discontinuity
reflex from aborting base motion when switching between whole-body and base-only control.
The rate-limiter timestep is fixed at the nominal 1 kHz control period. -
BREAKING CHANGE: collision_detected topic now uses best_effort QoS (SensorDataQoS);
thread-safe atomics for collision state in example controllers.
Subscribers using the defaultreliableQoS will no longer receive messages.
To migrate, set the subscriber QoS tobest_effort(SensorDataQoS):.. code-block:: cpp
// Before (default reliable QoS — no longer receives messages):
auto sub = node->create_subscription<std_msgs::msg::Bool>(
"collision_detected", 1, callback);// After (best_effort QoS):
auto sub = node->create_subscription<std_msgs::msg::Bool>(
"collision_detected", rclcpp::SensorDataQoS(), callback); -
refactor: Removed the robot_description from launch files - controller_manager gets it natively via topic
-
docu: Added documentation for error recovery after an FCI error.
-
fix: Pinocchios collision detection component dropped the 'fcl/hpp' namespace and only supports now the coal namespace
-
feat: added a model-based gravity-compensation system plugin
(franka_gazebo_hardware::GazeboGravityCompensationSystem) for gz_ros2_control that
injects pinocchio-computed gravity torque on the effort-controlled arm joints, so the
zero-torque example controllers behave in Gazebo as on the real robot (where the master
controller performs gravity compensation) instead of collapsing under gravity. -
chore: restructured the Gazebo support into two packages under the
franka_gazebo/
grouping folder:franka_gazebo_bringup(launch/world/urdf/config assets) and
franka_gazebo_hardware(the gz system plugin). The public launch command
ros2 launch franka_gazebo_bringup <file>is unchanged; the plugin is now referenced as
franka_gazebo_hardware/GazeboGravityCompensationSystem. -
chore: removed the per-link
<gravity>false</gravity>xacro overrides; gravity is now
enabled globally in the Gazebo world. This is engine-independent (the previous approach
relied on a gz-fortress gravity-disable behavior that is not forwarded by some physics
engines). Simulation-only behavior change; no impact on real-robot users. -
feat: hold the mobile platform (
mobile_fr3_duo_v0_2) prismatic
franka_spine_vertical_jointagainst gravity with aspine_joint_trajectory_controller
(JointTrajectoryController on a position command interface) that holds the column at its
initial height.