an introduction to drones: hardware, protocols and auto-pilot systems
TRANSCRIPT
An introduction to drones: hardware, protocols and auto-pilot systems
Soubhi Hadri
School of Electrical and Computer Engineering
The University of Oklahoma
October, 2017
Table of Contents:
1. Introduction.2. Build Your Own Drone.
• Hardware essential parts and Assembly.• Firmware for flight controller.• GCS (Ground Controller Station).• Calibrations.• Flight Modes.
3. MAVLink Protocol.• MAVLink Micro Air Vehicle Communication Protocol
4. Companion Computers.5. My Work.
• SDK for drone application development.• Logging and Configuration.• Example on Simulator
Introduction
An introduction to drones: hardware, protocols and auto-pilot systems Slide 1| Introduction
Building an Auto-piloting System for Drones. Slide 2
Introduction
Drone : UAV (unmanned aerial vehicle) is an aircraft without a human pilot aboard
| IntroductionAn introduction to drones: hardware, protocols and auto-pilot systems Slide 2| Introduction
Building an Auto-piloting System for Drones. Slide 2
Introduction
Drone : UAV (unmanned aerial vehicle) is an aircraft without a human pilot aboard
fixed-wing aircraft(Plane)
| IntroductionAn introduction to drones: hardware, protocols and auto-pilot systems Slide 2| Introduction
Building an Auto-piloting System for Drones. Slide 2
Introduction
Drone : UAV (unmanned aerial vehicle) is an aircraft without a human pilot aboard
fixed-wing aircraft(Plane)
Copters
• Tricopter.
• Quadcopter.
• Hexacopter.
• ….
| IntroductionAn introduction to drones: hardware, protocols and auto-pilot systems Slide 2| Introduction
Build Your Own Drone
Building an Auto-piloting System for Drones. Slide 3| Build Your Own DroneAn introduction to drones: hardware, protocols and auto-pilot systems Slide 3| Build Your Own Drone
Building an Auto-piloting System for Drones. Slide 4
Build Your Own Drone
Hardware essential parts and Assembly:
| Build Your Own DroneAn introduction to drones: hardware, protocols and auto-pilot systems Slide 4| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
• Choosing a MultiCopter Frame.
Hardware essential parts and Assembly:
| Build Your Own Drone Slide 4An introduction to drones: hardware, protocols and auto-pilot systems Slide 4| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
• Choosing a MultiCopter Frame.
• Mounting the Flight Controller : The Autopilot board.
Hardware essential parts and Assembly:
| Build Your Own Drone Slide 4An introduction to drones: hardware, protocols and auto-pilot systems Slide 4| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
• Choosing a MultiCopter Frame.
• Mounting the Flight Controller : The Autopilot board.
• Connect GPS+Compass Module with FC.
Hardware essential parts and Assembly:
| Build Your Own Drone Slide 4An introduction to drones: hardware, protocols and auto-pilot systems Slide 4| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
• Choosing a MultiCopter Frame.
• Mounting the Flight Controller : The Autopilot board.
• Connect GPS+Compass Module with FC.
Hardware essential parts and Assembly:
| Build Your Own Drone
• Connect ESCs (electronic speed controllers ) and Motors with
FC.
Slide 4An introduction to drones: hardware, protocols and auto-pilot systems Slide 4| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
• Choosing a MultiCopter Frame.
• Mounting the Flight Controller : The Autopilot board.
• Connect GPS+Compass Module with FC.
• Connect ESCs (electronic speed controllers ) and Motors with
FC.
Hardware essential parts and Assembly:
• Propellers and Battery.
| Build Your Own Drone Slide 4An introduction to drones: hardware, protocols and auto-pilot systems Slide 4| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
Hardware essential parts and
Assembly:
| Build Your Own Drone Slide 4
Detailed Wiring Infographic (Copter)
An introduction to drones: hardware, protocols and auto-pilot systems Slide 5| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
Flight Controller:
| Build Your Own Drone Slide 5An introduction to drones: hardware, protocols and auto-pilot systems Slide 6| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
Flight Controller:
- A flight controller (FC) is a circuit board of varying complexity. It controls motors and
the drone’s parts.
| Build Your Own Drone Slide 5An introduction to drones: hardware, protocols and auto-pilot systems Slide 6| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
Flight Controller:
- A flight controller (FC) is a circuit board of varying complexity. It controls motors and
the drone’s parts.
- The majority of flight controllers also employ sensors to supplement their calculations
(IMU).
| Build Your Own Drone Slide 5An introduction to drones: hardware, protocols and auto-pilot systems Slide 6| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
Flight Controller:
- A flight controller (FC) is a circuit board of varying complexity. It controls motors and
the drone’s parts.
- The majority of flight controllers also employ sensors to supplement their calculations
(IMU).
- Flight controllers are configurable and programmable
| Build Your Own Drone Slide 5An introduction to drones: hardware, protocols and auto-pilot systems Slide 6| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
Flight Controller:
- A flight controller (FC) is a circuit board of varying complexity. It controls motors and
the drone’s parts.
- The majority of flight controllers also employ sensors to supplement their calculations
(IMU).
- Flight controllers are configurable and programmable
- i.e.: Pixhawk
| Build Your Own Drone Slide 5
Pixhawk flight controller(cube)
An introduction to drones: hardware, protocols and auto-pilot systems Slide 6| Build Your Own Drone
Building an Auto-piloting System for Drones. Slide 6
Build Your Own Drone
Firmware for Flight Controller:
- Firmware = Flight stack.
| Build Your Own DroneAn introduction to drones: hardware, protocols and auto-pilot systems Slide 7| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
Firmware for Flight Controller:
- Firmware = Flight stack.
- Flight stack is the software that runs on FC.
| Build Your Own Drone Slide 6An introduction to drones: hardware, protocols and auto-pilot systems Slide 7| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
Firmware for Flight Controller:
- Firmware = Flight stack.
- Flight stack is the software that runs on FC.
- Open source flight stack : Ardupilot and PX4.
| Build Your Own Drone Slide 6An introduction to drones: hardware, protocols and auto-pilot systems Slide 7| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
Firmware for Flight Controller:
- Firmware = Flight stack.
- Flight stack is the software that runs on FC.
- Open source flight stack : Ardupilot and PX4.
• Both provide the main function like navigation.
| Build Your Own Drone Slide 7An introduction to drones: hardware, protocols and auto-pilot systems Slide 7| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
Firmware for Flight Controller:
- Firmware = Flight stack.
- Flight stack is the software that runs on FC.
- Open source flight stack : Ardupilot and PX4.
• Both provide the main function like navigation.
• Ardupilot is growing fast and provides more algorithms.
| Build Your Own Drone Slide 7An introduction to drones: hardware, protocols and auto-pilot systems Slide 7| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
Firmware for Flight Controller:
- Firmware = Flight stack.
- Flight stack is the software that runs on FC.
- Open source flight stack : Ardupilot and PX4.
• Both provide the main function like navigation.
• Ardupilot is growing fast and provides more algorithms.
• License:
• ArduPilot is GPL : means that people modifying and then selling ardupilot
are obligated to make their modifications open.
| Build Your Own Drone Slide 7An introduction to drones: hardware, protocols and auto-pilot systems Slide 7| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
Firmware for Flight Controller:
- Firmware = Flight stack.
- Flight stack is the software that runs on FC.
- Open source flight stack : Ardupilot and PX4.
• Both provide the main function like navigation.
• Ardupilot is growing fast and provides more algorithms.
• License:
• ArduPilot is GPL : means that people modifying and then selling ardupilot
are obligated to make their modifications open.
• PX4 is BSD : The modifications are not required to be opened.
| Build Your Own Drone Slide 7An introduction to drones: hardware, protocols and auto-pilot systems Slide 7| Build Your Own Drone
Building an Auto-piloting System for Drones. Slide 7
Build Your Own Drone
Firmware for Flight Controller:
| Build Your Own Drone
Estimation and Control Architecture
An introduction to drones: hardware, protocols and auto-pilot systems Slide 8| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
GCS (Ground Controller Station)
- How to load the firmware onto the FC?
| Build Your Own Drone Slide 8An introduction to drones: hardware, protocols and auto-pilot systems Slide 9| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
GCS (Ground Controller Station)
- How to load the firmware onto the FC? Using GCS
- GCS :
- A ground station is a software application, running on a ground-based computer, that communicates with your UAV.
| Build Your Own Drone Slide 8An introduction to drones: hardware, protocols and auto-pilot systems Slide 9| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
GCS (Ground Controller Station)
- How to load the firmware onto the FC? Using GCS
- GCS :
- A ground station is a software application, running on a ground-based computer, that communicates with your UAV.
- It displays real-time data on the UAVs performance and position.
| Build Your Own Drone Slide 8An introduction to drones: hardware, protocols and auto-pilot systems Slide 9| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
GCS (Ground Controller Station)
- How to load the firmware onto the FC? Using GCS
- GCS :
- A ground station is a software application, running on a ground-based computer, that communicates with your UAV.
- It displays real-time data on the UAVs performance and position.
- Helps you to figure out the problems on the drone.
| Build Your Own Drone Slide 8An introduction to drones: hardware, protocols and auto-pilot systems Slide 9| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
GCS (Ground Controller Station)
- How to load the firmware onto the FC? Using GCS
- GCS :
- A ground station is a software application, running on a ground-based computer, that communicates with your UAV.
- It displays real-time data on the UAVs performance and position.
- Helps you to figure out the problems on the drone.
- Linux : APM Planner.
- Windows: Mission Planner.
- Mavproxy: a light command line GCS.
| Build Your Own Drone Slide 8An introduction to drones: hardware, protocols and auto-pilot systems Slide 9| Build Your Own Drone
Building an Auto-piloting System for Drones. Slide 9
Build Your Own Drone
GCS (Ground Controller Station)
| Build Your Own Drone
APM Planner 2Status tap
An introduction to drones: hardware, protocols and auto-pilot systems Slide 10| Build Your Own Drone
Building an Auto-piloting System for Drones. Slide 10
Build Your Own Drone
Calibration:
| Build Your Own DroneAn introduction to drones: hardware, protocols and auto-pilot systems Slide 11| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
Calibration:
- After assembling the hardware and uploading the hardware, the drone need to
be calibrated.
| Build Your Own Drone Slide 10An introduction to drones: hardware, protocols and auto-pilot systems Slide 11| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
Calibration:
- After assembling the hardware and uploading the hardware, the drone need to
be calibrated.
- Using GCS you can do:
| Build Your Own Drone Slide 10An introduction to drones: hardware, protocols and auto-pilot systems Slide 11| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
Calibration:
- After assembling the hardware and uploading the hardware, the drone need to
be calibrated.
- Using GCS you can do:
- Calibrate the ESCs.
| Build Your Own Drone Slide 10An introduction to drones: hardware, protocols and auto-pilot systems Slide 11| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
Calibration:
- After assembling the hardware and uploading the hardware, the drone need to
be calibrated.
- Using GCS you can do:
- Calibrate the ESCs.
- Calibrate Sensors (Accumulator and compass).
| Build Your Own Drone Slide 10An introduction to drones: hardware, protocols and auto-pilot systems Slide 11| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
Calibration:
- After assembling the hardware and uploading the hardware, the drone need to
be calibrated.
- Using GCS you can do:
- Calibrate the ESCs.
- Calibrate Sensors (Accumulator and compass).
- Radio Transmitter calibration.
| Build Your Own Drone Slide 10An introduction to drones: hardware, protocols and auto-pilot systems Slide 11| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
Calibration:
- After assembling the hardware and uploading the hardware, the drone need to
be calibrated.
- Using GCS you can do:
- Calibrate the ESCs.
- Calibrate Sensors (Accumulator and compass).
- Radio Transmitter calibration.
- Calibrate any other optional hardware.
| Build Your Own Drone Slide 10An introduction to drones: hardware, protocols and auto-pilot systems Slide 11| Build Your Own Drone
Building an Auto-piloting System for Drones. Slide 11
Build Your Own Drone
Flight Modes:
| Build Your Own DroneAn introduction to drones: hardware, protocols and auto-pilot systems Slide 12| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
Flight Modes:
1- Modes require GPS lock prior to takeoff:
| Build Your Own Drone Slide 11An introduction to drones: hardware, protocols and auto-pilot systems Slide 12| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
Flight Modes:
1- Modes require GPS lock prior to takeoff:
• Loiter Mode: automatically attempts to maintain the current location, heading and
altitude.
| Build Your Own Drone Slide 11An introduction to drones: hardware, protocols and auto-pilot systems Slide 12| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
Flight Modes:
1- Modes require GPS lock prior to takeoff:
• Loiter Mode: automatically attempts to maintain the current location, heading and
altitude.
• RTL Mode (Return To Launch mode) :navigates Copter from its current position
to hover above the home position.
| Build Your Own Drone Slide 11An introduction to drones: hardware, protocols and auto-pilot systems Slide 12| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
Flight Modes:
1- Modes require GPS lock prior to takeoff:
• Loiter Mode: automatically attempts to maintain the current location, heading and
altitude.
• RTL Mode (Return To Launch mode) :navigates Copter from its current position
to hover above the home position.
• Auto Mode: the copter will follow a pre-programmed mission script stored in the
autopilot which is made up of navigation commands (i.e. waypoints).
| Build Your Own Drone Slide 11An introduction to drones: hardware, protocols and auto-pilot systems Slide 12| Build Your Own Drone
Building an Auto-piloting System for Drones.
Build Your Own Drone
Flight Modes:
1- Modes require GPS lock prior to takeoff:
• Loiter Mode: automatically attempts to maintain the current location, heading and
altitude.
• RTL Mode (Return To Launch mode) :navigates Copter from its current position
to hover above the home position.
• Auto Mode: the copter will follow a pre-programmed mission script stored in the
autopilot which is made up of navigation commands (i.e. waypoints).
• Guided Mode: is a capability of Copter to dynamically guide the copter to a
target location wirelessly using a telemetry radio module and ground station
application
| Build Your Own Drone Slide 11An introduction to drones: hardware, protocols and auto-pilot systems Slide 12| Build Your Own Drone
Building an Auto-piloting System for Drones. Slide 12
Build Your Own Drone
Flight Modes:
2- Modes do not require GPS lock prior to takeoff:
| Build Your Own DroneAn introduction to drones: hardware, protocols and auto-pilot systems Slide 13| Build Your Own Drone
Building an Auto-piloting System for Drones. Slide 12
Build Your Own Drone
Flight Modes:
2- Modes do not require GPS lock prior to takeoff:
• Stabilize Mode: allows you to fly your vehicle manually,
but self-levels the roll and pitch axis.
| Build Your Own DroneAn introduction to drones: hardware, protocols and auto-pilot systems Slide 13| Build Your Own Drone
Building an Auto-piloting System for Drones. Slide 12
Build Your Own Drone
Flight Modes:
2- Modes do not require GPS lock prior to takeoff:
• Stabilize Mode: allows you to fly your vehicle manually,
but self-levels the roll and pitch axis.
• Altitude-hold Mode : copter maintains a consistent altitude while allowing roll,
pitch, and yaw to be controlled normally
| Build Your Own DroneAn introduction to drones: hardware, protocols and auto-pilot systems Slide 13| Build Your Own Drone
Building an Auto-piloting System for Drones. Slide 12
Build Your Own Drone
Flight Modes:
2- Modes do not require GPS lock prior to takeoff:
• Stabilize Mode: allows you to fly your vehicle manually,
but self-levels the roll and pitch axis.
• Altitude-hold Mode : copter maintains a consistent altitude while allowing roll,
pitch, and yaw to be controlled normally
• LAND Mode: attempts to bring the copter straight down.
| Build Your Own DroneAn introduction to drones: hardware, protocols and auto-pilot systems Slide 13| Build Your Own Drone
MAVLink Protocol
Building an Auto-piloting System for Drones. Slide 13| MAVLink ProtocolAn introduction to drones: hardware, protocols and auto-pilot systems Slide 14| MAVLink Protocol
Building an Auto-piloting System for Drones. Slide 14
MAVLink Protocol
Micro Air Vehicle Communication Protocol :
| MAVLink ProtocolAn introduction to drones: hardware, protocols and auto-pilot systems Slide 15| MAVLink Protocol
Building an Auto-piloting System for Drones.
MAVLink Protocol
Micro Air Vehicle Communication Protocol :
- It is used mostly for communication between a (GCS) and Unmanned vehicles.
| MAVLink Protocol Slide 14An introduction to drones: hardware, protocols and auto-pilot systems Slide 15| MAVLink Protocol
Building an Auto-piloting System for Drones.
MAVLink Protocol
Micro Air Vehicle Communication Protocol :
- It is used mostly for communication between a (GCS) and Unmanned vehicles.
- Using MAVLink you can get telemetry data from drone and send control and navigation command to it.
| MAVLink Protocol Slide 14An introduction to drones: hardware, protocols and auto-pilot systems Slide 15| MAVLink Protocol
Companion Computers
Building an Auto-piloting System for Drones. Slide 15| Companion ComputersAn introduction to drones: hardware, protocols and auto-pilot systems Slide 16| Companion Computers
Building an Auto-piloting System for Drones. Slide 16
Companion Computers
| Companion Computers
- Travels on the vehicle and communicate with (and control) the flight controller.
An introduction to drones: hardware, protocols and auto-pilot systems Slide 17| Companion Computers
Building an Auto-piloting System for Drones.
Companion Computers
- Travels on the vehicle and communicate with (and control) the flight controller.
- Gets all the MAVLink data produced by the autopilot and can use it to make intelligent
decisions during flight.
| Companion Computers Slide 16An introduction to drones: hardware, protocols and auto-pilot systems Slide 17| Companion Computers
Building an Auto-piloting System for Drones.
Companion Computers
- Travels on the vehicle and communicate with (and control) the flight controller.
- Gets all the MAVLink data produced by the autopilot and can use it to make intelligent
decisions during flight.
- Good solution when you have heavy processing.
| Companion Computers Slide 16An introduction to drones: hardware, protocols and auto-pilot systems Slide 17| Companion Computers
Building an Auto-piloting System for Drones.
Companion Computers
- Travels on the vehicle and communicate with (and control) the flight controller.
- Gets all the MAVLink data produced by the autopilot and can use it to make intelligent
decisions during flight.
- Good solution when you have heavy processing.
| Companion Computers Slide 16
Jetson TX1
An introduction to drones: hardware, protocols and auto-pilot systems Slide 17| Companion Computers
My Work
Building an Auto-piloting System for Drones. Slide 17| My WorkAn introduction to drones: hardware, protocols and auto-pilot systems Slide 18| My Work
Building an Auto-piloting System for Drones. Slide 18
My Work
- SDK for drone application development.
• Build your auto-pilot system with simple command.
| My WorkAn introduction to drones: hardware, protocols and auto-pilot systems Slide 19| My Work
Building an Auto-piloting System for Drones.
My Work
- SDK for drone application development.
• Build your auto-pilot system with simple command.
| My Work Slide 18An introduction to drones: hardware, protocols and auto-pilot systems Slide 19| My Work
Building an Auto-piloting System for Drones.
My Work
- SDK for drone application development.
• Build your auto-pilot system with simple command.
• No need for previous knowledge of drone’s protocol.
| My Work Slide 18An introduction to drones: hardware, protocols and auto-pilot systems Slide 19| My Work
Building an Auto-piloting System for Drones.
My Work
- SDK for drone application development.
• Build your auto-pilot system with simple command.
• No need for previous knowledge of drone’s protocol.
• Safe.
| My Work Slide 18An introduction to drones: hardware, protocols and auto-pilot systems Slide 19| My Work
Building an Auto-piloting System for Drones. Slide 19
My Work
• Configurable.
- SDK for drone application
development.
| My WorkAn introduction to drones: hardware, protocols and auto-pilot systems Slide 20| My Work
My Work
• Log file.
Building an Auto-piloting System for Drones. Slide 20
- SDK for drone application
development.
| My WorkAn introduction to drones: hardware, protocols and auto-pilot systems Slide 21| My Work
My Work
Building an Auto-piloting System for Drones. Slide 21| My WorkAn introduction to drones: hardware, protocols and auto-pilot systems Slide 22| My Work
- Simple Example.
My Work
• Example with SITL.
Building an Auto-piloting System for Drones. Slide 21| My WorkAn introduction to drones: hardware, protocols and auto-pilot systems Slide 23| My Work
- SDK for drone application development.
References
Slide 22
• http://ardupilot.org/
• https://dev.px4.io/
Building an Auto-piloting System for Drones.An introduction to drones: hardware, protocols and auto-pilot systems Slide 24| References
Thank You
An introduction to drones: hardware, protocols and auto-pilot systems