Recent Releases of lbr_fri_ros2_stack
lbr_fri_ros2_stack - Humble-v2.2.1
lbr_bringup: Removed static broadcasters from launch files: https://github.com/lbr-stack/lbrfriros2_stack/pull/264 @Khouloud-Hamrounilbr_description:- Decimate collision meshes for faster Gazebo simulation: https://github.com/lbr-stack/lbrfriros2_stack/pull/262 @mhubii
- Added world link to
xacrofiles (fixes robot to Gazebo world): https://github.com/lbr-stack/lbrfriros2_stack/pull/264 @Hydran00, @Khouloud-Hamrouni
lbr_demos_cpp: Added missing robot name prefix to joint names: https://github.com/lbr-stack/lbrfriros2_stack/pull/258 @Khouloud-Hamrounilbr_demos_py: Added missing robot name prefix to joint names: https://github.com/lbr-stack/lbrfriros2_stack/pull/259 @Khouloud-Hamrounilbr_ros2_control: Update deprecated headers https://github.com/lbr-stack/lbrfriros2stack/pull/267, https://github.com/lbr-stack/lbrfriros2stack/pull/269 @mhubiilbr_fri_ros2: Fixes for compliant control modes.- Fixed a bug that wouldn't forward torques / wrenches: https://github.com/lbr-stack/lbrfriros2_stack/pull/233 @Hydran00, @matteodv99tn
- Enforce
open_loop=false(position) for compliant controllers: https://github.com/lbr-stack/lbrfriros2_stack/pull/237 @mhubii, @anselmo-parnada, @Hydran00
lbr_fri_ros2_stack: Repositories file for FRI 2.6: https://github.com/lbr-stack/lbrfriros2_stack/pull/248 @matija9
- C++
Published by mhubii 11 months ago
lbr_fri_ros2_stack - Humble-v2.2.0
This release backports new rolling features to humble. Following has changed:
- Related PRs:
- https://github.com/lbr-stack/lbrfriros2stack/pull/213 and https://github.com/lbr-stack/lbrfriros2stack/pull/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/lbrfriros2stack/blob/32d8c78f3644576cf1d98e2c2598aa11d3ba1077/lbrdescription/ros2control/lbrsystem_config.yaml#L26
- Issue with setting real-time priority fixed
- Modifiable source for
lbr_system_config.yamlin launch files - https://github.com/lbr-stack/lbrfriros2_stack/pull/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/lbrfriros2stack/lbrdemos/lbrdemosadvancedcpp/doc/lbrdemosadvancedcpp.html#twist-controller):
shell ros2 launch lbr_bringup hardware.launch.py ctrl:=twist_controller - Configurations from
lbr_ros2_controlnow inlbr_description(for stand alone URDF use): https://github.com/lbr-stack/lbrfriros2stack/tree/humble/lbrdescription/ros2_control
- C++
Published by mhubii over 1 year ago
lbr_fri_ros2_stack - Humble-v2.2.0
This release backports new rolling features to humble. Following has changed:
- Related PRs:
- https://github.com/lbr-stack/lbrfriros2stack/pull/213 and https://github.com/lbr-stack/lbrfriros2stack/pull/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/lbrfriros2stack/blob/32d8c78f3644576cf1d98e2c2598aa11d3ba1077/lbrdescription/ros2control/lbrsystem_config.yaml#L26
- Issue with setting real-time priority fixed
- Modifiable source for
lbr_system_config.yamlin launch files - https://github.com/lbr-stack/lbrfriros2_stack/pull/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/lbrfriros2stack/lbrdemos/lbrdemosadvancedcpp/doc/lbrdemosadvancedcpp.html#twist-controller):
shell ros2 launch lbr_bringup hardware.launch.py ctrl:=twist_controller - Configurations from
lbr_ros2_controlnow inlbr_description(for stand alone URDF use): https://github.com/lbr-stack/lbrfriros2stack/tree/humble/lbrdescription/ros2_control
- C++
Published by mhubii over 1 year ago
lbr_fri_ros2_stack - Humble-v2.1.2
Adds MoveIt Servo launch and demo usage:
- Documentation: https://lbr-stack.readthedocs.io/en/latest/lbrfriros2stack/lbrdemos/lbrmoveit/doc/lbrmoveit.html#moveit-servo
lbr_bringup: New launch mixin and launch file for MoveIt Servolbr_moveit: New keyboard driver to interface with MoveIt Servo
- C++
Published by mhubii over 1 year ago
lbr_fri_ros2_stack - JOSS Archive
This release tags review https://github.com/openjournals/joss-reviews/issues/6138#issuecomment-1915084224 for JOSS.
- C++
Published by mhubii over 1 year ago
lbr_fri_ros2_stack - 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)
https://github.com/user-attachments/assets/2178d3d4-ffbf-407d-9079-d9b2faa63356
- C++
Published by mhubii over 1 year ago
lbr_fri_ros2_stack - Humble-v2.1.0
- De-couple launch files from
lbr_bringupfor easier customization (breaking change):- Removed
sim:=true / falseargument 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_controltesting without the need for Gazebo, refer https://control.ros.org/humble/doc/ros2control/hardwareinterface/doc/mockcomponentsuserdoc.html) - Updated documentation
- C++
Published by mhubii over 1 year ago
lbr_fri_ros2_stack - 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!
- https://github.com/lbr-stack/fri/pull/22: @fredRocs
- https://github.com/lbr-stack/fri/pull/23: @peterMitrano
- https://github.com/lbr-stack/fri/pull/18: @bowangFromMars
- https://github.com/lbr-stack/fri/pull/27: @OmidRezayof
- FRI 2.x testing: @liver121888
- #151: @Nicolai-98
- #175: @StephanSchwarz96
- #165 @vazik01
Release Video
https://github.com/lbr-stack/lbrfriros2_stack/assets/26366414/08c82f41-54c3-4add-97fa-a5b908448eb6
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_msgsrenamed tolbr_fri_idllbr_fri_idlmoved to https://github.com/lbr-stack/lbrfriidl (so FRI 1.x and 2.x can be supported)- Renamed
LBRPositionCommand.msgtoLBRJointPositionCommand.msg - Added tests to
lbr_fri_idl
- Removed legacy
app.launch.pyso user interacts throughros2_controlprimarily
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
AsyncClientis 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/lbrfriros2stack/blob/519f5203518d8111ec9a98856ba711ce9bad99d0/lbrros2control/config/lbrsystem_parameters.yaml#L6 - Documentation: https://lbr-stack.readthedocs.io/en/latest/lbrfriros2stack/lbrros2control/doc/lbrros2_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):
- MoveIt with multiple robots: #189
- MoveIt servo: #50
- MoveIt via script: #140 (Jazzy onwards)
- Fake hardware, i.e. no Gazebo #193
- MoveIt with Gripper #133
- Launch file clean-up
- Support for new Gazebo: https://gazebosim.org/
- Ubuntu 24.04 ROS 2 Jazzy support: https://github.com/lbr-stack/lbrfriros2_stack/tree/dev-jazzy
Thank you to everyone who contributed and provided feedback!
- C++
Published by mhubii over 1 year ago
lbr_fri_ros2_stack - Humble-v1.4.3
- Fixes moveit namespace, refer to https://github.com/lbr-stack/lbrfriros2_stack/issues/154, maps:
planning_scene->robot_name/planning_sceneplanning_scene_world->robot_name/planning_scene
- C++
Published by mhubii about 2 years ago
lbr_fri_ros2_stack - Humble v1.4.2
- Fixes cartesian path for move group node with namespace: https://github.com/lbr-stack/lbrfriros2_stack/issues/133
- Solution @josefinemonnet: https://github.com/ros-planning/moveit2/issues/2545#issuecomment-1868480168
- Refers to https://github.com/lbr-stack/lbrfriros2_stack/pull/146
- C++
Published by mhubii about 2 years ago
lbr_fri_ros2_stack - Humble v1.4.1
- Fixes the floating base in Gazebo #129
- Refers to #144
Special thanks to @Tianhuanyu.
- C++
Published by mhubii about 2 years ago
lbr_fri_ros2_stack - Humble v1.4.0
- The general goal of this release is a tighter
ros2_controlintegration. Thelbr_bringupwill serve as single entry point in the future. For now,app_componentandapp.launch.pyare kept Changes to
lbr_fri_ros2:- Removes logging / parameter interfaces from
lbr_fri_ros2(solbr_ros2_controlserves as single interaction point) - Updates legacy
app_componentinlbr_fri_ros2for 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_controlin favor ofros2_controldefault implementation - Force-torque now available under
/lbr/force_torque_broadcaster/wrench - Namespace issues since
lbr_controllers.yamlincludes namespace inframe_idparameter - Adds
lbr_fri_ros2force-torque estimator tolbr_ros2_controlas sensor - Adds configurations to
lbr_system_interface.xacro - Simplifies
lbr_ros2_controlclass names
- Removes now redundant node from
/lbr/command/positiontopic now under/lbr/command/joint_positionAdds this changelog with release notes
Refers to https://github.com/lbr-stack/lbrfriros2_stack/pull/142
- C++
Published by mhubii about 2 years ago
lbr_fri_ros2_stack - Humble v1.3.1
What's Changed
- v1.3.0 Gazebo namespace fixes by @mhubii in https://github.com/lbr-stack/lbrfriros2_stack/pull/123
- Fix iiwa ee link by @mhubii in https://github.com/lbr-stack/lbrfriros2_stack/pull/126
- Humble v.1.3.1 by @mhubii in https://github.com/lbr-stack/lbrfriros2_stack/pull/130
Full Changelog: https://github.com/lbr-stack/lbrfriros2_stack/compare/humble-v1.3.0-beta...humble-v1.3.1
Special thanks to @ardiya, @Tianhuanyu, @CarlDegio, @EliasTDam for their contributions.
- C++
Published by mhubii over 2 years ago
lbr_fri_ros2_stack - Humble v1.3.0 beta
- Namespaced
robot_descriptionandjoint_states - De-coupled commands, user will interact through
LBRPositionCommand,LBRTorqueCommand,LBRWrenchCommand - Multi-robot support
- New command / state interfaces in
lbr_fri_ros2 - Topic free
ros2_controlsupport through command / state interfaces inlbr_fri_ros2 - Intraprocess cpp admittance demo
- New app component based on command / state interfaces in
lbr_fri_ros2
Refer to #121
- C++
Published by mhubii over 2 years ago
lbr_fri_ros2_stack - Foxy v1.1.5
- Backport Humble v1.2.5 https://github.com/lbr-stack/lbrfriros2_stack/releases/tag/humble-v1.2.5 to foxy
- Fixes simulation launch #51
- C++
Published by mhubii over 2 years ago
lbr_fri_ros2_stack - Humble v1.2.5
- Updated visualization (STL -> DAE files with materials, might occur dark in Gazebo, caused by lack of light)
- Fixes joint bug in Gazebo
- Improved logging in command guard
- C++
Published by mhubii over 2 years ago
lbr_fri_ros2_stack - Humble v1.2.5
- Updated visualization (STL -> OBJ files with materials, might occur dark in Gazebo, caused by lack of light)
- Fixes joint bug in Gazebo
- Improved logging in command guard
- C++
Published by mhubii over 2 years ago
lbr_fri_ros2_stack - Humble v1.2.4
- Remove robot name from configs and use frame_prefix from robot state publisher instead
- Removed robot name from joint names, e.g.
lbr_A1->A1 - Added PID for asynchronous control rate
- Simplified class names, e.g.
LBRApp->App - Add
utils.hppfor PID and exponential filter
- C++
Published by mhubii over 2 years ago
lbr_fri_ros2_stack - Foxy v1.1.3
Adds Humble v1.2.3 except:
lbr_moveit_configlbr_bringup
- C++
Published by mhubii over 2 years ago
lbr_fri_ros2_stack - Humble v1.2.3
- Utilizes FRI through vendor package for common fri source in lbr-stack
- Addresses some of #85
- Give command guard only logger interface
- Fix open loop bug
- Adds real-time priority via
rt_prioparameter
- C++
Published by mhubii over 2 years ago
lbr_fri_ros2_stack - Humble v1.2.2
- Adds base frame parameter to URDF and launch
- Adds an open loop option to control the robot, which works extremely well
- Updates logo in readme
- Updates joint names to KUKA convention, i.e.
A1,...
- C++
Published by mhubii over 2 years ago
lbr_fri_ros2_stack - Humble v1.2.1
Stack's new home at: https://github.com/lbr-stack
- C++
Published by mhubii over 2 years ago
lbr_fri_ros2_stack - Humble v1.2.0
- Re-introduces MoveIt, refer to #52
- Moves
demoprefix to front for improved package overview - Single node for hardware interface
- Static executors where possible
- Adds plenty documentation
- Introduce
/lbr, i.e. robot name, namespace toLBRClientfor better multi-robot support. Commands / states now e.g. published to/lbr/command//lbr/state - Hardware interface exact limits (stand-alone use has safety-limits)
- Gives command guard a node handle
- C++
Published by mhubii over 2 years ago