In4073 Embedded Real-Time Systems
Course 2017 - 2018
- Registration has closed
- The on-line acceptance test has been released.
Students who have completed the Embedded Software
(TI2726-B) course are exempted from this test.
- The first lecture is scheduled for September 4th, 2017, 15:45 - 17:30, room
Registration and Admission
As this is mainly a project-based course, and the number of seats in the lab is
limited, it is compulsory to properly register for the course. Attendance to
the lab is mandatory (failing a lab means failing the course!) and proficiency
in C programming is a must. Also note that the course is for 2nd-year MSc
students only as it is quite demanding. Students will be grouped into teams
preferably with a mixed background as this is a multidisciplinary project.
You will have to pass an acceptance test (verifying your C-programming skills)
and enroll yourself through an on-line registration form (to be uploaded in due
This highly multi-disciplinary course comes with a lab project where
teams of 3 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
The course is offered during the 1st quarter of the academic year
(sep-oct), and is centered around a lab. Students are split into teams
(approximately 3 students per team). Each team is responsible for the
entire design and implementation trajectory leading up to a working
flight demonstrator. The course is elective for ES, CS, CE, EE, and
other students. The teams will be formed of students with mixed
background, in order to (1) equally distribute the capability spectrum
over the teams, and (2) to learn appreciate the capabilities of fellow
students with a complementary background.
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 two 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
Project Deliverables and Grading
The project deliverables are
Your project will be assessed in the final lab session (week 1.8).
During this session your code, as is, has to be demonstrated on
the Quadrupel drone in order to obtain your grade for the demonstrator
(D, makes up 75% of the total course grade G). NOTE: no demo, no grade.
- Technical Report
The technical report must be submitted in pdf format (max
10 pp, including figures, tables, appendices, see assignment document)
through the CPM site
before Tue Oct 31st, 2017, 09:00 CET.
The report must contain everything you deem relevant, so don't submit
additional material (source codes, data files, plots, etc.), only the
10 pp. pdf file! The point here is that a team must be able
to communicate all information relevant to the project within 10 pp.
The report makes up 25% of your grade (R). The course grade G equals
G = 0.75 D + 0.25 R iff D >= 5 and R >= 5, otherwise the course is
failed and no grade is submitted to the administration. Reports that
are submitted after the deadline will not be accepted, (i.e.,
R = 0, which implies you fail the course!).
- Source Code
Each team must submit a folder of all source files
(.c, .h, .vhd) at the time of the actual demonstration through the CPM site
before Fri Oct 27th, 2017, 19:00 CET.
The purpose of this is to check for fraude and to evaluate the
nature of each student's personal code contribution to the team
result. To this end, each function must be authored by one
team member, who takes full ownership and responsibility of that piece of
code. Multiply authored code will be ignored. NOTE: don't
add other sources of information to the folder such as figures, tables,
log files, etc., effectively using the folder as a backdoor to complement
the team report with additional data that didn't fit into the hard 10
pp. page limit. Any such data will be ignored.
Lectures are on Monday Sep 4, 15:45 (kick off) and then every Wednesday 10:45.
Labs are in Practicumzaal 2/3 in the Tellegenhal at the low end of the
(NOTE: tentative and subject to change without notice):
- Week 1.1
Course introduction and lab instructions
System Architecture, QR Mechanics and Control,
- Lab Sessions 1
- Week 1.2:
Control Theory (I)
- Lab Sessions 2
- Week 1.3:
Control Theory (II), QR Control & Simulation,
Signal Processing (I)
- Lab Sessions 3
- Week 1.4:
Signal Processing (II)
- Lab Sessions 4 -- interim exam, yaw control
- Week 1.5:
Signal Processing (III)
System Integration Details
- Lab Sessions 5
- Week 1.6 - 1.7:
- Week 1.8:
- Lab Sessions 8 -- D(emonstration) day !