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
|