Ask Your Question
0

Installing object_detection_server on Fuerte for TOD (Textured Object Detector)

asked 2013-01-15 06:20:00 -0600

dbworth gravatar image

Hi

I'm trying to test PR2 Interactive Object Detection. When you load it up in Rviz, there is a "Detect" button which calls the recognition_translator node (an optional install), but this node requires the object_recognition_server package.

With Fuerte, I can install the following packages:

ros-fuerte-object-recognition-capture
ros-fuerte-object-recognition-core
ros-fuerte-object-recognition-linemod
ros-fuerte-object-recognition-msgs
ros-fuerte-object-recognition-reconstruction
ros-fuerte-object-recognition-ros
ros-fuerte-object-recognition-tod
ros-fuerte-object-recognition-transparent-objects

But I had to get the server package from here:

https://github.com/wg-perception/ros-object_recognition

which also has the -core and -msgs packages, so it's probably not compatible.

I'm trying to load the server with this launch file:

<launch>
  <arg name="config_file" default="config_detection.table" />
  <node pkg="object_recognition_server" ns="/object_recognition" name="object_recognition_server" output="screen" type="server.py" args="-c $(find object_recognition_server)/conf/$(arg config_file)">
  </node>
</launch>

and this config file:

source1:
  type: ros_kinect
  rgb_frame_id: '/camera_rgb_optical_frame'

sink1:
  type: table_publisher
  package: 'tabletop'

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

which produces this error:

rospy args stripped ['-c', '/home/user/ros_workspace/object_recognition/object_recognition_server/conf/config_detection.table']
Traceback (most recent call last):
  File "/home/user/ros_workspace/object_recognition/object_recognition_server/server.py", line 88, in <module>
    server = RecognitionServer(args)
  File "/home/user/ros_workspace/object_recognition/object_recognition_server/server.py", line 15, in __init__
    self.plasm = create_detection_plasm()
TypeError: create_detection_plasm() takes exactly 4 arguments (0 given)
[ INFO] [1358271985.462667749]: waitForService: Service [/tabletop_object_recognition] has not been advertised, waiting...
[object_recognition/object_recognition_server-3] process has died [pid 24531, exit code 1, cmd /home/user/ros_workspace/object_recognition/object_recognition_server/server.py -c /home/user/ros_workspace/object_recognition/object_recognition_server/conf/config_detection.table __name:=object_recognition_server __log:=/home/user/ros_.ros/log/e17fdb50-5f39-11e2-9490-1078d2868e5d/object_recognition-object_recognition_server-3.log].
log file: /home/user/ros_.ros/log/e17fdb50-5f39-11e2-9490-1078d2868e5d/object_recognition-object_recognition_server-3*.log

Please what am I missing here?

cheers,
David.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2013-01-23 14:25:26 -0600

Vincent Rabaud gravatar image

Anything Electric has been deleted: it was a big hack anyway.

Fuerte and Groovy have almost the same code so it works on both. What you are looking for is the actionlib server:

rosrun object_recognition_ros server.py -c /opt/ros/groovy/share/object_recognition_tabletop/conf/config_detection.tabletop_table

(I just released a tabletop package). Expect doc updates on that in the next few days.

We have indeed not synced our APIs in a while with the interactive_manipulation folks. We are working on that. Any help is welcome :)

edit flag offensive delete link more

Comments

Great, thanks @vincent-rabaud What needs to be done to sync those 2 systems?

dbworth gravatar image dbworth  ( 2013-01-23 20:15:30 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2013-01-15 06:20:00 -0600

Seen: 513 times

Last updated: Jan 23 '13