You'll find on this page a list of the most significant software projects I've participated in.

My language of choice is Python for its elegance and convenience. But I also program in C or C++ when necessary and I did a project in Java.


This is a driver and a ROS node for the XSens XM/MT/MTi/MTi-G Inertial Measurement Units (IMU).

This software is in two parts. Its core is a Python module which is both a library to use and communicate with the devices and a command-line interface for configuration and diagnosis. On top of this core is a ROS node that can publish most of the data types that those IMUs can stream as ROS messages.

To my knowledge, this is currently the ROS driver with the widest device and configuration support. It features experimental support for mark IV devices: MTi-10/100 series.

The source code is available on github.

This driver is also available on ROS website and packaged for ubuntu starting from ROS electric: ros-<distro>-ethzasl-xsens-driver.


This is support code for my work on 3D navigation for ground robots. It allows the NIFTi robot to navigate in a 3D unstructured environment.

This ROS package provides an interactive marker and node. The node expects a global point-cloud map and complies to the same actionlib interface as gmapping. One can also use the interactive marker to have more control on the node.

The source code is available on github.


This is a set of ROS packages used for the NIFTi robot. It gathers the ROS driver, the teleoperation node and some launchers.

Detailed contents:
nifti_robot_node: the ROS driver for the robot;
nifti_robot_node_msgs: ROS messages definition specific to the NIFTi robot;
nifti_teleop: teleoperation package with the teleoperation node, and some tools to have a priority defined multiplexing of the commands;
nifti_laser_filtering: various online filters for the 2D scans;
nifti_laser_assembler: node to assemble 2D laser scans into 3D point clouds;
nifti_drivers_launchers and nifti_launchers: packages with launch files.

The source code is available on github.

Bayesian Occular Saccades Selection: boss

This is the simulation and validation software for my work on Bayesian modeling of eye movement selection (see my publications).

It is a java tool that takes a trajectory file, does Bayesian inference in a model of retinotopic maps and computes different eye movement probability distributions based on different decision models

It is only available as a java archive.