CS4140ES Embedded Systems Lab
Course apr-jun 2022


watch the movie

Course Description

This highly multi-disciplinary course comes with a lab project where teams of 4 students each will have to develop an embedded control unit for a tethered electrical model quad rotor aerial vehicle (the Quadrupel drone), in order to provide stabilization such that it can hover and (ideally!) fly, with only limited user control (one joystick). The control algorithm (which is given) must be mapped onto a home-brew PCB holding a modern RF SoC interfacing a sensor module and the motor controllers. The students will be exposed to simple physics, signal processing, sensors (gyros, accelerometers), actuators (motors, servos), basic control principles, and, of course, embedded software (C) which is the programming language to be used in order to develop the control system. The course was developed by Arjan van Gemund, a former member of the Embedded and Networked Systems group.

Course Format

The course is offered during the 4th quarter of the academic year (apr-jun), and is centered around a lab. Students are split into teams (approximately 3-4 students per team). Each team is responsible for the entire design and implementation trajectory leading up to a working flight demonstrator. The course is compulsory for ES, and a few seats are available for CS, CE, EE, and other students. The teams will be formed based on skills, type of masters, and organizational issues (black-out dates).
The quality of the end result (flight demonstrator plus written report) and the student's personal involvement and contribution determines the course grade.

Lab facilities are available under the supervision of two Teaching Assistants throughout the entire course period during the 4-hour labs. The teams are scheduled in such a way that each team has weekly access to the lab facilities during one of three slots. In total each team has 8 labs (i.e., 32 hours) over the entire course period. Of course, much of the team work, such as meetings, background study, programming, all of which do not require lab equipment (i.e., supervision) (must) be performed outside lab hours. As the project work will most definitively exceed the 32 (supervised) lab hours (more like some 120 hours!), this unsupervised mode of team work has been shown to be a crucial success factor within the project.

Next to the lab, we have two lectures per week. Lectures include QR mechanics, actuators, servos, sensors, elementary control theory, and embedded programming. The purpose of the lectures is to provide the information necessary to successfully perform your lab project.

Project Assignment and Lab Resources

To pass the course each team must successfully design, demonstrate, and document a QR control system (as mentioned earlier), as described in the following assignment.
The lecture notes (see below) and an extensive set of relevant information (documentation, links, software) collected on the Project Resources page are available for reference.

Project Deliverables and Grading

The project deliverables are

Course Schedule

Lectures start on Tuesday April 19th, 15:45 (kick off), see mytimetable for the actual roster.

Labs are at building 36, low-rise part, room L+M on Wednesday 08:45 - 12:30 xor Thursday 13:45-17:30 xor Friday 10:45-14:30.

Week schedule (NOTE: tentative and subject to change without notice):