Controls Research
Research round 1 (oct 7, 2021)
Mostly just trying to find good sources on where to start to look for hexacopter controls. Will highlight good informative sources, may link to new sources.
Reach out to Rodolfo Pellizzoni or Steven Smith after. Probably reach out to Steven Smith, Rodolfo Pellizzoni is more focused on embedded timing/architecture/rm/etc. Steven Smith seems (seems!) to have more direct research interests with robot motion planning and dynamic vehicle routing!
Summary
Two main approaches to hexacopter control: CCA (Classical Control Allocation) & WCA (Weighted Control Allocation).
Control allocation deals with mapping the virtual control vector = [T L M N] T consisting of Thrust Roll Pitch & Yaw to individual motor speeds.
Most proposed implementations at this point use PID’s ?
https://onlinelibrary-wiley-com.proxy.lib.uwaterloo.ca/doi/epdf/10.1002/acs.2955
n-rotor drones are “nonlinear-underactuated systems”
Online or offline learning?
Have a drone that can dynamically learn (single node model?
Moltirotor basics
To Do
Global vs Local Reference Frame
How to make controls layout agnostic (doesn’t matter whether drone is hex, quad, octa, etc.)
Choose whether RC inputs control rate of change in axis or the angle
Controlling angle means that the drone will re-stabilize when sticks are released (stabilize mode) - better but harder to implement
Controlling rate means that the drone will not re-stabilizie after sticks are released - undesirable but easier to implement
Sources (Controls)
Describes & compares two methods of hexacopter control
See Hexacopter Flight Performance Comparison with CCA vs WCA Control Allocation
PID tuning of hexacopters
https://onlinelibrary-wiley-com.proxy.lib.uwaterloo.ca/doi/epdf/10.1002/acs.2955
Most proposed implementations use PID’s?
N-rotor drones are “nonlinear-underactuated systems” what does thaht even MEAN
hard to use PID control directly?
Other proposed artificial intelligence and dynamic properties? → single neuron PID.
→ self tuning PID’s (basically single neuron).
online tuning of PID ?
→ agaussion potential function network PID or FPGN NN ?
→ gradient descent based methodology for online adjustments.
This paper proposes an adaptive neural PID
can be used in any multilple-input-multiple-output (MIMO) nonlinear system.
exact model of the system does not need to be known.
design is straightforward (totally hahahahahahahaha) and rooted in the topology of adynamic NN (adaptable)
can be adjusted online (which we won’t be doing either? unless comms has something spicy).
Then gets into really fancy math that I don’t quite understand.
Navigation and Autonomous Control of a Hexacopter in Indoor Environments
https://lup.lub.lu.se/luur/download?func=downloadFile&recordOId=4359940&fileOId=4359943
Uses ArduCopter 3DR Hexa B
model-based approach using Matlab Simulink.
→ MAINLY FOCUSES ON HOW DATA FROM AN IMU AIDS CV AND GPS DENIED ENVIRONMENT
this is prettty important for us
they use a simulated model (which we also want to do).
Tells us Sigma point Kalman filter outperforms Extended Kalman Filter.
nonlinear kalman filters in general seem more popular.
Generally use PID and back-stepping control.
Backstepping control for hexacopter UAV’s
Mathematical Modelling & control of a hexacopter
Automatic Hexacopter tuning
Implementation of mathematical model for hexacopter systems
Navigation and Autonomous Control of a Hexacopter in Indoor Environments
https://lup.lub.lu.se/luur/download?func=downloadFile&recordOId=4359940&fileOId=4359943
tells us a bit about the maths behind modelling → might be useful if we decide to matlab it?
also tells us about some estimation & control theory. → might be quite nice actually.
Dynamic modeling and Control of a HexaRotor using Linear and Nonlinear Methods
https://www.ijais.org/research/volume9/number5/moussid-2015-ijais-451411.pdf
also quite good maths
introduced simple PID control for the hexarotor
also introduced attittude controlers & backstepping controllers & sliding-mode control
Dynamic Analysis of a Hexacopter controlled via LQR-PI
no actual clue what this does but PI control vs PID is interestinggggg.
also brings in a mathematical model to simulate.
has been verified in simulink/matlab.
Real time tuning of hexacopter controls
A really FANCY ML way of getting controls (probably too fancy)
Hexacopter Trajectory planning (not very relevant to us but maybe more for PM)
Set of articles regarding the programming of an Attitude Manager for a drone
Paper detailing use of Simulink for PID tuning and control
Sources: Sensor Fusion
Sensor Fusion - Required to compute roll/pitch/yaw angle based on the accelerometer and gyro values of the IMU
Madgwick
Mahoney
FIR
Sources (Simulation)
Matlab and simulink Hexacopter simulation?
PDF’s (Is this allowed?)