Hello,
I'm attempting to setup a pair of turtlebots that can run simultaneously, and in order to do so, they need to run their nodes on different namespaces while both subscribing to a shared /map topic. I've essentially been trying to apply [this guide](http://answers.ros.org/question/41433/multiple-robots-simulation-and-navigation/) to real turtlebots. However, I've been facing [this issue](http://answers.ros.org/question/193435/amcl-not-publishing-map-odom/) where amcl is not publishing from map -> odom even though it has all of its necessary prerequisites. I've narrowed it down to being an issue of the namespace change since I am able to run essentially the same code with no issue when the topics don't have a namespace argument in front. I've been trying to figure out where the loose end is but have so far been unsuccessful. My launch files are below:
**multi.launch**
**multi_nav.launch**
**amcl_multi.launch**
after running multi.launch, rqt_tf_tree does not show the tf from map to robot1/odom.
rosnode info /robot1/amcl shows the following:
Node [/robot1/amcl]
Publications:
* /robot1/amcl/parameter_descriptions [dynamic_reconfigure/ConfigDescription]
* /robot1/amcl/parameter_updates [dynamic_reconfigure/Config]
* /robot1/amcl_pose [geometry_msgs/PoseWithCovarianceStamped]
* /robot1/particlecloud [geometry_msgs/PoseArray]
* /rosout [rosgraph_msgs/Log]
* /tf [tf2_msgs/TFMessage]
Subscriptions:
* /map [nav_msgs/OccupancyGrid]
* /robot1/base_scan [sensor_msgs/LaserScan]
* /robot1/initialpose [unknown type]
* /tf [tf2_msgs/TFMessage]
* /tf_static [tf2_msgs/TFMessage]
Services:
* /robot1/amcl/get_loggers
* /robot1/amcl/set_logger_level
* /robot1/amcl/set_parameters
* /robot1/global_localization
* /robot1/request_nomotion_update
* /robot1/set_map
contacting node http://10.108.93.240:37641/ ...
Pid: 29864
Connections:
* topic: /rosout
* to: /rosout
* direction: outbound
* transport: TCPROS
* topic: /tf
* to: /robot1/amcl
* direction: outbound
* transport: INTRAPROCESS
* topic: /tf
* to: /rqt_gui_py_node_30845
* direction: outbound
* transport: TCPROS
* topic: /tf
* to: /robot1/amcl (http://10.108.93.240:37641/)
* direction: inbound
* transport: INTRAPROCESS
* topic: /tf
* to: /robot1/robot_state_publisher (http://10.108.93.240:42187/)
* direction: inbound
* transport: TCPROS
* topic: /tf
* to: /robot1/laser_link (http://10.108.93.240:33779/)
* direction: inbound
* transport: TCPROS
* topic: /tf
* to: /robot1/mobile_base_nodelet_manager (http://10.108.93.240:35872/)
* direction: inbound
* transport: TCPROS
* topic: /tf_static
* to: /robot1/robot_state_publisher (http://10.108.93.240:42187/)
* direction: inbound
* transport: TCPROS
* topic: /robot1/base_scan
* to: /robot1/urg_node (http://10.108.93.240:33308/)
* direction: inbound
* transport: TCPROS
* topic: /map
* to: /map_server (http://10.108.93.240:36556/)
* direction: inbound
* transport: TCPROS
In case it helps, I'm using Ubuntu 16.04 on an NVIDIA Jetson TX2 with a Kobuki base and Hokuyo laser scanner. Any help or tips for how to get amcl to recognize the change in namespace would be greatly appreciated!
↧