Student projects PROJ‑H‑402

Please read carefully the rules of PROJ-H-402

Automating Quality Control in Bibliography Management

We have recently started a curated bibliography collection related to swarm robotics research. We are looking for a student to help us automate the quality control of that bibliography collection.

The goal of this project is toto design a graphical interface for adding new entries to the collection and validating the user input according to defined criteria. Furthermore, we would like to integrate validation into an automatic workflow, for example using Continous Integration or GitHub Actions.

Requirements: Good knowledge of C++ or Python and an interest in automatic quality control.

Working language: English

Contact: Mauro Birattari, Jonas Kuckling and David Garzón Ramos

AutoMoDe execution traces analysis tool

AutoMoDe is an automatic design method for generating control software for robot swarms. It combines predefined modules into different control architectures, such as finite state machines. When executed, the control software has the ability to produce a detailed execution trace reporting the internal status of the finite-state machine as well as the readings of the robot's sensors.

The student will have to develop an intuitive graphical tool to visualize the execution traces so that they may be studied and compared.

Requirements: Good knowledge of C++ and QT libraries

Working language: English

Contact: Federico Pagnozzi and Mauro Birattari

Interactive RGB environment for experiments with robot swarms

MoCA is a modular RGB arena for experiments with robot swarms that can perceive colors. Originally, MoCA was conceived to work in an open loop, in which the configuration of the RGB modules does not change with respect to the behavior of the robots.

The goal of this project is to extend the functionalities of MoCA to make it capable of reacting to specific events that happen in the experiments, which for example, could be detected by using computer vision to track the position of the robots. The project will focus on the implementation of such functionalities in a Raspberry Pi, and it will involve the use of the Robot Operating System (ROS).

Requirements: Knowledge of Python or C++, and interest in Raspberry Pi, ROS, and computer vision.

Working language: English

Contact: David Garzón Ramos and Mauro Birattari

Web applet for designing and simulating collective behaviors for robot swarms

AutoMoDe is a family of methods for the automatic modular design of collective behaviors for robot swarms. Recent investigations have shown that methods in the AutoMoDe family are in many cases more efficient than collective behaviors designed by humans.

The goal of this project is to provide a platform in which human designers can compete with the collective behaviors designed by methods of the AutoMoDe family. The project will result in a gamified web applet in which users can design and simulate robot swarms using a collection of modular behaviors. The development of the backend of the applet will be based on the ARGoS3 simulator, and the frontend will be developed in the Unity game engine.

Requirements: Knowledge of C++, and interest in backend and frontend web development

Working language: English

Contact: Jonas Kuckling, Miquel Kegeleirs, David Garzón Ramos and Mauro Birattari

The DEMIURGE: a framework for the automatic modular design of robot swarms

AutoMoDe is a family of methods for the automatic design of control software for robot swarms. All current methods in AutoMoDe branched from a single implementation, and although they share a basic software architecture, each implementation has some unique features that characterize it.

The goal of this project is to unify these methods in a single framework: The DEMIURGE. The project focuses on the design of the framework and the integration of existing software implementations of the AutoMoDe family.

Requirements: Knowledge of C++, and interest in software engineering

Working language: English

Contact: David Garzón Ramos, Jonas Kuckling and Mauro Birattari

Simulate the Sphero RVR in ARGoS3

A robot swarm is a large group of relatively simple robots that can collectively accomplish tasks that a single robot could not accomplish alone. In practice, conducting experiments with a swarm of hundreds or even thousands of robots is often not possible. For this reason, researchers resort to simulation to perform their experiments. ARGoS3 is a simulator optimized for swarm robotics experiments. Thanks to its modular approach, it can be easily extended with plug-ins to support, for example, a new robotics platform.

The goal of this project is to create the argos3-sphero-rvr plug-in to simulate the Sphero RVR robot in ARGoS3. The plug-in should interface with all the sensors and actuators of the robot to simulate experiments with a swarm of Sphero RVR.

Requirements: Good knowledge of C++ and an interest in robotics and electronics.

Working language: English

Contact: Miquel Kegeleirs, David Garzon Ramos, and Mauro Birattari

Face recognition for updating the list of people participating in an event

The goal of the project is to develop a program for smartphones (android, iOS)—or for Rapsberry PI 4—to recognize a person and update a list of the people participating in an event. The list is in a Google sheet, so the program must interact with the Google sheet API. Eventually, the software to be produced will run on a smartphone—or on a custom device based on Rapsberry PI 4—that the end-user will point to the face of the people participating in the event (one by one). The software must recognize the person (out of an available database) and update the Google sheet list.

Requirements: Good programming skills; interest in computer vision, web-based technologies, mobile applications and, possibly, Rapsberry PI.

Working language: English

Contact: Miquel Kegeleirs, Antoine Ligot, and Mauro Birattari

Intuitive Interaction with Robot Swarms

We have created a tool that allows monitoring of individual robots in a swarm. The tool is implemented in the Unity game-engine and uses ROS to communicate with the ARGoS swarm simulator. For this project, we would like to extend the capabalities of this tool, to allow user interaction with the swarm or parts thereof.

The goal of this project is to create an improved version of the monitoring tool, that allows the user to select and interact with parts of the swarm in an intuitive way.

Requirements: Knowledge of C# and an interest in computational visualization and human machine interaction. Knowledge of the Unity game-engine is advantageous but not required.

Working language: English

Contact: Jonas Kuckling, David Garzón Ramos, Miquel Kegeleirs and Mauro Birattari

Controlling Robot Swarms with ROS

We have created a tool that allows monitoring of individual robots in a swarm. The tool is implemented in the Unity game-engine and uses ROS to communicate with the ARGoS swarm simulator. For this project, we would like to extend the capabalities of this tool, to allow user interaction with the swarm or parts thereof.

The goal of this project is to integrate ROS more tightly with the ARGoS simulator, so that the simulation can be influenced by external user input supplied via ROS messages.

Requirements: Knowledge of C++ and an interest in human machine interaction. Knowledge of ROS is advantageous but not required.

Working language: English

Contact: Jonas Kuckling, David Garzón Ramos, Miquel Kegeleirs and Mauro Birattari

Projects proposed by other professors/groups are listed here