Download presentation
Presentation is loading. Please wait.
1
Drone Flight Manager Software on Linux
Supervisor: Constantine Elster Students: Joseph Khell, Vivian Shehadeh
2
Agenda Reminder: project goals Setup overview Design & Implementation
Methodology DragonBoard configuration evolution: DragonBoard configuration I DragonBoard configuration II DragonBoard configuration III Contribution to open source
3
Reminder: project goals
In this project our goal is to use the DragonBoard 410c as a flight controller. For the software part: we need to add support in the ArduPilot open-source project for the DragonBoard 410c running Debian Linux. For the communication part: we need to be able to connect the DragonBoard to a ground control station (GCS). Demo the flight control mechanism. Contribute the development to the open source community.
4
Setup overview MAVLink commands runs on TCP connection State data
5
DragonBoard configuration
ArduPilot currently supports a wide range of boards. We’ve built a configuration for the DragonBoard 410c. Our configuration is derived from Linux base configuration. DragonBoard-specific code is chosen at compile-time by the C preprocessor.
6
DragonBoard configuration: how to
The DragonBoard configuration can now be chosen using the command: And it can be run using the command: In order to establish connection with Ground Control Station over TCP add
7
DragonBoard configuration: how it works
After choosing the DB configuration sensor, backends are chosen: In each sensor class, backend is chosen according to the decision above
8
DragonBoard configuration: methodology
The ArduPilot consists of many different parts. Risk: trying to do full configuration in one step will raise several issues all at once and it will be hard to track each issue and focus on solving it without affecting other parts. Mitigation: we’ve taken a step-by-step approach. We’ve started from a fully simulated configuration and we started to ‘strip’ it part by part. This allowed us, on each step, to focus on issues that have the same root cause and not be distracted by the other ones.
9
Sensor flow: top level view
MAVLink Sensor devices Raw device input Sensor backend Sensor state Communication Layer Flight Control Compass Magnetic field to position Earth magnetic field 3D vector Barometer Pressure, temperature to latitude Pressure & temperature stream GPS NMEA parser NMEA Strings Built-in GPS Inertial sensors Position, position change calculators Gyro, accelometer 3D vectors
10
DragonBoard configuration I
Raw device input Sensor backend Sensor state Communication Layer Flight Control Compass Magnetic field to position Simulated Barometer Pressure, temperature to latitude GPS NMEA parser Inertial sensors Position, position change calculators
11
DragonBoard configuration I: demo
12
DragonBoard configuration I: summary
This configuration helped us get everything ready for the later parts. It helped us understand ArduPilot better and make sure that the environment is ready for development. It helped us learn how to connect the board to the Mission Planner. It helped us learn about MAVLink commands, how to fly a drone, how to start a mission. Skills that we will need for later parts.
13
DragonBoard configuration II
Sensor devices Raw device input Sensor backend Sensor state Communication Layer Flight Control Compass Magnetic field to position Simulated Barometer Pressure, temperature to latitude GPS NMEA parser NMEA Strings Built-in GPS Inertial sensors Position, position change calculators
14
DragonBoard configuration II: demo
15
DragonBoard configuration II: summary
ArduPilot can now activate & detect the DragonBoard’s GPS on Linux Debian and start reading its stream.
16
DragonBoard configuration III
We needed to provide streams from sensors. But since the board wasn’t equipped with any, we came up with the idea of transmitting sensor data from an android phone.
17
MAVLink commands runs on TCP connection State data
18
DragonBoard configuration III
Sensor devices Raw device input Sensor backend Sensor state Communication Layer Flight Control Compass Magnetic field to position Transmitted Barometer Pressure, temperature to latitude GPS NMEA parser NMEA Strings Built-in GPS Inertial sensors Position, position change calculators
19
DragonBoard configuration III: demo
20
DragonBoard configuration III: summary
ArduPilot supports DragonBoard with Debian Linux. Since our configuration simulates the lowest possible level (devices with raw stream) it is possible to swap with stream of actual hardware.
21
Contribution We started contributing the code to the project.
We’re submitting our code in small chunks (according to the project’s guidelines). We’ve submitted our initial commit for the configuration:
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.