You're reading the documentation for an older, but still supported, version of ROS 2. For information on the latest version, please have a look at Kilted.

Release Notes: Humble to Jazzy

This list summarizes the changes between Humble (previous) and Jazzy (current) releases.

admittance_controller

  • Remove robot_description parameter from parameter YAML, because it is not used at all (#963).

  • Added ~/wrench_reference input topic which allows to provide a force-torque offset as WrenchStamped (#1249).

diff_drive_controller

  • The twist message on ~/cmd_vel is now required to be of stamped type (#812).

  • Remove unused parameter wheels_per_side (#958).

  • Parameters has_velocity_limits, has_acceleration_limits, and has_jerk_limits are removed. Instead, set the respective limits to .NAN. (#1315).

  • Parameters max_acceleration_reverse and max_deceleration_reverse were added to configure asymmetric acceleration/deceleration behavior. (#1315).

gripper_action_controller

The effort_controllers/GripperActionController and position_controllers/GripperActionController will be removed. The parallel_gripper_action_controller/GripperActionController should be used instead. (#1652).

chained_filter_controller

  • The chained_filter_controller was added to use generic filter plugins (#1634).

joint_state_broadcaster

  • Make all parameters read-only (the never got re-evaluated after initialization anyways). (#2064)

  • Added parameter publish_dynamic_joint_states to enable/disable publishing of dynamic joint states. (#2064)

joint_trajectory_controller

  • Parameter allow_nonzero_velocity_at_trajectory_end is now per default false (#834).

  • Activate update of dynamic parameters (#761 and #849).

  • The parameter start_with_holding is removed, it now always holds the position at activation (#839).

  • Continue with last trajectory-point on success, instead of hold-position from current state (#842).

  • Add console output for tolerance checks (#932):

    [tolerances]: State tolerances failed for joint 2:
    [tolerances]: Position Error: 0.020046, Position Tolerance: 0.010000
    [trajectory_controllers]: Aborted due goal_time_tolerance exceeding by 1.010000 seconds
    
  • Goals are now cancelled in on_deactivate transition (#962).

  • Empty trajectory messages are discarded (#902).

  • Action field error_string is now filled with meaningful strings (#887).

  • Angle wraparound behavior (continuous joints) was added from the current state to the first segment of the incoming trajectory (#796).

  • The URDF is now parsed for continuous joints and angle wraparound is automatically activated now (#949). angle_wraparound parameter was completely removed.

  • Tolerances sent with the action goal are now processed and used for the action. (#716). For details, see the JointTolerance message:

    The tolerances specify the amount the position, velocity, and
    accelerations can vary from the setpoints.  For example, in the case
    of trajectory control, when the actual position varies beyond
    (desired position + position tolerance), the trajectory goal may
    abort.
    
    There are two special values for tolerances:
     * 0 - The tolerance is unspecified and will remain at whatever the default is
     * -1 - The tolerance is "erased".  If there was a default, the joint will be
            allowed to move without restriction.
    
  • Add the boolean parameter set_last_command_interface_value_as_state_on_activation. When set to true, the last command interface value is used as both the current state and the last commanded state upon activation. When set to false, the current state is used for both (#1231).

  • Feed-forward effort trajectories are supported now (#1200).

  • Parameter open_loop_control is replaced by interpolate_from_desired_state and setting the feedback gains to zero (#1525).

  • The controller now supports the new anti-windup strategy of the PID class, which allows for more flexible control of the anti-windup behavior. (#1759).

  • Fill in 0 velocities and accelerations into point before trajectories if the state interfaces don’t contain velocity / acceleration information, but the trajectory does. This way, the segment up to the first waypoint will use the same interpolation as the rest of the trajectory. (#2043)

mecanum_drive_controller

  • 🚀 The mecanum_drive_controller was added 🎉 (#512).

parallel_gripper_action_controller

The parallel_gripper_action_controller/GripperActionController was added. (#1652).

omni_wheel_drive_controller

  • 🚀 The omni_wheel_drive_controller was added 🎉 (#1535).

pid_controller

  • 🚀 The PID controller was added 🎉 (#434).

  • Add save_i_term parameter to control retention of integral state after re-activation (#1507).

  • The controller now supports the new anti-windup strategy of the PID class, which allows for more flexible control of the anti-windup behavior (#1585). * Output clamping via u_clamp_max and u_clamp_min was added, allowing users to bound the controller output. * The legacy antiwindup boolean and integral clamp parameters i_clamp_max/i_clamp_min have been deprecated in favor of the new antiwindup_strategy parameter. A tracking_time_constant parameter has also been introduced to configure the back-calculation strategy. * A new error_deadband parameter stops integration when the error is within a specified range.

  • PID state publisher can be turned off or on by using activate_state_publisher parameter. (#1823).

steering_controllers_library

  • Changing default int values to double in steering controller’s yaml file. The controllers should now initialize successfully without specifying these parameters (#927).

  • A fix for Ackermann steering odometry was added (#921).

  • Do not reset the steering wheels to 0.0 on timeout (#1289).

  • New parameter reduce_wheel_speed_until_steering_reached was added. If set to true, then the wheel speed(s) is reduced until the steering angle has been reached. Only considered if open_loop = false (#1314).

  • Ackermann kinematics now supports different wheel tracks for traction and steering axle (#1166).

  • front_steering parameter was removed, see migration notes (#1166).

tricycle_controller

  • tricycle_controller now uses generate_parameter_library (#957).

gpio_controllers

  • The GPIO command controller was added 🎉 (#1251).

force_torque_sensor_broadcaster

  • Multiplier support was added. Users can now specify per–axis scaling factors for both force and torque readings, applied after the existing offset logic. (#1647).

  • Added support for filter chains, allowing users to configure a sequence of filter plugins with their parameters. The force/torque sensor readings are filtered sequentially and published on a separate topic.

  • Added support for transforming Wrench messages to a given list of target frames. This is useful when applications need force/torque data in their preferred coordinate frames. (#2021).