Flying Robots

Intro

Wolfgang Hönig

October 18, 2024

Introductions

About Me

About You

  • Interactive introduction next week

Class Format

Goals

  1. Learn to transition from math/theory to a working (compute-constrained) physical robot
  2. Understand the classic robotics pipeline on a concrete example
    • physics/simulation, controls, state estimation, planning
    • Missing: perception
  3. Learn about flying robots (mostly multirotors, focused on algorithms)

Non-Goals

  • Learning details about aerodynamics or flight dynamics
  • Mechanical/electrical challenges when building flying robots
  • Machine learning for flying robots

Format / Learning Style

  1. Lectures on Foundations (\(\approx 4\))
    • Dynamics/Physics/Simulation
    • Controller
    • State Estimation
    • Motion Planning
  2. Programming in Rust (4 assignments)
    • Simulation
    • Validation on physical robots (or with real data)
    • Individual work (no teams)
  3. Seminar-style discussion

Robots

Bitcraze Crazyflie 2.1

  • Commercial, off-the-shelf (270 EUR)
  • Sensors:
    • Inertial Measurement Unit (IMU)
  • Actuators:
    • 4 brushed motors with propellers
  • Compute:
    • Flight control: STM32 microcontroller (ARM Cortex-M4, 168 MHz, 192 kb RAM, 1 MB flash)
    • Communication: nRF51 (ARM Cortex-M0, 32 MHz, 16 kB RAM)
  • Size: ca. 9cm rotor-to-rotor
  • Weight: ca. 27g

Flight Space

MAR 4.014

  • 7 x 4 x 2.75 m
  • with safety nets and padding
  • external tracking systems for ground truth
    • Optitrack motion capture
    • LightHouse

Time Commitment

9 ECTS (270h):

  • Lecture: \(5 \cdot 1.5 = 8h\)

  • Discussion \(15 \cdot 1.5 = 23h\)

  • 230h programming, testing (i.e. 15h/week)

  • Lectures/Discussions on Friday (10am-2pm; with breaks; MAR 4.062)

  • Time slots for practical part throughout the week (MAR 4.014)

Grading

  • Portfolio: 4 assignments (20 points each) + oral exam (15min; 20 points)
  • Assignment deliverables: code (for simulation and real flights), flight demo (for 3 out of the 4), verbal discussion (10min)
  • Grading scale: See MOSES

Schedule (1)

Week Topic Notes
1 (Oct 18) Intro, Rust, Dynamics (1D + 2D)
2 Dynamics 3D Assignment 1 out
3 Discussion Enrollment due
4 Discussion
5 Grading Assignment 1 Grade Assignment 1
6 Geometric Controller (1D, 2D, 3D) Assignment 2 out
7 Discussion
8 Presentation of simulation results

Schedule (2)

Week Topic Notes
9 Flight tests
10 Flight tests Grade Assignment 2
(holiday)
(holiday)
11 (Jan 10) EKF Assignment 3 out
12 Discussion
13 Flight tests Grade Assignment 3
14 Motion Planning Assignment 4 out
15 Discussion
16 Flight tests Grade Assignment 4

Prerequisites

  1. Background in robotics (e.g., Robotics course by Oliver Brock)
  2. Strong programming skills in a low-level language (e.g., C) and a high-level language (e.g., Python)

Enrollment Procedure

Due to the flight tests, the class is limited to 10 students.

If you are still interested in taking the class:

  1. Fill out the form of interest on ISIS by Oct. 20
    • course allocation, relevant courses/background, notes
  2. We let you know by Oct. 21 if we offer you a spot (via E-Mail)
    • Mostly random assignment after following the ranking by AlgStuPO §48
  3. Officially enroll on MOSES by Nov 1

No waiting list.

Questions

?