ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
2

Creating models for household_objects_database

asked 2012-01-03 22:05:18 -0600

Hououin Kyouma gravatar image

updated 2012-01-07 01:39:16 -0600

Hi, I'm trying to add a new model in a local version of the household_object_database so I can recognize my own objects with the tabletop_object_detector.

I made a model in Solidworks and exported it to STL format, which I exported again to PLY format using Blender. Then I deleted all models from my local database and used insert_model.cpp to add my own model and added it manually to a model set, the database seems fine now. The problem is, when I launch tabletop_complete.launch I get the following error:

terminate called after throwing an instance of 'std::bad_alloc'  
what(): std::bad_alloc

Everything works when I use the original models from the database, so I suspect that the model I made is faulty. Is there a better way to create models? I also tried 3DSom as described in the link below, but 3DSom is licensed and doesn't work properly for me. Are there any other ways to create 3D models? Thanks in advance!

http://www.ros.org/wiki/household%20objects

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
1

answered 2012-01-13 06:10:48 -0600

Hououin Kyouma gravatar image

My teammate solved the problem today, it appears that the household_database uses models specified in meters, while the model I had was specified in centimeters. Specifying the size in meters solves the problem.

As for ways to create 3D models, it doesn't matter what application you use, as long as it is able to export the model to PLY format. I used models created in 3DSom, Solidworks and 3dSMax and converted them to PLY format with Blender, which worked perfectly for me.

edit flag offensive delete link more

Comments

Hey which version of the households backup file have used.
karthik gravatar image karthik  ( 2012-01-16 23:43:51 -0600 )edit
I used the latest version of the household_object_database, but I removed all objects in it for my own use.
Hououin Kyouma gravatar image Hououin Kyouma  ( 2012-01-17 00:06:01 -0600 )edit
Hey could i have your email id, i mean i am not sure on how to use the tabletop_object_detector with household_object_database?
karthik gravatar image karthik  ( 2012-01-17 17:33:55 -0600 )edit
0

answered 2012-01-17 20:14:18 -0600

Hououin Kyouma gravatar image

updated 2012-01-17 20:16:03 -0600

Hi karthik, this is what you need to do to make it work:

  • Follow the tutorials here to set up your database.

  • Launch the tabletop_complete.launch file in package tabletop_object_detector

  • Launch the household_objects_database node

I wrote the following launch file to do this.

<launch>
<!-- load database connection parameters -->
    <rosparam command="load"     
        file="$(find image_processing)/config/household_objects_params.yaml"/>

<!-- start the database wrapper node -->
     <node pkg="household_objects_database" name="objects_database_node" 
         type="objects_database_node" respawn="true" output="screen"/>

<include file="$(find tabletop_object_detector)/launch/tabletop_complete.launch"/>
</launch>
  • Then, you need to write a node that calls the service provided by the tabletop_node. You can follow this tutorial to do that:

Also, make sure that you publish your point clouds to the correct topic (see tabletop_complete.launch for the topic).

I think that's all there is to it, but maybe I forgot a step because it's been a while for me when I did this. You can contact me at w.k.h.ko@student.tudelft.nl when you have more questions. Good luck!

edit flag offensive delete link more

Comments

Hi; I have a question .. Is household_object_database must be used with tabletop_object_detector ! or it can be used with any object detector like : RoboEarth detector ??

RiskTeam gravatar image RiskTeam  ( 2013-01-29 22:47:30 -0600 )edit

As far as I know, the household_object_database only works with the tabletop_object_detector. Roboearth has its own database and you can easily add your own models to it. Check out Roboearth's website or google it for more info, been a long time since I used it so I don't quite remember.. :P

Hououin Kyouma gravatar image Hououin Kyouma  ( 2013-01-29 23:15:56 -0600 )edit

Also, the models in the houdehold_object_database are in a different format than the models used for RoboEarth and the general structure of the database is different, so I don't think that you can use the household_object_database in combination with RoboEarth, at least not in a simple way.

Hououin Kyouma gravatar image Hououin Kyouma  ( 2013-01-29 23:18:39 -0600 )edit

No,I'm not talking about RoboEarth website,but I'm talking about roboEarth stack .. and re_kinect_object_detector package

RiskTeam gravatar image RiskTeam  ( 2013-02-01 01:00:34 -0600 )edit

I'm aware you're not talking about the roboearth website.. But as I tried to explain, the answer to your question is probably: No, the household_object_database cannot be used for RoboEarth, since RoboEarth probably uses another format for 3D models.

Hououin Kyouma gravatar image Hououin Kyouma  ( 2013-02-06 14:24:09 -0600 )edit

ok,thanks so much .

RiskTeam gravatar image RiskTeam  ( 2013-02-24 07:29:13 -0600 )edit

Question Tools

Stats

Asked: 2012-01-03 22:05:18 -0600

Seen: 542 times

Last updated: Jan 17 '12