GithubHelp home page GithubHelp logo

tabletop's People

Contributors

awesomebytes avatar bit-pirate avatar bmagyar avatar cottsay avatar dgossow avatar hris2003 avatar tcavallari avatar toliver avatar vrabaud avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tabletop's Issues

Is there is a way to change source to one which does not depend on Openni (e.g. Astra) or get it work with Gazebo Simulation

I want to use tabletop and object detection with Gazebo simulation and with Turtlebot with Astra RGB-D or non-Openni source!

How to achieve that?

I changed the configuration files to topics published by Gazebo, but I got

[ INFO] [1485107783.427112596]: Initialized ROS. node_name: /object_recognition_server
X server found. dri2 connection failed!
X server found. dri2 connection failed!
X server found. dri2 connection failed!
X server found. dri2 connection failed!
X server found. dri2 connection failed!
X server found. dri2 connection failed!
X server found. dri2 connection failed!
X server found. dri2 connection failed!
X server found. dri2 connection failed!
X server found. dri2 connection failed!
X server found. dri2 connection failed!
[ INFO] [1485107783.798901256, 3646.770000000]: System already initialized. node_name: /object_recognition_server
[ INFO] [1485107783.805682051, 3646.780000000]: Subscribed to topic:/camera/depth_registered/camera_info [queue_size: 1][tcp_nodelay: 0]
[ INFO] [1485107783.808482435, 3646.780000000]: Subscribed to topic:/camera/rgb/camera_info [queue_size: 1][tcp_nodelay: 0]
[ INFO] [1485107783.811689709, 3646.780000000]: Subscribed to topic:/camera/depth_registered/image_raw [queue_size: 1][tcp_nodelay: 0]
[ INFO] [1485107783.816693898, 3646.790000000]: Subscribed to topic:/camera/rgb/image_color [queue_size: 1][tcp_nodelay: 0]

Is there is any documentation how the package implemented and also on ecto_image_pipeline which contains camera source, and how to change the implementation!

Mesh not loaded correctly (ObjectRecognizer crashes)

As discussed in https://groups.google.com/forum/#!topic/object-recognition-kitchen/ijpfJdG9q8E

The ObjectRecognizer.cpp tries to read a mesh called "original" from the DB, but the default way to generate a mesh (i.e. rosrun object_recognition_reconstruction mesh_object --all --commit) doesn't generate a file with such a name.

I modified it to get a bit further. See the following commit.

shadow-robot@2c149db

Then I get the following output. The file is correctly read from the DB, and parsed using the assimp library (aiImportFile()) but for some reason it crashes in line 176 of ObjectRecognizer.cpp (in my modified version) when trying to access the number of indices of the first face of the mesh (face.mNumIndices). This seems to point to a bug in the mesh generator, or a bug in the assimp library. Any ideas?

rosrun object_recognition_core detection -c detection.object.ros.ork 
[ INFO] [1393263269.953285655]: Initialized ROS. node_name: /object_recognition_server
[ INFO] [1393263270.736406354]: System already initialized. node_name: /object_recognition_server
[ INFO] [1393263271.697297591]: System already initialized. node_name: /object_recognition_server
[ INFO] [1393263271.708924056]: Subscribed to topic:/camera/depth_registered/camera_info with queue size of 1
[ INFO] [1393263271.712172667]: Subscribed to topic:/camera/rgb/camera_info with queue size of 1
[ INFO] [1393263271.715300890]: Subscribed to topic:/camera/depth_registered/image with queue size of 1
[ INFO] [1393263271.717938160]: Subscribed to topic:/camera/rgb/image_color with queue size of 1
126 :: 0.5 , 1 , 0.995004 , /base_link , /head_mount_kinect_rgb_optical_frame
Loading model: b34c1fdbfcc566e265f880e1f001353f for object id: b34c1fdbfcc566e265f880e1f000049bInfo,  T0: Load /tmp/filez5OUHT.stl
Info,  T0: Found a matching importer for this file format
Info,  T0: Import root directory is '/tmp/'
Info,  T0: Entering post processing pipeline
Warn,  T0: RemoveVCProcess: AI_CONFIG_PP_RVC_FLAGS is zero.
Info,  T0: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed)
Warn,  T0: Mesh 0: Not suitable for vcache optimization
Info,  T0: Cache relevant are 0 meshes (0 faces). Average output ACMR is -nan
Info,  T0: Leaving post processing pipeline
Mesh: 0 mNumVertices: 7899
Mesh: 0 mNumFaces: 2633
after 0
face[0] address: 0x3cc10454ba60120c
Segmentation fault (core dumped)

Tabletop not compiling after installing opencv 3 (ros-indigo-opencv3)

Pretty sure this is nothing unknown for most of the readers, but as Kinetic release approach, will become more urgent.

[100%] Built target tabletop_object_ectomodule
In file included from /home/jorge/workspaces/ork/src/ork_tabletop/src/table/TableDetector.cpp:40:0:
/opt/ros/indigo/include/opencv2/rgbd/rgbd.hpp:134:5: error: ‘AlgorithmInfo’ does not name a type
     AlgorithmInfo*
     ^
/opt/ros/indigo/include/opencv2/rgbd/rgbd.hpp:101:9: note: attribute for ‘class cv::RgbdNormals’ must follow the ‘class’ keyword
   class RgbdNormals: public Algorithm
         ^
/opt/ros/indigo/include/opencv2/rgbd/rgbd.hpp:202:5: error: ‘AlgorithmInfo’ does not name a type
     AlgorithmInfo*
     ^
/opt/ros/indigo/include/opencv2/rgbd/rgbd.hpp:172:9: note: attribute for ‘class cv::DepthCleaner’ must follow the ‘class’ keyword
   class DepthCleaner: public Algorithm
         ^
/opt/ros/indigo/include/opencv2/rgbd/rgbd.hpp:315:5: error: ‘AlgorithmInfo’ does not name a type
     AlgorithmInfo*
     ^
/opt/ros/indigo/include/opencv2/rgbd/rgbd.hpp:274:9: note: attribute for ‘class cv::RgbdPlane’ must follow the ‘class’ keyword
   class RgbdPlane: public Algorithm
         ^
/opt/ros/indigo/include/opencv2/rgbd/rgbd.hpp:332:21: note: attribute for ‘struct cv::RgbdFrame’ must follow the ‘struct’ keyword
   CV_EXPORTS struct RgbdFrame
                     ^
/opt/ros/indigo/include/opencv2/rgbd/rgbd.hpp:351:21: note: attribute for ‘struct cv::OdometryFrame’ must follow the ‘struct’ keyword
   CV_EXPORTS struct OdometryFrame : public RgbdFrame
                     ^
In file included from /home/jorge/workspaces/ork/src/ork_tabletop/src/table/TableDetector.cpp:40:0:
/opt/ros/indigo/include/opencv2/rgbd/rgbd.hpp:390:20: note: attribute for ‘class cv::Odometry’ must follow the ‘class’ keyword
   CV_EXPORTS class Odometry: public Algorithm
                    ^
/opt/ros/indigo/include/opencv2/rgbd/rgbd.hpp:502:5: error: ‘AlgorithmInfo’ does not name a type
     AlgorithmInfo*
     ^
/opt/ros/indigo/include/opencv2/rgbd/rgbd.hpp:480:20: note: attribute for ‘class cv::RgbdOdometry’ must follow the ‘class’ keyword
   CV_EXPORTS class RgbdOdometry: public Odometry
                    ^
/opt/ros/indigo/include/opencv2/rgbd/rgbd.hpp:551:5: error: ‘AlgorithmInfo’ does not name a type
     AlgorithmInfo*
     ^
/opt/ros/indigo/include/opencv2/rgbd/rgbd.hpp:605:5: error: ‘AlgorithmInfo’ does not name a type
     AlgorithmInfo*
     ^
/home/jorge/workspaces/ork/src/ork_tabletop/src/table/TableDetector.cpp: In member function ‘int tabletop::TableDetector::process(const ecto::tendrils&, const ecto::tendrils&)’:
/home/jorge/workspaces/ork/src/ork_tabletop/src/table/TableDetector.cpp:161:20: error: ‘class cv::RgbdPlane’ has no member named ‘set’
       plane_finder.set("threshold", *plane_threshold_);
                    ^
/home/jorge/workspaces/ork/src/ork_tabletop/src/table/TableDetector.cpp:162:20: error: ‘class cv::RgbdPlane’ has no member named ‘set’
       plane_finder.set("min_size", int(*min_table_size_));
                    ^
/home/jorge/workspaces/ork/src/ork_tabletop/src/table/TableDetector.cpp:163:20: error: ‘class cv::RgbdPlane’ has no member named ‘set’
       plane_finder.set("sensor_error_a", 0.0075);
                    ^
make[2]: *** [ork_tabletop/src/table/CMakeFiles/tabletop_table_ectomodule.dir/TableDetector.cpp.o] Error 1
make[1]: *** [ork_tabletop/src/table/CMakeFiles/tabletop_table_ectomodule.dir/all] Error 2
make: *** [all] Error 2
Invoking "make" failed

So I suppose the code must be patched with alternative versions with:

#if CV_VERSION_MAJOR == 3
      < something for OpenCV3 >
#else
      < something else for OpenCV2 >
#endif

as other ORK modules, right? If not, current code will not compile on Kinetic, I suppose.

tabletop object detection error

I tried Object Recognition Using Tabletop, and successfully found planes by command:
rosrun object_recognition_core detection -c rospack find object_recognition_tabletop/conf/detection.table.ros.ork
however failed with detecting objects. outputs as below:
n-PC:~$ rosrun object_recognition_core detection -c rospack find object_recognition_tabletop/conf/detection.object.ros.ork
[ INFO] [1462467175.269440647]: Initialized ROS. node_name: /object_recognition_server
[ INFO] [1462467175.870506603]: System already initialized. node_name: /object_recognition_server
[ INFO] [1462467176.817163521]: System already initialized. node_name: /object_recognition_server
[ INFO] [1462467176.844326959]: Subscribed to topic:/camera/depth_registered/camera_info [queue_size: 1][tcp_nodelay: 0]
[ INFO] [1462467176.851451746]: Subscribed to topic:/camera/rgb/image_color [queue_size: 1][tcp_nodelay: 0]
[ INFO] [1462467176.867486046]: Subscribed to topic:/camera/depth_registered/image_raw [queue_size: 1][tcp_nodelay: 0]
[ INFO] [1462467176.878455711]: Subscribed to topic:/camera/rgb/camera_info [queue_size: 1][tcp_nodelay: 0]
126 :: 0.5 , 1 , 0.995004 , /base_link , /head_mount_kinect_rgb_optical_frame
[ INFO] [1462467177.544438519]: publishing to topic:/tabletop/clusters
[ INFO] [1462467177.547706797]: publishing to topic:/table_array
Loading model: 8084c0c1974909d0519e05e401006ee2 for object id: 8084c0c1974909d0519e05e401006d09Info, T0: Load /tmp/fileeMr8CE.obj
Info, T0: Found a matching importer for this file format
Info, T0: Import root directory is '/tmp/'
Error, T0: OBJ: No object detected to attach a new mesh instance.
Skipping one or more lines with the same contents
Info, T0: Entering post processing pipeline
Warn, T0: RemoveVCProcess: AI_CONFIG_PP_RVC_FLAGS is zero.
Info, T0: OptimizeGraphProcess finished; Input nodes: 4, Output nodes: 1
Warn, T0: Found 32 degenerated primitives
Info, T0: TriangulateProcess finished. All polygons have been triangulated.
Info, T0: Points: 0, Lines: 1, Triangles: 3, Polygons: 0 (Meshes, X = removed)
Info, T0: JoinVerticesProcess finished | Verts in: 1472 out: 427 | ~71.0%
Error, T0: This algorithm works on triangle meshes only
Info, T0: Cache relevant are 3 meshes (512 faces). Average output ACMR is 0.812500
Info, T0: Leaving post processing pipeline
Traceback (most recent call last):
File "/home/longtan/ork/src/object_recognition_core/apps/detection", line 24, in
run_plasm(args, plasm)
File "/opt/ros/indigo/lib/python2.7/dist-packages/ecto/opts.py", line 85, in run_plasm
sched.execute(options.niter)
ecto.CellException: exception_type CellException
[cell_name] = pipeline2

[cell_type] = ecto::py::BlackBox

[function_name] = process_with_only_these_inputs

[type] = std::runtime_error

[what] = exception_type CellException
[cell_name] = <class 'object_recognition_tabletop.ecto_cells.tabletop_object.ObjectRecognizer'>

[function_name] = process_with_only_these_inputs

[type] = std::bad_alloc

[what] = std::bad_alloc

[when] = While triggering param change callbacks

Thanks in advance.

TabletopTableDetector pipeline parameters ignored

I noticed that if you remove the tabletop_detector/clusterer dictionary level, it works. E.g.

pipeline1:
  type: TabletopTableDetector
  module: 'object_recognition_tabletop'
  inputs: [source1]
  outputs: [sink1]
  parameters:
    # table detector
    min_table_size: 5000
    plane_threshold: 0.01
    table_cluster_tolerance: 0.01
    vertical_frame_id: '/map'
    # clusterer
    z_crop: 0.25  # The amount to keep in the z direction relative to the coordinate frame defined by the pose (def. 0.5)
    z_min:  0.002 # The amount to crop above the plane, in meters (def. 0.0075)
    cluster_distance: 0.01  # The maximum distance between a point and the cluster it belongs to (def. 0.02)
    min_cluster_size: 300   # Min number of points for a cluster (def. 300)

object_recognition_kitchen with Kinetic on Ubuntu 16.04

How can I use the object_recognition_kitchen with Kinetic on Ubuntu 16.04 and Asus Xtion?

I tried install the ORK using binary (sudo apt install ros-kinetic-object-recognition-*) succesfully.

But, it is not include tabletop and has error while running tod.

[Error message]

Mesh and object is founded on CouchDB. I am check it.

byeongkyu@byeongkyu-iMac:$ rosrun object_recognition_core training -c rospack find object_recognition_tod/conf/training.ork
Training 1 objects.
computing object_id: 96562faf31b4165800bb3f68d5006aeb
byeongkyu@byeongkyu-iMac:
$
byeongkyu@byeongkyu-iMac:~$ rosrun object_recognition_core detection -c rospack find object_recognition_tod/conf/detection.ros.ork
[ INFO] [1472790930.085746566]: Initialized ROS. node_name: /object_recognition_server
[ INFO] [1472790930.458528179]: System already initialized. node_name: /object_recognition_server
[ INFO] [1472790930.863419206]: System already initialized. node_name: /object_recognition_server
[ INFO] [1472790930.871813965]: Subscribed to topic:/camera/depth/camera_info [queue_size: 1][tcp_nodelay: 0]
[ INFO] [1472790930.876186903]: Subscribed to topic:/camera/depth/image_raw [queue_size: 1][tcp_nodelay: 0]
[ INFO] [1472790930.881230116]: Subscribed to topic:/camera/rgb/camera_info [queue_size: 1][tcp_nodelay: 0]
[ INFO] [1472790930.885333776]: Subscribed to topic:/camera/rgb/image_raw [queue_size: 1][tcp_nodelay: 0]
[ INFO] [1472790931.620373761]: publishing to topic:/recognized_object_array
Loading models. This may take some time...
Traceback (most recent call last):
File "/opt/ros/kinetic/lib/object_recognition_core/detection", line 24, in
run_plasm(args, plasm)
File "/opt/ros/kinetic/lib/python2.7/dist-packages/ecto/opts.py", line 85, in run_plasm
sched.execute(options.niter)
ecto.CellException: exception_type CellException
[cell_name] = pipeline1

[cell_type] = ecto::py::BlackBox

[function_name] = process_with_only_these_inputs

[type] = std::runtime_error

[what] = exception_type CellException
[cell_name] = Matcher

[function_name] = process_with_only_these_inputs

[type] = std::runtime_error

[what] = Object Not Found : http://localhost:5984/object_recognition/占쏙옙e�

[when] = While triggering param change callbacks

terminate called after throwing an instance of 'boost::exception_detail::clone_implboost::exception_detail::error_info_injector<boost::lock_error >'
what(): boost: mutex lock failed in pthread_mutex_lock: Invalid argument
Aborted (core dumped)
And. I am tried also install using rosinstall. reference [http://wg-perception.github.io/object_recognition_core/install.html#install]

But, it is failed to running tabletop, tod.

[Error Message]

byeongkyu@byeongkyu-iMac:~$ rosrun object_recognition_core detection -c rospack find object_recognition_tabletop/conf/detection.object.ros.ork
[ INFO] [1472793255.037448839]: Initialized ROS. node_name: /object_recognition_server
[ INFO] [1472793255.416741080]: System already initialized. node_name: /object_recognition_server
[ INFO] [1472793255.777974609]: System already initialized. node_name: /object_recognition_server
[ INFO] [1472793255.792620349]: Subscribed to topic:/camera/depth_registered/camera_info [queue_size: 1][tcp_nodelay: 0]
[ INFO] [1472793255.796001824]: Subscribed to topic:/camera/rgb/camera_info [queue_size: 1][tcp_nodelay: 0]
[ INFO] [1472793255.799017281]: Subscribed to topic:/camera/depth_registered/image_raw [queue_size: 1][tcp_nodelay: 0]
[ INFO] [1472793255.802311035]: Subscribed to topic:/camera/rgb/image_rect_color [queue_size: 1][tcp_nodelay: 0]
133 :: 0.5 , 1 , 0.995004 , /base_link , /head_mount_kinect_rgb_optical_frame
[ INFO] [1472793256.744593721]: publishing to topic:/tabletop/clusters
[ INFO] [1472793256.745550347]: publishing to topic:/table_array
Traceback (most recent call last):
File "/home/byeongkyu/catkin_ws/src/ork/ork_core/apps/detection", line 24, in
run_plasm(args, plasm)
File "/home/byeongkyu/catkin_ws/src/ork/ecto/python/ecto/opts.py", line 85, in run_plasm
sched.execute(options.niter)
ecto.CellException: exception_type CellException
[cell_name] = pipeline2

[cell_type] = ecto::py::BlackBox

[function_name] = process_with_only_these_inputs

[type] = std::runtime_error

[what] = exception_type CellException
[cell_name] = <class 'object_recognition_tabletop.ecto_cells.tabletop_object.objectrecognizer'="">

[function_name] = process_with_only_these_inputs

[type] = std::runtime_error

[what] = value type is 0 not 2

[when] = While triggering param change callbacks

terminate called after throwing an instance of 'boost::exception_detail::clone_implboost::exception_detail::error_info_injector<boost::lock_error >'
what(): boost: mutex lock failed in pthread_mutex_lock: Invalid argumen

Tabletop compiling issue

I have tried to download and build from source the tabletop method and I get this compiling error:

In file included from /home/marti/catkin_ws/src/tabletop/src/object/ObjectRecognizer.cpp:50:0:
/home/marti/catkin_ws/src/tabletop/include/tabletop/object/tabletop_object_detector.h: In member function ‘void tabletop_object_detector::TabletopObjectRecognizer::objectDetection(std::vector<std::vector<cv::Vec<float, 3> > >&, float, bool, std::vector<tabletop_object_detector::TabletopObjectRecognizer::TabletopResult>&)’:
/home/marti/catkin_ws/src/tabletop/include/tabletop/object/tabletop_object_detector.h:115:65: error: no matching function for call to ‘cv::flann::Index::build(cv::Mat&, cv::flann::KDTreeIndexParams)’
search[i].build(features, cv::flann::KDTreeIndexParams());
^
/home/marti/catkin_ws/src/tabletop/include/tabletop/object/tabletop_object_detector.h:115:65: note: candidate is:
In file included from /usr/local/include/opencv2/flann/flann.hpp:51:0,
from /home/marti/catkin_ws/src/tabletop/include/tabletop_object_detector/exhaustive_fit_detector.h:43,
from /home/marti/catkin_ws/src/tabletop/include/tabletop/object/tabletop_object_detector.h:41,
from /home/marti/catkin_ws/src/tabletop/src/object/ObjectRecognizer.cpp:50:
/usr/local/include/opencv2/flann/miniflann.hpp:137:26: note: virtual void cv::flann::Index::build(cv::InputArray, cv::InputArray, const cv::flann::IndexParams&, cvflann::flann_distance_t)
CV_WRAP virtual void build(InputArray wholefeatures, InputArray additionalfeatures, const IndexParams& params, cvflann::flann_distance_t distType=cvflann::FLANN_DIST_L2);
^
/usr/local/include/opencv2/flann/miniflann.hpp:137:26: note: candidate expects 4 arguments, 2 provided
make[2]: *** [tabletop/src/object/CMakeFiles/tabletop_object_ectomodule.dir/ObjectRecognizer.cpp.o] Error 1
make[1]: *** [tabletop/src/object/CMakeFiles/tabletop_object_ectomodule.dir/all] Error 2
make: *** [all] Error 2
Invoking "make -j2 -l2" failed

Anyone knows what's happening here?
Thank you in advance!

Meshes are loaded upside down

If I put meshes in the CouchDb that are modeled correctly and look fine in the web display and when checking the temporary STL files, these appear to be loaded into the tabletop ObjectRecognizer upside down. The culprit seems to be the aiProcess_MakeLeftHanded flag in ObjectRecognizer.cpp.

I believe this to be a bug. If it is intended behavior it should at least be documented somewhere.

DB model loading extremely slow on ROS Groovy

I have been testing tabletop object recognition successfully using ROS Hydro.
When a detection goal is received the server loads the DB models in few seconds. However, using ROS Groovy the model loading takes more than a minute.

Any idea why this is happening?

Tabletop detection only works sometimes with ROS topics and openni2

Hi,

the tabletop_detection only starts sometimes. In most cases i get the following error:

[ INFO] [1412949051.845788975]: Initialized ROS. node_name: /object_recognition_server
[ INFO] [1412949052.753587964]: System already initialized. node_name: /object_recognition_server
[ INFO] [1412949052.766232429]: Subscribed to topic:/cam3d/depth_registered/camera_info with queue size of 1
[ INFO] [1412949052.768620674]: Subscribed to topic:/cam3d/depth_registered/image_raw with queue size of 1
[ INFO] [1412949052.770816015]: Subscribed to topic:/cam3d/rgb/image_raw with queue size of 1
[ INFO] [1412949052.773266001]: Subscribed to topic:/cam3d/rgb/camera_info with queue size of 1
python: /usr/include/boost/smart_ptr/shared_ptr.hpp:418: T* boost::shared_ptr::operator->() const [with T = const sensor_msgs::Image_std::allocator]: Assertion `px != 0' failed.
Aborted (core dumped)

or:

python: /usr/include/boost/smart_ptr/shared_ptr.hpp:412: boost::shared_ptr::reference boost::shared_ptr::operator*() const [with T = const sensor_msgs::CameraInfo_std::allocator, boost::shared_ptr::reference = const sensor_msgs::CameraInfo_std::allocator&]: Assertion `px != 0' failed.

For getting it to work i have to listen to the pointcloud in rviz and try to start the detection several times. I have no idea why it only works sometimes. Maybe there has to be a delay in the code before the allocation of the kinect because openni2 is publishing the data only if someone subscribes to it.

I am using Ubuntu 12.04 with ROS Hydro and an Asus xtion with openni2.

PCL warnings on Hydro

Compiling on Hydro throws lots of warnings like this:

CMake Warning at object_recognition_tabletop/src/object/CMakeLists.txt:1 (add_library):
  Cannot generate a safe runtime search path for target marker_generator
  because files in some directories may conflict with libraries in implicit
  directories:

    runtime library [libpcl_common.so.1.7] in /usr/lib may be hidden by files in:
      /opt/ros/hydro/lib
    runtime library [libpcl_kdtree.so.1.7] in /usr/lib may be hidden by files in:
      /opt/ros/hydro/lib
    runtime library [libpcl_octree.so.1.7] in /usr/lib may be hidden by files in:
      /opt/ros/hydro/lib
    runtime library [libpcl_search.so.1.7] in /usr/lib may be hidden by files in:
      /opt/ros/hydro/lib
    runtime library [libpcl_io.so.1.7] in /usr/lib may be hidden by files in:
      /opt/ros/hydro/lib
    runtime library [libpcl_sample_consensus.so.1.7] in /usr/lib may be hidden by files in:
      /opt/ros/hydro/lib
    runtime library [libpcl_filters.so.1.7] in /usr/lib may be hidden by files in:
      /opt/ros/hydro/lib
    runtime library [libpcl_visualization.so.1.7] in /usr/lib may be hidden by files in:
      /opt/ros/hydro/lib
    runtime library [libpcl_outofcore.so.1.7] in /usr/lib may be hidden by files in:
      /opt/ros/hydro/lib
    runtime library [libpcl_features.so.1.7] in /usr/lib may be hidden by files in:
      /opt/ros/hydro/lib
    runtime library [libpcl_segmentation.so.1.7] in /usr/lib may be hidden by files in:
      /opt/ros/hydro/lib
    runtime library [libpcl_people.so.1.7] in /usr/lib may be hidden by files in:
      /opt/ros/hydro/lib
    runtime library [libpcl_registration.so.1.7] in /usr/lib may be hidden by files in:
      /opt/ros/hydro/lib
    runtime library [libpcl_recognition.so.1.7] in /usr/lib may be hidden by files in:
      /opt/ros/hydro/lib
    runtime library [libpcl_keypoints.so.1.7] in /usr/lib may be hidden by files in:
      /opt/ros/hydro/lib
    runtime library [libpcl_surface.so.1.7] in /usr/lib may be hidden by files in:
      /opt/ros/hydro/lib
    runtime library [libpcl_tracking.so.1.7] in /usr/lib may be hidden by files in:
      /opt/ros/hydro/lib

  Some of these libraries may not be found correctly.

Any idea how to fix this?

Since it looks like a PCL issue I also posted this on ROS Answers: http://answers.ros.org/question/76813/pcl-ros-and-system-install-clashing/

Add rosservice for retrieving the human-readable object name

The old household_object_database implementation offered an useful service for retrieving details about a model with a given key. Among this information was the human-readable object name, such as can. See: http://www.ros.org/doc/api/household_objects_database_msgs/html/srv/GetModelDescription.html

What would be the best way to implement this? Where should I start looking?

PS: Remember I am an absolute beginner with ORK and Ecto. I just got the tabletop pipeline running ...

tabletop object detection throws runtime error when using with house object database

I am trying to use tabletop object detection using household object database. When I query the object recognition server, I get the following error:
[ERROR] [WallTime: 1402907190.883889] Exception in your execute callback: exception_type CellException
cell_name pipeline2
cell_type ecto::py::BlackBox
function_name process
type std::runtime_error
what exception_type CellException
cell_name <class 'object_recognition_tabletop.ecto_cells.tabletop_object.ObjectRecognizer'>
function_name process
type std::runtime_error
what Function not implemented in the SQL household DB.
when While triggering param change callbacks

Traceback (most recent call last):
File "/opt/ros/indigo/lib/python2.7/dist-packages/actionlib/simple_action_server.py", line 299, in executeLoop
self.execute_callback(goal)
File "/opt/ros/indigo/lib/python2.7/dist-packages/object_recognition_ros/server.py", line 102, in execute
self.plasm.execute(niter=1)
CellException: exception_type CellException
cell_name pipeline2
cell_type ecto::py::BlackBox
function_name process
type std::runtime_error
what exception_type CellException
cell_name <class 'object_recognition_tabletop.ecto_cells.tabletop_object.ObjectRecognizer'>
function_name process
type std::runtime_error
what Function not implemented in the SQL household DB.
when While triggering param change callbacks

On looking into it, I found out that "key" is not set for db because of which this error is thrown in function ObjectDbSqlHousehold::QueryView

I setup the local database after following the instructions given in household_objects_database and can successfully retreive model ids on command line using command "rosservice call /objects_database_node/get_model_list REDUCED_MODEL_SET"

I have provided following details for my database in .ork file (username and password not shown here)
pipeline2:
type: TabletopObjectDetector
module: 'object_recognition_tabletop'
inputs: [source1, pipeline1]
outputs: [sink2]
parameters:
object_ids: 'all'
tabletop_object_ids: 'REDUCED_MODEL_SET'
db:
type: 'ObjectDbSqlHousehold'
host: 'localhost'
port: 5432
user: '_'
password: '_
'
name: 'household_objects'
module: 'object_recognition_tabletop'

Are there any other parameters that need to be set?

Tabletop no output

Hi there,

I receive no error while trying to use tabletop with realsense r200 but it doesn't detect anything in RViz as well. the output from tabletop command in tutorial is this :

rosrun object_recognition_core detection -c `rospack find object_recognition_tabletop`/conf/detection.table.ros.ork
['object_recognition_ros.io']
[ INFO] [1491482471.867810736]: Initialized ROS. node_name: /object_recognition_server
['object_recognition_tabletop']
['object_recognition_tabletop']
[ INFO] [1491482472.139946517]: System already initialized. node_name: /object_recognition_server
[ INFO] [1491482472.145444698]: Subscribed to topic:/camera/depth_registered/camera_info [queue_size: 1][tcp_nodelay: 0]
[ INFO] [1491482472.148850043]: Subscribed to topic:/camera/rgb/camera_info [queue_size: 1][tcp_nodelay: 0]
[ INFO] [1491482472.152257610]: Subscribed to topic:/camera/depth_registered/image_rect [queue_size: 1][tcp_nodelay: 0]
[ INFO] [1491482472.156808868]: Subscribed to topic:/camera/rgb/image_rect_color [queue_size: 1][tcp_nodelay: 0]

And it stucks there forever without detecting any planar surface. The config file (detection.table.ros.ork) is changed according to these params :

  parameters:
    rgb_frame_id: '/camera_rgb_optical_frame'
    rgb_image_topic: '/camera/rgb/image_rect_color'
    rgb_camera_info: '/camera/rgb/camera_info'
    depth_image_topic: '/camera/depth_registered/image_rect'
    depth_camera_info: '/camera/depth_registered/camera_info'

Any help is very appreciated

Change the sensor source

Hi All,

I would like to use another depth sensor instead of kinect, Which parts did I need to change to match my sensor's topics ? like as
rgb_frame_id: camera_rgb_optical_frame
rgb_image_topic: /camera/rgb/image_rect_color
rgb_camera_info: /camera/rgb/camera_info
depth_image_topic: /camera/depth_registered/image_raw
depth_camera_info: /camera/depth_registered/camera_info

Adapt the DB to be more general?

Filling a bug report as you told me:
"- the tabletop one requires a DB of objects in the household database type but I could adapt it to any DB actually, please file a bug report there"

tabletop hangs after subscribing to camera topics

I run rosrun object_recognition_core detection -c 'rospack find object_recognition_tabletop'/conf/detection.object.ros.ork and it gives me this output before simply stopping

/home/<username>/catkin_ws/devel/lib/python2.7/dist-packages/ecto/__init__.py:30: RuntimeWarning: to-Python converter for boost::shared_ptr<ecto::tendril> already registered; second conversion method ignored.
  del os_path
/home/<username>/catkin_ws/devel/lib/python2.7/dist-packages/ecto/__init__.py:30: RuntimeWarning: to-Python converter for boost::shared_ptr<ecto::cell> already registered; second conversion method ignored.
  del os_path
/home/<username>/catkin_ws/devel/lib/python2.7/dist-packages/ecto/__init__.py:30: RuntimeWarning: to-Python converter for boost::shared_ptr<ecto::py::cellwrap> already registered; second conversion method ignored.
  del os_path
[ INFO] [1466695484.352573925]: Initialized ROS. node_name: /object_recognition_server
[ INFO] [1466695484.691118853]: System already initialized. node_name: /object_recognition_server
[ INFO] [1466695485.049567652]: System already initialized. node_name: /object_recognition_server
[ INFO] [1466695485.071410638]: Subscribed to topic:/camera/depth_registered/camera_info [queue_size: 1][tcp_nodelay: 0]
[ INFO] [1466695485.079224758]: Subscribed to topic:/camera/rgb/image_color [queue_size: 1][tcp_nodelay: 0]
[ INFO] [1466695485.092122438]: Subscribed to topic:/camera/depth_registered/image_raw [queue_size: 1][tcp_nodelay: 0]
[ INFO] [1466695485.100964785]: Subscribed to topic:/camera/rgb/camera_info [queue_size: 1][tcp_nodelay: 0]
^C*** SIGINT received, stopping graph execution.

The full gdb output including a where command can be found here

Any suggestions for fixes?

For what it's worth, I am using the default conf files.

Ubuntu 14.04.4 LTS
ROS indigo
opencv 2.4.8 (by using command: pkg-config --modversion opencv) but I can't figure out how to upgrade it. I think I got it through ecto-opencv.
microsoft kinect
anything else needed?

Segmentation Fault when loading meshes

Hi all,

I have a segmentation fault when loading a mesh. It is curious because it does not happen when running the same node but using the ubuntu precompiled package (sudo apt-get ...). This is the trace:

alejandro@alejandro-GP62-2QE:~/workspace/ork$ rosrun object_recognition_core detection -c  'rospack find object_recognition_tabletop'/conf/detection.object.ros.ork
[ INFO] [1465817583.450404204]: Initialized ROS. node_name: /object_recognition_server
[ INFO] [1465817583.838207766]: System already initialized. node_name: /object_recognition_server
[ INFO] [1465817584.275051721]: System already initialized. node_name: /object_recognition_server
[ INFO] [1465817584.289844855]: Subscribed to topic:/camera/rgb/camera_info [queue_size: 1][tcp_nodelay: 0]
[ INFO] [1465817584.302063695]: Subscribed to topic:/camera/depth/camera_info [queue_size: 1][tcp_nodelay: 0]
[ INFO] [1465817584.310089472]: Subscribed to topic:/camera/depth/image_raw [queue_size: 1][tcp_nodelay: 0]
[ INFO] [1465817584.318799073]: Subscribed to topic:/camera/rgb/image_raw [queue_size: 1][tcp_nodelay: 0]
126 :: 0.5 , 1 , 0.995004 , /base_link , /head_mount_kinect_rgb_optical_frame
[ INFO] [1465817584.681581790]: publishing to topic:/tabletop/clusters
[ INFO] [1465817584.683827169]: publishing to topic:/table_array
Loading model: 8562ddd6c10ea26b1cdd364cb4000736 for object id: 8562ddd6c10ea26b1cdd364cb40001b4Info,  T0: Load /tmp/fileIFuaeW.stl
Info,  T0: Found a matching importer for this file format
Info,  T0: Import root directory is '/tmp/'
Info,  T0: Entering post processing pipeline
Warn,  T0: RemoveVCProcess: AI_CONFIG_PP_RVC_FLAGS is zero.
Info,  T0: Points: 0, Lines: 0, Triangles: 1, Polygons: 0 (Meshes, X = removed)
Error, T0: FindInvalidDataProcess fails on mesh normals: Found zero-length vector
Info,  T0: FindInvalidDataProcess finished. Found issues ...
Info,  T0: JoinVerticesProcess finished | Verts in: 1536 out: 258 | ~83.2%
Info,  T0: Cache relevant are 1 meshes (512 faces). Average output ACMR is 0.669922
Info,  T0: Leaving post processing pipeline

[ INFO] [1465817585.125514837]: publishing to topic:/recognized_object_array
Segmentation fault (core dumped)

Any idea? I have checked the repo is up to date because I have seen similar issues.

Thanks you in advance.

[problem] Tabletop don`t work

I followed this tutorial: http://wg-perception.github.io/ork_tutorials/tutorial02/tutorial.html
I added my coke: http://wg-perception.github.io/ork_tutorials/tutorial01/tutorial.html

Table detection works fine: rosrun object_recognition_core detection -c rospack find object_recognition_tabletop /conf/detection.table.ros.ork

But Tabletop detection doesn't work: rosrun object_recognition_core detection -c rospack find object_recognition_tabletop /conf/detection.object.ros.ork

I get the following error:

[ INFO] [1463664713.613309581]: Initialized ROS. node_name: /object_recognition_server
[ INFO] [1463664713.904424586]: System already initialized. node_name: /object_recognition_server
[ INFO] [1463664714.277997809]: System already initialized. node_name: /object_recognition_server
[ INFO] [1463664714.290278174]: Subscribed to topic:/camera/depth_registered/camera_info [queue_size: 1][tcp_nodelay: 0]
[ INFO] [1463664714.297065062]: Subscribed to topic:/camera/depth_registered/image_raw [queue_size: 1][tcp_nodelay: 0]
[ INFO] [1463664714.301835537]: Subscribed to topic:/camera/rgb/camera_info [queue_size: 1][tcp_nodelay: 0]
[ INFO] [1463664714.306667893]: Subscribed to topic:/camera/rgb/image_color [queue_size: 1][tcp_nodelay: 0]
126 :: 0.5 , 1 , 0.995004 , /base_link , /head_mount_kinect_rgb_optical_frame
[ INFO] [1463664715.139339447]: publishing to topic:/tabletop/clusters
[ INFO] [1463664715.140241088]: publishing to topic:/table_array
Loading model: 8e7cd947fb153e19c0437207ec001347 for object id: 8e7cd947fb153e19c0437207ec001034Info,  T0: Load /tmp/fileoQX8rv.obj
Info,  T0: Found a matching importer for this file format
Info,  T0: Import root directory is '/tmp/'
Error, T0: OBJ: No object detected to attach a new mesh instance.
Skipping one or more lines with the same contents
Info,  T0: Entering post processing pipeline
Warn,  T0: RemoveVCProcess: AI_CONFIG_PP_RVC_FLAGS is zero.
Info,  T0: OptimizeGraphProcess finished; Input nodes: 4, Output nodes: 1
Info,  T0: Points: 0, Lines: 0, Triangles: 3, Polygons: 0 (Meshes, X = removed)
Info,  T0: JoinVerticesProcess finished | Verts in: 1536 out: 427 | ~72.2%
Info,  T0: Cache relevant are 3 meshes (512 faces). Average output ACMR is 0.878906
Info,  T0: Leaving post processing pipeline

Segmentation fault (core dumped)

I am using the latest version of ORK, Ros Indigo, Ubuntu 14.04 and OpenCV 2.4.11.
Thank you for your help.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.