Launching multiple turtlebots under namespaces (real environment)
I am trying to launch multiple turtlebots (each under a namespace) with navigation stack. I am building upon the similar task for stage simulator (link). As a first step, I try to launch a single turtlebot under namespace.
Currently, the attempt to launch a single robot under namespace with amcl failed. The tf tree looks like this. The link between /map and robot_0/odom is missing. Amcl should be publishing this connection.
The messages from console are following:
/robot_0/amcl: No laser scan received (and thus no pose updates have been published) for 1462444802.174762 seconds. Verify that data is being published on the /robot_0/scan topic. : checked, data is being published at /robot_0/scan
/robot_0/amcl: MessageFilter [target=robot_0/odom ]: Dropped 100.00% of messages so far. Please turn the [ros.amcl.message_notifier] rosconsole logger to DEBUG for more information. : This might be the key message. If I set the logger level to debug, I see something like Added message in frame /camera_depth_frame at time 1462446392.094, count now 100.
I guess the trouble is that it is using frame id /camer_depth_frame (the absolute one) instead of one relative to the namespace (_robot_0 in this case_). I don't know how to fix it. I tried with using openni2_tf_prefix.launch, but doesn't help.- /robot_0/move_base_node: Timed out waiting for transform from robot_0/base_link to map to become available before running costmap, tf error: . canTransform returned after 0.101826 timeout was 0.1 : I guess this one is just a consequence of previous ones.
As I see this question being asked around, but without a complete solution, I created a git repository with the current code. I hope once I manage to solve this problem - with your help - to have the complete solution in the repository for the others to have use of it afterwards as well. Feel free to answer here, or experiment directly in the code (and let us know about any successful or even unsuccessful trials).