Skip to content

Add dual-arm LBR demo support to rolling#393

Merged
mhubii merged 4 commits into
lbr-stack:rollingfrom
kenichi-maeda:feature/dual-arm-moveit-rolling
Jun 22, 2026
Merged

Add dual-arm LBR demo support to rolling#393
mhubii merged 4 commits into
lbr-stack:rollingfrom
kenichi-maeda:feature/dual-arm-moveit-rolling

Conversation

@kenichi-maeda

Copy link
Copy Markdown
Contributor

This adds the dual-arm demo support from #386 to rolling.

Includes:

  • lbr_dual_arm_bringup
  • lbr_dual_arm_description
  • lbr_dual_arm_moveit_config
  • dual-arm mock and hardware bringup launches
  • dual-arm MoveIt/RViz configuration

The package layout and version sync follow the cleanup from #392, with stale Humble wording removed.

Thanks @mhubii for preparing the Rolling cleanup in #392. Could you double-check that this branch matches the
intended rolling layout/versioning?

@mhubii mhubii self-requested a review June 18, 2026 08:14
@mhubii mhubii self-assigned this Jun 18, 2026
@mhubii mhubii added the enhancement New feature or request label Jun 18, 2026
@mhubii

mhubii commented Jun 18, 2026

Copy link
Copy Markdown
Collaborator

thank you very much for creating this PR against rolling, let's get this merged by end of the week

@mhubii

mhubii commented Jun 21, 2026

Copy link
Copy Markdown
Collaborator

Okay, so I:

  • merged bringup and description package (for self-containment in this demo)
  • updated launch files (declarative, refer ROSCon livestream at 6 hours, 10 minutes)
  • removed namespace from MoveIt for this demo (quite a pain to set this up correctly)
  • added launch arguments for robot poses ros2 launch lbr_dual_arm mock.launch.py lbr_one_x:=0.0

Some questions:

  1. Does this package layout make sense to you?
  2. Do you need the namespace here?
  3. When running MoveIt, dual-arm collisions are not avoided. This needs fixing before merging.

Thanks for any input you can provide!

Some related dual setup: https://moveit.picknik.ai/main/doc/examples/dual_arms/dual_arms_tutorial.html

@mhubii mhubii marked this pull request as draft June 21, 2026 14:45
@kenichi-maeda

Copy link
Copy Markdown
Contributor Author
  1. Yes, the new package layout makes sense to me.
  2. No, I don't need the namespace. Since the two arms already use prefixed joint and link names, the robot model should remain unambiguous.
  3. I can't think of a good solution for that at the moment, but I can look into it later.

Thank you for your work!

@mhubii

mhubii commented Jun 22, 2026

Copy link
Copy Markdown
Collaborator

Had another look. The issue might be dynamically adjusting the robot pose.

Somehow MoveIt avoids collisions for the default pose (y=0.5, y=-0.5), but not for others.

Likely because the move group just loads the robot description manually during launch:

https://github.com/kenichi-maeda/lbr_fri_ros2_stack/blob/6bde65a437faf6092d50ca675bcd510d069e32dc/lbr_demos/lbr_dual_arm/lbr_dual_arm_moveit_config/launch/move_group.launch.py#L20

The move group does not seem to be loading it dynamically from the robot state publisher.

In that case, either:

  1. remove dynamic adjustment, and keep your initial suggestion:
    https://github.com/kenichi-maeda/lbr_fri_ros2_stack/blob/653b74e1ee3d687121a21a9c02e730e5cd9c2b6d/lbr_demos/lbr_dual_arm/lbr_dual_arm_description/doc/lbr_dual_arm_description.rst

Or

  1. add a configurable pose to the move group launch file (may lead to user error)

Or

  1. see whether this can be fixed for MoveIt. Related issue: Load robot_description from topic moveit/moveit2#2291

Sorry I should have double checked this. On humble (with fixed pose) this is not an issue.

@mhubii mhubii left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fix dynamic robot pose for MoveIt

@mhubii mhubii marked this pull request as ready for review June 22, 2026 16:53
@mhubii

mhubii commented Jun 22, 2026

Copy link
Copy Markdown
Collaborator

went with option 2: configurable move group. move_group.launch.py now included into hardware.launch.py / mock.launch.py to guarantee single source for pose

@mhubii mhubii merged commit 23fb499 into lbr-stack:rolling Jun 22, 2026
1 of 7 checks passed
@mhubii

mhubii commented Jun 22, 2026

Copy link
Copy Markdown
Collaborator

/backport

@github-actions

Copy link
Copy Markdown

Backport branch created but failed to create PR.
Request to create PR rejected with status 403.

(see action log for full response)

@mhubii mhubii mentioned this pull request Jun 22, 2026
@kenichi-maeda

Copy link
Copy Markdown
Contributor Author

Thanks @mhubii for fixing the dynamic pose / MoveIt setup! I'm pretty sure a lot of people will find this useful for setting up dual arms :)

@mhubii

mhubii commented Jun 23, 2026

Copy link
Copy Markdown
Collaborator

thanks, appreciate that. Thanks also for your heavy lifting.

what remains now is:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants