Release Notes: Jazzy to Kilted

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

chained_filter_controller

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

state_interfaces_broadcaster

  • πŸš€ The state_interfaces_broadcaster was added πŸŽ‰ (#2006).

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).

imu_sensor_broadcaster

  • IMU sensor broadcaster is now a chainable controller. It supports a calibration by means of a rotation, defined as euler angles, to its target frame. (#1833).

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

  • 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).

  • Scaling support was added in #1191. With this the controller β€œstretches the time” with which it progresses in the trajectory. Scaling can either be set manually or it can be synchronized with the hardware. See Speed scaling for details.

  • 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)

  • Added decelerate-to-stop functionality when a trajectory is canceled or preempted. Instead of immediately holding position, the controller can now smoothly decelerate each joint to a stop using the per-joint max_deceleration_on_cancel parameter. (#2163)

  • When using set_last_command_interface_value_as_state_on_activation, it is no longer required to have state and command for the same interface type (e.g. velocity). With this param set, the JTC state and command will be initialized using a command interface value, if available, and will otherwise fallback to the value read from the state interface. This allows you to have position command and position+velocity state, for example, which previously would have been disallowed (with this param set). (#2294)

omni_wheel_drive_controller

  • πŸš€ The omni_wheel_drive_controller was added πŸŽ‰ (#1535).

pid_controller

  • 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).

  • Added parameter set_current_state_as_first_setpoint (default: true) to set the current state as the first setpoint when the controller is activated, helping to avoid large initial errors and sudden jumps in control output (#2205).

motion_primitives_forward_controller

  • πŸš€ The motion_primitives_forward_controller was added πŸŽ‰ (#1636).

magnetometer_broadcaster

New package to broadcast sensor_msgs/msg/MagneticField from state interfaces defined by the semantic_components::MagneticFieldSensor.