How to connect TF for multiple robots in SLAM
Update2: After making the changes mentioned in the comment about rosparams, I was able to generate the following TF tree.
Yet the map is not getting constructed the way it does for the single robot. Like I am using the stage sim of the navigation_stage package in Indigo
Update1:
No transform from [robot_0/map] to [map]
After resolving the issue of base scan as mentioned in my comment, i am not able to get a common correct map.
Hi,
I have 3 pr2 in Stage Simulator trying SLAM. Single Robot version works correctly but tweaking the same launch files and world files seems to launch correctly expect it does not show the laser scans in RViz.
Here is the laser scan error:
For frame [/robot_0/base_laser_link]: No transform to fixed frame [map]. TF error: [Could not find a connection between 'map' and 'robot_0/base_laser_link' because they are not part of the same tree.Tf has two or more unconnected trees.]
I am also attaching the output of rosrun tf view_frames
which will clarify the issue here.
Please let me know how to join the odom from individual to global tf frame such that all the robots can simultaneously project their scans in Rviz
You should broadcast a couple transforms from map to robot_x/odom as well, so everything can be connected
I added the following lines in the launch file after the slam_gmapping node command
This connected the tree. I still have not yet resolved the issue of common map
What exactly is your problem after update 2? Anyways other than tweaking the launch file, I would just open up a few terminals and try publishing static transforms and see what works.
something like that.
According to the image in Update 2, the transform from map to odom (robot_x) exists. Is it even feasible to carry out independent SLAM from 2 different robots in the same .world and visualize it in the same Rviz console. This is what I want to do.
Did this ever get resolved? What were the steps were taken?