Robotics StackExchange | Archived questions

rgbdslam v2 process has died

Hello all,

I have (supposedly) successfully catkinmake'd rgbdslamv2 following the instructions from (http://felixendres.github.io/rgbdslam_v2/) on ros-hydro and ubuntu.

Then I run :

roslaunch rgbdslam rgbdslam.launch

Everything good so far, also i recorded some PCD file.

But, when i want to load PCD file I get the error below:

/home/ahmed/catkin_ws/devel/lib/rgbdslam/point cloud to node wise_0001.pcd
[ INFO] [1458254044.225434759]: Processing file /home/ahmed/catkin_ws/devel/lib/rgbdslam/point cloud to node wise_0001.pcd
[ INFO] [1458254044.234612792]: Received data from pcd file reader
[ WARN] [1458254044.234693868]: First RGBD-Data Received
[ INFO] [1458254044.235898013]: Construction of Node with ORB Features
[ INFO] [1458254044.251699491]: Feature 2d size: 331, 3D: 331
[ INFO] [1458254044.251751634]: Feature 2d size: 331, 3D: 331
rgbdslam: /home/ahmed/catkin_ws/src/rgbdslam_v2-hydro/src/node.cpp:315: Node::Node(cv::Mat, cv::Ptr<cv::FeatureDetector>, cv::Ptr<cv::DescriptorExtractor>, pcl::PointCloud<pcl::PointXYZRGB>::Ptr, cv::Mat): Assertion `feature_locations_2d_.size() == feature_locations_3d_.size()' failed.
================================================================================REQUIRED process [rgbdslam-23] has died!
process has died [pid 10394, exit code -6, cmd /home/ahmed/catkin_ws/devel/lib/rgbdslam/rgbdslam __name:=rgbdslam __log:=/home/ahmed/.ros/log/5421407c-ec90-11e5-a8d2-fcf8ae4cc7ff/rgbdslam-23.log].
log file: /home/ahmed/.ros/log/5421407c-ec90-11e5-a8d2-fcf8ae4cc7ff/rgbdslam-23*.log
Initiating shutdown!
================================================================================

Here all log commands executed in the terminal:

ahmed@ahmed-server:~$ roslaunch rgbdslam openni+rgbdslam.launch 
... logging to /home/ahmed/.ros/log/5421407c-ec90-11e5-a8d2-fcf8ae4cc7ff/roslaunch-ahmed-server-10063.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://ahmed-server:49983/

SUMMARY
========

PARAMETERS
 * /camera/camera_nodelet_manager/num_worker_threads
 * /camera/depth_rectify_depth/interpolation
 * /camera/depth_registered_rectify_depth/interpolation
 * /camera/disparity_depth/max_range
 * /camera/disparity_depth/min_range
 * /camera/disparity_registered_hw/max_range
 * /camera/disparity_registered_hw/min_range
 * /camera/disparity_registered_sw/max_range
 * /camera/disparity_registered_sw/min_range
 * /camera/driver/depth_camera_info_url
 * /camera/driver/depth_frame_id
 * /camera/driver/depth_registration
 * /camera/driver/device_id
 * /camera/driver/rgb_camera_info_url
 * /camera/driver/rgb_frame_id
 * /rgbdslam/config/backend_solver
 * /rgbdslam/config/cloud_creation_skip_step
 * /rgbdslam/config/cloud_display_type
 * /rgbdslam/config/detector_grid_resolution
 * /rgbdslam/config/feature_detector_type
 * /rgbdslam/config/feature_extractor_type
 * /rgbdslam/config/max_keypoints
 * /rgbdslam/config/max_matches
 * /rgbdslam/config/min_sampled_candidates
 * /rgbdslam/config/neighbor_candidates
 * /rgbdslam/config/optimizer_skip_step
 * /rgbdslam/config/pose_relative_to
 * /rgbdslam/config/predecessor_candidates
 * /rgbdslam/config/ransac_iterations
 * /rgbdslam/config/topic_image_depth
 * /rgbdslam/config/topic_image_mono
 * /rosdistro
 * /rosversion

NODES
  /camera/
    camera_nodelet_manager (nodelet/nodelet)
    debayer (nodelet/nodelet)
    depth_metric (nodelet/nodelet)
    depth_metric_rect (nodelet/nodelet)
    depth_points (nodelet/nodelet)
    depth_rectify_depth (nodelet/nodelet)
    depth_registered_rectify_depth (nodelet/nodelet)
    disparity_depth (nodelet/nodelet)
    disparity_registered_hw (nodelet/nodelet)
    disparity_registered_sw (nodelet/nodelet)
    driver (nodelet/nodelet)
    points_xyzrgb_hw_registered (nodelet/nodelet)
    points_xyzrgb_sw_registered (nodelet/nodelet)
    rectify_color (nodelet/nodelet)
    rectify_ir (nodelet/nodelet)
    rectify_mono (nodelet/nodelet)
    register_depth_rgb (nodelet/nodelet)
  /
    camera_base_link (tf/static_transform_publisher)
    camera_base_link1 (tf/static_transform_publisher)
    camera_base_link2 (tf/static_transform_publisher)
    camera_base_link3 (tf/static_transform_publisher)
    rgbdslam (rgbdslam/rgbdslam)

auto-starting new master
process[master]: started with pid [10078]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 5421407c-ec90-11e5-a8d2-fcf8ae4cc7ff
process[rosout-1]: started with pid [10091]
started core service [/rosout]
process[camera/camera_nodelet_manager-2]: started with pid [10103]
[ INFO] [1458254034.151722815]: Initializing nodelet with 4 worker threads.
process[camera/driver-3]: started with pid [10124]
process[camera/debayer-4]: started with pid [10140]
[ INFO] [1458254034.230334750]: No devices connected.... waiting for devices to be connected
process[camera/rectify_mono-5]: started with pid [10154]
process[camera/rectify_color-6]: started with pid [10168]
process[camera/rectify_ir-7]: started with pid [10182]
process[camera/depth_rectify_depth-8]: started with pid [10196]
process[camera/depth_metric_rect-9]: started with pid [10210]
process[camera/depth_metric-10]: started with pid [10224]
process[camera/depth_points-11]: started with pid [10238]
process[camera/register_depth_rgb-12]: started with pid [10252]
process[camera/points_xyzrgb_sw_registered-13]: started with pid [10266]
process[camera/depth_registered_rectify_depth-14]: started with pid [10280]
process[camera/points_xyzrgb_hw_registered-15]: started with pid [10294]
process[camera/disparity_depth-16]: started with pid [10308]
process[camera/disparity_registered_sw-17]: started with pid [10322]
process[camera/disparity_registered_hw-18]: started with pid [10336]
process[camera_base_link-19]: started with pid [10350]
process[camera_base_link1-20]: started with pid [10361]
process[camera_base_link2-21]: started with pid [10372]
process[camera_base_link3-22]: started with pid [10383]
process[rgbdslam-23]: started with pid [10394]
Initializing Node...
[ INFO] [1458254035.027834117]: Connected to roscore
[ INFO] [1458254035.170299594]: Using ORB keypoint detector.
[ INFO] [1458254035.170371337]: Using gridded keypoint detector with 3x3 cells, keeping 900 keypoints in total.
[ INFO] [1458254035.170402918]: Using adjusted keypoint detector with 5 maximum iterations, keeping the number of keypoints between 67 and 100
[ INFO] [1458254035.175332338]: Listening to /camera/rgb/image_color and /camera/depth_registered/sw_registered/image_rect_raw
[ INFO] [1458254037.235490304]: No devices connected.... waiting for devices to be connected
[ INFO] [1458254040.241189574]: No devices connected.... waiting for devices to be connected
[ INFO] [1458254043.245851761]: No devices connected.... waiting for devices to be connected
/home/ahmed/catkin_ws/devel/lib/rgbdslam/point cloud to node wise_0001.pcd
[ INFO] [1458254044.225434759]: Processing file /home/ahmed/catkin_ws/devel/lib/rgbdslam/point cloud to node wise_0001.pcd
[ INFO] [1458254044.234612792]: Received data from pcd file reader
[ WARN] [1458254044.234693868]: First RGBD-Data Received
[ INFO] [1458254044.235898013]: Construction of Node with ORB Features
[ INFO] [1458254044.251699491]: Feature 2d size: 331, 3D: 331
[ INFO] [1458254044.251751634]: Feature 2d size: 331, 3D: 331
rgbdslam: /home/ahmed/catkin_ws/src/rgbdslam_v2-hydro/src/node.cpp:315: Node::Node(cv::Mat, cv::Ptr<cv::FeatureDetector>, cv::Ptr<cv::DescriptorExtractor>, pcl::PointCloud<pcl::PointXYZRGB>::Ptr, cv::Mat): Assertion `feature_locations_2d_.size() == feature_locations_3d_.size()' failed.
================================================================================REQUIRED process [rgbdslam-23] has died!
process has died [pid 10394, exit code -6, cmd /home/ahmed/catkin_ws/devel/lib/rgbdslam/rgbdslam __name:=rgbdslam __log:=/home/ahmed/.ros/log/5421407c-ec90-11e5-a8d2-fcf8ae4cc7ff/rgbdslam-23.log].
log file: /home/ahmed/.ros/log/5421407c-ec90-11e5-a8d2-fcf8ae4cc7ff/rgbdslam-23*.log
Initiating shutdown!
================================================================================
[rgbdslam-23] killing on exit
 [camera_base_link3-22] killing on exit
[camera_base_link2-21] killing on exit
[camera_base_link1-20] killing on exit
[camera_base_link-19] killing on exit
[camera/disparity_registered_hw-18] killing on exit
[camera/disparity_registered_sw-17] killing on exit
[camera/disparity_depth-16] killing on exit
[camera/depth_registered_rectify_depth-14] killing on exit
[camera/points_xyzrgb_hw_registered-15] killing on exit
 [camera/points_xyzrgb_sw_registered-13] killing on exit
[camera/depth_points-11] killing on exit
[camera/depth_metric-10] killing on exit
 [camera/register_depth_rgb-12] killing on exit
[camera/depth_rectify_depth-8] killing on exit
[camera/depth_metric_rect-9] killing on exit
[camera/rectify_ir-7] killing on exit
[camera/rectify_color-6] killing on exit
[camera/rectify_mono-5] killing on exit
[camera/driver-3] killing on exit
[camera/debayer-4] killing on exit
[camera/camera_nodelet_manager-2] killing on exit
[camera/camera_nodelet_manager-2] escalating to SIGTERM
[rosout-1] killing on exit
[master] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done

Anyone have an idea on how to solve this problem ?

Asked by ahmed charef on 2016-03-17 17:42:03 UTC

Comments

Answers

Hello,

May be because for hydro the good version is the first version of RGBDSLAM not RGBDSLAM_v2 ?

Hydro = first version of RGBDSLAM

Indigo = RGBDSLAM_v2

Hope this helps.

Asked by goupil35000 on 2016-03-18 09:01:34 UTC

Comments

I'm using Ubuntu 12.04 LTS and Hydro.

Asked by ahmed charef on 2016-03-18 10:54:32 UTC

rgbdslam_v2 is for both, hydro and indigo. The original rgbdslam is for fuerte.

Asked by Felix Endres on 2016-03-21 05:15:58 UTC

That's a bug. The assertion is false (but required to be true by later code).

As a quick fix, could you please try to copy line 307 of src/node.cpp (projectTo3D....) below line 310? It should then look like this

  if(ps->get<std::string>("feature_detector_type") != "GICP")
  {
    projectTo3D(feature_locations_2d_, feature_locations_3d_, pc_col); //takes less than 0.01 sec
    // projectTo3d need a dense cloud to use the points.at(px.x,px.y)-Call
    ScopedTimer s("Feature Extraction");
    extractor->compute(gray_img, feature_locations_2d_, feature_descriptors_); //fill feature_descriptors_ with information 
    projectTo3D(feature_locations_2d_, feature_locations_3d_, pc_col); //takes less than 0.01 sec

  }

Asked by Felix Endres on 2016-03-21 05:35:56 UTC

Comments

thank you,i just have add this line projectTo3D(feature_locations_2d_, feature_locations_3d_, pc_col); //takes less than 0.01 sec

but when i have insert multiple *.pcd files i got some new errors (line 317):

Asked by ahmed charef on 2016-03-21 19:38:49 UTC

node.cpp:317: Node::Node(cv::Mat, cv::Ptr<cv::FeatureDetector>, cv::Ptr<cv::DescriptorExtractor>, pcl::PointCloud<pcl::PointXYZRGB>::Ptr, cv::Mat): Assertion feature_locations_3d_.size() == (unsigned int)feature_descriptors_.rows' failed.

Asked by ahmed charef on 2016-03-21 19:39:20 UTC

I think it's a concurrency issue (the cloud changes between the calls to projectTo3D. Could you set the parameter "concurrent_node_construction" to false please, e.g. in the launch file?

Asked by Felix Endres on 2016-03-26 17:32:15 UTC

Sorry i don't have this parameter in the launch file.

Asked by ahmed charef on 2016-03-27 06:31:40 UTC

add it then. <param name="concurrent_node_construction" value="false" />

Asked by Felix Endres on 2016-03-29 10:24:59 UTC