Welcome to the web page for the robotics class of the MVA master's program, taught by Justin Carpentier, Stéphane Caron, Silvère Bonnabel, Pierre-Brice Wieber and Ajay Sathya (TA).
A large part of the recent progress in robotics has sided with advances in machine learning, optimization and computer vision. The objective of this class is to introduce the general conceptual tools behind these advances and show how they have enabled robots to perceive the world and perform tasks ranging, beyond factory automation, to highly-dynamic saltos or mountain hikes. The course covers modeling and simulation of robotic systems, motion planning, inverse problems for motion control, optimal control, and reinforcement learning. It also includes practical exercises with state-of-the-art robotics libraries, and a broader reflection on our responsibilities when it comes to doing research and innovation in robotics.
This first lecture is a general introduction of modeling robotic systems. We review basic notions of control theory to describe the evolution of dynamical systems and introduce standard robot dynamics concepts.
Robotics is about producing motion. We now dive into the mathematical representation of robots (articulated systems of rigid bodies) and their motions (relative transforms and generalized velocities of these rigid bodies).
In this second course, we will focus on motion planning, the problem of finding feasible continuous motions. We will recall the concepts of configuration space and workspace, then discuss state-of-the-art sampling-based algorithms. We will cover the cases of non-holonomic vehicles and manipulation. In the tutorial session, we will implement motion planning algorithms on a robotic arm scenario.
We start our review standard inverse problems in robotics with inverse kinematics, the problem of computing configuration-space motions from workspace motions. This corresponds to, for instance, moving a robotic arm to reach a given object. We introduce the concepts of task functions and how to cast differential inverse kinematics as a quadratic program. In the tutorial, we will put these notions to use with Pinocchio.
In a short excursion, we also take a peek at model predictive control for legged locomotion, also cast as a quadratic program.
What is Ethics, how does it work and what are your obligations when it comes to doing research and innovation in robotics? After a bit of history and a review of major aspects related to responsible robotics, we'll work through examples such as self-driving vehicles.
In this lecture, we will outline recent breakthroughs of reinforcement learning in real-robot locomotion and manipulation. We will step through the technical decisions in training pipelines, and describe the state-of-the-art toolbox for transferring simulation-trained policies to real robots.
In this fifth course, we will start by briefly describing the sensors that are used by robots to perceive their environment and self-localize in it, namely IMUs, cameras, point clouds, and absolute position measurements (GPS outdoors, motion capture indoors). We will introduce the sensor fusion problem for dynamical systems and its optimal solution in the linear case: the Kalman filter. We will then turn to the nonlinear case and its tools: EKF, Invariant EKF, factor graphs.
As praticle exercises, we will first start with simple wheeled robot localization in 2D, and then move to the principles behind the recent contact-aided invariant EKF for legged robot, and also simultaneous localization and mapping (SLAM) and the MSCKF for visual inertial odometry (VIO).
In this fourth course, we will introduce optimal control and dynamics simulation. We will review the fundamuntal principles (Prontryagin maximum principle and Hamilton-Jacobi-Bellman equations) and their derivation in the context of numerical applications (constrained optimization, differentiable dynamic programming).
Evaluation for this class will be based on weekly homework (20%) and either a project or an article study (80%).
Six homework assignments will be handed out and started in tutorial (TP) sessions. Lecturers will help get everyone started during those sessions, then the tutorials can be finished as homework. Tutorials are due on the Wednesday (Paris time) preceding the next lecture. They can all be found in the robotics-mva-2024 repository on GiHub.
To return your solution:
File
→ Save and Export Notebook As...
→ HTML
Best 5 out of 6 assigments will be used for calculating the final score from the homework. Some assignments have bonus questions that don't affect the grade (/3) of the individual assignment, but increase an independent pool of bonus points. If at least one bonus point is scored by the end of the course, the final grade will be rounded up using the ceiling function.
Final evaluation consists in either a project or an artical study, carried out by pairs of students (i.e. groups of size 2):
In projects, you select a topic of interest. A base list of topics is proposed in the evaluation topics document: it ranges from well-known to cutting-edge research works. You can pick/adapt from this list, or come up with their own proposals (e.g. build their own robots for a custom task, and implement its perception and action using some of the methods studied during the course).
In article studies, you read and report on a research paper from the list in the evaluation topics document. We strongly encourage a dash of creativity: you should be critical of the works they read, try to reproduce them (e.g. in simulation) to identify shortcomings or limitations of the assumptions made in the paper, and try to propose some next steps to overcome those. Examples of next steps include extending a proof, implementing another feature, trying the solution in a different context, etc.
Deliverables are a small report and a poster, to be presented to teachers, researchers and PhD students at the Final poster session. You will need to print your poster beforehand, e.g. in A1 or A0 format, and bring it on that day. We will provide tape and a space to hang them.
Reports: the deadline for submitting reports by e-mail is 20/12/2024. Make sure you include any additional material you have developed during your project, such as source code or videos.