COMP0240 Aerial Robotics Practical

Welcome to the tutorials and practicals for the UCL Computer Science MSC Robotics and AI module COMP0240 Aerial Robotics 2025-2026 Edition.

This website accompanies the 10-week, Term 2 practical component of the course. You will typically spend 2–3 hours per week engaging with guided tutorials, simulation exercises, and (where feasible) hands-on drone experiments.

About

The aim of these practicals is to provide hands-on experience with aerial robotic systems, covering both simulation-based development and real-world micro-drone experimentation within a classroom and laboratory setting.

You will work with modern drone software stacks and hardware platforms to understand how autonomy is developed, tested, and deployed in practice.

The practical component is structured as:

  • 3 Themed practicals (formative)
  • 2 Challenges (assessed)

Each practical has a dedicated guide accessible from the navigation panel on the left. Working in groups of 2, you are expected to follow the instructions to establish baseline functionality, and then extend the system through exploratory tasks.

The practicals are designed to progressively build your technical skills, system understanding, and intuition, preparing you to complete the assessed challenges.

Challenge Assessments

The challenges serve as this courses assessed component. Due to the complexities of dealing with hardware, and to enable student exploration of the different challenges within robotics, these will be group challenges. The challenges revolve around the technical exploration in solving a particular problem and communicating your solution through a presentation.

What You Will Learn

By completing the practicals and challenges, you will develop skills in:

  • Familiarising yourself with basic drone hardware and components
  • Experience with using experimental micro-drone systems
  • Programming single and multiple micro-drone systems
  • Developing autonomy in simulation and transferring it to real systems
  • Using industry-relevant drone software stacks
  • Framing and solving real-world aerial robotics problems

Practicals 1 & 2 - Foundations: ROS 2 and Aerostack2

Duration: Weeks 1 and 2

Practical 1 introduces the core software tools used throughout the course. You will gain foundational experience with Linux, ROS 2, and Aerostack2, applied through a simulated drone project.

Topics include: - Installing and configuring ROS 2 - Understanding Aerostack2 and its system-level capabilities - Applying ROS 2 concepts to aerial robotics - Developing a simulation-to-reality workflow

Practicals 3 & 4 - Introduction to the crazyflie platform and setup

Duration: Weeks 3 and 4

In pairs, you will assemble and fly an educational micro-drone platform known as the Crazyflie.

You will: - Assemble the micro-drone hardware - Learn safe and stable manual flight - Implement autonomous behaviours using the Crazyflie API

This practical bridges simulation and real-world deployment at a small, safe scale.

Practical 5 - CW1: Challenge 1 - Structural Inspection Path Planning Challenge (individual coursework)

Duration: Weeks 4, 5 and 6

For the first challenge, you will be working individually primarily in simulation to solve a key part of the structural inspection path planning problem. Your task will be in investigating and implementing solutions to finding the most optimal way of visiting a series of locations representing inspection locations, while avoiding the obstacles in the environment.

This mirrors real life autonomous inspection scenarios which are the majority of current day use cases with autonomous drones.

Assessment details will be provided separately.

Practical 6 (After reading week)

Duration: Week 6

Practical 7

Duration: Week 7

Practicals 8, 9 and 10 - CW2: Grand Challenge - Exploring Real-Life Drone Use Cases (Will show you soon)

Contact

If you have any questions, please contact:

  • Vijay Pawar: v.pawar AT ucl.ac.uk
  • Mickey Li: mickey.li AT ucl.ac.uk
  • Guohao Wang: guohao.wang AT ucl.ac.uk
  • Shreevanth Gopalakrishnan: shreevanth.gopalakrishnan AT ucl.ac.uk

For technical issues with the associated repositories, please raise a GitHub issue. This helps us collectively track, resolve and share solutions. As everyone's setup will be slightly different, it is encouraged that we all help each other and share your insights.