Ask Your Question
0

rtabmap crash, RealSense D435i, Assertion px != 0 failed

asked 2019-09-13 13:39:22 -0500

frank26080115 gravatar image

Environment is a Raspberry Pi 4, Raspbian Buster, kernel 4.19.66-v71+, ROS Kinetic Kame, rtabmap v0.19.3, rtabmap_ros v0.19.3 , RealSense D435i camera

Almost everything was installed from source

librealsense works, I can use realsense-viewer, realsense2_camera works, I can visualize both RGB and depth with Rviz. The problem happens when I try to use rtabmap. I am using a modified version of the rs_rtabmap.launch file (use a single camera, disable gyro, accel, and enable depth alignment and sync).

If I try to launch with rviz, I end up with

rtabmap: /usr/include/boost/smart_ptr/shared_ptr.hpp:728: typename boost::detail::sp_dereference<T>::type boost::shared_ptr<T>::operator*() const [with T = boost::signals2::mutex; typename boost::detail::sp_dereference<T>::type = boost::signals2::mutex&]: Assertion `px != 0' failed.
[rtabmap/rtabmap-4] process has died [pid 2287, exit code -6, cmd /home/pi/catkin_ws/devel/lib/rtabmap_ros/rtabmap --delete_db_on_start rgb/image:=/D435i/color/image_raw depth/image:=/D435i/aligned_depth_to_color/image_raw rgb/camera_info:=/D435i/color/camera_info rgbd_image:=rgbd_image_relay left/image_rect:=/stereo_camera/left/image_rect_color right/image_rect:=/stereo_camera/right/image_rect left/camera_info:=/stereo_camera/left/camera_info right/camera_info:=/stereo_camera/right/camera_info scan:=/scan scan_cloud:=/scan_cloud user_data:=/user_data user_data_async:=/user_data_async gps/fix:=/gps/fix tag_detections:=/tag_detections odom:=/D435i/odom/sample imu:=/imu/data __name:=rtabmap __log:=/home/pi/.ros/log/5f6c9b08-d651-11e9-827c-dca632195a3e/rtabmap-rtabmap-4.log].

If I try to launch with rtabmarviz, I get

* /D435i/realsense2_camertabmap: /usr/include/boost/smart_ptr/shared_ptr.hpp:728: typename boost::detail::sp_dereference<T>::type boost::shared_ptr<T>::operator*() const [with T = boost::signals2::mutex; typename boost::detail::sp_dereference<T>::type = boost::signals2::mutex&]: Assertion `px != 0' failed.
[rtabmap/rtabmap-4] process has died [pid 32379, exit code -6, cmd /home/pi/catkin_ws/devel/lib/rtabmap_ros/rtabmap --delete_db_on_start rgb/image:=/D435i/color/image_raw depth/image:=/D435i/aligned_depth_to_color/image_raw rgb/camera_info:=/D435i/color/camera_info rgbd_image:=rgbd_image_relay left/image_rect:=/stereo_camera/left/image_rect_color right/image_rect:=/stereo_camera/right/image_rect left/camera_info:=/stereo_camera/left/camera_info right/camera_info:=/stereo_camera/right/camera_info scan:=/scan scan_cloud:=/scan_cloud user_data:=/user_data user_data_async:=/user_data_async gps/fix:=/gps/fix tag_detections:=/tag_detections odom:=/D435i/odom/sample imu:=/imu/data __name:=rtabmap __log:=/home/pi/.ros/log/8b64ca02-d64f-11e9-ac7d-dca632195a3e/rtabmap-rtabmap-4.log].
log file: /home/pi/.ros/log/8b64ca02-d64f-11e9-ac7d-dca632195a3e/rtabmap-rtabmap-4*.log
qt5ct: using qt5ct plugin
rtabmapviz: /usr/include/boost/smart_ptr/shared_ptr.hpp:728: typename boost::detail::sp_dereference<T>::type boost::shared_ptr<T>::operator*() const [with T = boost::signals2::mutex; typename boost::detail::sp_dereference<T>::type = boost::signals2::mutex&]: Assertion `px != 0' failed.
[rtabmap/rtabmapviz-5] process has died [pid 32389, exit code -6, cmd /home/pi/catkin_ws/devel/lib/rtabmap_ros/rtabmapviz -d ~/.ros/rtabmap_gui.ini rgb/image:=/D435i/color/image_raw depth/image:=/D435i/aligned_depth_to_color/image_raw rgb/camera_info:=/D435i/color/camera_info rgbd_image:=rgbd_image_relay left/image_rect:=/stereo_camera/left/image_rect_color right/image_rect:=/stereo_camera/right/image_rect left/camera_info:=/stereo_camera/left/camera_info right/camera_info:=/stereo_camera/right/camera_info scan:=/scan scan_cloud:=/scan_cloud odom:=/D435i/odom/sample __name:=rtabmapviz __log:=/home/pi/.ros/log/8b64ca02-d64f-11e9-ac7d-dca632195a3e/rtabmap-rtabmapviz-5.log].

One of the things I noticed was that these messages are happening async to the launch, notice how it cut off a message. I also don't know how to turn ... (more)

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2019-09-13 22:32:30 -0500

matlabbe gravatar image

PCL >= 1.8 is built by default with -march=native, so every dependencies of rtabmap using Eigen (e.g., g2o) should be also built with this flag, otherwise rtabmap nodes are crashing on start. See also https://github.com/introlab/rtabmap/i...

You can launch the nodes in gdb to see more info about the crash. See http://wiki.ros.org/roslaunch/Tutoria...

Example:

$ roslaunch rtabmap_ros rtabmap.launch args:="-d" launch_prefix:="xterm -e gdb --args"

cheers,
Mathieu

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2019-09-13 13:39:22 -0500

Seen: 15 times

Last updated: 2 days ago