This page is operated by Locomotec, the official KUKA youBot partner.

Tower of Hanoi Perception

Published: July 26, 2012 by Admin youBot Store



Short description

The Tower of Hanoi perception library provides support for object detection in context of the "Tower of Hanoi" contest taking place during the European Robotics Week in December 2011. This library consists of a set of ROS nodes that allow to detect colored cubes as well as markers based on the ARToolKit.

Installation

We assume that ROS (diamondback, electric, or newer) and BRICS_3D are already installed in your system. If not: Download the Tower of Hanoi perception library into the current folder by:

$ git clone git://github.com/youbot/youbot-ros-pkg.git

Ensure that the downloaded tower_of_hanoi_sdk folder is reachable through your ROS_PACKAGE_PATH environment variable. To build the package enter:

$ roscd tower_of_hanoi_sdk
$ rosmake


Installation of BRICS_3D

As the webite for BRICS_3D is currently in the process of being setup, short instructions for installation is given below. You must have installed the following dependencies: (otherwise the commands show how to install them on a standard Ubuntu system)
  • Eigen3: $ sudo apt-get install libeigen3-dev
  • Boost (vers. 1.40 or newer): $ sudo apt-get install libboost1.42-dev
  • OpenCV (vers. 2.3 or newer): $ sudo apt-get install libopencv2.3-dev
To checkout BRICS_3D (you might checkout into any folder you like, as example we use here the home folder ~/brics_3d):

$ cd ~
$ svn co https://svn.best-of-robotics.org/brics/BROCRE/BRICS_3D/trunk brics_3d

In case you are asked for a SVN login take svnuser as username and svnuser as password to retrive the latest version.

Compile and install:

$ cd ~/brics_3d
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install


Object Detection

The following instructions show the main steps for using the object and marker detection. More detailed information on the usage of this library can be found in the accompanying README file.

Color Calibration: HSV Limits Finder

First we need to find adequate hue and saturation limits so that our perception system can correctly distinguish the objects of interest in the given lighting conditions. To find and save these limits we will use the hsvLimitsFinder node.
  • Start the kinect driver:

    $ roslaunch openni_camera openni_node.launch

  • Start the hsvLimitsFinder node:

    $ rosrun tower_of_hanoi_sdk hsvLimitsFinder

    This will start extracting a region of interest (ROI) with some default hue-saturation limits. To change the limits in real-time we need to use the dynamic_reconfigure tool.

  • Start the dynamic reconfigure tool:

    $ rosrun dynamic_reconfigure reconfigure_gui

    Select the "/hsvLimitsFinder" in the dynamic configure gui to change the Hue-Saturation Limits.

  • To visualize the extracted region based on current limits use the rviz tool:

    $ rosrun rviz rviz

    In the rviz window click on the button "Add" (inside the Displays window). A dialog should appear, choose under Display Type "Builtin->PointCloud 2" and press OK. Under .Global Options->Fixed Frame select "/openni_rgb_optical_frame".

    For more information on the usage of rviz see http://www.ros.org/wiki/rviz

To save the current configuration of hue-saturation limits, interrupt the hsvLimitsFinder node using Ctrl+C. The program will prompt for saving the configuration. Enter "y" to continue with saving; or "n" to exit. Please enter the path (relative to the directory from where you started the node) with the filename when prompted, for example: "./demoHSVConfig.cfg"

Usage

Before using the object detection, you should have calibrated colors as described in the previous section. The program itself runs without calibration as well, but it will probably not detect objects as intended.
  • Start the kinect driver. If it is already running, you can skip this step.

    $ roslaunch openni_camera openni_node.launch

  • Start the object detection node

    $ roslaunch tower_of_hanoi_sdk PoseEstimation6D.launch

  • Run rviz to see the results

    $ rosrun rviz rviz

    In the rviz window click on the button "Add" (inside the Displays window). A dialog should appear, choose under Display Type "Builtin->TF" and press OK. Under .Global Options->Fixed Frame select "/openni_rgb_optical_frame".

If everything worked out, you should see some coordinate frames displayed in rviz. If you hold an object in front of the camera (and it can get detected successfully) a new coordinate frame should appear for the detected object. The frame moves around according to the detected position relative to the camera.

Marker Detection for Start, Auxillary and Goal Position

We use augmented reality markers to represent the locations of interest for the Tower of Hanoi contest, namely "Start", "Goal" and "Auxillary".

To find more information about these markers and ARToolKit please visit http://www.hitl.washington.edu/artoolkit/

A launch file is provided to get started with the toolkit once ar_toolkit and ar_kinect are installed. We have chosen the following markers to represent the locations:
  • Start : 4x4_384_42
  • Goal : 4x4_384_78
  • Auxillary : 4x4_384_99
Printable versions of these can be found in the folder $(tower_of_hanoi_sdk)/data/

Usage

Print the ar_markers and start the kinect driver using:

$ roslaunch openni_camera openni_node.launch

To start detecting the positions start:

$ roslaunch tower_of_hanoi_sdk PositionDetection.launch

TF frames with topic names "/auxillary", "/start", "/goal" will be published once they are visible in the kinect-view. The positions of the markers will be published with respect to the "/openni_rgb_optical_frame".

Support

Reviews


Documentation:
Extensibility:
Intellectual Property Issues:
Modularity:
Packaging:
Portability:
Standards Compliance:
Support:
Verification & Testing:

The above criteria for reusability of software were defined by the

NASA Earth Science Data Systems Software Reuse Working Group (2010).
Reuse Readiness Levels (RRLs), Version 1.0. April 30, 2010.
http://www.esdswg.org/softwarereuse/Resources/rrls/



No reviews found

youBot Hotline

+49 1805 968-268
Quote
You have not chosen any product yet. Visit hardware section to add products.
Recently reviewed
News RSS
KUKA and youBot Store launch an initiative : "Fun in Mobile Manipulation" - Augsburg, February 25, 2013
Research labs interested in organizing a hackathon using a KUKA youBot should contact: hackathon@youBot-Store.com
more ...
RoboCup@Work - German Open 2013, December 11, 2012
Call for Participation http://www.robocupgermanopen.de 26. - 28. April 2013 Magdeburg, Germany
more ...
KUKA youBot @ 5th BRICS Research Camp - Malaga, November 11, 2012
The fifth BRICS research camp took place from Oct. 29th to Nov. 2nd in Motril, Spain. Under the topic "Mobile Manipulation - All in!" the integration of functionalities into a complete mobile manipulation application was elaborated. The transition from classical "sense-plan-act" paradigms to continuously integrated control and perception framed the scientific focus of this camp.
more ...
KUKA youBot Rollout Party IROS 2012 - Vilamoura, October 10, 2012
Thank you for joining us at the KUKA youBot rollout party during IROS 2012 in Vilamoura. The party took place on Oct. 9 at 19:30 in the Crowne Plaza Hotel in Vilamoura in room Sotavento.
more ...