ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

rgbdslam v2 process has died

asked 2016-03-17 17:42:03 -0500

ahmed charef gravatar image

Hello all,

I have (supposedly) successfully catkin_make'd rgbdslam_v2 following the instructions from ( http://felixendres.github.io/rgbdslam... ) 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 ...
(more)
edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
1

answered 2016-03-21 05:35:56 -0500

updated 2016-03-21 05:36:24 -0500

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

  }
edit flag offensive delete link more

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):

ahmed charef gravatar image ahmed charef  ( 2016-03-21 19:38:49 -0500 )edit

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.

ahmed charef gravatar image ahmed charef  ( 2016-03-21 19:39:20 -0500 )edit

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?

Felix Endres gravatar image Felix Endres  ( 2016-03-26 17:32:15 -0500 )edit

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

ahmed charef gravatar image ahmed charef  ( 2016-03-27 06:31:40 -0500 )edit

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

Felix Endres gravatar image Felix Endres  ( 2016-03-29 10:24:59 -0500 )edit
-1

answered 2016-03-18 09:01:34 -0500

goupil35000 gravatar image

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.

edit flag offensive delete link more

Comments

I'm using Ubuntu 12.04 LTS and Hydro.

ahmed charef gravatar image ahmed charef  ( 2016-03-18 10:54:32 -0500 )edit

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

Felix Endres gravatar image Felix Endres  ( 2016-03-21 05:15:58 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2016-03-17 17:42:03 -0500

Seen: 1,888 times

Last updated: Mar 21 '16