Hey Ugo,
In my experience with the tabletop_object_detector, the
memory usage can be quite bad. The usage depends on the number
of models in the model_set, but I have seen the node use over
2GB of memory.
You can change the number of models being loaded by creating
a new model set with fewer models than the default one. Since
you have your own local copy of the database, take a look at the
model_set table of household_objects_database.
Peter
On Thu, Dec 2, 2010 at 8:51 AM, Ugo
Cupcic
<ugo@shadowrobot.com>
wrote:
Hi all,
I'm trying to use the tabletop_object_detector. It works
fine when I'm
setting use_database to false.
The problem I have is when I'm trying to use the database: I
installed a
local copy of the household_objects_database. The
household_objects_database node seems to be working fine.
However, when
I start the tabletop_object_detector/tabletop_node, the node
crashes
while loading the models (it loads lots of models before
crashing).
Any idea ?
I also had an other quick question: how much RAM does the
tabletop_node
need to load the database? With 4Gb I'm swapping constantly.
You can find the backtrace below.
Cheers,
Ugo
[ INFO] [1291308286.662052341]: Loaded database model with
id 18737
[ INFO] [1291308289.346903337]: Loaded database model with
id 18736
terminate called after throwing an instance of
'std::bad_alloc'
what(): std::bad_alloc
Program received signal SIGABRT, Aborted.
0xb7fe2430 in __kernel_vsyscall ()
(gdb) backtrace
#0 0xb7fe2430 in __kernel_vsyscall ()
#1 0xb7238651 in raise () from /lib/tls/i686/cmov/libc.so.6
#2 0xb723ba82 in abort () from /lib/tls/i686/cmov/libc.so.6
#3 0xb748552f in __gnu_cxx::__verbose_terminate_handler()
()
from /usr/lib/libstdc++.so.6
#4 0xb7483465 in ?? () from /usr/lib/libstdc++.so.6
#5 0xb74834a2 in std::terminate() () from
/usr/lib/libstdc++.so.6
#6 0xb74835e1 in __cxa_throw () from
/usr/lib/libstdc++.so.6
#7 0xb7483c5f in operator new(unsigned int) () from
/usr/lib/libstdc++.so.6
#8 0xb7483d3d in operator new[](unsigned int) () from
/usr/lib/libstdc++.so.6
#9 0xb7a7f616 in VoxelGrid (this=0x1cd82d0,
size_x=0.28061000210046771,
size_y=0.27929999691247942, size_z=0.12600000074505804,
resolution=0.002,
origin_x=-0.14644000318646433,
origin_y=-0.14591999891400337,
origin_z=-0.0050000000000000001, default_object=...)
at
/tmp/buildd/ros-cturtle-collision-environment-0.2.2/debian/ros-cturtle-collision-environment/opt/ros/cturtle/stacks/collision_environment/distance_field/include/distance_field/voxel_grid.h:193
#10 DistanceField (this=0x1cd82d0,
size_x=0.28061000210046771,
size_y=0.27929999691247942, size_z=0.12600000074505804,
resolution=0.002,
origin_x=-0.14644000318646433,
origin_y=-0.14591999891400337,
origin_z=-0.0050000000000000001, default_object=...)
at
/tmp/buildd/ros-cturtle-collision-environment-0.2.2/debian/ros-cturtle-collision-environment/opt/ros/cturtle/stacks/collision_environment/distance_field/---Type
<return> to continue, or q <return> to quit---
include/distance_field/distance_field.h:145
#11 0xb7a7c53b in PropagationDistanceField (this=0x1cd82d0,
size_x=0.28061000210046771, size_y=0.27929999691247942,
size_z=0.12600000074505804, resolution=0.002,
origin_x=-0.14644000318646433,
origin_y=-0.14591999891400337,
origin_z=-0.0050000000000000001,
max_distance=0.10000000149011612)
at
/tmp/buildd/ros-cturtle-collision-environment-0.2.2/debian/ros-cturtle-collision-environment/opt/ros/cturtle/stacks/collision_environment/distance_field/src/propagation_distance_field.cpp:49
#12 0x080d42f5 in
tabletop_object_detector::DistanceFieldFitter::initializeFromBtVectors
(this=0x2070080, points=...)
at
/tmp/buildd/ros-cturtle-tabletop-object-perception-0.2.1/debian/ros-cturtle-tabletop-object-perception/opt/ros/cturtle/stacks/tabletop_object_perception/tabletop_object_detector/src/model_fitter.cpp:98
#13 0x080d4a3f in
tabletop_object_detector::DistanceFieldFitter::initializeFromMesh
(this=0x2070080, mesh=...)
at
/tmp/buildd/ros-cturtle-tabletop-object-perception-0.2.1/debian/ros-cturtle-tabletop-object-perception/opt/ros/cturtle/stacks/tabletop_object_perception/tabletop_object_detector/src/model_fitter.cpp:210
#14 0x080b3fbb in
tabletop_object_detector::ExhaustiveFitDetector<tabletop_object_detector::IterativeTranslationFitter>::loadDatabaseModels
(this=0xbfffec74,
model_set=...)
at
/tmp/buildd/ros-cturtle-tabletop-object-perception-0.2.1/debian/ros-cturt---Type
<return> to continue, or q <return> to quit---
le-tabletop-object-perception/opt/ros/cturtle/stacks/tabletop_object_perception/tabletop_object_detector/include/tabletop_object_detector/exhaustive_fit_detector.h:216
#15 0x080b9fc7 in TabletopNode (this=0xbfffeba4, nh=...)
at
/tmp/buildd/ros-cturtle-tabletop-object-perception-0.2.1/debian/ros-cturtle-tabletop-object-perception/opt/ros/cturtle/stacks/tabletop_object_perception/tabletop_object_detector/src/tabletop_node.cpp:231
#16 0x0807d457 in main (argc=1, argv=0xbffff004)
at
/tmp/buildd/ros-cturtle-tabletop-object-perception-0.2.1/debian/ros-cturtle-tabletop-object-perception/opt/ros/cturtle/stacks/tabletop_object_perception/tabletop_object_detector/src/tabletop_node.cpp:942
--
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
_______________________________________________
ros-users mailing list
ros-users@code.ros.org
https://code.ros.org/mailman/listinfo/ros-users