Object recognition: FailedFromPythonConversion exception on db [closed]

asked 2012-05-31 07:09:06 -0600

marcog gravatar image

updated 2012-06-03 06:28:24 -0600

Kevin gravatar image

I am trying to get the object_recognition stack working on ros electric, I am using ubuntu 10.04 and ros packages based installation. After capture and database uploading of a model I tried testing the detection with the tabletop approach. After some tuning I managed to get to the point where is trying to reach the objects from the db. But I got stuck with this error:

<object_recognition_core.boost.interface.ObjectDb object at 0xa8eb324>
tendrils:
    db [object_recognition_core::db::ObjectDb]
    object_ids [std::string]

object_ids
['deac36880abc636d8654728b0a000651']
Traceback (most recent call last):
  File "object_recognition_core/bin/detection", line 9, in <module>
    plasm = create_detection_plasm()
  File "/opt/ros/electric/stacks/object_recognition/object_recognition_core/lib/python2.6/dist-packages/object_recognition_core/pipelines/plasm.py", line 54, in create_detection_plasm
    pipeline_cells[pipeline_id] = pipeline.detector(**pipeline_param)
  File "/opt/ros/electric/stacks/object_recognition/object_recognition_core/lib/python2.6/dist-packages/object_recognition_tabletop/detector.py", line 106, in detector
    db=object_db)
  File "/opt/ros/electric/stacks/object_recognition/object_recognition_core/lib/python2.6/dist-packages/ecto/__init__.py", line 70, in impl

    setattr(self.params, k, v)
ecto.FailedFromPythonConversion:            exception_type  FailedFromPythonConversion

            cpp_typename  std::string
            pyobject_repr  ['deac36880abc636d8654728b0a000651']

It seems that something's wrong with the object id at the db but couldn't figure out what. For more info here is the config file I'm using:

source1:
  type: ros_kinect
  rgb_frame_id: '/camera_rgb_optical_frame'

sink1:
  type: table_publisher
  package: 'object_recognition_tabletop'

pipeline1:
  method: 'tabletop_table'
  package: 'object_recognition_tabletop'
  submethod: ''
  sources: [source1]
  sinks: [sink1]
  parameters: {}

sink2:
  type: publisher
  object_ids: 'all'

pipeline2:
  method: 'tabletop_object'
  package: 'object_recognition_tabletop'
  submethod: ''
  sources: [source1, pipeline1]
  sinks: [sink2]
  parameters:
    object_ids: 'all'
    db:
      type: 'CouchDB'
      root: 'http://localhost:5984'
      collection: 'object_recognition'

Any hint on the issue is more than welcome.

Thanks in advance.

edit retag flag offensive reopen merge delete

Closed for the following reason question is not relevant or outdated by tfoote
close date 2015-03-03 01:49:38.219905

Comments

UPDATE:

On an object tabletop_object.ObjectRecognizer doing setattr(a.params, k, v) gives me

  File "&lt;stdin&gt;", line 1, in &lt;module&gt;
ecto.FailedFromPythonConversion:            exception_type  FailedFromPythonConversion
             cpp_typename  std::string
marcog gravatar image marcog  ( 2012-06-01 00:01:16 -0600 )edit