Visualizing Kinect data from two Turtlebots in Gazebo
Hello everyone.
I am trying to run two Turtlebots in Gazebo and have one observe the other. I encountered the common error of one of the turtlebots only showing up as wheels, but by using a hack I am able to see both Turtlebots fully by closing the Gazebo GUI and reopening it again with rosrun gazebo gui.
The problem arises when I try to have one robot observe the other using its kinect and RVIZ. I can see the topics /camera/image_raw and /camera/depth/points (no namespace) from the turtlebot that originally fully appeared in gazebo. The other robot, though, appears only as wheels in RVIZ even though it is fully visible in Gazebo!
I figure there is two ways of solving this. 1) Actually remedying the problem of one of the Turtlebots not fully appearing originally in Gazebo instead of using the hack(which I have no idea how to do) 2) Observe the Turtlebot that fully appears from the others Kinect. There are topics /robot1/depth/image_raw and /robot1/depth/camera_info being published (and similarly for robot2) but when I set the topic to /robot1/depth/image_raw RVIZ looks for camerainfo on /robot2/depth/camera_info and vice versa and says no camerainfo received. I get just an image of a horizontal white line.
These probably coincide but I am hoping some of you know better than me. I am using the following launch file to launch the Gazebo world with the 2 turtlebots in it simultaneously:
<launch>
<node name="gazebo" pkg="gazebo" type="debug" args="-u $(find turtlebot_gazebo)/worlds/empty.world" respawn="false" output="screen"/> <node name="gazebo_gui" pkg="gazebo" type="gui"/>
<include file="$(find turtlebot_gazebo)/launch/robot1.launch"/> <include file="$(find turtlebot_gazebo)/launch/robot2.launch"/> </launch>
Where robot1 and robot2.launch are identical files except for the robots and nodes use different namespaces so that I can control the robots separately, and I have successfully written a teleop node to allow me to do this.
So how can I have one Turtlebot observe the other (not just its wheels)? Any ideas would be appreciated.
Thanks for your help!
-Alan
UPDATE
So here is the list of topics being published or subscribed:
/camera/camera_info
/camera/depth/points
/camera/image_raw
/camera/image_raw/compressed
/camera/image_raw/compressed/parameter_descriptions
/camera/image_raw/compressed/parameter_updates
/camera/image_raw/compressedDepth
/camera/image_raw/compressedDepth/parameter_descriptions
/camera/image_raw/compressedDepth/parameter_updates
/camera/image_raw/theora
/camera/image_raw/theora/parameter_descriptions
/camera/image_raw/theora/parameter_updates
/clock
/diagnostics
/diagnostics_agg
/diagnostics_toplevel_state
/gazebo/link_states
/gazebo/model_states
/gazebo/parameter_descriptions
/gazebo/parameter_updates
/gazebo/set_link_state
/gazebo/set_model_state
/robot1/depth/camera_info
/robot1/depth/image_raw
/robot1/imu/data
/robot1/initialpose
/robot1/joint_states
/robot1/move_base_simple/goal
/robot1/odom
/robot1/robot_pose_ekf/odom
/robot1/scan
/robot1/set_hfov
/robot1/set_update_rate
/robot1/turtlebot_node/cmd_vel
/robot1/turtlebot_node/joint_states
/robot1/turtlebot_node/odom
/robot1/turtlebot_node/sensor_state
/robot2/depth/camera_info
/robot2/depth/image_raw
/robot2/imu/data
/robot2/joint_states
/robot2/odom
/robot2/robot_pose_ekf/odom
/robot2/scan
/robot2/set_hfov
/robot2/set_update_rate
/robot2/turtlebot_node/cmd_vel
/robot2/turtlebot_node/joint_states
/robot2/turtlebot_node/odom
/robot2/turtlebot_node/sensor_state
/rosout
/rosout_agg
/tf
As you ...