Purdue University, USA - Autopilot v1.0
Purdue University, USA - Autopilot v1.0
Phil Baldwin
Purdue University – AAE
1/23/2017
Outline
• Theory
• Guidance
• Navigation
• Control
• Hardware
• Setup
• Testing
• Software
• Choices
• Use
• Testing
• Integration Northrop Grumman X-47B: Autonomous aerial refueling
2
Theory
• Goal: Control full non-linear EOMs of your 6 DoF system (aircraft)
• How :
• Identify behavior of your aircraft: Parameter Identification
• Provide controller for each dynamic mode that doesn’t behave how you want
it to (Dutch roll, phugoid, etc.)
• Provide controller for guidance/navigation
• Navigation: Where you are
• Guidance: Where you’re going
• Ground station software roll all this into one package, with most of the work
already done for you, though it is not necessarily all-encompassing
3
Theory – Parameter Identification
• Goal: Find stability derivatives
• Relates the movement of a control surface, CG position shift, velocity, etc. to
the reaction that the aircraft will have
• Difficult to calculate by hand
• Predicted values – will need to coordinate values from several
different sources
• CFD
• CAD
• AVL
• Measured values
• Flight tests: Accelerometers and airspeed are most common data
• Wind tunnel: May be able to provide some data 4
Theory – Controllers
• Goal: Provide controller for each dynamic mode that doesn’t behave
how you want it to (Dutch roll, phugoid, etc.)
• Generally use linearized EOMs and successive loop closure to create
controllers for each system
• Define system inputs and outputs (e.g., elevator signal input, AoA output)
• PID Control in Ground Station software
• Can implement additional filters
5
Theory – Navigation
• Goal: Know where you are
• Sources
• GNSS (GPS, GLONASS, Galileo, BeiDou)
• Inertial (Based on accelerometers and/or gyros)
• Magnetic Compass (Magnetometer)
• Barometer
• Sensor fusion – Uses all of the above, with Kalman filtering, to provide a
better solution to the problem
• Not trivial
• Built in to ground control software
6
Theory – Guidance
• Goal: Get where you want to go
• Driven by cross-track error: How far to the left or right (or
below/above) are you of your desired track?
• Generally a controller gain set to define how “aggressively” you want to get to
your desired track
• May be limited by bank angle limit, airspeed, or other factors
• How close is close enough?
• Is it the same in all phases of your flight plan?
• Ambiguity needs addressed
7
Hardware
None of us are equipped to deal with a severed finger (duct tape can
only go so far). Please take steps to ensure that you stay safe when
conducting bench, testbed, or production aircraft tests. Ideally, perform
all tests without a propeller attached. Only attach a propeller once you
are read to go fly.
8
Hardware
• A hardware solution that will allow for easy integration and that will
allow you to connect servos, ESCs, radio receiver, etc., is desirable
• Pixhawk is the most common by far
• Pixhawk Mini now becoming available
• Some projects based on Raspberry Pi
• Additional “nice to have” (might be required) components
• External GPS
• Pitot-static system
9
Hardware
• Pixhawk
• Onboard IMU (accelerometers,
gyros, barometer, magnetometer)
• Lots of extra connectivity options
• I2C
• UART
• CAN
• Fairly sure each team has theirs
already
• Telemetry/control radio is nice
to have
10
Hardware – Setup
• Not going to describe each individual step here
• Lots of tutorials available online
• Not enough time
• Install Pixhawk unit as near the CG as possible (arrow facing forward)
• Forward-aft adjustment easiest
• Vertical also important, but less variation
• Foam or rubber to dampen vibrations
• Attach all electrical connections
• Verify servo connections not reversed anywhere (very common)
• Don’t stretch wires taut
• Try to avoid a rat’s nest
11
Hardware – Testing
• Bench testing highly recommended before installation in airframe
• Chances are your aircraft will not be ready for integration before you get all of
your autopilot components together
• Pre-assemble/test as much of the system as possible
• Include as much of the actual system you will use
• Servo extensions
• Cameras
• Transmitters
• A couple of pieces of wood or foam will work – doesn’t need to be complex
• Allow access to Pixhawk and other components to check connections or
current conditions
• Much harder to dig around inside of a fuselage and trace wires
12
Hardware – Testing
• Testbed aircraft
• Use to test/practice…
• Assembly/start-up steps
• Ground station practice
• Flight modes
• Sensors (airspeed, cameras)
• Can use to create or refine…
• Stability models and tuning
• Methods for data collection
• Use a known stable design
• Mitigate risk of using the
autopilot the first time in your
only aircraft
13
Software – Choices
• Lots of options, especially depending on platform; can use a tablet or
desktop (or laptop) based system
• Mission Planner*
• APM Planner 2
• QGroundControl
• UgCS
• No “right” answer; download one or all of them, they are all free
• Spend some time using each one
• Steep learning curve for new users
• Best way to learn it is to use it
*I’ll be using links to this software. QGC has analogs to most of the links I provide. 14
Software – Uses
• Control
• Mission Planning
• Waypoints
• Vertical (profile) planning
• Point of interest (orbit)
• Component integration
• Cameras
• Sensors
• Joystick (if you want)
• Telemetry
• Real-time info on location,
speed, ETA, etc.
• Diagnostic/status info 15
Software – Uses
• Simulation
• Only after verifying performance on real aircraft
• Will not be perfect; fidelity is fairly low
• Test out new mission profiles
• Teach additional team members to fly your plane
16
Software – Testing
• Same pretense as hardware testing: Know what you’re getting into
and practice it
• Set up Pixhawk to be able to talk to your ground station
• Test out different modes in testbed
• Use ground station and RC transmitter to change modes
• Understand what the software is doing; don’t just assume it will do
what you want it to
• Know how to set the failsafe and what to expect if it takes effect
• Always be ready to take control back from the autopilot
• Know where the “Manual” or “Override” switch is and how to use it
17
Integration
• Probably the hardest part of all of this (in the build process), but the
least material to talk about
• All of the airplanes are different
• All of the missions are different
• Must relate specific performance of each given system to your KPIs and
decide what needs done first
• This will take you longer than you think, unless you have specifically
designed how to integrate each individual component (down to servo
wires) into your airframe
• Generally there is ample tape used in this process
18
Integration
• Make sure you can access Pixhawk to plug components in
• Install components individually
• Servos
• ESC
• Camera(s)
• Pitot-static tubes
• Lidar/other rangefinder
• GPS Antenna
• Pixhawk unit (and associated accessories)
• Radio transceivers
19
Integration
• Make sure everything works individually before plugging in to
Pixhawk
• Common to think the Pixhawk is malfunctioning, but there is actually a servo
extension installed upside down in line
• Use a servo tester
• Ensure prop rotation direction is correct (also a common “Oops” moment, but
sometimes fixable with ESC programming)
• Plug in all components to Pixhawk
• Should already have wireless ground control connection made, right?
• Take care with the tiny connectors (pins are easy to bend, plastic is brittle)
• Go through start-up process
20
Integration
• Go fly!
NOTE: It is highly recommended to fly by hand initially, then switch modes to
“Stabilize” to check that the system works
• Arm the system
• Launch and climb to a safe altitude
• Engage “Stabilize” or “FBW” mode
• Always be ready to remove control from the autopilot
• Mission Planner includes an “Autotune” mode that is supposed to set some of
the PID values automatically; trust but verify is a good principle here.
• For the rest of the controller values, set them individually
• May be able to get a good first guess from community-submitted values
• Only use a similarly sized aircraft if its weight and configuration is also similar
21
Integration
• Flight Modes
• Control specifics of what your aircraft is doing
• Can pre-plan with “Auto”
• Set up automated takeoff (even hand launching)
• Follow waypoints
• Loiter over a specific point for a specified amount of time
• Drop a payload?
• Return to launch
• Automated landing
• Can hand-fly with “Stabilize”, “FBW”, or “Cruise”
• Ad-hoc automated modes, “Loiter” and “Circle”
• Lots of options available, and lots more you can add and customize
22
Integration
• Built-in safety
• Envelope protection
• Prevents stall, overspeed, or other undesirable conditions
• “Free insurance”
• Once again, trust but verify its operation
• Geo-fencing
• Keep your airplane IN a specific area (Flight box)
• Keep your airplane OUT of a specific area (Airports, sporting events, etc.)
• Terrain following
• Might be useful in mountains or other adverse terrain
• Might be less useful on the ocean
23
Integration
• Debrief
• Use data collected during flight
• Prove a parameter is met
• Altitude during cruise
• GPS location of payload drop
• Flight time
• Battery mAh consumed
• See if there are any improvements to be made
• Change controller gains
• Change climb-out angle
• Change landing approach speed
• Discuss what went right
• Discuss anything that went poorly
• Use data to analyze and correct for next flight
24
Integration
• Use your now fully-autopilot-enabled aircraft to carry out an
extensive flight test program
• Or deliver marine biology specimens, or two-way radios
25
Related reading
• Aircraft Control and Simulation,
Brian Stevens/Frank Lewis/Eric
Johnson (3rd Ed.)
• 2nd Edition*
• 3rd Edition (has a chapter on sUAS)
• APM: Plane
27