Professional Documents
Culture Documents
Andrew E. Neff, DongBin Lee, Vilas K. Chitrakaran, Darren M. Dawson and Timothy C. Burg
Clemson University
aneff@ieee.org
The inherent problem of attaching a fixed camera to the Figure 1. In (a,b,c) the camera is fixed to the UAV
quad-rotor is illustrated in Figure 1.a, b, and c where it can and motion of the UAV changes the camera
be seen that the motion of the camera is directly tied to the orientation. In (d,e,f) the movable camera mount
motion of the UAV. That is, it is not possible to can compensate for UAV movements to keep the
simultaneously specify the attitude of the camera and the camera positioned at a desired orientation.
attitude of the aircraft. In contrast, the moveable camera
depicted in Figure 1.d, e, and f maintains the same IMU Sensor
orientation regardless of the UAV position. The UAV and RF-Link Camera
camera motions must be coordinated in order to keep the
camera pointed in a particular direction. The traditional
approach has been to have a pilot position the aircraft about
a target and have a camera operator position the camera
with the subtask of compensating for motion of the aircraft. Figure 2. DraganFlyer X-Pro
A new approach to this control problem was presented in
[1] where the UAV and the camera positioning unit are 2. Model
considered to be a single robotic unit. From this perspective
a controller can be developed which will simultaneously
control both the UAV and the camera positioning unit in a
2.1. Quad-Rotor Dynamics
complementary fashion. Here, this control approach is
As discussed above, the quad-rotor UAV is an inherently
exploited to provide a new perspective for piloting the
underactuated system. While the angular torques are fully 1 sinψ tan θ cosψ tan θ ψ
actuated, the translational forces are only actuated in the z- J = 0 −1
cosψ − sinψ , Θ F = θ . (8)
I
C
direction. The forces and torques are expressed as
T 0 sinψ/ cos θ cosψ/ cos θ φ
FfF =
0 0 u1 ∈3
T
(1) As long as the θ term is not near ± π2 , the yaw, pitch, roll
Ft F =
u
2
u3 u4 ∈3
representation will not reach singularity. To convert
where FfF ( t ) is the translational force vector and Ft F ( t ) is between RFI ( t ) and Θ IF ( t ) ,
the torque vector. Figure 3 shows the three coordinate cosφ cosθ −sinφ cosψ + cosφ sinθ sinψ sinφ sinψ + cosφ sinθ cosψ
frames used to develop the kinematic and dynamic models. RFI = sinφ cosθ cosφ cosψ + sinφ sinθ sinψ − cosφ sinψ + sinφ sinθ cosφ
(9)
Four equations describe the rigid-body motion of the quad- −sinθ cosθ sinψ cosθ cosψ
rotor UAV [3] is used [4].
I I F
x IF = RF vIF (2)
mv FIF = −mS ωIFF vIFF + N1 ( ⋅) + mgRIF e3 + FfF (3) 2.3. Camera Kinematics
F
R F = RF S ωIF
I I
(4) As stated, the quad-rotor can thrust in the z direction, but
where x I
(t ) ∈ 3
is the time derivative of the position of it cannot thrust in the x- or y-directions. Since the quad-
IF
rotor helicopter is underactuated in two of its translational
the UAV frame, v F
IF ( t ) ∈ 3 is the translational velocity of velocities, a two actuator camera is added to achieve six
the UAV, ω F
(t ) ∈ 3
is the angular velocities of the UAV degrees of freedom (DOF) control in the camera frame. A
IF
tilt-roll camera is added to the front of the helicopter as
and is calculated directly without modeling the angular
seen in Figure 3. With the new camera frame, there are now
dynamics, and RFI ( t ) ∈ SO ( 3) is the rotational matrix that three rotations and three translations, a total of six DOF, to
transforms the vectors from the UAV frame to the inertia actuate. To control any of the DOF, either the camera must
frame. m ∈ is the mass of the UAV, and M ∈ 3 x 3 is the move, the UAV must move, or both.
UAV xc
constant moment of inertia matrix for the UAV. S ( ⋅) ∈ 3 x 3 I (F) xf
x IF
represents a skew symmetric defined as [4] Camera
Inertial RFI Frame (C)
0 −ω3 ω2
ω1 (I)
xi
yf
RCF
S (ω ) = ω3
0 −ω1 , ω = ω2 ∈ 3 . (5)
zc
zf (Optical Axis)
−ω2 ω1 0 ω
3
yi
zi yc
N1 ( xFI , RFI , vIFI , ωIFI , t ) ∈ 3 and N 2 ( xFI , RFI , vIFI , ω IFI , t ) ∈ 3
are the unmodeled, non-linear terms in the translational and Figure 3. Frames of reference used in the model
rotational dynamics, respectively. Gravity is assumed to be
known and is shown separately in (3) using g. 2.4. Tilt-Roll Camera on Front of UAV
not yield another SO(3) matrix due to numerical integration Since only two of the angles vary, the Jacobian can be
method errors. However, the integration can be done on the redefined as
angles in (roll, pitch, yaw) form. A Jacobian will be 0 cos θ t
required in order to satisfy the equation J C ( front ) = 1 0 (11)
FIF
ωIFF = J F Θ (6)
0
− sin θ
t
which can then be used to solve for
t and finally
Θ IF = ∫ J F−1ωIFF dt (7) T
0
F
ωFC = J C ( front ) θ C, θ C = [θ t θ r ] ∈ 2 (12)
where Θ ( t ) ∈ R represents the roll, pitch, and yaw
I
F
3
which facilitates the calculation of the angles of the camera.
angles between the UAV frame and inertia frame. The
Jacobian matrix used, J C−1 Θ FI is defined as [2]
3. Control Development and the gravity term be defined as
G11 = gRIC e3 . (25)
3.1. Translational error formulation Use (22) on S (ω F
IF (t ))δ in (23) to obtain
C
The control system developments begins by defining the r v = − S ω
r + N11 + G11
IC v
(26)
1 F
velocity error between the desired camera velocity, − S ω IC
C C
CICd + m RF F f − RF S (δ ) ω IF .
vICd + v
C F C
C
vICd ( t ) ∈ 3 , and the actual velocities in the camera frame, Substitute FfF ( t ) with (1) and S (δ ) with (5) in the last
ev vIC
C C
− vICd . (13)
term of (26) to obtain
Using the velocity error, an auxiliary signal is defined as 1 C F
m RF F f − RF S (δ ) ωIF =
C F
rv ev + RFC δ , (14)
where δ will be used to couple the velocity error with the 0 0
−δ 3 δ2
(27)
0 − δ3 −δ1 ωIFF
C 1
angular rates. The quad-rotor can only thrust in the z R F
0
direction, so δ is in the form of δ = 0, 0, δ 3 T . Substituting m
u
1
−δ 2 δ1 0
C
(13) into (14) and expanding vIC ( t ) produces which makes (26)
C C C
rv = vFC + vIF − vICd + RFC δ . (15) r v = − S ωIC rv + N11 + G11 − S ωIC vICd + v ICd
C C C C
subtracting S (ωIC
C
( t ) ) vICd
C
( t ) to the result to obtain
C F C C F C C
r v = − RF RC S ωIC RF vIF + RF δ − vICd
1 C 1
+ RF N1 ( ⋅) + gRIC e3 + RFC FfF − v CICd (23)
m m
+ RFC S ωIFF δ − S ωIC
C C
vICd .
1
. (58)
2
In order to keep the rv term negative definite, it follows
that Figure 4. FlightGear Images
λ1
kr ≥ 2 (59)
in order to keep the quantity negative. Define a constant λ2 Table 1. DraganFlyer X-Pro Parameters
such that Mass 2.721 kg
λ1 Max Thrust 35.586 N
λ2 = max kr − 2 , ki . (60) Max Pitch/Roll Torque 4.067 Nm
Now create a larger upper bound on (58) using λ2 to get Max Yaw Torque 2.034 Nm
ε2
V ≤ −λ r + e + ε + 2 .
2 2
(61)ω The parameters used for the quad-rotor are stated in
2
v
1 2 λ1
Since λ1 can be arbitrarily picked, by choosing a larger kr Table 1 and were measured on the DraganFlyer X-Pro.
gain, λ1 will be bigger and can make the ε2 term arbitrarily
small. The same is true for ε1 since it is also arbitrarily 5. Results
picked. Solve for the differential equation in (58) to finally
arrive at The simulation system shows that the controller works
− ( 2 λ2t ) 2ε1λ1 + ε 22 using the tilt-roll camera to augment the quad-rotor
V ≤ V ( 0) e + 4 λ1λ2
, (62)
positioning capabilities.
which is in the form of (47) and (48). Note that λ2 in (62) As shown in the first 2 seconds of Figure 5 and 6, when
affects both the rate at which the exponential term the UAV is just hovering, it will stand still with no errors.
approaches zero and the value of the bounding constant. To examine how the control reacts, a simple experiment is
Since λ2 is merely the maximum from (60), by increasing conducted by commanding the UAV to move left and right.
the gains the bound can be made arbitrarily small and the The experiment is conducted with δ=100, kr=1 and no ki
Lyapunov function can approach zero arbitrarily fast. because there is no angular error in the simulation. To look
at how the velocities and positions of the UAV react, the
Remark 1: It has been shown that ||eω(t)|| is GUUB desired velocity graph seen in Figure 5 is used on the y
according to the Lyapunov proof for V(t) as stated in coordinate of the camera frame only. The desired velocities
Theorem 1. The proof also shows that ||rv(t)|| is GUUB. xd and zd remain zero and ωICd C
= 0 . The actual velocities,
According to (14), rv(t) is ev(t) plus a constant times an seen in Figure 5 approach the desired in a few seconds. It
SO(3) rotation matrix, making ev(t) GUUB. Both desired can also be see that the x velocity changes when the camera
velocities, vICd
C
( t ) and ω ICd
C
( t ) are bound by design, moves left and right. This is because gravity is in the x
therefore vIC
C
( t ) and ω ICC ( t ) are bound. The details of the direction, and sudden changes cause the quad-rotor to lift or
signal chasing are covered in Appendix A. fall a little. However, the controller does respond and
stabilize the x velocity to zero.
camera to successfully create a fully actuated fly-by-camera
Camera velocities: δ =100, k r = 1
frame system. The controller is shown to be Globally
20
yd
Uniform Ultimately Bounded (GUUB) using only velocity
x
information for feedback. The fly-by-camera system allows
10
the camera and UAV to be controlled by the user in a more
Velocity (m/s)
0
intuitive manner. Simulation verifies that the controller
works based on the rigid body model and that the fly-by-
-10 camera system is easy for anyone to fly.
-20
0 5 10 15 20 25 30 35 40 45 50
References
Time (sec)
Figure 5. Translational velocities of UAV [1] V.K. Chitrakaran, D.M.. Dawson, J. Chen, and M. Feemster,
“Vision Assisted Autonomous Landing of an Unmanned Aerial
UAV and Camera Rotation about the camera z-axis: Vehicle”, Proceedings of the IEEE Conf. on Decision and
δ = 100, k r = 1 Control, Seville, Spain, December, 2005, pp 1465-1470.
0.6
[2] T.I. Fossen, Marine Control Systems: Guidance, Navigation,
UAV rotation
0.4 Camera Rotation
and Control of Ships, Rigs, and Underwater Vehicles, Marine
Cybernetics, Trondheim, Norway, 2002.
Angle (radians)