Hi,
I have installed Ubuntu trusty and ros indigo on raspberry pi 2. I am following hand-held kinect mapping tutorial. I am running rtabmap with rviz=false & rtabmapviz=false. But I get error " process has died [pid 2339, exit code -11...]. Here is the output of rtabmap_ros command - ROS_MASTER_URI=http://localhost:11311 core service [/rosout] found process[rtabmap/rgbd_odometry-1]: started with pid [2339] process[rtabmap/rtabmap-2]: started with pid [2340] [rtabmap/rgbd_odometry-1] process has died [pid 2339, exit code -11, cmd /opt/ros/indigo/lib/rtabmap_ros/rgbd_odometry rgb/image:=/camera/rgb/image_rect_color depth/image:=/camera/depth_registered/image_raw rgb/camera_info:=/camera/rgb/camera_info __name:=rgbd_odometry __log:=/home/ubuntu/.ros/log/d19c9314-1dd2-11b2-8460-b827eb068306/rtabmap-rgbd_odometry-1.log]. log file: /home/ubuntu/.ros/log/d19c9314-1dd2-11b2-8460-b827eb068306/rtabmap-rgbd_odometry-1*.log [rtabmap/rtabmap-2] process has died [pid 2340, exit code -11, cmd /opt/ros/indigo/lib/rtabmap_ros/rtabmap --delete_db_on_start rgb/image:=/camera/rgb/image_rect_color depth/image:=/camera/depth_registered/image_raw rgb/camera_info:=/camera/rgb/camera_info __name:=rtabmap __log:=/home/ubuntu/.ros/log/d19c9314-1dd2-11b2-8460-b827eb068306/rtabmap-rtabmap-2.log]. log file: /home/ubuntu/.ros/log/d19c9314-1dd2-11b2-8460-b827eb068306/rtabmap-rtabmap-2*.log I cannot detect the cause of this error. The log files are not present in the location mentioned. |
Administrator
|
For some reasons, the binaries don't work on all machines. Uninstall ros-indigo-rtabmap and try with rtabmap built from source.
This is what I got on a virtual box with Trusty+Indigo: $ roslaunch rtabmap_ros rgbd_mapping.launch rtabmapviz:=false ... logging to /home/mathieu/.ros/log/5f2b9e36-023a-11e5-aab6-0800277bc8c1/roslaunch-mathieu-23547.log Checking log directory for disk usage. This may take awhile. Press Ctrl-C to interrupt Done checking log file disk usage. Usage is <1GB. started roslaunch server http://mathieu:33998/ SUMMARY ======== PARAMETERS * /rosdistro: indigo * /rosversion: 1.11.10 * /rtabmap/rgbd_odometry/Odom/FeatureType: 6 * /rtabmap/rgbd_odometry/Odom/FillInfoData: true * /rtabmap/rgbd_odometry/Odom/InlierDistance: 0.02 * /rtabmap/rgbd_odometry/Odom/MaxDepth: 4.0 * /rtabmap/rgbd_odometry/Odom/MinInliers: 20 * /rtabmap/rgbd_odometry/Odom/Strategy: 0 * /rtabmap/rgbd_odometry/OdomBow/LocalHistorySize: 1000 * /rtabmap/rgbd_odometry/OdomBow/NNType: 3 * /rtabmap/rgbd_odometry/frame_id: camera_link * /rtabmap/rtabmap/LccBow/InlierDistance: 0.02 * /rtabmap/rtabmap/LccBow/MinInliers: 10 * /rtabmap/rtabmap/frame_id: camera_link * /rtabmap/rtabmap/subscribe_depth: True NODES /rtabmap/ rgbd_odometry (rtabmap_ros/rgbd_odometry) rtabmap (rtabmap_ros/rtabmap) auto-starting new master process[master]: started with pid [23559] ROS_MASTER_URI=http://localhost:11311 setting /run_id to 5f2b9e36-023a-11e5-aab6-0800277bc8c1 process[rosout-1]: started with pid [23572] started core service [/rosout] process[rtabmap/rgbd_odometry-2]: started with pid [23589] process[rtabmap/rtabmap-3]: started with pid [23590] [ INFO] [1432488544.335679400]: Starting node... [ INFO] [1432488544.499607602]: rtabmap: frame_id = camera_link [ INFO] [1432488544.499740519]: rtabmap: map_frame_id = map [ INFO] [1432488544.499784839]: rtabmap: queue_size = 10 [ INFO] [1432488544.499832514]: rtabmap: tf_delay = 0.050000 [ INFO] [1432488544.962177998]: Setting RTAB-Map parameter "LccBow/InlierDistance"="0.02" [ INFO] [1432488544.991443170]: Setting RTAB-Map parameter "LccBow/MinInliers"="10" [ INFO] [1432488545.089169463]: Setting odometry parameter "Odom/FeatureType"="6" [ INFO] [1432488545.091561665]: Setting odometry parameter "Odom/FillInfoData"="true" [ INFO] [1432488545.100429381]: Setting odometry parameter "Odom/InlierDistance"="0.02" [ INFO] [1432488545.129776848]: Setting odometry parameter "Odom/MaxDepth"="4.0" [ INFO] [1432488545.143116221]: Setting odometry parameter "Odom/MinInliers"="20" [ INFO] [1432488545.203574521]: Setting odometry parameter "Odom/Strategy"="0" [ INFO] [1432488545.205434629]: Setting odometry parameter "OdomBow/LocalHistorySize"="1000" [ INFO] [1432488545.215406613]: Setting odometry parameter "OdomBow/NNType"="3" [ INFO] [1432488545.755010047]: Using OdometryBOW [ INFO] [1432488546.053525123]: /rtabmap/rgbd_odometry subscribed to: /camera/rgb/image_rect_color, /camera/depth_registered/image_raw, /camera/rgb/camera_info [ INFO] [1432488546.219635570]: RTAB-Map rate detection = 1.000000 Hz [ INFO] [1432488546.219832355]: rtabmap: Deleted database "/home/mathieu/.ros/rtabmap.db" (--delete_db_on_start is set). [ INFO] [1432488546.219873291]: rtabmap: Using database from "/home/mathieu/.ros/rtabmap.db". [ INFO] [1432488546.699859682]: Registering Depth callback... [ INFO] [1432488546.701031500]: /rtabmap/rtabmap subscribed to: /camera/rgb/image_rect_color, /camera/depth_registered/image_raw, /camera/rgb/camera_info, /rtabmap/odom [ INFO] [1432488546.701774004]: rtabmap started... cheers |
Thanks for the quick reply. While installing from source, I got an error in the last step i.e. $catkin_make. I searched on internet but couldnt find a working solution.Here is the error and ather the error I have posted the full output.
CMake Error: Could not open file for write in copy operation /home/ubuntu/catkin_ws/devel/share/rtabmap_ros/cmake/rtabmap_ros-msg-paths.cmake.tmp CMake Error: : System Error: No such file or directory CMake Error: Could not open file for write in copy operation /home/ubuntu/catkin_ws/devel/share/rtabmap_ros/cmake/rtabmap_rosConfig.cmake.tmp CMake Error: : System Error: No such file or directory CMake Error: Could not open file for write in copy operation /home/ubuntu/catkin_ws/devel/share/rtabmap_ros/cmake/rtabmap_rosConfig-version.cmake.tmp CMake Error: : System Error: No such file or directory Here is the FULL OUTPUT - -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- ~~ traversing 1 packages in topological order: -- ~~ - rtabmap_ros -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- +++ processing catkin package: 'rtabmap_ros' -- ==> add_subdirectory(rtabmap_ros) -- Using these message generators: gencpp;genlisp;genpy CMake Error: Could not open file for write in copy operation /home/ubuntu/catkin_ws/devel/share/rtabmap_ros/cmake/rtabmap_ros-msg-paths.cmake.tmp CMake Error: : System Error: No such file or directory CMake Error at /opt/ros/indigo/share/genmsg/cmake/genmsg-extras.cmake:215 (configure_file): configure_file Problem configuring file Call Stack (most recent call first): rtabmap_ros/CMakeLists.txt:67 (generate_messages) CMake Error: Could not open file for write in copy operation /home/ubuntu/catkin_ws/devel/share/rtabmap_ros/cmake/rtabmap_rosConfig.cmake.tmp CMake Error: : System Error: No such file or directory CMake Error at /opt/ros/indigo/share/catkin/cmake/catkin_package.cmake:375 (configure_file): configure_file Problem configuring file Call Stack (most recent call first): /opt/ros/indigo/share/catkin/cmake/catkin_package.cmake:98 (_catkin_package) rtabmap_ros/CMakeLists.txt:86 (catkin_package) CMake Error: Could not open file for write in copy operation /home/ubuntu/catkin_ws/devel/share/rtabmap_ros/cmake/rtabmap_rosConfig-version.cmake.tmp CMake Error: : System Error: No such file or directory CMake Error at /opt/ros/indigo/share/catkin/cmake/catkin_package.cmake:380 (configure_file): configure_file Problem configuring file Call Stack (most recent call first): /opt/ros/indigo/share/catkin/cmake/catkin_package.cmake:98 (_catkin_package) rtabmap_ros/CMakeLists.txt:86 (catkin_package) -- WITH costmap_2d -- WITH octomap -- Configuring incomplete, errors occurred! See also "/home/ubuntu/catkin_ws/build/CMakeFiles/CMakeOutput.log". See also "/home/ubuntu/catkin_ws/build/CMakeFiles/CMakeError.log". make: *** [cmake_check_build_system] Error 1 Invoking "make cmake_check_build_system" failed Thanks |
Administrator
|
The error is from catkin, it cannot copy some files. For the rtabmap_rosConfig*.cmake.tmp, it seems related to these lines in this file: https://github.com/ros/catkin/blob/2599eb973762c2a23f103fdc8bd0ef40e779f2ed/cmake/catkin_package.cmake#L370-L383
Did you initialize the ros workspace? http://wiki.ros.org/catkin/Tutorials/create_a_workspace cheers |
Hi,
Yes, I have initialized the workspace by putting the two source files in bashrc. Currently I am trying to tinker with the files to solve the issue. Since it was saying no such file or directory, I manually made the same name file at that place but that didnt solve the issue. Thanks Kapil Yadav |
I reinstalled ubuntu & ros on my rpi but I got the same error. I tried manual method instead of catkin_make and I got error at cmake step. I am posting my CMakeError.log though I dont understand what is the exact cause -
Determining if the pthread_create exist failed with the following output:
|
Yay! I removed all the errors... :) . I had some wierd permissions set for catkin_ws folder. Some of the folders inside devel were having their owner set as root and not the user(in my case ubuntu). I dont know how their permissions ended up like that because on my laptop running same ubuntu it never happened. For others if encountering this problem, run this command in catkin workspace folder-
$sudo chown -R [username] ./ @M. Labbe Thanks for making such a great library. I will surely post a detailed description of my project once I get my bot running. :) Thanking You, Kapil Yadav |
This post was updated on .
I have compiled rtabmap from source on raspberry pi 2. But this error is coming up when I roslaunch it -
NODES
|
Administrator
|
Hi,
I've seen something like this on a laptop once. The workaround was to build rtabmap library in DEBUG mode. But before, you can test if "rtabmap" alone works (if yes, the problem is on the rtabmap_ros package): $ rtabmap So how to build in Debug. First, cleanup your workspace: $ cd catkin_ws $ rm -r build devel Build the library in Debug (and reinstall in the devel workspace): $ cd rtabmap/build $ cmake -DCMAKE_BUILD_TYPE=Debug .. $ make $ make install I don't know if it is required that the package is in Debug too, but there how you can do that: $ cd catkin_ws $ catkin_make -DCMAKE_BUILD_TYPE=Debug Hope it will help, cheers |
This post was updated on .
Hi,
I tried debug mode... but I am getting the same output. The ---param option is giving segmentation fault and rgbd_mapping.launch is giving the error as mentioned above. What I dont understand is that debug mode is not giving some extra outputs. Instead output is the same as with release mode. Please tell me what else can I try. I want to make it work on rpi. EDIT: I tried $rtabmap on rpi 2 and it worked... (I didnt try earlier bec. I didnt had hdmi monitor and vnc was giving plain gray screens). About the performance of rtabmap on rpi2, it is working a bit slower than on my i5 with nvidia graphics laptop but still it a workable performance for my project. On rpi, I am getting 2-4 fps 3D mapping rate and on my laptop, I get 3D mapping rate of more than 100. And the problem might then be somewhere in the catkin or ros wrappers. Thanking You, Kapil Yadav |
Administrator
|
Hello,
nice to see that at least rtabmap standalone works (I was linking the problem to this old issue that I've just imported from the old googlecode repository). For the performance, by 3D mapping rate you mean the odometry update rate? The rtabmap rate is fixed to 1 fps by default. Yeah, the problem may be in the ros package. So can you try some rtabmap_ros nodes to see if they all fail? $ rosrun rtabmap_ros rtabmap $ rosrun rtabmap_ros rtabmapviz $ rosrun rtabmap_ros data_recorder $ rosrun rtabmap_ros map_assembler $ rosrun rtabmap_ros grid_map_assembler $ rosrun rtabmap_ros rgbd_odometry $ rosrun rtabmap_ros stereo_odometry $ rosrun rtabmap_ros map_optimizer You can also start a node with gdb to see more info about the error: debug.launch : <launch> <node name="rtabmap" type="rtabmap" pkg="rtabmap_ros" launch-prefix="gdb -ex run --args" output="screen"/> </launch> $ roslaunch debug.launch cheers |
Hi,
Yes... my bad.. by 3D mapping rate I meant odometry rate(the fps shown at bottom left corener of 3D map window in the gui). I tried the commands. All of them returned the same error i.e. segmentation fault(core dumped) (except data_recorder which I dont have installed). I started the node with gdb. It certainly gave more insight into the error - ... logging to /home/ubuntu/.ros/log/7a9f93dc-1dd6-11b2-bbb2-b827eb068306/roslaunch-ubuntu-3151.log
|
Administrator
|
Hello,
gdb doesn't show much information. You can try valgrind too. For the fps, the number shown on the bottom-left of the 3D Map view is related to OpenGL refresh rate, not the actual odometry or map update rates. To see odometry processing time, you can see it in the Statistics view (Window->Show view->Statistics) under Odometry/Time value. For the processing time used by the mapping, it is shown under Timing/Total value. To debug, you could try to comment stuff in CoreNode.cpp until the node doesn't crash. |
Hi,
I had to postpone this project because of my exams. Now I am back to it. I was getting this error when I ran rtabmap_ros on rpi 2 with ubuntu (rtabmap without ros is working fine on rpi)- Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
|
Hi,
Valgrind is finally working. I have attached valgrind output. I am not able to figure out the problem from valgrind output....:( . file.txt Thanks for your help. Kapil Yadav |
Administrator
|
We will try to detect which library makes the app crashing on start. RTAB-Map standalone app depends on three built-in libraries "core", "gui" and "utilite". The librtabmap_utilite.so defines a thread class (wrapper of pthread) that maybe related to Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1" error if the Raspberry Pi have somewhat specific thread libraries.
Go to rtabmap source directory (the standalone, not the rtabmap_ros) and try the following: $ cd rtabmap/bin1) Test PCL libraries + librtabmap_utilite.so alone: $ ./rtabmap-extractObject Usage: extractObject [options] cloud.pcd Options: -p #.# plane distance threshold (default 0.02 m) -a #.# plane angle tolerance from z axis (default PI/6) -c #.# cluster tolerance (default 0.1 m) -s # minimum cluster size (default 50 points) -center_obj center the objects to their local reference -save_plane save the plane inliers to "extracted_plane.pcd" 2) Test OpenCV libraries + librtabmap_utilite.so alone: $ ./rtabmap-imagesJoiner Usage: imagesJoiner.exe [option] path Options: -inv option for copying odd images on the right 3) Test OpenCV_PCL libraries + librtabmap_utilite.so + librtabmap_core.so: $ ./rtabmap-rgbd_camera Usage: rtabmap-rgbd_camera driver driver Driver number to use: 0=OpenNI-PCL (Kinect) 1=OpenNI2 (Kinect and Xtion PRO Live) 2=Freenect (Kinect) 3=OpenNI-CV (Kinect) 4=OpenNI-CV-ASUS (Xtion PRO Live) 5=Freenect2 (Kinect v2) 6=DC1394 (Bumblebee2) 7=FlyCapture2 (Bumblebee2) 4) Test OpenCV+PCL+Qt libraries + librtabmap_utilite.so + librtabmap_core.so + librtabmap_gui.so: $ ./rtabmap-rgbd_mapping Usage: rtabmap-rgbd_mapping driver driver Driver number to use: 0=OpenNI-PCL, 1=OpenNI2, 2=Freenect, 3=OpenNI-CV, 4=OpenNI-CV-ASUS Do you have any errors when launching these 4 cases? (crashing before seeing the "usage" above?) |
This post was updated on .
Hi,
I am getting same output as in yours for all the cases i.e. no errors. Also, rtabmap standalone is working ($rtabmap) but rtabmap_ros is giving the error. Thanks, Kapil Yadav |
Hi,
One more question. Can you give me an outline of how to start rtabmap standalone with its gui turned off, automatically turned on new database option and that gives some output when matched features occur? Basically I want to run rtabmap without its gui and control it using terminal. I am right now looking at the source code to get some idea. I am planning on using rtabmap to make an autonomous robot that can make 3d maps of its surroundings and can localize itself. I am thinking of working on both rtabmap_ros and standalone rtabmap in parallel. Thanks for your help. Kapil Yadav |
Administrator
|
If you are planning on using rtabmap on an autonomous robot, I highly recommend to use the rtabmap_ros package. It is too bad that they are not working on your Raspberry Pi. Some people had some linking difficulties with costmap_2d, you could remove the optional dependencies when building rtabmap_ros. You can comment these lines in "rtabmap_ros/CMakeLists.txt".
To use the standalone without the GUI, you may want to check at the RGB-D C++ tutorial. This example is already built (rtabmap/examples/RGBDMapping) when building rtabmap ("rtabmap-rgbd_mapping"). You could remove the GUI stuff from the MapBuilder and add some printfs in the odometry callback to show odometry quality. To have a database saved when closing this example, you should set a database path in "rtabmap->init()": rtabmap->init("", "rtabmap.db"); cheers, Mathieu |
In reply to this post by kapilyadav
Hi,kapilyadav:
I have a similar problem, when I try to execute rtabmap_ros on a Odroid XU3. But instead of exit code -11 I have exit code -7. Exit code -11 means that the node exits because rise a signal number 11 (SIGSEGV). In my case is a bus error. I haven't yet found a solution. |
Free forum by Nabble | Edit this page |