Menu

UAS Programming

Niveau

Beginner

Lernergebnisse der Lehrveranstaltungen/des Moduls

Upon completing this course, students will be able to:

- Understand Drone Programming Frameworks and Environments: Describe and explain major programming frameworks and development environments used in drone programming, such as DroneKit, ROS (Robot Operating System), and the DJI SDK.
- Develop Flight Control Algorithms: Develop and implement algorithms for primary flight control operations (takeoff, landing, waypoint navigation) using a programming language suited for drone development.
- Integrate and Manage Sensor Data: Write programs that can integrate and process data from various drone sensors, such as GPS, IMUs (Inertial Measurement Units), and cameras, to make informed flight decisions.
- Utilize APIs for Drone Control: Leverage application programming interfaces (APIs) provided by drone manufacturers or open-source communities to control drone features and access sensor data.
- Apply Best Practices in Software Development: Employ best practices in software development, including version control, testing, and debugging, to ensure reliable and maintainable drone software.

Voraussetzungen der Lehrveranstaltung

Introduction to Programming

Lehrinhalte

- Programming Languages and Environments: Introduction to commonly used languages in drone programming (e.g., Python, C++, ROS) and suitable environments for drone software.
- Understanding the Drone Software Stack: Layers of drone software operating, from the operating system and firmware to application software and user interfaces.
- Firmware Programming: Basics of programming the drone's firmware, focusing on real-time operating systems (RTOS), and the interaction with drone hardware.
- APIs and SDKs for Drone Development: Exploring Application Programming Interfaces (APIs) and Software Development Kits (SDKs) provided by drone manufacturers for developing custom applications.
- Autonomous Flight Programming: Techniques for programming drones to fly autonomously, including waypoint navigation, object avoidance, and decision-making algorithms.
- Sensor Integration and Data Processing: Programming drones to interpret data from onboard sensors (e.g., GPS, IMU, cameras) for navigation, stabilization, and task execution.
- Best Practices and Debugging: Effective programming practices for drone development, including version control, testing strategies, and debugging techniques.

Empfohlene Fachliteratur

- Audronis, T. (2017). Designing Purpose-Built Drones for Ardupilot Pixhawk 2.1. Packt Publishing. ISBN: 978-1786469168.
- Mendoza-Mendoza, J. A., Gonzalez-Villela, V. J., Sepulveda-Cervantes, G., Mendez-Martinez, M., & Sossa-Azuela, H. (2020). Advanced Robotic Vehicles Programming: An Ardupilot and Pixhawk Approach. Apress. ISBN: 978-1484255308. https://doi.org/10.1007/97.
- Quan, Q., Dai, X., & Wang, S. (2020). Multicopter Design and Control Practice. Springer Singapore. ISBN: 978-9811531378. https://doi.org/10.1007/978-981-15-3138-5

Bewertungsmethoden und -Kriterien

Portfolio tests

Unterrichtssprache

Englisch

Anzahl der zugewiesenen ECTS-Credits

5

E-Learning Anteil in %

15

Semesterwochenstunden (SWS)

2.5

Geplante Lehr- und Lernmethode

Group work, discussion, exercises, presentation,

Semester/Trisemester, In dem die Lehrveranstaltung/Das Modul Angeboten wird

2

Name des/der Vortragenden

Studienjahr

Kennzahl der Lehrveranstaltung/des Moduls

2_1

Art der Lehrveranstaltung/des Moduls

Integrierte Lehrveranstaltung

Art der Lehrveranstaltung

Pflichtfach

Praktikum/Praktika