# KUKA LBR ROS2, MoveIt2, Gazebo Integration

**URL:** <https://discourse.openrobotics.org/t/kuka-lbr-ros2-moveit2-gazebo-integration/22622>\
**Category:** Manipulation\
**Tags:** moveit2\
**Created:** [October 9, 2021, 11:40am UTC](https://discourse.openrobotics.org/t/kuka-lbr-ros2-moveit2-gazebo-integration/22622 "2021-10-09T11:40:23Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![mhubii](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/mhubii/32/20368_2.png) [@mhubii](https://discourse.openrobotics.org/u/mhubii)\
**Post date:** [October 9, 2021, 11:40am UTC](https://discourse.openrobotics.org/t/kuka-lbr-ros2-moveit2-gazebo-integration/22622/1 "2021-10-09T11:40:23Z")

</div>

Hi everyone,

just sharing our integration of the KUKA LBR robots here in the hope someone might find it helpful.

[https://github.com/KCL-BMEIS/lbr\_fri\_ros2\_stack](https://github.com/KCL-BMEIS/lbr_fri_ros2_stack)

The ROS2 control `hardware_interface::SystemInterface` is implemented via the Fast Robot Interface (FRI), which we integrated into the ROS2 build system. Everything is setup for MoveIt2 and for the Gazebo simulation. Supported are iiwa7, iiwa14, med7, med14. This is built for foxy, but it is a work in progress and other branches are to follow.

---

<div class="post-metadata">

**Author:** ![Peter\_Mitrano](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/peter_mitrano/32/6929_2.png) [@Peter\_Mitrano](https://discourse.openrobotics.org/u/Peter_Mitrano)\
**Post date:** [October 9, 2021, 2:47pm UTC](https://discourse.openrobotics.org/t/kuka-lbr-ros2-moveit2-gazebo-integration/22622/2 "2021-10-09T14:47:57Z")

</div>

Very excited to hear about this!

---

<div class="post-metadata">

**Author:** ![Maximilian](https://avatars.discourse-cdn.com/v4/letter/m/d6d6ee/32.png) [@Maximilian](https://discourse.openrobotics.org/u/Maximilian)\
**Post date:** [June 13, 2022, 8:20pm UTC](https://discourse.openrobotics.org/t/kuka-lbr-ros2-moveit2-gazebo-integration/22622/3 "2022-06-13T20:20:05Z")

</div>

Hi, that’s a very nice package thanks a lot. I had a look at the hardware interface and the FRI interface and have a question. Can you guarantee that the FRI communication is ensured in real time independent from how long the controller update phase is. I tried to build a driver myself and have an extra communication tread which runs independently from the control loop. this way I can ensure that no matter how long the controller might take to compute the communication is still running at real time. I am not sure if this is overkill.

Would be very interested what you think

---

<div class="post-metadata">

**Author:** ![destogl](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/destogl/32/7158_2.png) [@destogl](https://discourse.openrobotics.org/u/destogl)\
**Post date:** [July 5, 2022, 9:35pm UTC](https://discourse.openrobotics.org/t/kuka-lbr-ros2-moveit2-gazebo-integration/22622/4 "2022-07-05T21:35:26Z")

</div>

Hi,

as maintainer of ros2\_control I think your approach is good and actually recommended for the most applications. Occasionally, you want to have tighter synchronization between controllers and hardware and use them from one thread. Then you should start thinking about RT-Preempt or other real-time Kernel. (we just have contributions about that to have them more tightly integrated into ros2\_control).

---

<div class="post-metadata">

**Author:** ![mhubii](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/mhubii/32/20368_2.png) [@mhubii](https://discourse.openrobotics.org/u/mhubii)\
**Post date:** [November 30, 2022, 11:06am UTC](https://discourse.openrobotics.org/t/kuka-lbr-ros2-moveit2-gazebo-integration/22622/5 "2022-11-30T11:06:28Z")

</div>

hi Maximilian, the way this package is currently built, the FRI manages the control rate of the ros2\_control\_node. Therefore, if a controller takes too long to compute an update, the communication to the robot will drop. We initially had the communication to the robot run in a separate thread, same as your approach, but found it difficult to synchronize FRI and ros2\_control. Maybe we will revert back to this approach in the future. Did you experience any unsteady motion when running the communication in a separate thread?

---

<div class="post-metadata">

**Author:** ![mhubii](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/mhubii/32/20368_2.png) [@mhubii](https://discourse.openrobotics.org/u/mhubii)\
**Post date:** [December 16, 2022, 6:30pm UTC](https://discourse.openrobotics.org/t/kuka-lbr-ros2-moveit2-gazebo-integration/22622/6 "2022-12-16T18:30:30Z")

</div>

Update: We made significant changes to the [lbr\_fri\_ros2\_stack](https://github.com/KCL-BMEIS/lbr_fri_ros2_stack). Rolling & Humble are now supported. Additionally, the FRI runs now in a separate thread!

---

<div class="post-metadata">

**Author:** ![brettpac](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/brettpac/32/4476_2.png) [@brettpac](https://discourse.openrobotics.org/u/brettpac)\
**Post date:** [December 16, 2022, 6:46pm UTC](https://discourse.openrobotics.org/t/kuka-lbr-ros2-moveit2-gazebo-integration/22622/7 "2022-12-16T18:46:21Z")

</div>

This looks really cool.

---

<div class="post-metadata">

**Author:** ![mhubii](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/mhubii/32/20368_2.png) [@mhubii](https://discourse.openrobotics.org/u/mhubii)\
**Post date:** [August 4, 2023, 4:05pm UTC](https://discourse.openrobotics.org/t/kuka-lbr-ros2-moveit2-gazebo-integration/22622/8 "2023-08-04T16:05:04Z")

</div>

We are happy to share that the stack has a new home at:

[https://github.com/lbr-stack/lbr\_fri\_ros2\_stack](https://github.com/lbr-stack/lbr_fri_ros2_stack)

Christopher Mower and I decided to create the `lbr-stack` organization because we also implemented Python bindings for the Fast Robot Interface:

[https://github.com/lbr-stack/pyFRI](https://github.com/lbr-stack/pyFRI)

There might be a little hiccups during the transitionary period but we are hoping that this move will accelerate both research and deployment!

---

<div class="post-metadata">

**Author:** ![mhubii](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/mhubii/32/20368_2.png) [@mhubii](https://discourse.openrobotics.org/u/mhubii)\
**Post date:** [December 11, 2023, 5:18pm UTC](https://discourse.openrobotics.org/t/kuka-lbr-ros2-moveit2-gazebo-integration/22622/9 "2023-12-11T17:18:34Z")

</div>

Sharing the lbr\_fri\_ros2\_stack Humble `v1.4.0` release: [Releases · lbr-stack/lbr\_fri\_ros2\_stack · GitHub](https://github.com/lbr-stack/lbr_fri_ros2_stack/releases) 🎄.

It comes with:

- Improved `ros2_control` integration
- Native force-torque broadcasting through the LBR’s joint torque sensors
- Ease of use for multi-robot and custom setups

We would like to thank the community for their incredibly valuable feedback!

For easter, we are working on `gz_ros2_control` to support the new Gazebo, which can already be previewed here [Multiple command interfaces not functioning · Issue #182 · ros-controls/gz\_ros2\_control · GitHub](https://github.com/ros-controls/gz_ros2_control/issues/182).

---

<div class="post-metadata">

**Author:** ![anas](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/anas/32/25401_2.png) [@anas](https://discourse.openrobotics.org/u/anas)\
**Post date:** [May 7, 2025, 10:29am UTC](https://discourse.openrobotics.org/t/kuka-lbr-ros2-moveit2-gazebo-integration/22622/10 "2025-05-07T10:29:38Z")

</div>

Great work!!  
I want to do the same with the kuka kr6\_r900\_sixx ,im working with ros humble and gazebo (ignition),the problem is the most of the files and repositories that i found is build with catkin build (ros1),so i really need some help to find the right urdf file with gazebo plugins ,if any one can help i appreciate it

---

<div class="post-metadata">

**Author:** ![fbcobod](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/fbcobod/32/21277_2.png) [@fbcobod](https://discourse.openrobotics.org/u/fbcobod)\
**Post date:** [May 12, 2025, 11:30am UTC](https://discourse.openrobotics.org/t/kuka-lbr-ros2-moveit2-gazebo-integration/22622/11 "2025-05-12T11:30:06Z")

</div>

> [@anas](#):
>
> Great work!!  
> I want to do the same with the kuka kr6\_r900\_sixx ,im working with ros humble and gazebo (ignition),the problem is the most of the files and repositories that i found is build with catkin build (ros1),so i really need some help to find the right urdf file with gazebo plugins ,if any one can help i appreciate it

If you are working with the kr6\_r900\_sixx, you should definitely check out this repository: [kroshu/kuka\_drivers](https://github.com/kroshu/kuka_drivers).

In particular, take a look at the [KSS driver (RSI) documentation](https://github.com/kroshu/kuka_drivers/wiki/2_KSS_RSI). It includes all the necessary steps to integrate KUKA robots with ROS 2.

Good luck!
