Available Projects

Preliminary remarks

If you are interested in one of the projects listed below, please contact the first assistant mentioned at the bottom of each project description by email, phone or in person. It is sometimes possible to have two students working on the same project, please discuss the formalities with your first assistant.

Remarques préliminaires

Si vous vous intéressez à l’un des projets ci-dessous, veuillez prendre contact directement avec le premier responsable indiqué à la fin de chacune des descriptions, soit par téléphone, soit par email, soit en passant au LIS. Il est parfois envisageable de travailler à deux sur un même projet de semestre. Veuillez en discuter les formalités avec l’assistant responsable.

La langue (souvent Anglais) utilisée dans les descriptions de nos projets n’a pas d’influence directe sur la langue utilisée dans les relations avec les assistants et pour les rapports de projets.

Analysis of the limitations of quadrotor swarms in the real world with Crazyflies

At the Laboratory of Intelligent Systems, we develop swarming algorithms for quadcopters. These algorithms are extensively tested in a dynamics simulator developed internally. The goal of this project is to integrate the current simulation setup and interface it with hardware to allow experimental testing (https://crazyswarm.readthedocs.io/en/latest/). The first phase of the project will involve the development of a Matlab/Simulink (or Python) program able to send velocity commands to a Crazyflie through ROS. The second step involves testing on hardware in an indoor room equipped with a Motion Tracking system. The robot should be able to accomplish a navigation mission thanks to the commands generated through Matlab/Simulink and the measurements coming from the OptiTrack. The integration of a second drone will allow to evaluate the swarming behavior of the robots in the established framework. A final step of analysis is necessary to assess the limitations of the tested algorithm. Previous experience with the cited software and hardware are required.

Type: Semester project
Period: to be defined
Type of work: 20% theory, 40% software, 40% testing
Requirements: Modelling and programming skills (Matlab, Simulink, Python), previous familiarity with ROS and hardware
Subject(s): Swarm robotics, drone formations, experimental testing
Responsible(s): Enrica Soria, Fabrizio Schiano

Augmented Reality to assist drone assembly

At the Laboratory of Intelligent Systems (LIS) at École Polytechnique Fédérale de Lausanne (EPFL) we are designing and manufacturing drones for various purposes and one of them is delivery. One of our next aims is to design an n-rotor delivery drone that is attached directly to the parcel. The goal of this semester project is to provide an augmented reality application that can assist the assembly process and verify the alignment tolerance of the assembly. The first goal of this project is to understand the working of Google’s AR Core (https://developers.google.com/ar/). During this phase, the student will have the opportunity to explore various open-source implementations of Augmented Reality applications and gain hands-on experience. This should be followed by a comparative study on various frameworks including Web AR framework. In the meantime, the student should also get familiar with and improve the simple mathematical model (developed at LIS) for geometrical alignment of n-rotors around the parcel. The second goal of the project is to implement an AR smartphone/web application that can measure the dimensions of the parcel, which is followed by scientific analysis of the error between the estimated and real dimensions., Once the dimensions are estimated, the assembly location for each of the n-rotors should be computed using the model (in step one). These locations should then be projected onto the parcel in the VR app such that the person assembling the drones knows exactly where to place every single rotor. The final goal of this project is to implement a verification step in the AR application. In this step, the application computes the assembly placement error and ensures that the placement is in a meaningful tolerance range.

Type: Semester project
Period: to be defined
Section(s): Robotics Microengineering
Type of work: 80% software, 20%testing
Requirements: Experience in UI design, Ready to explore and adapt
Subject(s): Augmented Reality, Strong skills in app/web development
Responsible(s): Anand Bhaskaran, Fabrizio Schiano, Przemyslaw Kornatowski

Shared control to simplify robot teleoperation based on an estimation of the user's cognitive state

The teleoperation of a mobile robot can be a tricky task, especially for inexpert users. In the LIS, we developed a wearable framework called FlyJacket, which can be used to teleoperate drones both in simulation and in reality in a simple and intuitive manner. Nonetheless, specific conditions such as noise, communication disturbances, and cognitive effort can affect the user's proficiency during the operation of the robot. In order to counterbalance this effect, an adaptive simplification of the robot's dynamics could make the vehicle simpler to control, yet less agile, when a specific condition of difficulty is detected. This dynamic reduction consists of coupling some of the robotic degrees of freedom: in the case of a quadcopter, roll and pitch controls can be combined in order to prevent drift, for example. The student will implement this dynamic tuning system and test it for the teleoperation of a simulated quadcopter. Students interested in flying robotics, human-robot interfaces and control systems are encouraged to apply.

Type: Semester project
Period: to be defined
Section(s): EL IN MT
Type of work: 30% theory, 40% software, 30% testing
Requirements: Python, dynamic systems, C# is a plus
Subject(s): human-robot interfaces, flying robots, shared control
Responsible(s): Matteo Macchini

Drone Log Analyser

At the Laboratory of Intelligent Systems (LIS) at École Polytechnique Fédérale de Lausanne (EPFL) we are developing drones for last-cm delivery. These delivery drones are fully autonomous with the help of a web-application framework of Dronistics. The first goal of this project is to develop a software that can receive logs from an autopilot of a drone after every delivery. The implementation of the same should be compatible with DroneCode SDK. This developed software should be capable of retrieving the logs from the drone and store it in the database (Mongo DB) of the server. The REST API should be then developed to provide specific data from logs based on users query that will be used in the next step. The second goal of this project is to implement a web-based Log Analyser that uses the REST API developed before. This implementation should analyze the corresponding logs and fetch the meaningful data to the user. This Log Analyser should be as generic as possible and should be capable of decoding logs of PX4 autopilot and Ardupilot (at the least). At the end of the implementation, the user should be capable of visualizing the logs in the form of interactive graphs such as a battery, altitude, velocity and other sensor reading over the timeframe. The third goal of the project is to implement a Machine Learning (or) Deep, Learning algorithm that can analyze the logs automatically and report/notify if an anomaly has been detected. Implementation should be supported by a strong state-of-the-art study and feasibility analysis. All the above features should be well documented, unit tested and should be made available on a web-based user interface that should part of Dronistics Software Framework.

Type: Semester project
Period: to be defined
Section(s): Robotics Microengineering
Type of work: 70%software, 10% hardware, 20%testing
Requirements: JAVA, Full Stack Development, Frontend design Knowledge of Machine Learning or Deep Learning is a plus
Subject(s): Software+Architecture +IoT
Responsible(s): Anand Bhaskaran, Przemyslaw Kornatowski
URL: Click here