open-rmf / rmf_traffic_editor

GUI, CLI, and ROS 2 messages for robot traffic flows in buildings
Apache License 2.0
140 stars 67 forks source link

[Feature request]: Static / mobile manipulator integration #510

Closed TanJunKiat closed 1 month ago

TanJunKiat commented 1 month ago

Before proceeding, is there an existing issue or discussion for this?

Description

One of the possible extensions that we can explore for RMF is work cell integration.

Workcells are modular workspace that operates independently and purely takes in instructions to execute the task.

Workcells usually consist of manipulators / robotic arms; right now, there is no native support from the Traffic editor.

I have some ideas on implementation but would like to get some feedback and ideas from the community before doing a PR.

Implementation Considerations

rmf_traffic_editor

As a start, I was thinking of adding two new vertex properties, spawn_manipulator_type and spawn_manipulator_name. These two properties will help to define the robotic arm on a waypoint.

rmf_building_map_tools

In the building map tools, the generator will check if the two new variables are declared, on top of spawn_robot_type and spawn_robot_name.

If true, the generator will generate a mobile base with a mounted manipulator arm.

If false, a static manipulator will be created and mounted on the ground.

Alternatives

No response

Additional information

No response

mxgrey commented 1 month ago

Historically the way we have handled workcells with the traffic editor is to simply add them into the world as regular models. The SDF model is responsible for knowing the characteristics of the workcell and having the appropriate plugins for some dispenser adapter to be able to control it.

To run a simulation of the world made by traffic-editor you would generate the SDF world via the regular cmake map generation pipeline and then run the world with Gazebo, launching your adapters (fleet, dispenser, etc) alongside it.

I think that workflow is as good as we can realistically expect things to get with the traffic-editor, albeit this is not as user-friendly of a workflow as we would like to have in the long run. For developing a newer/better user experience, I would recommend focusing efforts towards the site editor where we've developed a rudimentary workcell editor. This would be a very reasonable thing to open a discussion about.

I'll close this issue ticket with the recommendation that we redirect the conversation to the discussion board or to an issue ticket on the rmf_site repo.