The robot namespacing is important in the environments that operates with multiple robots. There might be cases, where the robots are from different vendors too. In those scenarios namespacing becomes essential.
The namespacing configuration is disabled by default, when a single robot is acquired from us.
If multiple robots are purchased at the same time, then the following steps would have been already configured for the robots. Therefore, there is no need to use the launch arguments that would enable namespacing and add it to the robot’s configuration.
The complete namespacing support is currently only avaiable for MP-400 and partially for MPO-700. The rest will be updated soon.
By default all the parameter files are configured to support the namespacing “robot1” and if more than one robot is acquired from us (i.e. in a single purchase), then it would be “robot2”, “robot3” and so on.
In the namespacing setup, each frame broadcasted by the TF’s must have the namespace prefix. For example, the odom frame of a robot should be like robot1/odom and for the base link it should be robot1/base_link and so on.
Configuration for Bringup¶
As partially explained in the Starting with ROS on the Robot, the drivers of the robots can be easily configured and launched with the namespaces.
For the robots with differential kinematics such as the MP-400 and MP-500, it is essential to setup the odom frame id to have a trailing “/” at the beginning of the frame id. For example, the odom must be inputted to /odom and base_link to /base_link.
The similar steps must be adapted to mecanum and the omnidrive kinematics.
Configuration for Mapping¶
The naming convention for the namespacing has also been adapted for the mapping parameters.
Namespaced configs can be found under ~/your_workspace/your_robot/configs/navigation/namespaced_mapping.yaml