You are on page 1of 17

Research Article

International Journal of Advanced


Robotic Systems
March-April 2018: 1–17
Simple nonlinear control of quadcopter ª The Author(s) 2018
DOI: 10.1177/1729881418767575
for collision avoidance based on journals.sagepub.com/home/arx

geometric approach in static environment

Ha Le Nhu Ngoc Thanh, Nguyen Ngoc Phi and Sung Kyung Hong

Abstract
A simple, robust nonlinear controller for quadcopters to avoid collisions, based on the geometry approach and
kinematics equation, is proposed. The controller allows the quadcopter to avoid single and multiple obstacles. Once
an obstacle with a high possibility of collision is detected, a boundary sphere of the obstacle is generated to
determine the collision zone. Afterward, the tracking error angles between the quadcopter’s motion direction and
the tangential lines from the quadcopter’s current position to the boundary sphere are computed to steer the
direction of the quadcopter for collision avoidance. A guidance law and a velocity control law are obtained from the
Lyapunov stability based on the tracking error angles and relative distances between vehicle and obstacles. In
addition, a method to drive the quadcopter to the target position after the completion of collision avoidance is
introduced. The effectiveness of the proposed collision-avoidance algorithm is demonstrated through the result of a
numerical simulation.

Keywords
Collision avoidance, geometric approach, nonlinear control, collision cone, quadcopter

Date received: 2 October 2017; accepted: 23 February 2018

Topic: Field Robotics


Topic Editor: Andrey V Savkin
Associate Editor: Yongping Pan

Introduction obstacles. Richards and How2 proposed a method to find


optimal trajectories for multiple aircraft to avoid collision
At present, quadcopters are used in a variety of appli-
with each other. Budiyanto et al.3 introduced a potential
cations. They are well suited for autonomously perform-
field to avoid collisions with obstacles based on optimal
ing complicated civilian or military operations.
path planning. Lin and Saripalli4 proposed a real-time path-
However, because a low altitude is usually required in
planning method for UAVs to avoid collision with other
most of these missions, the issue of collisions between
aircraft or obstacles through motion uncertainty. In this
quadcopters and various obstacles is very serious and
occurs frequently. Therefore, quadcopters must have the
autonomous capability to avoid collision for safe and Faculty of Mechanical and Aerospace Engineering, Sejong University,
stable operation. Seoul, Republic of Korea
To solve this problem, various solutions have recently
been reported in the literature. Many of them are inspired Corresponding author:
Sung Kyung Hong, Faculty of Mechanical and Aerospace Engineering,
by path-planning algorithms. Chen et al.1 proposed a path- Sejong University, 1003A, Chungmugwan, 209 Neungdong-ro, Gwangjin
planning approach for unmanned aerial vehicles (UAVs) Gu, Seoul 143-747, Republic of Korea.
with tangent-plus-Lyapunov vector field guidance to avoid Email: skhong@sejong.ac.kr

Creative Commons CC BY: This article is distributed under the terms of the Creative Commons Attribution 4.0 License
(http://www.creativecommons.org/licenses/by/4.0/) which permits any use, reproduction and distribution of the work without
further permission provided the original work is attributed as specified on the SAGE and Open Access pages (https://us.sagepub.com/en-us/nam/
open-access-at-sage).
2 International Journal of Advanced Robotic Systems

method, collision prediction for UAVs is performed using the geometry approach and kinematics equation. Once
reachable sets, and collision-avoidance path planning is an obstacle is detected, a boundary sphere of the obsta-
generated through a sampling-based method. Several cle is defined to determine the collision zone (or colli-
other studies related to the collision-avoidance ability for sion cone). The radius of boundary sphere is determined
autonomous robot system can be found in the works of Dai considering both the dimension of vehicle and obstacles
et al.5 and Rubio et al.6 However, these methods are based in order to facilitate more rapid finding of avoidance
on optimization techniques, which require intensive angle. Afterward, the tracking error angles between the
computation. quadcopter’s motion direction and the tangential lines
Another approach inspired by geometry was proposed from the quadcopter’s current position to the boundary
in 1998 by Chakravarthy and Ghose,7 who introduced a sphere are computed to steer the quadcopter in the left
collision cone for collision detection and collision or right directions for collision avoidance. A guidance
avoidance between two irregularly shaped moving law and a velocity control law are obtained from Lya-
objects with unknown trajectories. The collision cone punov stability based on the tracking error angles and
is effectively used to detect the possibility of collision relative distances between vehicle and obstacles. In this
between a robot and an obstacle (in both static and manner, both the heading angular rate and velocity of
dynamic environments). Also, recently Wang et al.8 pro- the quadcopter are analyzed and controlled simultane-
posed a three-dimensional (3D) navigation strategy to ously. The advantages of this algorithm are the ability
reach a target position while avoiding collisions with to find the shortest path to avoid obstacles and reach the
obstacles based on the enlarged vision cone. Seo preplanned target position after completion of collision
et al.9 proposed a method to avoid collision for UAVs avoidance. In addition, the guidance and velocity control
in formation flight. Zhiyong et al.10 presented a method laws are considered simultaneously to ensure safe flights
to equip UAVs with collision-avoidance capacity based within speed and angular rate limitations.
on the minimum angle shift. Another collision- Furthermore, this study proposes a simple and prac-
avoidance approach was proposed by Goss et al.,11 in tical nonlinear controller and compares with other most
which collision avoidance was realized between two air- advanced approaches19–21 with considerations of the
craft in a 3D environment using a combination of a implementation on a real-time embedded system. The
collision cone and the geometric approach. Shin proposed full control scheme consists of multi-loop
et al.12,13 presented an obstacle-avoidance method for architecture (i.e. outer loop and inner loop). The pro-
UAVs based on differential geometry. Generally, these posed algorithms for collision avoidance and approach-
collision-avoidance algorithms seem to be simple and ing to the target position are implemented in the outer
facilitate fast response with low computational require- loop of position and heading control to generate the set
ments. However, most of them are limited to guidance point of velocity and heading angular rate. In the inner
laws, and the UAV’s velocity is considered constant loop, the conventional proportional integral derivative
throughout the flight time. Therefore, collision may (PID) control law for velocity and angular rate control
occur if a UAV is in flight with a high velocity and the is implemented. To verify the collision-avoidance per-
heading angular rate is limited in the control loop. formance and to demonstrate the effectiveness of the
A more practical method for the collision avoidance of proposed algorithm, simulations with various scenarios
UAVs based on vision sensors has been developed by were performed.
Gosiewski and Cieśluk.14 In this method, the UAV avoids The remainder of this article is organized as follows.
collision with obstacles based on the Lucas–Kanade The “System modeling” section presents the dynamic
method for estimating optical flow and gradient, which is model and kinematic equation of the quadcopter. The def-
implemented on a real-time embedded system. Fasano initions and assumptions for collision avoidance based on
et al.15 proposed a fully autonomous multisensor (radar and the geometric approach are presented in the “Collision-
camera) anti-collision system for UAVs. Choi et al.16 pro- avoidance algorithm” section, and the guidance and velo-
posed a real-time mid-air reactive collision-avoidance sys- city control laws are analyzed using Lyapunov stability
tem for UAVs based on a single vision sensor. Another theory in this section. The results of numerical simulations
interesting method is to mimic the human behavior of are presented in the “Simulation results and discussion”
detecting collision using a monocular camera, as proposed section. Finally, concluding remarks are given in the
by Al-Kaff et al. 17 Aguilar et al.18 also proposed an “Conclusions” section.
obstacle-avoidance system for UAVs using the monocular
onboard camera. These methods are the good solutions for
collision-avoidance system. However, most of them are System modeling
focused on the image processing techniques for detection
and size estimation of obstacles.
Brief mathematical model of quadcopter
The present study proposes a simple, robust nonlinear In many previous studies, the dynamic model of the quad-
controller for quadcopters to avoid collisions based on copter was clearly explained and proved through many
Thanh et al. 3

Boundary sphere of Real obstacle


obstacle shape
Rmc
Circumsphere of
y real obstacle
N

yo O
Rob

Detection area
β+
Dt Dt ≤ Ddetect
P
vmc β–
e
Rmc ψ mo
ψm
Figure 1. Quadcopter configuration, inertial frame E, and body ym x′
frame B. M
quadcopter

xm xo x
simulations and experimental results.22–30 The dynamic
model of the quadcopter is configured in this study by
Figure 2. Geometry of the quadcopter and an obstacle.
the inertial frame E and body frame B, as shown in
Figure 1. Let the vector ½x; y; z0 represent the position
of the center of the quadcopter; Ix ; Iy , and Iz denote Equation (2) represents the system’s input variables
the moment of inertia of the quadcopter; m denotes the of movement; Oi denotes the speed of the propeller i;
total mass; and J r denotes the rotor inertia. Let the Fi ¼ bOi denotes the thrust generated by rotor i; and b
vector ½f; q; 0 denote three Euler angles representing and d denote the thrust and drag coefficients,
the roll, pitch, and yaw angles, respectively, where respectively.
f 2 ðp=2; p=2Þ; q 2 ðp=2; p=2Þ; and 2 ðp; pÞ .
The mathematical model of the quadcopter is described
by the following equations23
Kinematic equation
8 Let Rmc denotes the radius of the quadcopter (including
>
> 1
>
> x€ ¼ ð cosf sinq cos þ sinf sin Þ U 1 propellers), and Mðxm ; ym Þ represents its current position in
>
> m Cartesian coordinates. m denotes the heading angle, and
>
>
>
> vmc and o denote the velocity and heading angular rate of
>
> 1
>
> y€ ¼ ð cosf sinq sin  sinf cos Þ U 1
>
> m the quadcopter, respectively. The kinematic equation of the
>
>
>
> quadcopter and the relation among its coordinates are
>
> 1
>
>€ z ¼ g þ ð cosf cosqÞ U1 shown in Figure 2. The equation is expressed in two dimen-
>
> m
< sions as follows
  ð1Þ
>
>
> f€ ¼ q_ _ Iy  Iz  J r q_ O þ l U 2 2 3 2 3
>
> Ix Ix Ix x_m cos 0 
>
> m 
> 6 7 6 sin vmc
>
>
>   4 y_m 5 ¼ 4 m 075 ð3Þ
>
>
> €q ¼ f_ _ Iz  Ix þ J r f_ O þ l U 3 o
>
> Iy Iy Iy _m 0 1
>
>
>
>  
>
>
>
>
>
> € ¼ f_ q_ Ix  Iy þ 1 U 4
: Iz Iz
Collision-avoidance algorithm
The first three equations of expression (1) describe the
linear velocity vector, and the next three equations describe Fundamental definitions
the angular velocity vector. This section presents the definitions of important para-
The relation among force, moment, and velocity of the meters of the quadcopter for laying the foundation of the
rotor is described as follows23 proposed collision-avoidance algorithm. In order to be
8 easy to compute and design a controller, the obstacle is
>
> U1 ¼ bðO 21 þ O22 þ O 23 þ O24 Þ
>
> considered as a circumsphere of real obstacle shape.
>
> 2 2
< U2 ¼ bðO2 þ O 4 Þ These definitions are based on the geometry, as shown
U3 ¼ bðO21 þ O 23 Þ ð2Þ in Figure 2.
>
>
> 2 2 2
> U4 ¼ dðO 1 þ O 2  O3 þ O 4 Þ 2
>
> Definition 1: Boundary sphere of obstacle. The radius of
:
O ¼ O1 þ O 2  O3 þ O 4 boundary sphere of an obstacle is defined as follows
4 International Journal of Advanced Robotic Systems

R ¼ Rmc þ Rob ð4Þ vmc


where Rob denotes the radius of the obstacle and
Rob min  Rob  Rob max , Rob min ; Rob max denote the min-
M
imum and maximum obstacle radius, respectively. The
position of the obstacle is stationary at Oðxo ; yo Þ.
Dt

Definition 2: Obstacle detection. The quadcopter detects an


obstacle when the relative distance Dt satisfies the follow- (Proj)v Dt Rob
mc

ing relation O
jjDtjj  D detect ð5Þ
!
where jjDtjj ¼ jjMO jj denotes the relative distance
between the quadcopter and an obstacle. D detect denotes
the detection radius; it is also the detection range of the Figure 3. Completion of collision avoidance.
sensor.

Definition 3: Collision. The collision of the quadcopter with jjDtjjjjvmc jj cosa


ðProjÞvmc Dt ¼ svmc ¼ vmc ð8Þ
an obstacle occurs when the relative distance Dt satisfies jjvmc jj2
the following relation
where s is scalar.
jjDtjj < R ð6Þ
According to equation (8), if cosa < 0; ð a 2 ðp=2; pÞ
or a 2 ðp; p=2Þ Þ then the collision avoidance is com-
Definition 4: Collision detection and avoidance direction. Let pleted. That is, at the time the quadcopter has just success-
bþ and b ð 0 < bþ < p= 2;  p= 2 < b < 0Þ denote fully avoided an obstacle, the velocity vector vmc is
! ! perpendicular to vector Dt, and the collision detection
the angles of tangent line vectors MN and MP with respect
angle a reaches p=2. From this statement, the collision-
to the vector Dt, respectively.
avoidance algorithm is activated if a satisfies the following
Collision detection: Collision will occur in the future if
relation
the velocity vector vmc of quadcopter is inside the collision

cone NMP or the heading angle m satisfies the following 0 < a < bþ < p=2
relation ð9Þ
p=2 < b < a < 0
ff PMx0 < m < ff NMx0 , mo  jb j < m < mo þ bþ
ð7Þ Definition 6: Collision algorithm activation. Let
D active ð0 < D active  D detect Þ denote the relative distance
Avoidance direction. The quadcopter has two between the quadcopter and an obstacle at which the
options to change the direction to avoid collision collision-avoidance algorithm activated. The avoidance
based on the heading angle. Let a denote collision action will work when the relative distance Dt satisfies the
detection angle and a ¼ ðvmc ; DtÞ ¼ m  mo (as following relation
shown in Figure 2).
jjDtjj  D active ð10Þ
 option 1: a  0 , mo  m < mo þ bþ , or the
velocity vector vmc is in ff NMO. The best direction Expressions (9) and (10) are the conditions to activate
of quadcopter for collision avoidance is to turn left. the collision-avoidance algorithm.
Therefore, a tracks bþ .
 option 2: a < 0 , mo  jb  j < m < mo , or the Controller design
velocity vector vmc is in ff PMO. The best direction
In this section, the guidance and velocity control laws are
of quadcopter for collision avoidance is to turn right.
designed to avoid obstacles. The objective is to design a
Therefore, a tracks b .
controller such that the collision detection angle a tracks
the angle b+ until a  bþ or a  b  . Let e be the tracking
Definition 5: Completion of collision avoidance. The colli- error
sion avoidance is successfully completed if the projec- e ¼ b+  a ð11Þ
tion of vector Dt ðDt 6¼ 0Þ onto vector vmc ðvmc 6¼ 0Þ is
opposite to the direction of vector vmc , as shown in From geometry constraints, b+ and a are computed as
Figure 3 follows
Thanh et al. 5

  From equation (12), the derivative of bþ and b iscom-


+ 1 R
b ¼ + sin ð12Þ puted as follows
jjDtjj !
+1 _
RjjDtjj
The relative distance jjDtjj is computed as follows _b+ ¼ sffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
  2 jjDtjj2
R
qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 1
jjDtjj
jjDtjj ¼ ðxo  xm Þ 2 þ ðyo  ym Þ 2 ð13Þ
+ R
, b_ ¼ _
qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi jjDtjj ð15Þ
The derivative of jjDtjj is computed as follows 2 2
jjDtjj jjDtjj  R

_ ¼  x_m ðxo  xm Þ þ y_m ðyo  ym Þ


jjDtjj ð14Þ Substituting equations (3) and (14) into equation (15),
jjDtjj we obtain

 
+ +Rvmc ðxo  xm Þ ðyo  ym Þ
b_ ¼ qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi cos m þ sin m ð16Þ
jjDtjj jjDtjj
jjDtjj jjDtjj2  R2

The collision detection angle a is obtained as follows Consider that the candidate Lyapunov function and its
derivative are given as follows
a¼ m  mo ð17Þ
1
where V0 ¼ e2 ð23Þ
  2
yo  ym  
mo ¼ tan1 ð18Þ V_ 0 ¼ ee_ ¼ e
sin e
v  o
xo  xm mc ð24Þ
jjDtjj cosb+
From equations (17) and (18), the derivative of a is
computed as follows A method to achieve a negative value of V_ 0 is to choose
ðvmc ; oÞ as follows
a_ ¼ _ m  _ mo (
2 3
vmc ¼ k 1 jjDtjj cosb +
6  7 ð25Þ
6 1 y_m ðxo  xm Þ þ x_ m ðyo  ym Þ 7 o ¼ k 1 sine þ k 2 e
¼ _m  6
6   2
7
7
4 yo  ym ðxo  xm Þ2 5
þ1 where k 1 and k 2 are positive values.
xo  xm
x_m ðyo  ym Þ  y_m ðxo  xm Þ
¼ _m  Controller gain turning
ðxo  xm Þ2 þ ðyo  ym Þ 2
We assume that the heading angle of the quadcopter
x_m ðyo  ym Þ  y_m ðxo  xm Þ satisfies option 1 in definition 4. Let vmc max and o max
, a_ ¼ _ m  ð19Þ ðvmc max > 0; o max > 0 Þ denote the limited velocity
jjDtjj2
and heading angular rate of the quadcopter,
Substituting equation (3) into equation (19), we obtain respectively
  
1 ðyo  ym Þ ðxo  xm Þ 0  vmc  vmc max
a_ ¼ o  vmc cos m  sin m ð26Þ
jjDtjj jjDtjj jjDtjj 0  o  o max
ð20Þ
Let b min ðb min > 0Þ denote the minimum value of angle
e_ is computed from equation (11) as follows bþ .
+ According to definition 1
e_ ¼ b_  a_ ð21Þ    
1 Rmc þ Rob min 1 Rmc þ Rob max
Substituting equations (11), (16), (17), and (20) into sin  b active  sin
D active D active
equation (21), we obtain
   ð27Þ
sine vmc
e_ ¼ 1 ð22Þ where b active ¼ sin1 ðR=D active Þ is the value of angle
jjDtjj cosb + o
bþ at the time the collision-avoidance algorithm is
(Equation (22) is proved in Appendix 1.) activated.
6 International Journal of Advanced Robotic Systems

From equation (27), b min is obtained as follows


  (a)
1 Rmc þ Rob min
b min ¼ Minðb active Þ ¼ sin ð28Þ
D active
Let e max ðe max > 0Þ denote the maximum value of N2
O2
tracking error e. At the time that the collision-avoidance max ( Dt1 , Dt2 ) ≤ Ddetect
algorithm is activated, e ¼ e max . P2
From equation (27), e max is obtained as follows
 
1 Rmc þ Rob max
e max ¼ Maxðb active Þ ¼ sin ð29Þ O1
D active P1 Dt2

According to equations (25) and (26)


N1
vmc max Dt1 β2
0 < k1  ð30Þ vmc
D active cosðb min Þ β1
α1 α 2
o max  k 1 sinðe max Þ ψ mo (2)
0 < k2  ð31Þ ψm
e max
x
Expression (31) is satisfied if M ψ mo (1)

o max
k1 < ð32Þ
sinðe max Þ (b)
The controller gains k 1 and k 2 are obtained from equa-
tions (30) to (32). Detection area

In option 2 (definition 4), the controller gains k 1 and k 2 max ( Dt1 , Dt 2 ) ≤ Ddetect
N2 O2
can also be determined by the same method as for option 1.
Expressions (30) to (32) are also effective for option 2.
P2

Collision avoidance with multiple obstacles O1


P1 Dt2
In this section, the collision-avoidance algorithm is
extended for multiple obstacles. To avoid collisions with N1
multiple obstacles, a new avoidance direction is recalcu- Dt1 vmc β 2
lated based on the number of obstacles and geometry con- β1
straints. Let us assume that the quadcopter can detect all α1 α 2
obstacles within the range of sensor. Typical cases of mul- ψ mo (2)
ψm
tiple obstacles are shown in Figure 4(a) and (b). Two obsta- x
cles are considered to define the collision zone; the relative M ψ mo (1)
position between the quadcopter and multiple obstacles is
considered as follows.
Figure 4. (a) Relation between quadcopter and two obstacles O 1
In Figure 4(a), the collision may occur between the and O2 when collision will occur. (b) Relation between quadcop-
quadcopter and two obstacles (obstacles O1 and O2 ) ter and two obstacles O 1 and O 2 when collision will not occur.
because the velocity of the quadcopter vmc is in the collision
zone of obstacle O 1 ðff N 1 MP 1 Þ (as in definition 4). For
multiple obstacles, two consecutive obstacles must satisfy the relative position of the quadcopter and two obstacles
the following relation does not satisfy expression (33). In this case, the velocity
ff P1 Mx < ff N 2 Mx < ff N 1 Mx ð33Þ vmc is not in the collision zone of obstacle O1 or O 2 , and
collision-avoidance action is not required. If the velocity
The collision zone is defined as follows in Figure 4(a) vmc is in the collision zone of obstacle O1 or O2 , this case
becomes the single-obstacle problem.
ff P 2 Mx < m < ff N 1 Mx ð34Þ
In Figure 4(a) and (b), two obstacles are considered.
Collision may occur if the relative position of the quad- However, additional obstacles can be included with the
copter and multiple obstacles satisfies both expressions same method. The proposed algorithm is extended to n
(33) and (34). obstacles. Again, we assume that the quadcopter is able
Conversely, collision will not occur between the quad- to detect n obstacles within the range of the sensor; the
copter and two obstacles O 1 and O2 in Figure 4(b) because relative position between two consecutive obstacles and
Thanh et al. 7

equation (25) based on the Lyapunov stability is also


effective.
 case 3

Let

a 1 ; :::; ai < 0
ð36Þ
aiþ1 ; :::; an > 0
Therefore, the current velocity vmc is in ff O1 MOn .
From expression (36), the quadcopter can choose from
two directions to avoid the series of obstacles: left or right.
The avoidance direction is determined as follows
a turnleft ¼ Minða 1 ; :::; ai Þ ¼ a 1 ð37Þ
a turnright ¼ Maxðaiþ1 ; :::; an Þ ¼ an ð38Þ
The tracking error angles of two avoidance directions
Figure 5. Relation between quadcopter and multiple obstacles:
are obtained as follows
extended method.
e turnleft ¼ bþ
1  a turnleft ð39Þ
quadcopter satisfies expression (33); and vector vmc is in
the zone of collision ff N1 MPn , as shown in Figure 5. e turnright ¼ b
n  a turnright ð40Þ
The collision detection angles of n obstacles are calcu- From equations (39) and (40),
lated as follows If je turnleft j > je turnright j, the quadcopter turns right with
8 
>
> a 1 ¼ m  moð1Þ a ¼ a turnright ¼ an
>
> ð41Þ
>
> .. e ¼ e turnright ¼ b
>
> . n a
>
>
>
< ai ¼ m 
moðiÞ and a tracks b  n.
ð35Þ If je turnleft j  je turnright j, the quadcopter turns left with
>
> aiþ1 ¼ m  moðiþ1Þ
>
> 
>
> .. a ¼ a turnleft ¼ a 1
>
>
>
> . ð42Þ
>
: e ¼ e turnleft ¼ bþ 1 a
an ¼ m  moðnÞ
and a tracks b þ
1.
where i ¼ 1; n  1. The proposed controller at equation (25) based on the
From Figure 5, it is easy to recognize that the quadcopter Lyapunov stability is also effective in this case (The
has two directions to avoid obstacles: The first direction is proposed controller at equation (25) based on the Lya-
to turn left of the obstacle O1 and the second direction is to punov stability is also effective in case 3. It is proved in
turn right of the obstacle On . The collision-avoidance strat- Appendix 2.).
egy is divided into three cases:

 case 1: a 1 ; :::; an  0 Target position approach


Let a turnleft ¼ Minða 1 ; :::; an Þ ) a1 ¼ a turnleft  0; This section introduces the algorithm to steer the quadcop-
therefore, the current velocity vector vmc is in ff N 1 MO 1 ter to the target position after the completion of collision
of obstacle O 1 . This case becomes the single-obstacle avoidance.
problem (option 1 of definition 4 for obstacle O 1 ) with In option 1, let SðxS ; yS Þ and T ðxT ; yT Þ denote the start
a ¼ a 1 tracks b þ 1 ; the quadcopter turns left for collision and target positions of the quadcopter, respectively. We
avoidance. Therefore, the proposed controller at equation assume that M 1 is the position at which collision avoidance
(25) based on the Lyapunov stability is also effective in is completed (definition 5). However, the quadcopter can-
this case. not directly move to point T from M 1 along a straight line
 case 2: a 1 ; :::; an  0 M 1 T (Figure 6). Instead of M1 T , the curve M1 M 0 1 T is a
Let a turnright ¼ Maxða1 ; :::; an Þ ) an ¼ a turnright  0 ; good path candidate. This path is divided into two areas.
therefore, the current velocity vector vmc is in ff Pn MOn
of obstacle On . This case becomes the single-obstacle Area 1. The current position of the quadcopter
problem (option 2 of definition 4 for obstacle On ) with M 2 ff M1 TI , mt > I . In this area, the normal heading
a ¼ an tracks b n ; the quadcopter turns right for colli- controller (P controller) is applied to control the heading
sion avoidance. Therefore, the proposed controller at angle to steer the quadcopter from position M1 to a position
8 International Journal of Advanced Robotic Systems

qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
where d ¼ ðxT  xm Þ 2 þ ðyT  ym Þ 2 , Kp pos > 0.
When the quadcopter closely approaches target
point ðd  1 mÞ, the velocity must be decreased to stop
at the destination. Therefore, the error is calculated as
follows
ext ¼ xT  xm ð48Þ
eyt ¼ yT  ym ð49Þ
The method to reach the target point in option 2 (defi-
nition 4) is identical to that in option 1.

Simulation results and discussion


Simulation conditions
Numerical simulations were conducted to test the perfor-
mance of the proposed method. Several conditions and
assumptions were considered for the simulations. First, the
case of a stationary obstacle is considered. The position and
velocity of the quadcopter are determined from the
Figure 6. The path of quadcopter to reach the target position embedded global positioning system (GPS)/inertial naviga-
after obstacle-avoidance completion. tion system (INS) systems. The obstacles are detected by a
light detection and ranging (LiDAR) or vision sensor
outside the angle ff M 1 TI with a constant velocity of vmc 0 system.
m/s. Therefore, m tracks mt with error et . The heading Second, the simulation assumed that the quadcopter is in
angular rate set point is generated from the outer control flight at a constant altitude h ¼ 10 m, with the start posi-
loop as follows (Figure 7) tion Sð1; 1Þ and a constant velocity of 2 m/s. An obstacle
exists at position Oð8; 15Þ (for the single-obstacle prob-
o ¼ et Kp yaw ¼ Kp yaw ð mt  mÞ ð43Þ lem). The radius of the quadcopter is Rmc ¼ 0:35 m
(including propellers). The sensor of the quadcopter can
where Kp yaw > 0
detect an object within 8 m. The other parameters are listed
 
1 yT  ym in Table 1.
mt ¼ tan ð44Þ
xT  xm
0 1 Simulation results
 
yT  yo B R C
I ¼ tan1  sin1 @qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiA In this section, the results of the simulation are presented to
xT  xo 2 2 demonstrate the effectiveness of the proposed collision-
ðxT  xo Þ þ ðyT  yo Þ
avoidance algorithm.
ð45Þ
Single obstacle. The first simulation was conducted for
option 1 in definition 4. This simulation was performed
Area 2. Once the position of the quadcopter M is outside the with the target position of the quadcopter set to
angle ff M 1 TI ð mt  I Þ, the quadcopter can directly T ð11; 23Þ. Hence, the velocity vmc is in the left-half colli-
move to the target position along a straight line. The normal sion cone NMO (Figure 2). The simulation results are
position and heading controller of the quadcopter (P con- shown in Figures 8 to 15. All the figures are divided into
troller) are used in this case, as shown in Figure 7. To make three areas by the time of collision-avoidance algorithm
the quadcopter move toward the target point with a constant activation and the time at which a  b þ (as shown in
velocity vmc 0 and stop at this point, the errors ext and eyt of Figures 10 and 12).
the position controller are calculated as follows In area 1, the collision-avoidance algorithm is not acti-
  vated because the relative distance is greater than active
xT  xm vmc 0 distance ðjjDtjj > D active Þ. Hence, the quadcopter moves
ext ¼ ð46Þ
d Kp pos toward the obstacle with a constant velocity of 2 m/s
  (Figure 14), the heading angular rate is zero (Figure 11),
yT  ym vmc 0 and the heading angle does not change, as shown in
eyt ¼ ð47Þ
d Kp pos Figure 15. In this area, the distance jjDtjj linearly
Thanh et al. 9

Figure 7. General block diagram of proposed algorithm.

Table 1. Numerical parameters and initial values for simulation.

Parameters Values Unit Note


Rmc 0.35 m Including propellers
m 1.12 kg
Ix 0.0119 kg m2
Iy 0.0119 kg m2
Iz 0.0223 kg m2
g 9.81 N/s2
Rob 2.0 m
D detect 8.0 m
D active 6.0 m
h 10.0 m
vmc 0 2.0 m/s Constant velocity
o0 0.0 rad/s Initial angular rate
ðxS ; yS Þ (1,1) (m, m) Start position
ðxo ; yo Þ (8,15) (m, m) Obstacle position
vmc max 5.0 m/s
Figure 8. Path performance in three dimensions with target
o max 100 deg/s
position Tð11; 23Þ.
Rob max 3.0 m
Rob min 0.1 m
k1 0.3 D active Þ (Figure 10). Therefore, the collision-avoidance
k2 0.4 algorithm is activated to control the behavior of the quad-
copter for avoiding collision with the obstacle, as shown in
area 2 of Figure 10. In this area, the velocity vmc and head-
decreases, and the quadcopter approached the obstacle R ing angular rate o are controlled simultaneously to ensure
(Figure 10). that collision does not occur.
At time t ¼ 3:9 s, the obstacle is detected As shown in Figure 14 (in area 2), the velocity gradually
ðjjDtjj  D detect Þ, and at t ¼ 4:9 s, the relative distance decreases as the quadcopter comes closer to the obstacle. In
jjDtjj is less than the active distance ðjjDtjj ¼ 5:9 m < the meantime, the heading angular rate o starts to increase
10 International Journal of Advanced Robotic Systems

Figure 12. Angle a tracking b þ with target position Tð11; 23Þ.

Figure 9. Path performance in two dimensions with target


position Tð11; 23Þ.

Figure 13. Tracking error e with target position Tð11; 23Þ.

Figure 10. Relative distance between the quadcopter and


obstacle with target position Tð11; 23Þ.

Figure 14. Velocity performance of the quadcopter with target


position Tð11; 23Þ.

Figure 11. Heading angular rate performance of the quadcopter


with target position Tð11; 23Þ.

and then gradually decreases when the quadcopter


approaches the obstacle (Figure 11). Hence, a tracks bþ
(Figure 12), and tracking error converges to zero (Figure 13). Figure 15. Attitude angles and heading angle of the quadcopter
The heading angle m gradually increases to turn the with target position Tð11; 23Þ.
Thanh et al. 11

Figure 16. Path performance in three dimensions with target


position Tð12; 22Þ.

quadcopter left for collision avoidance, as shown in Figure 17. Path performance in two dimensions with target
Figures 8, 9, and 15. During this process, the relative position Tð12; 22Þ.
distance is always greater than the boundary radius
ðjjDtjj  RÞ (Figure 10).
Area 3 begins at time t ¼ 13:6 s; a ¼ 82:6 . Here, a
becomes greater than bþ (Figure 12). Thus, the velocity
vector of the quadcopter is outside the collision zone.
Therefore, the algorithm to avoid obstacles stops working.
However, a and bþ continuously approach 90 . From this
point onward, collision will not occur, and the velocity of
the quadcopter starts to increase to a constant velocity of 2
m/s (Figure 14). The angular rate o becomes zero (Figure
11), and the heading angle m becomes a constant value
(Figure 15).
At time t ¼ 14:07 s, a  90  bþ (Figure 12), the
Figure 18. Relative distance between the quadcopter and
collision avoidance is successful, and the target position
obstacle with target position Tð12; 22Þ.
approach algorithm begins to work. Therefore, the mag-
nitude of the heading angular rate o starts to increase
(toward the negative direction) to drive the quadcopter
toward the target position with a constant velocity of 2
m/s (Figures 11 and 14). Once the quadcopter is close to
the target position, the velocity decreases so that the
quadcopter stops at the destination. In addition, the
movement trajectory of the quadcopter for collision
avoidance is shown in 3D and two-dimensional (2D)
in Figures 8 and 9, respectively.
The second simulation was performed for option 2 in
definition 4, with the target position of the quadcopter set to
T ð12; 22Þ. Hence, the velocity vmc is in the right-half col-
lision cone PMO (Figure 2). The results of the simulation Figure 19. Heading angular rate performance of the quadcopter
are shown in Figures 16 to 23. Similar to option 1, the with target position Tð12; 22Þ.
quadcopter moves toward the obstacle with a constant velo-
city of 2 m/s, the angular rate is zero, and the heading angle Therefore, the velocity begins to decrease (Figure 22). At
does not change in area 1. The collision-avoidance algo- the same time, the magnitude of the heading angular rate o
rithm is not activated because the relative distance jjDtjj is starts increasing (toward the negative direction) and then
greater than D active (Figure 18). gradually decreases when the quadcopter comes closer to
At time t ¼ 4:9 s, the relative distance jjDtjj ¼ 6 m  the obstacle (Figure 19). a tracks b (Figure 20). There-
D active , and the collision-avoidance algorithm is activated. fore, the heading angle m gradually decreases to turn the
12 International Journal of Advanced Robotic Systems

Figure 20. Angle a tracking b  with target position Tð12; 22Þ.

Figure 24. Path performance in three dimensions with multiple


obstacles and Tð18; 24Þ.

quadcopter right for collision avoidance (Figures 16, 17,


and 23). During this process, the relative distance is always
greater than the boundary radius of obstacle ðjjDtjj  RÞ
(Figure 18).
At time t ¼ 13:67 s, a becomes less than b  (Figure
Figure 21. Tracking error e with target position Tð12; 22Þ. 20). Thus, the velocity vector of the quadcopter is outside
the collision zone. Therefore, the algorithm to avoid obsta-
cles stops working. However, a and b  are continuously
approaching 90 . From this point onward, there is no
possibility of collision, and the velocity of the quadcopter
starts to increase to a constant velocity of 2 m/s (Figure 22).
The angular rate o is zero (Figure 19), and heading angle
m becomes a constant value (Figure 23).
At time t ¼ 14:12 s; a  90  b (Figure 20), the
collision avoidance is successful, and the target position
approach algorithm begins to work. Therefore, the heading
angular rate o starts to increase to drive the quadcopter
toward the target position with a constant velocity of 2
m/s (Figures 19 and 22). Once the quadcopter is close to
Figure 22. Velocity performance of the quadcopter with target the target point, the velocity decreases so that the quadcop-
position Tð12; 22Þ.
ter stops at the destination. In addition, the movement tra-
jectory of the quadcopter for collision avoidance is shown
in 3D and 2D in Figures 16 and 17, respectively.

Multiple obstacles. The last simulation was performed with


multiple obstacles. Three obstacles were considered in this
case, and their positions are O 1 ð8; 15Þ, O 2 ð12; 14Þ, and
O 3 ð13; 10Þ. The other conditions are listed in Table 1.
Simulations were performed with the target positions of
the quadcopter set to T ð18; 24Þ and T ð20; 22Þ.

For T ð18; 24Þ. The quadcopter moves toward the mul-


tiple obstacles ðO1 ; O2 ; and O3 Þ with a constant velocity
Figure 23. Attitude angles and heading angle of the quadcopter of 2 m/s, initial heading angular rate of zero, and initial
with target position Tð12; 22Þ. heading angle m0 ¼ 53:5 . Therefore, vmc is in the
Thanh et al. 13

Figure 28. Angle a ¼ a1 tracking b þ


1 with multiple obstacles and
Tð18; 24Þ.

Figure 25. Path performance in two dimensions with multiple


obstacles and Tð18; 24Þ.

Figure 29. Tracking error e with multiple obstacles and


Tð18; 24Þ.

Figure 26. Relative distance between the quadcopter and mul-


tiple obstacles with Tð18; 24Þ.

Figure 30. Velocity performance of the quadcopter with


Tð18; 24Þ.

Figure 27. Attitude and heading angle of the quadcopter with


multiple obstacles and Tð18; 24Þ.

collision cone ff O 1 MO 2 (Figure 25). The results of the


simulation are shown in Figures 24 to 31.
As shown in Figure 26, once jjDtjj  D active , the
collision-avoidance algorithm is activated. Hence,a ¼ a 1
tracks b þ1 (Figure 28), and the tracking error e ¼ e 1 con-
verges to zero (Figure 29). The heading angle m increases Figure 31. Heading angular rate performance of the quadcopter
to turn the quadcopter left to avoid obstacles (Figures 24, 25, with Tð18; 24Þ.
14 International Journal of Advanced Robotic Systems

Figure 34. Relative distance between the quadcopter and mul-


tiple obstacles with Tð20; 22Þ.

Figure 32. Path performance in three dimensions with multiple


obstacles and Tð20; 22Þ.

Figure 35. Attitude angles and heading angle of the quadcopter


with multiple obstacles and Tð20; 22Þ.

Figure 33. Path performance in two dimensions with multiple


obstacles and Tð20; 22Þ.
Figure 36. Angle a ¼ a3 tracking b 
3 with multiple obstacles and
and 27). During this collision-avoidance process, the relative Tð20; 22Þ.
distances are always greater than the radius of obstacles
ðjjDt 1 jj; jjDt 2 jj; jjDt 3 jj  RÞ. After the completion of colli-
sion avoidance, the quadcopter starts to move to the destina-
tion. The heading angle of the quadcopter decreases as it
moves toward the destination with a constant velocity of 2
m/s (Figures 27 and 30). Figures 24 and 25 show the perfor-
mance of the collision-avoidance algorithm in 3D and 2D,
respectively.

For T ð20; 22Þ. The next simulation was conducted with


the target position of the quadcopter set to T ð20; 22Þ; the
other conditions are listed in Table 1. The results of the
simulation are shown in Figures 32 to 39. In this case, the Figure 37. Tracking error e with multiple obstacles and
velocity vmc is in the collision cone ff O2 MO3 (Figure 33). Tð20; 22Þ.
Thanh et al. 15

to avoid single or multiple obstacles. To design the guidance


and velocity control laws, a tracking error was defined to
determine the avoidance direction. The controllers are
obtained from Lyapunov stability. Furthermore, the control-
ler gain can be found easily with the presented turning
method. In addition, a target position approach method to
steer the quadcopter to reach the destination was presented.
Numerical simulations for different scenarios were per-
formed, and the results demonstrated the good performance
of the proposed method. However, the study did not con-
sider collision avoidance for moving objects and external
disturbances. Therefore, the extension of this method to
Figure 38. Velocity performance of the quadcopter with
Tð20; 22Þ.
dynamic environments and external disturbances will be
studied in the future.

Declaration of conflicting interests


The author(s) declared no potential conflicts of interest with respect
to the research, authorship, and/or publication of this article.

Funding
The author(s) disclosed receipt of the following financial support for
the research, authorship, and/or publication of this article: This work
was supported by the Korea Institute for Advancement of Technol-
ogy (KIAT) grant funded by the Korean government (MOTIE: Min-
istry of Trade, Industry, and Energy) (no. N0002431).
Figure 39. Heading angular rate performance of the quadcopter
with Tð20; 22Þ. References
1. Chen H, Chang K, and Agate CS. UAV path planning with
Hence, a ¼ a 3 tracks b 3 (Figure 36), and the tracking error tangent-plus-Lyapunov vector field guidance and obstacle
e ¼ e 3 converges to zero (Figure 37). The heading angle m avoidance. IEEE Trans Aerosp Elect Syst 2013; 49(2): 840–856.
decreases to turn the quadcopter right to avoid obstacles 2. Richards A and How JP. Aircraft trajectory planning with
(Figures 32, 33, and 35). Subsequently, the quadcopter starts collision avoidance using mixed integer linear programming.
to move to the destination. During the collision-avoidance In: Proceedings of the American control conference, Vol. 3,
process, the relative distances are always greater than the Anchorage, AK, 8–10 May 2012, pp. 1936–1941. IEEE.
radius of boundary of obstacles (Figure 34). The perfor- 3. Budiyanto A, Cahyadi A, Adji TB, et al. UAV obstacle
mance of the collision-avoidance algorithm in 3D and 2D avoidance using potential field under dynamic environment.
is shown in Figures 32 and 33, respectively. In: 2015 International conference on control, electronics,
The simulation results demonstrate the effectiveness of renewable energy and communications (ICCEREC), Ban-
proposed method. The advantages of this algorithm are dung, Indonesia, 27–29 August 2015, pp. 187–192. IEEE.
simplicity, low computational requirements, and ability to 4. Lin Y and Saripalli S. Collision avoidance for UAVs using
find the shortest path to avoid obstacles and reach the target reachable sets. In: 2015 International conference on
position after completion of collision avoidance. Both unmanned aircraft systems (ICUAS), Denver, Colorado,
heading angular rate and velocity of quadcopter are con- USA, 9–12 June 2015, pp. 226–235. IEEE.
sidered simultaneously to ensure that collisions do not 5. Dai L, Cao Q, Xia Y, et al. Distributed MPC for formation of
occur when the vehicle travels at high speed. This method multi-agent systems with collision avoidance and obstacle
overcomes the disadvantages of previous studies that only avoidance. J Frank Inst 2017; 354(4): 2068–2085.
concern guidance law.9,13,16 This algorithm is also effective 6. Rubio JJ, Garcia E, and Pacheco J. Trajectory planning and
to multiple obstacles. Finally, the proposed simple method collisions detector for robotic arms. Neural Comput Appl
can be used to avoid collisions for quadcopter or multi- 2012; 21(8): 2105–2114.
copter in a static environment. 7. Chakravarthy A and Ghose D. Obstacle avoidance in a
dynamic environment: a collision cone approach. IEEE Trans
Syst Man Cybern 1998; 28(5): 562–574.
Conclusions 8. Wang C, Savkin AV, and Garratt M. A strategy for safe 3D
In this article, a new approach to control quadcopters to navigation of non-holonomic robots among moving obsta-
avoid obstacles was introduced. This method can be applied cles. Robotica 2018; 36: 275–297.
16 International Journal of Advanced Robotic Systems

9. Seo J, Kim Y, Kim S, et al. Collision avoidance strategies for 25. Dong W, Gu GY, Zhu X, et al. Modeling and control of a
unmanned aerial vehicles in formation flight. IEEE Trans quadrotor UAV with aerodynamic concepts. Int J Mech
Aerosp Elect Syst 2017; 53(6): 2718–2734. Aerosp Ind Mechatronic Manuf Eng 2013; 7(5): 437.
10. Zhiyong X, Xiuxia Y, Yi Z, et al. Study on dynamic guidance 26. Bouabdallah S. Design and control of quadrotors with appli-
obstacle avoidance of UAV based on the minimum angle cation to autonomous flying. PhD Thesis No. 3727, Univer-
shift. Int J Sec Appl 2016; 10(3): 393–404. sity Abou Bakr Belkaı̈d, Tlemcen, Algerie, 2007.
11. Goss J, Rajvanshi R, and Subbarao K. Aircraft conflict detec- 27. Rubio JJ, Zamudio Z, Meda JA, et al. Experimental vision
tion and resolution using mixed geometric and collision cone regulation of a quadrotor. IEEE Latin Am Trans 2015; 13(8):
approaches: AIAA guidance, navigation, and control confer- 2514–2523.
ence, Providence Rhode Island, 16–19 August 2004, Vol.1, 28. Mofid O and Mobayen S. Adaptive sliding mode control for
pp. 670–689. finite-time stability of quadrotor UAVs with parametric uncer-
12. Shin HS, Tsourdos A, and White B. UAS conflict detection and tainties. ISA Trans 2017. DOI 10.1016/j.isatra.2017.11.010.
resolution using differential geometry concepts. In: Angelov P 29. Rubio JJ, Pérez-Cruz JH, Zamudio Z, et al. Comparison of
(ed) Sense and avoid in UAS: research and applications, 1st ed. two quadrotor dynamic models. IEEE Latin Am Trans 2014;
pp. 175–204. United Kingdom: John Wiley & Sons Inc. 12(4): 531–537.
13. White BA, Shin HS, and Tsourdos A. UAV obstacle avoid- 30. Hu B, Lu L, and Mishra S. A control architecture for time-
ance using differential geometry concepts. In: Proceedings of optimal landing of quadrotor onto a moving platform. Asian J
the 18th World Congress. International Federation of Auto- Control 2017; 20: 1–12.
matic Control (IFAC), Milan, Italy, January 2011, Vol. 44,
Issue 1, pp. 6325–6330.
14. Gosiewski Z and Cieśluk J. Vision-based obstacle avoidance Appendix 1
for unmanned aerial vehicles. In 2011 4th IEEE international
Proof of equation (22). Equation (16) can be rewritten as
congress on image and signal processing, Shanghai, China,
follows
15–17 October 2011, Vol. 4, pp. 2020–2025. IEEE.
15. Fasano G, Accardo D, Moccia A, et al. Multi-sensor-based + +Rvmc
fully autonomous non-cooperative collision avoidance sys- b_ ¼ qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi cosa
tem for unmanned air vehicles. J Aerosp Comput Inf Commun jjDtjj jjDtjj2  R2
2008; 5: 338–360.
16. Choi H, Kim Y, and Hwang I. Vision-based reactive collision
Equation (20) can be rewritten as follows
avoidance algorithm for unmanned aerial vehicle. In: AIAA 1
a_ ¼ o þ vmc sina
guidance, navigation, and control conference, Portland, Ore- jjDtjj
gon, USA, 8–11 August 2011, pp. 1–18.
17. Al-Kaff A, Garcı́a F, Martin D, et al. Obstacle detection and The derivative of e is obtained as follows
avoidance system based on monocular camera and size +
e_ ¼ b_  a_
expansion algorithm for UAVs. Sensors 2017; 17: 1061. 0 1
18. Aguilar WG, Casaliglla P, and Pólit JL. Obstacle avoidance 1 B +R C
based-visual navigation for micro aerial vehicles. Electronics ¼ @qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi cosa  sinaAvmc  o
jjDtjj 2 2
2017; 6: 10. jjDtjj  R
19. Pan Y and Yu H. Composite learning from adaptive dynamic
1
surface control. IEEE Trans Autom Control 2016; 61(9): ¼ ð tanb + cosa  sinaÞvmc  o
jjDtjj
2603–2609.
2 3" #
20. Pan Y and Yu H. Biomimetic hybrid feedback feedforward
sine vmc
neural-network learning control. IEEE Trans Neural Netwk ¼4  15
Learn Syst 2017; 28(6): 1481–1487. jjDtjj cosb+ o
21. Liu H, Pan Y, Li S, et al. Adaptive fuzzy backstepping control
of fractional-order nonlinear systems. IEEE Trans Syst Man
Cybern Syst 2017; 47(8): 2209–2217.
22. Bolandi H, Rezaei M, Mohsenipour R, et al. Attitude control Appendix 2
of a quadrotor with optimized PID controller. Int Control Proof. If je turnleft j > je turnright j
Autom 2013; 4: 335–342.
From equation (41), the derivative of e is computed as
23. Bouabdallah S, Murrieri P, and Siegwart R. Design and control
follows
of an indoor micro quadrotor. In: Proceedings of the 2004 IEEE

international conference on robotics & automation, Vol. 5, e_ ¼ b_ n  a_ n
New Orleans, LA, 26 April 2004, pp.4393–4398. IEEE.

24. Xiong JJ and Zheng EH. Position and attitude tracking con- From equations (16) to (20), b_ n and a_ n can be rewritten
trol for a quadrotor UAV. ISA Trans 2014; 53: 725–731. as follows
Thanh et al. 17

0 1
 Rn vmc ðxon  xm Þ ðyon  ym ÞA
b_ n ¼ qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi @ cos m þ sin m
jjDtn jj jjDtn jj
jjDtn jj jjDtn jj2  Rn2
Rn vmc
¼ qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi cosan
jjDtn jj jjDtn jj2  Rn2

a_ n ¼ _ m  _ moðnÞ
0 1
1 ðyo  ym Þ ðxo  xm ÞA
¼o vmc @ cos m n  sin m n
jjDtn jj jjDtn jj jjDtn jj
1
¼oþ vmc sinan
jjDtn jj

1
Therefore, e_ is calculated as follows V ¼ e2

2
e_ ¼ b_ n  a_ n  
0 1 sine
V_ ¼ ee_ ¼ e vmc  o
jjDtn jj cosb 
n
1 B Rn C
¼ @qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi cosan  sinan Avmc  o
jjDtn jj 2
jjDtn jj  Rn 2 To achieve a negative value of V_ ; vmc and o are chosen
as follows
1
¼ ð tanb n cosan  sinan Þvmc  o

jjDtn jj vmc ¼ k 1 jjDtn jj cosb 
n
2 3" # o ¼ k 1 sine þ k 2 e
sine vmc
! e_ ¼ 4  15 where k 1 and k 2 are positive values.
jjDtn jj cosb
n o
Entirely similar to je turnleft j  je turnright j, the pro-
posed controller based on Lyapunov stability is also
Consider that the candidate Lyapunov function and its
effective.
derivative are given as follows

You might also like