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