Skip to content

Replace OpaqueFunction + ParseMultiRobotPose with launch.actions.ForEach #4990

@christophebedard

Description

@christophebedard

Feature request

Feature description

An OpaqueFunction is used with ParseMultiRobotPose to repeat entities based on values in a launch argument. For example, see cloned_multi_tb3_simulation_launch.py

As of ros2/launch#802, launch has a ForEach action to do the same thing. See this ROS Discourse comment.

Update Nav2 to use ForEach instead of OpaqueFunction + ParseMultiRobotPose.

Implementation considerations

Steps:

  1. In every launch file where OpaqueFunction + ParseMultiRobotPose are used:
    1. Change the launch file to use a ForEach action instead of an OpaqueFunction
    2. Make the existing generate_robot_actions() function the ForEach action's function, and turn the values parsed by ParseMultiRobotPose into parameters of the function, with default values wherever appropriate
    3. Provide the LaunchConfiguration() to the ForEach action instead of ParseMultiRobotPose
  2. Consider deprecating ParseMultiRobotPose

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions