ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
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
2 | No.2 Revision |
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
3 | No.3 Revision |
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