Download presentation
1
Stanford APM:Plane Overview
Trent Lukaczyk April 7, 2014 AA241X – UAV Design and Build
2
Airframe Construction
The Problem Fly Autonomously Airframe Construction State Estimation Algorithm Processing Control Actuation Ground Monitoring
3
The Components Autopilot Unit Wireless Telemetry Remote Control Radio
GPS Radio Compass Magnetometer Airspeed Sensor Battery Monitor Servos, ESC, Motor
4
Autopilot Unit Auto Pilot Module (APM) ArduPilot Mega (APM) 2.6
Based on Arduino 16MHz Atmega2560 processor 16 MB dataflash memory ~ 2hours of logging (download often) Needs: to point forward to be securely attached accelerometer calibration if relocated
5
Wireless Telemetry Wireless Telemetry 915 MHz, 100mW Shares a “NetID”
“MAVLink Protocol”
6
Wireless Telemetry USB Micro B DF13 6-Pin DF13 5-Pin USB A
7
Lift this lip gently with a screwdriver
DF13 Connectors Lift this lip gently with a screwdriver Pain and a Half to use Easy to break But small, reconfigurable Be careful when disconnecting! Can shave these hooks off with a knife Can add hot glue at the wire-connector joint. Do not use super glue here.
8
Radio Control Setup RC Transmitter, 2.4 GHz “Binds” with Receiver
Always carry the bind plug Four axes + mode switch Turn on first, before plane Autopilot Mode Switch
9
Radio Control 3pin Servo Wires x5
10
The order of these vary with receiver
Radio Control Setup Autopilot Mode Switch The order of these vary with receiver
11
Servo Wires Mixing up signal and ground can fry electronics Look for markings like this -
12
GPS + Compass 1.57 GHz GPS radio Magnetometer 5Hz position update
Needs clear sight of sky Magnetometer Provides heading estimate Needs to be clear of high-current electronics Needs: to point forward calibration if relocated
13
DF13 6pin GPS DF13 4pin MAG DF13 4pin DF13 5pin
Remember to point GPS and APM forward
14
Airspeed Sensor Pitot tube measures difference in “Static” and “Total” pressure, which is related to airspeed. Airspeed is relative to wind will be higher or lower if you travel against or with the wind
15
Airspeed Sensor Silcone Tubing 3pin Servo Wire A1
16
Power Module Records current and voltage from battery
Integrate for energy usage, and battery level Powers APM, Receiver, Radios, and Servos
17
Lithium Polymer Batteries
3.7 Volts per Cell Metrics: N-Cells (2S = 2 Cells = 7.4V) Capacity (C = 1100 mAh) Discharge Rate (25C = 27.5A) Charge Rate (2C = 2.2A) Can catch fire or leak during charging Always be present during charging Capacity loss or Bricking if over-discharged i.e. leaving plugged in over night
18
LiPo Discharge LiPo’s die suddenly around 3.4Volts/Cell
Be ready to land around 3.5Volt/Cell traxxas.com Higher Current
19
Speed Controller Rated by Max Current and Max Voltage
Direct Current Power in, Three-phase Alternating Current out “Opto” vs “BEC” BEC can power RC gear, Opto can’t
20
Brushless Outrunner Motor
“Outrunner” - magnets rotate around stator Rated by kV = no load rpm/V High kV = fast rpm, low torque Low kV = low rpm, high torque Too much power melts windings, burns out motor
21
Power Electronics Setup
DF13 6-Pin DC Power DC Power 3 Phase AC
22
Carbon Folding Props More rigid, more efficient, more expensive
(vs plastic props) More dangerous – they are spinning knives Spinner cap lets them fold on landing, or if motor braking is on (more efficient glide)
23
Servos Drive Motor + Rotation Sensor + PID Control board … in 8-grams
Forcing the control arms by hand wrecks gears
24
Servo Setup Elevator Rudder 3pin Servo Wires Ailerons Servo Wire “Y”
Throttle
25
The Components Autopilot Unit Wireless Telemetry Remote Control Radio
GPS Radio Compass Magnetometer Airspeed Sensor Battery Monitor Servos, ESC, Motor
26
Airframe Construction
The Problem Fly Autonomously Airframe Construction State Estimation Algorithm Processing Control Actuation Ground Monitoring
27
Stanford_ArduPlane An easy embedded flight control software for Aerospace Engineers, based on ArduPlane ArduPlane code without the control law
28
Development Tools Download and install the ArduPilot Arduino IDE
Download Libraries and place in the Arduino sketch folder Download Stanford ArduPlane
29
Building Open \Stanford_ArduPlane\ \Stanford_ArduPlane.ino with Arduino Check the board type (Mega 2560) and COM port “Verify” = compile “Upload” = compile and upload to APM
30
The Code Editable: Not Editable: AA241X_ControlLaw.ino
AA241X_ControlLaw.h Not Editable: AA241X_Competition.h AA241X_aux.ino AA241X_aux.h Everything Else…
31
The Code State and Control Variables (AA241X_aux.h)
Roll, pitch, yaw angles and rates Inertial velocity and accelerations Heading Airspeed GPS X-Y positions GPS and Barometric Altitudes Battery Consumption RC Inputs, Servo + Throttle Outputs
32
The Control Loops AA241X_ControlLaw.ino
AA241X_AUTO_FastLoop(void){} ~50Hz AA241X_AUTO_MediumLoop(void){} ~10 Hz AA241X_AUTO_SlowLoop(void){} ~3.3 Hz Distribute algorithm to use CPU cycles wisely Beware of APM Memory limits 256k Flash Program Memory, 8K SRAM, 4K EEPROM
33
The Camera Function AA241X_aux.h
// Camera functions ///////////////////////// Function takeASnapShot()//// Example:// snapshot mySnapShot = takeASnapshot();//// mySnapShot.pictureTaken: range 0 or 1, indicates whether or not the picture was taken. 0 if not enough time between successive pictures, or if no GPS lock, or of energy cap reached, or out of altitude bounds// mySnapShot.timeOfPicture;// mySnapShot.personsInPicture: array of length 3 with values 0 or 1, indicating which persons were in the picture. personsInPicture[i] == 1 meanse person i was in the picture// mySnapShot.centerOfPictureX: X position of the center of the picture, in NED coordinates // mySnapShot.centerOfPictureY: Y position of the center of the picture, in NED coordinates// mySnapShot.diameterOfPicture: indicates the diameter of area covered by the picture // mySnapShot.centerOfPersonEstimateX[i]: X position in NED coordinates of the center of the circular area within which the i-th person is located. // mySnapShot.centerOfPersonEstimateY[i]: Y position in NED coordinates of the center of the circular area within which the i-th person is located.// mySnapShot.diameterOfPersonEstimate[i]: diameter of the circular area within which the i-th person is located.
34
Telemetry Plotting Two types of logs
Telemetry log Dataflash log store at higher log-rates Download from APM over USB Cable Mission Planner can dump matlab data files
35
Airframe Construction
The Problem Fly Autonomously Airframe Construction State Estimation Algorithm Processing Control Actuation Ground Monitoring
36
Resources FliteTest: youtube channel DIY Drones: forum
RC groups: forum GrabCAD: community CAD models 3DRobotics: Store and Manuals GitHub: Stanford_ArduPlane Code
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.