Manipulation WG / MoveIt Maintainer Meeting - November 30 (rescheduled)

The next Manipulation WG Meeting / MoveIt Maintainer Meeting will be 2023-11-30T16:00:00Z.

NOTE: scheduled a week later to not conflict with Thanksgiving

Agenda

Meeting

Dial in by Phone (US)
+1 406-851-5227
PIN: 490 349 699#

1 Like

Attendance:

  • Abishalini Sivaraman
  • Alex Moriarty
  • Bence Magyar
  • Chance Cardona
  • David Yackzan
  • Henning Kayser
  • Mario Prats
  • Paul Gesel
  • Sebastian Castro
  • Sebastian Jahr
  • Tyler Weaver

Agenda:

  • MoveIt 2 Tutorials State:
    • Pipeline planner refactor related issues:
      • We have recently broken ABI on Rolling by switching a string ROS parameter to a string_array ROS parameter, and getting parameter validation segfaults when using outdated MoveIt configs.
      • Changes to the ros2_kortex repo’s Gen3 6/DOF MoveIt configs, as well as the moveit_resources repo configs, needed to happen to bring things up to date.
      • However, we shouldn’t segfault if there is a generate_parameter_library error. Discussion about whether we should fix this in the library or add more try/catch.
      • Sebastian Jahr: Seems like more overhead to handle try/catch ourselves.
      • Henning: This may be an issue with declaring parameters from overrides, since the parameter set would fail, but it wouldn’t be a declaration segfault? Need to look into this to verify.
      • Sebastian Jahr: To remove the above, we’d need to fully finish MoveIt 2 transition to generate_parameter_library – should we open issues to track this effort and see it through?
    • DDS related issues – see WIP: Add planner chain tutorial by sjahr · Pull Request #820 · ros-planning/moveit2_tutorials · GitHub
    • Other issues:
    • We should invest in automated testing of the MoveIt 2 tutorials repository:
      • Mentioned launch tests in a previous meeting, maybe make an issue?
      • Tyler already has a reference example and write tests for all our tutorials, which is a good idea. Simple checks if you can launch and shutdown without a nonzero exit
      • Tyler: We could replace the multiple launch file paradigm with including multiple launch files in a single XML
      • Henning: Once upon a time, we had the moveit2_tutorials repo as a downstream dependency in moveit2, but it was able to catch errors earlier. Possible idea?
      • Tyler: Already added a new CI workflow to moveit2 which builds a Docker containers with the tutorials repo. It’s slow, but it does provide signal on whether the tutorials build. It is a non-blocking check, though.
    • Henning: Consider tagging issues as urgent or high priority so we can discuss these issues at the weekly standup.
    • Outcome: Several PickNik engineers will go through the tutorials and do some targeted fixes. Of course, we always welcome external contributions too!
  • Tyler: Logging update
    • Been blocked by failing/flaky tests during this refactor
    • Have been fixing several bugs in MoveIt along with Mario, most notably getting rid of lots of undefined behavior from uninitialized state. Getting close!
    • There is a small performance hit with RobotState with some of these fixes, but the benefits seem to far outweigh the costs.
  • Sebastian Jahr: Need a second reviewer/approver to the second part of the planning pipeline refactor.
  • Bence: Issues with the Python based MoveIt config utils
    • Trying to add URDF parameterization through XACRO arguments for swapping out entities in the environments, or changing positions.
    • How to add parameters without “exploding” the resulting object in a Python launch file into its separate dictionaries and then modifying them before passing them into launch files? An example is shown here: moveit_resources/panda_moveit_config/launch/demo.launch.py at ros2 · ros-planning/moveit_resources · GitHub
    • Tyler has a vision for how to fix using XML, without MoveIt Setup Assistant or MoveIt Configs Builder: ROSCON 2023 - Retro ROS 2 Launch | – particular see ROSCON 2023 - Retro ROS 2 Launch |, which also supports XACRO generation.
    • Still need to figure out how to generate the SRDF / Allowable Collision Matrix (ACM) – there is a command-line interface for the ACM that could be useful?
    • Bence: Would suggest supplying joint limits from a different file. Should be doable with this mechanism.
    • Sebastian Castro: Should also consider how this fits into the need to have multiple kinematics plugins for different capabilities. Or maybe splitting move_group into multiple smaller nodes, each of which has its own fixed plugin.
1 Like