User:AndreaBonarini

From AIRWiki

Jump to: navigation, search
Andrea Bonarini
Foto di AndreaBonarini
First Name: Andrea
Last Name: Bonarini
E-Mail: bonarini@elet.polimi.it
Research Areas: Robotics, Affective Computing






Full professor, coordinator of the AIRLab.

This is my home page on the airwiki website. Here you can find projects and thesis proposals as well as tutored projects. For any other information you can try on my home page at DEI (official home page) or on my personal home page.






Contents

PhD Students I am currently tutoring


PhD Thesis Proposals

Highly Interactive Robotic Games

Interactive games with autonomous robots are one of the most challenging robotic research issues. The robot should involve the human player, both physically and behaviorally, while acting in the real world. The task is even harder, due to constraints given by the market that impose the robot to cost as much as a videogame console. Technologies for effective low-cost robotics are being developed with another PhD Thesis by Martino Migliavacca. This research requires developments in Robotics technologies, and, at the same time, the study of a novel framework of interaction. According to the competences of the candidate(s), the accent might be on robot shape, movement, behavior, interaction, signals, game design. Reference area: Robogames


MS and BS thesis and project proposals

Wiki Page: CAN Bus bootloader for STM32 microcontrollers
STM32-H103-1.jpg

Title: CAN Bus bootloader for STM32 microcontrollers
Description: JOINT PROJECT with the Embedded Systems group (contact: Patrick Bellasi http://home.dei.polimi.it/bellasi/) In order to speed up the development and the maintenance of embedded applications, a way to update the firmware on a microcontroller without the need of connecting cables or programmers can be very handy. We are developing a framework for rapid prototyping of low-cost robots, with smart devices that exchange data on a CAN bus network. The CAN bus bootloader is one of the components we need for this project, enabling remote firmware upgrades of all the devices connected to the CAN network.

This project aims to develop a CAN bus bootloader for STM32 ARM Cortex-M3 microcontrollers, and eventually for other architectures.
Tutor: AndreaBonarini, MartinoMigliavacca
Additional Info: CFU 2 - 5 / Bachelor of Science, Master of Science / Course

Wiki Page: Embedded registers view plug-in for Eclipse
STM32-H103-1.jpg

Title: Embedded registers view plug-in for Eclipse
Description: JOINT PROJECT with the Embedded Systems group (contact: Patrick Bellasi http://home.dei.polimi.it/bellasi/) When developing embedded applications it is frequently needed to look at *hardware register content* in order to *debug the code*. All commercial development suites offer register views that show their contents as well as the meaning of each bit. Open source development solutions currently lack this feature, meaning that you have to look to the correct memory location and map the content to the corresponding register bits manually. This seems to be one of the most limiting issues when developing embedded application using open source solutions.

This project aims to fill this gap, developing an Eclipse plug-in that shows the register contents in a tree viewer, like most commercial suites do.
Tutor: AndreaBonarini, MartinoMigliavacca
Additional Info: CFU 2 - 5 / Bachelor of Science, Master of Science / Course

Wiki Page: LCM middleware on embedded platform
STM32-H103-1.jpg

Title: LCM middleware on embedded platform
Description: We are developing a framework for rapid prototyping of low-cost robotic systems. To fasten robot design and building, and to make software and hardware reuse easier, a modular architecture is mandatory. In a context of smart modules that have to cooperate by exchanging data to reach their common goal, the communication protocol and middleware are core components. This project is about the middleware component, a publish/subscribe system that takes care of managing topics, publisher and subscribers, and of marshaling data before sending it. This project aims at porting the LCM marshaling and middleware library, developed at MIT and used in the Grand Challenge competition, to embedded systems, in order to exploit the existing LCM tools and to be compliant with an existing and efficient technology.

The project consists in:

  • stripping non necessary features of LCM to match the constraints of an embedded system and of the communication protocol
  • adding necessary features, like the concept of deadline (and priority as a consequence), that are mandatory for a real time distributed system
  • building a gateway, on an embedded platform, that acts as gateway between the standard-LCM world and the embededd-LCM network

The projects has to be developed in ANSI C, and experience with embedded platforms is a plus.
Tutor: AndreaBonarini, MartinoMigliavacca
Additional Info: CFU 20 - 20 / Master of Science / Thesis

Wiki Page: R2P IMU firmware development
R2P IMU.png

Title: Embedded Inertial Measurement Unit for Unmanned Aerial Vehihcles
Description: We have developed the electronics of an Inertial Measurement Unit based on an ARM microcontroller to be integrated on an autonomous embedded aerial platform. The IMU has already some attitude heading reference system (AHRS) code implemented, but we are interested in:

  • implementing embedded algorithms for the estimation of the IMU attitude to be compared with the actual one (e.g., Kalman filter, DCM, Madgwick, etc.)
  • developing a, easy to use, procedure for the calibration of IMU parameters
  • making a comparison with commercial units using a robot arm as testbed
  • validate the accuracy of the IMU on a flying platform
  • integrate the measurements from a GPS to reduce drift and provide accurate positiong (this will make it definitely a MS thesis)

Material

  • electronic board and eclipse based C development toolkit for ARM processors
  • papers describing the algorithms we are interested in implementing

Expected outcome:

  • few different AHRS algorithms with comparative results
  • user-friendly procedure to calibrate the IMU
  • a sistem which integrated IMU and GPS to provide accurate positioning

Required skills or skills to be acquired:

  • C programming on ARM microcontroller
  • background on kalman filtering and attitude estimation

Tutor: AndreaBonarini, MartinoMigliavacca, MatteoMatteucci
Additional Info: CFU 2 - 20 / Bachelor of Science, Master of Science / Course, Thesis

Wiki Page: Robot Games
SkypeWII3Small.JPG

Title: Robot Games
Description: Projects are available in different areas:

  • Design and implementation of the game on one of the available robots
  • Design of the game and a new suitable robot
  • Implementation/setting of a suitable robot
  • Evaluation of the game with users (in collaboration with Prof. Franca Garzotto)

These projects allow to experiment with real mobile robots (Lego Mindstoms, Spykee and other) and real interaction devices such as the WII Mote. The project can be eventually turned into a MS thesis by producing a new game and robot.
Tutor: AndreaBonarini
Additional Info: CFU 2 - 20 / Bachelor of Science, Master of Science / Course, Thesis

Wiki Page: Scripting language on embedded platforms
STM32-H103-1.jpg

Title: Scripting language on embedded platforms
Description: JOINT PROJECT with the Embedded Systems group (contact: Patrick Bellasi http://home.dei.polimi.it/bellasi/) When developing embedded applications it is common the need to test some algorithm in some fast way, without to re-program the whole firmware every time. PAWN (http://www.compuphase.com/pawn/) is a *simple and lightweight scripting language with a C-like syntax*. Execution speed, stability, simplicity and a small footprint were essential design criteria for both the language and the abstract machine, making PAWN suitable for embedded applications.

This project aims to port the abstract machine to ARM Cortex-M3 microcontrollers, add a set of functions to interface with the underlying hardware peripherals and then to embed it as ChibiOS/RT (http://www.chibios.org) thread.
Tutor: AndreaBonarini, MartinoMigliavacca
Additional Info: CFU 2 - 5 / Bachelor of Science, Master of Science / Course

Projects I am currently tutoring


Students I am currently tutoring