State of the ECTO-based object recognition stack?
Hello,
I've been spending some time trying to figure out the puzzle, and I need some help: I'd love to try the ECTO-based framework for object recognition, but I've a hard time installing all the pieces.
I've tried on 2 boxes (one is Ubuntu 10.04, the other one is Ubuntu 12.04), on both electric and fuerte.
I understand these tools are new and everything is not stabilized yet. I summarize below my current experience. Hopefully it may help sorting out the documentation :-)
(for each step, I've referenced the link to the corresponding documentation)
- On Ubuntu 10.04, electric:
I went for:
$ sudo apt-get install ros-electric-object-detection [1]
$ roslaunch openni_camera openni_node.launch
$ rosrun object_recognition_core orb_template.py -o my_textured_plane [2]
=> ImportError: No module named ecto
-> no package ros-electric-ecto (how ros-electric-object-recognition can work, then?), so I went for a manual installation of ecto.
$ cd ~/ros-dev-electric
$ git clone git://github.com/plasmodic/ecto_kitchen.git
$ cd ecto_kitchen
$ git submodule init
$ git submodule update
[here, the doc on [3] forget a few steps that are mentionned in README.rst, in the ecto_kitchen repo]
$ git submodule foreach git checkout master
$ ln -s ./catkin/toplevel.cmake CMakeLists.txt
$ mkdir build && cd build && cmake ../ && make -j4
It takes some time, but eventually everything compile.
[3] mentions python_path.sh
that does not exist anymore. I've sourced instead ~/ros-dev-electric/ecto_kitchen/setup.sh
which allows to import ecto
in python.
$ rosrun object_recognition_core orb_template.py -o my_textured_plane
=> from ecto_image_pipeline.io.source import create_source
=> ImportError: No module named io.source
Here, I'm stuck. I do not know to install ecto_image_pipeline
. I've tried to clone it from https://github.com/wg-perception/ecto_image_pipeline.git to ~/ros-dev-electric/ecto_kitchen
, and then rebuild ecto_kitchen
, but it fails at configuration (with a KeyError: 'ecto_image_pipeline'
).
- On Ubuntu 10.04, fuerte:
No package for object recognition, but ecto
is packaged:
$ sudo apt-get install ros-fuerte-ecto ros-fuerte-ecto-opencv ros-fuerte-ecto-pcl
Then, I've installed the recognition_kitchen
[4]:
$ unset PYTHONPATH LD_LIBRARY_PATH ROS_PACKAGE_PATH
$ source /opt/ros/fuerte/setup.sh
$ cd ~/ros-dev-fuerte
$ git clone git://github.com/wg-perception/recognition_kitchen.git
$ cd recognition_kitchen
$ rosinstall . /opt/ros/fuerte ./install/rosinstall_main ./install/rosinstall_pipelines ./install/rosinstall_ros
Which fails after cloning all repos with: rosmake: error: no such option: --rosdep-install
. After a while, I've figured out that I was still using rosinstall-0.5
. I went a bit further with rosinstall-0.6
:
$ mkdir build && cd build && cmake ..
=> CMake fails with:
[...]
-- Generating .msg files for action object_recognition_msgs/ObjectRecognition /home/slemaign/ros-dev-fuerte/recognition_kitchen/object_recognition_msgs/action/ObjectRecognition.action
/opt/ros/fuerte/share/genmsg/cmake/pkg-genmsg.cmake.em:33: error: <type 'exceptions.IOError'>:
[Errno 2] No such file or directory: '/home/slemaign/ros-dev-fuerte/recognition_kitchen/object_recognition_msgs//home/slemaign/ros-dev-fuerte/recognition_kitchen/object_recognition_msgs/srv/GetObjectInformation.srv'
For some reason, @ARG_SERVICES@
in /opt/ros/fuerte/share/genmsg/cmake/pkg-genmsg.context.in get configured in
recognition_kitchen` with a duplicated path.
I've stopped here...
- On Ubuntu 12.04:
Ubuntu 12.04 ships with its own libopencv 2.3 which conflicts with the one from WG (because, amongst other issues, WG links against libjpeg62
and ...
The four link of ubuntu 12.04 seems disappeared. Where are them? Thank you~