lecture - APM Overview - 201404

advertisement
Stanford APM:Plane Overview
Trent Lukaczyk
April 7, 2014
AA241X – UAV Design and Build
1
The Problem
Fly Autonomously
Airframe Construction
State Estimation
Algorithm Processing
Control Actuation
Ground Monitoring
2
The Components
•
•
•
•
•
•
•
•
3
Autopilot Unit
Wireless Telemetry
Remote Control Radio
GPS Radio
Compass Magnetometer
Airspeed Sensor
Battery Monitor
Servos, ESC, Motor
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
4
Wireless Telemetry
•
•
•
•
5
Wireless Telemetry
915 MHz, 100mW
Shares a “NetID”
“MAVLink Protocol”
Wireless Telemetry
USB Micro B
DF13 6-Pin
DF13 5-Pin
USB A
6
DF13 Connectors
Lift this lip gently
with a screwdriver
Can shave these hooks
off with a knife
7
Can add hot glue at the
wire-connector joint.
Do not use super glue here.
•
•
•
•
Pain and a Half to use
Easy to break
But small, reconfigurable
Be careful when
disconnecting!
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
8
Autopilot Mode
Switch
Radio Control
3pin Servo
Wires x5
9
Radio Control Setup
Autopilot Mode
Switch
The order of these
vary with receiver
10
Servo Wires
Mixing up signal
and ground can
fry electronics
Look for markings
like this -
11
GPS + Compass
• 1.57 GHz GPS radio
– 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
12
DF13 6pin
GPS
13
DF13 4pin
MAG
Remember to point GPS and APM forward
DF13 4pin
DF13 5pin
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
14
Airspeed Sensor
Silcone
Tubing
3pin Servo Wire
A1
15
Power Module
• Records current and voltage from battery
• Integrate for energy usage, and battery level
• Powers APM, Receiver, Radios, and Servos
16
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
17
LiPo Discharge
• LiPo’s die suddenly around 3.4Volts/Cell
• Be ready to land around 3.5Volt/Cell
Higher Current
18
traxxas.com
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
19
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
20
Power Electronics Setup
DF13 6-Pin
DC Power
DC Power
3 Phase AC
21
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)
22
Servos
• Drive Motor
+ Rotation Sensor
+ PID Control board
… in 8-grams
• Forcing the control arms
by hand wrecks gears
www.twf8.ws
23
Servo Setup
Elevator
Rudder
3pin Servo Wires
Ailerons
Servo Wire “Y”
Throttle
24
The Components
•
•
•
•
•
•
•
•
25
Autopilot Unit
Wireless Telemetry
Remote Control Radio
GPS Radio
Compass Magnetometer
Airspeed Sensor
Battery Monitor
Servos, ESC, Motor
The Problem
Fly Autonomously
Airframe Construction
State Estimation
Algorithm Processing
Control Actuation
Ground Monitoring
26
Stanford_ArduPlane
• An easy embedded flight control software for
Aerospace Engineers, based on ArduPlane
• ArduPlane code without the control law
https://github.com/rbunge/Stanford_ArduPlane
27
Development Tools
• Download and install the ArduPilot Arduino
IDE
• Download Libraries and place in the Arduino
sketch folder
• Download Stanford ArduPlane
28
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
29
The Code
• Editable:
– AA241X_ControlLaw.ino
– AA241X_ControlLaw.h
• Not Editable:
– AA241X_Competition.h
– AA241X_aux.ino
– AA241X_aux.h
– Everything Else…
30
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
31
The Control Loops
• AA241X_ControlLaw.ino
– AA241X_AUTO_FastLoop(void){}
Executes @ ~50Hz
– AA241X_AUTO_MediumLoop(void){}
Executes @ ~10 Hz
– AA241X_AUTO_SlowLoop(void){}
Executes @ ~3.3 Hz
• Distribute algorithm to use CPU cycles wisely
• Beware of APM Memory limits
– 256k Flash Program Memory, 8K SRAM, 4K EEPROM
32
The Camera Function
• AA241X_aux.h
33
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
34
The Problem
Fly Autonomously
Airframe Construction
State Estimation
Algorithm Processing
Control Actuation
Ground Monitoring
35
Resources
•
•
•
•
•
•
36
FliteTest: youtube channel
DIY Drones: forum
RC groups: forum
GrabCAD: community CAD models
3DRobotics: Store and Manuals
GitHub: Stanford_ArduPlane Code
Download