ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Hi,

Your error says that TF between /odom_combined and camera topics doesn't exist. Which node is actually publishing /odom_combined? Please show your TF tree and rqt_graph:

$ rosrun tf view_frames
$ rqt_graph

Note that you don't need to modify rtabmap.launch directly. It is difficult to see what you modified. From differences I've seen, the corresponding command is:

$ roslaunch rtabmap_ros rtabmap.launch frame_id:=base_link odom_topic:=/odom_combined

So starting from that, if you have your own input of odometry /odom_combined, disable visual odometry because it is ignored. Also rtabmap will publish a TF /odom -> /base_link that may interfere with another TF related to /odom_combined:

 $ roslaunch rtabmap_ros rtabmap.launch frame_id:=base_link odom_topic:=/odom_combined visual_odometry:=false

The fixed frame in RVIZ would be /map instead of /odom.

cheers

Hi,

Your error says that TF between /odom_combined and camera topics doesn't exist. Which node is actually publishing /odom_combined? Please show your TF tree and rqt_graph:

$ rosrun tf view_frames
$ rqt_graph

EDIT: What is automap? do you mean octomap?

Note that you don't need to modify rtabmap.launch directly. It is difficult to see what you modified. From differences I've seen, the corresponding command is:

$ roslaunch rtabmap_ros rtabmap.launch frame_id:=base_link odom_topic:=/odom_combined

So starting from that, if you have your own input of odometry /odom_combined, disable visual odometry because it is ignored. Also rtabmap will publish a TF /odom -> /base_link that may interfere with another TF related to /odom_combined:

 $ roslaunch rtabmap_ros rtabmap.launch frame_id:=base_link odom_topic:=/odom_combined visual_odometry:=false

The fixed frame in RVIZ would be /map instead of /odom.

cheers

Hi,

Your error says that TF between /odom_combined and camera topics doesn't exist. Which node is actually publishing /odom_combined? Please show your TF tree and rqt_graph:

$ rosrun tf view_frames
$ rqt_graph

EDIT: What is automap? do you mean octomap?

Note that you don't need to modify rtabmap.launch directly. It is difficult to see what you modified. From differences I've seen, the corresponding command is:

$ roslaunch rtabmap_ros rtabmap.launch frame_id:=base_link odom_topic:=/odom_combined

So starting from that, if you have your own input of odometry /odom_combined, disable visual odometry because it is ignored. Also rtabmap will publish a TF /odom -> /base_link that may interfere with another TF related to /odom_combined:

 $ roslaunch rtabmap_ros rtabmap.launch frame_id:=base_link odom_topic:=/odom_combined visual_odometry:=false

The fixed frame in RVIZ would be /map instead of /odom.

EDIT 2

Your TF looks okay. In rqt_graph, the octomap_server is not started. How do you start the octomap_server? Example (from this post):

$ roslaunch rtabmap_ros rtabmap.launch frame_id:=base_link
$ rosrun octomap_server octomap_server_node cloud_in:=rtabmap/cloud_map

Then make sure you can visualize the octomap in RVIZ using the octomap plugins. There is an issue when using octomap_server while doing mapping: the octomap didn't get automatically refreshed when a loop closure is detected (when the map is corrected). To avoid this problem, I recommend to do a mapping session (teleoperated), then restart rtabmap in localization-only mode with octomap and move_it stuff. For this example I use rgbd_mapping.launch instead of rtabmap.launch for convenience (as it has already the localization argument):

$ roslaunch rtabmap_ros rgbd_mapping.launch frame_id:=base_link rtabmap_args:="--delete_db_on_start"

// map for a while, then kill rgbd_mapping.launch and restart it in localization mode

$ roslaunch rtabmap_ros rgbd_mapping.launch frame_id:=base_link localization:=true
$ rosrun octomap_server octomap_server_node cloud_in:=rtabmap/cloud_map

cheers