Releases: lbr-stack/lbr_fri_ros2_stack
Humble-v2.2.0
This release backports new rolling
features to humble
. Following has changed:
- Related PRs:
- #213 and #214
- Joints and links are now prefixed with
lbr_
(i.e. the robot name) - Robot state publisher has no
lbr/
prefix anymore - Asynchronous + deactivateable force-torque estimation from external torques (previously synchronous):
https://github.com/lbr-stack/lbr_fri_ros2_stack/blob/32d8c78f3644576cf1d98e2c2598aa11d3ba1077/lbr_description/ros2_control/lbr_system_config.yaml#L26 - Issue with setting real-time priority fixed
- Modifiable source for
lbr_system_config.yaml
in launch files
- Joints and links are now prefixed with
- #220
- PID on joint position commands replaced by simpler exponential filter (
⚠️ please test your own controls in T1 mode, as they might be affected) - Introduction of twist and admittance controllers, run e.g. with (also see documentation https://lbr-stack.readthedocs.io/en/latest/lbr_fri_ros2_stack/lbr_demos/lbr_demos_advanced_cpp/doc/lbr_demos_advanced_cpp.html#twist-controller):
ros2 launch lbr_bringup hardware.launch.py ctrl:=twist_controller
- Configurations from
lbr_ros2_control
now inlbr_description
(for stand alone URDF use): https://github.com/lbr-stack/lbr_fri_ros2_stack/tree/humble/lbr_description/ros2_control
- PID on joint position commands replaced by simpler exponential filter (
- #213 and #214
Humble-v2.1.2
Adds MoveIt Servo launch and demo usage:
- Documentation: https://lbr-stack.readthedocs.io/en/latest/lbr_fri_ros2_stack/lbr_demos/lbr_moveit/doc/lbr_moveit.html#moveit-servo
lbr_bringup
: New launch mixin and launch file for MoveIt Servolbr_moveit
: New keyboard driver to interface with MoveIt Servo
Humble-v2.1.1
Adds support for the the new Gazebo, removes support for Gazebo Classic (End-of-Life January 2025, see https://community.gazebosim.org/t/gazebo-classic-end-of-life/2563)
gazebo_iiwa_example.mp4
JOSS Archive
This release tags review openjournals/joss-reviews#6138 (comment) for JOSS.
Humble-v2.1.0
- De-couple launch files from
lbr_bringup
for easier customization (breaking change):- Removed
sim:=true / false
argument from launch files in favor of dedicated launch files (since no feature parity between simulation and real robot) - MoveIt and RViz need to be launched separately now
- User can now launch via:
ros2 launch lbr_bringup mock.launch.py
(new: mock system)ros2 launch lbr_bringup hardware.launch.py
(real robot)ros2 launch lbr_bringup gazebo.launch.py
(Gazebo simulation)
- Removed
- Added mock hardware to
lbr_ros2_control
(for simpleros2_control
testing without the need for Gazebo, refer https://control.ros.org/humble/doc/ros2_control/hardware_interface/doc/mock_components_userdoc.html) - Updated documentation
Humble-v2.0.0
This release aims for first class citizen ros2_control
integration, alongside much improved documentation and support for all FRI versions. Documentation: https://lbr-stack.readthedocs.io/en/latest/
Contributors
We would like to highlight and thank all contributors!
- lbr-stack/fri#22: @fredRocs
- lbr-stack/fri#23: @PeterMitrano
- lbr-stack/fri#18: @BoWangFromMars
- lbr-stack/fri#27: @OmidRezayof
- FRI 2.x testing: @liver121888
- #151: @Nicolai-98
- #175: @StephanSchwarz96
- #165 @vazik01
Release Video
final_render.mp4
Breaking Changes
To
- Support a single mode of interaction
- Support all available FRI versions
some breaking changes were made:
- Interface Definition Language (IDL)
lbr_fri_msgs
renamed tolbr_fri_idl
lbr_fri_idl
moved to https://github.com/lbr-stack/lbr_fri_idl (so FRI 1.x and 2.x can be supported)- Renamed
LBRPositionCommand.msg
toLBRJointPositionCommand.msg
- Added tests to
lbr_fri_idl
- Removed legacy
app.launch.py
so user interacts throughros2_control
primarily
Other Improvements
- Matrix testing against multiple FRIs (https://github.com/lbr-stack/fri):
1.11
,1.14
,1.15
,1.16
,2.5
,2.7
- black linting for Python scripts
ros2_control_node
: Read robot description from robot state publisher- Added interface tests for
lbr_fri_ros2
- Massively improved documentation
- Terminal log coloring a la https://github.com/ros-controls/ros2_control/blob/
- The
AsyncClient
is now de-coupled by client command modeposition
,torque
,wrench
(smplifies architecture, improves runtime)- Loads a robot interface through configurations in
lbr_system_parameters.yaml
: https://github.com/lbr-stack/lbr_fri_ros2_stack/blob/519f5203518d8111ec9a98856ba711ce9bad99d0/lbr_ros2_control/config/lbr_system_parameters.yaml#L6 - Documentation: https://lbr-stack.readthedocs.io/en/latest/lbr_fri_ros2_stack/lbr_ros2_control/doc/lbr_ros2_control.html#general
- Loads a robot interface through configurations in
Bug Fixes
- Velocity limit checks in impedance control mode
- Command guard error #175
What is Next
- Fix several pending issues around usability (among others):
- Support for new Gazebo: https://gazebosim.org/
- Ubuntu 24.04 ROS 2 Jazzy support: https://github.com/lbr-stack/lbr_fri_ros2_stack/tree/dev-jazzy
Thank you to everyone who contributed and provided feedback!
Humble-v1.4.3
- Fixes moveit namespace, refer to #154, maps:
planning_scene
->robot_name/planning_scene
planning_scene_world
->robot_name/planning_scene
Humble-v1.4.2
- Fixes cartesian path for move group node with namespace: #133
- Solution @josefinemonnet: moveit/moveit2#2545 (comment)
- Refers to #146
Humble-v1.4.1
Special thanks to @Tianhuanyu.
Humble-v1.4.0
- The general goal of this release is a tighter
ros2_control
integration. Thelbr_bringup
will serve as single entry point in the future. For now,app_component
andapp.launch.py
are kept
force_torque_indicator.mp4
-
Changes to
lbr_fri_ros2
:- Removes logging / parameter interfaces from
lbr_fri_ros2
(solbr_ros2_control
serves as single interaction point) - Updates legacy
app_component
inlbr_fri_ros2
for changes. To be depracted in the future - Adds force-torque estimator to
lbr_fri_ros2
- Removes logging / parameter interfaces from
-
Changes to
lbr_ros2_control
:-
Removes now redundant node from
lbr_ros2_control
-
Adds forward position and forward torque controllers to
lbr_ros2_control
-
Removes estimated force-torque broadcaster from
lbr_ros2_control
in favor ofros2_control
default implementation- Force-torque now available under
/lbr/force_torque_broadcaster/wrench
- Namespace issues since
lbr_controllers.yaml
includes namespace inframe_id
parameter
- Force-torque now available under
-
Adds
lbr_fri_ros2
force-torque estimator tolbr_ros2_control
as sensor -
Adds configurations to
lbr_system_interface.xacro
-
Simplifies
lbr_ros2_control
class names
-
-
/lbr/command/position
topic now under/lbr/command/joint_position
-
Adds this changelog with release notes
-
Refers to #142