Hi,
The wheel odometry is late of around 4 seconds after the images are received. Compare with:
$ rostopic echo /camera/rgb/image_rect_color/header/stamp
$ rostopic echo /wheel_odom/header/stamp
Make also sure that transform between the center of wheel shaft (referential of wheel odometry) and the camera is accurate. The current one is:
$ rosrun tf tf_echo base_link camera_link
- Translation: [0.094, -0.030, 0.000]
- Rotation: in Quaternion [0.000, 0.000, 0.000, 1.000]
in RPY (radian) [0.000, -0.000, 0.000]
in RPY (degree) [0.000, -0.000, 0.000]
Look in RVIZ with TF display to see if it makes sense.
Before trying rtabmap, you may add DepthCloud display to RVIZ, set global fixed frame to odom and see if the current clouds follow the odometry.
For convenience, instead of manually modifying rtabmap.launch, you can use it directly as this:
$ roslaunch rtabmap_ros rtabmap.launch \
rtabmap_args:="--delete_db_on_start" \
depth_topic:=/camera/depth_registered/sw_registered/image_rect_raw \
frame_id:=base_link \
visual_odometry:=false \
odom_topic:=/wheel_odom
cheers,
Mathieu