Robotics StackExchange | Archived questions

Frame conventions in multi-robot simulation with ROS Navigation stack

In any setup related to multi-robot simulation, where one wants to set up ROS Navigation stack on every robot, what should be the frame convention followed? I know in the case of a single robot, it is map->odom->base_footprint->base_link.

How would it be in the case of multiple robots? Should I have something like (assume I have 2 robots named alpha and beta) :
map->alpha/map->alpha/odom->alpha/base_footprint->alpha/base_link
OR
map->alpha/odom->alpha/base_footprint->alpha/base_link ?

Basically should both the robot shave their own map frame or should they have a global map frame? If my question seems redundant I request you to please explain why it is so.

TIA

Asked by electrophod on 2021-08-02 00:16:31 UTC

Comments

Answers

If we're talking about a predefined, read-only, global static map (e.g. derived from floor plans), I would have just one transform frame that is used by both robots. Further down the TF, each robot would have their own frame names.

However, if you intend to have the robots gather data to modify the global map, handling conflicting modifications could get tricky.

Asked by Mike Scheutzow on 2021-08-04 07:50:54 UTC

Comments