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ο
state_interfaces_broadcasterο
π The state_interfaces_broadcaster was added π (#2006).
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).