[ros-users] tabletop object detection

Dejan Pangercic dejan.pangercic at gmail.com
Fri Sep 3 17:13:51 UTC 2010


Hi Jordi,

you can use this pcd file:
http://ias.cs.tum.edu/~pangerci/icedtea.pcd
and the following launch file:
http://tum-ros-pkg.svn.sourceforge.net/viewvc/tum-ros-pkg/mapping/pcl_cloud_tools/launch/table_clusters_detector_laser.launch?revision=604

to detect the clusters on the horizontal surfaces with height between
0.6 and 1.2 m. Note also that I assume the PointCloud to be in the
base_link frame.

HTH, D.
On Fri, Sep 3, 2010 at 5:46 PM, Matei Ciocarlie <matei at willowgarage.com> wrote:
> Hi Jordi,
>
> You are correct, the problem is that the detector is running out of
> memory when trying to load all the models.
>
> Our current detector does not scale well in terms of either memory or
> speed. It is more of a placeholder until we will have better object
> detectors (many other detectors are being worked on at Willow as we
> speak).
>
> For now, you can probably work with a reduced model set. If you want,
> you can define your own model set, or use one of the ones that we have
> defined.
>
> Matei
>
> On Fri, Sep 3, 2010 at 3:17 AM, Jordi Pages
> <jordi.pages at pal-robotics.com> wrote:
>> Thanks for the answer Dejan. I had already seen the tutorial about object
>> segmentation and I was now trying to register the objects with the ones in
>> the database.
>>
>> Do you mean that with the nodelets the memory problem will not happen? I
>> will wait for it then :)
>>
>> Regards
>>
>> On Fri, Sep 3, 2010 at 12:12 PM, Dejan Pangercic <dejan.pangercic at gmail.com>
>> wrote:
>>>
>>> Hi Jordi,
>>>
>>> if you only want to detect clusters on the table (and not register
>>> them with the ones in e.g. database) you may use the following
>>> tutorial:
>>> http://www.ros.org/wiki/pcl/Tutorials/Cylinder%20model%20segmentation
>>>
>>> I'll also have the launch file with nodelets ready for it today and
>>> can send it to you later on.
>>>
>>> cheers, d.
>>>
>>> On Fri, Sep 3, 2010 at 11:40 AM, Jordi Pages
>>> <jordi.pages at pal-robotics.com> wrote:
>>> > Hi,
>>> >
>>> > I am trying to use tabletop_node in order to detect 3D objects on a
>>> > table
>>> > from a point cloud. First of all I perform the following launch in order
>>> > to
>>> > connect to the Willow Garage's database:
>>> >
>>> > roslaunch household_objects_database
>>> > objects_database_remote_client.launch
>>> >
>>> > Then, I use the following launch script in order to start the tabletop
>>> > detector service:
>>> >
>>> > <launch>
>>> >
>>> >     <node pkg="tabletop_object_detector" name="tabletop_node"
>>> > type="tabletop_node" respawn="false" output="screen">
>>> >
>>> >     <!-- operational parameters -->
>>> >     <param name="perform_fit_merge" value="true" />
>>> >     <param name="fit_merge_threshold" value="0.05" />
>>> >
>>> >     <!-- database parameters -->
>>> >     <param name="use_database" type="bool" value="true" />
>>> >
>>> >     <!-- which debug markers will be published-->
>>> >         <param name="publish_table_marker" value="true" />
>>> >         <param name="publish_cluster_markers" value="true" />
>>> >         <param name="publish_good_fit_markers" value="true" />
>>> >         <param name="publish_bad_fit_markers" value="false" />
>>> >
>>> >     <!--topic remapping-->
>>> >         <remap from="get_model_mesh_srv"
>>> > to="/objects_database_node/get_model_mesh" />
>>> >         <remap from="get_model_list_srv"
>>> > to="/objects_database_node/get_model_list" />
>>> >         <remap from="cloud_new_in" to="tabletop_pointCloud2" />
>>> >         <remap from="object_detection_srv" to="object_detection" />
>>> >         <remap from="markers_out" to="tabletop_detector_markers" />
>>> >
>>> >     <!-- processing and filtering frame -->
>>> >     <!-- remove this entire block and processing and filtering will -->
>>> >     <!-- be done with default settings, in the incoming cloud frame -->
>>> >     <param name="processing_frame" value="camera" />
>>> >     <param name="up_direction" value="1.0" />
>>> >     <param name="z_filter_min" value="0.2" />
>>> >     <param name="z_filter_max" value="1.0" />
>>> >
>>> >     <!-- Consider only objects in a given layer above the table -->
>>> >     <param name="table_z_filter_min" value="-0.01" />
>>> >     <param name="table_z_filter_max" value="0.3" />
>>> >     </node>
>>> >
>>> > </launch>
>>> >
>>> > Then it seems that the whole object models in the remote database are
>>> > loaded
>>> > in memory until I get the following error:
>>> >
>>> > ...
>>> > [ INFO] [1283502049.420937925]:   Loaded database model with id 18726
>>> > [ INFO] [1283502050.616779449]:   Loaded database model with id 18729
>>> > [ INFO] [1283502053.401691637]:   Loaded database model with id 18737
>>> > terminate called after throwing an instance of 'std::bad_alloc'
>>> >   what():  std::bad_alloc
>>> > [tabletop_node-1] process has died [pid 10502, exit code -6].
>>> > log files:
>>> >
>>> > /home/jordi/.ros/log/c5f05230-b733-11df-9bb8-e0cb4e1f7c63/tabletop_node-1*.log
>>> > all processes on machine have died, roslaunch will exit
>>> > shutting down processing monitor...
>>> > ... shutting down processing monitor complete
>>> > done
>>> >
>>> > Is it correct that when setting use_database=true in the launch file,
>>> > the
>>> > tabletop_node tries to load all models in memory?
>>> >
>>> > If I set the following parameter in the launch file:
>>> >
>>> > <param name="model_set" type="string" value="REDUCED_MODEL_SET" />
>>> >
>>> > just a smaller set of models are loaded and the node does not crash.
>>> > Then I
>>> > publish the point cloud from the file
>>> > pcl_tutorials/data/table_scene_mug_stereo_textured.pcd and I send a
>>> > request
>>> > to the tabletop service to detect objects in this cloud. I can see in
>>> > rviz
>>> > that the table is correctly detected but the mug is not. Does anybody
>>> > know
>>> > if this mug should be detected? Perhaps the mug model is not included in
>>> > the
>>> > REDUCED_MODEL_SET?
>>> >
>>> > Regards
>>> >
>>> >
>>> > --
>>> > Jordi Pages, PhD
>>> > Researcher
>>> > Pal Robotics S.L.
>>> >
>>> > Tel: +34.93.414.53.47
>>> > Fax: +34.93.209.11.09
>>> > C/ Pujades 77-79 4º 4ª 08005 Barcelona, Spain.
>>> > http://www.pal-robotics.com/
>>> >
>>> > AVISO DE CONFIDENCIALIDAD: Este mensaje y sus documentos adjuntos,
>>> > pueden
>>> > contener información privilegiada y/o confidencial que está dirigida
>>> > exclusivamente a su destinatario.
>>> > Si usted recibe este mensaje y no es el destinatario indicado, o el
>>> > empleado
>>> > encargado de su entrega a dicha persona, por favor, notifíquelo
>>> > inmediatamente y remita el mensaje original a la dirección
>>> > de correo electrónico indicada. Cualquier copia, uso o distribución no
>>> > autorizados de esta comunicación queda estrictamente prohibida.
>>> >
>>> > CONFIDENTIALITY NOTICE: This e-mail and the accompanying document(s) may
>>> > contain confidential information which is privileged and intended only
>>> > for
>>> > the individual or entity to whom they are addressed.  If you are not the
>>> > intended recipient, you are hereby notified that any disclosure,
>>> > copying,
>>> > distribution or use of this e-mail and/or accompanying document(s) is
>>> > strictly prohibited.  If you have received this e-mail in error, please
>>> > immediately notify the sender at the above e-mail address.
>>> >
>>> >
>>> > _______________________________________________
>>> > ros-users mailing list
>>> > ros-users at code.ros.org
>>> > https://code.ros.org/mailman/listinfo/ros-users
>>> >
>>> >
>>>
>>>
>>>
>>> --
>>> MSc. Dejan Pangercic
>>> PhD Student/Researcher
>>> Intelligent Autonomous Systems Group
>>> Technische Universität München
>>> Telephone: +49 (89) 289-26908
>>> E-Mail: dejan.pangercic at cs.tum.edu
>>> WWW: http://ias.cs.tum.edu/people/pangercic
>>> _______________________________________________
>>> ros-users mailing list
>>> ros-users at code.ros.org
>>> https://code.ros.org/mailman/listinfo/ros-users
>>
>>
>>
>> --
>> Jordi Pages, PhD
>> Researcher
>> Pal Robotics S.L.
>>
>> Tel: +34.93.414.53.47
>> Fax: +34.93.209.11.09
>> C/ Pujades 77-79 4º 4ª 08005 Barcelona, Spain.
>> http://www.pal-robotics.com/
>>
>> AVISO DE CONFIDENCIALIDAD: Este mensaje y sus documentos adjuntos, pueden
>> contener información privilegiada y/o confidencial que está dirigida
>> exclusivamente a su destinatario.
>> Si usted recibe este mensaje y no es el destinatario indicado, o el empleado
>> encargado de su entrega a dicha persona, por favor, notifíquelo
>> inmediatamente y remita el mensaje original a la dirección
>> de correo electrónico indicada. Cualquier copia, uso o distribución no
>> autorizados de esta comunicación queda estrictamente prohibida.
>>
>> CONFIDENTIALITY NOTICE: This e-mail and the accompanying document(s) may
>> contain confidential information which is privileged and intended only for
>> the individual or entity to whom they are addressed.  If you are not the
>> intended recipient, you are hereby notified that any disclosure, copying,
>> distribution or use of this e-mail and/or accompanying document(s) is
>> strictly prohibited.  If you have received this e-mail in error, please
>> immediately notify the sender at the above e-mail address.
>>
>>
>> _______________________________________________
>> ros-users mailing list
>> ros-users at code.ros.org
>> https://code.ros.org/mailman/listinfo/ros-users
>>
>>
>
>
>
> --
> Matei Ciocarlie
> Research Scientist
> Willow Garage Inc.
> 650-475-9780
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
>



-- 
MSc. Dejan Pangercic
PhD Student/Researcher
Intelligent Autonomous Systems Group
Technische Universität München
Telephone: +49 (89) 289-26908
E-Mail: dejan.pangercic at cs.tum.edu
WWW: http://ias.cs.tum.edu/people/pangercic



More information about the ros-users mailing list