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@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@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@cs.tum.edu
WWW:
http://ias.cs.tum.edu/people/pangercic