Last Update: 03.12.2024
Status: OPEN
Type: bachelors/masters (short/long)
Contact: Florian Bolli bollif@ethz.ch and Prof. Tobi Delbruck (tobi@ini.uzh.ch)
___________________________________________
We are using our INIvincible RoboRacer car to develop and test ideas about adaptive nonlinear neural control. PhD student Florian Bolli leads the team and carries out experiments with Marcin Paluch and several bachelor and masters students. The INIvincible teams cooperates with the ETH PBL ForzaETH team and does experiments every Monday in the Dubendorf hangar track area.
In this project, you will develop and implement a defensive racing system for our RoboRacer 1/10 scale autonomous car. By equipping the car with a rear-view camera and/or additional sensors, you will enable it to detect approaching opponents, estimate their position and velocity, and strategically defend the racing position against a faster opponent.
The ultimate goal is to combine perception, opponent state estimation, and autonomous control to prevent faster opponents from overtaking — first in simulation and ultimately on our physical race car.
Defensive racing strategies: Develop defensive behaviors using our existing Model Predictive Control (MPC) or Reinforcement Learning frameworks.
Rear-view perception: Equip our RoboRacer with a rear-facing camera (or other sensors) and train a neural network to detect approaching opponents.
Distance measurement: Investigate and integrate suitable sensors to measure the distance to opponents behind the vehicle.
Opponent state estimation: Combine sensor measurements to estimate the opponent's relative position, velocity, and potentially its intended overtaking maneuver.
Simulation and real-world testing: Evaluate your algorithms in simulation before deploying and testing them on our physical car.
Hands-on robotics: Work directly with our small-scale autonomous racing vehicles, combining hardware, sensors, and software.
Machine learning meets control: Apply neural networks, state estimation, and advanced control algorithms to a challenging real-world problem.
Pragmatic engineering: Solve practical problems in a complex robotic system, from sensor integration and debugging to real-time performance optimization.
From simulation to the racetrack: See your algorithms come to life on a physical vehicle and compete against other autonomous race cars.
This project offers practical experience in computer vision, sensor fusion, autonomous vehicle control, and robotics software development. You will work within an existing autonomous racing framework and have the freedom to investigate and implement your own solutions.
Interest in robotics, autonomous systems, and machine learning.
Basic programming experience in Python.
Familiarity with ROS 2, computer vision, or control theory is beneficial but not required.
Motivation to work with physical hardware and solve challenging engineering problems.
The challenge: Can you make a slower autonomous car clever enough to defend its position against a faster opponent?
RPGD: A Small-Batch Parallel Gradient Descent Optimizer with Explorative Resampling for Nonlinear Model Predictive Control
https://ieeexplore.ieee.org/document/10161233
Deep Reinforcement-Learning-Guided Model Predictive Control for Preventing Overtakes in Autonomous Racing
https://arxiv.org/abs/2607.20973
Last Update: 03.12.2024
Status: OPEN
Type: bachelors/masters (short/long)
Contact: Florian Bolli bollif@ini.uzh.ch and Prof. Tobi Delbruck (tobi@ini.uzh.ch)
___________________________________________
We are using our INIvincible RoboRacer car to develop and test ideas about adaptive nonlinear neural control. PhD student Florian Bolli leads the team and carries out experiments with Marcin Paluch and several bachelor and masters students. The INIvincible teams cooperates with the ETH PBL ForzaETH team and does experiments every Monday in the Dubendorf hangar track area.
Background: F1TENTH is about racing
The races have 2 categories:
Time Trials:
car is alone on the track
count number of consecutive laps within 5 mins
fastest lap
Head2Head racing
1 opponent ( maybe more )
Who completes 10 laps first
Problem: Our sytstem has no idea about overtaking. Not even about opponent detection.
What we already have:
lidar measurements
Information about the track border
Algorithms that can avoid obstacles / pass opponents
MPC avoiding scanned obstacles
Alternative raceline strategy
Goals:
Implement a detection system that can estimate the positions and states of opponents
Explore some common overtaking strategies and implement some of them
Train RL agents to race each other
Implement virtual opponents on the pysical car ( for RL overtaking )
Papers:
α-RACER: Real-Time Algorithm for Game-Theoretic Motion Planning and Control in Autonomous Racing using Near-Potential Function https://arxiv.org/abs/2412.08855
Predictive Spliner: Data-Driven Overtaking in Autonomous Racing Using Opponent Trajectory Prediction: https://arxiv.org/abs/2410.04868
M-Predictive Spliner: Enabling Spatiotemporal Multi-Opponent Overtaking for Autonomous Racing: https://arxiv.org/abs/2506.16301
Last Update: 03.12.2024
Status: OPEN
Type: bachelors/masters (short/long)
Contact: Prof. Tobi Delbruck (tobi@ini.uzh.ch)
___________________________________________
RC sailing is an enthusiast activity where people enjoy sailing remote controlled sailboats around ponds, for example Irchel pond. The aim of Argois to use modern machine learning technology to autonomously sail such a boat, for example, with the objective of a normal sailboat race or to pass a chosen waypoint.
The DragonForce 65 Argo sailboat has a solid state wind speed and direction sensor, GPS, IMU, and embedded RPi linux computer to control the two servos that determine rudder and sail position. We have sailed Argo and collected data on the Irchel pond and during the CapoCaccia neuromorphic workshops (see Argo photo album).
Possible projects:
Collect end to end training data by manually sailing the boat under various conditions.
Develop an interface to a sailboat simulator to collect training data, to explore transfer learning and reinforcement learning approaches in a simpler model-based environment. The model would then need to be validated on Argo to demonstrate it works.
Train and test a sailing controller on Argo.
Contact Prof. Tobi Delbruck (tobi@ini.uzh.ch , 044 635 3038)
Last Update: 03.12.2024
Status: OPEN
Type: bachelors/masters (short/long)
Contact: Xiang Deng (dxiang@ini.ethz.ch) and Prof. Tobi Delbruck (tobi@ini.uzh.ch)
___________________________________________
The labyrinth robot's task is to navigate a ball through a complex maze using only two servo motors that control the tilt and pan of the maze plane. The system comprises an event camera positioned for a top-down view as the perception input, the labyrinth maze (as shown in the accompanying image), and two servo motors. Achieving this requires rapid and precise control responses guided by real-time perception data.
Student projects have accomplished three main results from Tobi's initial prototype:
Robust frame-based CNN ball tracker - by 2 gymnasium students
Offline Trajectory Optimization with Online PID Feedback Control – by Zhuoyi Liang (master semester project).
Real-time Model Predictive Control (MPC) along with Simulation Model Development – by Gawain Marti (bachelor thesis).
Looking ahead, we aim to integrate our neural controllers with the existing MPC-based developments, which have the potential to improve control and contribute to a publication.