Professional Documents
Culture Documents
Improving Quadrotor Trajectory Tracking by Compensating For Aerodynamic Effects
Improving Quadrotor Trajectory Tracking by Compensating For Aerodynamic Effects
861
Authorized licensed use limited to: CZECH TECHNICAL UNIVERSITY. Downloaded on June 19,2023 at 13:46:52 UTC from IEEE Xplore. Restrictions apply.
downwards at varying speeds Vz from −2 m s−1 to 2 m s−1 where ba is the bias of the accelerometer. We may expand
while logging the motor speeds ωi . We also added small this expression by substituting (2) into it. In forward flight,
weights to the robot to get data with different values of the x component of aIMU becomes:
the mass m. Then, we computed the induced velocity from kd
momentum theory [5]: aIMUx = − ωs Vx cos θ + bax (11)
m
Ti = 2ρAvi (vi + Vz ) (7) where Vx is the x component of the quadrotor velocity and
θ is the pitch angle.
where ρ is the density of air, A is the area swept out by To identify kd , we flew the quadrotor in hover and
the propeller and for the constant velocity vertical flight, the forward flight at speeds varying from 0 m s−1 to 8 m s−1 with
thrust per propeller Ti ≈ mg/4. increments of 0.25 m s−1 and fit a least squares linear model
We plotted vi against 14 ωs and Vz , and found that a linear to the measured accelerometer, velocity, and commanded
model fit the data well, with an adjusted R2 value of 0.974. motor speed data. Only the data from the constant velocity
The regression is shown in Figure 4. Thus, we model vi as segments of the trajectories was used in the linear regression.
linear in ωi and Vzi with positive constants a and b: We assumed that the response of the motor controllers is fast
so that the motor RPMs settle down to steady state values
vi (ωi , Vzi ) = aωi − bVzi (8) in the constant velocity segment of the trajectory. The data
fit well with an R2 value of 0.975, giving an estimate of the
N·s
drag coefficient k̂d = 1.314 × 10−5 m·RPM . The plot of this
data is shown in Figure 5.
where kω , kz , and kh are positive constants that are B. Identifying the Thrust Coefficients
determined experimentally. Summing (9) over all four propellers and assuming Vzi =
Vz and Vhi = Vh (this is a good assumption when Ω ≈ 0,
III. S YSTEM I DENTIFICATION which is satisfied in our experiments) gives:
4 4 4
In this section we describe the design of the experiments X X X
used to identify the parameters of the models described in (1) Ti = k ω ωi2 − kz Vz ωi + 4kh Vh2 (12)
and (9), i.e. the drag coefficient kd and the thrust coefficients i=1 i=1 i=1
P4
kω , kz , and kh . During the constant velocity vertical flight, i=1 Ti ≈
P4
mg and during horizontal flight, T
i=1 i ≈ m · aIMUz ,
A. Identifying the Induced Drag Coefficient where aIMUz is the z reading of the accelerometer, as-
The drag coefficient kd can be identified using accelerome- suming that the accelerometer bias is small. The thrust
ter and velocity data during forward flight. The accelerometer coefficients kω , kz , and kh were identified by fitting a least
measures the specific acceleration of the quad (the accel- squares linear model to vertical and forward flight data
eration minus acceleration due to gravity), which is the using (12), in which all the other quantities are known.
acceleration due to thrust and the drag forces [7], plus a The quality of the fit was very good with an R2 value of
constant bias: 0.955. A plot of a linear regression used to compute the
parameters kω and kz from vertical flight data is shown
aIMU = RT (V̇ + ge3 ) + ba (10) in Figure 6. The identified parameter values are k̂ω =
862
Authorized licensed use limited to: CZECH TECHNICAL UNIVERSITY. Downloaded on June 19,2023 at 13:46:52 UTC from IEEE Xplore. Restrictions apply.
8.00 × 10−8 N/RPM2 , k̂z = 2.55 × 10−5 N s/m/RPM2 , In this case, Rcmd = b1c b2c b3c , where bic is the
and k̂h = 3.39 × 10−3 N s2 /m2 . ith basis vector of the body frame. If we left-multiply each
T
side of the above equation by Rcmd , this becomes three
equations:
Fcmd = bT3c α (17)
and
bT1c (kd ωs V + α) = 0 (18)
bT2c (kd ωs V + α) = 0 (19)
Equations (18) and (19) indicate that b1c and b2c are both
orthogonal to the vector kd ωs V + α. This means that b3c is
aligned with this vector:
ωs V + α
b3c = ± (20)
kωs V + αk
Fig. 6. Linear regression used to compute a and b from vertical flight data. To resolve the sign ambiguity, we choose the direction that
makes Fcmd nonnegative in equation (17). b1c and b2c can
then be chosen from the desired yaw.
IV. A ERODYNAMIC C OMPENSATION If the rotor height h is significant, we can modify the
controller [11] to add a feed-forward moment Md to the
Once we have models of the aerodynamic effects acting
commanded moment in order to compensate for the drag
on the quadrotor, we modify the controller to compensate for
induced moment:
the effects predicted by the drag and thrust models discussed
in Section II. The controller used is a modification of the Md = he3 × kd ωs RP RT V (21)
controller presented in [11] and [12].
B. Thrust Compensation
A. Drag Compensation To compensate for thrust according to the model, we
The acceleration commanded by the controller is given: make the assumption that the counter-moment Mi of the ith
propeller is proportional to the thrust of that propeller Ti by
acmd = ades − Kv ev − Kx ex (13) the constant kM :
Mi = k M T i (22)
where ades is the desired acceleration of the trajectory, Kv
and Kx are positive semidefinite gain matrices, and ev = For the configuration of the quadrotor in which motor the
V − Vdes and ex = x − xdes are the velocity and position motors are numbered 1 through 4, increasing index in the
errors, respectively. Substituting in the acceleration from (2), counterclockwise direction and with motor 1 being the front
we want the commanded force, Fcmd , to satisfy: motor, the equation that relates the net thrust F and net
moments Mx , My , and Mz to the individual thrusts Ti is
Fcmd Re3 = m(ades − Kv ev − Kx ex + ge3 ) −kd ωs RP RT V
| {z } given by[13],
α
(14) F 1 1 1 1 T1
We wish to determine the thrust Fcmd that we should Mx 0 L 0 −L T2
= (23)
command in order to follow the desired trajectory. In general, My −L 0 L 0 T3
the above equation cannot be exactly satisfied by selecting Mz kM −kM kM −kM T4
Fcmd because the vectors on the left and the right hand side Given the net thrust and net moment, (23) may be inverted
are not aligned. The best we can do is project each side onto to compute T1 through T4 . Then, using known Vz and Vh ,
Re3 . Doing this and noticing that (RP RT V)T Re3 = 0, we we may solve
get:
Fcmd = αT Re3 (15) Ti = kω ωi2 − kz Vz ωi + kh Vh2 (24)
863
Authorized licensed use limited to: CZECH TECHNICAL UNIVERSITY. Downloaded on June 19,2023 at 13:46:52 UTC from IEEE Xplore. Restrictions apply.
to the robot due to its light weight and high computing
power. The propellers selected for the vehicle are the black
AR Drone 2.0 propellers, which were chosen because of
their availability. The computation of position control inputs
was done externally on a base station, and the commanded
attitude and desired thrust force were transmitted to the
quadrotor using 2.4 GHz wireless communication. The de-
sired thrust and orientation are used by the orientation
controller running on the robot to compute the desired motor
speeds.
Fig. 10. x velocity for forward flight with standard and refined thrust
models (both with drag compensation enabled).
Fig. 8. x position error for forward flight with and without drag
compensation. Figure 11 shows no significant difference in x position
tracking performance between the standard and the refined
Figure 8 indicates that, for the steady state velocity seg- thrust models, which had RMS x position errors of 6.6 cm
ment, the drag compensating controller reduces the magni- and 6.5 cm, respectively. The refined thrust model slightly
tude of the x position error from an RMS value of 26 cm to worsens the z tracking performance in this case, resulting in
864
Authorized licensed use limited to: CZECH TECHNICAL UNIVERSITY. Downloaded on June 19,2023 at 13:46:52 UTC from IEEE Xplore. Restrictions apply.
Fig. 11. x position error for forward flight at 4 m s−1 with standard and Fig. 13. z velocity for forward flight at 1.5 m s−1 with standard and
refined thrust models (both with drag compensation enabled). refined thrust models (both with drag compensation)
Fig. 12. z position error for forward flight at 4 m s−1 with standard and Fig. 14. z position error for forward flight at 1.5 m s−1 with standard and
refined thrust models (both with drag compensation enabled). refined thrust models (both with drag compensation)
a larger drop in height during the deceleration phase of the by incorporating a simple drag model into the quadrotor dy-
trajectory. namics and changing the commanded attitude to compensate
The quadrotor was flown on 25 vertical flight trajectories for this drag. In addition, we have shown that the z position
with and without the refined thrust model, using only the error can be reduced in vertical flight by incorporating
kω and kz terms (kh is ineffective in vertical flight). Figure a simple lumped parameter model that assumes that the
13 shows the velocity profile for the trajectory we used, and induced velocity vi is linear in the vertical speed in the body
Figure 14 shows the z position error for the trajectories. frame Vz and the motor speed ωi . We have shown that all
Figure 14 shows that the z position error is significantly of these parameters are easy to identify by fitting a model
reduced from an RMS value of 7.3 cm with the standard to flight data using linear regression.
thrust model to 2.0 cm with the refined thrust model. It Future work involves determining the observability prop-
is suspected that the bumps in position error during the erties of kd , kω , kz , and kh and estimating these parameters
acceleration and deceleration phases of the trajectory are during flight using a nonlinear observer or an unscented
caused by the ramp-up and ramp-down times for the motor Kalman filter. In addition, we wish to investigate and com-
speeds. pensate for the effects of parasitic drag on the quadrotor at
Table I shows an overview of the root-mean-square (RMS) flights of even higher speeds of up to 20 m/s.
errors in steady state flight for different trajectories using
different forms of compensation. R EFERENCES
[1] J. Nikolic, M. Burri, J. Rehder, S. Leutenegger, C. Huerzeler, and
VI. C ONCLUSION R. Siegwart, “A uav system for inspection of industrial facilities,” in
2013 IEEE Aerospace Conference, March 2013, pp. 1–8.
In this work, we have shown that we can significantly [2] S. K. Sarkar, J. Das, R. Ehsani, and V. Kumar, “Towards autonomous
reduce the position error in the direction of forward flight phytopathology: Outcomes and challenges of citrus greening disease
865
Authorized licensed use limited to: CZECH TECHNICAL UNIVERSITY. Downloaded on June 19,2023 at 13:46:52 UTC from IEEE Xplore. Restrictions apply.
TABLE I
T HE RMS ERRORS IN THE x AND z POSITION WHEN FLYING FORWARD
AND VERTICAL TRAJECTORIES USING THE CONTROLLERS PROPOSED IN
OUR WORK .
866
Authorized licensed use limited to: CZECH TECHNICAL UNIVERSITY. Downloaded on June 19,2023 at 13:46:52 UTC from IEEE Xplore. Restrictions apply.