Hi, This thread is a bit old, but I think I found what the problem was: I couldn't use base_link as the processing_frame for the tabletop_object_detector, even though the transform between /base_link and /openni_rgb_optical_frame existed. I think it's because there's a missing waitForTransform in the tabletop_segmentation.cpp file. Adding this waitForTransform solved my problem. Please find the patch attached. Cheers, Ugo On Mon, Jan 10, 2011 at 5:20 PM, Matei Ciocarlie wrote: > Hi Ugo, > > If I use this instead of "fixed": >> >> >> then it works properly. >> > > Well, glad it's fixed; I can venture some guesses on what was wrong below > and let us know if you start seeing problems again. > > It is true that the "base_link" frame is considered a "default frame" in > parts of the code. There is need for one, as well as a frame in which > assumptions can be made regarding which way is "logical down" (gravity), > etc. We have tried to make that a parameter, but we might have missed it in > various places where it's hard coded in. I would not be very surprised if we > had strange behaviors in a system with no "base link" frame. However, that > is indeed the right place to specify your own processing frame, so I'm > encouraged that changing that parameter fixed your problem. > > >> > As you can see on those screenshots, though the table plan is found >> > correctly, the segmented point cloud includes the table and the object. >> > >> > http://img5.imagebanana.com/img/xx8ltmur/Selection_001.png >> > http://img5.imagebanana.com/img/ji89gls7/Selection_002.png >> > > I would guess this is related to the problem above. The point clouds are > coming in in a frame that is not the processing frame, and "base_link" was > not available to transform into. I agree that it should however give you > some more informative error messages instead of wrong point clouds... > > >> > >> > I'm not sure what I did wrong. In the log below, I see those warnings: >> > [ INFO] [1294654799.697276843]: cannot extend bbox to table, they are >> > not in the same frame >> > [ WARN] [1294654799.697396094]: Failed to extend bbox to table; using >> > original dimensions >> > > This is a different part of the code, in the > tabletop_collision_map_processing. In there, we take the bounding boxes of > segmented point clouds and add them to the collision system. We have found > that even if the point cloud appears to not extend all the way down to the > table, the system is more robust if we force its bounding box to extend to > the table (since it is unlikely that the object is floating in mid-air). > That process fails due to the same problem above, but the error correction > catches it and just gives you the original bounding box, not extended to > touch the table. Should not be a stopper for anything downstream. > > Best, > Matei > > >> > My only clue is that lots of code in tabletop_object_detector and the >> > depending packages seems to have "base_link" hard coded as the reference >> > link. I'm using "fixed", so I'm publishing a fixed transform between >> > fixed and base_link. (I tried to use: > > to="fixed" /> in my nodes but I get the error: [ERROR] [WallTime: >> > 1294655504.963270] tf transform was not there!!). Anyway I don't think >> > that it's related to my problem, as even with this error, I get the >> > yellow rectangle for the table + the object segmented point cloud which >> > contains the table as shown previously. >> > >> > Sorry if my message is not precise enough, but I'm a bit lost here and >> > I'm not sure where to start looking. >> > >> > Any help greatly appreciated. >> > >> > Cheers, >> > >> > Ugo >> > >> > >> > [ INFO] [1294654796.985860596]: Tabletop detection service called; >> > waiting for a point_cloud2 on topic /camera/depth/points2 >> > [ INFO] [1294654797.261886506]: Point cloud received; processing >> > [ INFO] [1294654797.374996037]: Input cloud converted to fixed frame >> > [ INFO] [1294654797.375096220]: Starting process on new cloud >> > [ INFO] [1294654797.400421841]: Step 1 done >> > [ INFO] [1294654797.433487674]: Step 2 done >> > [ INFO] [1294654797.464712409]: [TableObjectDetector::input_callback] >> > Model found with 2992 inliers: [0.090311 -0.057030 0.994279 -0.009768]. >> > [ INFO] [1294654797.464846818]: Step 3 done >> > [ INFO] [1294654797.465131387]: Step 4 done >> > [ INFO] [1294654797.477030009]: Table computed >> > [ INFO] [1294654797.508113609]: Number of object point candidates: >> > 55342. >> > [ INFO] [1294654798.549648017]: Number of clusters found matching the >> > given constraints: 1. >> > cloud_objects frame: fixed >> > [ INFO] [1294654798.568788369]: Clusters converted >> > [ INFO] [1294654798.595098187]: Fitting models to clusters >> > [ INFO] [1294654799.025706263]: - fit with score 0.046118 for model id >> > 18791 >> > [ INFO] [1294654799.063682509]: Cloud size: 34522 >> > [INFO] [WallTime: 1294654799.444427] finding the bounding box for a >> > point cluster >> > [INFO] [WallTime: 1294654799.613361] waiting for transform: base_link >> > from fixed >> > [INFO] [WallTime: 1294654799.617360] got transform >> > [INFO] [WallTime: 1294654799.645909] chopped points off of dim -0, >> > lowest val = -0.353, searchval = -0.327 >> > [INFO] [WallTime: 1294654799.668446] chopped points off of dim -1, >> > lowest val = -0.298, searchval = -0.274 >> > [INFO] [WallTime: 1294654799.690813] chopped points off of dim 2, >> > highest val = 0.308, searchval = 0.261 >> > [ INFO] [1294654799.697276843]: cannot extend bbox to table, they are >> > not in the same frame >> > [ WARN] [1294654799.697396094]: Failed to extend bbox to table; using >> > original dimensions >> > [ INFO] [1294654799.697444127]: Adding bounding box with dimensions >> > 0.623375 0.423401 0.260162 to collision map >> > [ERROR] [1294654829.700053341]: Collision map was not formed in allowed >> > time >> > [ERROR] [1294654829.700812477]: Collision map processing error; >> > exception: collision map: static make was not formed in allowed time >> > >> >> -- >> Ugo Cupcic | Shadow Robot Company | ugo@shadowrobot.com >> Software Engineer | 251 Liverpool Road | >> need a Hand? | London N1 1LX | +44 20 7700 2487 >> http://www.shadowrobot.com/hand/ @shadowrobot >> >> _______________________________________________ >> ros-users mailing list >> ros-users@code.ros.org >> https://code.ros.org/mailman/listinfo/ros-users >> > > > > -- > Matei Ciocarlie > Research Scientist > Willow Garage Inc. > 650-475-9780 > -- Ugo Cupcic | Shadow Robot Company | ugo@shadowrobot.com Software Engineer | 251 Liverpool Road | need a Hand? | London N1 1LX | +44 20 7700 2487 http://www.shadowrobot.com/hand/ @shadowrobot