Visual odometry crashing / robot_localization integration

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Visual odometry crashing / robot_localization integration

dgmiller
Hi,

The platform i'm using uses an RPLIDAR, ZED stereo camera, UM7 IMU, and a GPS. I'm using robot_localization to fuse the IMU and odometry from rtabmap, and it's republishing a filtered odometry. I'm implementing this on an nvidia Jetson TX1.

the problem i'm encountering is there is no transform from odom to base_link. even when i dont use robot_localization, rtabmap crashes giving the following error, and i no longer have the tf's. any idea why?

also has anyone else tried to integrate robot_localization with rtabmap?



[ WARN] [1452540708.591497270]: rtabmapviz: Could not get transform from odom to base_link after 0.100000 seconds!
[ INFO] [1452540708.696664357]: Odom: quality=801, std dev=0.035333m, update time=0.201326s
[ WARN] [1452540708.804998170]: rtabmapviz: Could not get transform from odom to base_link after 0.100000 seconds!
[ WARN] [1452540708.815121931]: rtabmap: Could not get transform from odom to base_link after 0.100000 second!
[ INFO] [1452540708.907578992]: Odom: quality=812, std dev=0.035093m, update time=0.199792s
[ WARN] [1452540709.026313645]: rtabmapviz: Could not get transform from odom to base_link after 0.100000 seconds!
[ INFO] [1452540709.113831557]: Odom: quality=815, std dev=0.035028m, update time=0.194555s
[ INFO] [1452540709.337515799]: Odom: quality=818, std dev=0.034964m, update time=0.212154s
[ INFO] [1452540709.578029904]: Odom: quality=798, std dev=0.035400m, update time=0.225436s
[ INFO] [1452540709.807905724]: Odom: quality=815, std dev=0.035028m, update time=0.212658s
[ INFO] [1452540710.004127131]: rtabmap: Rate=1.00s, Limit=0.000s, RTAB-Map=0.1858s, Pub=0.0027s (local map=1, WM=1)
[ INFO] [1452540710.045138782]: Odom: quality=824, std dev=0.034837m, update time=0.216143s
[rtabmap/rtabmapviz-7] process has died [pid 4500, exit code -7, cmd /opt/ros/indigo/lib/rtabmap_ros/rtabmapviz -d /opt/ros/indigo/share/rtabmap_ros/launch/config/rgbd_gui.ini odom:=/odometry/filtered rgb/image:=/rgb/image_raw depth/image:=/depth/image_raw rgb/camera_info:=/camera/rgb/camera_info scan:=/scan __name:=rtabmapviz __log:=/home/ubuntu/.ros/log/7b7525c0-b898-11e5-a528-00904c112233/rtabmap-rtabmapviz-7.log].
log file: /home/ubuntu/.ros/log/7b7525c0-b898-11e5-a528-00904c112233/rtabmap-rtabmapviz-7*.log
Reply | Threaded
Open this post in threaded view
|

Re: Visual odometry crashing / robot_localization integration

matlabbe
Administrator
Hi,

Are you using the binaries or rtabmap built from source? It seems that it is only the rtabmapviz node (visualization node) that is crashing, visual odometry and rtabmap nodes seem running.

I know that PCL visualization + Qt + VTK integration may crashes on some platforms (and depending on PCL and VTK versions). However, this will only affect the visualization node (rtabmapviz). You could use RVIZ instead of rtabmapviz (if you use stereo_mapping.launch or rgbd_mapping.launch, you can launch with "rtabmapviz:=false rviz:=true" arguments).

rtabmapviz crashing should not influence the visual odometry or rtabmap processing, so the TFs should still be published. If you are using robot_localization, you may want to disable TF published by the visual odometry node (for stereo_odometry node or rgbd_odometry_node):
<node pkg="rtabmap_ros" type="rgbd_odometry" name="rgbd_odometry">
  [...]
  <param name="publish_tf" type="bool" value="false"/>
</node>
as robot_localization would already provide it:
From robot_localization doc:
"If the user's world_frame parameter is set to the value of odom_frame, a transform is published from the frame given by the odom_frame parameter to the frame given by the base_link_frame parameter."

To dig more into the rtabmapviz error, starting the node with gdb may give more information on the crash.

cheers,
Mathieu