Predict Lab Student Projects
We regularly run student projects at the bachelor and master levels. We update the list of offered projects below before each term.
If you’re an EPFL team that would benefit from better control, please do contact us, as we do regularly run projects with a number of teams.
If you have a project in control or robotics that you’re excited about, please get in touch and we can try and make it work!
Closed-loop Imitation Learning for Driving Control
- ID: 14120
- Type(s): Projet de semestre MA MX
- Section(s): MX
- Status: Validé
- Professor: Colin Neil Jones, Johannes Christian Karl Waibel
Motivation:
Although conventional controllers might be mathematically optimal with respect to a predefined objective, they often fail to produce driving trajectories that align with the preferences or expectations of human passengers. An alternative approach involves learning a control policy from human “expert” demonstrations so as to imitate human driving behavior. However, directly fitting a trajectory to observed data-also known as behavioral cloning-often suffers from instability and poor generalization to unseen states. To address this, a simulator can be leveraged to ensure that the learned controller generates trajectories that remain close to the expert data throughout.
Description:
In this project, we would like to apply imitation learning methods to an existing dataset of human-driven trajectories. A behavioral cloning baseline is already available. The goal is to compare this baseline to a closed-loop approach that utilizes an existing simulator. In this setup, the policy could be parameterized by a neural network or a model predictive control (MPC) policy. Ideally, after development in simulation, the project leads to the successful deployment of the controller on our ready-to-use real-world mini race car system.
Skills needed
– Strong background in Machine Learning and the relevant software tools (Python, PyTorch).
– Qualitative understanding of car dynamics or similar mobile robots.
– Significant experience in coding projects.
– Familiarity with ROS/ROS2 (Robot Operating System).
– Familiarity with C++ is a plus (for real-time deployment).
- Comment
- Directly contact [email protected] and [email protected] if interested.
- Professor(s)
- Colin Neil Jones (Laboratoire d’automatique 3), Johannes Christian Karl Waibel
- Administration
- Barbara Marie-Louise Frédérique Schenkel
Deployment of Nonlinear MPC onto Quadrupedal Robot
- ID: 14122
- Type(s):
- Section(s): MT
- Status: Validé
- Professor: Colin Neil Jones
Nonlinear Model Predictive Control (NMPC) has achieved great success in legged locomotion in the past decade, where the numerical solver plays a key role.
In this project, we aim to deploy LAopt, an NMPC solver developed at the EPFL Automatic Control Laboratory, onto a Unitree A1 robot to achieve some basic locomotion tasks on flat ground.
The project will contain the following working packages:
1. Get familiar with the current state-of-the-art MPC formulation on quadrupedal locomotion.
2. Implement the MPC controller in C++ using LAopt and the robot dynamics library Pinocchio. Test the performance in simulation.
3. Deploy and test on a Unitree A1 robot (if time permits)
Reference:
R. Grandia, F. Jenelten, S. Yang, F. Farshidian, and M. Hutter, “Perceptive Locomotion Through Nonlinear Model-Predictive Control,” IEEE Transactions on Robotics, vol. 39, no. 5, pp. 3402-3421, Sep. 2023, doi: 10.1109/tro.2023.3275384.
- Comment
- Skills needed
– Significant experience in C++ and ROS/ROS2
– Good understanding of Model Predictive Control and Rigid Body Dynamics
– Familiarity with robot dynamics libraries (Pinocchio, RBDL) is a plus
– Familiarity with numerical optimization is a plus
Contact:
Fenglong Song – [email protected]
Roland Schwan – [email protected]
Shaohui Yang – [email protected]
- Professor(s)
- Colin Neil Jones (Laboratoire d’automatique 3)
- Administration
- Barbara Marie-Louise Frédérique Schenkel
- Site
- https://www.epfl.ch/labs/la/pi/
GPU-based MPC solver
- ID: 14129
- Type(s): Projet de semestre MA GM
- Section(s): GM
- Status: Validé
- Professor: Colin Neil Jones, Shaohui Yang
Motivation:
Graphical Processing Units (GPUs) are advancing at a significantly faster pace than Central Processing Units (CPUs). GPUs excel at handling small, repetitive tasks in parallel, making them well-suited for computationally intensive applications. In Model Predictive Control (MPC), solving multiple instances of a problem arises in scenarios such as:
1. When high-quality solutions are required, multiple initial guesses are needed to bypass local minima.
2 When addressing mixed-integer problems with numerous combinations to explore.
Recent efforts in the robotics community have initiated the shift of MPC solvers from CPU to GPU platforms, as demonstrated by Adabag et al. (2024) in their work on real-time nonlinear MPC on GPUs. However, existing approaches primarily focus on single-problem instances. This project aims to develop GPU-based MPC solvers optimized for solving multiple instances simultaneously, in collaboration with Columbia University.
Reference:
Adabag, Emre, et al. “MPCGPU: Real-time nonlinear model predictive control through preconditioned conjugate gradient on the GPU.” 2024 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2024.
Project Timeline:
Literature Review:
1. Study existing GPU-based methods for MPC solvers;
2. Focus on iterative linear solvers, interior point QP solvers, and initial guess generation strategy;
3. Conduct preliminary trials using MATLAB.
Implementation Enhancement:
1. Optimize the existing MPCGPU solver implemented in C/C++ with CUDA.
Performance Comparison:
1. Benchmark the optimized solver against existing CPU and GPU-based Linear MPC solvers.
Expected Outcomes:
1. Development and potential publication of advanced GPU-optimized MPC solvers.
2. Detailed performance analysis comparing CPU and GPU-based solvers.
Requirements:
1. Proficiency in C/C++, with experience in CUDA programming or a willingness to learn.
2. Strong foundation in numerical linear algebra and convex optimization, particularly linear system solvers, condition numbers, and the interior point method.
3. Basic understanding of Model Predictive Control (MPC).
- Comment
- If you are interested, please send your CV to shaohui.yang@epfl, specifying your interest in this project.
- Professor(s)
- Colin Neil Jones (Laboratoire d’automatique 3), Shaohui Yang
- Administration
- Barbara Marie-Louise Frédérique Schenkel
- Site
- https://www.epfl.ch/labs/la/pi/
Imitation Learning for Driving Control
- ID: 14058
- Type(s): Projet de semestre MA MX
- Section(s): MX
- Status: Validé
- Professor: Colin Neil Jones, Johannes Christian Karl Waibel
Motivation:
Although they might be optimal with respect to some mathematical objective, conventional controllers might not result in driving trajectories that are preferred or expected by human passengers. One approach for a different family of controllers is to train a Machine Learning model from human ‘expert’ demonstrations, such that the resulting controller seems to act similarly to a human driver.
Description:
In this project, we would like to learn a Neural Network controller from a large existing dataset of human-driven trajectories. This includes implementing a baseline Imitation Learning method first, and a more advanced method second. Arising challenges are typically related to the stability of the learnt controller and its behavior outside the training data distribution.
Ideally, after development in simulation, the project leads to the successful deployment of the controller on our ready-to-use real-world mini race car system.
Skills needed
– Strong background in Machine Learning and the relevant software tools (Python, PyTorch)
– Qualitative understanding of car dynamics or similar mobile robots
– Significant experience in coding projects
– Familiarity with ROS/ROS2 (Robot Operating System) is a plus
– Familiarity with C++ is a plus (for real-time deployment)
- Comment
- Directly contact [email protected] and [email protected] if interested.
- Professor(s)
- Colin Neil Jones (Laboratoire d’automatique 3), Johannes Christian Karl Waibel
- Administration
- Barbara Marie-Louise Frédérique Schenkel
Preferential Bayesian Optimization for Mini Racecar Controller Tuning
- ID: 14125
- Type(s): Projet de semestre MA MX
- Section(s): MX
- Status: Validé
- Professor: Colin Neil Jones, Wenbin Wang
Motivation:
Finding the right numerical values for tuning a controller can be a difficult task for a human operator. Choosing between two options (“Which one do I like better?”) can, however, be a more intuitive approach. Preferential Bayesian Optimization (BO) exploits this by optimizing an unknown cost function from such choice samples.
Description:
In this project, we would like to apply Preferential Bayesian Optimization to a mini racecar system. We will use the existing Python library POP-BO to suggest the user two trajectories of the racecar. Based on the human preference, the algorithm will discover and minimize the hidden cost function that the human has (implicitly) in mind. We will first use this for a simple tuning case (e.g. ‘aggressiveness’ of driving), and then extend it for more sophisticated test cases.
Ideally, after development in simulation, the project leads to the successful deployment of the controller on our ready-to-use real-world mini race car system.
Skills needed
– Background in Machine Learning (Gaussian process), and the relevant software tools (Python, PyTorch, ideally GPy).
– Qualitative understanding of car dynamics or similar mobile robots.
– Significant experience in coding projects.
– Familiarity with ROS/ROS2 (Robot Operating System).
– Familiarity with C++ is a plus (for real-time deployment).
- Comment
- Directly contact [email protected] and [email protected] if interested.
- Professor(s)
- Colin Neil Jones (Laboratoire d’automatique 3), Wenbin Wang
- Administration
- Barbara Marie-Louise Frédérique Schenkel
Receding horizon Bayesian optimization on thermal comfort optimization
- ID: 14123
- Type(s): Projet de semestre MA GM
- Section(s): GM
- Status: Validé
- Professor: Colin Neil Jones
Energy consumption in residential buildings constitutes a significant portion of total energy use. Reducing energy consumption in buildings while maintaining thermal comfort for occupants is critical, which requires the development of accurate thermal comfort models. A common approach to constructing such models is Bayesian optimization. While effective at identifying optimal points, traditional Bayesian optimization methods often overlook the dynamic behavior of systems, leading to suboptimal efficiency.
This project aims to address this limitation by performing Bayesian optimization in a receding horizon fashion. Unlike the classical approach, which assumes that the next proposed point is fully reached, this method accounts for system dynamics and optimizes performance without requiring full convergence to the proposed point. The approach will be evaluated through simulations conducted on the BOPTEST building simulation platform.
- Comment
- Requirements
-Proficient in Python
-Knowledge in MPC
-Knowledge/strong interest in Bayesian optimization/building simulation
Contact: [email protected]
- Professor(s)
- Colin Neil Jones (Laboratoire d’automatique 3)
- Administration
- Barbara Marie-Louise Frédérique Schenkel
- Site
- https://www.epfl.ch/labs/la/pi/
Sampling-based MPC for collision avoidance of mini-cars
- ID: 14119
- Type(s): Projet de semestre MA EL
- Section(s): EL
- Status: Validé
- Professor: Colin Neil Jones
Non-convex optimization arises naturally in many robotics applications, e.g., collision avoidance in autonomous driving. Gradient-based methods can be easily trapped in local minimas and even fail to find a solution. Sampling-based method can be less sensitive to local minimas.
In this project, we mainly consider developing effective methods for collision avoidance in mini race car systems. We would like to explore the capabilities of using sampling-based method to escape from local minimas. A novel method called Stein Variational Gradient Descent (SVGD) will be use to directly find the solution of the underlying Optimal Control Problem, or provide a good initial guess for the State-of-the-Art gradient-based MPC solvers.
Ideally, after successful development in simulation, the project leads to the deployment of the controller on our ready-to-use real-world mini race car system.
- Comment
- Skills needed
– Qualitative understanding of car dynamics or similar mobile robots
– Significant experience in coding projects (e.g., using Python or Matlab)
– Familiarity with Bayesian Inference is a plus
– Familiarity with ROS/ROS2 (Robot Operating System) is a plus
– Familiarity with C++ is a plus (for real-time deployment)
Please send enquiries to : Fenglong Song ([email protected]) Johannes Waibel ([email protected])
- Professor(s)
- Colin Neil Jones (Laboratoire d’automatique 3)
- Administration
- Barbara Marie-Louise Frédérique Schenkel
- Site
- https://www.epfl.ch/labs/la/pi/
Sparse Linear Model Predictive Control
- ID: 14128
- Type(s): Projet de semestre MA GM
- Section(s): GM
- Status: Validé
- Professor: Colin Neil Jones, Shaohui Yang
Motivation:
Linear Model Predictive Control (MPC) problems can be efficiently solved by formulating them as Quadratic Programming (QP) problems, utilizing the structure of the resulting Karush-Kuhn-Tucker (KKT) system. For linear time-varying (LTV) systems, the left-hand side of the KKT system forms a block tri-diagonal matrix, a property extensively exploited in prior research. In linear time-invariant (LTI) systems, where the dynamics pair (A, B) remains constant, additional sparsity and computational advantages can be achieved through transformations. These modifications enhance the structure of the KKT system, facilitating easier and more efficient computation.
Project Timeline:
1. Literature Review: Familiarize with existing methods for transforming linear control systems.
2. Implementation Enhancement: Refine and optimize the current Sparse Linear MPC solver implemented in C++ with Eigen as the linear algebra backend.
3. Performance Comparison: Benchmark the improved solver against a variety of existing Linear MPC solvers.
4. Extension: If time permits, extend the implementation to support robust and stochastic Linear MPC.
Expected Outcomes:
1. Development and potential publication of advanced (robust/stochastic) MPC solvers tailored for LTI systems.
2. Comprehensive performance comparisons with existing solvers.
Requirements:
1. Proficiency in C++.
2. Strong background in numerical linear algebra and scientific computation, including matrix factorizations, condition numbers, and error analysis.
3. Basic knowledge of Model Predictive Control (MPC) and Convex Optimization, particularly QP formulation.
- Comment
- If interested, please send your CV to shaohui.yang@epfl and mention your specific interest in the project.
- Professor(s)
- Colin Neil Jones (Laboratoire d’automatique 3), Shaohui Yang
- Administration
- Barbara Marie-Louise Frédérique Schenkel
- Site
- https://www.epfl.ch/labs/la/pi/