- design, develop soft- and firm/hard-real time programs using modern libraries
- appraise proper use of software architectures, for developing efficient modular software in a robust way
- evaluate real-time performance of the produced robot / embedded software, to optimise for use in the robot application at hand
This course dives deeper into developing control software for robots. The topics are:
- Real-time programming, Real-time operating systems (threads, timing, real-time communication, kernels, communication between real-time and non-real-time parts).
- Robot software architecture suitable for soft- and hard/firm-real time control parts, e.g. on modularity, scalability, effective use w.r.t. timing performance, etc.
- Component-based software development using existing software frameworks (currently ROS2) and model-driven code generation methods and tools (currently using the tool 20-sim).
The practical assignments focus on gaining experience in writing software, (performance) testing it, and working towards controlling an actual robot (a pan-tilt camera unit) using a mainstream embedded control computing platform, currently a Raspberry Pi.
Cannot be taken next to 202200108
Software Development for Robotics
Assumed previous knowledge
|First-level programming in C++, basic operating systems, basic computer engineering.|
|Master Electrical Engineering|
|Master Systems and Control||Required materials-Recommended materials|
|Claudius Ptolemaeus (ed), (2014) System Design, Modeling, and Simulation using Ptolemy II, http://ptolemy.org/systems ISBN:978-1-304-42106-7 (free E-Book)|
|Peter Marwedel, Embedded Systems Design, 3/e, 2018, ISBN 9783319858128 (paperback), 423 pages.|
|Jim Cooling, (2003) Software Engineering for Real-Time Systems, Addison Wesley, ISBN: 0-201-59620-2 / 9780321225788|
|Oral exam, Exercises, Labwork|