You are on page 1of 27

Guidance and Control of Unmanned Autonomous Vehicles

Shashi Ranjan Kumar

Assistant Professor
Department of Aerospace Engineering
Indian Institute of Technology Bombay
Powai, Mumbai- 400076

https://www.aero.iitb.ac.in/˜shashi
srk@aero.iitb.ac.in
Quadrotor: Control Effectiveness Model

• How to obtain propulsor model for multirotors?


• Propulsor model: BLDC motor, ESC and propellers

• Throttle command σ ∈ [0, 1] with no control on battery output voltage Ub


• Average voltage from ESC: Um = σUb
• With steady-state motor speed (ω̄ss )

ω̄ss = Cb Um + ω̄b = CR σ + ω̄b ; , CR = Cb Ub

• Steady-state cannot be achieved instantaneously.


• First order LPF approximation of BLDC motor dynamics
1 1
ω̄ = ω̄ss =⇒ ω̄ = (CR σ + ω̄b )
Tm s + 1 Tm s + 1
Shashi Ranjan Kumar (IITB) Guidance and Control of Unmanned Autonomous Vehicles Quadrotor Lecture 13 1 / 26
Quadrotor: Control Effectiveness Model

• Hovering mode: propeller angular speed, throttle, and reaction torque are
in equilibrium.
• Deviations from equilibrium conditions

ω̄i = ω̄i⋆ + ∆ω̄i , σi = σi⋆ + ∆σi , Mi = Mi⋆ + ∆Mi

• Models for moment and angular speeds


1
Mi = cM ω̄i2 + JRP ω̄˙ i , ω̄i = (CR σi + ω̄b )
Tm s + 1

• Linearized models at equilibrium point


1
∆Mi = 2cM ω̄i⋆ i ∆ω̄i + JRP ∆ω̄˙ i , ∆ω̄i = CR ∆σi
Tm s + 1
• Transfer function from throttle to moments

CR (2cM ω̄i⋆ + JRP s)


∆Mi = ∆σi
Tm s + 1
Shashi Ranjan Kumar (IITB) Guidance and Control of Unmanned Autonomous Vehicles Quadrotor Lecture 13 2 / 26
Quadrotor: Propulsor Model Parameters

Shashi Ranjan Kumar (IITB) Guidance and Control of Unmanned Autonomous Vehicles Quadrotor Lecture 13 3 / 26
Quadrotor: Blade Flapping

• Assumption of rigidity of quadrotor is not valid.


• Blade flapping: Upward-and-downward movement of a rotating blade.

• Advancing blade: A higher relative speed, and thus larger thrust and
upward flapping velocity
• Any issues with upward flapping velocity?
• Upward flapping velocity reduces angle of attack and thus the thrust.

Shashi Ranjan Kumar (IITB) Guidance and Control of Unmanned Autonomous Vehicles Quadrotor Lecture 13 4 / 26
Quadrotor: Blade Flapping Effect

Shashi Ranjan Kumar (IITB) Guidance and Control of Unmanned Autonomous Vehicles Quadrotor Lecture 13 5 / 26
Quadrotor: Blade Flapping Effect

• Flapping effect: Has ability to change rotating blade direction and


thereby thrust direction.
• No longer vertical thrust direction
• Existence of associated induced drag in the negative direction of the x-axis.
• Induced drag ∝ thrust generated by propeller

Shashi Ranjan Kumar (IITB) Guidance and Control of Unmanned Autonomous Vehicles Quadrotor Lecture 13 6 / 26
Quadrotor: Hub force

• Thrust of rotor: Force ∥ to the rotor shaft


• Hub forces: Forces ⊥ to the rotor shaft
• Hub force: Resultant force on all blade elements in horizontal plane
1 1 Θtw
h  i
Hi =CH ρA(ω̄i rp )2 , CH = σa µCd + λr µ Θ0 −
4a 4 2
where Cd is the drag coefficient.

Shashi Ranjan Kumar (IITB) Guidance and Control of Unmanned Autonomous Vehicles Quadrotor Lecture 13 7 / 26
Quadrotor: Hub Forces

• Hub force Hi : Acts in rotor disc plane in negative direction of horizontal


speed Vh ( projection of forward speed V in plane ⊥ to rotor shaft).
• Component-wise hub forces
P4 P4
Hx = i=1
Hxi Hy = i=1
Hyi

• Total hub force is zero if quadrotor velocity is zero.


• Aerodynamic forces: Net friction force produced along body axes
 
Kdx 0 0
Fd =  0 Kdy 0  Ṗ
0 0 Kdz

where Kdx , Kdy , and Kdz represent translational drag coefficients.

Shashi Ranjan Kumar (IITB) Guidance and Control of Unmanned Autonomous Vehicles Quadrotor Lecture 13 8 / 26
Quadrotor: Gravitational Forces and Hub Moments

• Gravitational force: Net gravitational force acting on the CG

F g = mg

• Its direction is in z-axis of inertial frame.


• Requirement to obtain its component in body frame.
• Net force acting on quadrotor, expressed in body-fixed frame of reference
 P4     
− i=1 Hxi 0 Kdx 0 0
P4
Fb = − i=1 Hyi  + Rbi  0  +  0 Kdy 0  Ṗ
P4
− i=1
Ti Fg 0 0 Kdz

• Hub moment: Moments due to hub forces on vehicle around shaft axis
4
X 4
X
H = Hmx + Hmy = l sin αi Hx + l cos αi Hy
i=1 i=1

Shashi Ranjan Kumar (IITB) Guidance and Control of Unmanned Autonomous Vehicles Quadrotor Lecture 13 9 / 26
Quadrotor: Flapping and Aerodynamic Friction Moments

• Flapping moment of the blade: Moments due to difference in the lifts


between advancing and retreating blades

Bi = CB ρArp (ω̄i rp )2

• Component-wise, flapping moments


4 4
X X
Bx = (−1)i+1 Bxi , By = (−1)i+1 Byi
i=1 i=1

• Aerodynamic friction moments: Resultant moments due to aerodynamic


friction torque

ϕ̇2
  
Kdϕ 0 0
Md =  0 Kdθ 0   θ̇2 
0 0 Kdψ ψ̇ 2

Shashi Ranjan Kumar (IITB) Guidance and Control of Unmanned Autonomous Vehicles Quadrotor Lecture 13 10 / 26
Quadrotor: Overall Dynamics

   
u̇ rv − qw
 v̇  =  pw − ru 
ẇ qu − pv
 P4      
− i=1 Hxi 0 Kdx 0 0
1  P4 b
+ − i=1 Hyi  + Ri  0  +  0 Kdy 0  Ṗ
m P4
i=1
Ti −Fg 0 0 Kdz
      
ṗ Γ1 pq − Γ2 qr Γ3 0 Γ4 l
 q̇  =  Γ5 pr − Γ6 (p2 − r2 )  +  0 1/Jy 0  m 
ṙ Γ7 pq − Γ1 qr Γ4 0 Γ8 n

Total moments:

• Moments (corresponding to roll, pitch, and yaw) due to rotor thrusts


• Gyroscopic moments
• Hub moments
• Blade flapping moments
• Aerodynamics friction moments
Shashi Ranjan Kumar (IITB) Guidance and Control of Unmanned Autonomous Vehicles Quadrotor Lecture 13 11 / 26
Quadrotor: Stability and Controllability

• Dynamical system: Stability and controllability

• Multicopters: Unstable without control feedback


• Autopilot required to guarantee its stability and make it hovering
• Controllability requirements
• If a multicopter is uncontrollable at equilibrium state, then no controller
exists to stabilize it at the equilibrium states
• Will the conventional notion of controllability work for multirotors?
• Unfortunately, no, requirement of positive controllability
• Degree of controllability: Degree to which a system can be controlled
Shashi Ranjan Kumar (IITB) Guidance and Control of Unmanned Autonomous Vehicles Quadrotor Lecture 13 12 / 26
Quadrotor: Stability and Controllability

• Attitude model (simplified model)

Θ̇ = ω, ω̇ = J −1 τ

• With no active control moment, dynamics becomes


 
0 I
Θ̇ = ω, ω̇ = 0 =⇒ ż = Az, z = (Θ, ω)⊤ , A =
0 0

• Multicopter is unstable at the hovering state, irrespective of arrangement


of propellers.
• No change in total thrust and the gravity due to attitude change
• External disturbance cannot be compensated for without feedback.
• Lift of fixed-wing aircraft and thus control forces are changed with the
attitude, and thus FW aircraft attitude can be controlled.
• Multicopters rely on autopilots to hover, whereas some fixed-wing aircraft
do not need autopilots to keep forward flight.
Shashi Ranjan Kumar (IITB) Guidance and Control of Unmanned Autonomous Vehicles Quadrotor Lecture 13 13 / 26
Quadrotor: Stability and Controllability

• Null Controllability: A linear system is controllable if for any x(t0 ), ∃ a


bounded admissible control u[t0 , t1 ] defined on the finite time interval
[t0 , t1 ], which steers x(t0 ) to zero.
• Check for controllability

C(A, B) = [B AB . . . An1 B]; rankC(A, B) = n

Shashi Ranjan Kumar (IITB) Guidance and Control of Unmanned Autonomous Vehicles Quadrotor Lecture 13 14 / 26
Quadrotor: Stability and Controllability

• A linear system constrained by u ∈ Ω is completely controllable if for each


pair of points x0 , x1 ∈ Rn , ∃ a bounded admissible control u[t0 , t1 ] ∈ Ω
defined on the finite time interval [t0 , t1 ], which steers x0 to x1 .
• A linear system constrained by u ∈ Ω is null-controllable if ∃ an open set
V ⊂ Rn which contains the origin and any x0 ∈ V can be controlled to
x1 = 0 in finite time by a bounded admissible controller.

Positive Controllability

If there exists u ∈ Ω satisfying Bu = 0, and the set CH(Ω2 ) has


nonempty interior in Rm , then following conditons are necessary and
sufficient for the controllability of a linear system:
• rank C(A, B) = n,
• There is no real eigenvector v of A⊤ satisfying v ⊤ Bu ≤ 0 for all
u ∈ Ω,
where CH(Ω) is convex hull of Ω, defined as intersection of all convex
sets that includes Ω in Rm .

Shashi Ranjan Kumar (IITB) Guidance and Control of Unmanned Autonomous Vehicles Quadrotor Lecture 13 15 / 26
Quadrotor: Low Level Control

• Unstable multicopters: Stabilize using feedback control


• Is it enough to make it stable?
• No, What else is required then?
• A good control performance (such as fast response, no overshoot and
robustness against uncertainties) required.
• How to control multirotors?
• Position control: Compute ϕd , θd , fd according to the desired position pd
• Attitude control: Compute desired moments according to the desired
attitude angles ϕd , θd , ψd .
• Control allocation: Allocate desired propeller angular speeds to motors to
obtain desired thrust and moments
• Motor control: Compute desired throttle command of each motor as per
angular speed

Shashi Ranjan Kumar (IITB) Guidance and Control of Unmanned Autonomous Vehicles Quadrotor Lecture 13 16 / 26
Quadrotor: Low Level Control

Shashi Ranjan Kumar (IITB) Guidance and Control of Unmanned Autonomous Vehicles Quadrotor Lecture 13 17 / 26
Quadrotor: Low Level Control

• Multicopters: Underactuated, Why?


• Six outputs (position and attitude) but only four independent inputs
(thrust and moments)
• Multicopter can only track four desired commands (pd ∈ R3 , ψd ∈ R)
• Remaining variables (ϕd , θd ∈ R) determined by desired commands pd , ψd .

Shashi Ranjan Kumar (IITB) Guidance and Control of Unmanned Autonomous Vehicles Quadrotor Lecture 13 18 / 26
Quadrotor: Low Level Control

• Model for quadrotor

e e f e e
ṗ = v, Rb e3 v̇ = ge3 −
m
Θ̇ = W ω, J ω̇ = − ω × J b ω + Ga + τ ;
b b b
(Ṙ = R[ v ω]× )

• Simplified model for quadrotor

e e e f e
ṗ = v, v̇ = ge3 − Rb e3 , Θ̇ = W b ω, J b ω̇ = τ
m
• Component-wise equations governing quadrotor’s position
f
p̈xe = − (sin ψ sin ϕ + cos ψ sin θ cos ϕ)
m
f
p̈ye = − (− cos ψ sin ϕ + sin ψ sin θ cos ϕ)
m
f
p̈ze =g− cos θ cos ϕ
m

Shashi Ranjan Kumar (IITB) Guidance and Control of Unmanned Autonomous Vehicles Quadrotor Lecture 13 19 / 26
Quadrotor: Linear Model Simplification

• Quadrotor is underactuated, strongly coupled and high dimensional.


• Simplification based on flight characteristics
• Small pitch and roll angles along with thrust equal to weight

sin ϕ ≈ ϕ, cos ϕ ≈ 1, sin θ ≈ θ, cos θ ≈ 1, f ≈ mg

• Matrix W as identity matrix and


 
θ cos ψ + ϕ sin ψ
Reb e3 ≈  θ sin ψ − ϕ cos ψ 
1

• Decoupled channels
⇒ Horizontal position channel model
⇒ Altitude channel model
⇒ Attitude model

Shashi Ranjan Kumar (IITB) Guidance and Control of Unmanned Autonomous Vehicles Quadrotor Lecture 13 20 / 26
Quadrotor: Horizontal Position Channel

• Under small angle assumptions, quadrotor horizontal position model

ṗh = vh
v̇h = −gAψ Θh

where    
px ϕ
ph = , Θh =
py θ
   
cos ψ − sin ψ 0 1
Rψ = , Aψ = Rψ
sin ψ cos ψ −1 0

• Input: −gAψ Θh
• Output: ph
• Linear model
• Second order integrator model

Shashi Ranjan Kumar (IITB) Guidance and Control of Unmanned Autonomous Vehicles Quadrotor Lecture 13 21 / 26
Quadrotor: Horizontal Position Channel

• Under small angle assumption, quadrotor altitude model

ṗz = vz
f
v̇z = g −
m
f
 
• g− is not a higher order infinite small term.
m
f
 
• g− cannot be ignored.
m
• Again a linear model, (second order integrator model)
• Attitude linear model
Θ̇ = ω, Jω = τ
• States may not be always available and thus need to be estimated.
• Design of controller using separation principle

Shashi Ranjan Kumar (IITB) Guidance and Control of Unmanned Autonomous Vehicles Quadrotor Lecture 13 22 / 26
Quadrotor: Position Control

• Position control: set-point control, trajectory tracking and path following

• Set-point control: Desired position pd ∈ R3 is a constant point.

∥p − pd ∥ → 0, or ∥p − pd ∥ → B (03×1 , δ) as t → ∞

with
B (o3×1 , δ) ≜ {ζ ∈ R3 |∥ζ − o∥ ≤ δ}, δ ∈ R+ ∪ {0}

• Multicopter can fly to the given position, regardless of the trajectory.


Shashi Ranjan Kumar (IITB) Guidance and Control of Unmanned Autonomous Vehicles Quadrotor Lecture 13 23 / 26
Quadrotor: Position Control

• Trajectory tracking: Desired position pd : [0, ∞) ∈ R3 is a time-dependent


trajectory.

∥p(t) − pd (t)∥ → 0, or ∥p(t) − pd (t)∥ → B (03×1 , δ) as t → ∞

• Multicopter is required to track a given trajectory over, for example, a car.


• Path following: Desired position pd (γ(t)) ∈ R3 is path directly determined
by the parameter γ, rather than the time t.

∥p(t) − pd (γ(t))∥ → 0, or ∥p(t) − pd (γ(t))∥ → B (03×1 , δ) as t → ∞

• Multicopter is required to fly along a profile over a hill.


• Difference in trajectory tracking and path following: Dependence of
trajectories or paths on time.
• Trajectory tracking problem: time-dependent desired trajectory
• Path following problem: Curve independent of time

Shashi Ranjan Kumar (IITB) Guidance and Control of Unmanned Autonomous Vehicles Quadrotor Lecture 13 24 / 26
Quadrotor: Position Control

• Path following: three-dimensional (3D) tracking.


• Trajectory tracking: four-dimensional (4D) tracking with the time as a
new dimension.
• When γ(t) = t, the path following problem → a trajectory tracking
problem.
• If pd (t) = constant, then trajectory tracking problem → a set-point
control problem.
• A set-point control problem is a special case of trajectory tracking
problems.
• A trajectory tracking problem is a special case of path following
problems.
• Transformation of path following problems to trajectory tracking problems.
• Desired attitude control problems
⇒ Euler angles
⇒ Rotation matrix

Shashi Ranjan Kumar (IITB) Guidance and Control of Unmanned Autonomous Vehicles Quadrotor Lecture 13 25 / 26
References

References

• Quan Quan, “Introduction to Multicopter Design and Control”,


Springer, 2017.
• Moussa Labbadi,“Advanced Robust Nonlinear Control Approaches
for Quadrotor Unmanned Aerial Vehicle”, 2021.

Thank you for your attention !!!

Shashi Ranjan Kumar (IITB) Guidance and Control of Unmanned Autonomous Vehicles Quadrotor Lecture 13 26 / 26

You might also like