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