Skip to content

MoveIt Config Redesign - Migrate MSA to ROS 2 #313

@henningkayser

Description

@henningkayser

Porting the MSA requires more effort than simply applying the migration steps. With the switch to Python launch files, the new rclcpp::Parameter interface and related config changes (dropped XmlRpc support) require non-trivial re-implementation of some parts, including:

  1. Initial Migration (Initial port of MSA gui #740)
  2. Standardized yaml configs and parameter parsing (Standardize parameter parsing #431)
  3. New generic launch scripts, available as templates (Standardize usage of ROS Parameters #335)
  4. Adaption of changed config/launch setups to MSA layout and implementation (Rethinking the layout of MoveIt Setup Assistant #449)

Design Ideas

Config files
All nodes/classes declare parameters in a standardized way so that it's possible to generate valid config (yaml) files automatically (e.g. ros2 param dump), ideally including descriptions and comments. This would allow MSA to generate config files from the actual node implementation. All exceptions should be caught and handled accordingly, parsing and conversion of abstract data types should be handled with proper parameter documentation and runtime messages/warnings. Optionally, node configs include version tags, loading of outdated configs would then result in a deprecation warning.

Launch files
MoveIt configs should be static by default and only contain the config (yaml,srdf) files needed to describe the setup configuration. The default launch scripts are not copied into each MoveIt config package, they are only used to initialize a MoveIt setup instance (MoveGroup, MoveItCpp) by reading the config files from a config package. Customization of launch descriptions can be enabled by supporting launch file overrides or exporting/importing of factory functions from the launch scripts. This would allow to keep a standard and reduce redundancy (and maintenance overhead) in launch files. Of course it's up to the devs to copy the whole launch architecture and modify it as needed.

Metadata

Metadata

Labels

EpicenhancementNew feature or requestroadmapCurrent and upcoming roadmap features, listed on the MoveIt website

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions