Robotics

From AIRWiki
Revision as of 15:35, 12 February 2010 by GiulioFontana (Talk | contribs)

Jump to: navigation, search

Robotics is a huge research area. We are mainly involved in autonomous robots, mobile robots, bio-inspired robots, SLAM, service robots, edutainment and entertainment robots.

Ongoing Projects

Robot development

Benchmarking

Bio Robotics

Robogames

People


Project Proposals

Wiki Page: 3D Scene Understanding
FreeCamera.png

Title: 3D Indoor scene understanding and layout reconstruction for a mobile robot in collaboration with UnimiB
Description: The proposed project aims to reconstruct the 3D structural layout of an indoor environment perceived by a mobile robot. From the sensorial data, the robot should be able to reconstruct a geometrical structure of an indoor environment (e.g., an office).

Methods for indoor layout reconstruction must be significantly more tolerant to missing data than their outdoor counterparts, since environments such as offices and apartments exhibit extremely high levels of clutter, which typically results in heavy occlusions of walls and other structures of interest, large-scale artifacts, noise and missing data. The proposed work will be developed in collaboration with IRALAB, the Robotics Lab of University of Milano Bicocca.

The work will be based on an existing project, Free Your Camera (http://www.ira.disco.unimib.it/research/robotic-perception-research/free-your-camera-3d-indoor-scene-understanding-from-arbitrary-camera-motion/) and will be part of a robotic framework based on with ROS and in development at IRALAB.
Tutor: FrancescoAmigoni, MatteoLuperto
Additional Info: CFU 10 - 20 / Master of Science / Thesis

Wiki Page: Autistic Children Play Robot
SkypeWII3Small.JPG

Title: Autistic Children Play Robot
Description: Within a Polisocial project we will have to implement a robot suitable to play autonomously with autistic children that will interact with it and a game system by gestures. The thesis will explore some of the aspects of the problem, eventually participating to the production of prototypes to be tested with real users. The thesis gives the possibility to develop a robot with special requirements, and to work with gesture interpretation by using devices such as Kinect or the WII Mote. The work is done in an interdisciplinary group including care givers and designers.
Tutor: AndreaBonarini
Additional Info: CFU 20 - 20 / Master of Science / Thesis

Wiki Page: Automatic Differentiation Techniques for Real Time Kalman Filtering
Autodiff.png

Title: Evaluation of Automatic Differentiation Techniques for Gauss-Newton based Simultaneous Localization and Mapping
Description: In Gauss-Newton non linear optimization one of the most tedious part is computing Jacobians. At the AIRLab we have developed a framework for non linear Simultaneous Localization and Mapping suitable for different motion models and measurement equations, but any time you need to change something you need to recompute the required Jacobian. Automatic differentiation is a tool for the automatic differentiation of source code either at compiling time or at runtime; we are interested in testing these techniques in the software we have developed and compare their performance with respect to (cumbersome) optimized computation.

Material

Expected outcome: New modules implementations based on automatic differentiation A comparison between the old stuff and new approach

Required skills or skills to be acquired:

  • C++ programming under Linux

Tutor: MatteoMatteucci
Additional Info: CFU 10 - 20 / Master of Science / Thesis

Wiki Page: Barking Robots
E2LateralHeadCutSmall.JPG

Title: Barking Robots
Description: Aim of this project is the development of a robot that can operate autonomously at exhibitions and malls to attract people to a given location, by showing interesting behaviors and interacting with people.

The robot first exhibition has been at Robotica 2009, within HI-Tech Expo at Fiera di Milano, on November 23-25, 2009. Here, the robot had to go around in an area delimited by a white stripe and contact verbally and with gestures people entering the area, in order to attract them to the booth.

Behaviors and gestures have still to be developed to come to an interesting and robust demo at next Robotica, or at other ehibits (e.g. at the Museo della Scienza of Milan).
Tutor: AndreaBonarini
Additional Info: CFU 5 - 20 / Bachelor of Science, Master of Science / Thesis

Wiki Page: BringMeHome
E2LateralHeadCutSmall.JPG

Title: BringMeHome
Description:
Tutor: AndreaBonarini
Additional Info: CFU 2 - 20 / Bachelor of Science, Master of Science / Course, Thesis

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: Cognitive SLAM
C SLAM Recognition2.png

Title: Cognitive SLAM
Description: We have developed a system that is able to detect, recognize and track objects in an image taken from a low cost robot equipped with a IMU and a low cost camera. The system is capable to detect and recognize objects using a user defined fuzzy tree classifier. However the system performance is heavily dependent on high level feature extraction, such as geometric features. The problem is non trivial due to noisy low cost camera and changes in the light conditions. The aim of this project is to improve the feature extraction and description process, both in performance and quality, possible adding a more complete description or others type of features. The long term aim of the research is to have an autonomuos robot capable to create a semantic map of the envirorment, localize himself , make inference on the map, navigate into the envirorment using the objects as landmarks. No special skills are required, except basic c and object oriented programming.
Tutor: AndreaBonarini, DavideTateo
Additional Info: CFU 5 - 20 / Master of Science / Course, Thesis

Wiki Page: Designing Living Objects
EmotionalTrashBin.jpg

Title: Designing Living Objects
Description: The aim of this activity is to investigate how one or more objects in an antropic environment (home, office, hospital) can be designed and implemented to have a character and to move, having nice interactions with people. The work to be done concerns the analysis, definition, design and implementation of at least one of these objects.
Tutor: AndreaBonarini
Additional Info: CFU 5 - 20 / Bachelor of Science, Master of Science / Thesis, Course

Wiki Page: Electromagnetic kicker for middle-size RoboCup soccer robots
Kicker.jpg

Title: Electromagnetic kicker for middle-size RoboCup soccer robots
Description: The Milan RoboCup Team, a team of soccer robots that play in the Middle Size league of RoboCup (1) employs as kicker an electromagnetic device entirely designed within the AIRLab with external collaborations such as the Energetic department at Politecnico di Milano and the Electronics section at DEI. Basically, the device consists of a solenoid, a capacitor and a PIC-based board that controls (through an external integrated circuit) the charge of the capacitor at 400V (using the 24V batteries of the robot) and the generation of the magnetic field in the solenoid. The magnetic field accelerates a metallic cylinder that hits the soccer ball.

The aim of the project is to design, implement, test, and evaluate a new version of the device. While the charge phase, implemented by an ad-hoc IC controlled by the PIC, is quite efficient, some work has to be done in order to design a new solenoid and improve the way the PIC implements a sort of modulation of strength of the shoot, in order to implement small passages between robots. The final purpose is to improve the efficiency of the system, with the aim of minimize the energy consumed and maximize the energy transmitted to the ball, in order to obtain more powerful shots.

The first part of the project is focused on some theoretical aspects in order to understand the current design and evaluate how to improve it, while the second phase will be focused on the implementation and test of a new prototype of the kicking device. Experience with PIC-based systems is a plus, but not required, while some experience with electronics circuits is highly recommended. Students are supposed to work in the lab following a set of safety guidelines and rules with circuits at 400V, with 10A pick current during charge phase, and even more during shots. Student from electronics engineering are really welcomed to choose this project.

  1. http://www.er.ams.eng.osaka-u.ac.jp/robocup-mid/index.cgi

Tutor: LuigiMalago, MarcelloRestelli, MartinoMigliavacca
Additional Info: CFU 5 - 5 / 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: Extended Kalman Filtering on Manifolds
SE3 Manifold.jpg

Title: Extended Kalman Filtering on Manifolds
Description: Extended Kalman filtering is a well known technique for the estimation of the state of a dynamical system also used in robotics for localization and mapping. However in the basic formulation it assumes all variables to live in an Euclidean space while some components may span over the non-Euclidean 2D or 3D rotation group SO(2) or SO(3). It is thus possible to write tha Extended Kalman filter to operate on Lie Groups to take into account the presence of manifolds (http://www.ethaneade.org/latex2html/lie/lie.html). We are interestend in investigation this further applying it to the EKF-SLAM framework we have developed. Material:

  • papers about Manifold based optimization and space representations
  • C++ framework for EKF-SLAM

Expected outcome:

  • An extended Kalman filter which uses this new representation

Required skills or skills to be acquired:

  • Good mathematical background
  • C++ programming under Linux

Tutor: MatteoMatteucci, SimoneCeriani, DavideCucci
Additional Info: CFU 20 - 20 / Master of Science / Thesis

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: MoonSLAM Reengineering
SofwareEingineer.jpg

Title: Reengineering of a flexible framework for simultaneous localization and mapping
Description: In the last three years a general framework for the implementation of EKF-SLAM algorithm has been developed at the AIRLab. After several improvements it is now time to redesign it based on the experience cumulated. The goal is to have an international reference framework for the development of EKF based SLAM algorithms with multiple sensors (e.g., lasers, odometers, inertial measurement ) and different motion models (e.g., free 6DoF motion, planar motion, ackerman kinematic, and do on). The basic idea is to implement it by using C++ templates, numerically stable techniques for Kalman filtering and investigation the use of automatic differentiation. It should be possible to seamlessly exchange motion model and sensor model without having to write code beside the motion model and the measurement equation.

Material

  • lots of theoretical background and material
  • an existing (and working) C++ implementation of the framework

Expected outcome:

  • a C++ library for the implementation of generic EKF-SLAM algorithms

Required skills:

  • Experienced C++ programming under Linux

Tutor: MatteoMatteucci
Additional Info: CFU 20 - 20 / Master of Science / Thesis

Wiki Page: Odometric system for robots based on laser mice
Calibration.png

Title: Odometric system for robots based on laser mice
Description: We developed an odometric system for robots by combining the reading of several laser mice. The system consists of a master PIC-based board and several slave boards where the sensors employed in optical mice are located. The readings are collected on the PIC and sent on the serial port to a PC which elaborates and combines the x and y readings in order to obtain a x,y,theta estimation of the movement of the robot.

The aim of the project is first to improve the current design of the PIC-based board, and realize a new working prototype, and then to implement and evaluate different algorithms able to estimate more precisely the x,y and theta odometric data from the mice readings. Experience with PIC-based systems and some experience with electronics circuits is a plus. Students are supposed to redesign the electronic board, improve the firmware of the PIC, and work on the algorithm that estimates the robot position on the PC. It would be also interesting to evaluate the possibility to embed the optimization and estimation algorithms in the firmware of the PIC in order to produce a stand-alone device.

Ask the tutors of the project for extra material, such as data-sheets and other documentation.
Tutor: MatteoMatteucci, LuigiMalago, MarcelloRestelli
Additional Info: CFU 5 - 20 / Master of Science / Course, 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: ROS navigation local planner

Title: ROS_navigation_local_planner
Description: The project will be focused on the implementation of a planner and tracking algorithms for Ackermann vehicles
Tutor: MatteoMatteucci,
Additional Info: CFU 2 - 20 / Master of Science / Thesis

Wiki Page: Robocentric MoonSLAM
RobocentricSLAM.gif

Title: Robocentric implementation in the MoonSLAM framework
Description: Simultaneous Localization and Mapping (SLAM) is one of the basic functionalities required from an autonomous robot. In the past we have developed a framework for building SLAM algorithm based on the use of the Extended Kalman Filter and vision sensors. The actual implementation of the EKF SLAM in the framework developed uses a world-centric approach, but from the literature it is known that a robocentric approach can provide higher performances on small maps. We would like to have both implementation to compare the results in two scenarios: pure visual odometry, conditional independent submapping.

Material

  • A framework for multisensor SLAM using the world centric approach
  • Papers and report about robocentric slam

Expected outcome:

  • a fully functional robocentric version of the MoonSLAM framework

Required skills or skills to be acquired:

  • Basic background in computer vision
  • Background in Kalman filtering
  • C++ programming under Linux

Tutor: MatteoMatteucci, SimoneCeriani
Additional Info: CFU 20 - 20 / Master of Science / Thesis

Wiki Page: Robot Games
Spykeecontorri.jpg

Title: Robot Games
Description: Projects may include the design of an interactive game on an existing or a new robot, and its evaluation. These projects allow to experiment with real mobile robots and interaction devices. Some games may be designed for disabled children. The project can be considered a MS thesis if it can produce a new game and, possibly, a new robot, and includes adapting the behavior of the robot to the player.
Tutor: AndreaBonarini
Additional Info: CFU 2 - 20 / Bachelor of Science, Master of Science / Course, Thesis

Wiki Page: Scan Matching Odometry and Multisensor SLAM
ScanMatching.jpg

Title: Scan Matching Odometry and Multisensor SLAM
Description: Starting from some C/C++ code for laser scan alignment and the covariance information associated to the matching, we are interested in the development of a library for the matching and fusion of laser scans under the ROS (www.ros.org) environment. From this we are interested in the development of an odometric system based on laser scan matching and in a Simultaneous Localization and Mapping system integrating scan matching with visual SLAM. The result is a complete navigation system that fuses laser and visual information to build consisten maps in an EKF-based environment.

Material:

  • a MS thesis which describes the scan matching algorithms
  • a BS thesis which implements a prototype of the system

Expected outcome:

  • a complete system that build maps integrating laser scan and visual informtion

Required skills or skills to be acquired:

  • Background on Kalman filtering
  • C++ programming under Linux

Tutor: MatteoMatteucci, SimoneCeriani, DavideCucci
Additional Info: CFU 10 - 20 / Bachelor of Science, Master of Science / 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

… further results

Past Projects


Resources

Theories and useful algorithms