[ros-users] tabletop object detection

Jordi Pages jordi.pages at pal-robotics.com
Fri Sep 3 09:40:58 UTC 2010


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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osuosl.org/pipermail/ros-users/attachments/20100903/ebfefc26/attachment-0002.html>


More information about the ros-users mailing list