Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
64e8d94
official jazzy release (#180)
mhubii Nov 18, 2025
f25872d
added safety_controller tag to URDF (#180)
mhubii Nov 21, 2025
4189b16
improved joint limit handling (#180)
mhubii Nov 21, 2025
0a87c2a
fixed typo
mhubii Nov 21, 2025
c076949
updated documentation
mhubii Nov 21, 2025
38d05dd
Merge pull request #309 from lbr-stack/backport-308-to-jazzy
mhubii Nov 21, 2025
c361620
updated action-ros-ci 0.2 -> 0.4
mhubii Nov 21, 2025
540b72d
fixed controller lifecycle (#310)
mhubii Nov 24, 2025
b951a5f
throttle warn stream (#292)
mhubii Nov 24, 2025
195d57d
Merge pull request #312 from lbr-stack/backport-311-to-jazzy
mhubii Nov 24, 2025
3a7ec1e
clamp target twist (#313)
mhubii Nov 28, 2025
2d3e123
stop execution if any joints beyond limit (#314)
mhubii Nov 28, 2025
ba4ac4b
updated documentation (#271)
mhubii Nov 28, 2025
424ca2a
Merge pull request #316 from lbr-stack/backport-315-to-jazzy
mhubii Nov 30, 2025
7a977df
state -> lbr_state (#271)
mhubii Dec 2, 2025
fffada3
return error on_activate when IDLE (#321)
mhubii Dec 2, 2025
0ae2058
fix invalid integration (#320)
mhubii Dec 2, 2025
ee54e46
update changelog (#271, #320, #321)
mhubii Dec 2, 2025
6ad6d11
Merge pull request #323 from lbr-stack/backport-322-to-jazzy
mhubii Dec 2, 2025
8236e2f
resolved backport (#324)
mhubii Dec 2, 2025
5b5e22d
remove ft estimation from system interface (#292)
mhubii Dec 2, 2025
8028876
turn load check on activate configurable (#325)
mhubii Dec 4, 2025
9e5fd86
initial draft for chained wrench estimation (#292)
mhubii Dec 4, 2025
93f6bcb
clarified buffer names
mhubii Dec 5, 2025
00ed924
finished chained wrench interface (#292)
mhubii Dec 5, 2025
e760e21
use of recommended try_publish API (https://github.com/ros-controls/r…
mhubii Dec 5, 2025
8e4febe
added parameter logging
mhubii Dec 5, 2025
901a592
filter forces instead of velocity commands (#327)
mhubii Dec 5, 2025
b571e64
bump version 2.3.0 -> 2.4.0 (#315, #322, #324)
mhubii Dec 6, 2025
5c98046
updated changelog (#315, #322, #324)
mhubii Dec 6, 2025
808bb07
Merge pull request #328 from lbr-stack/backport-324-to-jazzy
mhubii Dec 6, 2025
f3f661c
load controllers from single spawner (#329)
mhubii Dec 8, 2025
ad3b17d
bump version 2.4.0 -> 2.4.1 (#331)
mhubii Dec 8, 2025
c010905
Merge pull request #332 from lbr-stack/backport-331-to-jazzy
mhubii Dec 8, 2025
cbcffd2
added configurable joint limits path (#333)
mhubii Dec 8, 2025
e024e3d
bump version 2.4.1 -> 2.4.2 (#334)
mhubii Dec 8, 2025
22b2b61
Merge pull request #335 from lbr-stack/backport-334-to-jazzy
mhubii Dec 8, 2025
94a65d1
switched to declarative launch files (#338)
mhubii Dec 9, 2025
9518e33
bump version 2.4.2 -> 2.4.3 (#339)
mhubii Dec 9, 2025
60356f8
resolve backport (#339)
mhubii Dec 9, 2025
14ecad8
Merge pull request #340 from lbr-stack/backport-339-to-jazzy
mhubii Dec 9, 2025
e20dbee
introduced new launch argument namespace and change LaunchConfigurati…
thomaskroi1996 Dec 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/backport.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,5 @@ jobs:
uses: korthout/backport-action@v3
with:
label_pattern: ""
target_branches: humble
target_branches: jazzy
merge_commits: skip
2 changes: 1 addition & 1 deletion .github/workflows/build-ubuntu-24.04-fri-1.11.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: ubuntu-24.04-fri-1.11
on:
pull_request:
branches:
- rolling
- jazzy
workflow_dispatch:
schedule:
- cron: "0 0 * * 0"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-ubuntu-24.04-fri-1.14.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: ubuntu-24.04-fri-1.14
on:
pull_request:
branches:
- rolling
- jazzy
workflow_dispatch:
schedule:
- cron: "0 0 * * 0"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-ubuntu-24.04-fri-1.15.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: ubuntu-24.04-fri-1.15
on:
pull_request:
branches:
- rolling
- jazzy
workflow_dispatch:
schedule:
- cron: "0 0 * * 0"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-ubuntu-24.04-fri-1.16.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: ubuntu-24.04-fri-1.16
on:
pull_request:
branches:
- rolling
- jazzy
workflow_dispatch:
schedule:
- cron: "0 0 * * 0"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-ubuntu-24.04-fri-2.5.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: ubuntu-24.04-fri-2.5
on:
pull_request:
branches:
- rolling
- jazzy
workflow_dispatch:
schedule:
- cron: "0 0 * * 0"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-ubuntu-24.04-fri-2.7.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: ubuntu-24.04-fri-2.7
on:
pull_request:
branches:
- rolling
- jazzy
workflow_dispatch:
schedule:
- cron: "0 0 * * 0"
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ jobs:
runs-on: ${{ inputs.os }}
steps:
- uses: ros-tooling/setup-ros@v0.7
- uses: ros-tooling/action-ros-ci@v0.2
- uses: ros-tooling/action-ros-ci@v0.4
with:
package-name: lbr_fri_ros2_stack
target-ros2-distro: rolling
vcs-repo-file-url: https://raw.githubusercontent.com/lbr-stack/lbr_fri_ros2_stack/rolling/lbr_fri_ros2_stack/repos-fri-${{ inputs.fri_version }}.yaml
target-ros2-distro: jazzy
vcs-repo-file-url: https://raw.githubusercontent.com/lbr-stack/lbr_fri_ros2_stack/jazzy/lbr_fri_ros2_stack/repos-fri-${{ inputs.fri_version }}.yaml
74 changes: 66 additions & 8 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,20 +1,78 @@
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Changelog for package LBR FRI ROS 2 Stack
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jazzy v2.3.0 (2025-11-17)
Jazzy v2.4.3 (2025-12-09)
--------------------------
* ``lbr_bringup``: Switched to declarative launch files and removed mixins from launch files: https://github.com/lbr-stack/lbr_fri_ros2_stack/issues/338

Jazzy v2.4.2 (2025-12-08)
--------------------------
* ``lbr_description``: Added ``joint_limits_path`` argument to ``xacro`` files (defaults to KUKA values and user will currently need a custom launch file to configure): https://github.com/lbr-stack/lbr_fri_ros2_stack/issues/333

Jazzy v2.4.1 (2025-12-08)
--------------------------
* ``lbr_bringup``: Run a single ``controller_manager`` ``spawner`` for all controllers: https://github.com/lbr-stack/lbr_fri_ros2_stack/issues/329

Jazzy v2.4.0 (2025-12-06)
--------------------------
This release removes the asynchronous force-torque estimation from the system interface (introduced in https://github.com/lbr-stack/lbr_fri_ros2_stack/releases/tag/humble-v2.2.0)
and instead provides a synchronous estimation in the form of a chainable ROS 2 controller. It further adds some controller updates, API fixes, and safety improvements.

* ``lbr_bringup``: Added new chainable wrench interface controller to ``hardware.launch.py`` and added launch event handler for preceeding controllers
* ``lbr_demos``: Updated topics ``/lbr/state`` -> ``/lbr/lbr_state``
* ``lbr_description``:

* Removed now redundant ``estimated_ft_sensor`` from ``lbr_system_config.yaml`` and removed thus unused ``hardware`` prefix
* Removed all ``hardware`` specifiers from ``lbr_system_interface.xacro``
* ``lbr_fri_ros2``:

* Removed now redundant asynchronous ``lbr_fri_ros2::FTEstimator`` worker (also removed from ``lbr_ros2_control::SystemInterface``)
* Renamed ``lbr_fri_ros::FTEstimatorImpl`` -> ``lbr_fri_ros2::WrenchEstimator``
* Fixed twist clamping bug: https://github.com/lbr-stack/lbr_fri_ros2_stack/issues/313
* ``lbr_ros2_control``:

* Changes to ``lbr_ros2_control::SystemInterface``:

* Removed force-torque estimation from ``lbr_ros2_control::SystemInterface``
* Exit ``on_activate`` in ``lbr_ros2_control::SystemInterface`` with error on ``IDLE``: https://github.com/lbr-stack/lbr_fri_ros2_stack/issues/321
* Changes to controllers:

* ``lbr_ros2_control::EstimatedWrenchInterface``: Added new chainable controller for synchronous force-torque estimation and state interface
* ``lbr_ros2_control::TwistController``: Stop twist controller on any joint limits: https://github.com/lbr-stack/lbr_fri_ros2_stack/issues/314
* ``lbr_ros2_control::LBRStateBroadcaster``:

* ``/lbr/state`` -> ``/lbr/lbr_state`` consistent with https://github.com/lbr-stack/lbr_fri_ros2_stack/pull/271
* Removed deprecated ``trylock()`` from ``lbr_ros2_control::LBRStateBroadcaster``: https://github.com/ros-controls/realtime_tools/pull/323
* ``lbr_ros2_control::AdmittanceController``:

* Fixed missing integration step in the admittance controller: https://github.com/lbr-stack/lbr_fri_ros2_stack/issues/320
* Added an adjustable load data safety tolerance: https://github.com/lbr-stack/lbr_fri_ros2_stack/issues/325
* Replaced veloctiy command filtering with force state filtering: https://github.com/lbr-stack/lbr_fri_ros2_stack/issues/327
* Related pull requests:

* Twist clamping and ``lbr_ros2_control::TwistController`` controller updates: https://github.com/lbr-stack/lbr_fri_ros2_stack/pull/315
* ``lbr_ros2_control::AdmittanceController`` integration step and ``lbr_ros2_control::SystemInterface::on_activate`` exit: https://github.com/lbr-stack/lbr_fri_ros2_stack/pull/322
* ``lbr_ros2_control::SystemInterface`` force-torque estimation removal (including new chainable controller): https://github.com/lbr-stack/lbr_fri_ros2_stack/pull/324

Jazzy v2.3.0 (2025-11-21)
--------------------------
* ``lbr_fri_ros2``:

* Interfaces now default to return by value for simplicity.
* Added a new ``StateGuard`` that tests for load data calibration on activation in compliant control modes and shuts the connection otherwise.
* Interfaces now default to return by value for simplicity.
* Added a new ``StateGuard`` that tests for load data calibration on activation in compliant control modes and shuts the connection otherwise
* Instead of disconnecting on ``CommandGuard`` limits, ``CommandInterfaces`` now execute a neutral command
* ``lbr_description``:

* Updated joint limits (upper / lower) to be 1 degree stricter to avoid hardware limits.
* Added ``safety_controller`` tag to URDF files. Note, in Jazzy this is only utilised when ``enforce_command_limits:=true`` for the controller manager (default configured in ``lbr_controllers.yaml`` here).
* ``lbr_ros2_control``:

* Migrated to Jazzy following guidelines at https://control.ros.org/jazzy/doc/ros2_control/doc/migration.html#migration-of-command-stateinterfaces.
* Migrated to Jazzy following guidelines at https://control.ros.org/jazzy/doc/ros2_control/doc/migration.html#migration-of-command-stateinterfaces
* Removed the default error from ``AdmittanceController`` with the introduction of load data checks. Also now supports the default ``lbr_system_config.yaml``.
* WARN: KUKA's Cartesian impedance controller seems quite prone to singularities, and should thus be used with caution and only in ``T1`` mode.
* WARN: KUKA's Cartesian impedance controller seems quite prone to singularities, and should thus be used with caution and only in ``T1`` mode

* ``LBRWrenchCommandController`` (uses Cartesian impedance) is now a ``ChainableControllerInterface`` to support separate wrench and joint position commands: https://github.com/lbr-stack/lbr_fri_ros2_stack/issues/250
* Future releases will chain the ``LBRTorqueCommandController``, which uses KUKA's joint impedance controller without singularity issues.
* Future releases will chain the ``LBRTorqueCommandController``, which uses KUKA's joint impedance controller without singularity issues
* Topics were updated to reflect the chained controller structure:

* ``/lbr/wrench`` -> ``/lbr/lbr_wrench_command``
Expand Down Expand Up @@ -66,10 +124,10 @@ Humble v2.1.2 (2024-10-18)

Humble v2.1.1 (2024-09-27)
--------------------------
* Adds support for the new Gazebo and removes support for Gazebo Classic (End-of-Life January 2025, refer https://community.gazebosim.org/t/gazebo-classic-end-of-life/2563).
* Adds support for the new Gazebo and removes support for Gazebo Classic (End-of-Life January 2025, refer https://community.gazebosim.org/t/gazebo-classic-end-of-life/2563)

* ``lbr_bringup``: Updated launch files and dependencies.
* ``lbr_description``: Updated ``<gazebo>`` tag to include Gazebo plugin (see https://github.com/ros-controls/gz_ros2_control/tree/humble).
* ``lbr_description``: Updated ``<gazebo>`` tag to include Gazebo plugin (see https://github.com/ros-controls/gz_ros2_control/tree/humble)
* ``lbr_ros2_control``: Changed ``gazebo_ros2_control/GazeboSystem`` -> ``ign_ros2_control/IgnitionSystem```

Humble v2.1.0 (2024-09-10)
Expand Down
4 changes: 2 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ authors:


title: "LBR-Stack: ROS 2 and Python Integration of KUKA FRI for Med and IIWA Robots"
version: 2.3.0
version: 2.4.3
doi: 10.21105/joss.06138
date-released: 2025-03-26
date-released: 2025-12-09
65 changes: 43 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# lbr_fri_ros2_stack
[![License](https://img.shields.io/github/license/lbr-stack/lbr_fri_ros2_stack)](https://github.com/lbr-stack/lbr_fri_ros2_stack/tree/rolling?tab=Apache-2.0-1-ov-file#readme)
[![License](https://img.shields.io/github/license/lbr-stack/lbr_fri_ros2_stack)](https://github.com/lbr-stack/lbr_fri_ros2_stack/tree/jazzy?tab=Apache-2.0-1-ov-file#readme)
[![Documentation Status](https://readthedocs.org/projects/lbr-stack/badge/?version=latest)](https://lbr-stack.readthedocs.io/en/latest/?badge=latest)
[![JOSS](https://joss.theoj.org/papers/c43c82bed833c02503dd47f2637192ef/status.svg)](https://joss.theoj.org/papers/c43c82bed833c02503dd47f2637192ef)
[![Code Style: Black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
Expand All @@ -15,24 +15,32 @@ ROS 2 packages for the KUKA LBR, including communication to the real robot via t
<th align="left" width="25%">LBR Med 14 R820</th>
</tr>
<tr>
<td align="center"><img src="https://raw.githubusercontent.com/lbr-stack/lbr_fri_ros2_stack/rolling/lbr_fri_ros2_stack/doc/img/foxglove/iiwa7_r800.png" alt="LBR IIWA 7 R800"></td>
<td align="center"><img src="https://raw.githubusercontent.com/lbr-stack/lbr_fri_ros2_stack/rolling/lbr_fri_ros2_stack/doc/img/foxglove/iiwa14_r820.png" alt="LBR IIWA 14 R820"></td>
<td align="center"><img src="https://raw.githubusercontent.com/lbr-stack/lbr_fri_ros2_stack/rolling/lbr_fri_ros2_stack/doc/img/foxglove/med7_r800.png" alt="LBR Med 7 R800"></td>
<td align="center"><img src="https://raw.githubusercontent.com/lbr-stack/lbr_fri_ros2_stack/rolling/lbr_fri_ros2_stack/doc/img/foxglove/med14_r820.png" alt="LBR Med 14 R820"></td>
<td align="center">
<img src="https://raw.githubusercontent.com/lbr-stack/lbr_fri_ros2_stack/jazzy/lbr_fri_ros2_stack/doc/img/foxglove/iiwa7_r800.png" alt="LBR IIWA 7 R800">
</td>
<td align="center">
<img src="https://raw.githubusercontent.com/lbr-stack/lbr_fri_ros2_stack/jazzy/lbr_fri_ros2_stack/doc/img/foxglove/iiwa14_r820.png" alt="LBR IIWA 14 R820">
</td>
<td align="center">
<img src="https://raw.githubusercontent.com/lbr-stack/lbr_fri_ros2_stack/jazzy/lbr_fri_ros2_stack/doc/img/foxglove/med7_r800.png" alt="LBR Med 7 R800">
</td>
<td align="center">
<img src="https://raw.githubusercontent.com/lbr-stack/lbr_fri_ros2_stack/jazzy/lbr_fri_ros2_stack/doc/img/foxglove/med14_r820.png" alt="LBR Med 14 R820">
</td>
</tr>
</table>
</body>

## Status
| OS | ROS Distribution | FRI Version | Build Status |
| :------------- | :--------------- | :---------- | :----------- |
| `Ubuntu-24.04` | `rolling` | `1.11` | [![ubuntu-24.04-fri-1.11](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-1.11.yml/badge.svg)](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-1.11.yml) |
| `Ubuntu-24.04` | `rolling` | `1.14` | [![ubuntu-24.04-fri-1.14](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-1.14.yml/badge.svg)](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-1.14.yml) |
| `Ubuntu-24.04` | `rolling` | `1.15` | [![ubuntu-24.04-fri-1.15](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-1.15.yml/badge.svg)](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-1.15.yml) |
| `Ubuntu-24.04` | `rolling` | `1.16` | [![ubuntu-24.04-fri-1.16](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-1.16.yml/badge.svg)](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-1.16.yml) |
| `Ubuntu-24.04` | `rolling` | `2.5` | [![ubuntu-24.04-fri-2.5](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-2.5.yml/badge.svg)](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-2.5.yml) |
| `Ubuntu-24.04` | `rolling` | `2.6` | [![ubuntu-24.04-fri-2.6](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-2.5.yml/badge.svg)](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-2.5.yml) |
| `Ubuntu-24.04` | `rolling` | `2.7` | [![ubuntu-24.04-fri-2.7](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-2.7.yml/badge.svg)](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-2.7.yml) |
| `Ubuntu-24.04` | `jazzy` | `1.11` | [![ubuntu-24.04-fri-1.11](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-1.11.yml/badge.svg)](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-1.11.yml) |
| `Ubuntu-24.04` | `jazzy` | `1.14` | [![ubuntu-24.04-fri-1.14](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-1.14.yml/badge.svg)](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-1.14.yml) |
| `Ubuntu-24.04` | `jazzy` | `1.15` | [![ubuntu-24.04-fri-1.15](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-1.15.yml/badge.svg)](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-1.15.yml) |
| `Ubuntu-24.04` | `jazzy` | `1.16` | [![ubuntu-24.04-fri-1.16](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-1.16.yml/badge.svg)](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-1.16.yml) |
| `Ubuntu-24.04` | `jazzy` | `2.5` | [![ubuntu-24.04-fri-2.5](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-2.5.yml/badge.svg)](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-2.5.yml) |
| `Ubuntu-24.04` | `jazzy` | `2.6` | [![ubuntu-24.04-fri-2.6](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-2.5.yml/badge.svg)](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-2.5.yml) |
| `Ubuntu-24.04` | `jazzy` | `2.7` | [![ubuntu-24.04-fri-2.7](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-2.7.yml/badge.svg)](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-2.7.yml) |

## Documentation
Full documentation available on [Read the Docs](https://lbr-stack.readthedocs.io/en/latest).
Expand All @@ -47,10 +55,10 @@ Full documentation available on [Read the Docs](https://lbr-stack.readthedocs.io
2. Create a workspace, clone, and install dependencies

```shell
source /opt/ros/rolling/setup.bash
source /opt/ros/jazzy/setup.bash
export FRI_CLIENT_VERSION=1.15
mkdir -p lbr-stack/src && cd lbr-stack
vcs import src --input https://raw.githubusercontent.com/lbr-stack/lbr_fri_ros2_stack/rolling/lbr_fri_ros2_stack/repos-fri-${FRI_CLIENT_VERSION}.yaml
vcs import src --input https://raw.githubusercontent.com/lbr-stack/lbr_fri_ros2_stack/jazzy/lbr_fri_ros2_stack/repos-fri-${FRI_CLIENT_VERSION}.yaml
rosdep install --from-paths src -i -r -y
```

Expand Down Expand Up @@ -86,15 +94,28 @@ Full documentation available on [Read the Docs](https://lbr-stack.readthedocs.io
Now, run the [demos](https://lbr-stack.readthedocs.io/en/latest/lbr_fri_ros2_stack/lbr_demos/doc/lbr_demos.html). To get started with the real robot, checkout the [Hardware Setup](https://lbr-stack.readthedocs.io/en/latest/lbr_fri_ros2_stack/lbr_fri_ros2_stack/doc/hardware_setup.html).

## Repositories Using This Project
- [KUKA ROS2 controllers](https://github.com/idra-lab/kuka_lbr_control)A repository for controlling KUKA LBR iiwa and med robots using various control algorithms.
- [KUKA ROS 2 Controllers](https://github.com/idra-lab/kuka_lbr_control): A repository for controlling KUKA LBR IIWA and Med robots using various control algorithms.

<div align="center">

| Kinematics Control | Gravity compensation | Impedance Control |
| :----------------- | :--------------------| :---------------- |
| <img src='https://raw.githubusercontent.com/idra-lab/kuka_lbr_control/main/assets/videos/kin.gif' width=360/> | <img src='https://raw.githubusercontent.com/idra-lab/kuka_lbr_control/main/assets/videos/grav.gif' width=360/> | <img src='https://raw.githubusercontent.com/idra-lab/kuka_lbr_control/main/assets/videos/imp.gif' width=360/> |

</div>
<body>
<table style="width:100%; table-layout:fixed;">
<tr>
<th align="left" width="33%">Kinematics Control</th>
<th align="left" width="33%">Gravity Compensation</th>
<th align="left" width="33%">Impedance Control</th>
</tr>
<tr>
<td align="center">
<img src="https://raw.githubusercontent.com/idra-lab/kuka_lbr_control/main/assets/videos/kin.gif" alt="Kinematics Control">
</td>
<td align="center">
<img src="https://raw.githubusercontent.com/idra-lab/kuka_lbr_control/main/assets/videos/grav.gif" alt="Gravity Compensation">
</td>
<td align="center">
<img src="https://raw.githubusercontent.com/idra-lab/kuka_lbr_control/main/assets/videos/imp.gif" alt="Impedance Control">
</td>
</tr>
</table>
</body>

## Citation
If you enjoyed using this repository for your work, we would really appreciate ❤️ if you could leave a ⭐ and / or cite it, as it helps us to continue offering support.
Expand Down
2 changes: 1 addition & 1 deletion docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ros:rolling-ros-base-jammy
FROM ros:jazzy-ros-base

# change default shell to bash
SHELL ["/bin/bash", "-c"]
Expand Down
2 changes: 1 addition & 1 deletion docker/doc/docker.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ To run the ``lbr_fri_ros2_stack`` in a Docker container, follow the instructions

export FRI_CLIENT_VERSION=1.15 # replace by your FRI client version
mkdir -p lbr-stack/src && cd lbr-stack
vcs import src --input https://raw.githubusercontent.com/lbr-stack/lbr_fri_ros2_stack/rolling/lbr_fri_ros2_stack/repos-fri-${FRI_CLIENT_VERSION}.yaml
vcs import src --input https://raw.githubusercontent.com/lbr-stack/lbr_fri_ros2_stack/jazzy/lbr_fri_ros2_stack/repos-fri-${FRI_CLIENT_VERSION}.yaml

#. Install `Docker <https://docs.docker.com/engine/install/>`_:octicon:`link-external`.

Expand Down
Loading