This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
teaching:mfe:ia [2016/03/14 16:01] mdorigo [Collective Decision Making with Heterogeneous Agents] |
teaching:mfe:ia [2016/03/14 16:14] mdorigo [Evolution of Modular Controllers for Simulated and Real Robots] |
||
---|---|---|---|
Line 219: | Line 219: | ||
- | |||
- | ===== Formal verification of a swarm robotics behavior through statistical model checking ===== | ||
- | |||
- | The goal of this thesis is to apply statistical model | ||
- | checking to formally verify properties of a collective behavior of a | ||
- | robot swarm. Verifying that a system behaves as desired in all | ||
- | possible situations is necessary when autonomous robots are involved. | ||
- | This is particularly true in swarm robotics systems, where the | ||
- | interactions of large number of individuals can result in behaviors | ||
- | difficult to predict. Model checking is a common technique to formally | ||
- | prove properties of a system. However, its results are limited to | ||
- | small systems, because medium-sized or large systems are | ||
- | computationally impossible to analyze. | ||
- | |||
- | This thesis is will explore the application of a novel model checking technique, called statistical model checking, to formally verify a swarm robotics system. A collective behavior will be firstly implemented in | ||
- | simulation and then analyzed through statistical model checking. | ||
- | |||
- | Required skills: the candidates should be acquainted with C/C++ | ||
- | programming and have a working knowledge of the English language. | ||
- | |||
- | * Contacts : [[http://iridia.ulb.ac.be/~mbiro|Mauro Birattari]] and Manuele Brambilla (IRIDIA) | ||
- | |||
- | |||
- | ===== ROBO-POINTER -- A New Device for Human-Robot Interaction ===== | ||
- | |||
- | In this project, the student will design and implement a novel human-robots interaction system. | ||
- | The human uses a special laser pointer (called robo-pointer), and by simply pointing to a specific robot he can select it, check its status on a dedicated monitor and send to the robot instructions. | ||
- | |||
- | Now, our arena is equipped with a multi-camera tracking system that allows to detect the 3D position of the robots. | ||
- | The student will design a radio sensor network to detect the 3D position of the robo-pointer. | ||
- | The two pieces of information will be combined to trigger the selection of the pointed robot. | ||
- | |||
- | * Contacts : [[http://iridia.ulb.ac.be/~mbiro|Mauro Birattari]] and Andreagiovanni Reina (IRIDIA) | ||
- | |||
- | |||
- | ===== Let a robot swarm get around home! ===== | ||
- | |||
- | Robot swarms have very limited knowledge of their environment and therefore, moving around a complex environment (i.e., room with obstacles, building, ...) is a complex task. The idea of this project is to allow an overhead multi-camera tracking system -- that has a complete vision and knowledge of the environment -- to interact with a robot swarm in order to help the swarm move to a specific goal in the environment (for instance, moving from the kitchen to a bedroom of a house). | ||
- | The multi-camera tracking system's software is already developed. The student will be supposed to (i) develop a GUI that allows a human operator to specify a goal in the environment, (ii) design and implement a communication protocol (between the tracking system and the robot swarm) that guarantees efficiency and scalability and finally, (iii) test the interaction system in a simulated environment. | ||
- | |||
- | * Contacts : [[http://iridia.ulb.ac.be/~mbiro|Mauro Birattari]], Gaëtan Podevijn, and Andreagiovanni Reina (IRIDIA) | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | ===== Online Framework to Compose Robotic Solutions ===== | ||
- | |||
- | The design of swarm robotics systems is a challenging task due to difficulties to predict and model swarm systems. | ||
- | The most common approach is a trial-and-error process where the developer tries solutions, tests them in simulation and corrects the code to eventually achieve the desired global outcome. | ||
- | |||
- | The project aims to ease this design process: the developer have access to the code of already solved problems (called code-modules), and he can graphically combine the code-modules through a graphical interface to create his own solution. | ||
- | |||
- | The student is supposed to design this novel online framework that offers two main functionalities: (1) to compose new solutions combining the existing code-models to solve new open problems, and (2) to code new code-modules and submit them to the online system. | ||
- | |||
- | * Contacts : [[http://iridia.ulb.ac.be/~mbiro|Mauro Birattari]], Andreagiovanni Reina, and Gianpiero Francesca (IRIDIA) | ||
- | |||
- | |||
- | ===== UML for Swarm robotics: formal specification of a collective behavior ===== | ||
- | |||
- | Swarm robotics is an interesting approach to the | ||
- | coordination of hundreds of robots as it promotes the realization of | ||
- | systems which are scalable, robust and flexible. However, up to now, | ||
- | swarm robotics application has been quite limited, also due to the | ||
- | lack of an engineering approach to its development. | ||
- | In particular, formal specification has not been applied yet to swarm | ||
- | robotics systems. | ||
- | |||
- | In this thesis, we will explore possible ways to formally specify | ||
- | swarm robotics systems. As a starting point we will consider UML and | ||
- | UML extensions like AUML and UML for multi-agent systems. If | ||
- | necessary, we will develop a specific extension for swarm robotics | ||
- | systems. Once the preliminary work is done we will consider an | ||
- | example, perform formal specification of a task and then implement the | ||
- | system in simulation. | ||
- | |||
- | Required skills: the candidates should be acquainted with C/C++ | ||
- | programming, have a good knowledge of formal specification and UML, | ||
- | and have a working knowledge of the English language. | ||
- | |||
- | * Contacts : [[http://iridia.ulb.ac.be/~mbiro|Mauro Birattari]] and Manuele Brambilla (IRIDIA) | ||
- | |||
- | |||
- | ===== A GUI for debugging the behavior of a robot swarm ===== | ||
- | |||
- | Debugging a robot swarm is a complex and difficult task. | ||
- | The desired behavior of the swarm is the result of the complex | ||
- | non-linear interactions of tens or hundreds of robots. When | ||
- | implementing a swarm robotics system, very often it is necessary to | ||
- | analyze individually the output of the execution of each robot, a very | ||
- | long and boring process. Since the goal of the developer is to obtain | ||
- | a specific collective behavior, it would be better to debug the system | ||
- | at the collective level and, only if necessary, at the individual | ||
- | level. | ||
- | |||
- | In this thesis we will analyze a possible way to debug the collective | ||
- | behavior of a swarm of robots, using macroscopic and microscopic | ||
- | modeling. The goal is to develop a GUI that shows the state of the | ||
- | collective behavior of the system, and if the user requires it, the | ||
- | state of a single robot. We will start with a version of the debugging | ||
- | GUI that interface with the ARGoS simulator and eventually one that | ||
- | interfaces with the real robots. | ||
- | |||
- | Required skills: the candidates should be acquainted with C/C++ | ||
- | programming, GUI programming (QT/C++ or QT/Python or Java) and have a | ||
- | working knowledge of the English language. | ||
- | |||
- | |||
- | * Contacts : [[http://iridia.ulb.ac.be/~mbiro|Mauro Birattari]] and Manuele Brambilla (IRIDIA) | ||
- | |||
- | |||
- | |||
- | |||
- | ===== 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-to-robot interaction. 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. | ||
- | |||
- | Required Skills: Good knowledge of C | ||
- | |||
- | |||
- | * Contact: [[http://iridia.ulb.ac.be/~mbiro|Mauro Birattari]] and Carlo Pinciroli (IRIDIA) | ||
- | |||
- | |||
- | |||
- | ===== Swarmscope ===== | ||
- | |||
- | One the main problems in the development of swarm robotics | ||
- | systems is the difficulty of producing, analyzing and debugging code for | ||
- | large distributed systems. The aim of this project is to produce a set of | ||
- | innovative tools to aid the development of complex swarm robotics | ||
- | systems. The produced tools will involve new, creative visualization | ||
- | methods and media, novel human-robot swarm interaction and effective | ||
- | debugging tools. | ||
- | |||
- | Required Skills: Good knowledge of C++ and Qt4 | ||
- | |||
- | * Contact: [[http://iridia.ulb.ac.be/~mbiro|Mauro Birattari]] and Carlo Pinciroli (IRIDIA) | ||
Line 373: | Line 229: | ||
* Contact: [[http://iridia.ulb.ac.be/~mdorigo|Marco Dorigo]] (IRIDIA) | * Contact: [[http://iridia.ulb.ac.be/~mdorigo|Marco Dorigo]] (IRIDIA) | ||
- | |||
- | ===== Design of a holonomic drive system ===== | ||
- | |||
- | Unlike a differential drive system, a holonomic drive system has the advantage of being able to move in any direction at a given instant. The goal of this master thesis is to design and evaluate the performance of a holonomic drive system. The drive system will be assembled from a combination of off-the-shelf components and 3D printed parts. In order to evaluate the drive system, close loop controllers need to be designed and evaluated in C/C++. | ||
- | |||
- | Required skills: The candidates should have some experience with programming in C/C++, and some experience with 3D modelling (preferably Solidworks). The candidates should be able to use basic kinematics to solve simple physics problems, and have a working knowledge of the English language. | ||
- | |||
- | * Contact: [[http://iridia.ulb.ac.be/~mdorigo|Marco Dorigo]] (IRIDIA) | ||