This is the repository of the POETICON++ EU project http://www.poeticon.eu
C++ Matlab CMake Objective-C Thrift Lua Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
3rdparty
app
extern/libPRADA
src
.gitignore
CMakeLists.txt
LICENSE
README.md

README.md

POETICON++

This is the repository of the POETICON++ EU project.

Video by Istituto Italiano di Tecnologia, IIT, iCub Facility (credits Vadim Tikhanoff):

POETICON D6.2 videoDemo

More videos are available on the YouTube channel.

Installation

Dependencies

Mandatory dependencies of the core build:

Dependencies of probabilistic planning:

  • libPRADA, mirrored in the 3rdparty directory

Dependencies of affordance perception:

  • MATLAB
  • YARP Java bindings (in the YARP build directory, call CMake and enable YARP_COMPILE_BINDINGS, CREATE_JAVA, PREPARE_CLASS_FILES)
  • YARP for MATLAB (add the directory with the Java *.class files to the classpath, and the directory with libjyarp.so to librarypath.txt)
  • pmtk3 (installation: launch MATLAB as superuser, run initPmtk3.m, click on setPath, select the pmtk3 directories then Save to permanently add them to MATLABPATH)

External projects

The following external projects are needed to execute the full POETICON++ demo:

Dependencies of the optional speech recognition component:

Linux

First install libPRADA, required by the probabilistic planner:

cd poeticon
tar xzvf 3rdparty/libPRADA.tgz && cd libPRADA
patch src/MT/util.h < ../extern/libPRADA/prada_unistd.patch
patch test/relational_plan/main.cpp < ../extern/libPRADA/prada_readgoalfromfile.patch
make
cp test/relational_plan/x.exe ../app/conf/planner.exe

Then install the core POETICON++ build:

git clone https://github.com/robotology/poeticon
cd poeticon && mkdir build && cd build && cmake .. && make

Note: the modules belonging to the probabilistic planner part (planningCycle, affordanceCommunication, geometricGrounding, goalCompiler) must have access to the same "contexts/poeticon" directory. One way to accomplish this is to run them on the same machine.

Documentation

Affordance perception sensorimotor data and documentation are here.

Instructions on how to run the simulated symbolic reasoner (to test probabilistic planning under noisy conditions and with different heuristics) are here.

Further documentation is available inside each module source, and via the help commands available via RPC interfaces.

Articles

  • Alexandre Antunes, Lorenzo Jamone, Giovanni Saponaro, Alexandre Bernardino, Rodrigo Ventura. From Human Instructions to Robot Actions: Formulation of Goals, Affordances and Probabilistic Planning. IEEE International Conference on Robotics and Automation (ICRA 2016).
  • Tanis Mar, Vadim Tikhanoff, Giorgio Metta, Lorenzo Natale. Self-supervised learning of grasp dependent tool affordances on the iCub Humanoid robot. IEEE International Conference on Robotics and Automation (ICRA 2015).
  • Tanis Mar, Vadim Tikhanoff, Giorgio Metta, Lorenzo Natale. Multi-model approach based on 3D functional features for tool affordance learning in robotics. IEEE-RAS International Conference on Humanoid Robots (Humanoids 2015).
  • Afonso Gonçalves, João Abrantes, Giovanni Saponaro, Lorenzo Jamone, Alexandre Bernardino. Learning Intermediate Object Affordances: Towards the Development of a Tool Concept. IEEE International Conference on Development and Learning and on Epigenetic Robotics (ICDL-EpiRob 2014).
  • Afonso Gonçalves, Giovanni Saponaro, Lorenzo Jamone, Alexandre Bernardino. Learning Visual Affordances of Objects and Tools through Autonomous Robot Exploration. IEEE International Conference on Autonomous Robot Systems and Competitions (ICARSC 2014).
  • Vadim Tikhanoff, Ugo Pattacini, Lorenzo Natale, Giorgio Metta. Exploring affordances and tool use on the iCub. IEEE-RAS International Conference on Humanoid Robots (Humanoids 2013).

License

Released under the terms of the GPL v2.0 or later. See the file LICENSE for details.