ELU613: Programming of Robotic Systems


Coordinator  : Panagiotis PAPADAKIS
Co-coordinator  : Mai NGUYEN
   

Presentation

The objective of this course is to transfer the necessary theoretical and technical background underlying the programming of robotic systems, based on the use of internationally established technologies. As an introductory course in this domain, the course concentrates on the teaching of algorithms and methods considered as the state-of-the-art in the domains of perception, motion encoding & planning and machine learning for robotics.

Prerequisites

The content of the course requires good knowledge of Python programming (and occasionally of C) for what concerns the technical part. From a theoretical point of view, a minimal knowledge of notions of Linear Algebra and Statistics is required.

Duration: 42h


Content

The course concentrates on the "system" aspect of a mobile robot starting with a presentation of principal components, notably, sensors and actuators followed by their integration in a system capable of executing basic tasks. For the execution of these tasks, the course will present established algorithms from the following list of areas:

• Robot localization in 2D
• 2D/3D data analysis for the detection of primitives structures
• Motion planning guided by machine learning

The class is composed of principal courses that explain the general formalisation of the concerned algorithms, followed by practical courses (TD/TP) that exemplify their development and their application within mobile robot systems. The realization of examples and use case scenarios will be performed by using the "Robot Operating System (ROS)".

The complexity/difficulty of the course content increases progressively during the teaching according to the following order:

• Conception/modelling of a mobile robot based on the URDF format (Unified Robot Description Format)
• Simulation program Gazebo: adding of sensors and actuators (wheels, manipulators, etc)
• Introduction to the Robot Operating System (ROS): node development, subscriber/publisher topics, messages, visualization, bridge with Gazebo
• Use cases: perception of objects/primitives, decision and path planning, machine learning for various scenarios (indicatively, those described in the context of the competition RoboCup), for the teaching of a set of algorithms and their implementation in a robotic system
• Demonstration/implementation in real mobile robots

Links:

- Handbook of Robotics, Siciliano, Bruno, Khatib, Oussama (Eds.) (http://www.springer.com/us/book/9783540382195)

- Planning Algorithms, Steven M. LaValle (http://planning.cs.uiuc.edu/)

- Robot Operating System (http://www.ros.org/)

Organization

Examination

25 students organized in groups of 3-4 members. Each group of students develops their own implementation of algorithms during the evolution of the course. Their deliverables are compared in terms of effectiveness on board real robots/systems with the objective to inspire a sense of competition for the best implementation among the groups.

Scheduled activities

  • CS1 (3h)   Cours scientifique 1
  • TP1 (3h)   Travaux pratiques 1
  • CS2 (3h)   Cours scientifique 2
  • TP2 (3h)   Travaux pratiques 2
  • CS3 (3h)   Cours scientifique 3
  • TP3 (3h)   Travaux pratiques 3
  • CS4 (3h)   Cours scientifique 4
  • TP4 (3h)   Travaux pratiques 4
  • CS5 (3h)   Cours scientifique 5
  • TP5 (3h)   Travaux pratiques 5
  • CS6 (3h)   Cours scientifique 6
  • TP6 (3h)   Travaux pratiques 6
  • CS7 (3h)   Cours scientifique 7
  • EXAMEN (3h)   Examen écrit

Team


  CS1
  3h
  TP1
  3h
  CS2
  3h
  TP2
  3h
  CS3
  3h
  TP3
  3h
  CS4
  3h
  TP4
  3h
  CS5
  3h
  TP5
  3h
  CS6
  3h
  TP6
  3h
  CS7
  3h
  EXAMEN
  3h
 Jérôme KERDREUX                             
 Frederic MAUSSANG                      x x    
 Mai NGUYEN                  x x        
 Panagiotis PAPADAKIS  x x x x x x x x         x x



  Year 2017/2018
Last update: 06-OCT-17
Last validation:

IMT Atlantique
Campus de Brest
Technopôle Brest-Iroise
CS 83818
29238 Brest Cedex 3
France

Tél  +33 (0)2 29 00 11 11
Fax +33 (0)2 29 00 10 00