roboearth: fails to detect object when receiving point cloud
Hi,
I'm using ros-electric-turtlebot running the roboearth.
After building up a 3D model, I use the re_kinect_object_detector to detect the object. The first time the re_kinect_object_detector node received point cloud, there's log message: (I opened some log messages in matchAspects function)
[ INFO] [1331729328.968390255]: received point cloud
[ INFO] [1331729329.068954900]: matching model: PointCloud2.kinectZoomPointCloud2
[ INFO] [1331729329.069546826]: found 2 correspondences.
[ INFO] [1331729329.069591011]: found 2 3D correspondences.
[ INFO] [1331729329.069626568]: matchAspects: found 0 correspondences.
[ INFO] [1331729329.070866657]: found 7 correspondences.
[ INFO] [1331729329.070905464]: found 7 3D correspondences.
[ INFO] [1331729329.070943400]: matchAspects: found 0 correspondences.
[ INFO] [1331729329.070972396]: found 0 correspondences.
[ INFO] [1331729329.071004012]: found 0 3D correspondences.
[ INFO] [1331729329.071033772]: matchAspects: found 0 correspondences.
[ INFO] [1331729329.071294529]: found 0 correspondences.
[ INFO] [1331729329.071322469]: found 0 3D correspondences.
[ INFO] [1331729329.071354157]: matchAspects: found 0 correspondences.
[ INFO] [1331729329.071436934]: found 0 correspondences.
[ INFO] [1331729329.071464717]: found 0 3D correspondences.
[ INFO] [1331729329.071495055]: matchAspects: found 0 correspondences.
[ INFO] [1331729329.072120036]: found 3 correspondences.
[ INFO] [1331729329.072158913]: found 3 3D correspondences.
[ INFO] [1331729329.072194388]: matchAspects: found 0 correspondences.
[ INFO] [1331729329.072599001]: found 0 correspondences.
[ INFO] [1331729329.072637274]: found 0 3D correspondences.
[ INFO] [1331729329.072672226]: matchAspects: found 0 correspondences.
[ INFO] [1331729329.072792093]: found 0 correspondences.
[ INFO] [1331729329.072820856]: found 0 3D correspondences.
[ INFO] [1331729329.072856909]: matchAspects: found 0 correspondences.
[ INFO] [1331729329.073550326]: found 2 correspondences.
[ INFO] [1331729329.073588965]: found 2 3D correspondences.
[ INFO] [1331729329.073622813]: matchAspects: found 0 correspondences.
[ INFO] [1331729329.074955371]: found 9 correspondences.
[ INFO] [1331729329.074985202]: found 9 3D correspondences.
[ INFO] [1331729329.075034665]: matchAspects: found 3 correspondences.
[ INFO] [1331729329.075088732]: HIT 9, minerror: 1.000000
[ INFO] [1331729329.075467930]: found 1 correspondences.
[ INFO] [1331729329.075496754]: found 1 3D correspondences.
[ INFO] [1331729329.075527096]: matchAspects: found 0 correspondences.
[ INFO] [1331729329.077067249]: found 13 correspondences.
[ INFO] [1331729329.077095463]: found 13 3D correspondences.
[ INFO] [1331729329.077138026]: matchAspects: found 0 correspondences.
[ INFO] [1331729329.077487096]: found 1 correspondences.
[ INFO] [1331729329.077515891]: found 1 3D correspondences.
[ INFO] [1331729329.077545470]: matchAspects: found 0 correspondences.
[ INFO] [1331729329.078075524]: found 2 correspondences.
[ INFO] [1331729329.078103767]: found 2 3D correspondences.
[ INFO] [1331729329.078134121]: matchAspects: found 0 correspondences.
[ INFO] [1331729329.078167414]: displaying 307200 points in frame: camera_rgb_optical_frame
And a image window opens, i can see the highlighted object.
But afterwards, when the node receives another point cloud:
[ INFO] [1331729341.966271561]: received point cloud
[ INFO] [1331729342.066705365]: matching model: PointCloud2.kinectZoomPointCloud2
[ INFO] [1331729342.067266809]: found 4 correspondences.
[ INFO] [1331729342.067307929]: found 4 3D correspondences.
[ INFO] [1331729342.067344704]: matchAspects: found 0 correspondences.
[ INFO] [1331729342.068547286]: found 5 correspondences.
[ INFO] [1331729342.068586474]: found 5 3D correspondences.
[ INFO] [1331729342.068620191]: matchAspects: found 0 correspondences.
[ INFO] [1331729342.068651428]: found 0 correspondences.
[ INFO] [1331729342.068683878]: found 0 3D correspondences.
[ INFO] [1331729342.068715168]: matchAspects: found 0 correspondences.
[ INFO] [1331729342.068979946]: found 1 correspondences.
[ INFO] [1331729342.069009116]: found 1 3D correspondences.
[ INFO] [1331729342.069053959]: matchAspects: found 0 correspondences.
[ INFO] [1331729342.069138500]: found 0 correspondences.
[ INFO] [1331729342.069166477]: found 0 3D correspondences.
[ INFO] [1331729342.069197986]: matchAspects: found 0 correspondences.
[ INFO] [1331729342.069836880]: found 2 correspondences.
[ INFO] [1331729342.069874740]: found 2 3D correspondences.
[ INFO ...
Which image do you refer to? The one published under 're_kinect/detection_results'? Alternatively, you can try to enable DEBUG_VIS in src/recognitionmodel.h, ~line 42.
I enabled DEBUG_VIS and can see the match. but after a while, sometimes it lost the highlight points. Also, if i lay down the object that was modeled while standing up, the algorithm can't detect it either...
The methods does not guarantee 100% stability. I don't think I can easily help you there, sorry.