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
diff_drive_controller
The twist message on
~/cmd_velis now required to be of stamped type (#812).Remove unused parameter
wheels_per_side(#958).Parameters
has_velocity_limits,has_acceleration_limits, andhas_jerk_limitsare removed. Instead, set the respective limits to.NAN. (#1315).Parameters
max_acceleration_reverseandmax_deceleration_reversewere 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
joint_trajectory_controller
Parameter
allow_nonzero_velocity_at_trajectory_endis now per defaultfalse(#834).The parameter
start_with_holdingis 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_deactivatetransition (#962).Empty trajectory messages are discarded (#902).
Action field
error_stringis 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_wraparoundparameter 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 totrue, the last command interface value is used as both the current state and the last commanded state upon activation. When set tofalse, the current state is used for both (#1231).Feed-forward effort trajectories are supported now (#1200).
Parameter
open_loop_controlis replaced byinterpolate_from_desired_stateand 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_termparameter 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_maxandu_clamp_minwas added, allowing users to bound the controller output. * The legacyantiwindupboolean and integral clamp parametersi_clamp_max/i_clamp_minhave been deprecated in favor of the newantiwindup_strategyparameter. Atracking_time_constantparameter has also been introduced to configure the back-calculation strategy. * A newerror_deadbandparameter stops integration when the error is within a specified range.PID state publisher can be turned off or on by using
activate_state_publisherparameter. (#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.0on timeout (#1289).New parameter
reduce_wheel_speed_until_steering_reachedwas added. If set to true, then the wheel speed(s) is reduced until the steering angle has been reached. Only considered ifopen_loop = false(#1314).Ackermann kinematics now supports different wheel tracks for traction and steering axle (#1166).
front_steeringparameter 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).