SlideShare une entreprise Scribd logo
1  sur  64
Télécharger pour lire hors ligne
How does a Quadrotor fly?
A journey from physics, mathematics, control
systems and computer science
towards a “Controllable Flying Object”
Corrado Santoro
ARSLAB - Autonomous and Robotic Systems Laboratory
Dipartimento di Matematica e Informatica - Universit`a di Catania, Italy
santoro@dmi.unict.it
Keynote - L.A.P. 1 Course - Jan 10, 2014
Corrado Santoro How does a Quadrotor fly?
Overview
1 Why Multi-rotors?
2 Structure and Physics of a Quadrotor
3 From Analysis to Driving:
How can I impose a movement to my quadrotor?
4 The ideal world and the real world:
Why we need Control Systems Theory!
5 Rates and Angles:
Could I control the attitude?
6 What about Altitude or GPS control?
Corrado Santoro How does a Quadrotor fly?
Part I
Why Multi-rotors?
Corrado Santoro How does a Quadrotor fly?
Flying Machines
“To fly” has been one of the dreams of the humans
But the story tells that building flying machines is not easy!
A basic and common component: the wing
Two kind of “flying machines” (excluding rockets and
balloons):
1 Fixed wing, i.e. airplanes
2 Rotating wing, i.e. helicopters
Corrado Santoro How does a Quadrotor fly?
Design and Implementation problems
Airplanes (fixed wing)
Wing profile and shape
Wing and stab size/area
Wing load
Position of the COG
Motion is achieved by driving (mechanically) the mobile surfaces
(aleirons, rudder, elevator)
Helicopters (rotating wing, VTOL)
Size and structure of the rotor
Mechanical system to control motion inclination
Yaw balancing system for the rotor at tail
Position of the COG
Motion is achieved by (mechanically) changing the inclination of
the rotor and the pitch of the rotor wings
Corrado Santoro How does a Quadrotor fly?
Multi-rotors ...
are mechanically simple: they have n motors and n
propellers
do not require complex mechanical parts to control the
flight
can fly and move only by changing motor speed
are controlled only by a electronic-/computer-based system
Building them is simple!!
Corrado Santoro How does a Quadrotor fly?
Part II
Structure and Physics of a Quadrotor
Corrado Santoro How does a Quadrotor fly?
Structure of a Quadrotor (Mechanics)
Four equal propellers generating four thrust forces
Two possible configurations: “+” and “×”
Propellers 1 and 3 rotates CW, 2 and 4 rotates CCW
Required to compensate the action/reaction effect (Third
Newton’s Law)
Propellers 1 and 3 have opposite pitch w.r.t. 2 and 4, so all
thrusts have the same direction
Corrado Santoro How does a Quadrotor fly?
Structure of a Quadrotor (Electronics)
Corrado Santoro How does a Quadrotor fly?
Forces and Rotation speeds
ω1, ω2, ω3, ω4: rotation speeds of the propellers
T1, T2, T3, T4: forces generated by the propellers
Ti ∝ ω2
i : on the basis of propeller shape, air density, etc.
m: mass of the quadrotor
mg: weight of the quadrotor
Corrado Santoro How does a Quadrotor fly?
Moments
M1, M2, M3, M4: moments generated by the forces
Mi = L × Ti
Corrado Santoro How does a Quadrotor fly?
Hovering Condition (Equilibrium)
1 Equilibrium of forces: 4
i=1 Ti = −mg
2 Equilibrium of directions: T1,2,3,4||g
3 Equilibrium of moments: 4
i=1 Mi = 0
4 Equilibrium of rotation speeds: (ω1 + ω3) − (ω2 + ω4) = 0
Violating one (or more) of these conditions implies to impose a
certain movement to the quadrotor
Corrado Santoro How does a Quadrotor fly?
Reference Systems
There are two reference systems:
1 The inertial reference systems, i.e. the Earth frame
(xE , yE , zE )
2 The quadrotor reference system, i.e. the Body frame
(xB, yB, zB)
Corrado Santoro How does a Quadrotor fly?
Euler Angles
Three angles (φ, θ, ψ) define the transformation between the
two systems:
Roll, φ: angle of rotation along axis xB||xE
Pitch, θ: angle of rotation along axis yB||yE
Yaw, ψ: angle of rotation along axis zB||zE
They are called Euler Angles
Corrado Santoro How does a Quadrotor fly?
Angular Speeds
The derivative of (φ, θ, ψ) w.r.t. time are the angular/rotation
speeds ( ˙φ, ˙θ, ˙ψ) of the system:
˙φ, Roll rate
˙θ, Pitch rate
˙ψ, Yaw rate
Corrado Santoro How does a Quadrotor fly?
Part III
From Analysis to Driving:
How can I impose a movement to my quadrotor?
Corrado Santoro How does a Quadrotor fly?
Hovering Condition (Equilibrium)
1 Equilibrium of forces: 4
i=1 Ti = −mg
2 Equilibrium of directions: T1,2,3,4||g
3 Equilibrium of moments: 4
i=1 Mi = 0
4 Equilibrium of rotation speeds: (ω1 + ω3) − (ω2 + ω4) = 0
As a consequence:
˙φ = 0 ˙θ = 0 ˙ψ = 0
φ = 0 θ = 0 ψ = 0
Corrado Santoro How does a Quadrotor fly?
Going Up and Down
1 No equilibrium of forces: 4
i=1 Ti = −mg
2 Equilibrium of directions: T1,2,3,4||g
3 Equilibrium of moments: 4
i=1 Mi = 0
4 Equilibrium of rotation speeds: (ω1 + ω3) − (ω2 + ω4) = 0
By increasing/decreasing the rotation speed of all the
propellers we can:
Go Up: 4
i=1 Ti > −mg
Go Down: 4
i=1 Ti < −mg
Euler angles and rates remain 0
Corrado Santoro How does a Quadrotor fly?
Yaw Rotation
1 Equilibrium of forces: 4
i=1 Ti = −mg
2 Equilibrium of directions: T1,2,3,4||g
3 Equilibrium of moments: 4
i=1 Mi = 0
4 No equilibrium of prop speeds: (ω1 + ω3) − (ω2 + ω4) = 0
As a consequence:
˙ψ = kY ((ω1 + ω3) − (ω2 + ω4)) ψ = ˙ψdt
Corrado Santoro How does a Quadrotor fly?
Roll Rotation
No equilibrium of moments: 4
i=1 Mi = 0
... by unbalancing propeller speeds as:
(ω1 + ω4) − (ω2 + ω3) = 0
As a consequence:
˙φ = kR((ω1 + ω4) − (ω2 + ω3)) φ = ˙φdt
No equilibrium of directions: T1,2,3,4 not parallel to g
Corrado Santoro How does a Quadrotor fly?
Roll Rotation and Translated Flight
Total thrust T = 4
i=1 Ti is decomposed in:
Lift Force:TL = T cos φ
Drag Force:TD = T sin φ
Avoiding diving implies TL = T cos φ = −mg thus in translated
flight we need more power w.r.t. hovering or yawing.
Corrado Santoro How does a Quadrotor fly?
Pitch Rotation
No equilibrium of moments: 4
i=1 Mi = 0
... by unbalancing propeller speeds as:
(ω1 + ω2) − (ω3 + ω4) = 0
As a consequence:
˙θ = kP((ω1 + ω2) − (ω3 + ω4)) θ = ˙θdt
Also in this case the total thrust is decomposed thus we
need more power w.r.t. hovering or yawing.
Corrado Santoro How does a Quadrotor fly?
Equations of Movement
We assume a common factor of proportionality k and F =
√
T
(we will see that such an assumption is not a problem!):
˙φ = k((ω1 + ω4) − (ω2 + ω3)) = kω1 − kω2 − kω3 + kω4
˙θ = k((ω1 + ω2) − (ω3 + ω4)) = kω1 + kω2 − kω3 − kω4
˙ψ = k((ω1 + ω3) − (ω2 + ω4)) = kω1 − kω2 + kω3 − kω4
F = k((ω1 + ω2 + ω3 + ω4)) = kω1 + kω2 + kω3 + kω4
or, using matrices:




˙φ
˙θ
˙ψ
F



 =




k −k −k k
k k −k −k
k −k k −k
k k k k








ω1
ω2
ω3
ω4




Corrado Santoro How does a Quadrotor fly?
Equations of Movement




˙φ
˙θ
˙ψ
F



 =




k −k −k k
k k −k −k
k −k k −k
k k k k








ω1
ω2
ω3
ω4



 = K




ω1
ω2
ω3
ω4




This equation gives the angular velocities of the quadrotor,
given the speed of the propellers.
But if we want to control the quadrotor we must understand
how to set ωi in order to impose a certain rotation rate of axis in
the body frame.
Corrado Santoro How does a Quadrotor fly?
Controlling Roll, Pitch and Yaw Rates, and Total Thrust




ω1
ω2
ω3
ω4



 = K−1




˙φ
˙θ
˙ψ
F



 =




k k k k
−k k −k k
−k −k k k
k −k −k k








˙φ
˙θ
˙ψ
F




Corrado Santoro How does a Quadrotor fly?
Part IV
The ideal world and the real world:
Why we need Control Systems Theory!
Corrado Santoro How does a Quadrotor fly?
Can we really set the rotation rate of propellers??
Motor/Propeller Driving Schema
Drivers, motors and propellers are chosen to be of the same
type for the four arms.
Software (firmware) controls PWM, but ...
1 Are the drivers really all the same?
2 Are the motors really all the same?
3 Are the propellers really all the same?
4 Is the COG placed at the center of the quadrotor?
The answer is: In general, No!!
Corrado Santoro How does a Quadrotor fly?
Can we really set the rotation rate of propellers??
Motor/Propeller Driving Schema
Same PWM signals applied different driver/motor/propeller
chains provoke different thrust forces, even if the components
are of the same type!
Corrado Santoro How does a Quadrotor fly?
The “Real world” effect
Problem
We need to set ωi by




ω1
ω2
ω3
ω4



 = K−1




˙φ
˙θ
˙ψ
F




but we don’t have a direct control on ωi and propeller thrust
Corrado Santoro How does a Quadrotor fly?
The Mathematician/Physicists Solution
Solution ??
Let’s characterize each driver/motor/propeller chain and derive the
functions:
Ti = fi (PWMi )
Then, let’s invert the functions:
PWMi = f−1
i (Ti )
But...
Characterization is not so easy
If we change a component, we must repeat the process
There are unpredictable variables, e.g. air density, wind, etc.
Corrado Santoro How does a Quadrotor fly?
The Computer Scientist/Engineer Solution
Solution ??
Let’s sperimentally tune:
an offset for each channel
a gain for each channel
until the system behaves as expected!
But...
Tuning is not so easy
If we change a component, we must repeat the process
There are unpredictable variables, e.g. air density, wind, etc.
Corrado Santoro How does a Quadrotor fly?
The Control System Engineer Solution
Solution!!!! Use feedback!
1 Measure your variable through a sensor
2 Compare the measured value with your desired set point
3 Apply the correction to the system on the basis of the error
4 Go to 1
Tuning is easy and, if the controller is properly designed ...
it works no matter the components
it works also in the presence of uncontrollable variables, e.g. air
density, wind, etc.
Corrado Santoro How does a Quadrotor fly?
Our Scenario
Our measures:
Actual angular velocities on the three axis ( ˙φM, ˙θM, ˙ψM )
They are measured through a 3-axis gyroscope!
Our set-points:
Desired angular velocities on the three axis ( ˙φT , ˙θT , ˙ψT )
They are given through the remote control
Corrado Santoro How does a Quadrotor fly?
Using Feedback to Control the Quadrotor
The overall schema of the feedback controller is:
Corrado Santoro How does a Quadrotor fly?
Using Feedback to Control the Quadrotor
Algorithmically
while True do
On ∆T timer tick ;
( ˙φT , ˙θT , ˙ψT , F) = sample remote control();
( ˙φM, ˙θM, ˙ψM ) = sample gyro();
e ˙φ := ˙φT − ˙φM; e ˙θ := ˙θT − ˙θM; e ˙ψ := ˙ψT − ˙ψM;
C ˙φ :=roll rate controller(e ˙φ);
C ˙θ :=pitch rate controller(e ˙θ);
C ˙ψ :=yaw rate controller(e ˙ψ);
(pwm1, pwm2, pwm3, pwm4)T := K−1(C ˙φT
, C ˙θT
, C ˙ψT
, F)T ;
send to motors(pwm1, pwm2, pwm3, pwm4);
end
Corrado Santoro How does a Quadrotor fly?
Using Feedback to Control the Quadrotor
Algorithmically
while True do
On ∆T timer tick ;
( ˙φT , ˙θT , ˙ψT , F) = sample remote control();
( ˙φM, ˙θM, ˙ψM ) = sample gyro();
e ˙φ := ˙φT − ˙φM; e ˙θ := ˙θT − ˙θM; e ˙ψ := ˙ψT − ˙ψM;
C ˙φ :=roll rate controller(e ˙φ);
C ˙θ :=pitch rate controller(e ˙θ);
C ˙ψ :=yaw rate controller(e ˙ψ);
(pwm1, pwm2, pwm3, pwm4)T := K−1(C ˙φT
, C ˙θT
, C ˙ψT
, F)T ;
send to motors(pwm1, pwm2, pwm3, pwm4);
end
The key is in the controllers!!
Corrado Santoro How does a Quadrotor fly?
The P.I.D. Controller
The most common used controller type is the
Proportional-Integral-Derivative controller, represented by
the following function:
PID Function
C := xxx rate controller(e);
That is:
C(t) := Kpe(t) + Ki
t
0
e(τ) dτ + Kd
de(t)
dt
In a discrete world (at kth sampling instant):
C(k) := Kpe(k) + Ki
k
j=0
e(j) ∆T + Kd
e(k) − e(k − 1)
∆T
Corrado Santoro How does a Quadrotor fly?
The P.I.D. Controller
PID Function
C(k) := Kpe(k) + Ki
k
j=0
e(j) ∆T + Kd
e(k) − e(k − 1)
∆T
Constants Kp, Ki , Kd regulate the behaviour of the controller:
Kp drives the short-term action
Ki drives the long-term action
Kd drives the action on the basis of the “error trend”
Constants Kp, Ki , Kd are tuned:
Using a specific tuning method (Ziegler-Nichols)
Sperimentally by means of “trial-and-error”
Corrado Santoro How does a Quadrotor fly?
Part V
Rates and Angles:
Could I control the attitude?
Corrado Santoro How does a Quadrotor fly?
Rates are not Angles
The above schema controls rates:
suppose a roll angle of φ = 10o
but no roll rotation (rate), i.e. ˙φ = 0
and no roll rotation command (sticks set to center)
⇒ the quadrotor is not horizontal and performs a
translated flight
Could we control angles instead of rates?
Corrado Santoro How does a Quadrotor fly?
Measuring Angles (instead of Rates): Gyros
First we must measure euler angles (φ, θ, ψ)!
We could do this by using Gyroscopes, Accelerometers,
Magnetometers, but...
Gyroscopes measure angular velocities which can be
integrated in order to derive the angle α(t) =
t
0 ˙α(τ)dτ, but:
Numeric integration is affected by approximation errors
Gyroscopes are affected by an offset, i.e. they give
non-zero value when the measure should be zero
Such an offset is not constant over time and depends on
the temperature
The estimated angle is not reliable!
Corrado Santoro How does a Quadrotor fly?
Measuring Angles: Accelerometers
An accelerometer is a sensor measuring the acceleration over
the three axis (ax , ay , az).
If the sensor is static sensed values are the projections
of g vector in the sensor reference system
Two functions (using arctan) determines pitch and roll:
φ = tan−1 −ay
−az
θ = tan−1 ax√
a2
y +a2
z
But if the object is moving (e.g. shaking) other
accelerations appear
The computed angles are not reliable!
Corrado Santoro How does a Quadrotor fly?
Measuring Angles: Two sensors, No reliability!
Gyros
Drift
Approximate discrete integration
Accelerometers
Precise only if sensor is not “shaking”
We have two different source of the same information
which are affected by two different error types.
We can use both measures by fusing them in order to adjust
the error and obtain a reliable information.
Corrado Santoro How does a Quadrotor fly?
Sensor Fusion
Basic Algorithm
while True do
On ∆T timer tick ;
( ˙φ, ˙θ, ˙ψ) = sample gyro();
(ax, ay , az) = sample accel();
(φ, θ, ψ) = (φ, θ, ψ) + ∆T( ˙φ, ˙θ, ˙ψ);
ˆφ = tan−1
(−ay/ − az);
ˆθ = tan−1
(ax/ a2
y + a2
z);
(φ, θ, ψ) = fusion filter(φ, θ, ψ, ˆφ, ˆθ);
end
Corrado Santoro How does a Quadrotor fly?
Sensor Fusion: Algorithms
The key is the filter function!
DCM (Direction Cosine Matrix)
Complementary filters
Kalman filters
Basic idea:
Derive an error function e(t) = real(t) − estimated(t)
Design a controller able to guarantee limt→∞ e(t) = 0
Corrado Santoro How does a Quadrotor fly?
Sensor Fusion: Algorithms
High computational load due to:
Rotations in the 3D space
Matrix calculations
May we reduce the load?
Corrado Santoro How does a Quadrotor fly?
Representing Rotations in 3D
Direction Cosine Matrix
DCM =


cθcψ sφsθcψ − cφsψ cφsθcψ + sφsψ
cθsψ sφsθsψ + cφcψ cφsθsψ − sφcψ
−sθ sφcθ cφcθ


s = sin, c = cos
This matrix is re-computed at each iteration!!
Rotating a vector v = (x, y, z) implies the product DCM · v.
Corrado Santoro How does a Quadrotor fly?
Representing Rotations in 3D
Quaternions
A quaternion is a complex number with one real part and three
imaginary parts:
q = q0 + q1i + q2j + q3k
i, j, k = imaginary units
i2
= j2
= k2
= ijk = −1
While Complex numbers can be used to represent rotations
in 2D, Quaternions can be used to represent rotations in 3D.
Corrado Santoro How does a Quadrotor fly?
Rotations in 3D and Quaternions
Transformations from Euler angles to quaternion exist:
q → (φ, θ, ψ)
(φ, θ, ψ) → q
Rotating a vector v using a quaternion implies the product
qvq∗ where q∗ is the conjugate of q and v = {0, vx , vy , vz}.
The overall fusion algorithm can be written using
quaternion algebra, thus avoiding continuous sin, cos
calculation.
Quaternions avoid gimbal lock!
The attitude can be easily obtained by using:
q → (φ, θ, ψ)
Corrado Santoro How does a Quadrotor fly?
So far so good: Controlling attitude
Attitude control is achieved using (once again) feedback
controllers.
We set the Target (desired) Attitude (φT , θT , ˙ψT ) from
remote controller.
Current quad attitude (φM, θM, ˙ψM) is computed using
sensor fusion.
The error signals (differences) are sent to PID controllers
whose output are the target rates for rate controllers.
The basic model is “cascading controllers”: attitude
controllers which drives rate controllers.
Corrado Santoro How does a Quadrotor fly?
Let’s remind the schema of Rate Controllers
Corrado Santoro How does a Quadrotor fly?
Complete Attitude Controller
Corrado Santoro How does a Quadrotor fly?
Control “loops”: Requirements
Two control loops in the schema
rate control (inner);
attitude control (outer);
Attitude control “drives” rate control, thus rate control must
have “enough time” to reach the desired target.
Loops must have different dynamics, i.e. sampling time
Tr = rate control sampling time
Ta = attitude control sampling time
Ta >> Tr , Ta = nTr , n ∈ N, n > 1
In our quad: Tr = 5ms, Ta = 50ms
Corrado Santoro How does a Quadrotor fly?
Finally, the overall algorithm
while True do
On Tr timer tick ;
( ˙φM, ˙θM, ˙ψM ) = sample gyro();
(ax, ay , az) = sample accel();
(φM, θM) = fusion filter( ˙φM , ˙θM, ˙ψM, ax , ay , az);
if after N loops then
(φT , θT , ˙ψT , F) = sample remote control();
˙φT :=roll controller(φM, φT );
˙θT :=pitch controller(θM, θT );
end
C ˙φ :=roll rate controller( ˙φM, ˙φT );
C ˙θ :=pitch rate controller( ˙θM, ˙θT );
C ˙ψ :=yaw rate controller( ˙ψM, ˙ψT );
(pwm1, pwm2, pwm3, pwm4)T := K−1(C ˙φT
, C ˙θT
, C ˙ψT
, F)T ;
send to motors(pwm1, pwm2, pwm3, pwm4);
end Corrado Santoro How does a Quadrotor fly?
Part VI
What about Altitude or GPS control?
Corrado Santoro How does a Quadrotor fly?
Let’s repeat the schema!
Do you need another kind of control? Repeat the schema!
Identify your source of measure m
Identify your target t
Identify the variables to drive v
Identify the sampling time
Use a (PID) controller v = pid(t, m)
Corrado Santoro How does a Quadrotor fly?
Altitude Control
HT = our target height
HM = measured height (from a sensor)
F = output variable to control (desired thrust)
MTr = altitude control sampling time, M > N
while True do
On Tr timer tick ;
...;
if after M loops then
HM = sample altitude sensor();
F :=altitude controller(HM, HT );
end
...
end
Corrado Santoro How does a Quadrotor fly?
GPS Control
LatT , LonT = our target position
LatM , LonT = measured position (from a GPS sensor)
φT , θT = target variables to control (desired pitch and roll)
GTr = GPS control sampling time, G > N
while True do
On Tr timer tick ;
...;
if after G loops then
(LatM, LonM) = sample gps();
φT :=gps lon controller(LonM, LonT );
θT :=gps lat controller(LatM, LatT );
end
...
end
Note: for a proper GPS navigation, a compass (with related yaw
control) is mandatory.
Corrado Santoro How does a Quadrotor fly?
Vision-based Control
while True do
On Tr timer tick ;
...;
if after H loops then
(∆X, ∆Y, ∆ψ) = identify target with camera();
φT :=x controller(∆X);
θT :=y controller(∆Y);
˙ψT :=heading controller(∆ψ);
end
... Corrado Santoro How does a Quadrotor fly?
Conclusions
It seems easy ....
Corrado Santoro How does a Quadrotor fly?
... but, where is the trick?
Are sensors reliable?
Sometimes, NO!
Noise due to mechanical vibrations (MEMS-IMU to be
filtered by applying Fourier analysis)
False positives due to wiring problems (Magnetometers,
ADC, etc.)
Are execution platforms reliable?
Check it!
Controllers need precise (real-time) timing
DO NOT Windows to stabilize your quad!!!
You can try with RT-Linux
Is PID Tuning really easy?
NO! You must learn it!
... and be sure to have a large set of propellers!!
Are all those things fun?
OF COURSE!!!! ¨⌣
Corrado Santoro How does a Quadrotor fly?
Will Multi-rotors be the future of personal
transportation systems?
Where do I park my multi-rotor??
Corrado Santoro How does a Quadrotor fly?
Demonstration Flight
First prototype: PROBLEMS!!!
DIY is fun but ...
The frame is not well balanced... but the control will do the
job
Too many vibrations (many of them suppressed using
Chebyshev filters)
Wrong choice of motors (specs report a thurst of 400gr
each, but ...)
Wiring/Electronics problems
Current spikes reset the ultrasonic sensor
I2C sometimes locks (a watchdog intervenes and turn-off
motors)
Firmware problems
Still working on the sensor fusion algorithm, since it is not
satisfactory (we want more stability...)
Corrado Santoro How does a Quadrotor fly?
How does a Quadrotor fly?
A journey from physics, mathematics, control
systems and computer science
towards a “Controllable Flying Object”
Corrado Santoro
ARSLAB - Autonomous and Robotic Systems Laboratory
Dipartimento di Matematica e Informatica - Universit`a di Catania, Italy
santoro@dmi.unict.it
Keynote - L.A.P. 1 Course - Jan 10, 2014
Corrado Santoro How does a Quadrotor fly?

Contenu connexe

Tendances

Quadcopter Talk (Abstractions)
Quadcopter Talk (Abstractions)Quadcopter Talk (Abstractions)
Quadcopter Talk (Abstractions)Ryan Boland
 
Introduction to Quad-copters, Drones
Introduction to Quad-copters, DronesIntroduction to Quad-copters, Drones
Introduction to Quad-copters, Droneswinfred lu
 
DREAM QUADCOPTER
DREAM QUADCOPTERDREAM QUADCOPTER
DREAM QUADCOPTERAJILMON
 
Traffic Alert and collision avoidance system (TCAS)
Traffic Alert and collision avoidance system (TCAS)Traffic Alert and collision avoidance system (TCAS)
Traffic Alert and collision avoidance system (TCAS)ARVIND KUMAR SINGH
 
Quadcopter minimal snap trajectory generation algorithm presentation
Quadcopter minimal snap trajectory generation algorithm presentationQuadcopter minimal snap trajectory generation algorithm presentation
Quadcopter minimal snap trajectory generation algorithm presentationMamoon Ismail Khalid
 
3. Types and applications of drones
3. Types and applications of drones3. Types and applications of drones
3. Types and applications of dronesDevender Singh Bohra
 
Modeling and control of a Quadrotor UAV
Modeling and control of a Quadrotor UAVModeling and control of a Quadrotor UAV
Modeling and control of a Quadrotor UAVAniket Shirsat
 
PPT on Quadcopter (Drone) Design & Implementation of the Advance Drone System...
PPT on Quadcopter (Drone) Design & Implementation of the Advance Drone System...PPT on Quadcopter (Drone) Design & Implementation of the Advance Drone System...
PPT on Quadcopter (Drone) Design & Implementation of the Advance Drone System...Vaibhav Malav
 
DRONE's.pptx
DRONE's.pptxDRONE's.pptx
DRONE's.pptxsan j
 
Air navigation PILOTS
Air navigation PILOTSAir navigation PILOTS
Air navigation PILOTSAditya Raut
 
Quadcopter 140410021020-phpapp02
Quadcopter 140410021020-phpapp02Quadcopter 140410021020-phpapp02
Quadcopter 140410021020-phpapp02Prasanth Reddy
 
Traffic Alert and collision avoidance system (TCAS)
Traffic Alert and collision avoidance system (TCAS)Traffic Alert and collision avoidance system (TCAS)
Traffic Alert and collision avoidance system (TCAS)ARVIND KUMAR SINGH
 
Drones the future technology
Drones the future technologyDrones the future technology
Drones the future technologyvikram singh
 
ACARS - Aircraft Communication Adressing and Reporting System
ACARS - Aircraft Communication Adressing and Reporting SystemACARS - Aircraft Communication Adressing and Reporting System
ACARS - Aircraft Communication Adressing and Reporting SystemAndré Baptista
 
Instrument landing system (ils) ppt
Instrument landing system (ils) pptInstrument landing system (ils) ppt
Instrument landing system (ils) pptSELIM REZA
 

Tendances (20)

Quadcopter Talk (Abstractions)
Quadcopter Talk (Abstractions)Quadcopter Talk (Abstractions)
Quadcopter Talk (Abstractions)
 
Introduction to Quad-copters, Drones
Introduction to Quad-copters, DronesIntroduction to Quad-copters, Drones
Introduction to Quad-copters, Drones
 
DREAM QUADCOPTER
DREAM QUADCOPTERDREAM QUADCOPTER
DREAM QUADCOPTER
 
Qaudcopters
QaudcoptersQaudcopters
Qaudcopters
 
Quadcopter
QuadcopterQuadcopter
Quadcopter
 
Loran c Enav
Loran c EnavLoran c Enav
Loran c Enav
 
Traffic Alert and collision avoidance system (TCAS)
Traffic Alert and collision avoidance system (TCAS)Traffic Alert and collision avoidance system (TCAS)
Traffic Alert and collision avoidance system (TCAS)
 
Quadcopter
QuadcopterQuadcopter
Quadcopter
 
Quadcopter minimal snap trajectory generation algorithm presentation
Quadcopter minimal snap trajectory generation algorithm presentationQuadcopter minimal snap trajectory generation algorithm presentation
Quadcopter minimal snap trajectory generation algorithm presentation
 
3. Types and applications of drones
3. Types and applications of drones3. Types and applications of drones
3. Types and applications of drones
 
Modeling and control of a Quadrotor UAV
Modeling and control of a Quadrotor UAVModeling and control of a Quadrotor UAV
Modeling and control of a Quadrotor UAV
 
PPT on Quadcopter (Drone) Design & Implementation of the Advance Drone System...
PPT on Quadcopter (Drone) Design & Implementation of the Advance Drone System...PPT on Quadcopter (Drone) Design & Implementation of the Advance Drone System...
PPT on Quadcopter (Drone) Design & Implementation of the Advance Drone System...
 
DRONE's.pptx
DRONE's.pptxDRONE's.pptx
DRONE's.pptx
 
Guidance system in missiles
Guidance system in missilesGuidance system in missiles
Guidance system in missiles
 
Air navigation PILOTS
Air navigation PILOTSAir navigation PILOTS
Air navigation PILOTS
 
Quadcopter 140410021020-phpapp02
Quadcopter 140410021020-phpapp02Quadcopter 140410021020-phpapp02
Quadcopter 140410021020-phpapp02
 
Traffic Alert and collision avoidance system (TCAS)
Traffic Alert and collision avoidance system (TCAS)Traffic Alert and collision avoidance system (TCAS)
Traffic Alert and collision avoidance system (TCAS)
 
Drones the future technology
Drones the future technologyDrones the future technology
Drones the future technology
 
ACARS - Aircraft Communication Adressing and Reporting System
ACARS - Aircraft Communication Adressing and Reporting SystemACARS - Aircraft Communication Adressing and Reporting System
ACARS - Aircraft Communication Adressing and Reporting System
 
Instrument landing system (ils) ppt
Instrument landing system (ils) pptInstrument landing system (ils) ppt
Instrument landing system (ils) ppt
 

Similaire à How Quadrotors Fly With Physics and Control Systems

Quadcopter Design for Payload Delivery
Quadcopter Design for Payload Delivery Quadcopter Design for Payload Delivery
Quadcopter Design for Payload Delivery Onyebuchi nosiri
 
Quadcopter Design for Payload Delivery
Quadcopter Design for Payload Delivery Quadcopter Design for Payload Delivery
Quadcopter Design for Payload Delivery Onyebuchi nosiri
 
study of yaw and pitch control in quad copter
study  of yaw and pitch  control in quad copter study  of yaw and pitch  control in quad copter
study of yaw and pitch control in quad copter PranaliPatil76
 
Zarzirbird Project: Modeling RPAS Dynamics for Load Stability
Zarzirbird Project: Modeling RPAS Dynamics for Load StabilityZarzirbird Project: Modeling RPAS Dynamics for Load Stability
Zarzirbird Project: Modeling RPAS Dynamics for Load StabilityAndreia Rossi
 
The research of 6-DOF flight simulator washout filter Control Method
The research of 6-DOF flight simulator washout filter Control MethodThe research of 6-DOF flight simulator washout filter Control Method
The research of 6-DOF flight simulator washout filter Control MethodIJRES Journal
 
IEEE Paper .venkat (1).pdf
IEEE Paper .venkat (1).pdfIEEE Paper .venkat (1).pdf
IEEE Paper .venkat (1).pdfSheronThomas4
 
10 fighter aircraft avionics - part iii
10 fighter aircraft avionics - part iii10 fighter aircraft avionics - part iii
10 fighter aircraft avionics - part iiiSolo Hermelin
 
2_DOF_Inverted_Pendulum_Laboratory_Session
2_DOF_Inverted_Pendulum_Laboratory_Session2_DOF_Inverted_Pendulum_Laboratory_Session
2_DOF_Inverted_Pendulum_Laboratory_SessionPeixi Gong
 
Ch 8 Rotational Kinematics
Ch 8 Rotational KinematicsCh 8 Rotational Kinematics
Ch 8 Rotational KinematicsScott Thomas
 
DUAL NEURAL NETWORK FOR ADAPTIVE SLIDING MODE CONTROL OF QUADROTOR HELICOPTER...
DUAL NEURAL NETWORK FOR ADAPTIVE SLIDING MODE CONTROL OF QUADROTOR HELICOPTER...DUAL NEURAL NETWORK FOR ADAPTIVE SLIDING MODE CONTROL OF QUADROTOR HELICOPTER...
DUAL NEURAL NETWORK FOR ADAPTIVE SLIDING MODE CONTROL OF QUADROTOR HELICOPTER...ijistjournal
 
DUAL NEURAL NETWORK FOR ADAPTIVE SLIDING MODE CONTROL OF QUADROTOR HELICOPTER...
DUAL NEURAL NETWORK FOR ADAPTIVE SLIDING MODE CONTROL OF QUADROTOR HELICOPTER...DUAL NEURAL NETWORK FOR ADAPTIVE SLIDING MODE CONTROL OF QUADROTOR HELICOPTER...
DUAL NEURAL NETWORK FOR ADAPTIVE SLIDING MODE CONTROL OF QUADROTOR HELICOPTER...ijistjournal
 
DESIGN AND ANALYSIS OF MULTITASKING AGRICULTURAL DRONE
DESIGN AND ANALYSIS OF MULTITASKING AGRICULTURAL DRONEDESIGN AND ANALYSIS OF MULTITASKING AGRICULTURAL DRONE
DESIGN AND ANALYSIS OF MULTITASKING AGRICULTURAL DRONEIRJET Journal
 
Research Paper (ISEEE 2019)
Research Paper (ISEEE 2019)Research Paper (ISEEE 2019)
Research Paper (ISEEE 2019)EgemenBalban
 
Lecture Ch 08
Lecture Ch 08Lecture Ch 08
Lecture Ch 08rtrujill
 
Attitude Control of Satellite Test Setup Using Reaction Wheels
Attitude Control of Satellite Test Setup Using Reaction WheelsAttitude Control of Satellite Test Setup Using Reaction Wheels
Attitude Control of Satellite Test Setup Using Reaction WheelsA. Bilal Özcan
 
ENHANCED DATA DRIVEN MODE-FREE ADAPTIVE YAW CONTROL OF UAV HELICOPTER
ENHANCED DATA DRIVEN MODE-FREE ADAPTIVE YAW CONTROL OF UAV HELICOPTERENHANCED DATA DRIVEN MODE-FREE ADAPTIVE YAW CONTROL OF UAV HELICOPTER
ENHANCED DATA DRIVEN MODE-FREE ADAPTIVE YAW CONTROL OF UAV HELICOPTERijics
 
ENHANCED DATA DRIVEN MODE-FREE ADAPTIVE YAW CONTROL OF UAV HELICOPTER
ENHANCED DATA DRIVEN MODE-FREE ADAPTIVE YAW CONTROL OF UAV HELICOPTERENHANCED DATA DRIVEN MODE-FREE ADAPTIVE YAW CONTROL OF UAV HELICOPTER
ENHANCED DATA DRIVEN MODE-FREE ADAPTIVE YAW CONTROL OF UAV HELICOPTERijcisjournal
 

Similaire à How Quadrotors Fly With Physics and Control Systems (20)

Quadcopter Design for Payload Delivery
Quadcopter Design for Payload Delivery Quadcopter Design for Payload Delivery
Quadcopter Design for Payload Delivery
 
Quadcopter Design for Payload Delivery
Quadcopter Design for Payload Delivery Quadcopter Design for Payload Delivery
Quadcopter Design for Payload Delivery
 
study of yaw and pitch control in quad copter
study  of yaw and pitch  control in quad copter study  of yaw and pitch  control in quad copter
study of yaw and pitch control in quad copter
 
Zarzirbird Project: Modeling RPAS Dynamics for Load Stability
Zarzirbird Project: Modeling RPAS Dynamics for Load StabilityZarzirbird Project: Modeling RPAS Dynamics for Load Stability
Zarzirbird Project: Modeling RPAS Dynamics for Load Stability
 
The research of 6-DOF flight simulator washout filter Control Method
The research of 6-DOF flight simulator washout filter Control MethodThe research of 6-DOF flight simulator washout filter Control Method
The research of 6-DOF flight simulator washout filter Control Method
 
PHY300 Chapter 5 physics 5e
PHY300 Chapter 5 physics 5ePHY300 Chapter 5 physics 5e
PHY300 Chapter 5 physics 5e
 
Project Presentation Nus
Project Presentation NusProject Presentation Nus
Project Presentation Nus
 
Project Presentation Nus
Project Presentation NusProject Presentation Nus
Project Presentation Nus
 
IEEE Paper .venkat (1).pdf
IEEE Paper .venkat (1).pdfIEEE Paper .venkat (1).pdf
IEEE Paper .venkat (1).pdf
 
10 fighter aircraft avionics - part iii
10 fighter aircraft avionics - part iii10 fighter aircraft avionics - part iii
10 fighter aircraft avionics - part iii
 
2_DOF_Inverted_Pendulum_Laboratory_Session
2_DOF_Inverted_Pendulum_Laboratory_Session2_DOF_Inverted_Pendulum_Laboratory_Session
2_DOF_Inverted_Pendulum_Laboratory_Session
 
Ch 8 Rotational Kinematics
Ch 8 Rotational KinematicsCh 8 Rotational Kinematics
Ch 8 Rotational Kinematics
 
DUAL NEURAL NETWORK FOR ADAPTIVE SLIDING MODE CONTROL OF QUADROTOR HELICOPTER...
DUAL NEURAL NETWORK FOR ADAPTIVE SLIDING MODE CONTROL OF QUADROTOR HELICOPTER...DUAL NEURAL NETWORK FOR ADAPTIVE SLIDING MODE CONTROL OF QUADROTOR HELICOPTER...
DUAL NEURAL NETWORK FOR ADAPTIVE SLIDING MODE CONTROL OF QUADROTOR HELICOPTER...
 
DUAL NEURAL NETWORK FOR ADAPTIVE SLIDING MODE CONTROL OF QUADROTOR HELICOPTER...
DUAL NEURAL NETWORK FOR ADAPTIVE SLIDING MODE CONTROL OF QUADROTOR HELICOPTER...DUAL NEURAL NETWORK FOR ADAPTIVE SLIDING MODE CONTROL OF QUADROTOR HELICOPTER...
DUAL NEURAL NETWORK FOR ADAPTIVE SLIDING MODE CONTROL OF QUADROTOR HELICOPTER...
 
DESIGN AND ANALYSIS OF MULTITASKING AGRICULTURAL DRONE
DESIGN AND ANALYSIS OF MULTITASKING AGRICULTURAL DRONEDESIGN AND ANALYSIS OF MULTITASKING AGRICULTURAL DRONE
DESIGN AND ANALYSIS OF MULTITASKING AGRICULTURAL DRONE
 
Research Paper (ISEEE 2019)
Research Paper (ISEEE 2019)Research Paper (ISEEE 2019)
Research Paper (ISEEE 2019)
 
Lecture Ch 08
Lecture Ch 08Lecture Ch 08
Lecture Ch 08
 
Attitude Control of Satellite Test Setup Using Reaction Wheels
Attitude Control of Satellite Test Setup Using Reaction WheelsAttitude Control of Satellite Test Setup Using Reaction Wheels
Attitude Control of Satellite Test Setup Using Reaction Wheels
 
ENHANCED DATA DRIVEN MODE-FREE ADAPTIVE YAW CONTROL OF UAV HELICOPTER
ENHANCED DATA DRIVEN MODE-FREE ADAPTIVE YAW CONTROL OF UAV HELICOPTERENHANCED DATA DRIVEN MODE-FREE ADAPTIVE YAW CONTROL OF UAV HELICOPTER
ENHANCED DATA DRIVEN MODE-FREE ADAPTIVE YAW CONTROL OF UAV HELICOPTER
 
ENHANCED DATA DRIVEN MODE-FREE ADAPTIVE YAW CONTROL OF UAV HELICOPTER
ENHANCED DATA DRIVEN MODE-FREE ADAPTIVE YAW CONTROL OF UAV HELICOPTERENHANCED DATA DRIVEN MODE-FREE ADAPTIVE YAW CONTROL OF UAV HELICOPTER
ENHANCED DATA DRIVEN MODE-FREE ADAPTIVE YAW CONTROL OF UAV HELICOPTER
 

Plus de Corrado Santoro

Physical Flying Agents: Ummanned Aerial Vehicles Control, Coordination and Em...
Physical Flying Agents: Ummanned Aerial Vehicles Control, Coordination and Em...Physical Flying Agents: Ummanned Aerial Vehicles Control, Coordination and Em...
Physical Flying Agents: Ummanned Aerial Vehicles Control, Coordination and Em...Corrado Santoro
 
Pulse Width Modulation Signal Generation with MCUs
Pulse Width Modulation Signal Generation with MCUsPulse Width Modulation Signal Generation with MCUs
Pulse Width Modulation Signal Generation with MCUsCorrado Santoro
 
Using Timer2 in Microchip MCUs
Using Timer2 in Microchip MCUsUsing Timer2 in Microchip MCUs
Using Timer2 in Microchip MCUsCorrado Santoro
 
Handling Asynchronous Events in MCUs
Handling Asynchronous Events in MCUsHandling Asynchronous Events in MCUs
Handling Asynchronous Events in MCUsCorrado Santoro
 
Presentation @ Miniscuola WOA 2015
Presentation @ Miniscuola WOA 2015Presentation @ Miniscuola WOA 2015
Presentation @ Miniscuola WOA 2015Corrado Santoro
 
Presentation @ WOA 2015
Presentation @ WOA 2015 Presentation @ WOA 2015
Presentation @ WOA 2015 Corrado Santoro
 
Using Ready-for-PIC and SDR Libraries
Using Ready-for-PIC and SDR LibrariesUsing Ready-for-PIC and SDR Libraries
Using Ready-for-PIC and SDR LibrariesCorrado Santoro
 
Introduction to shell scripting
Introduction to shell scriptingIntroduction to shell scripting
Introduction to shell scriptingCorrado Santoro
 
Analog to digital converter
Analog to digital converterAnalog to digital converter
Analog to digital converterCorrado Santoro
 
Exercises with timers and UART
Exercises with timers and UARTExercises with timers and UART
Exercises with timers and UARTCorrado Santoro
 
Handling Interrupts in Microchip MCUs
Handling Interrupts in Microchip MCUsHandling Interrupts in Microchip MCUs
Handling Interrupts in Microchip MCUsCorrado Santoro
 
Using Timers in PIC18F Microcontrollers
Using Timers in PIC18F MicrocontrollersUsing Timers in PIC18F Microcontrollers
Using Timers in PIC18F MicrocontrollersCorrado Santoro
 
Programming the Digital I/O Interface of a PIC microcontroller
Programming the Digital I/O Interface of a PIC microcontrollerProgramming the Digital I/O Interface of a PIC microcontroller
Programming the Digital I/O Interface of a PIC microcontrollerCorrado Santoro
 
Introduction to microcontrollers
Introduction to microcontrollersIntroduction to microcontrollers
Introduction to microcontrollersCorrado Santoro
 

Plus de Corrado Santoro (20)

Physical Flying Agents: Ummanned Aerial Vehicles Control, Coordination and Em...
Physical Flying Agents: Ummanned Aerial Vehicles Control, Coordination and Em...Physical Flying Agents: Ummanned Aerial Vehicles Control, Coordination and Em...
Physical Flying Agents: Ummanned Aerial Vehicles Control, Coordination and Em...
 
The I2C Interface
The I2C InterfaceThe I2C Interface
The I2C Interface
 
Using Timer1 and CCP
Using Timer1 and CCPUsing Timer1 and CCP
Using Timer1 and CCP
 
Pulse Width Modulation Signal Generation with MCUs
Pulse Width Modulation Signal Generation with MCUsPulse Width Modulation Signal Generation with MCUs
Pulse Width Modulation Signal Generation with MCUs
 
Using Timer2 in Microchip MCUs
Using Timer2 in Microchip MCUsUsing Timer2 in Microchip MCUs
Using Timer2 in Microchip MCUs
 
Handling Asynchronous Events in MCUs
Handling Asynchronous Events in MCUsHandling Asynchronous Events in MCUs
Handling Asynchronous Events in MCUs
 
Presentation @ Miniscuola WOA 2015
Presentation @ Miniscuola WOA 2015Presentation @ Miniscuola WOA 2015
Presentation @ Miniscuola WOA 2015
 
Presentation @ WOA 2015
Presentation @ WOA 2015 Presentation @ WOA 2015
Presentation @ WOA 2015
 
Soc
SocSoc
Soc
 
Using Ready-for-PIC and SDR Libraries
Using Ready-for-PIC and SDR LibrariesUsing Ready-for-PIC and SDR Libraries
Using Ready-for-PIC and SDR Libraries
 
Introduction to Erlang
Introduction to ErlangIntroduction to Erlang
Introduction to Erlang
 
Introduction to shell scripting
Introduction to shell scriptingIntroduction to shell scripting
Introduction to shell scripting
 
Pillole di C++
Pillole di C++Pillole di C++
Pillole di C++
 
Analog to digital converter
Analog to digital converterAnalog to digital converter
Analog to digital converter
 
Exercises with timers and UART
Exercises with timers and UARTExercises with timers and UART
Exercises with timers and UART
 
UART MCU
UART MCUUART MCU
UART MCU
 
Handling Interrupts in Microchip MCUs
Handling Interrupts in Microchip MCUsHandling Interrupts in Microchip MCUs
Handling Interrupts in Microchip MCUs
 
Using Timers in PIC18F Microcontrollers
Using Timers in PIC18F MicrocontrollersUsing Timers in PIC18F Microcontrollers
Using Timers in PIC18F Microcontrollers
 
Programming the Digital I/O Interface of a PIC microcontroller
Programming the Digital I/O Interface of a PIC microcontrollerProgramming the Digital I/O Interface of a PIC microcontroller
Programming the Digital I/O Interface of a PIC microcontroller
 
Introduction to microcontrollers
Introduction to microcontrollersIntroduction to microcontrollers
Introduction to microcontrollers
 

Dernier

PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptxPoojaSen20
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991RKavithamani
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxRoyAbrique
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 

Dernier (20)

PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptx
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 

How Quadrotors Fly With Physics and Control Systems

  • 1. How does a Quadrotor fly? A journey from physics, mathematics, control systems and computer science towards a “Controllable Flying Object” Corrado Santoro ARSLAB - Autonomous and Robotic Systems Laboratory Dipartimento di Matematica e Informatica - Universit`a di Catania, Italy santoro@dmi.unict.it Keynote - L.A.P. 1 Course - Jan 10, 2014 Corrado Santoro How does a Quadrotor fly?
  • 2. Overview 1 Why Multi-rotors? 2 Structure and Physics of a Quadrotor 3 From Analysis to Driving: How can I impose a movement to my quadrotor? 4 The ideal world and the real world: Why we need Control Systems Theory! 5 Rates and Angles: Could I control the attitude? 6 What about Altitude or GPS control? Corrado Santoro How does a Quadrotor fly?
  • 3. Part I Why Multi-rotors? Corrado Santoro How does a Quadrotor fly?
  • 4. Flying Machines “To fly” has been one of the dreams of the humans But the story tells that building flying machines is not easy! A basic and common component: the wing Two kind of “flying machines” (excluding rockets and balloons): 1 Fixed wing, i.e. airplanes 2 Rotating wing, i.e. helicopters Corrado Santoro How does a Quadrotor fly?
  • 5. Design and Implementation problems Airplanes (fixed wing) Wing profile and shape Wing and stab size/area Wing load Position of the COG Motion is achieved by driving (mechanically) the mobile surfaces (aleirons, rudder, elevator) Helicopters (rotating wing, VTOL) Size and structure of the rotor Mechanical system to control motion inclination Yaw balancing system for the rotor at tail Position of the COG Motion is achieved by (mechanically) changing the inclination of the rotor and the pitch of the rotor wings Corrado Santoro How does a Quadrotor fly?
  • 6. Multi-rotors ... are mechanically simple: they have n motors and n propellers do not require complex mechanical parts to control the flight can fly and move only by changing motor speed are controlled only by a electronic-/computer-based system Building them is simple!! Corrado Santoro How does a Quadrotor fly?
  • 7. Part II Structure and Physics of a Quadrotor Corrado Santoro How does a Quadrotor fly?
  • 8. Structure of a Quadrotor (Mechanics) Four equal propellers generating four thrust forces Two possible configurations: “+” and “×” Propellers 1 and 3 rotates CW, 2 and 4 rotates CCW Required to compensate the action/reaction effect (Third Newton’s Law) Propellers 1 and 3 have opposite pitch w.r.t. 2 and 4, so all thrusts have the same direction Corrado Santoro How does a Quadrotor fly?
  • 9. Structure of a Quadrotor (Electronics) Corrado Santoro How does a Quadrotor fly?
  • 10. Forces and Rotation speeds ω1, ω2, ω3, ω4: rotation speeds of the propellers T1, T2, T3, T4: forces generated by the propellers Ti ∝ ω2 i : on the basis of propeller shape, air density, etc. m: mass of the quadrotor mg: weight of the quadrotor Corrado Santoro How does a Quadrotor fly?
  • 11. Moments M1, M2, M3, M4: moments generated by the forces Mi = L × Ti Corrado Santoro How does a Quadrotor fly?
  • 12. Hovering Condition (Equilibrium) 1 Equilibrium of forces: 4 i=1 Ti = −mg 2 Equilibrium of directions: T1,2,3,4||g 3 Equilibrium of moments: 4 i=1 Mi = 0 4 Equilibrium of rotation speeds: (ω1 + ω3) − (ω2 + ω4) = 0 Violating one (or more) of these conditions implies to impose a certain movement to the quadrotor Corrado Santoro How does a Quadrotor fly?
  • 13. Reference Systems There are two reference systems: 1 The inertial reference systems, i.e. the Earth frame (xE , yE , zE ) 2 The quadrotor reference system, i.e. the Body frame (xB, yB, zB) Corrado Santoro How does a Quadrotor fly?
  • 14. Euler Angles Three angles (φ, θ, ψ) define the transformation between the two systems: Roll, φ: angle of rotation along axis xB||xE Pitch, θ: angle of rotation along axis yB||yE Yaw, ψ: angle of rotation along axis zB||zE They are called Euler Angles Corrado Santoro How does a Quadrotor fly?
  • 15. Angular Speeds The derivative of (φ, θ, ψ) w.r.t. time are the angular/rotation speeds ( ˙φ, ˙θ, ˙ψ) of the system: ˙φ, Roll rate ˙θ, Pitch rate ˙ψ, Yaw rate Corrado Santoro How does a Quadrotor fly?
  • 16. Part III From Analysis to Driving: How can I impose a movement to my quadrotor? Corrado Santoro How does a Quadrotor fly?
  • 17. Hovering Condition (Equilibrium) 1 Equilibrium of forces: 4 i=1 Ti = −mg 2 Equilibrium of directions: T1,2,3,4||g 3 Equilibrium of moments: 4 i=1 Mi = 0 4 Equilibrium of rotation speeds: (ω1 + ω3) − (ω2 + ω4) = 0 As a consequence: ˙φ = 0 ˙θ = 0 ˙ψ = 0 φ = 0 θ = 0 ψ = 0 Corrado Santoro How does a Quadrotor fly?
  • 18. Going Up and Down 1 No equilibrium of forces: 4 i=1 Ti = −mg 2 Equilibrium of directions: T1,2,3,4||g 3 Equilibrium of moments: 4 i=1 Mi = 0 4 Equilibrium of rotation speeds: (ω1 + ω3) − (ω2 + ω4) = 0 By increasing/decreasing the rotation speed of all the propellers we can: Go Up: 4 i=1 Ti > −mg Go Down: 4 i=1 Ti < −mg Euler angles and rates remain 0 Corrado Santoro How does a Quadrotor fly?
  • 19. Yaw Rotation 1 Equilibrium of forces: 4 i=1 Ti = −mg 2 Equilibrium of directions: T1,2,3,4||g 3 Equilibrium of moments: 4 i=1 Mi = 0 4 No equilibrium of prop speeds: (ω1 + ω3) − (ω2 + ω4) = 0 As a consequence: ˙ψ = kY ((ω1 + ω3) − (ω2 + ω4)) ψ = ˙ψdt Corrado Santoro How does a Quadrotor fly?
  • 20. Roll Rotation No equilibrium of moments: 4 i=1 Mi = 0 ... by unbalancing propeller speeds as: (ω1 + ω4) − (ω2 + ω3) = 0 As a consequence: ˙φ = kR((ω1 + ω4) − (ω2 + ω3)) φ = ˙φdt No equilibrium of directions: T1,2,3,4 not parallel to g Corrado Santoro How does a Quadrotor fly?
  • 21. Roll Rotation and Translated Flight Total thrust T = 4 i=1 Ti is decomposed in: Lift Force:TL = T cos φ Drag Force:TD = T sin φ Avoiding diving implies TL = T cos φ = −mg thus in translated flight we need more power w.r.t. hovering or yawing. Corrado Santoro How does a Quadrotor fly?
  • 22. Pitch Rotation No equilibrium of moments: 4 i=1 Mi = 0 ... by unbalancing propeller speeds as: (ω1 + ω2) − (ω3 + ω4) = 0 As a consequence: ˙θ = kP((ω1 + ω2) − (ω3 + ω4)) θ = ˙θdt Also in this case the total thrust is decomposed thus we need more power w.r.t. hovering or yawing. Corrado Santoro How does a Quadrotor fly?
  • 23. Equations of Movement We assume a common factor of proportionality k and F = √ T (we will see that such an assumption is not a problem!): ˙φ = k((ω1 + ω4) − (ω2 + ω3)) = kω1 − kω2 − kω3 + kω4 ˙θ = k((ω1 + ω2) − (ω3 + ω4)) = kω1 + kω2 − kω3 − kω4 ˙ψ = k((ω1 + ω3) − (ω2 + ω4)) = kω1 − kω2 + kω3 − kω4 F = k((ω1 + ω2 + ω3 + ω4)) = kω1 + kω2 + kω3 + kω4 or, using matrices:     ˙φ ˙θ ˙ψ F     =     k −k −k k k k −k −k k −k k −k k k k k         ω1 ω2 ω3 ω4     Corrado Santoro How does a Quadrotor fly?
  • 24. Equations of Movement     ˙φ ˙θ ˙ψ F     =     k −k −k k k k −k −k k −k k −k k k k k         ω1 ω2 ω3 ω4     = K     ω1 ω2 ω3 ω4     This equation gives the angular velocities of the quadrotor, given the speed of the propellers. But if we want to control the quadrotor we must understand how to set ωi in order to impose a certain rotation rate of axis in the body frame. Corrado Santoro How does a Quadrotor fly?
  • 25. Controlling Roll, Pitch and Yaw Rates, and Total Thrust     ω1 ω2 ω3 ω4     = K−1     ˙φ ˙θ ˙ψ F     =     k k k k −k k −k k −k −k k k k −k −k k         ˙φ ˙θ ˙ψ F     Corrado Santoro How does a Quadrotor fly?
  • 26. Part IV The ideal world and the real world: Why we need Control Systems Theory! Corrado Santoro How does a Quadrotor fly?
  • 27. Can we really set the rotation rate of propellers?? Motor/Propeller Driving Schema Drivers, motors and propellers are chosen to be of the same type for the four arms. Software (firmware) controls PWM, but ... 1 Are the drivers really all the same? 2 Are the motors really all the same? 3 Are the propellers really all the same? 4 Is the COG placed at the center of the quadrotor? The answer is: In general, No!! Corrado Santoro How does a Quadrotor fly?
  • 28. Can we really set the rotation rate of propellers?? Motor/Propeller Driving Schema Same PWM signals applied different driver/motor/propeller chains provoke different thrust forces, even if the components are of the same type! Corrado Santoro How does a Quadrotor fly?
  • 29. The “Real world” effect Problem We need to set ωi by     ω1 ω2 ω3 ω4     = K−1     ˙φ ˙θ ˙ψ F     but we don’t have a direct control on ωi and propeller thrust Corrado Santoro How does a Quadrotor fly?
  • 30. The Mathematician/Physicists Solution Solution ?? Let’s characterize each driver/motor/propeller chain and derive the functions: Ti = fi (PWMi ) Then, let’s invert the functions: PWMi = f−1 i (Ti ) But... Characterization is not so easy If we change a component, we must repeat the process There are unpredictable variables, e.g. air density, wind, etc. Corrado Santoro How does a Quadrotor fly?
  • 31. The Computer Scientist/Engineer Solution Solution ?? Let’s sperimentally tune: an offset for each channel a gain for each channel until the system behaves as expected! But... Tuning is not so easy If we change a component, we must repeat the process There are unpredictable variables, e.g. air density, wind, etc. Corrado Santoro How does a Quadrotor fly?
  • 32. The Control System Engineer Solution Solution!!!! Use feedback! 1 Measure your variable through a sensor 2 Compare the measured value with your desired set point 3 Apply the correction to the system on the basis of the error 4 Go to 1 Tuning is easy and, if the controller is properly designed ... it works no matter the components it works also in the presence of uncontrollable variables, e.g. air density, wind, etc. Corrado Santoro How does a Quadrotor fly?
  • 33. Our Scenario Our measures: Actual angular velocities on the three axis ( ˙φM, ˙θM, ˙ψM ) They are measured through a 3-axis gyroscope! Our set-points: Desired angular velocities on the three axis ( ˙φT , ˙θT , ˙ψT ) They are given through the remote control Corrado Santoro How does a Quadrotor fly?
  • 34. Using Feedback to Control the Quadrotor The overall schema of the feedback controller is: Corrado Santoro How does a Quadrotor fly?
  • 35. Using Feedback to Control the Quadrotor Algorithmically while True do On ∆T timer tick ; ( ˙φT , ˙θT , ˙ψT , F) = sample remote control(); ( ˙φM, ˙θM, ˙ψM ) = sample gyro(); e ˙φ := ˙φT − ˙φM; e ˙θ := ˙θT − ˙θM; e ˙ψ := ˙ψT − ˙ψM; C ˙φ :=roll rate controller(e ˙φ); C ˙θ :=pitch rate controller(e ˙θ); C ˙ψ :=yaw rate controller(e ˙ψ); (pwm1, pwm2, pwm3, pwm4)T := K−1(C ˙φT , C ˙θT , C ˙ψT , F)T ; send to motors(pwm1, pwm2, pwm3, pwm4); end Corrado Santoro How does a Quadrotor fly?
  • 36. Using Feedback to Control the Quadrotor Algorithmically while True do On ∆T timer tick ; ( ˙φT , ˙θT , ˙ψT , F) = sample remote control(); ( ˙φM, ˙θM, ˙ψM ) = sample gyro(); e ˙φ := ˙φT − ˙φM; e ˙θ := ˙θT − ˙θM; e ˙ψ := ˙ψT − ˙ψM; C ˙φ :=roll rate controller(e ˙φ); C ˙θ :=pitch rate controller(e ˙θ); C ˙ψ :=yaw rate controller(e ˙ψ); (pwm1, pwm2, pwm3, pwm4)T := K−1(C ˙φT , C ˙θT , C ˙ψT , F)T ; send to motors(pwm1, pwm2, pwm3, pwm4); end The key is in the controllers!! Corrado Santoro How does a Quadrotor fly?
  • 37. The P.I.D. Controller The most common used controller type is the Proportional-Integral-Derivative controller, represented by the following function: PID Function C := xxx rate controller(e); That is: C(t) := Kpe(t) + Ki t 0 e(τ) dτ + Kd de(t) dt In a discrete world (at kth sampling instant): C(k) := Kpe(k) + Ki k j=0 e(j) ∆T + Kd e(k) − e(k − 1) ∆T Corrado Santoro How does a Quadrotor fly?
  • 38. The P.I.D. Controller PID Function C(k) := Kpe(k) + Ki k j=0 e(j) ∆T + Kd e(k) − e(k − 1) ∆T Constants Kp, Ki , Kd regulate the behaviour of the controller: Kp drives the short-term action Ki drives the long-term action Kd drives the action on the basis of the “error trend” Constants Kp, Ki , Kd are tuned: Using a specific tuning method (Ziegler-Nichols) Sperimentally by means of “trial-and-error” Corrado Santoro How does a Quadrotor fly?
  • 39. Part V Rates and Angles: Could I control the attitude? Corrado Santoro How does a Quadrotor fly?
  • 40. Rates are not Angles The above schema controls rates: suppose a roll angle of φ = 10o but no roll rotation (rate), i.e. ˙φ = 0 and no roll rotation command (sticks set to center) ⇒ the quadrotor is not horizontal and performs a translated flight Could we control angles instead of rates? Corrado Santoro How does a Quadrotor fly?
  • 41. Measuring Angles (instead of Rates): Gyros First we must measure euler angles (φ, θ, ψ)! We could do this by using Gyroscopes, Accelerometers, Magnetometers, but... Gyroscopes measure angular velocities which can be integrated in order to derive the angle α(t) = t 0 ˙α(τ)dτ, but: Numeric integration is affected by approximation errors Gyroscopes are affected by an offset, i.e. they give non-zero value when the measure should be zero Such an offset is not constant over time and depends on the temperature The estimated angle is not reliable! Corrado Santoro How does a Quadrotor fly?
  • 42. Measuring Angles: Accelerometers An accelerometer is a sensor measuring the acceleration over the three axis (ax , ay , az). If the sensor is static sensed values are the projections of g vector in the sensor reference system Two functions (using arctan) determines pitch and roll: φ = tan−1 −ay −az θ = tan−1 ax√ a2 y +a2 z But if the object is moving (e.g. shaking) other accelerations appear The computed angles are not reliable! Corrado Santoro How does a Quadrotor fly?
  • 43. Measuring Angles: Two sensors, No reliability! Gyros Drift Approximate discrete integration Accelerometers Precise only if sensor is not “shaking” We have two different source of the same information which are affected by two different error types. We can use both measures by fusing them in order to adjust the error and obtain a reliable information. Corrado Santoro How does a Quadrotor fly?
  • 44. Sensor Fusion Basic Algorithm while True do On ∆T timer tick ; ( ˙φ, ˙θ, ˙ψ) = sample gyro(); (ax, ay , az) = sample accel(); (φ, θ, ψ) = (φ, θ, ψ) + ∆T( ˙φ, ˙θ, ˙ψ); ˆφ = tan−1 (−ay/ − az); ˆθ = tan−1 (ax/ a2 y + a2 z); (φ, θ, ψ) = fusion filter(φ, θ, ψ, ˆφ, ˆθ); end Corrado Santoro How does a Quadrotor fly?
  • 45. Sensor Fusion: Algorithms The key is the filter function! DCM (Direction Cosine Matrix) Complementary filters Kalman filters Basic idea: Derive an error function e(t) = real(t) − estimated(t) Design a controller able to guarantee limt→∞ e(t) = 0 Corrado Santoro How does a Quadrotor fly?
  • 46. Sensor Fusion: Algorithms High computational load due to: Rotations in the 3D space Matrix calculations May we reduce the load? Corrado Santoro How does a Quadrotor fly?
  • 47. Representing Rotations in 3D Direction Cosine Matrix DCM =   cθcψ sφsθcψ − cφsψ cφsθcψ + sφsψ cθsψ sφsθsψ + cφcψ cφsθsψ − sφcψ −sθ sφcθ cφcθ   s = sin, c = cos This matrix is re-computed at each iteration!! Rotating a vector v = (x, y, z) implies the product DCM · v. Corrado Santoro How does a Quadrotor fly?
  • 48. Representing Rotations in 3D Quaternions A quaternion is a complex number with one real part and three imaginary parts: q = q0 + q1i + q2j + q3k i, j, k = imaginary units i2 = j2 = k2 = ijk = −1 While Complex numbers can be used to represent rotations in 2D, Quaternions can be used to represent rotations in 3D. Corrado Santoro How does a Quadrotor fly?
  • 49. Rotations in 3D and Quaternions Transformations from Euler angles to quaternion exist: q → (φ, θ, ψ) (φ, θ, ψ) → q Rotating a vector v using a quaternion implies the product qvq∗ where q∗ is the conjugate of q and v = {0, vx , vy , vz}. The overall fusion algorithm can be written using quaternion algebra, thus avoiding continuous sin, cos calculation. Quaternions avoid gimbal lock! The attitude can be easily obtained by using: q → (φ, θ, ψ) Corrado Santoro How does a Quadrotor fly?
  • 50. So far so good: Controlling attitude Attitude control is achieved using (once again) feedback controllers. We set the Target (desired) Attitude (φT , θT , ˙ψT ) from remote controller. Current quad attitude (φM, θM, ˙ψM) is computed using sensor fusion. The error signals (differences) are sent to PID controllers whose output are the target rates for rate controllers. The basic model is “cascading controllers”: attitude controllers which drives rate controllers. Corrado Santoro How does a Quadrotor fly?
  • 51. Let’s remind the schema of Rate Controllers Corrado Santoro How does a Quadrotor fly?
  • 52. Complete Attitude Controller Corrado Santoro How does a Quadrotor fly?
  • 53. Control “loops”: Requirements Two control loops in the schema rate control (inner); attitude control (outer); Attitude control “drives” rate control, thus rate control must have “enough time” to reach the desired target. Loops must have different dynamics, i.e. sampling time Tr = rate control sampling time Ta = attitude control sampling time Ta >> Tr , Ta = nTr , n ∈ N, n > 1 In our quad: Tr = 5ms, Ta = 50ms Corrado Santoro How does a Quadrotor fly?
  • 54. Finally, the overall algorithm while True do On Tr timer tick ; ( ˙φM, ˙θM, ˙ψM ) = sample gyro(); (ax, ay , az) = sample accel(); (φM, θM) = fusion filter( ˙φM , ˙θM, ˙ψM, ax , ay , az); if after N loops then (φT , θT , ˙ψT , F) = sample remote control(); ˙φT :=roll controller(φM, φT ); ˙θT :=pitch controller(θM, θT ); end C ˙φ :=roll rate controller( ˙φM, ˙φT ); C ˙θ :=pitch rate controller( ˙θM, ˙θT ); C ˙ψ :=yaw rate controller( ˙ψM, ˙ψT ); (pwm1, pwm2, pwm3, pwm4)T := K−1(C ˙φT , C ˙θT , C ˙ψT , F)T ; send to motors(pwm1, pwm2, pwm3, pwm4); end Corrado Santoro How does a Quadrotor fly?
  • 55. Part VI What about Altitude or GPS control? Corrado Santoro How does a Quadrotor fly?
  • 56. Let’s repeat the schema! Do you need another kind of control? Repeat the schema! Identify your source of measure m Identify your target t Identify the variables to drive v Identify the sampling time Use a (PID) controller v = pid(t, m) Corrado Santoro How does a Quadrotor fly?
  • 57. Altitude Control HT = our target height HM = measured height (from a sensor) F = output variable to control (desired thrust) MTr = altitude control sampling time, M > N while True do On Tr timer tick ; ...; if after M loops then HM = sample altitude sensor(); F :=altitude controller(HM, HT ); end ... end Corrado Santoro How does a Quadrotor fly?
  • 58. GPS Control LatT , LonT = our target position LatM , LonT = measured position (from a GPS sensor) φT , θT = target variables to control (desired pitch and roll) GTr = GPS control sampling time, G > N while True do On Tr timer tick ; ...; if after G loops then (LatM, LonM) = sample gps(); φT :=gps lon controller(LonM, LonT ); θT :=gps lat controller(LatM, LatT ); end ... end Note: for a proper GPS navigation, a compass (with related yaw control) is mandatory. Corrado Santoro How does a Quadrotor fly?
  • 59. Vision-based Control while True do On Tr timer tick ; ...; if after H loops then (∆X, ∆Y, ∆ψ) = identify target with camera(); φT :=x controller(∆X); θT :=y controller(∆Y); ˙ψT :=heading controller(∆ψ); end ... Corrado Santoro How does a Quadrotor fly?
  • 60. Conclusions It seems easy .... Corrado Santoro How does a Quadrotor fly?
  • 61. ... but, where is the trick? Are sensors reliable? Sometimes, NO! Noise due to mechanical vibrations (MEMS-IMU to be filtered by applying Fourier analysis) False positives due to wiring problems (Magnetometers, ADC, etc.) Are execution platforms reliable? Check it! Controllers need precise (real-time) timing DO NOT Windows to stabilize your quad!!! You can try with RT-Linux Is PID Tuning really easy? NO! You must learn it! ... and be sure to have a large set of propellers!! Are all those things fun? OF COURSE!!!! ¨⌣ Corrado Santoro How does a Quadrotor fly?
  • 62. Will Multi-rotors be the future of personal transportation systems? Where do I park my multi-rotor?? Corrado Santoro How does a Quadrotor fly?
  • 63. Demonstration Flight First prototype: PROBLEMS!!! DIY is fun but ... The frame is not well balanced... but the control will do the job Too many vibrations (many of them suppressed using Chebyshev filters) Wrong choice of motors (specs report a thurst of 400gr each, but ...) Wiring/Electronics problems Current spikes reset the ultrasonic sensor I2C sometimes locks (a watchdog intervenes and turn-off motors) Firmware problems Still working on the sensor fusion algorithm, since it is not satisfactory (we want more stability...) Corrado Santoro How does a Quadrotor fly?
  • 64. How does a Quadrotor fly? A journey from physics, mathematics, control systems and computer science towards a “Controllable Flying Object” Corrado Santoro ARSLAB - Autonomous and Robotic Systems Laboratory Dipartimento di Matematica e Informatica - Universit`a di Catania, Italy santoro@dmi.unict.it Keynote - L.A.P. 1 Course - Jan 10, 2014 Corrado Santoro How does a Quadrotor fly?