Mauro Birattari

Chercheur Qualifié du F.R.S.-FNRS

Student Projects --- PROJ-H-402

Please read carefully the rules of PROJ-H-402

Interacting with a robot via an iPad

The aim of this project is to design and implement a program that allows a human operator to interact remotely with a robot. The robot lives in a simple environment populated by objects that the robot is able to perceive and to move around. Initially, the position of the objects is unknown. The robot has to autonomously explore the environment and to locate the objects. As the robot moves around and encounters objects, it sends the information it gathers to a remote application running either on a desktop computer or on an ipad. The human operator can then select one by one the objects found by the robot and drag them to a new desired position. The remote application informs the robot of the modifications requested by the operator. The robot implements these requested modifications by displacing the object to the new desired position.

Requirements: Good knowledge of C++ and QT libraries. Some experience in programming applications for the ipad.

Working language: English

Contact: Gianpiero Francesca, Carlo Pinciroli, and Mauro Birattari

Integration of PROTOSWARM into ARGoS

ARGoS is a high-performance simulator for swarm robotics. Its aim is to let researchers write control code for robots and ease prototyping. Currently, robot controllers must be written in C++. The aim of this project is to integrate into ARGoS an innovative language for swarm programming, called PROTOSWARM, and to produce a demo of its integration (i.e., a non-trivial working experiment).

Requirements: Good knowledge of C++.

Working language: English

Contact: Carlo Pinciroli and Mauro Birattari

WYSIWYG experiment configuration tool for ARGoS

ARGoS is a high-performance simulator for swarm robotics. Its aim is to let researchers write control code for robots and ease prototyping. To run an experiment, a user must provide control code in the form of a compiled library and an XML configuration file that sets up all the aspects of the simulation to run: which controllers must be used, which robots take part to the simulation and how they are distributed, the configuration of the arena, etc. The aim of this project is to produce an intuitive graphical tool to create the XML configuration file.

Requirements: Good knowledge of C++ and QT libraries.

Working language: English

Contact: Carlo Pinciroli and Mauro Birattari

A virtual machine for mobile code in a swarm of robots

Mobile code is a technology whereby nodes in a network of computing nodes exchange code. In other words, code migrates from machine to machine like an agent navigating an environment. Mobile code is a promising technology for swarm robotics because it would enable a new, novel type of robot-robot interactions. The aim of this project is produce a simple, yet high-performance virtual machine to support code exchange in a swarm of robots. A simple experiment with the robots demonstrating the capabilities of the VM will be performed.

Requirements: Good knowledge of C.

Working language: English

Contact: Carlo Pinciroli, Giovanni Reina, Manuele Brambilla, and Mauro Birattari

Framework for the simulation of Cellular Automata

The aim of this project is to design and implement a Java framework for the simulation of Cellular Automata. A cellular automaton is a decentralized computing model which consists in a finite set of properties, a finite set of rules and an "environment" generally modelled as a regular grid of cells. The Cellular Automata paradigm of decentralized control provides an excellent platform for performing complex computation with the help of only local information and it has been exploited by researchers and scientists from different fields to investigate complex phenomena such as the coalescence of clouds or atmospheric pollution, for simulating hydrodynamics and diffusion processes, and to study complex relationships among individuals in social and natural sciences. The reason behind the popularity of cellular automata can be traced to their simplicity: at each time step the cellular automaton evolves according to a set of rules based on the states of neighboring cells. The rules are then applied iteratively for as many time steps as desired. The aim of this project is to implement a simple framework and an intuitive graphical tool to create and study Cellular Automata.

Requirements: Good knowledge of Java.

Working language: English

Contact: Michele Pace and Mauro Birattari

Development of trading strategies

Artificial intelligence is becoming deeply integrated into our economic ecostructure: machines can observe billions of market transactions to see patterns we could never see. Trading that relies on computerized systems, which automatically issue buy/sell orders once market conditions fall in line with a certain set of parameters, is called algorithmic trading or automated trading. Studies estimate that a third of all stock trades in the United States were driven by automatic algorithms last year, contributing to an explosion in stock market activity. The aim of this project is to design, implement and test a series of trading systems and artificial intelligence techniques for the determination of high-probability entries and exits in a specific market. This includes a statistical study of the performance of different trading strategies, their backtest and their critical analysis.

Requirements: Good knowledge of Matlab or C++, interest in learning concepts of finance and technical analysis.

Working language: English

Contact: Michele Pace and Mauro Birattari

A community-oriented web site development

The aim of this project is to leverage and bring to a production a real-world social networking website. The field of Web Design is growing very fast and it is a confluence of different technologies: web development, database management, testing and monitoring of the performance. The interested candidate will be in contact with all the aspects of modern web development: user profiles, image upload, simple blogs, friendship request system, testing and deployment.

Requirements: Knowledge of Ruby on Rails and Mysql.

Working language: English

Contact: Michele Pace and Mauro Birattari

Training Timer for Brazilian Jiu-Jitsu

The aim of this project is to design, build, and program a training timer for Brazilian Jiu-Jitsu. The timer will be based on the Arduino prototyping platform. The timer will have two operating modes: 1) single timer; 2) double timer. In single timer mode, the timer will signal when the training time is over. In double timer mode, the timer will cycle between a training phase and a rest phase. It will signal each time a phase ends. The signal will be both acoustic (a horn) and visual (colored light). Traning time and rest time (in double timer mode) will be programmable by the user.

Requirements: C programming and some basic skills in digital electronics and possibly some experience with Arduino.

Working language: English

Contact: Arne Brutschy and Mauro Birattari

Rhythmic Accuracy Evaluator

The goal of this project is to write a software that is able to analyze music tracks and evaluate their rhythmic accuracy. One of the challenges of playing music with a metronome is to "follow the beat", that is, make sure that the played notes are played when they are supposed to be played, not before, not after. A software that gives feedback on the rhythmic accuracy of a recorded track can be a useful tool to improve one's accuracy. The idea is to develop a simple "guitar hero"-like software with real instrument focusing on rhythm only. The software will compare a simple recorded audio/MIDI track with a given MIDI track and output an evaluation of how precise the executioner was. To keep things simple, in the beginning the comparison will be performed between two MIDI tracks. Eventually, the software can be extended to analyze real audio tracks. C/C++, Phyton and Java Libraries for MIDI processing and audio analysis are already available on the internet.

Requirements: You can choose between C/C++, Phyton or Java. Minimal knowledge about music and MIDI is required.

Working language: English or French

Contact: Manuele Brambilla and Mauro Birattari

Web Community of Robotic Software

The aim of this project is to design and develop a website where the users can share robot controllers. Nowadays the reusability of the code in the robotic community is very low. We aim to create a web community where scientists and practitioners from all over the world can share their software. The website offers two main functionalities: (1) to search the solutions of solved problems and download the code, or (2) to code new solutions for existing open problems and submit the new solutions. The student task is to design and develop the website which permits these two operations.

Requirements: HTML, MySql and you can choose between your favorite web programming language (Java/JSP, PHP or Ruby on Rails).

Working language: English

Contact: Andreagiovanni Reina, Vito Trianni, and Mauro Birattari

Mauro Birattari

Chercheur Qualifié du F.R.S.-FNRS

IRIDIA, CoDE, FSA - CP 194/6
Université Libre de Bruxelles
Av. F.D. Roosevelt 50
1050 Bruxelles - Belgium

Voice: (+32)-2-650 31 68
Fax: (+32)-2-650 27 15

mbiro@ulb.ac.be
View Mauro Birattari's profile on LinkedIn

Highlights

Best Video Award

The video Swarmanoid, the movie, written and directed by Mauro Birattari and Rehan O'Grady, won the Best Video Award at the AAAI-11 AI Video Competition!

August 2011

News from IRIDIA

Mattia Manfroni received the Best Master Thesis Award from the Italian Association for Artificial Intelligence (AI*IA). Mattia carried out his research at IRIDIA under the supervision of Andrea Roli, Mauro Birattari, Carlo Pinciroli, and Marco Dorigo.

September 2011

Books

Tuning Metaheuristics

A machine learning perspective
M. Birattari. Springer, 2009

Upcoming Events

AAAI Video Competition

Sixth AI Video Competition, held in conjunction with the AAAI-12 conference

Toronto, Canada, July 22-26, 2012

ANTS 2012

Eight International Conference on Swarm Intelligence

Brussels, Belgium, Sept. 12-14, 2012