View
0
Download
0
Category
Preview:
Citation preview
저 시-비 리-동 조건 경허락 2.0 한민
는 아래 조건 르는 경 에 한하여 게
l 저 물 복제, 포, 전송, 전시, 공연 송할 수 습니다.
l 차적 저 물 성할 수 습니다.
다 과 같 조건 라야 합니다:
l 하는, 저 물 나 포 경 , 저 물에 적 허락조건 확하게 나타내어야 합니다.
l 저 터 허가를 러한 조건들 적 지 않습니다.
저 에 른 리는 내 에 하여 향 지 않습니다.
것 허락규약(Legal Code) 해하 쉽게 약한 것 니다.
Disclaimer
저 시. 하는 원저 를 시하여야 합니다.
비 리. 하는 저 물 리 적 할 수 없습니다.
동 조건 경허락. 하가 저 물 개 , 형 또는 가공했 경에는, 저 물과 동 한 허락조건하에서만 포할 수 습니다.
Adaptive Neural Network Controller for Quadrotor with Two Degree ofFreedom Robotic Arm
by
GEUNO KIL
THESIS
Presented to the Faculty of the Graduate School of
Seoul National University
in Partial Fulfillment
of the Requirements
for the Degree of
MASTER OF SCIENCE
Department of Mechanical and Aerospace Engineering
Seoul National University
June 2017
Abstract
Adaptive Neural Network Controller for
Quadrotor with Two Degree of Freedom
Robotic Arm
Geuno Kil
Department of Mechanical and Aerospace Engineering
The Graduate School
Seoul National University
Modeling of the quadrotor with a two degree-of-freedom robotic arm is
performed, and baseline controller and adaptive controller are designed
for the attitude control of the quadrotor. Newton-Euler dynamics and Ar-
ticulated body dynamics are used to model the quadrotor with a robotic
arm. For a case that a robotic arm in the quadrotor does not hold pay-
load, a baseline controller is designed using sliding mode control scheme.
If the robotic arm holds any unknown payload, then some moment is
generated from the robot arm. The generated moment can be considered
as uncertainty in the quadrotor system. To compensate the effects of the
uncertainty, adaptive neural network controller is designed. Numerical
simulation is performed to verify the performance of the proposed con-
troller for a quadrotor system with uncertainty.
Keywords : Unknown payload, Adaptive control, Neural network,
blankblankbQuadrotor with a robotic arm
Student Number : 2015-22728
ii
Table of Contents
Page
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii
Table of Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
Chapter
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Related Research . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Objective and Contents . . . . . . . . . . . . . . . . . . . 4
1.4 Thesis Organization . . . . . . . . . . . . . . . . . . . . . 5
2 Modeling of Quadrotor with 2-DOF Robotic Arm . . . . . . . . 6
2.1 Modeling of Robotic Arm with Fixed Base . . . . . . . . . 7
2.2 Modeling of Quadrotor with a Robotic Arm . . . . . . . . 12
2.2.1 Preliminary . . . . . . . . . . . . . . . . . . . . . . 13
2.2.2 Dynamic Modeling . . . . . . . . . . . . . . . . . . 16
3 Controller Design of Quadrotor with Robotic Arm . . . . . . . 21
3.1 Baseline Controller 1 : Quadrotor . . . . . . . . . . . . . . 23
3.2 Baseline Controller 2 : Robot Arm . . . . . . . . . . . . . 29
3.3 Adaptive Controller using NN . . . . . . . . . . . . . . . . 30
4 Numerical Simulation . . . . . . . . . . . . . . . . . . . . . . . 37
4.1 Simulation Environment . . . . . . . . . . . . . . . . . . . 37
4.2 Simulation Results . . . . . . . . . . . . . . . . . . . . . . 41
4.2.1 Numerical Simulation of baseline controller . . . . 41
4.2.2 Numerical Simulation of adaptive NN controller . 45
iii
5 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
iv
List of Tables
4.1 Actuator dynamics parameters . . . . . . . . . . . . . . . 38
4.2 Quadrotor parameters . . . . . . . . . . . . . . . . . . . . 38
4.3 Robot arm parameters . . . . . . . . . . . . . . . . . . . . 38
4.4 Numerical simulation cases of baseline controller . . . . . 40
4.5 Numerical simulation cases of adaptive controller . . . . . 40
4.6 Neural network adaptive gains . . . . . . . . . . . . . . . 40
4.7 Rms error for euler angle tracking with little uncertainty . 41
4.8 The performance comparison with moment uncertainty . . 46
v
List of Figures
1.1 Amazon aerial vehicle delivery project . . . . . . . . . . . 2
2.1 Serial-chain robot arm . . . . . . . . . . . . . . . . . . . . 7
2.2 Spatial notation for rigid-body dynamics . . . . . . . . . . 8
2.3 Articulated-body dynamics . . . . . . . . . . . . . . . . . 11
2.4 Configuration of the coordinates for the system . . . . . . 14
3.1 Structure of the whole controller . . . . . . . . . . . . . . 22
3.2 Structure of the Baseline controller . . . . . . . . . . . . . 24
3.3 Structure of neural networks . . . . . . . . . . . . . . . . . 32
3.4 Structure of adaptive controller . . . . . . . . . . . . . . . 36
4.1 Euler angle responses (Case 1) . . . . . . . . . . . . . . . 42
4.2 Joint angle responses (Case 1) . . . . . . . . . . . . . . . . 42
4.3 Euler angle responses (Case 2) . . . . . . . . . . . . . . . 43
4.4 Joint angle responses (Case 2) . . . . . . . . . . . . . . . . 43
4.5 Euler angle responses (Case 3) . . . . . . . . . . . . . . . 44
4.6 Joint angle responses (Case 3) . . . . . . . . . . . . . . . . 44
4.7 Euler angle responses (Case 4) . . . . . . . . . . . . . . . 47
4.8 Joint angle responses (Case 4) . . . . . . . . . . . . . . . . 47
4.9 Euler angle responses (Case 5) . . . . . . . . . . . . . . . 48
4.10 Joint angle responses (Case 5) . . . . . . . . . . . . . . . . 48
4.11 Euler angle responses (Case 6) . . . . . . . . . . . . . . . 49
4.12 Euler angle responses (Case 7) . . . . . . . . . . . . . . . 49
vi
Chapter 1
Introduction
1.1 Background
Unmanned aerial vehicles (UAVs) have been used in many applications,
such as surveillance, reconnaissance, rescue, and searching disaster areas
where people cannot enter directly. Recently, research has concentrated on
quadrotors because they can land and take off vertically, making it easier
to approach places where conventional fixed-wing aircraft cannot. For
various missions, a quadrotor has become the base of a robot manipulator,
and many researchers have designed various robot manipulators to hold
a payload, e.g. using a gripper or a cable. In particular, companies such
as Amazon and Google have also created aerial vehicle delivery projects
using quadrotors, as shown in Fig. 1.1
When the aerial robot grasps an object, it is influenced by the mo-
ment and force due to that object. Therefore, attitude stabilization of the
aerial robot and end effector position control are very important. Since
the manipulator can cause undesirable effects on attitude stabilization,
quadrotor attitude control during the mission is essential.
1
Figure 1.1: Amazon aerial vehicle delivery project
Quadrotors with grippers experience little effect from the manipula-
tor, because the payload is close to the quadrotor center of mass. However,
the quadrotor cannot contact a distant payload due to the short gripper
range. On the other hand, quadrotors with a cable cannot directly con-
trol the payload motion with the quadrotor attitude, and the quadrotor
cannot place the payload precisely.
The robotic arm [1] was introduced to solve the shortcomings of grip-
per and cable options. End effector position control is easy, and stowing
the robotic arm can locate the payload near the quadrotor center of mass,
minimizing undesirable payload effects.
1.2 Related Research
The dynamics of the quadrotor and robot arm are highly coupled. Pre-
vious research on dynamic modeling for quadrotors with a robotic arm
2
treated the issue in two ways.
In the first approach, the quadrotor systems with a robotic arm were
modeled using an integrated system approach [2]-[6]. Usually, Euler-Lagrange
dynamics were employed to model the entire system, and the dynamical
relationship between the quadrotor and robot arm was implicitly included
in the modeling process.
Cartesian impedance control for the integrated system has also been
considered [2], and cascade controllers [3] have been employed to move
the quadrotor to the desired position as well as track the desired pose of
the end effector. Inverse kinematics was used and model uncertainty was
considered.
An adaptive sliding mode controller [4] has been applied based on the
combined system, and some experiments such as holding the unknown
payload, moving to designated position, and releasing the payload were
conducted. A variable parameter integral backstepping controller was de-
signed to stabilize the quadrotor attitude considering the robot arm dy-
namics [5]. The quadrotor manipulator system has been decoupled into
the translational and rotational dynamics of the quadrotor’s rotation and
robot arm configuration, and a controller for tracking the desired trajec-
tory of end effector was designed [6].
In the second approach, the quadrotor and the robotic arm are con-
sidered as separated systems that affect each other, and Newton-Euler
dynamics is used to derive the equations of motion. Some studies have
employed recursive Newton-Euler dynamics [7], [8], and others used an
articulated body concept [9].
The robot arm has been regarded as a disturbance to the quadrotor
[7], and a proportional integral derivative (PID) controller was designed
for quadrotor attitude stabilization using model reference adaptive con-
3
trol. A quadrotor controller was designed using the arm joint variables
to compensate for the effect of robot arm [8], and the information of the
quadrotor in the robot arm controller was used to compensate for the
effect of quadrotor motion.
When the quadrotor robot arm system holds the payload, an uncer-
tainty is induced in the quadrotor. Several studies have considered the
quadrotor robot arm grasping unknown payloads [4], [7], [10], [11]. The
unknown payload has been regarded as a disturbance to the quadrotor
[7], and the unknown mass has been estimated with an adaptive controller
designed to control the entire system [10], [11].
1.3 Objective and Contents
Previous research has considered uncertainty as being generated for the
entire dynamic system. In contrast, the current study considers uncer-
tainty as generated to β∗part, which is defined in Chapter 3. Therefore, com-
pensation needs consider only moment uncertainty, which significantly
reduces the computational burden.
Attitude stabilization of the quadrotor and end effector control are
necessary to complete missions using the quadrotor robot arm system.
The objective of this study is to design a controller for attitude stabiliza-
tion of a quadrotor with robotic arm. Moment caused by the robot arm is
analytically computed using the articulated body concept. If the robotic
arm holds an unknown payload, then the uncertainty is generated to the
quadrotor. An adaptive neural network controller is designed to deal with
the uncertain moment.
The contents of this study are summarized as follows,
First, additive uncertainty, i.e., moment generated by the robot arm
holding an unknown payload, is considered as a simple uncertainty model.
4
Second, an adaptive neural network controller is designed to com-
pensate for the effect of the moment uncertainty, and enables quadrotor
attitude tracking.
Third, quadrotor attitude is stabilized, allowing independent manip-
ulation of the robot arm and robot arm control.
1.4 Thesis Organization
The thesis is organized as follows. Chapter 2 derives the articulated body
dynamics. Chapter 3 describes the design of the sliding mode controller for
quadrotor attitude tracking and PID controller for the robot arm. The un-
certainty model is described, and an adaptive neural network controller is
designed. Chapter 4 presents numerical simulation results to demonstrate
the performance of the baseline and adaptive neural network controllers.
Chapter 5 summarizes the study and presents concluding remarks.
5
Chapter 2
Modeling of Quadrotor with
2-DOF Robotic Arm
Quadrotor with a robotic arm can be described mathematically in a var-
ious ways. Among many methods, Euler-Lagrangian and Newton-Euler
dynamics have been widely used [7],[4]. Euler-Lagrangian dynamics con-
siders the quadrotor with a robotic arm as an integrated system, and
therefore the interactive force and moment between a quadrotor and a
robotic arm are not expressed explicitly. On the other hand, Newton-
Euler dynamics regards the system as separate systems. Therefore, force
and moment, which are exchanged between the quadrotor and the robotic
arm, are explicitly represented in the model.
In this study, Netwon-Euler dynamics is chosen for system modeling,
which enables the force and moment between a quadrotor and a robotic
arm to be exploited. In the modeling phase, the robotic arm is consid-
ered as an articulated body. That is, a quadrotor with a robotic arm
is considered as a quadrotor and an articulated body. Using recursive
Newton-Euler dynamics and articulated body dynamics, mathematical
model of a quadrotor with a robotic arm can be obtained.
In this chapter, Articulated Body dynamics is derived using a robotic
arm with a fixed base. Then, a robotic arm with a moving base, i.e.,
quadrotor, is considered. Articulated body dynamics is derived in Section
2.1. Notation, kinematics and dynamics used in the modeling are also
reviewed. Section 2.2 provides a description of the coordinate systems,
6
parameters, and dynamic modeling of a quadrotor with a robotic arm.
2.1 Modeling of Robotic Arm with Fixed Base
Articulated body dynamics is widely used for the analysis of multibody
robot dynamics. The N link robotic arm with a fixed base is considered to
define variables, before dealing with the moving base which is a quadro-
tor.
Link 1
1 1q
22q
Link 2
N
Nq
Link 0(Base)
Joint 1
Joint 2
Joint N
Link N
Figure 2.1: Serial-chain robot arm
Figure 2.1 shows N links between a base and an end effector. The ar-
rows between the links imply joint axes. In general, a joint axis can have
any number of degree-of-freedom. In this study, however, the degree of
freedom is limited to 1. In the Articulated Body dynamics (AB dynam-
ics), a spatial notation is used, which includes rotational elements and
translational elements. The joint axes are defined in the spatial nota-
tion as 6×1 unit vectors, φi, where the subscript i represents a link or
a joint number. The joint axis is aligned with z-axis defined in a link’s
7
coordinate, and Modified Denavit-Hartenberg notation [12] is used to
define a link’s coordinate system. For revolute joint, the joint axis unit
vector φi can be represented as [0, 0, 1, 0, 0, 0]T . If the joint is prismatic,
φi = [0, 0, 0, 0, 0, 1]T . Joint angle qi, joint velocity qi, joint acceleration
qi, and input torque/force τi can be written as scalar values utilizing the
joint axis unit vector. The motion of the robot arm can be expressed with
the joint acceleration, which is easily obtainable in AB dynamics. AB dy-
ia
if
i
gfJoint i
Link i
Joint i+1
1if
Figure 2.2: Spatial notation for rigid-body dynamics
namics can be derived from the force balance equation on each link. As
shown in Fig. 2.2, force balance equation for link i can be written as
fi −i+1 XTi fi+1 +i fg = Iiai − βi (2.1)
where fi is the spatial force transferred to link i from link i − 1, which
includes the effect of joint spatial torque/force, τi. Similarly, fi+1 is the
spatial force transferred to link i+1 from link i, which includes the effect
of τi+1. And ifg is the gravitational force on link i, βi is a vector of
velocity dependent term, i+1Xi is the spatial transformation matrix, and
8
Ii is the 6×6 inertia matrix which will be defined later. The spatial force
term consists of three-dimensional moment vector N , and force vector F .
Therefore, spatial force can be written as
fi =
Ni
Fi
(2.2)
Similar to the spatial force vector, spatial acceleration vector, ai, of a link
is composed of rotational and translational acceleration as
ai =
wivi
(2.3)
In Eq. (2.1), Ii indicates the spatial inertia of link i, which can be
defined as
Ii =
Ii hi
hTi mi13
(2.4)
where Ii is the 3×3 moment of inertia matrix for the link i with respect
to its own coordinate system, vector hi is the first mass moment of link
i which is defined as misi, mi is the mass of link i, si is the vector from
the coordinate system origin of link i to the center of mass of link i, and
13 is a 3×3 identity matrix. The tilde ( ˜ ) of the vector means a skew
symmetric matrix of the vector. For example, for hi = [a, b, c]T , hi can be
written as
hi =
0 −c b
c 0 −a
−b a 0
(2.5)
Matrix i+1Xi is a spatial transformation matrix from i to i+1 coordinate
system. Spatial transformation matrix is defined as follows,
i+1Xi =
i+1Ri 0
i+1RiipTi+1
i+1Ri
(2.6)
9
where i+1Ri is the rotation matrix from i to i + 1 coordinate system,
which is attached to each link. Vector ipi+1 is the 3×1 vector, which is a
position vector of the origin of the link (i + 1)’s coordinate system with
respect to the link i’s coordinate system.
To model the robotic arm, biased acceleration term is introduced to
exclude the gravitational effect as
a′i = ai −
0
iag
(2.7)
According to Eq.(2.7), Eq.(2.1) can be represented as the following equa-
tion, which reduces computational burden and simplifies the modeling
process.
fi −i+1 XTi fi+1 = Iia
′i − βi (2.8)
The biased acceleration a′i, which can be obtained from kinematic equa-
tions, is needed to compute the force balance equation. Therefore, kine-
matic equations are also needed to compute the biased acceleration. Bi-
ased acceleration, rotational, and translational velocity can be computed
by solving the following equations recursively.
a′i = iXi−1a
′i−1 + φiqi + ζi (2.9)wi
vi
= iXi−1
wi−1vi−1
+ φiqi (2.10)
where ζi is the Coriolis and centripetal acceleration terms which can be
computed by using given joint spatial velocity. As shown in Eq.(2.10), the
biased acceleration of link i can be computed using the biased accelera-
tion of link (i − 1) and the joint acceleration between link i and (i − 1).
Therefore, biased acceleration from the base to the end effector can be
computed, and the spatial force of each link can be computed using the
computed biased acceleration. This procedure is equivalent to the inverse
10
dynamics problem determining the torque/force of the joint to satisfy
desired trajectory. While propagating the biased acceleration, Eq.(2.9),
joint angles and velocities are known, whereas joint angular acceleration
is unknown. Without joint angular acceleration, biased acceleration and
spatial forces cannot be computed. A concept of AB inertia [13] can be
applied to solve the problem.
Link N
1Nf
ia
if
Link i
Link i+1
* *,i iI
Figure 2.3: Articulated-body dynamics
Figure 2.3 shows the principle of AB dynamics; the effects of link i+1
through N and tip force are reflected in AB inertia matrix I∗i and bias
force β∗i . To introduce this concept, Eq.(2.8) for a single link is trans-
formed into the following expression.
fi = I∗i a′i − β∗i (2.11)
Compared to Eq.(2.8), Eq.(2.11) includes the dynamic effects of links i
to N . Matrix I∗i is the 6×6 AB inertia matrix, which is felt at link i
11
while joints i + 1 through N are freely moving, i.e., there are no joint
torque/force exerted. Similarly, the spatial force vector, β∗i , is the bias
force exerted on link i by the spatial force generated from link i + 1 to
link N , but excluding the gravitational effect.
With the transformed force equation, Eq.(2.11), and kinematic equa-
tions, Eq.(2.9) and Eq.(2.10), the procedure to get the joint acceleration,
q, can be implemented. First, the step of forward kinematics recursion
computes the rotational and translational velocity recursively, and com-
putes velocity dependent term such as ζi, βi from the base to the tip.
Second is a backward dynamics recursion, which computes AB inertia
matrix I∗i and bias force β∗i using Eq.(2.11) from the tip to the base.
Finally, forward acceleration step calculates the biased acceleration and
joint acceleration recursively through the two-stage information and the
biased acceleration of the base for the fixed base case. The detailed pro-
cess will be given in the next section.
2.2 Modeling of Quadrotor with a Robotic Arm
In the previous section, AB dynamics for a robotic arm is derived based
on a fixed base. However, in this study, the base is moving with respect
to the inertial frame. Therefore, the quadrotor body should be considered
as an another link, link 0, between the inertial frame and a robotic arm.
Quadrotor has 3 DOF translational and rotational motion. Therefore,
joint 0, which has 6 DOF consists of three dimensional rotational joint
and prismatic joint, is introduced to represent the quadrotor motion.
In this case, the joint axis vector φi is a 6×6 identity matrix. There-
fore, the joint velocity is equal to the quadrotor body’s spatial velocity,
q0 = [w0, v0]T , represented in the quadrotor’s body fixed coordinate. Also,
the joint acceleration is same as rotational and translational accelera-
12
tion of the quadrotor, q0 = [w0, v0]T . The joint torque/force τ are same
as quadrotor external spatial force f0 = [Mx,My,Mz, 0, 0, T ]T , where
Mx,My,Mz are x-y-z components of the moments, and T is a thrust.
Note that moment and thrust are generated in the rotors, which are rep-
resented in quadrotor body fixed coordinate. The biased acceleration of
the base a′0 is not zero any more, and therefore the biased acceleration of
the base should be computed as
a′0 = (I∗0 )−1(f0 + β∗0) (2.12)
With the above initial condition, joint accelerations can be computed
recursively in the forward acceleration step. The original spatial acceler-
ation of the link can be obtained by adding the gravitational effect to
biased acceleration as shown in Eq.(2.7). In the following, the coordinate
systems and parameters of the quadrotor with a robotic arm are defined.
Then, the dynamic model of the quadrotor with a robotic arm will be
obtained.
2.2.1 Preliminary
Figure 2.4 shows the coordinate system used in this study. The inertial
coordinate system is denoted as OI . Ob and Oi represent the coordinate
system fixed to the quadrotor and the link i, respectively. The subscript
i= 1, 2 represents the link number.
13
bxby
bzRotor 1
Rotor 2Rotor 3
Rotor 4
1z1y
1x
2y
2x
Link 1
Link 2
Link 0
IXIY
IZ
bO
1O
2O
IO 2z
Figure 2.4: Configuration of the coordinates for the system
Quadrotor body fixed coordinate is located at the center of mass of
the quadrotor, and the origin of the link’s body fixed coordinate is located
at the link’s top position. In O1 and O2, x-axis is aligned along the link.
The joint angles, q1 and q2, are defined as rotation angles about zi axis.
And zi axis is parallel to xb axis. In this study it is assumed that robotic
arms can move only in zb−yb plane, and the robotic arm can be controlled
directly by joint motors. From this description, a rotation matrix ,i+1Ri
and vectors, ipi+1 and si can be calculated, which are used to define the
inertia matrix and spatial transformation matrix. In this study, (3-2-1)
Euler angles are used to compute the rotation matrices, 0RI ,1R0, and
2R1.
0RI =
cθcψ cθsψ −sθ
cψsθsφ− cφsψ cφcψ + sθsφsψ cθsφ
sφsψ + cφcψsθ cφsθsψ − cψsφ cθcφ
(2.13)
14
1R0 =
cq1 sq1 0
−sq1 cq1 0
0 0 1
0 0 −1
0 1 0
1 0 0
(2.14)
2R1 =
cq2 sq2 0
−sq2 cq2 0
0 0 1
(2.15)
where c and s denote cosine and sine functions, respectively. Coordinate
system 0 is the body coordinate system fixed to the quadrotor, and φ,
θ, ψ are Euler angles of the quadrotor. Note that 0p1 = [0, 0, 0]T , 1p2 =
[L1, 0, 0]T , s0 = [0, 0, 0]T , s1 = [L12 , 0, 0]T , and s2 = [L2
2 , 0, 0]T . To form
the 6×6 inertia matrix, 3×3 moment of inertia matrix and first mass
moment, hi, should be computed. In this study, it is assumed that links
1 and 2 are square beams with relatively small cross-sectional area. To
compute following 3×3 inertia matrices, parallel axis theorem is applied,
because center of mass of the link and the origin of the coordinate system
attached to the link are not coincident.
I0 = Ib (2.16)
I1 =
(m1L
21
12+m1
L21
4
)0 0 0
0 1 0
0 0 1
(2.17)
I2 =
(m2L
22
12+m2
L22
4
)0 0 0
0 1 0
0 0 1
(2.18)
where Ib is quadrotor body inertia matrix. Using Eqs. (2.4), (2.16), (2.17)
and (2.18), inertia matrix can be computed.
15
2.2.2 Dynamic Modeling
In this section, dynamic model of the quadrotor with a robotic arm is
obtained using the following three steps.
Step 1. Forward Kinematics recursion
The forward kinematics recursion describes the translational and rota-
tional motion of the links. Step 1 computes an angular velocity depen-
dent term, Coriolis effect related term, and centripetal term starting
from the link 0, vehicle body, to the link 2. Joint axis unit vectors are
φ1 = [0, 0, 1, 0, 0, 0]T and φ2 = [0, 0, 1, 0, 0, 0]T , i.e. two revolute joints.
• Link 0
Parameters 0ag and β0 are computed for given 0RI ,w0 and v0 as
0ag =0 RIIag (2.19)
β0 = −
w0 × I0w0
w0 × (w0 × h0)
(2.20)
where Iag = [0, 0,−g]T , the initial condition w0 = Ω is a quadrotor
body angular rate, v0=0RI [x, y, z]
T , and [x, y, z]T is a quadrotor inertial
velocity.
• Link i , for i=1,2
For given iRi−1,i−1pi and qi, following terms are computed.
wivi
= iXi−1
wi−1vi−1
+ φiqi (2.21)
iag = iRi−1i−1ag (2.22)
16
ζi =
0
iRi−1[wi−1 ×
(wi−1 ×i−1 pi
)]+
iRi−1 (wi × qizi)
0
(2.23)
βi = −
wi × Iiwi
wi × (wi × hi)
(2.24)
where zi is a unit vector pointing along the ith link’s rotation axis rep-
resented in ith coordinate system. Note that ζi is a 6×1 column vector,
and 0 means 3×1 zero vector in Eq.(2.23).
Step 2. Backward Dynamics Recursion
Backward dynamics recursion calculates AB inertias I∗i , bias forces, and
β∗i using joint torque moment from the end effector to the base. In the
recursion process, new parameters, ni,m∗i , and Ni, are presented. The in-
ertia matrix, Ni, is a reflected inertia of link i, which reflects the inertias
of the links i+ 1 through N . Note that all joints are free to move and no
torque/force are applied.
Let us define the concept of AB inertia. Equation (2.29) signifies that
AB inertia of (i − 1)th link can be computed by adding the reflected in-
ertia to the inertia matrix of (i− 1)th link, Ii−1. And m∗i in Eq.(2.26) is
the inertial load by the links i+1 through N , which is felt at the ith joint
motor.[13]
• Link i , for i=2,1
For given τi , β∗2=β2−1X2f2, and I∗2 = I2, following terms are computed
17
ni = I∗i φi (2.25)
m∗i = φTi Ii∗φi (2.26)
Ni = I∗i − ni (m∗i )−1 nTi (2.27)
τ∗i = φ∗iβ∗i + τi (2.28)
I∗i−1 = Ii−1 +i XTi−1N
iiXi−1 (2.29)
β∗i−1 = βi−1 +i XTi−1
[β∗i −Niζi − ni (m∗i )
−1 τ∗i
](2.30)
where f2 is a tip force.
Step 3. Forward Accelerations Recursion
In this step, the joint torque moment from external input and the effect
from previous links are considered to compute the joint accelerations.
• Link 0
For given f0, spatial accelerations of link 0 is computed as
a′0 = (I∗0 )−1 (f0 + β∗0) (2.31)
a0 = a′0 +
0
0ag
(2.32)
where
f0 =
Mx
My
Mz
0
0
T
−
Ga(1)
Ga(2)
Ga(3)
0
0
0
(2.33)
18
• Link i , for i=1,2
For given iXi−1, following terms are computed.
ai = iXi−1a′i−1 + ζi (2.34)
qi = (m∗i )−1 τ∗i −
[ni (m∗i )
−1]Tai (2.35)
a′i = ai + φiqi (2.36)
As mentioned before, f0 is a spatial force generated by the quadrotor
represented in the body fixed coordinate. From the beginning of previous
step, spatial acceleration, a0, of the quadrotor considering the dynamic
effect of a robotic arm is computed. Now, using Eq.(2.3), quadrotor body
rotational acceleration and body translational acceleration are derived.
Therefore, the quadrotor dynamics can be obtained as follows,
Ω
v0
= (I∗0 )−1
Mx
My
Mz
0
0
T
−
Ga(1)
Ga(2)
Ga(3)
0
0
0
+ β∗0
+
0
0ag
(2.37)
ϕ = Q Ω (2.38)
where ϕ denotes Euler angle and, Q is defined as follows,
Q =
1 sφtθ cφtθ
0 cφ −sφ
0 sφcθ
cφcθ
(2.39)
where t is a tangent function. VectorGa is the gyroscopic torque generated
by rotating body and rotors, which can be expressed as follows,
Ga =
4∑i=1
Ir (Ω× ez) (−1)i+1 ωi (2.40)
19
where ωi is the rotor angular rate, and ez = [0, 0, 1]T .
Finally, the quadrotor body moment and thrust can be computed
using rotor angular rate as
T =
4∑i=1
bω2i (2.41)
Mx = db(ω24 − ω2
2) (2.42)
My = db(ω23 − ω2
1) (2.43)
Mz = Kd(ω21 − ω2
2 + ω23 − ω2
4) (2.44)
where d denotes the distance from the quadrotor center of mass to the
rotors, b and Kd are positive parameters dependent on rotor blade’s size
and shape, respectively [14]. Note that the dynamics of the robotic arm
can be computed by Eq.(2.35), and joint input torque and quadrotor
acceleration effect are included in robotic arm dynamics.
20
Chapter 3
Controller Design of Quadrotor
with Robotic Arm
In this chapter, two different controllers are designed, one for a quadrotor
and another for a robotic arm. For the design of the quadrotor attitude
tracking, the assumption of the time scale separation is used. Baseline
sliding mode controller computing control input to track the Euler angle
command is designed as two-loop structure. A simple PID controller is
designed to track the joint angle command for the robotic arm.
The quadrotor with a robotic arm can be used to grab the object.
When the mass of the object is unknown, the moment generated by the
robotic arm grabbing the object should be considered as uncertainty to
the quadrotor. Neural network is combined into the baseline sliding mode
controller to compensate for the effect of the uncertainty. The structure
of the controller for the entire system is shown in Fig.3.1.
21
PIDController
Quadrotor with2-DOF Robotic
Arm
OuterSMC
InnerSMC
NeuralNetwork
Baseline Controller 1
Adaptive Controller
Baseline Controller 2
Figure 3.1: Structure of the whole controller
22
3.1 Baseline Controller 1 : Quadrotor
Before designing the baseline controller 1, let us consider the quadrotor
dynamics with a robotic arm which is derived in chapter 2. The dynamic
equation can be simplified for the attitude control. That is, in this study,
Ω dynamics for rotational motion in Eq. (2.37) is only needed as
Ω = (I∗0 )−1upper
Mx
My
Mz
0
0
T
−
Ga(1)
Ga(2)
Ga(3)
0
0
0
+ β∗0
(3.1)
where (I∗0 )−1upper is the 1st, 2nd and 3rd row vectors of the inverse of the AB
inertia matrix, i.e., (I∗0 )−1. Therefore, (I∗0 )−1upper is a 3×6 matrix. Matrix
(I∗0 )−1upper is separated into left 3×3 matrix and right 3×3 matrix to only
consider the moment term. Note that the elements of the right matrix
have relatively small values compared to those of the left matrix. It is
because that the effect of the translational force is smaller than that of
the rotational torque. Therefore, in this study, it is assumed that the
right 3×3 matrix of (I∗0 )−1upper is negligible and the left part is defined as
(I∗0 )−1part. Now, the dynamic equation can be approximated as
Ω = (I∗0 )−1part
Mx
My
Mz
−Ga + β∗part
(3.2)
where β∗part has upper 3 elements of the β∗0 vector. Quadrotor controller
is designed using Eq.(3.2). In this study, the assumption of the time scale
separation between body angular rate and Euler angle of the quadrotor
23
is applied. Therefore, the quadrotor controller is composed of outer-loop
and inner-loop controllers as shown in in Fig.3.2.
Outer-Loop Controller
c
c
c
(1)
(2)
(3)
c
c
c
x
y
z
M
M
M
Inner-Loop Controller
ControlMixer
ActuatorQuadrotorRobot armDynamics
1
2
3
4
c
c
c
c
1
2
3
4
ManipulatorController
1
2
T
T
Actuator1
2
T
T
Figure 3.2: Structure of the Baseline controller
The reference Euler angle command is given to the outer-loop con-
troller, then the outer-loop controller generates body angular rate com-
mand. Subsequently, body angular rate command is transferred to the
inner-loop controller, which generates moment command to track the
body rate command. The control mixer, Eqs.(2.41)-(2.44), converts the
moment command into the desired rotor angular rate command.
The outer-loop and inner-loop controller are designed by the slid-
ing mode control scheme under the assumption of time scale separation,
utilizing the kinematic equation, Eq.(2.38), and the dynamic equation,
Eq.(3.2) [17]. The objective of the sliding mode controller is to make the
system stay in the specified sliding surface. In other words, sliding mode
control scheme defines the sliding surface σ and generates control input
24
to make a system be confined in the sliding mode, σ = 0. Therefore, de-
signing appropriate sliding surface is important to perform the mission,
i.e., tracking the command input.
Let us consider a following Lyapunov candidate function.
V1 =1
2σTσ (3.3)
Differentiating the Lyapunov candidate function with respect to time
gives
V1 = σT σ (3.4)
The property that the derivative of Lyapunov candidate function V1 is
negative definite is a sufficient condition for the existence of the sliding
mode. To satisfy this property, following condition is used.
σ = −Kpσ −Kssign(σ) (3.5)
With Eq.(3.5), V1 is negative definite except σ = 0. Additionally, if the
sliding mode, σ = 0, exists in the tracking problem, corresponding error
states should also go to zero.
Let us define a following sliding surface.
σ = e+ λ
∫ t
0edτ (3.6)
where e is the error between current state and command value, i.e., e =
x−xc. When state values of the system are staying in the sliding surface,
σ = 0, then Eq.(3.6) becomes
0 = e+ λ
∫ t
0edτ (3.7)
Differentiating Eq.(3.7) with respect to time yields
e = −λ e (3.8)
25
Equation (3.8) indicates that error state is exponentially stable with con-
vergence rate λ.
To begin with, let us consider an outer-loop controller, which generates
body angular rate command to regularize the following Euler angle error.
e1 =
e11
e12
e13
=
φ
θ
ψ
−φc
θc
ψc
= ϕ− ϕc (3.9)
Let us consider the following sliding surfaces for attitude tracking control.
σ11 = e11 + λ11
∫ t
0e11dτ (3.10)
σ12 = e12 + λ12
∫ t
0e12dτ (3.11)
σ13 = e13 + λ13
∫ t
0e13dτ (3.12)
where λ11,λ12, and λ13 are positive constants, which determine the error
converging rate, and e1 = [e11, e12, e13]T . Using σ1=[σ11 σ12 σ13]
T and
Λ1 = diag[λ11 λ12 λ13], the sliding surface variable σ1 can be represented
as follows,
σ1 = e1 + Λ1
∫ t
0e1 dτ (3.13)
Differentiating Eq.(3.13) with respect to time gives
σ1 = e1 + Λ1 e1 (3.14)
Substituting Eq.(3.9) and (2.38) into Eq.(3.14) yields
σ1 = (ϕ− ϕc) + Λ1e1
= QΩ + (−ϕc + Λ1e1) (3.15)
Substituting Eq.(3.5) into the left hand side of Eq.(3.15) gives a desired
body angular rate command Ωc as
Ωc = Q−1 [ϕc − Λ1e1 −−Kp1σ1 −Ks1sign(σ1)] (3.16)
26
Equation (3.16) is the body angular rate command generated from the
outer-loop controller to track the command euler angle.
Next, an inner-loop controller tracking the desired body angular rate
Ωc is designed. Let us define the body angular rate command error e2 as
e2 =
ep
eq
er
= Ω− Ωc (3.17)
Sliding surfaces for tracking body angular rate are chosen as follows,
σp = ep + λp
∫ t
0epdτ (3.18)
σq = eq + λq
∫ t
0eqdτ (3.19)
σr = er + λr
∫ t
0erdτ (3.20)
Equations (3.18)-(3.20) can be re-written as
σ2 = e2 + Λ2
∫ t
0e2dτ (3.21)
where σ2 = [σp σq σr]T , and Λ2 = diag[λp λq λr]. Taking time derivative
of Eq.(3.21) yields
σ2 = e2 + Λ2e2 (3.22)
Substituting Eqs.(3.2) and (3.17) into Eq.(3.22) yields
σ2 =(
Ω− Ωc
)+ Λ2e2
= (I∗0 )−1part(u−Ga + β∗part
)− Ωc + Λ2e2 (3.23)
To design the controller, following assumptions are needed.
Assumption 1: To design the attitude inner-loop controller, AB iner-
tia matrix (I∗0 )part is approximated as I0, quadrotor body moment inertia.
27
Assumption 2: The gyroscopic effect is negligible. Thus, the gyro-
scopic term is not considered in designing the controller.
Note that Assumption 1 is not restrictive when the robot arm is relatively
light compared to the quadrotor body. And Assumption 2 is reasonable
for the case that quadrotor is operating in the normal range. In this case,
gyroscopic effect is relatively small.
Under the Assumptions 1 and 2, substituting the convergence condi-
tion, Eq.(3.5), into Eq.(3.23) gives moment control input as
u = I0
[Ωc − Λ2e2 −Kp2σ2 −Ks2sign (σ2)
]− β∗part (3.24)
In Eq.(3.24), β∗part can be computed using the information of the quadro-
tor state and robot arm actuator control input. To prove the stability of
the sliding surfaces σ1 and σ2, a following Lyapunov candidate function
is considered.
V2 =1
2σT1 σ1 +
1
2σT2 σ2 > 0 (3.25)
Using Eq.(3.5), the time derivative of V can be expressed as
V2 = σT1 σ1 + σT2 σ2
= −σT1Kp1σ1 − σT1Ks1sign(σ1)
−σT2Kp2σ2 − σT2Ks2sign(σ2) ≤ 0 (3.26)
Time derivative V2 is negative definite except σ1 and σ2 are both zero.
Therefore, outer-loop and inner-loop controllers, Eq.(3.16) and Eq.(3.24),
stabilize the sliding surfaces σ1 and σ2 in the Lyapunov sense. According
to Eqs.(3.7) and (3.8), controllers also stabilize e1 and e2. In conclusion,
two sliding mode controllers tracking the attitude command are designed,
and body angular rate command Ωc and moment input u are generated
by Eqs.(3.16) and (3.24).
28
3.2 Baseline Controller 2 : Robot Arm
Joint acceleration is acquired by the Step 3, forward acceleration recur-
sion, in the previous chapter. As shown in Eq.(2.35), the robot arm dy-
namics is complex to be incorporated in the controller. Therefore, in this
study, a following robotic arm dynamics is used. [15]
H(q)q + C(q, q)q + g(q) = τ (3.27)
where q = [q1, q2]T , H(q) is a 2×2 positive definite moment of inertia,
C(q, q) is a 2×2 matrix specifying centrifugal and coriolis effects, g(q) is
a 2×1 vector due to gravity, and τ is a 2×1 vector of torques of each joint
actuator. It is assumed that following properties are satisfied.
a1I ≤ H(x) ≤(a2 + c2 ‖x‖+ d2 ‖x‖2
)I (3.28)
‖C(x, y)z‖ ≤ (c1 + d1 ‖x‖) ‖y‖ ‖z‖ (3.29)
‖g(x)− g(y)‖ ≤ α ‖x− y‖ (3.30)∥∥∥∥g(x)− g(y)− ∂g(y)
∂y
∥∥∥∥ ≤ α2 ‖x− y‖2 (3.31)
The classical PID control law can be expressed as follows,
uarm = −Kpq −Kd˙q −Ki
∫ t
0qdτ + ζ0 (3.32)
where q = q−qc, qc is a joint angle command, ζ0 is a constant vector, and
Kp, Kd and Ki are the proportional, differential and integral gains of the
PID controller, which are positive definite diagonal matrices. Trajectory
of the robot arm joint, qc, is assumed to be twice differentiable. Let us
define the state X as
X =
˙q
q∫ t
0q(τ)dτ +K−1i (g(qc(t))− ζ0)
(3.33)
29
The state X is uniformly ultimately bounded when the following condi-
tions of the PID gains are satisfied.
Kd > ε‖q‖
‖q − qc‖max‖q‖≤R
H(q) + (c1 + d1 ‖q‖) ‖q − qc‖ I
εK′p ≡ ε (Kp − αI) > Ki Ki > 0 (3.34)
where ε is a positive constant, and c1, d1 and α are parameters in Eqs.(3.29)
and (3.30). Detailed proof can be found in [15]. The conditions on PID
gains allow the robot arm to follow the given joint angle command.
3.3 Adaptive Controller using NN
The dynamic model of the entire system is derived in Chap.2. In the dy-
namic model, there exists a moment term, β∗part, which is created by a
robotic arm. The moment term can be computed analytically by using
quadrotor state, robotic arm joint angle, and joint torque information,
with the assumption of little uncertainty. In [4], it was shown that un-
known payload can degrade the performance of the controller. Usually,
the quadrotor with a robotic arm is used in delivery mission, and the mass
and size of object are different according to the mission. Because of these
unknown properties of the object, β∗part cannot be computed exactly. A
moment uncertainty term caused by unknown payload is added to β∗part
to include the effects of the uncertainty in the model. In this study, NN
adaptive controller is used to compensate the effect of the uncertainty.
To consider the moment uncertainty term in β∗part, true moment gen-
erated from the robot arm is expressed as follows,
βtrue = β∗part + ∆ (3.35)
where the uncertainty, ∆, is added to β∗part, which is the moment trans-
ferred from the robot arm to the quadrotor. It is assumed that ∆ is a
30
low frequency uncertainty, because uncertainty effect is caused by the un-
known payload. Then, the quadrotor rotational dynamics can be written
as
Ω = (I∗0 )−1part
Mx
My
Mz
−Ga + βtrue
(3.36)
If the quadrotor controller input u in Eq.(3.24) is applied to the uncer-
tainty model in Eq.(3.36), Eq.(3.26) can be modified as
V2 = −σT1Kp1σ1 − σT1Ks1sign(σ1)
−σT2Kp2σ2 − σT2Ks2sign(σ2) + σT2 I0−1
∆ (3.37)
Compared to Eq.(3.26), Eq.(3.37) has additional term σT2 I0−1
∆. There-
fore, V2 may not be negative semi-definite any more due to the additional
term. To resolve the problem of the low frequency uncertainty term, ∆,
NN with a three layer structure as shown in Fig. 3.3 is considered in this
study [16]. The neural network consists of 6 nodes in the input layer and
3 nodes in the hidden layer. The dimension of the output vector, ynn, is
3, because NN approximates the three dimensional moment uncertainty,
and input vector is defined as xnn = [Ω,Ωc]T .
A following sigmoid function is used as a NN activation function.
A(x) =1
(1 + e−x)(3.38)
NN output is expressed as follows,
ynn = W TA(V TXnn
)(3.39)
where W and V are matrices of adjustable weight values of NN, bold text
means a vector, and A(x) and Xnn are defined as
A(x) = [1, A(x1), A(x2), A(xend)]T
Xnn = [1, xnn]T (3.40)
31
Activation
function
nnx
nny
( )A x
1
( )A x
( )A x
( )A x
1
Figure 3.3: Structure of neural networks
Based on the universal approximation property of the multi layer neu-
ral network, the ideal weight parameters W and V exist. The moment
uncertainty can be approximated as follows,
∆ = W TA(V TXnn
)+ ε(Xnn) (3.41)
where ε(Xnn) is a reconstructional error related to the NN structure, and
ε(Xnn) ≤ εM bounded.
Let us consider following assumptions to design the NN controller.
Assumption 3. The residual term w designed in Eq.(3.49) is ignored
when considering the neural network output error.
Assumption 4. The ideal NN weights are bounded by some positive
32
parameters as
‖W‖F ≤WM , ‖V ‖F ≤ VM (3.42)
where WM and VM are known positive parameters, and ‖‖ denotes the
Frobenius norm of a matrix.
Following theorem promotes a NN controller.
Theorem1. The control input uNN is provided by the following ex-
pression.
uNN = u− W TA(V TXnn
)(3.43)
where W and V are the estimates of the parameter matrices, and u is a
quadrotor nominal attitude controller input, Eq.(3.24). The adaptive law
for the neural network weight matrices is given by
˙W = γw
[A(V TXnn
)σT2 I0
−1 − A(V TXnn)V TXnnσT2 I0−1]
+ κγwW
˙V = γvXnn
[A(V TXnn)T W I0
−Tσ2
]T− κγvV (3.44)
where γw, γv and κ are positive adaptive gains, and a matrix A is defined
as follows,
A(x) =dA
dx
x=x
(3.45)
Then, the state errors e1 and e2 in Eqs.(3.9) and (3.17) and the weight
matrix estimation errors W and V are uniformly ultimately bounded.
Additionally, the state errors and weight matrix estimation errors can be
made arbitrarily small by adjusting the parameters γw, γv, κ, Kp1 and
Kp2 under the Assumptions 1− 4.
Proof) Let us consider a following Lyapunov candidate function.
V3 =1
2σT1 σ1 +
1
2σT2 σ2 +
1
2γwtr[W T W
]+
1
2γvtr[V T V
](3.46)
33
where W = W − W , and V = V − V . Time derivative of Lyapunov
function gives
V3 = −σT1Kp1σ1 − σT1Ks1sign(σ1)− σT2Kp2σ2 − σT2Ks2sign(σ2)
+σT2 I0−1(
∆− W TA(V TXnn)− ε(Xnn))
+1
γwtr[W T ˙W
]+
1
γvtr[V T ˙V
](3.47)
NN output error can be represented using Taylor series expansion [16] as
∆− W TA(V TXnn)− ε(Xnn) = W T A(V TXnn)V TXnn + w
+W T[A(V TXnn
)− A(V TXnn)V TXnn
](3.48)
where w is given by
w(t) = W T (O(V TXnn
)+ W T A
(V TXnn
)V Xnn (3.49)
Note that O(V TXnn
)is high order terms caused by Taylor series expan-
sion, and w is bounded by∥∥∥W∥∥∥
F,∥∥∥V ∥∥∥
F, and ‖Xnn‖ [16].
Substituting Eq.(3.44) and Eq.(3.48) into Eq.(3.47) under theAssumption 3
gives
V3 = −σT1Kp1σ1 − σT1Ks1sign(σ1)− σT2Kp2σ2 − σT2Ks2sign(σ2)
+σT2 I0−1(W T
[σ(V Txnn
)− σ(V Txnn)V Txnn
]− W T σ(V Txnn)V Txnn
)−tr
[W T
[σ(V Txnn)σT2 I0
−1 − σ(V Txnn)V TxnnσT2 I0−1]− κW T W
]−tr
[V T[σ(V Txnn)T W I0
−Tσ2
]T− κV T V
](3.50)
Utilizing the property tr[yxT ] = xT y, the expression in Eq.(3.50) can be
simplified as
V3 = −σT1Kp1σ1 − σT1Ks1sign(σ1)− σT2Kp2σ2 − σT2Ks2sign(σ2)
κ tr[W T W ] + κ tr[V T V ] (3.51)
34
Using the property tr[XT X] = tr[XTX]− tr[XT X] ≤∥∥∥X∥∥∥
F‖X‖F −∥∥∥X∥∥∥2
Funder Assumption 4 gives
V3 ≤ −σT1Kp1σ1 − σT1Ks1sign(σ1)− σT2Kp2σ2 − σT2Ks2sign(σ2)
κ
(∥∥∥W∥∥∥F‖W‖F −
∥∥∥W∥∥∥2F
)+ κ
(∥∥∥V ∥∥∥F‖V ‖F −
∥∥∥V ∥∥∥2F
)= −σT1Kp1σ1 − σT1Ks1sign(σ1)− σT2Kp2σ2 − σT2Ks2sign(σ2)
−κ2
(∥∥∥W∥∥∥F−WM
)2− κ
2
∥∥∥W∥∥∥2F
+κ
2W 2M
−κ2
(∥∥∥V ∥∥∥F− VM
)2− κ
2
∥∥∥V ∥∥∥2F
+κ
2V 2M
≤ −σT1Kp1σ1 − σT1Ks1sign(σ1)− σT2Kp2σ2 − σT2Ks2sign(σ2)
−κ2
∥∥∥W∥∥∥2F
+κ
2W 2M −
κ
2
∥∥∥V ∥∥∥2F
+κ
2V 2M (3.52)
Let c1 ≡ κ2 (W 2
M + V 2M ), then we have
V3 ≤ −σT1Kp1σ1 − σT1Ks1sign(σ1)− σT2Kp2σ2 − σT2Ks2sign(σ2)
−κ2
∥∥∥W∥∥∥2F− κ
2
∥∥∥V ∥∥∥2F
+ c1 (3.53)
Let us take µ as a constant satisfying the following inequality.
0 < µ ≤ min(Kp1,Kp2,
κγw2,κγv2
)(3.54)
Then, Eq.(3.53) can be written as follows,
V3 ≤ −2µV3 + c1 (3.55)
In Eq.(3.55), V3 < 0 if V3 >c12µ , which indicates that sliding surfaces,
σ1 and σ2, and parameter estimation errors, W and V , are bounded and
exponentially converge to the following residual set D.
D =
σ1, σ2, W , V
‖σ1‖2+‖σ2‖2+1
γw
∥∥∥W∥∥∥2F
+1
γv
∥∥∥V ∥∥∥2F≤ c1µ
(3.56)
Also, the state errors are bounded because sliding surfaces, σ1, σ2, are
bounded, which completes the proof.
35
Figure 3.4 shows the structure of the adaptive NN controller.
Outer-Loop Controller
Inner-Loop Controller
ControlMixer
ActuatorQuadrotorRobot armDynamics
ManipulatorController
Actuator
( )A x
1
( )A x
( )A x
( )A x
1
Figure 3.4: Structure of adaptive controller
36
Chapter 4
Numerical Simulation
Numerical simulation is performed to demonstrate the performance of the
proposed adaptive neural network controller. When unknown payload is
not considered, a baseline controller is used for tracking the Euler angle
command of the quadrotor and joint angle command of the robot arm. If
there exists an unknown payload grabbed by the robot arm, then adaptive
neural network controller is used to deal with the uncertainty caused by
the payload. Three simulation cases using different Euler angle command
are considered for the baseline controller, and four cases using different
Euler angle command are considered for the adaptive neural network
controller.
4.1 Simulation Environment
In the simulation, the sign function in the input, Eq.(3.16) and (3.24), is
replaced by atan function to reduce the chattering effect. The actuator
dynamics of the quadrotor is considered as
ω = −kiIrω (4.1)
where Ir is a rotor inertia moment, ω = ω − ωc, and ki is a positive con-
stant. The actuator of robot arm directly exerts the moment to the joint,
and the following 2nd order delay is considered as actuator dynamics.
M
Mc=
ω2n
s2 + 2ζωn + ω2n
(4.2)
37
Table 4.1: Actuator dynamics parameters
ki ωn(rad) ζ
0.001 150 1
Table 4.2: Quadrotor parameters
Parameter Value
mb 4.34kg
Ib diag[0.0820, 0.0845, 0.1377] kg· m2
Ir 40.887e−6 kg· m2
b 1.2953e−5
d 0.315m
Kd 1.0368e−7
g 9.81m/s2
Table 4.3: Robot arm parameters
Parameter m1 m2 L1 L2
Value 0.1kg 0.1kg 0.5m 0.5m
The parameters of the actuator dynamics are given in Table 4.1.
Quadrotor model in [14] is adopted in this study, and the model pa-
rameters are summarized in Table 4.2. The robot arm parameters are
also summarized in Table 4.3. Based on the model parameters, numer-
ical simulation is performed with zero initial values; i.e., Euler angles,
φ = θ = ψ = 0, and the joint angle, q1 = q2 = 0.
38
The following three different Euler angle commands are considered.
ϕ1 = [6 sin(t), 6 cos(t), 6 sin(t)]T
ϕ2 = [6, 6, 0]T for 8sec
= [−6,−6, 0]T for 8sec (4.3)
ϕ3 = [10, 10, 0]T
Also, the following trigonometrical functions are considered as the low
frequency moment uncertainty.
∆1 = [0.3 cos(t),−0.2 sin(t
2), 0.05 sin(
t
3)]T
∆2 = [sin(t), 0, 0]T (4.4)
First moment uncertainty mimics the effects of an unknown payload while
the quadrotor is under the attitude control. Second uncertainty represents
the effects of the robot arm extended far away from the quadrotor’s center
of mass with the payload. Gains of the baseline controller are chosen as
Λ1 = diag[20, 5, 8]
Kp1 = diag[1, 1, 0.1]
Ks1 = diag[5, 5, 0.1]
Λ2 = diag[0.5, 0.1, 0.5]
Kp2 = diag[1, 1, 0.1]
Ks2 = diag[1, 1, 0.1] (4.5)
Kp = diag[0.4, 0.5]
Ki = diag[2, 1.8]
Kd = diag[0.3, 0.1]
ζ0 = [0, 0]T
39
Simulation cases for baseline controller and adaptive controller are sum-
marized in Tables 4.4 and 4.5. The neural network adaptive gains γv and
γw are set differently in each case, which are summarized in Table 4.6.
Table 4.4: Numerical simulation cases of baseline controller
Case Euler angle command
Case 1 ϕ1
Case 2 ϕ2
Case 3 ϕ3
Table 4.5: Numerical simulation cases of adaptive controller
Case Euler angle command Moment uncertainty
Case 4 ϕ1 ∆2
Case 5 ϕ1 ∆1
Case 6 ϕ2 ∆1
Case 7 ϕ3 ∆1
Table 4.6: Neural network adaptive gains
Parameter Case 4 Case 5 Case 6 Case 7
γw 0.08 0.05 0.07 0.2
γv 0.08 0.05 0.07 0.2
40
4.2 Simulation Results
4.2.1 Numerical Simulation of baseline controller
In this section, only the baseline controller is used for the attitude con-
trol of quadrotor with robot arm. Figures 4.1, 4.2 show the Euler angle
and joint angle responses of the Case 1. Euler angles track the command
values successfully, and joint angles track the command values well. Note
that little time delay is shown in tracking the joint angle command. Fig-
ures 4.3 and 4.4 show the Euler angle and joint angle responses of the
Case 2. In case 2, input is a square wave, and it is hard to track the
command rapidly for the quadrotor. Therefore, 1st order command filter
is introduced for the smooth input. Simulation results of the Case 3 are
shown in Figs. 4.5 and 4.6. In summary, the baseline controller makes
the Euler angles and joint angles track the commands satisfactorily when
little uncertainty exists. Table 4.7 summarizes the root mean square error
for Euler angle tracking using the baseline controller. In Case 2 and Case
3, erms is relatively larger than Case 1 due to 1st order command filter.
Table 4.7: Rms error for euler angle tracking with little uncertainty
Case 1 Case 2 Case 3
erms(deg) 0.7907 4.2580 1.4980
41
Figure 4.1: Euler angle responses (Case 1)
Figure 4.2: Joint angle responses (Case 1)
42
Figure 4.3: Euler angle responses (Case 2)
Figure 4.4: Joint angle responses (Case 2)
43
Figure 4.5: Euler angle responses (Case 3)
Figure 4.6: Joint angle responses (Case 3)
44
4.2.2 Numerical Simulation of adaptive NN controller
Figures 4.7-4.12 show the simulation results using adaptive NN controller.
In the figure, blue dashed dotted line shows the results of baseline con-
troller, and the orange line shows the result of adaptive controller with
neural network, while the black dashed line is the command value.
Figure 4.7 shows the Euler angle response, and Fig.4.8 shows the joint
angle responses of Case 4. In Fig.4.7, baseline controller cannot prop-
erly track the roll angle command because of strong moment uncertainty
on x-axis. However, adaptive controller makes the roll angle follow the
command value except at the initial transient period because of neural
network adaptation. Figure 4.8 shows that both controllers can make the
joint angle of the robot arm follow the command values.
Figure 4.9 shows the results of Case 5. As compared to Case 4, the
moment uncertainty exists on all axes. As shown in Fig. 4.9, baseline con-
troller cannot track the command value. Thanks to neural network, the
adaptive controller can make the attitude follow the command value suc-
cessfully except at the initial transient period. The joint angle responses
are almost same as those of Case 4, because joint angle controller is sep-
arately designed from the attitude controller of the quadrotor.
Figure 4.11 shows the results of Case 6. Baseline controller cannot
properly track the command value, and the result shows that the Eu-
ler angle responses fluctuate around the command values. However, the
adaptive controller makes the quadrotor attitude follow the command
values with acceptable errors.
Figure 4.12 shows the results of Case 7. In this case, the command
value is constant, and the baseline controller cannot track the command
value because of the moment uncertainty. As shown in Figs. 4.12, the
Euler angles are oscillating. With the adaptive controller, however, the
45
constant Euler angle values are maintained despite the moment uncer-
tainty.
In conclusion, the adaptive controller with neural network accom-
plishes attitude tracking of the quadrotor under the moment uncertainty
due to unknown payload. Table 4.8 summarizes the erms of baseline and
adaptive controller. In Cases 4-7, the root mean square errors of the base-
line controller are larger than those of the baseline controller in Case 1-3
due to moment uncertainty on quadrotor. When adaptive NN controller
is used, the erms is decreased comparing to using baseline controller.
Table 4.8: The performance comparison with moment uncertainty
erms(deg)
Case Baseline Adaptive
Case4 3.3648 0.8721
Case5 2.0551 0.8149
Case6 5.1627 4.0739
Case7 2.7159 1.6394
46
Figure 4.7: Euler angle responses (Case 4)
Figure 4.8: Joint angle responses (Case 4)
47
Figure 4.9: Euler angle responses (Case 5)
Figure 4.10: Joint angle responses (Case 5)
48
Figure 4.11: Euler angle responses (Case 6)
Figure 4.12: Euler angle responses (Case 7)
49
Chapter 5
Conclusions
In this study, an adaptive neural network controller was designed for atti-
tude tracking of a quadrotor with robot arm. Previous research has dealt
with a quadrotor with robot arm systems by considering the uncertainty
due to unknown masses as an integrated manner, and moment generated
by the robot arm was not considered explicitly.
A baseline controller was designed for the quadrotor with robotic
arm system. Without payload, the effect of uncertainty generated by the
robotic arm to the quadrotor is not significant, and the baseline controller
can make the quadrotor attitude track the command value successfully.
However, with unknown payload, the moment generated by the robotic
arm significantly degrades the performance of the quadrotor attitude sta-
bilization. In this study, uncertainty caused by the robotic arm holding an
unknown payload was compensated by an adaptive neural network con-
troller. Numerical simulation results show the performance of the baseline
controller with little uncertainty as well as the adaptive neural network
controller for the quadrotor system with large moment uncertainty.
The proposed controller can be applied to quadrotor attitude con-
trol while holding an object. Further research is required regarding flight
testing considering practical missions, including guidance and control of
the quadrotor with robotic arm system. The proposed adaptive neural
network controller should also be applied for systems with more practical
uncertainty models.
50
References
[1] C. M. Korpela, T. W. Danko, and P. Y. Oh, “MM-UAV: Mobile
Manipulating Unmanned Aerial Vehicle,” Journal of Intelligent and
Robotic Systems, Vol. 65, No. 1, 2012, pp. 93-101.
[2] V. Lippiello, and F. Ruggiero, “Cartesian Impedance Control of a
UAV with a Robotic Arm,” International IFAC Symposium on Robot
Control, Dubrovnik, Croatia, Sep. 2012.
[3] G. Arleo, F. Caccavale, G. Muscio, and F. Pierri, “Control of Quadro-
tor Aerial Vehicles Equipped with a Robotic Arm,” Mediterranean
Conference on Control and Automation, Crete, Greece, June. 2013.
[4] S. Kim, S. Choi, and H. J. Kim, “Aerial Manipulation Using a
Quadrotor with a Two DOF Robotic Arm,” IEEE/RSJ Interna-
tional Conference on Intelligent Robots and Systems (IROS), Tokyo,
Japan, Nov. 2013.
[5] G. Heredia, A. E. Jimenez-Cano, I. Sanchez, D.Llorente, and
V. Vega, “Control of a Multirotor Outdoor Aerial Manipulator,”
IEEE/RSJ International Conference on Intelligent Robots and Sys-
tems, Chicago, IL, Sep. 2014.
[6] H. Yang, and D. Lee, “Dynamics and Control of Quadrotor with
Robotic Manipulator,” International Conference on Robotics and
Automation, Hong Kong, China, June. 2014.
[7] M. Orsag, C. M. Korpela, S. Bogdan, and P. Y. Oh, “Hybrid Adap-
tive Control for Aerial Manipulation,” Journal of Intelligent and
Robotic Systems, Vol. 73, No. 1, 2014, pp. 693-707.
51
[8] A. E. Jimenez-Cano, J. Martin, G. Heredia, and A. Ollero, “Con-
trol of an Aerial Robot with Multi-link Arm for Assembly Tasks,”
International Conference on Robotics and Automation, Karlsruhe,
Germany, May. 2013.
[9] S. Mcmillan, D. E. Orin, and R. B. Mcghee, “Efficient Dynamic
Simulation of an Underwater Vehicle with a Robotic Manipulator,”
IEEE Transactions on Systems, Man, and Cybernetics, Vol. 25, No.
8, 1995, pp. 1194-1206.
[10] H. Lee, S. Kim, and H. J. Kim, “Control of an Aerial Manipula-
tor using On-line Parameter Estimator for and Unknown Payload,”
International Conference on Automation Science and Engineering,
Gothenburg, Sweden, Aug. 2015.
[11] H. Lee, and H. J. Kim, “Estimation, Control, and Planning for Au-
tonomous Aerial Transportation,” IEEE Transactions on Industrial
Electronics, Vol. 64, No. 4, 2017, pp. 3369-3379.
[12] J. J. Craig, Introduction to Robotics: Mechanics and Control, 4th
edition, Pearson, Cambridge. UK. 2016.
[13] S. Mcmillan, Computational Dynamics for Robotic System on land
and under Water, Ph.D Dissertation, Department of Electrical En-
gineering, The Ohio State University, Columbus, OH, March 1994.
[14] P. Pounds, R. Mahony, and P. Corke, “Modeling and Control of a
Large Quadrotor Robot,” Control Engineering Practice, Vol. 18, No.
7, 2010, pp. 691-699.
[15] A. A. Pervozvanski, and L. B. Freidovich, “Robust Stabilization of
Robotic Manipulators by PID Controllers,” Dynamics and Control,
Vol. 9, No. 3, 1999, pp. 203-222.
52
[16] T. Lee, and Y. Kim, “Nonlinear Adaptive Flight Control Using Back-
stepping and Neural Networks Controller,” Journal of Guidance,
Control and Dynamics, Vol. 24, No. 4, 2001, pp. 675-682.
[17] Y. Lee, and Y. Kim, “Sliding Mode Based Missile-Integrated At-
titude Control Schemes Considering Velocity Change,” Journal of
Guidance, Control and Dynamics, Vol. 39, No. 3, 2016, pp. 423-436.
53
요 약 (국문초록)
로봇 팔이 장착된 쿼드로터로 복잡한 임무를 수행하는 연구들이 활발하게
수행되고 있다. 쿼드로터에 장착된 로봇 팔은 주어진 임무를 수행하는 과
정에서 쿼드로터에 외란으로 작용하고, 이러한 외란의 영향은 쿼드로터가
임무 비행중에 안정적으로 궤적을 추종하거나 정지상태를 유지하는 것을
방해할 수 있다. 따라서 외란에도 불구하고 쿼드로터가 정밀한 자세제어를
수행 할 수 있도록 강건한 제어기 설계가 요구된다.
본 논문에서는 로봇 팔이 장착된 쿼드로터의 자세제어기 설계에 관한
연구를 수행하였다. 물체를 잡지 않았을 때의 쿼드로터 로봇팔 시스템을
제어하기 위해 기준 제어기를 구성하였다. 쿼드로터 자세제어기는 슬라이
딩 모드 제어기법을 이용하여 강건 제어기를 설계하였고, 로봇 팔 제어기는
PID 제어기로 설계하였다. 물체를 잡았을 때 로봇 팔에 의해서 생기는 불확
실성 영향을 고려하기 위해 불확실성 모델을 고려하였다. 로봇팔이 물체를
잡았을때생기는불확실성을보상하고쿼드로터자세제어를수행하기위해
인공신경망을 활용한 적응제어기를 설계하였다. 제안된 기법의 성능을 검
증하기 위하여 수치 시뮬레이션을 수행하였다. 시뮬레이션 결과 로봇 팔이
임무를 수행하기 위해 다양한 임무명령이 인가되어도 쿼드로터의 자세가
안정하게 유지됨을 보였다.
주요어 : 물체, 적응 제어기, 인공신경망, 쿼드로터 로봇팔 시스템
학번: 2015-22728
54
Recommended