At CHILI Lab, we research innovative use of computer-based technologies for learning and teaching. To this end, we have developed over the years a solid set of open-source libraries that may be useful to a large audience.

This page lists the one that have been officially released, and are ready for use.

You can browse our other projects on GitHub.

qml plugins

We have written and are actively using a number of small, powerful and reusable software components, in the form of QML plugins for our QtQuick applications; most of them are supported on desktop and Android:

libdots, High-Accuracy 2D Localization with Structured Patterns

Please follow:

Chilitags, Robust Fiducial Markers for Augmented Reality

chilitags is a C++ cross-platform software library for the detection and identification of 2D fiducial markers. Their purpose is to be printed and placed on objects from the real world, to form the basis or Augmented Reality (AR) applications. Using a camera, the position of the tagged objects can be acquired by a computer and used to virtually display information on them.

Chilitags were developed internally for projects like Metroscope or TapaCarp. The following videos show real applications of Chilitags for experiments in tangible learning or paper-based interfaces. Another demonstration video shows how chilitags deal with a worst case scenario in an unevenly lit, large scene.

Language: C++

Platforms: Linux, Windows, MacOSX

Main dependencies: OpenCV

License: LGPL3

[Documentation]  [Get the source code (GIT)]

[ Get the source (zip file)]  [Download pre-rendered tags]

Other open-source projects


CHILI’s Activity Graph (to be deployed as a CakePHP app)

Visit it on GitHub


Visit it on GitHub


[superseeded by chilitags!] 2D/3D geometry helpers: projective transformation, pose estimation…

Visit it on GitHub


Robust Fiducial Markers for Augmented Reality

Visit it on GitHub


Data for the automated test of chilitags

Visit it on GitHub


A Qt app that helps with the extraction of subparts of images

Visit it on GitHub


A Qt app that reads a SVG file and generate a 2D trajcetory suitable for execution on a robot

Visit it on GitHub


TapaCarp Online Web App

Visit it on GitHub


ROS package that contains HOAP3 robot URDF and meshes. Based on EPFL’s RobotToolKit models.

Visit it on GitHub


ROS MoveIt configuration for HOAP3

Visit it on GitHub


A set of scripts to help HOAP3 to write letters for the CoWriter project. Based on the ROS toolset.

Visit it on GitHub


Basic javascript app setup, using CoffeeScript, Grunt, RequireJS and Mocha (Unit testing)

Visit it on GitHub


A SQLite-backed minimalistic knowledge based for robotic application. Mostly KB-API conformant.

Visit it on GitHub


ROS driver for Nao cameras

Visit it on GitHub


A Python API to access a KB-API conformant knowledge base

Visit it on GitHub


Helpers to compile and distribute ROS for Aldebaran’s Nao

Visit it on GitHub


ROS wrapper for the EPFL’s chilitags library

Visit it on GitHub


Tangible apps with Meteor.

Visit it on GitHub


A c++ application tracking Chilitags in a .avi video and logging their position at each frame. Used as a post-analysis tool for an eye-tracking experiment.

Visit it on GitHub


A very simple example of a cpp websocket communicating with a web page.

Visit it on GitHub