Biorobotics Laboratory BioRob

Project Database

This page contains the database of possible research projects for master and bachelor students in the Biorobotics Laboratory (BioRob). Visiting students are also welcome to join BioRob, but it should be noted that no funding is offered for those projects. To enroll for a project, please directly contact one of the assistants (directly in his/her office, by phone or by mail). Spontaneous propositions for projects are also welcome, if they are related to the research topics of BioRob, see the BioRob Research pages and the results of previous student projects.

Search filter: only projects matching the keyword C++ are shown here. Remove filter

Amphibious robotics
Computational Neuroscience
Dynamical systems
Human-exoskeleton dynamics and control
Humanoid robotics
Miscellaneous
Mobile robotics
Modular robotics
Neuro-muscular modelling
Quadruped robotics


Amphibious robotics

736 – Firmware development for a sensorized Pleurobot
Category:semester project, master project (full-time)
Keywords:C, C++, Communication, Control, Embedded Systems, Firmware, Linux, Programming, sensor
Type:5% theory, 10% hardware, 85% software
Responsible: (MED 1 1626, phone: 38676)
Description:In this project, the student is expected to continue developing the existing firmware for high-performance low-level control of the new Pleurobot (our amphibious legged robot modeling Pleurodeles waltl) and its multiple sensors. The major objectives include: (1) Improve the sampling speed and robustness of the microcontrollers that collect data from multiple sensors. (2) Increase the bandwidth of and reduce the latency in the communication between the onboard computer and multiple microcontrollers. (3) (For full-time students) Develop low-latency wireless communication between the onboard computer and the user's laptop for remote control. The student is expected to be familiar with (1) communication protocols including SPI, UART, and CAN, and (2) programming of embedded systems using C/C++. Knowledge about signal processing, wireless network protocols, and/or GUI development can be a bonus. The student who is interested in this project could send his/her transcript, CV, and description of their past project experience to qiyuan.fu@epfl.ch. A student who can work full-time in the summer or the autumn semester is preferred.

Last edited: 16/05/2024
734 – Firmware development for ENVIROBOT
Category:semester project, master project (full-time)
Keywords:C, C++, Embedded Systems, Firmware
Type:5% theory, 20% hardware, 75% software
Responsible: (MED 1 1025, phone: 36630)
Description:A new generation of electronic boards for ENVIROBOT, as well as a complex firmware, has been developed as a master project. The goal of this project is to continue the development, by adapting the currently existing firmware in the new environment, and extending it with new functionality available on the new platform. Requirements:
  • Good knowledge of C/C++ programming, especially in embedded environments
  • Previous experience with embedded development on microcontrollers
  • Understanding of basic digital electronics (e.g. signal levels, UARTs, buses as I²C & CAN)
  • Previous knowledge of the STM32 platform is a plus


Last edited: 17/04/2024

Human-exoskeleton dynamics and control

735 – Hip exoskeleton to assist walking - multiple projects
Category:semester project, master project (full-time), bachelor semester project, internship
Keywords:Bio-inspiration, C, C++, Communication, Compliance, Control, Data Processing, Dynamics Model, Electronics, Experiments, Inverse Dynamics, Kinematics Model, Learning, Locomotion, Machine learning, Optimization, Programming, Python, Robotics, Treadmill
Type:30% theory, 35% hardware, 35% software
Responsible: (MED 3 1015, phone: 31153)
Description:Exoskeletons have experienced an unprecedented growth in recent years and hip-targeting active devices have demonstrated their potential in assisting walking activities. Portable exoskeletons are designed to provide assistive torques while taking off the added weight, with the overall goal of increasing the endurance, reducing the energetic expenditure and increase the performance during walking. The design of exoskeletons involves the development of the sensing, the actuation, the control, and the human-robot interface. In our lab, a hip-joint active hip orthosis (“eWalk”) has been prototyped and tested in recent years. Currently, multiple projects are available to address open research questions. Does the exoskeleton reduce the effort while walking? How can we model human-exoskeleton interaction? How can we design effective controls? How can we optimize the interfaces and the control? Which movements can we assist with exoskeletons? To address these challenges, the field necessitates knowledge in biology, mechanics, electronics, physiology, informatics (programming, learning algorithms), and human-robot interaction. If you are interested in collaborating in one of these topics, please send an email to giulia.ramella@epfl.ch with your CV, previous experiences that could be relevant to the project, and what interests you the most about this research topic (to be discussed during the interview).

Last edited: 19/04/2024

Quadruped robotics

A small excerpt of possible projects is listed here. Highly interested students may also propose projects, or continue an existing topic.

697 – Teaching a Robot Dog New Tricks
Category:semester project, master project (full-time), internship
Keywords:C++, Computer Science, Control, Learning, Programming, Python, Quadruped Locomotion, Vision
Type:20% theory, 20% hardware, 60% software
Responsible: (MED 1 1024, phone: 37506)
Description:As robots become more prevalent in human society, the number of interactions will increase and good communication will be critical for successful human-machine collaboration. In this project, the student will develop a framework for human-robot interaction using both visual and audio feedback. Given a set of user-defined "tricks" (i.e. lie down, turn around, move left), how can we instruct the robot to perform a particular task? Can we also teach the robot a new task it currently does not know how to do? Communication will be done using both a camera mounted on the robot, as well as with a microphone. The three important tasks are 1) developing the motion library, 2) developing the visual interface to human activity recognition software to map to the motion library, 3) developing the voice command interface. To apply, please email Guillaume with your motivation, CV, and briefly describe your relevant experience (i.e. with machine learning, software engineering, etc.).

Last edited: 04/12/2023

Mobile robotics

651 – Autonomous Drifting on Scaled Vehicle Hardware
Category:semester project, master project (full-time), internship
Keywords:C++, Control, Electronics, Embedded Systems, Experiments, Learning, Optimization
Type:10% theory, 60% hardware, 30% software
Responsible: (MED 1 1024, phone: 37506)
Description:Controlling vehicles at their limits of handling has significant implications from both safety and autonomous racing perspectives. For example, in icy conditions, skidding may occur unintentionally, making it desirable to safely control the vehicle back to its nominal working conditions. From a racing perspective, drivers of rally cars drift around turns while maintaining high speeds on loose gravel or dirt tracks. In this project, the student will compare several approaches for high speed, dynamic vehicle maneuvers, including NMPC with a standard dynamic bicycle model, NMPC with a dynamic bicycle model + GP residuals, NMPC with learned dynamics (i.e. a NN), and lastly a pure model-free reinforcement learning approach. All approaches will be tested in both simulation as well as on a scaled vehicle hardware platform. To apply, please email Guillaume with your motivation, CV, and briefly describe your relevant experience (i.e. with machine learning, software engineering, etc.).

Last edited: 09/01/2024

5 projects found.