wg-perception / object_recognition_core

The core of object recognition, where the development now happens
48 stars 47 forks source link

detection app can't take rosrun/roslaunch arguments #20

Closed bit-pirate closed 10 years ago

bit-pirate commented 11 years ago

Looks like the detection app doesn't work nicely with ros-specific parameters like topic remappings. This includes its use in roslaunch files, e.g. ork_tabletop/launch/table.launch.

Is this supposed to be like that? E.g. only use ROS through ork_ros?

vrabaud commented 11 years ago

that should be handled properly. What did you try to launch ?

bit-pirate commented 11 years ago

The launch file mentioned above. Here is the log:

$ roslaunch object_recognition_tabletop table.launch --screen

[...]

process[table_finder-2]: started with pid [8746]
usage: detection [-h] [-c CONFIG_FILE] [--visualize] [--niter ITERATIONS]
                 [--shell] [--gui] [--logfile LOGFILE] [--graphviz]
                 [--dotfile DOTFILE] [--stats]
detection: error: unrecognized arguments: __name:=table_finder __log:=/home/marcus/.ros/log/ed37957a-03b0-11e3-86bc-f46d04929542/table_finder-2.log
[table_finder-2] process has died [pid 8746, exit code 2, cmd /opt/object_recognition_workspace/catkin_ws/src/ork_core/apps/detection -c /opt/object_recognition_workspace/catkin_ws/src/ork_tabletop/conf/detection.table.ork __name:=table_finder __log:=/home/marcus/.ros/log/ed37957a-03b0-11e3-86bc-f46d04929542/table_finder-2.log].
log file: /home/marcus/.ros/log/ed37957a-03b0-11e3-86bc-f46d04929542/table_finder-2*.log
bit-pirate commented 11 years ago

@vrabaud Do you have any idea what is causing this? I'd like to get the pipeline running continuously, i.e. just the detection app without the action server, but this bug blocks me from doing so.

awesomebytes commented 10 years ago

Same problem here!

I've added a print of the sys.argv in detection to see what are the arguments passed and in my case they are:

['/home/sampfeiffer/public_workspaces/ork_ws/src/ork_core/apps/detection', 
'-c',
 '/home/sampfeiffer/public_workspaces/reem_manipulation_ws/src/reem_object_recognition/config/tabletop/detection.clusters.ros.ork.reem.throtled', 
'__name:=clusters_detection', 
'__log:=/home/sampfeiffer/.ros/logs/94f5f7a0-b989-11e3-aa66-e0cb4e1f7c63/clusters_detection-4.log']

It seems that it doesn't like unrecognized arguments after the configuration file (generated by the launchfile). I gave a look at argparse and I didn't find a... let's say easy-and-clean way to fix this. So what I did was filter the arguments that start with name:= and log:= Pull request here: https://github.com/wg-perception/object_recognition_core/pull/23

vrabaud commented 10 years ago

fixed by #23