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-Hamrouni
  • lbr_description:
    • Decimate collision meshes for faster Gazebo simulation: https://github.com/lbr-stack/lbrfriros2_stack/pull/262 @mhubii
    • Added world link to xacro files (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-Hamrouni
  • lbr_demos_py: Added missing robot name prefix to joint names: https://github.com/lbr-stack/lbrfriros2_stack/pull/259 @Khouloud-Hamrouni
  • lbr_ros2_control: Update deprecated headers https://github.com/lbr-stack/lbrfriros2stack/pull/267, https://github.com/lbr-stack/lbrfriros2stack/pull/269 @mhubii
  • lbr_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.yaml in 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_control now in lbr_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.yaml in 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_control now in lbr_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 Servo
  • lbr_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_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)
  • Added mock hardware to lbr_ros2_control (for simple ros2_control testing 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_msgs renamed to lbr_fri_idl
    • lbr_fri_idl moved to https://github.com/lbr-stack/lbrfriidl (so FRI 1.x and 2.x can be supported)
    • Renamed LBRPositionCommand.msg to LBRJointPositionCommand.msg
    • Added tests to lbr_fri_idl
  • Removed legacy app.launch.py so user interacts through ros2_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 mode position, 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

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_scene
    • planning_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_control integration. The lbr_bringup will serve as single entry point in the future. For now, app_component and app.launch.py are kept
  • Changes to lbr_fri_ros2:

    • Removes logging / parameter interfaces from lbr_fri_ros2 (so lbr_ros2_control serves as single interaction point)
    • Updates legacy app_component in lbr_fri_ros2 for changes. To be depracted in the future
    • Adds force-torque estimator to lbr_fri_ros2
  • 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 of ros2_control default implementation
    • Force-torque now available under /lbr/force_torque_broadcaster/wrench
    • Namespace issues since lbr_controllers.yaml includes namespace in frame_id parameter
    • Adds lbr_fri_ros2 force-torque estimator to lbr_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 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_description and joint_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_control support through command / state interfaces in lbr_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.hpp for 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_config
  • lbr_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_prio parameter

- 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 demo prefix 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 to LBRClient for 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