University of Belgrade
May, 2012
Table of Contents
1.
Introduction.......................................................................................................... 2
2.
3.
4.
2.1.
2.2.
2.3.
2.3.1.
2.3.2.
2.3.3.
2.3.4.
Combined Controller..............................................................................12
Simulation Results.............................................................................................. 13
3.1.
Nonlinear PI Controller.................................................................................13
3.2.
3.3.
3.4.
3.5.
Proportional Navigation................................................................................ 25
3.6.
1. Introduction
1
Formation control is an important field in multirobot coordinated control, which has recently
triggered the great interest of research community. Group of mobile robots show obvious advantages over
single autonomous vehicle, including greater flexibility, adaptibility and robustness. Team of mobile
robots can efficiently solve tasks such as space exploration, transportation of large objects, security tasks,
group hunt, etc.
In mobile robot formation control, common task is coordination of individual venicles. This means
that robot has to maintain its relative position in the formation pattern. Solution of formation navigation in
space with static and known obstacles is presented in this report. Basically, there are three approaches in
formation control: behavior-based methods (where group behavior consists of number of decentralized
actions, synthetized in order to accomplish global goal), virtual structure approaches (where whole
formation is treated as a single rigid body, and individual robots are particles in this structure) and leaderfollower strategy (where one of the robots is designated as a leader, while the others are treated as
followers, which are forced to track the leader). Here, leader-follower approach is adopted.
It is assumed that environment is static and known, i.e. obstacles do not change their positions in time
and their positions are assumed to be known. It is also assumed that high level planner is available, which
generates collision free trajectory for leader robot, while leader is forced to track this trajectory and avoid
obstacles on its way. Desired trajectories of the followers are generated on the basis of realized leaders
trajectory. Exact formation can be maintained only during straight-line motion. During turning, followers
desired trajectories become nonsmooth, if the formation is considered as a rigid structure. Hence,
concession must be made and idea is to consider formation motion in curvelinear instead of Cartesian
coordinates. When the desired trajectories of the followers are obtained, i.e. virtual followers, the next
step is to design a control structure which will provide two functionalities: trajectory tracking (i.e.
formation keeping) and object avoidance (i.e. prevention of collision between robot and objects of the
environment - obstacles and other vehicles). Hence, control structure consists of four controllers, each
with different functionality: trajectory tracking (TTC), obstacle avoiding (OAC), vehicle avoiding (VAC)
and combined controller (CC), whose purpose is to combine control actions of the previously mentioned
three controllers, in order to make concession between individual control actions. Two groups of TTCs
will be proposed: fuzzy controller and controllers based on missile homing and guidance laws (nonlinear
proportional-integral (PI), pure pursuit, deviated pursuit and proportional navigation controllers). OAC
and VAC are fuzzy logic based controllers (FLCs). There are some situations when formation cannot be
maintained, for example during passing through narrow corridors. Proposed control structure is not
enough, so global supervisor for formation switching becomes neccessary. Formation must change its
pattern only if it is neccessary, i.e. when the formation cannot be maintained. Kinematic model of
differentially driven two-wheeled mobile robot is assumed for simulation purposes. Simulation results
show the performance of the proposed control algorithm.
The report is organized as follows: brief review of proposed control algorithms is given in Section 2,
including kinematic model of the mobile robot, leader-follower approach for virtual robots trajectories
generation, and design of control structure. Simulation results for two different scenarios (with and
without obstacles) are given in Section 3, while the conclusion is given in Section 4.
Note: This section should include some descriptions that are already given in the first part of the
report written on Serbian (kinematic model of the mobile robot and all TTCs). These missing parts will
not be repeated here. They will be translated on English for purposes of some future paper. Also, there are
some figures with labels and annotations on Serbian, as well as tables. All of them will be translated on
English in the future.
2.1.
Kinematic
Mobile Robot
Model
of
Two-Wheel
Differentially
Driven
Generating
Virtual
2.2.
Leader-follower
Approach
Followers Trajectories
for
As previously mentioned, there are several approaches to formation control. Here, leader-follower
methodology is adopted, i.e. one of the robots is designated as leader, while the others are forced to track
it, keep the formation shape, and avoid obstacles and other robots. If the formation shape cannot be
maintained (for example if the formation is very large and corridor narrow), it is very important that the
formation is able to reconfigure dynamically (for example to reconfigure into convoy).
It is also assumed that environment is structured and static, that is, all obstacles are static and their
position is known. Algorithm for generation of virtual leaders trajectory has also been given in the first
part of the report. It is mentioned that it is not guaranteed that obtained trajectory is collision free due to
approximation errors using neural networks. Tracking is never perfect, so additional correctional
controller must be introduced, in order to prevent collision with obstacles.
Ideal differentially driven two-wheel robot can turn on the spot, so curvature of the tracking trajectory
is not limited. Unfortunately, it is not the same situation with a formation, i.e. whole formation cannot
turn on the spot. Formation shape in Cartesian coordinates can be maintained only during straight-line
motion. In order to turn the formation, concession must be made. So, the idea is to maintain the formation
in curvilinear, rather than in the rectilinear coordinates. Reference point of the formation can be arbitrarily
chosen, but in this case it will be positioned at the leaders centre of mass (COM), as depicted on
Figure 1. Let us assume that the desired trajectory of the leader is denoted by
(x Ld , y Ld , Ld ) , that is,
the trajectory of the virtual leader, while the trajectory realized by real leader is denoted by
( x L , y L , L ) . Desired trajectories for the followers will be obtained regarding the trajectory of the real
leader and denoted by
( x F , y F , F ) , i=1, , N
i
reference coordinate frame is chosen, desired position of every follower can be described by two
parameters relative to reference point:
trajectory and
Parameter
qi
pi
pi must be nonnegative, i.e. all followers must be behind or in line with leader. Parameter
3
qi
can be arbitrarily chosen. This means that the position of every follower in the formation is
pi away from its current position along its path by t , current desired
f
position and orientation of the ith follower can be obtained using following formula:
x Fi t x L t f qi sin L t f
y Fi t y L t f qi cos L
Fi
t tf
t
f
(1)
In equation (1), dependence on parameter
parameters
pi and qi
pi
pi . Formation
very important that formation is dynamic, which means that it is able to reconfigure its shape. Here,
simple algorithm is adopted. When ith virtual robot collides with an obstacle, absolute value of its
parameter
qi
must decrease. This means that ith follower and leader are in convoy. If two or more
followers collide with obstacles, absolute value of their parameters q must decrease, as well as value of
their parameters p for all followers except one. This means that formation changes its shape to convoy.
During formation switching nonholonomic constraint may not be satisfied, i.e. it is not ensured that
trajectories of virtual followers satisfy nonholonomic constraint. Hence, larger value of tracking error is
expected at the beginning of formation switching.
2.3.
As previously mentioned, control structure consists of four separate controllers, each with different
functionality: TTC, which provides formation keeping, i.e. tracking of desired trajectory, OAC, which
provides obstacle avoidance, VAC, which provides vehicle avoidance, i.e. prevents collision with other
vehicles, and CC, which has to combine individual control actions into single control which is passed to
the actuators of the robot. Basically, CC forms a weighted sum of its inputs, whose weights vary
4
according to situation in environment. Five different TTCs will be presented: fuzzy logic based controller
(FLC), nonlinear PI, pure pursuit (PP), deviated pursuit (DP) and proportional navigation (PN) controller.
FLC is intelligent control strategy which tries to mimic action of the experienced driver. PI controllers are
widely used in industrial practice. Although simple they provide satisfactory performance in control of
wide class of processes. PP, DP and PN controllers are taken from missile guidance theory. From the other
hand, VAC and OAC are FLCs. Control structure of leader and followers is very similar, i.e. leader does
not have VAC, i.e. it does not care where followers are. Followers must take care where the leader is, i.e.
they recognize leader as an obstacle. Control system structure of the followers is given on the Figure 2.
NONLINEAR PI CONTROLLER
Tracking controller should generate control action which tries to direct robot to the desired trajectory.
This action is mainly achieved by proportional term. Also, controller should have integral term in order to
decrease an error in stationary state. Let
v.
Velocity
v z v* v z ,
K p ez d
v z
ez
ez
1
e zi , e z d
Ti
0 , ez d
d d 0 min d 0 , v* / k
(2)
where
vz
e z =[ x x
y y ]
and
v .
e zi = e z dt
, respectively. Proportional gain is denoted by Kp, while Ti stands for integral constant.
As can be seen from (2), velocity correction is chosen as nonlinear function of errors sum, i.e. deadzone around desired point is introduced. Introducing nonlinearity is necessary, because it does not allow
oscillations of robot position when it comes close enough to the desired point. Dead-zone changes its size
depending on desired velocity, i.e. it decreases when desired velocity increases. Parameter
d0
determines the size of the dead zone when desired trajectory approaches destination point, i.e. maximal
value of tracking error when real vehicle approaches the destination point.
It is necessary to avoid integrator windup. Simple anti-windup algorithm is adopted, i.e. integral term
freezes on the previous value, when one of the motors saturates.
It can be seen from inverse kinematic equations that angular velocities of the motors
actually weighted sums of the linear and angular velocities of the robot
( , Dt )
generated by controller
( v c , )
( L , D )
are
Lt av v z a z
Dt av v z a z
(3)
where
v z
and
z , while weights
av
and
vz
given by (2),
which have to be adjusted. These parameters weight straight-line and turning capabilities of the controller.
Derivative approximation
z is given by:
z
T , ez d
*
, e d
z
Ts
where
T s denotes the sampling time. It can be seen from (4) that controller tries to align orientations
of the real and virtual robot when they are close enough, i.e. if their distance is less or equal d.
(4)
FLCs represent intelligent control systems, which try to mimic actions of the experienced operator. In
FLCs, knowledge about the process behavior is given in linguistic form, not in form of mathematical
equations. Hence, control design becomes more intuitive. FLCs are widely used in control of complex
systems, which can be hardly described mathematically. Main drawback of this method is its complexity,
i.e. large number of parameters which has to be adjusted.
In order to obtain fuzzy trajectory tracking controller, similar approach as in pure pursuit will be used.
It should try to direct the mobile robot toward current desired point, i.e. toward current position of the
virtual robot. Designed FLC has two inputs (real to virtual robot distance d and viewing angle , i.e. angle
at which real robot sees the virtual one) and two outputs (normalized linear and angular velocities of the
mobile robot,
vc
and
c ). Note that the outputs of the fuzzy system are linear and angular
velocities of the whole robot, not the angular velocities of the wheels. Angular velocities of the left and
right motors,
and
robot. It can be easily shown that angular velocities of the motors are weighted sums of linear and angular
velocities of the robot. Hence, output of the whole controller can be obtained as a weighted sum of fuzzy
inference mechanism outputs. Let
(x , y , )
(x , y , )
denotes current position of the real robot. Inputs of the FLC can be obtained using the
following formula:
d x , y , x* , y *
xx y y
* 2
* 2
, arctg
y* y
x* x
(5)
(6)
where
Kv
and
parameters weight straight-line and turning capabilities, so choice of their larger values is advisable. If the
value of
Kv
during turning will be large. Input and output membership functions are experimentally adjusted and
given on Figures 3 and 4, respectively.
Daleko
0.8
stepen pripadnosti
stepen pripadnosti
Blizu Srednje
0.6
0.2
0.2
0.1
0.2
0.3
-3
-2
-1
0.8
0.9
1
Figure 0.7
3. TTC
input
membership
functions.
0.4
0.5
0.6
rastojanje[m]
0.8
0.6
0.4
Veliko
0.2
Nazad
Desno
0
ugao[rad]
stepen pripadnosti
stepen pripadnosti
Srednje
Nula
Napred
Desno
0.6
0.4
Napred
Napred
Levo
0.8
0.4
Nazad
Levo
Mnogo
Negativna
Pola
Negativna
Nula
Pola
Pozitivna
Mnogo
Pozitivna
0.8
0.6
0.4
0.2
0.1
0.2
0.3
0.4
0.5
brzina
0.6
0.7
0.8
0.9
1
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
Figure
4.
TTC
output
membership
functions.
ugaona brzina
0.4
0.6
0.8
Fuzzy rules are derived experimentally, and rule base is given by Table 1. Note that every cell
contains abbreviations, which correspond to the two output variables linear and angular velocity,
respectively.
Proportional navigation control law (PN) is widely used in missile guidance. It has been shown that
for an aerodynamically controlled missiles, proportional navigation is an optimal control strategy in sense
of minimizing the terminal miss distance. A major advantage of PN is its relative simplicity and ease of
8
implementation, because the whole control scheme is based entirely on the instantenous direction of the
target relative to the pursuer, and its derivative.
The basic idea consists in applying to the pursuer a control force proportional to the rate of rotation of
the line of sight (LOS) and acting along a direction specified by the used variant of the PN law. Basically,
there are two variants of the PN: true (TPN) and pure (PPN), as depicted on Figure 5. TPN is LOS
referenced variant of the PN, while the PPN is referenced relative to the pursuer velocity vector. TPN is
more attractive from the point of mathematical analysis, but PPN is more attractive from the practical
point of view. This conlusion is drawn from the fact that implementation of the PPN is easier than TPN,
more efficient in terms of control effort and more robust on initial engagement geometry to ensure
acceptible trajectory behavior. In PPN law, acceleration and velocity vectors, AM and VM are always
orthogonal, that is, the applied control force cannot change the magnitude of the velocity. In TPN,
acceleration vector AM and LOS direction are normal. Hence, applied law requires forward
acceleration/deceleration, increasing the control effort in missile guidance.
V c =r
*
y y
vzy
Vz ke
(9)
where k is the gain. Based on (3) , (8) and (9), angular velocites of the wheels can be evaluated as:
Lt av v z a N &
a v a N &
Dt
(10)
where:
arctg
v r v r
& cy x 2 cx y
rx
r
ry
(11)
where
v cx
axes, and
rx
v cy
and
and
ry
Vc
( xO , yO , rO )
) and
position and radius of the obstacle, inputs and output of the controller can be obtained
yO y
xO x
'
OAC K OAC OAC
(12)
where
K OAC
stands for controller gain, which has to be determined experimentally. This gain
determines the influence of correction action of the controller on the overall control. Increase of this
parameter decreases the possibility of collision with obstacle, but has a negative influence on tracking
performance.
Input and output membership functions are experimentally adjusted and given on Figures 6 and 7,
respectively. Fuzzy rules are derived experimentally, and rule base is given by Table 2, where output
membership functions are represented with abbreviations.
10
Blizu
0.8
stepen pripadnosti
stepen pripadnosti
0.6
0.4
0.2
Nazad
Desno
Desno
Malo
Desno
Malo
Levo
Nazad
Levo
Levo
0.8
0.6
0.4
0.2
0.1
0.2
0.3
0.4
0.5
0.6
rastojanje[m]
0.7
0.8
0.9
-2
-1.5
-1
-0.5
0
0.5
ugao[rad]
1.5
stepen pripadnosti
0.8
0.6
0.4
0.2
0
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
ugaona brzina
0.4
0.6
0.8
d TV
11
'
VAC . If
(x v , y v )
denotes the position of the nearest robot, inputs and output of the controller
x xV
y yV 2b 2 , TV arctg
2
yV y
xV x
'
VAC K VAC VAC
(13)
VAC
where
denotes controller gain. This gain has similar influence on overall control as
OAC
Input and output membership functions are given on Figures 8 and 9, respectively, while the fuzzy rule
base is given by Table 3.
Although, proposed controller is efficient, there are still some situations which have to be further
investigated. In some cases, it is a good solution to stop one vehicle while the other one moves far
enough. This solution degrades tracking quality of the stopped vehicle, but upgrades the overall tracking
performance, i.e. tracking performance of whole formation, making whole situation simpler. So, the idea
is to introduce priority. Priority vehicle is the one which is closer to the current collision point. Collision
point is the intersection point between x axes of local coordinate frames of two robots that are close
enough. Hence, priority vehicle continues to travel, while the other one stops and continues to travel when
the distance between them becomes large enough. This simple algorithm is very efficient, especially at the
beginning (i.e. during formation establishing), when the possibility of jamming is reduced.
Table 3. Fuzzy rule base for vehicle avoiding controller.
Blizu
0.8
stepen pripadnosti
stepen pripadnosti
0.6
0.4
0.2
Velika
Srednja
0.8
0.6
0.4
0.2
0.1
0.2
0.3
0.4
0.5
0.6
rastojanje[m]
0.8
0.9
1
-1.5
-1
-0.5
0
0.5
Figure 0.7
8. OAC
input
membership
functions.
brzina priblizavanja[m/s]
12
1.5
Nazad
Desno
Nazad
Levo
0.8
stepen pripadnosti
stepen pripadnosti
0.6
0.4
0.2
0.8
0.6
0.4
0.2
-3
-2
-1
0
ugao[rad]
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
Figure 19. OAC2 output3 membership
functions.
ugaona brzina
0.4
0.6
0.8
2.3.4.Combined Controller
In the previous part of the report, three distinct controllers have been introduced: TTC, OAC and
VAC. The task of the combined controller is to make concession between control actions of these
controllers, depending on situation and to generate single control input, which is passed to the robot
motors. When the robot is far away from the objects of the environment, TTC action has to be only active.
When the robot approaches the obstacle, contribution of the OAC must increase. Also, if robots are
approaching to each other, contribution of the VAC must increase. If the robot is close to the obstacle and
another robot, all three controllers must remain active. It is very important to note that the contribution of
the TTC action is never below some nonzero threshold value, in order to ensure movement in the desired
direction. Hence, TTC contribution has to increase when the robot moves away from the objects, OAC
contribution has to increase when robot approaches obstacle, while the VAC contribution has to increase
when robot approaches another vehicle. CC can be defined as a weighted sum, whose weights are
variable, depending on situation:
1 K1min
1 K1min
K1 min min 1,
dTO K1min , min 1,
dTV K1min
d kO
d kV
K max
K max
K 2 max 0, 2 dTO K 2max , K 3 max 0, 3 dTV K 3max
d kO
d kV
where
K max
3
min
K1
K2
and
d kO
(14)
max
K2
and
d kV
K2
and
K3
decrease to zero,
and
d TV ) increases. Gain
K 1 depends on d and d TV ,
3. Simulation Results
Tracking performance of the closed loop system will be presented in two separate scenarios: with and
without obstacles. As previously mentioned, the difference between proposed controllers is only in TTC
part, while the other elements remain the same. It is assumed that TTCs in all robots are of the same type.
In both scenarios, desired trajectory of the leader is the same. Mean square error (MSE) is used as a
measure of tracking quality.
Dimensions of the robot are adopted as follows: robot half-width is
r=6 cm . Maximum angular velocities of the wheels of the leader robot are assumed to be
max
L =15 rad / s , while the motors of the followers must be more powerful, in order to track more
demanding maneuvers, i.e.
max
L =27 rad /s . Triangular formation with three robots (leader and two
p1= p2=80 cm
and
q 2=q1=40 cm . During
all simulations, controller gains of leader robot are different from those of followers. Controller gains of
both followers are the same. Output of CC is filtered with simple first order filter
G ( s )=
1
0.2 s+1 , in
3.1.
Nonlinear PI Controller
Controller gains are also determined experimentally, and for leader robot are chosen as follow:
TTC : K p 5, Ti 0,5, k 10, d 0 0.05m, av 66.68, a 9.33
OAC : K OAC 7.5
CC : K1min 0.5, K 2max 0.7, d kO 0.6m
(15)
while controller gains for followers are chosen as:
14
d c 2 d c1
TTC : K p
, d c1 d min dc 2
d min
(16)
It can be seen from (16) that proportional gain of the follower PI depend on vehicle to object distance
d min , i.e. it decreases when distance to closest object increases. It is experimentally shown that this
variable gain is better solution than the constant one, i.e. avoiding capability is improved. Proportional
gain
Kp
and gains
av
and
K min
1
) improves tracking performance, but degrades avoiding capability.
K max
2
and
K OAC
and
K VAC
, as well as
K max
3
. It is the rule for all controllers, i.e. tracking performance can be improved
increasing the TTC gains, while avoiding capabilities can be improved increasing the gains that belong to
VAC and OAC. These two goals are opposite, i.e. improve of tracking quality usually leads to degradation
of avoiding capability and vice versa. Hence, chosen values of parameters are compromise between these
two opposite goals.
Tracking performance in obstacle-free scenario has been shown of Figures 10-12, while the one in
scenarios with obstacles has been shown on Figures 13-15. Position and orientation tracking, together
with x and y error component are shown on Figures 10 and 13, control signals on Figures 11 and 14, while
two-dimensional view of robots motion have been presented on Figures 12 and 15. Dotted lines show the
paths of the virtual robots, while the solid lines correspond to the real robots. Leader is represented with
black, first follower with blue, while the second follower is represented with red color. Filled pink circles
represent obstacles, while dotted pink lines represent obstacle edge enlarged by robot dimension.
It is assumed that starting points of real and virtual leaders are close to each other, while starting
points of real and virtual followers can be arbitrary distant. Starting points of the followers are chosen
such that their trajectories collide at the early stages of formation establishing. Tracking performance is
satisfactory, as well as collision avoidance with vehicles. Unfortunately, obstacle avoidance can be
unsatisfactory in some cases, when collision avoidance and sharp maneuver are required. It can be seen
from Figure 15 that the first follower slightly touches obstacle 2. The level of noise in control signal is not
too large.
15
15
0.8
leader
follower 1
follower 2
5
0
-5
10
15
20
25
30
35
0.2
-0.2
40
10
15
20
25
30
35
40
1
0.5
0
ey [m]
y[m]
0.4
10
15
20
25
30
35
-0.5
-1
leader
follower 1
follower 2
1
0
leader
follower 1
follower 2
0.6
ex [m]
x[m]
10
leader
follower 1
follower 2
-1.5
-2
40
10
15
20
25
30
35
40
orientation[rad]
4
leader
follower 1
follower 2
2
0
-2
-4
10
15
20
time[sec]
25
30
35
40
15
15
10
10
[rad/s]
L
[rad/s]
D
LEADER
5
0
-5
-10
10
15
20
25
30
35
-10
40
[rad/s]
L
FOLLOWER 1
[rad/s]
D
10
15
20
25
30
35
40
10
15
20
25
30
35
40
30
35
40
20
10
0
0
-20
-10
0
10
15
20
25
30
35
-40
40
30
40
20
20
[rad/s]
L
FOLLOWER 2
[rad/s]
D
40
20
10
0
0
-20
-10
-20
0
-5
30
-20
-40
Figure
nPI20case.
10
15 11.
20 Control
25
30 signals
35
40in obstacle-free
0 scenario
5
10 15
25
time[sec]
time[sec]
16
y[m]
-1
-2
-3
Figure
12.
Two-dimensional
view
of robots4 motion in 6obstacle free
nPI case.
-2
0
2
8 scenario 10
x[m]
15
1
leader
follower 1
follower 2
0.5
0
-5
10
15
20
25
30
35
-0.5
40
10
15
20
25
30
35
40
15
20
25
30
35
40
leader
follower 1
follower 2
0.5
0
ey [m]
y[m]
1
leader
follower 1
follower 2
3
2
-0.5
-1
1
0
leader
follower 1
follower 2
ex [m]
x[m]
10
-1.5
0
10
15
20
25
30
35
-2
40
10
orientation[rad]
4
leader
follower 1
follower 2
2
0
-2
-4
10
15
20
time[sec]
25
30
35
Figure 13. Trajectory tracking performance in scenario with obstacles nPI case.
17
40
15
10
10
[rad/s]
L
LEADER
[rad/s]
D
15
0
-5
-10
10
15
20
25
30
35
-10
40
30
[rad/s]
L
FOLLOWER 1
[rad/s]
D
0
-10
10
15
20
25
30
35
40
10
15
20
25
30
35
40
30
35
40
10
0
-10
-20
0
10
15
20
25
30
35
-20
40
30
30
20
20
10
[rad/s]
L
FOLLOWER 2
[rad/s]
D
20
10
0
-10
-20
30
20
-30
0
-5
10
0
-10
-20
-30
Figure
14. Control
signals
obstacles
nPI
10
15
20
25
30
35 in40scenario with
0
5
10
15
20 case.
25
time[sec]
time[sec]
y[m]
1
0
-1
-2
-3
Figure
15.
view
with
obstacles10 nPI case.
-2 Two-dimensional
0
2 of robots4 motion in scenario
6
8
x[m]
3.2.
18
TTC : K v K 15
OAC : K OAC 7.5
CC : K1min 0.4, K 2max 0.6, d kO 0.4m
(17)
where L in subscript is used to designate leader robot. Controller gains of the followers are chosen as:
TTC : K v K 27
OAC : K OAC 24
CC : K1min 0.4, K 2max 0.6, K 3max 0.8, d kO d kV 0.4 m
(18)
where L and F in subscript is used to designate leader and follower robot, respectively. All parameters
have been determined experimentally, as a compromise between tracking performance and object
avoiding capability. Increase of
Kv
and
avoiding capability.
Tracking performance in obstacle-free scenario has been shown of Figures 16-18, while the one in
scenario with obstacles has been shown of Figures 19-21. As can be seen from the presented figures,
proposed control structure is good solution to both, tracking and object avoiding. At the beginning,
formation has to be established. During this phase, there is large possibility of collision between
followers. As can be seen from Figures 18 and 21, proposed solution avoids collision successively. Also,
formation switching, as well as obstacle avoidance is executed successively (see Figure 21). Also, level of
noise in control signal is not large.
3.3.
Pure pursuit controller is simplified version of proposed PI. It does not have integral term and deadzone. Hence, this type of controller tries to generate control which will guide real robot directly on virtual
one. Parameters are similar to those listed in PI, and there influence on tracking and avoiding capability is
similar to PI case. Controller gains for leader robot are:
TTC : K 5, av 12.5, a 2.25
OAC : K OAC
9
L
CC : K1min 0.5, K 2max 0.6, d kOL 0.6m
(19)
while the parameters of followers are:
TTC : K 4, av 12.5, a 2.25
OAC : K OAC 12
VAC : K VAC 22.5
CC : K1min 0.5, K 2max 0.8, K 3max 0.8, d kO 0.4m, d kV 0.6m
(20)
19
15
0.8
leader
follower 1
follower 2
0.4
0.2
0
-5
0
0
10
15
20
25
30
35
-0.2
40
10
15
20
25
30
35
40
0
ey [m]
y[m]
0.5
3
2
10
15
20
25
30
35
-0.5
-1
leader
follower 1
follower 2
1
0
leader
follower 1
follower 2
0.6
ex [m]
x[m]
10
leader
follower 1
follower 2
-1.5
-2
40
10
15
20
25
30
35
40
orientation[rad]
4
leader
follower 1
follower 2
2
0
-2
-4
10
15
20
time[sec]
25
30
35
40
15
10
[rad/s]
L
[rad/s]
D
LEADER
10
-5
0
10
15
20
25
30
35
-5
40
30
30
20
20
10
10
[rad/s]
L
FOLLOWER 1
[rad/s]
D
-10
0
-10
-20
10
15
20
25
30
35
10
15
20
25
30
35
40
10
15
20
25
30
35
40
30
35
40
-20
40
30
20
[rad/s]
L
20
10
0
-10
-10
30
FOLLOWER 2
[rad/s]
D
10
0
-10
-20
-30
Figure
Control
signals
in40obstacle-free
scenario
15 FLC
10
1517. 20
25
30
35
0
5
10
20 case.
25
time[sec]
time[sec]
20
y[m]
-1
-2
-3
Figure
18.
view
free8 scenario 10 FLC case.
-2 Two-dimensional
0
2 of robots
4 motion in obstacle
6
x[m]
15
1
leader
follower 1
follower 2
0.5
0
-5
10
15
20
25
30
35
-0.5
40
10
15
20
25
30
35
40
15
20
25
30
35
40
leader
follower 1
follower 2
0.5
0
ey [m]
y[m]
1
leader
follower 1
follower 2
3
2
-0.5
-1
1
0
leader
follower 1
follower 2
ex [m]
x[m]
10
-1.5
0
10
15
20
25
30
35
-2
40
10
orientation[rad]
4
leader
follower 1
follower 2
2
0
-2
-4
10
15
20
time[sec]
25
30
35
Figure 19. Trajectory tracking performance in scenario with obstacles FLC case.
21
40
15
15
10
[rad/s]
L
[rad/s]
D
LEADER
10
-5
0
10
15
20
25
30
35
-5
40
30
30
20
20
10
10
[rad/s]
L
FOLLOWER 1
[rad/s]
D
-10
0
-10
-20
10
15
20
25
30
35
10
15
20
25
30
35
40
10
15
20
25
30
35
40
30
35
40
-20
40
30
20
[rad/s]
L
20
10
0
-10
-10
30
FOLLOWER 2
[rad/s]
D
10
0
-10
-20
-30
Figure
20.
Control
signals
scenario with
obstacles
FLC
10
15
20
25
30
35 in 40
0
5
10
15
20 case.
25
time[sec]
time[sec]
y[m]
1
0
-1
-2
-3
Figure
21.-2 Two-dimensional
view2 of robots4motion in scenario
with
0
6
8 obstacles10 FLC case.
x[m]
Tracking performance in obstacle-free scenario has been shown of Figures 21-23, while the one in
scenario with obstacles has been shown of Figures 24-26. The main advantage of this method is its
simplicity. From the other hand, level of noise in control signal is large, and motion of the robot has
22
undesired oscillations (see Figures 21 and 24). Maneuver of the first follower around obstacle 2 is critical
again, and there is slight collision between them.
3.4.
Deviated pursuit controller is similar to the pure pursuit. Controller of this type does not guide robot
directly on the target, i.e. it guides robot in direction of overtaking the target. Hence, as lead angle
increases, the difference between paths of real and virtual robots increases. In order to ensure good
tracking, smaller values of lead angle are advisable.
Parameters of leaders controller are chosen as:
TTC : K 4, / 24, av 12.5, a 2.25
OAC : K OAC
12
L
CC : K1min 0.5, K 2max 0.6, d kOL 0.6m
(21)
15
1
leader
follower 1
follower 2
0.5
0
-5
10
15
20
25
30
35
-0.5
40
10
15
20
25
30
35
40
0
ey [m]
y[m]
0.5
3
2
10
15
20
25
30
35
-0.5
-1
leader
follower 1
follower 2
1
0
leader
follower 1
follower 2
ex [m]
x[m]
10
leader
follower 1
follower 2
-1.5
-2
40
10
15
20
25
30
35
40
rientation[rad]
2
1
0
-1
leader
follower 1
follower 2
-2
-3
10
15
20
time[sec]
25
30
35
23
40
15
10
10
[rad/s]
L
LEADER
[rad/s]
D
15
0
-5
-10
-10
0
10
15
20
25
30
35
-15
40
30
30
20
20
10
10
[rad/s]
L
FOLLOWER 1
[rad/s]
D
-15
0
-10
-20
-30
10
15
20
25
30
35
40
10
15
20
25
30
35
40
30
35
40
0
-10
10
15
20
25
30
35
-30
40
30
30
20
20
10
10
0
-10
-20
-30
-20
[rad/s]
L
FOLLOWER 2
[rad/s]
D
0
-5
0
-10
-20
-30
Figure
Control
signals
in40 obstacle-free
scenario
15 PP20case.
10
1522. 20
25
30
35
0
5
10
25
time[sec]
time[sec]
y[m]
-1
-2
-3
Figure
23.
Two-dimensional
view
of robots
scenario10 PP case.
-2
0
2
4 motion in6 obstacle free
8
x[m]
24
15
1
leader
follower 1
follower 2
0.5
ex [m]
x[m]
10
5
0
-5
10
15
20
25
30
35
-0.5
40
10
15
20
25
30
35
40
0
ey [m]
y[m]
0.5
3
2
10
15
20
25
30
35
-0.5
-1
leader
follower 1
follower 2
1
0
leader
follower 1
follower 2
leader
follower 1
follower 2
-1.5
-2
40
10
15
20
25
30
35
40
rientation[rad]
2
1
0
-1
leader
follower 1
follower 2
-2
-3
10
15
20
time[sec]
25
30
35
40
15
15
10
10
[rad/s]
L
[rad/s]
D
LEADER
0
-5
-10
-10
0
10
15
20
25
30
35
-15
40
30
30
20
20
10
10
[rad/s]
L
FOLLOWER 1
[rad/s]
D
-15
0
-10
-20
-30
10
15
20
25
30
35
40
10
15
20
25
30
35
40
30
35
40
0
-10
10
15
20
25
30
35
-30
40
30
30
20
20
10
10
0
-10
-20
-30
-20
[rad/s]
L
FOLLOWER 2
[rad/s]
D
0
-5
0
-10
-20
Figure
25. Control
signals
in40scenario -30with
obstacles
10
15
20
25
30
35
0
5
10
15 PP
20 case.
25
time[sec]
time[sec]
25
y[m]
1
0
-1
-2
-3
Figure
26.
Two-dimensional
view
of robots4 motion in 6scenario with
obstacles10 PP case.
-2
0
2
8
x[m]
(22)
Tracking performance in obstacle-free scenario has been shown of Figures 28-30, while the one in
scenario with obstacles has been shown of Figures 31-33. Presented results are very similar to those
obtained in pure pursuit case. Presence of noise in control signals is large, so there are oscillations in
robot motion (see Figures 28 and 31). It can be seen from Figures 30 and 33 that paths realized by real
and virtual vehicles do not coincide, because real robot tries to intercept the virtual one directing ahead of
it, i.e. overtaking it. Unfortunately, the second follower slightly collides with obstacle 3 (see Figure 33).
3.5.
Proportional Navigation
Proportional navigation is very popular guidance scheme in control of missiles, due to its simplicity
and ease of implementation. Turn rate of the whole robot should be proportional to the angular velocity of
LOS rotation.
26
15
1.5
leader
follower 1
follower 2
0.5
0
-5
10
15
20
25
30
35
-0.5
40
10
15
20
25
30
35
40
0
ey [m]
y[m]
0.5
3
2
10
15
20
25
30
35
-0.5
-1
leader
follower 1
follower 2
1
0
leader
follower 1
follower 2
1
ex [m]
x[m]
10
leader
follower 1
follower 2
-1.5
-2
40
10
15
20
25
30
35
40
rientation[rad]
2
1
0
-1
leader
follower 1
follower 2
-2
-3
10
15
20
time[sec]
25
30
35
40
15
15
10
10
[rad/s]
L
[rad/s]
D
LEADER
0
-5
-10
-10
0
10
15
20
25
30
35
-15
40
30
30
20
20
10
10
[rad/s]
L
FOLLOWER 1
[rad/s]
D
-15
0
-10
-20
-30
10
15
20
25
30
35
10
15
20
25
30
35
40
10
15
20
25
30
35
40
30
35
40
0
-10
-30
40
40
20
20
[rad/s]
L
10
0
-10
0
-20
-20
-30
-20
30
FOLLOWER 2
[rad/s]
D
0
-5
-40
10
1529. 20
25
30
35
0
5
10
25
Figure
Control
signals
in40obstacle-free
scenario
15 DP20 case.
time[sec]
time[sec]
27
y[m]
-1
-2
-3
-2
0
2
8
Figure
30.
Two-dimensional
view
of robots4 motion
in 6obstacle free
scenario10 DP case.
x[m]
15
1.5
leader
follower 1
follower 2
5
0
-5
10
15
20
25
30
35
-0.5
40
10
15
20
25
30
35
40
1
0.5
0
ey [m]
y[m]
0.5
0
10
15
20
25
30
35
-0.5
-1
leader
follower 1
follower 2
1
0
leader
follower 1
follower 2
1
ex [m]
x[m]
10
leader
follower 1
follower 2
-1.5
-2
40
10
15
20
25
30
35
40
rientation[rad]
2
1
0
-1
leader
follower 1
follower 2
-2
-3
10
15
20
time[sec]
25
30
35
28
40
15
10
10
[rad/s]
L
LEADER
[rad/s]
D
15
0
-5
-10
-10
0
10
15
20
25
30
35
-15
40
30
30
20
20
10
10
[rad/s]
L
FOLLOWER 1
[rad/s]
D
-15
0
-10
-20
-30
10
15
20
25
30
35
10
15
20
25
30
35
40
10
15
20
25
30
35
40
30
35
40
0
-10
-30
40
40
20
20
[rad/s]
L
10
0
-10
0
-20
-20
-30
-20
30
FOLLOWER 2
[rad/s]
D
0
-5
Figure
32. Control
signals
in40scenario -40with
obstacles
10
15
20
25
30
35
0
5
10
15 DP
20 case.
25
time[sec]
time[sec]
y[m]
1
0
-1
-2
-3
-2 Two-dimensional
0
2 of robots
4 motion in scenario
6
8
Figure
33.
view
with
obstacles10 DP case.
x[m]
29
TTC : k 3, N 4, av 20, a 2, 4
OAC : K OAC
6
L
CC : K1min 0.5, K 2max 0.6, d kOL 0.6m
(23)
while the parameters of the followers controllers are:
TTC : k 2, N 4, av 20, a 2, 4
OAC : K OAC 9
VAC : K VAC 7,5
CC : K1min 0.5, K 2max 0.6, K 3max 0.6, d kO 0.4m, d kV 0.6m
(24)
Tracking performance in obstacle-free scenario has been shown of Figures 34-36, while the one in
scenario with obstacles has been shown of Figures 37-39. Presented results show that proposed solution is
very good. Tracking is very good, collision with both, obstacles and other vehicles, is avoided, and
presence of noise in control signals is not large, comparable with the FLC case. Unfortunately, controller
based on proportional navigation law is sensitive to the disturbances. VAC and OAC act as a disturbance
on PN tracking controller. Hence, it can happen in some cases that real robot does not converge to the
desired trajectory, especially if the navigation constant is large.
15
1
leader
follower 1
follower 2
0.5
0
-5
10
15
20
25
30
35
-0.5
40
10
15
20
25
30
35
40
0
ey [m]
y[m]
0.5
3
2
10
15
20
25
30
35
-0.5
-1
leader
follower 1
follower 2
1
0
leader
follower 1
follower 2
ex [m]
x[m]
10
leader
follower 1
follower 2
-1.5
-2
40
10
15
20
25
30
35
40
3
leader
follower 1
follower 2
rientation[rad]
2
1
0
-1
-2
10
15
20
time[sec]
25
30
35
30
40
15
10
10
[rad/s]
L
LEADER
[rad/s]
D
15
0
-5
-10
-10
0
10
15
20
25
30
35
-15
40
30
30
20
20
10
10
[rad/s]
L
FOLLOWER 1
[rad/s]
D
-15
0
-10
-20
-30
10
15
20
25
30
35
40
10
15
20
25
30
35
40
30
35
40
0
-10
10
15
20
25
30
35
-30
40
30
30
20
20
10
10
0
-10
-20
-30
-20
[rad/s]
L
FOLLOWER 2
[rad/s]
D
0
-5
0
-10
-20
-30
10
1535. 20
25
30
35
0
5
10
15
20 case.
25
Figure
Control
signals
in40 obstacle-free
scenario
PN
time[sec]
time[sec]
y[m]
-1
-2
-3
-2
0
2
8
Figure
36.
Two-dimensional
view
of robots4 motion
in 6obstacle free
scenario10 PN case.
x[m]
31
15
1
leader
follower 1
follower 2
0.5
0
-5
10
15
20
25
30
35
-0.5
40
10
15
20
25
30
35
40
0
ey [m]
y[m]
0.5
3
2
10
15
20
25
30
35
-0.5
-1
leader
follower 1
follower 2
1
0
leader
follower 1
follower 2
ex [m]
x[m]
10
leader
follower 1
follower 2
-1.5
-2
40
10
15
20
25
30
35
40
3
leader
follower 1
follower 2
rientation[rad]
2
1
0
-1
-2
10
15
20
time[sec]
25
30
35
40
15
15
10
10
[rad/s]
L
[rad/s]
D
LEADER
0
-5
-10
-10
0
10
15
20
25
30
35
-15
40
30
30
20
20
10
10
[rad/s]
L
FOLLOWER 1
[rad/s]
D
-15
0
-10
-20
-30
10
15
20
25
30
35
40
10
15
20
25
30
35
40
30
35
40
0
-10
10
15
20
25
30
35
-30
40
30
30
20
20
10
10
0
-10
-20
-30
-20
[rad/s]
L
FOLLOWER 2
[rad/s]
D
0
-5
0
-10
-20
10
1538. 20
25
30
35
0
5
10
15 PN
20
25
Figure
Control
signals
in40 scenario-30with
obstacles
case.
time[sec]
time[sec]
32
y[m]
1
0
-1
-2
-3
0
2 of robots
4 motion in scenario
6
8
10 PN case.
Figure
39.-2 Two-dimensional
view
with
obstacles
x[m]
3.6.
As previously mentioned, MSE (average tracking error) will be adopted as a measure of quality. MSE
values for the proposed control laws and considered scenarios are given by Table 4.
Table 4. MSE values for the proposed control strategies.
Considering the given table and result given previously on figures, it can be said that FLC is slightly
better than the other control strategies. The tracking performance is very good, as well as avoiding
capability. In this case, interaction with OAC and VAC is the best, in sense that their correction does not
decelerate the robot velocity, making its movement between the obstacles very natural. Also, noise in
control signals is very low. Proportional navigation is also very good approach, and regarding the
computational burden, it is much simpler than FLC. Presence of noise in control is similar to the FLC, but
the interaction with OAC and VAC is a little bit worse. The remaining three controllers show the similar
performance. The nPI is better solution than the PP and DP, which show the similar performance. The
main drawback of the PP and DP is very large level of noise in control signals, making the motion of the
robot oscillatory.
generates desired trajectory for the leader, based on knowledge about obstacles position and shape.
Desired trajectories for the followers are generated using approach based on curvilinear coordinates, and
are referenced regarding the real leaders trajectory. For motion control of robots in formation, control
scheme with trajectory tracking and object avoiding capabilities is presented here. Although, controller
can redirect robot if the collision with other robots or obstacles is possible, in some cases, collision can
happen, so, simple algorithm for formation switching is proposed. In order to test formation behavior,
various control strategies are considered, which can be roughly devided into two categories: fuzzy logic
based controller and controllers inspired by missile guidance laws. Performance of control strategies is
presented using simulations in two scenarios: with and without obstacles. It is also shown that fuzzy logic
and proportional navigation based controllers ouperforms the others.
Main drawback of the proposed solution is in its inability to deal with dynamic obstacles, i.e. its
success in dynamic environments is not guaranteed. So, some future work should include implementation
of online trajectory planning algorithm as well as simulations utilizing more realistic dynamic model of
the wheeled mobile robot, instead of simple kinematic model.
34