roboearth: ar_bounding_box | re_comm | re_kinect_object_detector | re_msgs | re_object_detector_gui | re_object_recorder | re_ontology | re_srvs | re_vision

Stack Summary

ROS packages for the RoboEarth project.

About RoboEarth

The goal of the RoboEarth project is to build up huge common knowledge bases for robotic systems, which will allow them to reliably identify objects, improve their actions over time and adapt their navigation strategies for unknown environments, which they were not explicitly planned for at design time.

Until recently, robots have not been capable of understanding and coping with unstructured environments (like the ones humans work in) because their systems have relied on knowing in advance the specifics of every possible situation they might encounter. Each response to a contingency has had to be programmed in advance, and systems have had to rebuild their world model from sensor data each time they had to perform a new task.

RoboEarth uses the internet to create a giant open source network database that can be accessed and continually updated by robots around the world. With knowledge shared on such a vast scale, and with businesses and academics contributing independently on a common language platform, RoboEarth has the potential to provide a powerful feed forward to any robot’s 3D sensing, acting and learning capabilities. The aim of RoboEarth is to allow robotic systems to benefit from the experience of other robots, paving the way for rapid advances in machine cognition and behaviour, and ultimately, for more subtle and sophisticated human-machine interaction.

For further information, visit http://www.roboearth.org.

Installation

The easiest way to install this stack along with its required packages is using this rosinstall file: roboearth.rosinstall. See the rosinstall documentation for more details.

E.g. for Ubuntu 10.10 systems with the ROS Electric binaries installed use

$ rosinstall ~/ros /opt/ros/electric 'http://www.ros.org/wiki/roboearth?action=AttachFile&do=get&target=roboearth.rosinstall'
$ source ~/ros/setup.bash

where ~/ros is the path to install the packages into and /opt/ros/electric is the path to your ROS installation.

Before attempting to build, make sure that the necessary dependencies are installed, i.e. if you have a ROS desktop-full installation:

sudo apt-get install ros-electric-knowrob ros-electric-ias-common ros-electric-perception-pcl-addons ros-electric-simulator-gazebo ros-electric-vision-opencv

Then, to build the packages, run

rosmake roboearth

Compilation issues

There are some issues with compiling the ROS artoolkit packages on newer machines. Here some common fixes are listed.

Conflicting rosdep definitions

If you encounter an error message like

rosdep.core.RosdepException: QUITTING: due to conflicting rosdep definitions, please resolve this conflict.
Rules for glut do not match:
        libglut3-dev [.../stacks/ccny_vision/rosdep.yaml]
        {'apt': {'packages': ['libglut3-dev']}} [/opt/ros/electric/stacks/bullet/rosdep.yaml]

Run the following commands to remove the offending line:

roscd ccny_vision
sed -i '/ubuntu: libglut3-dev/d' rosdep.yaml

videoLinuxV4L.h errors

If you encounter a compilation error like

../../../include/AR/sys/videoLinuxV4L.h:24:28: fatal error: linux/videodev.h: No such file or directory

try the fix described at artoolkit#Troubleshooting_Installation.

Linker errors in ar_pose

If ar_pose fails to link, giving error messages as e.g.:

gsub.c:(.text+0x2e4b): undefined reference to `glVertex2f'
gsub.c:(.text+0x2e50): undefined reference to `glEnd'
/home/joris/ros/stacks/ccny_vision/artoolkit/lib/libARgsub.a(gsub.o): In function `argInit':
gsub.c:(.text+0x3018): undefined reference to `glutInitDisplayMode'
gsub.c:(.text+0x3027): undefined reference to `glutInitWindowPosition'
gsub.c:(.text+0x3038): undefined reference to `glutInitWindowSize'
gsub.c:(.text+0x3042): undefined reference to `glutCreateWindow'
gsub.c:(.text+0x3051): undefined reference to `glutFullScreen'
gsub.c:(.text+0x305b): undefined reference to `glutGet'
gsub.c:(.text+0x306b): undefined reference to `glutGet'
...

The following commands should fix that:

roscd ar_pose
sed '/^#rosbuild_gensrv\(\)/a set\(CMAKE_EXE_LINKER_FLAGS -Wl,--no-as-needed\)' -i CMakeLists.txt

Packages

RE_packages_overview.png

RoboEarth specific Packages

  • re_comm - RoboEarth's communication interface

  • re_msgs - RoboEarth specific message declarations

  • re_ontology - Base RoboEarth ontology

Object Scanning Packages

Object Detection Packages

RoboEarth Platform

We recommend to use the RoboEarth platform at http://api.roboearth.org to access all the existing data and to collaborate with other users. If you want to set up your own platform follow these instructions.

Report a Bug

If you encounter problems and/or require help, feel free to ask on our mailing list.

Wiki: roboearth (last edited 2011-12-01 14:28:41 by DanielDiMarco)