UNIVERSITY OF LOUISVILLE Collaborative UAV Navigation System System Design Specification Eric Hollander, Johnathon Martin 11/4/15 Revision 0 1 Table of Contents 1 System Description ............................................................................................................................... 3 1.1 1.1.1 Raspberry Pi .......................................................................................................................... 3 1.1.2 Ardupilot ............................................................................................................................... 3 1.2 2 3 4 5 Major Components ....................................................................................................................... 3 System Interfaces .......................................................................................................................... 3 1.2.1 Raspberry Pi .......................................................................................................................... 3 1.2.2 Ardupilot ............................................................................................................................... 4 Detailed Design ..................................................................................................................................... 4 2.1 Raspberry Pi .................................................................................................................................. 4 2.2 Ardupilot ....................................................................................................................................... 5 Theory of Operation.............................................................................................................................. 5 3.1 Raspberry Pi .................................................................................................................................. 5 3.2 Ardupilot ....................................................................................................................................... 5 Test Procedures .................................................................................................................................... 6 4.1 Raspberry Pi Testing...................................................................................................................... 6 4.2 Ardupilot Testing........................................................................................................................... 6 Requirements Traceability .................................................................................................................... 6 2 1 System Description Figure 1 The system will be an autonomous system that is controlled by Raspberry Pi’s but can be manually overridden if needed. The design will be made so that minimal interaction will be needed. In the system, the sensors onboard the Ardupilot will be used to determine location. The Raspberry Pi will receive the signal from the Ardupilot and correspond with the other raspberry Pi’s in the other drones to determine and update new coordinates. All the parts used are COTS and provided by the sponsor. 1.1 Major Components 1.1.1 Raspberry Pi There will be two Raspberry Pi 2 units used in the project, which is enough to make the drone swarm testable. These are COTS products made by Raspberry Pi. They are made for a wide variety of applications. Each board outputs desired coordinates to the Ardupilot boards for an updated location. They will also communicate with each other to decide on updated flight paths and formations along with collision avoidance. 1.1.2 Ardupilot There will also be an Ardupilot on each drone. These are COTS made by Arduino. These are made specifically for enabling drones to be UAVs utilizing software to preprogram a flight plan. It will interface with the Raspberry Pi’s to receive updates on flight paths as well as updating the Raspberry Pi’s of their coordinates. 1.2 System Interfaces 1.2.1 Raspberry Pi The Raspberry Pi 2 will be placed in each drone to be able to read from the Ardupilot and communicate to the other drones. The Pi will use 3.3 V logic level. It will also communicate to the other Raspberry Pi’s using Optimized Link State Routing Protocol (OLSR). 3 1.2.2 Ardupilot The Ardupilot will also be placed in each drone and connected to the Pi onboard. It communicates with a 5V logic level. 2 Detailed Design 2.1 Raspberry Pi The Raspberry Pi’s chosen are the Raspberry Pi 2 made by Raspberry Pi. Figure 2 below shows the board below with many of its features and its pin layout. Of the many features of the Pi, we will be using the following: 1 USB port for the Wi-Fi dongle, 5V Micro USB power input, Micro SD card slot to hold the Operating System (OS) and data. We will also be using the GPIO headers to hook up the Arduino. Figure 2: Raspberry Pi 2 The control board gives us a central interface for the system. It is being utilized in this project to run the code containing collision detection and avoidance, flight plan, flight formation, and interdrone communications. It will pull the data from the Ardupilot and execute the various commands mentioned above with the received data then send its result back to the Ardupilot as 4 an updated flight coordinate. It will also be communicating with the other drones using OLSR to share its data and make any necessary calculations. 2.2 Ardupilot The Ardupilot is an ArduPilotMega APM 2. Figure 3 below shows a picture of the board. We will be utilizing most of the capabilities of the board. This includes: GPS, barometer, and accelerometer to get an accurate location reading. We will also be using its natural UAV capabilities as a way to give the drone updated waypoints to fly to without having to program UAV flight from scratch. The board it designed as a UAV platform for many remote controlled platforms, from cars to planes and copters. With the firmware already updated to the most recent plane update to go with our drones, we will use this to get an accurate location reading and coordinates to be able to be read by the Pi. After the Pi does its calculations, it will send back a new updated waypoint to fly towards. The Ardupilot will pull this back into its system and adjust accordingly. The Pi will also perform collision detection, so if any drone is getting too close its new coordinate will lead it away from collision. 3 Theory of Operation 3.1 Raspberry Pi The main purpose of the Pi is to act as the central hub for each drone. It interfaces with the Ardupilots and the other drones in the swarm. 3.2 Ardupilot The Ardupilot gathers location data and compiles it in its system as part of its flight plan and UAV programming. It will be read by the Pi and updated by the Pi to the Ardupilot with updated flight plans to adhere to. 5 4 Test Procedures 4.1 Raspberry Pi Testing The Pi utilizes 3.3VDC inputs and outputs. In order to test these, we will make sure the Pi can receive the data from the Ardupilot and that it can send updates to the Ardupilot, this will confirm that the board is working besides the OS running properly. We will also make sure the Pi’s can talk to each other using OLSR. 4.2 Ardupilot Testing The Ardupilot can be hooked up to the PC and a program can be run to make sure the location polling is working correctly. During the Pi testing, it will also confirm that the rest of the Ardupilot is working properly. 5 Requirements Traceability Requirement Number R1 R2 R3 R4 Test Number T1 T2 T3 Requirements Receive data from Ardupilot send updates to Ardupilot Can communicate through OLSR Ardupilot can determine location accurately Tests Hook up Pi's to Ardupilot boards and test connections Hook up Pi's to network and test communication Hook up Ardupilot to PC and test location data Test T1 T1 T2 T3 Requirement Fulfilled R1, R2 R3 R4 6 References [1] Raspberry Pi. Hardware Documents. [Online]. Available: https://www.raspberrypi.org/documentation/hardware/raspberrypi/README.md [2] Ardupilot. Common APM 2.5 and 2.6 Overview. [Online]. Available: http://copter.ardupilot.com/wiki/common-apm25-and-26-overview/ 6
© Copyright 2026 Paperzz