Behavior Dynamics Based Motion Planning of Mobile Robots in Uncertain Dynamic Environments

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 25

Robotics and Autonomous Systems 53 (2005) 99–123

Behavior dynamics based motion planning of mobile


robots in uncertain dynamic environments
Xing-Jian Jing ∗
Department of Automatic Control and Systems Engineering, University of Sheffield, Sheffield, UK

Received 15 October 2004; received in revised form 23 August 2005; accepted 8 September 2005

Abstract

This paper provides a new approach to the dynamic motion planning problems of mobile robots in uncertain dynamic
environments based on the behavior dynamics from a control point of view. The fundamental behavior of a mobile robot in
motion planning is regarded as a dynamic process of the interaction between the robot and its local environment, and then it is
modeled and controlled for the motion-planning purpose. Based on behavior dynamics, the dynamic motion-planning problem
of mobile robots is transformed into a control problem of the integrated planning-and-control system. And the dynamic motion-
planning problem can be transformed into a conventional optimization problem in the robot’s acceleration space. Realization of the
collision-avoidance behavior is shown to be just a control problem of the robot’s acceleration. The proposed method can directly
provide the desired acceleration for mobile robots. No restrictions are assumed on the shape and trajectories of obstacles. No
local minima are encountered in most cases. Collision avoidance between multiple mobile robots can also be realized. Stability
of the whole planning-and-control system can be guaranteed. Our method provides a new insight to the motion-planning
problem of mobile robots based on behavior dynamics and from the control point of view. Simulation experiments illustrate
our results.
© 2005 Elsevier B.V. All rights reserved.

Keywords: Behavior dynamics; Motion planning; Mobile robots; Uncertain dynamic environment

1. Introduction

Mobile robots are expected to carry out various tasks in all kinds of application fields ranging from manufacturing
plants, warehouses, transportation, nurse service, tour guider, to national defense, resource or underwater exploration,

∗ Correspondence at: Room 316, Sir Henry Stephenson Building, Mappin Street, Department of Automatic Control and Systems Engineering,

University of Sheffield, Sheffield, S1 3JD, UK. Tel.: +44 778 653 1854.
E-mail addresses: cop05xj@sheffield.ac.uk, xingjianjing@yahoo.com.cn.

0921-8890/$ – see front matter © 2005 Elsevier B.V. All rights reserved.
doi:10.1016/j.robot.2005.09.001
100 X.J. Jing / Robotics and Autonomous Systems 53 (2005) 99–123

etc. In all these applications, a good motion planning method is very important to accomplish tasks efficiently. Hence,
motion planning of mobile robots has been extensively researched for many years [1–4,43].
However, whenever it comes to dealing with an environment that is totally or partially unknown or even dynam-
ically changing, higher degree of autonomy for a mobile robot is in demand, which requires the mobile robot to
decide its motion behavior on line in such an uncertain and dynamic environment using only sensors’ limited infor-
mation. Though it seems that such a dynamic motion-planning problem is intractable, large numbers of methods
have been proposed. The existing methods are basically as follows. (1) Configuration–time space based methods
[5–8]. A visibility graph or roadmap is usually used to search the optimal motion behavior for the mobile robot.
But this kind of methods may be computationally expensive. A method without computing the C-space obstacles
was proposed recently in [9]. And the methods searching a probabilistic roadmap were also studied in [40–43], and
improved by considering the dynamic constraints in [44,45]. (2) Planning in space and time independently [10–13].
The problem is decomposed into two smaller sub-problems: path planning and velocity planning. A feasible path
among the static obstacles is first computed, and then the velocity along the path is chosen to avoid the moving
obstacles. (3) Artificial potential fields based methods [14–18]. The mobile robot is regarded as a charged particle
moving through repulsion potentials of obstacles, and attraction potentials of the goal. The potential force provides
the most appropriate heading for the robot to take. However, local minima may be encountered when the robot is
moving between multiple obstacles. There have already been some modified methods and also some substituted
artificial fields proposed to overcome these problems [16,18,19–22]. (4) Behavior-based methods [23–25]. In this
kind of methods, fundamental behavior set or modals are defined, and mappings between sensors’ information under
different situations and reactive behaviors of the mobile robot are established. The reactive behavior of the robot can
be regarded as a weighted sum of these fundamental behaviors or be chosen from the behavior set according to an
evaluation function. (5) Intelligent computing-based methods. Genetic algorithm [26,27], neural network [28,29],
fuzzy logic [30], and reinforcement learning [31] and so on, have also been used in the dynamic motion-planning
problem. Some methods also provide good performance in specific problems. (6) Any proper combination of the
methods above may be a new method. For instance, GA is usually used to optimize some variables in the methods
(1–5), and the behavior modal usually adopts a potential-like function. (7) Integrated planning and control. This
methodology aims to combine planning and control into one uniform system, there is not a specific planning modal
in the system, and the sensors information is directly input into a navigation or motion controller [16,37]. Because
a uniform specification of the task and environment is usually needed in existing methods of this kind, it is difficult
to realize some deliberative behaviors. (8) Some new methods were also proposed recently. Cooperative collision
avoidance and navigation of multiple mobile robots were reported in [21,25,32,33]. A velocity obstacles method
was proposed in [34,35], in which the moving obstacle is transformed into a velocity obstacle. Using some concepts
in the aerospace literature, a collision cone approach was proposed in [36]. Obviously, there may be some other
methods that are not included in the categories above due to the limitation of our survey.
Above all, significant results on the motion-planning problems of a robot have been obtained in the past decades.
However, the problem of dynamic motion planning in uncertain dynamic environments has not been fully inves-
tigated. Many of the existing methods are only kinematic planning, or rely on some knowledge of the global
environment, or require some constraints on the shape or velocity of obstacles, or using the global coordinates and
so no, which may provide poor performance in some complicated situations and tasks [1–4]. Moreover, though some
methods can give the optimal motion behavior for the robot, the evaluation function is only for the path planned,
not direct from the control point of view. Furthermore, most of the existing methods just plan the desired position
or velocity for the mobile robot, few methods can directly provide the desired acceleration of the mobile robot.
In this paper, a new method based on the sensors’ information for motion planning of mobile robots in uncertain
dynamic environments is proposed. Instead of regarding the behavior as a static or discrete mapping between the
sensors’ information and reactive motion of the robot in conventional behavior-based methods, we regard it as a
dynamic process of the interaction between the robot and its local environment. Then the behavior dynamics is
established, which is the law in a dynamic process that the involved objects must obey, and it is controlled by the
objects’ dynamics. Through modeling and controlling of the behavior dynamics, optimal motion planning of the
X.J. Jing / Robotics and Autonomous Systems 53 (2005) 99–123 101

mobile robot in real time can be obtained directly in the robot’s acceleration space from a control point of view. All
the variables used for the behavior decision-making are known or measurable in the local relative coordinates on the
mobile robot. No knowledge of the shape and velocity of the obstacles are needed. The computing is simple, and no
local minima occur in most cases provided that a solution exists. Collision-avoidance coordination between multiple
mobile robots and wall-following behavior can also be generated automatically without any heuristic knowledge.
Stability of the whole planning-and-control system can be guaranteed. To the best of our knowledge, this behavior
dynamics based approach, which can direct provide the desired acceleration for the mobile robot, has not been
studied before. Simulation experiments are given to illustrate our method.

1.1. Notations

A black bold symbol denotes a vector, e.g. a vector V, and then V denotes its norm. x = arg(·) means to choose
an x satisfying (·). For any vector A, let e(A) = A/A. A point p in a plane is written as p = (px , py ), or p = [px , py ]T ,
where px and py are the corresponding components on each axis. Let eX = [1, 0]T , which denotes the unitary vector
of x-axis.

2. Behavior dynamics in motion planning

This section gives some definitions or notations, then introduces the concept of behavior dynamics, finally gives
the basic specification of the motion-planning problem. Without loss of generality, we regard a mobile robot as
a point mass, and restrict our study to the 2-D planar case. Assume that the robot considered in this paper is an
omni-directional wheeled mobile robot, it has limited maximum acceleration and velocity denoted by amax and
Vmax , respectively, and only an obstacle is inside a circle region around the mobile robot, then it can be effectively
detected by the robot sensors which may be sonar, laser and vision sensors. No constraints on the velocity and shape
of obstacles are needed. It should be noted that, the method developed in this paper can be easily extended to other
cases though we assume the robot is a holonomic one.
In motion planning problems of mobile robots, motion behaviors of the mobile robot can be classified into three
fundamental behaviors: (a) collision-avoidance behavior, (b) wall-following behavior, and (c) going-to-the-goal
behavior, which are also called CA-behavior, WF-behavior, and GG-behavior in this paper, respectively. How these
behaviors are realized and performed has great impact on the goodness of the motion planning. In most of the existing
motion-planning methods, motion behaviors are generally regarded as static and discrete behavioral reactions to
the environments, instead of dynamic processes. Thus, these methods cannot effectively and dynamically map the
local changing environment into the reactive behaviors of the robot with consideration of the robot’s dynamics.
And also, it is difficult to design some performances for the whole planning-and-control system since the reactive
behaviors, which are the interactions between the robot and its environment, together with the robot dynamics cannot
be effectively integrated into one uniform system. For these reasons, the conventional behavior-based methods may
offer poor performance for the robotic systems of large mass or high velocity. Note that dynamics of the environment
and the robot was also considered in some reactive motion planning methods [46–48] and some integrated planning
and control methods. However, these results just considered the possible changes of the environment, and did not
provide a method to model the dynamic process of the interaction between a robot and its environment. Some
existing reactive motion planners are just reactive behavior-based methods, which cannot provide optimal or more
deliberative behavior [46,48]. Moreover, behavior decision-making in conventional behavior-based methods usually
is to simply sum-up all the impacts from different obstacles with different weights. This may lead to counteraction
of different factors, and also consequently result in unexpected motion behavior or performance. Therefore, this
paper models these fundamental behaviors as dynamic processes of the interactions between the robot and its local
environments, then the desired dynamic motion behaviors can be obtained based on the control of these dynamic
processes which are called behavior dynamics. In order to obtain the behavior dynamics, a candidate method
102 X.J. Jing / Robotics and Autonomous Systems 53 (2005) 99–123

proposed in this paper is to find the key variables that can represent the dynamic process of a behavior. For this
purpose, we introduce the following variables or notations.
At time t, without specialty, assume that the mobile robot R is at the original point of the global coordinates {X,
Y} with velocity Vr and meets an obstacle at point O with velocity VO , referring to Fig. 1. Let point G = (xd , yd ) be
the goal of the robot, and V = Vr − VO , be the relative velocity of the mobile robot with respect to the obstacle. The
angles from vector Vr and VO to vector V are denoted by α and β, respectively (see Fig. 1), which are also written
as α = ∠(V, Vr ) and β = ∠(V, VO ). This paper assumes that all angles belong to [−π, π], and an angle by which a
vector is rotated in anti-clockwise is positive, else it is negative. In Fig. 1, γ, θ r , θ O are the angles from X-axis to
the vectors V, Vr , and VO , respectively. Obviously, γ = θ r + α = θ O + β. From point R, there are two lines that are
tangent to the boundary of the obstacle O and denoted by L+ and L− . The angles from vector V to L+ and L− are
denoted by γ + and γ − , respectively.

2.1. Modeling of the behavior dynamics

Using the aforementioned variables and referring to Fig. 1, the collision condition can be written as
γ + γ− ≤ 0 (1)
Once inequality (1) holds, the mobile robot is heading a collision. That is, if inequality (1) holds, the relative
velocity vector V should be controlled to rotate a desired angle at least γ + or γ − in order to avoid a collision. This
is the dynamic process of a collision-avoidance behavior, and the angle γ is the key variable in this process. In the
following, modeling of this dynamic process is developed.
Consider a vector V = 0, it can not only be written as V = [Vx , Vy ]T using its corresponding components on each
axis, also be denoted by [V,γ]T , where V = V, γ = ∠(V, eX ). And we have Vx = V cos γ, and Vy = V sin γ. Then it
is easy to obtain the following relationship:
   
V̇x V̇
V̇ = = J(V, γ) (2)
V̇y γ̇
or
   
V̇ −1 V̇x
= J(V, γ) (3)
γ̇ V̇y

Fig. 1. The robot meets an obstacle.


X.J. Jing / Robotics and Autonomous Systems 53 (2005) 99–123 103

where
   
cos γ −V sin γ cos γ sin γ
J(V, γ) = , J(V, γ)−1 = .
sin γ V cos γ − V1 sin γ 1
V cos γ

Recalling that V = Vr − VO , and from (3) we have


       
V̇ V̇x V̇rx V̇Ox
= J(V, γ)−1 = J(V, γ)−1 − (4)
γ̇ V̇y V̇ry V̇Oy

Utilizing (2), Eq. (4) yields


      
V̇ V̇r V̇O
= J(V, γ)−1 J(Vr , θr ) − J(VO , θO ) (5)
γ̇ θ̇r θ̇O

Recalling that γ = θ r + α = θ O + β, and the following relationships

sin(ω + σ) = sin ω cos σ + cos ω sin σ cos(ω + σ) = cos ω cos σ − sin ω sin σ ∀ω, σ,

With some calculations, Eq. (5) further yields


       
V̇ cos α Vr sin α V̇r cos β VO sin β V̇O
= − VO (6)
γ̇ − V1 sin α Vr
V cos α
θ̇r − V1 sin β V cos β
θ̇O

Eq. (6) is called as the behavior dynamics of a collision-avoidance behavior, in short as CA-dynamics. It is the
law that the involved robot and obstacle must obey in a collision-avoidance process. Eq. (6) is developed with
assumption that V = 0. If V ≡ 0, there must be no collision to happen, but it is noted that V = 0 cannot hold for all
the time in order to avoid an obstacle, thus this paper only considers the case V = 0. In the following, once γ is
referred, it means that V = 0 simultaneously without speciality.
In each planning period, VO can be assumed to be constant. Hence, we have V̇O = 0 and θ̇O = 0. If not, the
last term of Eq. (6) can be estimated and thus its effect can be cancelled using some methods. For simplicity, we
consider the former case in this paper. Then, (6) can be rewritten as:
    
V̇ cos α Vr sin α V̇r
= (7a)
γ̇ − V1 sin α Vr
V cos α
θ̇r

T
As for the CA-dynamics in (7a), the control input is [V̇r , θ̇r ] , which is right the acceleration of the mobile robot.
Since we only consider the changing of the angle γ, the initiative value of γ can be assumed to be zero in what
follows. It should be noted that α, V, γ(= θ γ + α), V̇r and θ̇r can all be detected or calculated in the local coordinates
on the mobile robot, therefore, there are only sensor information needed in Eq. (7a). This facilitates the motion
planning in dynamic uncertain environments. Once inequality (1) holds, the control problem of (7a) is:
Given the desired [Vd ,γ d ]T for a collision-avoidance behavior, to find a control law

V̇r = uV (Vd , V, γd , γ, α), θ̇r = uθ (Vd , V, γd , γ, α) (7b)


104 X.J. Jing / Robotics and Autonomous Systems 53 (2005) 99–123

such that the closed-loop system (7) is asymptotically stable, i.e.,


lim V (t) = Vd , lim γ(t) = γd .
t→∞ t→∞

Obviously, in order to realize a desired collision-avoidance behavior, (7b) provides not only a control law for the
behavior dynamics, but also the desired acceleration for the robot to take.
For a collision-avoidance behavior, in order for that γ + γ − < 0 does not hold, should only γ d be set to be at least
γ + or γ − for the above control problem whatever V is. That is, γ is the key variable to be controlled in system (7)
to avoid an obstacle, and Vd can be set to be any positive value. For this reason, as for the CA-dynamics we need
only consider a simplified system as follows:
  
1 Vr V̇r
γ̇ = − sin α cos α (8a)
V V θ̇r

That is, only the steering angle γ of V is considered. And to find the control law for (8a)

V̇r = uV (V, γd , γ, α), θ̇r = uθ (V, γd , γ, α) (8b)

such that system (8) is asymptotically stable, i.e., lim γ(t) = γd , where γ d is desired steering angle to be defined.
t→∞
If the goal of the mobile robot is regarded as a special obstacle, then the GG-behavior dynamics is included in
the CA-dynamics. In this case, we have V = Vr , α = 0. Then from Eq. (7a), the GG-behavior dynamics is:

V̇ = V̇r , γ̇ = θ̇r (9)

Obviously, (9) is included in system (7a), and let [Vd , γ d ]T in (7b) for GG-behavior be:

Vd = min(Vmax , G − R), γd = ∠(e(G − R), V r ) (10)

where, Vmax is a positive constant, G = (xd , yd )T and R are the goal and current position of the mobile robot,
respectively; e(G − R) is the desired direction for the robot to move in the global coordinates, which is assumed to
be known.
The WF-behavior is to follow the boundary of an obstacle till avoiding it. For large obstacles with nonconvex
shape, this behavior is effective for the robot to navigate with only local sensor information about the environments.
The dynamics of WF-behavior is the same to (9), the desired [Vd , γ d ]T in (7b) for WF-behavior can be given as

Vd = min(Vmax , G − R), γd = min(γ+ , −γ− ) (11)

where γ + and γ − correspond to the obstacle to be followed. If there exists collision risk, then CA-behavior is carried
out. Once there is no collision risk but the obstacle is still near enough to the mobile robot, and between the mobile
robot and its goal, then WF-behavior is generated in this case.
From above all, it is noted that all the fundamental behaviors in motion planning problem can be described by
the same dynamics model (7) with different desired [Vd , γ d ]T .

2.2. Planning-and-control system based on behavior dynamics

In order to illustrate our idea, only a simple case for the robot dynamics is considered in this paper. For other
cases, similar results can be developed. The dynamics model of the mobile robot is assumed to be completely
known, which is described by

M(q)q̈ + f (q, q̇)q̇ + g(q) = τ (12)


X.J. Jing / Robotics and Autonomous Systems 53 (2005) 99–123 105

with the input torque τ, the state variable q = [x,y]T , the inertia matrix M(q) ∈
2×2 , the matrix of centrifugal and
coriolis forces f (q, q̇) ∈
2×2 , and the vector of gravitational forces g(q) ∈
2 . Using computed torque control, let

τ = M(q)u + f (q, q̇)q̇ + g(q) (13)

then (12) can be rewritten as

q̈ = u (14)
T
(14) is the robot dynamics of linearization form. It is now needed to plan the desired states [q̈Td , q̇Td , qTd ] for (14) to
avoid an obstacle and go to the goal. Utilizing (7b), we have
     
V̇x V̇r uV (Vd , V, γd , γ, α)
q̈ = = J(Vr , θr ) = J(Vr , θr ) (15)
V̇y θ̇r uθ (Vd , V, γd , γ, α)

where V r = q̇ , θr = ∠(q̇, eX ), eX = [1, 0]T . (15) is the desired q̈d for (14). This implies that it needs only to
control the acceleration of the mobile robot for a desired behavior from the behavior dynamics viewpoint. Now, the
integrated planning-and-control system based on behavior dynamics can be described as:

␯˙ = B(V, Vr , α, θr )q̈ (16a)

q̈ = u (16b)

which further yields

␯˙ = B(V, Vr , α, θr )u (17a)

where
   
V cos α V r sin α
ν= , B(V, V r , α, θr ) = J(Vr , θr )−1 .
γ − V1 sin α Vr
V cos α

Note that, (16a) is the behavior dynamics, q̈ is its control input. It is needed to design a control law (7b) to realize
a desired behavior, and this behavior control law is right the desired acceleration planned for the robot dynamics
(16b).
From (16) and (17), control of the behavior dynamics is in fact a control problem in the acceleration space of the
mobile robot. The control problem for behavior dynamics (17a) is: Given desired νd and ν̇d for a desired behavior,
to find the control law uν , such that lim ␯(t) = ␯d , lim ␯(t)
˙ = ␯˙ d . (Note νd = [Vd , γd ]T )
t→∞ t→∞
For this problem, the following result is obvious.

Theorem 1. Given desired νd and ν̇d for (17a), choose a linear feedback control law uν :

uν = −K1 eν + B−1 ν̇d (17b)

Then, the closed-loop behavior dynamics system (17a) and (17b) is asymptotically stable, i.e., lim ν(t) =
t→∞
νd , lim ν̇(t) = ν̇d . Where eν = ν − νd , BK1 > 0.
t→∞
Theorem 1 presents a simple linear feed-back control law for a desired behavior. Note that (17b) is also the desired
q̈d for the mobile robot to follow in order to realize the desired behavior. As for the control of robot dynamics, we
may require not only the desired acceleration to be realized, also the robot to follow a desired velocity and go to a
desired position. For this purpose, the control problem for the robot dynamics (16b) with consideration of behavior
dynamics is:
106 X.J. Jing / Robotics and Autonomous Systems 53 (2005) 99–123

Given desired νd and ν̇d for a desired behavior and the desired q̇d and qd for the mobile robot, to find the control
law u, such that lim ␯(t) = ␯d , lim ␯(t)
˙ = ␯˙ d , lim q̇(t) = q̇d , lim q(t) = qd .
t→∞ t→∞ t→∞ t→∞
For this problem, we have the following result.

Theorem 2. Given the desired ν̇d , νd , q̇d and qd , choose a linear feedback control law u:
u = −K1 eν + B−1 ν̇d − K2 ėq − K3 eq (17c)
where, eq = q − qd , eν = ν − νd , BK1 > 0, BK2 > 0, BK3 > 0, and assume BK1 is nonsingular. Then the closed-loop
system (16) and (17c) is asymptotically stable, i.e., lim ␯(t) = ␯d , lim q̇(t) = q̇d , lim q(t) = qd .
t→∞ t→∞ t→∞

Proof. Let q̈d = −K1 eν + B−1 ν̇d , and then substitute (17c) into (16b). The closed system of the mobile robot
dynamics is ëq + K2 ėq + K3 eq = 0, it is asymptotically stable. Hence, we have lim ëq = 0. Substitute (17c) into
t→∞
(17a), we have ėν + BK1 eν = −BK2 ėq − BK3 eq = Bëq . Then, we can obtain lim eν = (BK1 )−1 lim Bëq = 0.
t→∞ t→∞
This completes the proof. 

From Theorem 1, realization of a desired behavior is equal to controlling the robot’s dynamics to follow a desired
acceleration. For this reason, we can simply let
 t  t
q̇d (t) = q̇(t0 ) + q̈d (s) ds, qd (t) = q(t0 ) + q̇d (s) ds (17d)
t0 t0

From Theorems 1 and 2, it is easy to guarantee the asymptotical stability of a desired behavior and the whole
planning-and-control system with only linear feedback control law and without consideration of uncertainties. From
the proof of Theorem 2, the error of the behavior dynamics is determined by the error of the robot’s acceleration, i.e.,
lim eν = (BK1 )−1 lim Bëq = 0, this further shows that the behavior dynamics is direct controlled by the robot’s
t→∞ t→∞
acceleration. Moreover, the motion-planning problem is now transformed into a control problem of the behavior
dynamics. Thus, the conventional control theory can be used to deal with the motion-planning problems based on
the behavior dynamics.
A structure of the whole planning-control system can refer to Fig. 2. Based on behavior dynamics, the planning
task is now to give the desired νd and ν̇d or compute the control law uν (17b) for behavior dynamics for each planning
period. Various methods can be adopted to obtain the desired νd and ν̇d or to design uν using sensor information
with consideration of the desired goal of the robot, this will be discussed further. Once νd and ν̇d are determined or
once the control law uν for behavior dynamics is determined, then q̈d is (17b), q̇d and qd can be obtained according
to (17d). Then the control law (17c) can be carried out to realize a desired motion behavior.
As mentioned above, variable methods can be used to obtain the control law (17b) for the behavior dynamics.
In Section 3, a receding horizon control like strategy is adopted for the control of behavior dynamics. Based on the

Fig. 2. A structure of the whole system.


X.J. Jing / Robotics and Autonomous Systems 53 (2005) 99–123 107

optimal control of behavior dynamics, we obtained the desired q̈d of the robot directly by solving an optimization
problem.

3. Decision-making based on control of behavior dynamics

In this section, control of behavior dynamics is provided, and then decision-making lines are introduced and
decision-making space is discussed in detail based on control of behavior dynamics. Finally, the optimal control of
behavior dynamics (or decision-making of q̈d ) is transformed into a conventional-optimization problem.

3.1. Optimal control of the behavior dynamics

Various methods can be used to design the parameters of the control law (17b) for the behavior dynamics. Since
the control law (17b) is the desired acceleration for the robot to follow as mentioned above, it should be able to
provide the optimal planning result for the robot. Hence, quadratic-optimal control of behavior dynamics is adopted
here. Moreover, we only need to consider the desired and optimal planning result for each planning period, thus
the quadratic performance can just be designed for the time interval [t, t + T1 ]. Therefore, the control of behavior
dynamics is actually in accordance with a receding horizon-like control method. The only specialty here is that the
time horizon is just a planning period. Due to that sensor information is only updated one time in one planning
period, control of the behavior dynamics in each planning period can only be designed in an open-loop way. It
should be noted that, since the motion planning is performed in each planning period, an open-loop control law
for the behavior dynamics is enough for use. And in a long time, the behavior-dynamics control system is actually
closed-loop due to that all the variables needed in the control law are updated according to the updated sensors’
information at each planning time. More results on a closed-loop receding horizon control law in a longer time
horizon for behavior dynamics will be provided in another paper, and the receding horizon control method can refer
to [49].
The steering angle γ of the relative velocity V is the key variable to be controlled for the three fundamental
behaviors as mentioned in Section 2, thus control of the behavior dynamics described in Eq. (8a) is only considered.
In order to obtain the optimal motion behavior for the robot, we have the following result. (8a) can also be written
as
 
1
V̇r
γ̇ = − V sin α V cos α
1 (18a)
Vr θ̇r

Theorem 3. Given γ d , and the quadratic performance



1 t0 +T1 T
Ju = uνγ Suνγ dt,
2 t0

T
where uνγ = V̇r Vr θ̇r , 0 < S = S T ∈
2×2 . Choose the following optimal controller

uνγ (t) = S −1 BT2 P −1 (t0 + T1 )γd (18b)

Then, the control system (18) has the optimal performance min(Ju ) = Ju (t0 ) = 1/2(P −1 (t0 + T1 )γd2 ,
where
 
sin α cos α
B2 = − ,
V V
108 X.J. Jing / Robotics and Autonomous Systems 53 (2005) 99–123

and P = PT > 0 satisfying equation


Ṗ = B2 S −1 BT2 (19)
with P(t0 ) = 0. Where T1 is a planning period and t0 the stating time of each planning period.

Proof. (8a) can be written as γ̇ = B2 uνγ with γ(t0 ) = 0. According to the open-loop quadratic optimal control of
linear systems [38], the following Lyapunov equation holds:
Ṗ = AP + PAT + B2 S −1 BT2
where, P(t0 ) = 0, A = 0. The open-loop optimal control law is
uνγ (t) = S −1 BT2 P −1 (t0 + T1 )γd
And the minimum performance index is Ju (t0 ) = 1/2(P −1 )(t0 + T1 )γd2 . This completes the proof. 

Note that q̈d = uν = J(Vr , θr ) diag{0, Vr−1 }uνγ . Also, it should be noted that T1 and t0 can be designed according
to different motivations in accordance with receding horizon control methodology. This paper just considers a special
case as that in Theorem 1. In a small time interval T1 , α can be regarded as a constant, then P can be easily obtained
from (19). Let
 
−2 s1 s3
S=V > 0,
s3 s2
and using Eq. (19), we have
T1 s2 sin2 α + T1 s1 cos2 α + 2T1 s3 sin α cos α
P(t0 + T1 ) =
s1 s2 − s32
P is a scalar in this case. Substitute the above equation into (18), we have
 
Vγd −s2 sin α − s3 cos α
uνγ (t) = (20)
T1 s2 sin2 α + T1 s1 cos2 α + 2T1 s3 sin α cos α s3 sin α + s1 cos α
Then from (20), the desired q̈d for the time instant t + T1 can be obtained. For more simplicity, we can choose
s1 = s2 > 0 and s3 = 0, then
 
Vγd −sin α
uνγ (t) = , i.e., V̇r = −Vγd sin α/(T1 ), θ̇r = Vγd cos α/(Vr T1 ) (21)
T1 cos α
Note that α is assumed to be a constant to derive P from (19). However, this may introduce errors to P due to the
variation of α. We have the following result.

Proposition 1. (1) If α ≡ 0, there is obviously no induced error to P. (2) If s1 = s2 and s3 = 0, then there is no
error induced
by variation of α to P. (3) In other cases, the maximum induced error to P is less than 2s . Where,
s = (s̄1 − s̄2 )2 /4 + s̄32 , si = si /(s1 s2 − s32 ), (i = 1,2,3).

Proof. Case 1 is obvious. We need to show Cases 2 and 3. Eq. (19) follows that
s2 sin2 α + s1 cos2 α + 2s3 sin α cos α s̄1 + s̄2 s̄1 − s̄2
Ṗ(t) = = + cos 2α + s̄3 sin 2α
s1 s 2 − s 3
2 2 2
s̄1 + s̄2
= + s sin(2α + sθ )
2
X.J. Jing / Robotics and Autonomous Systems 53 (2005) 99–123 109

where sθ = arctg(s̄1 − s̄2 )/(2s̄3 ). Cases 2 and 3 are obvious from the equation above. This completes the
proof. 

Case 1 in Proposition 1 implies that a static obstacle is met since α = ∠(V , V r ) ≡ 0. Case 2 leads to the optimal
control law (21). Case 3 will introduce error into the control law (20), however, the possible impact on safety of the
robot can be toned down by enlarging obstacles a proper width along their boundaries. These will be used later on.
There may be many choices for the control law through choosing different S based on (20) according to different
inclinations. All these choices can form a controller set, i.e.,


Ωu (γd , t) = u(s1 , s2 , s3 ) u(s1 , s2 , s3 ) = Eq. (20), s1 > 0, s2 > 0, s1 s2 > s32 (22)

Obviously, (22) is also all the desired optimal planning behaviors (acceleration) of the mobile robot for the time
instant t + T1 . Moreover, since dynamics of GG- and WF-behavior are included in the CA-dynamics, the control law
(20) can also be used for the other two fundamental behaviors. That is, optimal controllers for GG/WF-dynamics
are also included in the set Ωu .

3.2. Decision-making lines

(8a) can be rewritten as


V γ̇T1 = −V̇r T1 sin α + Vr θ̇r T1 cos α (23)
Define the following transformations
x = V̇r T1 , and y = Vr θ̇r T1 (24)
The new space defined by (24) is in fact an extended acceleration space of the mobile robot. Given a desired γ d ,
decision-making line (DL) is defined in the space defined by (24) as follows
−x sin α + y cos α = Vγd (25)

T
Let Ωxy (γd , t) = uνγ = [V̇r , Vr θ̇r ] −x sin α + y cos α = Vγd , V̇r = x/T1 , Vr θ̇r = y/T1 (26)

Then we have the following results.

Proposition 2. Ωu (γd , t) = Ωxy (γd , t), where t is the planning time instant.

Proof. Obviously, for any uνγ ∈ Ωu , we have B2 uνγ = Vγd /T1 = γ̇, i.e., γ̇T1 = Vγd . Hence, from (24)–(26), we
have Ωxy (γd , t) ⊆ Ωu (γd , t). We need to prove Ωxy (γd , t) ⊇ Ωu (γd , t). Suppose there is a u1 ∈ Ωu , but u1 ∈
/ Ωxy .
This leads to that u1 does not satisfy (25) under transformation (24), which further yields B2 u1 = Vγd /T1 , this
contradicts the assumption that u1 ∈ Ωu . Hence, we have Ωxy (γd , t) ⊇ Ωu (γd , t). This completes the proof. 

Proposition 3. Given a desired γ d , the optimal control law (21) corresponds to the nearest point from the DL (25)
to the point (0,0).

Proof. It is easy to show that, the nearest point from the line (25) to the point (0,0) is
x∗ = Vγd sin α, y∗ = Vγd cos α
Using the transformations defined by (24), we have
x∗ = V̇r T1 and y∗ = Vr θ̇r T1 .
With some calculations, we can obtain (21). This completes the proof. 
110 X.J. Jing / Robotics and Autonomous Systems 53 (2005) 99–123

According to Propositions 2 and 3, optimal control law for the behavior dynamics can be obtained through
choosing the corresponding point on the line (25), which is called decision-making line (DL). Different S in (20)
leads to a different point on the DL. In fact, every point defined by (24) does correspond to a control strategy. For this
reason, the space defined by (24) is called decision-making space, which is an extended acceleration space of the
mobile robot, and every point in this space is called decision-making point (DP). Therefore, the decision-making of
the optimal behavior can be transformed into a conventional optimization problem with a proper evaluation function
and some constraints. For this purpose, some necessary definitions and results are introduced for the decision-making
line and the decision-making space defined by (24) in the following.

3.2.1. DLs of CA-dynamics


Referring to Fig. 1 and also see Fig. 3, there are two DLs for an obstacle Oi with respect to γ i+ and γ i− , i.e.,

DLi+ : −x sin αi + y cos αi = Vi γi+ , DLi− : −x sin αi + y cos αi = Vi γi−

 norm of the relative velocity vector Vi of the mobile robot with respect to Oi , i.e., V i =
where, Vi denotes the
V i  = V r − V Oi . They are parallel with each other. αi is the slope of the DLs. If the obstacle is static, i.e.,
VOi ≡ 0, then Vr = Vi . In this case, the DLs are parallel to x-axis. Let
  

x 2 x sin αi + y cos αi = Vi γi+
DLi = ∈
(27)
y x sin αi + y cos αi = Vi γi−
  
x sin α + y cos α < V γ
x i i i i+
Di = ∈
2 (28)
y x sin αi + y cos αi > Vi γi−

It is easy to verify that, each point in Di corresponds to a collision behavior between the robot and obstacle Oi
provided that Vi = 0, and each point outside Di corresponds to a collision-free behavior provided that Vi = 0 and
no dynamic constraints. Each point in DLi corresponds to an optimal control law for the corresponding γ di . Di is
called dangerous region of the obstacle Oi .
Consider the dynamics constraints of the mobile robot. Assume that the mobile robot is omni-directional, its
maximum velocity and acceleration are Vmax m/s and amax m/s2 , i.e., V r  ≤ Vmax , V̇ r  ≤ amax , respectively.
Then we have
2
V̇rx + V̇ry
2
≤ amax
2
,

Fig. 3. (a) DLs induced by obstacle Oi and (b) DLi+− and dynamic constraints. DLi+− are the two decision-making lines of a moving obstacle
Oi . Ni+ and Ni− are the two nearest points from DLs to the original point, respectively. The shadowed part is set Di .
X.J. Jing / Robotics and Autonomous Systems 53 (2005) 99–123 111

Using (3) and (24), which further yields

x2 + y2 ≤ (T1 amax )2 (29a)

Inequality (29) corresponds to the Constraint Circle in Fig. 3b. If the current velocity of the mobile robot is Vr , then
the desired acceleration of the robot in a planning period should satisfy
Vmax − Vr
V̇r ≤ apos =
T1
which further yields

x ≤ Vpos = Vmax − Vr (29b)

This presents another constraint on the decision making space (see Fig. 3b). Let


Ωfea = [x, y]T x2 + y2 ≤ (T1 amax )2 , x ≤ Vmax − Vr (30)

Obviously, a decision-making point is feasible, i.e., satisfying the robot’s dynamic constraints, if and only if it
belongs to Ωfea .
Let R be the current position of the mobile robot, P(R, t) be the observable region of the robot, in which obstacles
can be effectively detected by sensors. For an obstacle Oi , let ∂Di be its boundary. If there is a point P ∈ ∂Di ∩ P(R, t),
such that |∠(e(V i ), P − R)| = 0 or π, then let P ci = arg(|∠(e(V i ), P − R)| = 0 or π), otherwise let
P ∈ ∂Di ∩P(R,t)
P ci = ∞, where e(V i ) = V i / V i . Let li = (P ci − R)e(V i ) be the collision distance (C-distance) between the
mobile robot and an obstacle Oi (see Fig. 4). From the above development, we can have the following result.

Proposition 4. For any obstacle Oi , γi+ · γi− < 0 ⇔ 0 < li < ∞.


If the current velocity of the mobile robot is heading a collision with an obstacle Oi , however, the C-distance
between the mobile robot and the obstacle is larger than a constant denoted by li0 , then the robot can still go safely
with the same velocity in a finite time interval. No collision would happen if additionally the robot could take
the maximum acceleration in the opposite direction (i.e., −e(Vr )) once the robot approaches near enough to the
obstacle. It is easy to show,

Fig. 4. The robot meets an obstacle.


112 X.J. Jing / Robotics and Autonomous Systems 53 (2005) 99–123

Vi2
li0 = , (li ≥ 0). (31)
2(amax + V̇ Oi e(V i ))
That is, if li ≥ li0 , then the mobile robot can still go to the direction in which the obstacle exists. From (31), we can
obtain
 
V r − V O  ≤ 2(amax + V̇ O e(V i ))li , (li ≥ 0) (32)
i i

That is, if (32) holds, then the mobile robot can still keep its velocity without using any collision avoidance strategy
with respect to this obstacle in a small time interval. For a static obstacle Oi , (32) yields

Vr ≤ 2amax li , (li ≥ 0)
Then for a static obstacle Oi , in the time interval T1 and according to (32), it is easy to show that the acceleration
of the robot should satisfy

2amax (li − Vr T1 − 21 V̇r T12 ) − Vr
V̇r = V̇ r e(V r ) ≤ , if li ≥ 0 (33a)
T1

2amax |li − Vr T1 − 21 V̇r T12 | + Vr
V̇r = V̇ r e(V r ) ≥ − , if li < 0 (33b)
T1
(33a) and (33b) can be rewritten into one:

2amax |li − Vr T1 − 21 V̇r T12 | − Vr sign(li )
V̇r sign(li ) ≤ (34)
T1
where

1 li ≥ 0
sign(li ) = .
−1 li < 0
(34) further yields

−T1 amax − 2Vr sign(li ) + (T1 amax )2 − 4amax Vr T1 sign(li ) + 8amax |li |
V̇r sign(li ) ≤ (35)
2T1
Then transform (35) into the decision-making space (defined by (24)) to be

−T1 amax − 2Vr sign(li ) + (T1 amax )2 − 4amax Vr T1 sign(li ) + 8amax |li |
x sign(li ) ≤ (36)
2
That is, decision-making points satisfying (36) can also be regarded as safe ones. Let

ψi = {[x, y]T |x satisfies (34), Vi γi− ≤ y ≤ Vi γi− } (37)

From the above development, the dangerous region that the safety of the mobile robot cannot be guaranteed
corresponding to a static obstacle Oi with |li | < ∞ is Di /Ψi (refer to Fig. 5). That is, the safe decision-making
space with respect to Oi can be written as
2 /(Di /Ψi ). However, it should be noted that, the decision-making
space should be
2 /Di in order to avoid the obstacle Oi whenever 0 ≤ li < ∞, which is called avoiding-collision
decision-making space with respect to Oi .
X.J. Jing / Robotics and Autonomous Systems 53 (2005) 99–123 113

Fig. 5. The dangerous region corresponding to a static obstacle, whose DLs are parallel to x-axis. The shadowed part is Di /Ψ i .

For a moving obstacle Oi , if its velocity is changing slowly, i.e., V̇ Oi ≈ 0, then we have V̇ i = V̇ r − V̇ Oi = V̇ r .
Hence, the similar result to (35)–(37) for moving obstacles with V̇ Oi ≈ 0 can also be obtained by substituting the
relative velocity Vi with respect to the moving obstacle for the velocity Vr of the mobile robot, i.e.,

−T1 amax − 2Vi sign(li ) + (T1 amax )2 − 4amax Vi T1 sign(li ) + 8amax |li |
V̇i sign(li ) ≤ (38a)
2T1
and

−T1 amax − 2Vi sign(li ) + (T1 amax )2 − 4amax Vi T1 sign(li ) + 8amax |li |
x sign(li ) ≤ . (38b)
2
If the velocity of the moving obstacle is changing fast, then it may be difficult to accurately estimate the acceleration
of the moving obstacle. In this case, the mobile robot is expected to avoid the obstacle as fast as possible once the
sensors detect it. Hence, when meeting a moving obstacle with a fast-changing velocity, the velocity of the mobile
robot need not subject to (32). Since we have assumed in Section 2.1 that all the obstacles satisfy V̇ Oi ≈ 0 in a
finite time interval T1 , thus any obstacle considered in this paper should satisfy (35) or (38). Corresponding to an
obstacle Oi , we let
i
Usafe =
2 /(Di /Ψi ), i
Uavoid =
2 /Di (39)

At any time, all the obstacles that can be effectively detected by the mobile robot’s sensors are denoted by a set
ON . For instance, an observable obstacle denoted by Oi is written as Oi ∈ ON or more simply as i ∈ ON . Then,
considering the multiple obstacle case, the safe decision-making points that can guarantee the safety of the mobile
robot are

Ūsafe = i
Usafe (40a)
i ∈ ON

And the decision-making points that can provide control strategies for the mobile robot to avoid an obstacle are

Ūavoid = i
Uavoid (40b)
i ∈ ON

Obviously, Ūavoid ⊆ Ūsafe . Only considering the safety of the mobile robot, the decision-making point can be chosen
from the safe decision-making space Ūsafe . However, in order to avoid obstacles completely whenever the obstacle
is on the desired trajectory between the robot and the goal of the robot or 0 ≤ li < ∞, the decision-making point
should be chosen from the avoiding decision-making space Ūavoid .
From (31), the steering angle γ i of the relative velocity Vi should be adjusted to the opposite direction (i.e.,
−e(Vr )) in order to guarantee the safety whenever li → li0 with respect to an obstacle Oi . For this purpose, we
114 X.J. Jing / Robotics and Autonomous Systems 53 (2005) 99–123

redesign γ +i and γ −i with respect to Oi as:


π − |γ+(−)i |
γ̄+(−)i = γ+(−)i + sign(γ+(−)i ), ks > 0 (41)
1 + ks max(0, li − l0i )
Eq. (41) follows that γ̄+(−)i → ±π whenever li → li0 . It should be noted that γ +i and γ −i can both be calculated
from the sensors’ data.

3.2.2. DLs of GG/WF-behaviors


Now, consider the decision-making line incurred by GG-dynamics. There is only one desired γ d at each planning
period with respect to GG-behavior, thus there is only one DL incurred by GG-dynamics each time. In this case,
we have α = 0, V = Vr . From Eq. (25), the DL corresponding to GG-dynamics is
y = Vr γd (42)
Obviously, it is a special case of (25). Different optimal control law for GG-dynamics corresponds to different point
on (42) as that for CA-dynamics. In order for the robot to try to go to the goal, the desired DP should be near to the
DL (42) as possible as it could.
As for the WF-dynamics, we have similar results to the GG-dynamics, and the DL of WF-dynamics is also Eq.
(42). For an obstacle, once the WF-behavior is adopted, then the corresponding DP set for collision-avoidance and
safety in (39) is substituted by:
i
Usafe = Uavoid
i
= {[x, y]T |y = Vr γd , x ∈
}. (43)
Note that WF-dynamics is just a special case of CA-dynamics, and (43) is also a special case of (39). This means
wall-following behavior can be generated automatically.

3.3. Motion planning problem

Since each point in the decision-making space defined by (24) corresponds to a control law for the behavior
dynamics based on the results in Sections 3.1–3.2, the motion-planning problem of the mobile robot can be trans-
formed into a conventional optimization problem. Solving this optimization problem, optimal motion behavior (i.e.,
νd in Theorems 1 and 2, which is also the desired acceleration) for the mobile robot can be obtained.
For this purpose, assume e(G − R) is known at any time. Where G(xd ,yd ) is the goal of the mobile robot, and
R(xr ,yr ) is the current position of the mobile robot. Then the motion-planning problem can be described as.

3.3.1. Behavior-dynamics based motion planning (BDMP)


To find the optimal DP p* , i.e.
p∗ = arg min (J(p)) (44)
p ∈ Up

such that (1) R(xr ,yr ) → G(xd ,yd ); (2) γi+ γi− > 0, ∀i ∈ ON .
And subject to constraint:
p∗ ∈ Ωfea (45)
where, p = [x, y]T , Up is the decision-making space of p, J(p) is an evaluation function. Then, we can obtain that
uνγ = [V̇r , Vr θ̇r ] , V̇r = (x∗ )/(T1 ), θ̇r = (y∗ )/(Vr T1 ), and consequently q̈d = (15).
∗ T

Note 1. Without consideration of the robot’s dynamic constraints, the decision-making space can be written as
Up = i ∈ ON Usafe
i , which is a sub-space of the extended acceleration space of the mobile robot defined by (24). It
X.J. Jing / Robotics and Autonomous Systems 53 (2005) 99–123 115

Fig. 6. Decision-making in multiple obstacles case. For a moving obstacle, there are two induced DLs. For a static obstacle, its DLs are parallel
to x-axis. And the goal introduces one DL parallel to x-axis.

 i . Considering constraint (45), if 


 
is obvious that Ωxy ⊂ i ∈ ON Usafe i ∈ ON Usafe ∩ Ωfea = Φ, then the decision-
i
 
making space can be written as Up = i ∈ ON Usafe ∩ Ωfea , otherwise, Up should be Ωfea . It should be noted
i

that, since the number of obstacles in robot’s observable region is always finite, the optimization problem is not an
NP-hard problem. Moreover, all the variables used in the decision-making of BDMP are known or measurable in
the local coordinates on the mobile robot.

Note 2. In order to guarantee the safety of the mobile robot, optimal collision-avoidance behavior should be
adopted. On the other hand, the robot is expected to try to go to its goal whether it meets an obstacle or not. Hence,
the evaluation function J(p) should be a proper trade-off between these two aspects. It should also be noted that the
effects from different obstacles in BDMP are synthesized not by using a simple weighted-sum method as that in
potential-based or conventional behavior-based methods, but through an optimization technique from the control
point of view.
Various methods can be adopted to solve the BDMP problem, this section provides a simple solution to BDMP.
Let’s see an example in Fig. 6. There are three obstacles, O3 is static and the other two are moving. The goal line is
the DL corresponding to GG-dynamics. It is easy to find the safe regions, which are marked by shadows, according
to the DLs of each obstacle based on the results in the sections above. The optimal DP should be chosen from these
safe regions. If the evaluation function in BDMP is defined as that in (46), then the DP should be not only near to
(0,0) but also near to the goal line. From Fig. 6 it is obvious that point C12++ is the optimal decision-making point
(DP).

Let C cross denote the set of all the crossing points between any two DLs of different obstacles. On each DL,
there is a point, which is the nearest to point (0,0), it is called normal point. All these normal points are denoted by
a set N normal. Considering the minimum energy cost, let the evaluation function in BDMP be
J(x, y) = x2 + y2 (46)
116 X.J. Jing / Robotics and Autonomous Systems 53 (2005) 99–123

This evaluation function helps in elimination of the induced error of variation of α as mentioned in Proposition 1
since the shortest distance point on DLs corresponds to the control law (21), which has no error induced by the
variation of α. It noted that (46) does not consider the effect of GG-behavior. If GG-behavior is considered, the
evaluation function can be defined as
J(x, y) = k1 JO + k2 JG (47)
where JO = x2 + y2 , JG = (y − γ0 ) , γ0 = Vr ∠(e(G − R), V r ). It can be proved that
2

arg{min(k1 (x2 + y2 ) + k2 (y − γ0 )2 )} = arg{min(k1 x2 + (y − k2 γ0 )2 )}


x,y x,y

Hence, (47) can also be substituted by


J(x, y) = k1 x2 + (y − k2 γ0 )2 . (48)
Define the following transformation

X = k1 x, Y = y − k 2 γ0 (49)
Then (48) can be rewritten as
J(X, Y ) = X2 + Y 2 (50)
Therefore, we need only to study the BDMP problem with the evaluation function (46), that is, to choose the nearest
point to (0,0) without consideration of the effect of the GG-behavior. It is easy to prove the following result.

Theorem 4. The nearest point in Ūavoid to the point (0,0) is either a crossing point in C cross or a normal point in
N normal (The proof is omitted).
Let (50) be the evaluation function, a simple solution to BDMP is given in this paper just in order to test our
method. Assume the transformation according to (49) is finished.

Case 1. Static obstacles only


According to Theorem 4, the BDMP in this case can be solved. This algorithm assumes that if the optimal point
is outside the constraint region, then choose the corresponding point on the boundary of the constraint region.

Case 2. Both moving obstacles and static ones exist.


Choose the nearest point to (0,0), which can guarantee the safety, from the point set that includes all the crossing
points, all the normal points, and all the points between any one DL corresponding to a moving obstacle and the
boundary of the dangerous region Di /Ψi corresponding to any one static obstacle Oi . Additionally, If Vr = 0, then
let V r = 0.05e(G − R).

In the algorithm above, we do not use the WF-behavior. However, the WF-behavior can be generated automatically
in the collision-avoidance process as mentioned in Section 3.2.2. This is illustrated in Section 4.

4. Simulation experiments

In this section, simulation experiments are provided to illustrate our method. Any dynamic model of an omni-
directional mobile robot can be used to test our methods. In our simulation experiments, the model of a practical
omni-directional mobile robotic platform shown in Fig. 7 is used. The omni-directional wheeled mobile robot
has maximum velocity Vmax = 0.5 m/s and maximum acceleration amax = 0.5 m/s2 (see Fig. 12a). The height of the
mobile robot is 0.78 m, the diameter 0.6 m, and the weight is 50 kg. The dynamic model of the mobile robot can
X.J. Jing / Robotics and Autonomous Systems 53 (2005) 99–123 117

Fig. 7. The mobile robot.

refer to [39]. It has eight sonars and one CCD camera to detect the obstacles. The effective detecting radius of the
sensors is 1.5 m, that is, the relative distance and relative velocity of obstacles with respect to the mobile robot can
be detected by the sensors within this region. The sensors and the corresponding algorithms equipped can provide
the relative distance, relative velocity of the obstacles, and the necessary information of the boundary of an obstacle
to compute the angle ␥+/− corresponding to this obstacle can also be obtained. After these variables are obtained,
then solve the BDMP to get q̈d , and finally the control law (17c) is carried out.
Velocity of the moving obstacles, if any, is 0.35 m/s. T1 is chosen to be the planning period, and let T1 = 0.1 s.
Moreover, let k1 = 0.8, k2 = 0.2 (in (47)), ks = 100 (in (41)).
Specially, we assume that, only when the distance between the mobile robot and a static obstacle is less than 1 m,
the collision-avoidance behavior with respect to this static obstacle is adopted in the motion-planning algorithm.
Additionally, in order to remove the oscillation on the trajectory and guarantee the safety when the mobile robot
goes along the boundary of an obstacle, let γ = 0 if |γ| ≤ δ, where δ is a small positive number.
Simulations are given under different situations in order to illustrate our method (Figs. 8–13). In Fig. 8(a), the
mobile robot meets a U-shape “obstacle”, which is actually formed by three static obstacles O1 O3 . In this case,
it shows that the two obstacles can be regarded as one obstacle if the distance between them is too small. Also,
the WF-behavior can be automatically generated in the process of avoiding the U-shape “obstacle” for this case,
though we do not use it in the algorithm. Fig. 8(b) illustrates the DLs for the snapshots 9 and 10, respectively.
Fig. 9 illustrate another case with a V-shape obstacle, which further demonstrates the automatic generation of
wall-following behavior, not as that in some existing methods specific rules or functions are designed to generate
this behavior. In Fig. 10, different types of obstacles are considered, including static and moving obstacles, and
also moving robots. Note that the two mobile robots take different actions when meeting the same obstacles. This
shows that our method can provide a flexible strategy for the robot to adapt to different cases. It further indicates
that behavior dynamics-based method is a general one instead of a specific one. Multiple mobile robots avoiding
collision with each other is given in Fig. 11. Motion coordination can be effectively conducted between different
mobile robots in a near optimal way. Two mobile robots navigate in a static environment with multiple obstacles
of arbitrary shape in Fig. 12. Note that no collision-avoidance behavior is adopted when the two robots meet each
other at snapshots 6 and 7 in Fig. 12 since there is no collision risk between them. And the robot can go through
narrow passages successfully. In some existing methods such as artificial potential-based methods, the robot will
118 X.J. Jing / Robotics and Autonomous Systems 53 (2005) 99–123

Fig. 8. (a) Avoiding a U-shape obstacle. The arrows denote the velocities at snapshots 9 and 10; (b) DLs for snapshots 9 and 10. The DLs are
parallel to the x-axis since the obstacles are static.

push each other once they meet, it is difficult to deal with the narrow passages case, and there may be oscillation
in the planned trajectory between multiple obstacles. These are not necessarily the case in our methods. Especially,
different environment factors can be taken into account in an optimal and uniform way based on control of the
behavior dynamics. Fig. 13 shows a more complex environment, in which there are not only static obstacles but
also two moving obstacles. The robots can effectively avoid collision with the unknown moving obstacles in a
satisfactory way.
From large numbers of simulation experiments, we can conclude, (1) The trajectories planned for the mobile robot
is smooth, optimal in local environment, and there are no local minima encountered as that exist in potential-based
methods in most cases; (2) the results provided by our method are satisfied with the robot’s dynamic constraints,
since the motion constraints are considered in BDMP; (3) all the variables needed in the decision-making of BDMP
are in the local coordinates, only local knowledge of the environment is needed in our method (excepting the
direction of the goal), and the motion-planning is online; (4) our method can be adaptable to dynamic environments
of different cases, it has fast response to moving obstacles; (5) our method can also make different mobile robots

Fig. 9. Avoiding a V-shape obstacle.


X.J. Jing / Robotics and Autonomous Systems 53 (2005) 99–123 119

Fig. 10. Avoiding collisions with different types of obstacles.

coordinate to avoid collision with each other without “dead-lock” and in an optimal way; (6) shapes of obstacles can
be arbitrary, and no constraint is required on the boundary or velocity of obstacles; (7) wall-following behavior can
be generated automatically without any heuristic rules. It should be noted that many existing results for dynamic
motion planning can only deal with single robot navigation or structured environment or static obstacles cases, or
easily encounter local minima or “dead-lock” in multiple robots and obstacles case, or do not consider the dynamics
of the robot and environments, or need some global environment information. Based on behavior dynamics, all
these problems can be taken into account and dealt with from an optimal control viewpoint.
A simple experimental result is given in Fig. 14, which is the trajectory of the mobile robot obtained by dead
reckoning. Fig. 14b shows some variables in the decision-making at the stating time. Since γ + > γ − at the starting
point, the robot should turn right. The result is satisfactory on the whole. The detailed discussions and further
experiments will be studied later on.

Fig. 11. Collision avoidance between different mobile robots.


120 X.J. Jing / Robotics and Autonomous Systems 53 (2005) 99–123

Fig. 12. Navigating in a stationary environment.

Fig. 13. Two mobile robots are moving in an uncertain complex environment with static and moving obstacles.

Fig. 14. A simple experiment. (a) Experimental result and (b) decision-making variables at the stating point.
X.J. Jing / Robotics and Autonomous Systems 53 (2005) 99–123 121

5. Conclusions

By regarding the fundamental behaviors in motion planning of mobile robots as dynamic processes, and modeling
these dynamic processes, a new behavior dynamics-based motion-planning method is proposed. The behavior
dynamics is the law in a dynamic process that the involved objects must obey, and it is controlled by the robot’s
dynamics. Based on behavior dynamics, the motion-planning problem is transformed into a control problem and
finally a conventional optimization problem, and only local knowledge of the environment is needed in the decision-
making algorithm. A method to solve the BDMP is provided, which can provide the optimal motion behavior for
the mobile robot in uncertain dynamic environments on line. Motion planning of the mobile robot is actually not
only a control problem of the robot dynamics, but also an optimal control problem of the behavior dynamics of the
mobile robot. The two aspects construct an integrated planning-and-control system. This paper provides a unique
insight to the motion-planning problem from controlling and modeling of the behavior dynamics point of view. Our
method can effectively consider the robot dynamics into the motion-planning problem, use relative coordinates and
local knowledge of the environment, compute easily for the behavior-decision making, respond quickly to obstacles
of arbitrary shape, and also guarantee the stability of the whole planning-and-control system, compared with the
existing methods in the literature. Behavior dynamics may be used not only in the motion-planning problems of
mobile robots, but also in some other motion control problems of robots such as formation control, cooperation of
multi-robots, tele-operation, etc. Moreover, it should be noted that the method developed in this paper with some
assumptions can be easily extended to other cases. Further study will focus on these problems.

Acknowledgments

This work is supported by the creativity encouragement foundation of Shenyang Institute of Automation, Chinese
Academy of Sciences.

Appendix A. Supplementary data

Supplementary data associated with this article can be found, in the online version, at doi:10.1016/j.robot.
2005.09.001.

References

[1] M.A. Salichs, L. Moreno, Navigation of mobile robots: open questions, Robotica 18 (2000) 227–234.
[2] Y.N. Hwang, Ahuja, Gross motion planning: a survey, ACM Computing Surveys 24 (3) (1992) 220–291.
[3] Y.U. Cao, Cooperative mobile robotics: antecedents and directions, in: R.C. Arkin, G.A. Bekey (Eds.), Autonomous Robots,. Special Issue
on Robot Colonies No. 1, 4, 1997, pp. 7–27.
[4] J. Canny, J. Reif, New lower bound techniques for robot motion planning problems, in: 28th IEEE Symp. on Found. of Comp. Sci, Los
Alamitos, 1987.
[5] J. Sanborn, J. Hendler, A model of reaction for planning in dynamic environments, Int. J. Art. Intell. Eng. 3 (2) (1988) 95–101.
[6] K. Fujimura, H. Samet, A hierarchical strategy for path planning among moving obstacles, IEEE Trans. on Robot. Automat. 5 (1) (1989)
61–69.
[7] J. Reif, M. Sharir, Motion planning in the presence of moving obstacles, J. ACM. 41 (4) (1994) 764–790.
[8] P. Svestka, M. Hovermars, Coordinated path planning for multiple robots, Robot. Auton. Syst. 23 (1998) 125–152.
[9] Y. Wang, L. Han, M. Li, Q. Wang, J. Zhou, M. Cartmell, A real-time path planning approach without the computation of Cspace obstacles,
Robotica 22 (2004) 173–187.
[10] K. Kant, S. Zucker, Towards efficient trajectory planning: the path-velocity decomposition, Int. J. Robot. Res. 5 (3) (1986) 72–89.
122 X.J. Jing / Robotics and Autonomous Systems 53 (2005) 99–123

[11] T. Fraichard, Dynamic trajectory planning with dynamic constraints: a state-time space approach, IEEE/RSJ Int. Conf. on Intell. Robots
Sys. (1993) 1393–1400.
[12] K. Fujimura, Time-minimum routes in time-dependent networks, IEEE Trans. Robot. Automat. 11 (3) (1995) 343–351.
[13] C. Ferrari, E. Pagello, J. Ota, T. Arai, Multi-robot motion coordination in space and time, Robot. Auton. Syst. 25 (1998) 219–229.
[14] B. Krogh, A generalized potential field approach to obstacle avoidance control, in: Robotics research: The next five years and beyond,
Bethlehem, PA, USA, August, 1984, pp. 950–955.
[15] E. Rimon, D.E. Koditschek, Exact robot navigation using artificial potential functions, IEEE Trans. Robot. Automat. 8 (5) (1992) 501–518.
[16] S.A. Masoud, A.A. Masoud, Constrained motion control using vector potential fields, IEEE Trans. Systems, Man and Cybernetics-part A:
Systems and Humans 30 (3) (2000).
[17] J. Guldner, V.I. Utkin, Sliding mode control for gradient tracking and robot navigation using artificial potential fields, IEEE Trans. Robot.
Automat. 11 (2) (1995) 247–253.
[18] N.C. Tsourveloudis, K.P. Valavanis, T. Hebert, Autonomous vehicle navigation utilizing electrostatic potential fields and fuzzy logic, IEEE
Trans. Robot. Autom. 17 (4) (2001) 490–497.
[19] X. Jing, Y. Wang, D. Tan, Artificial Coordinating Field and its application to motion planning of robots in uncertain dynamic environments,
Sci. Chin. Ser. E Eng. Mater. Sci. 47 (5) (2004) 577–594.
[20] X. Jing, Y. Wang, Artificial Coordinating Field based Coordinating Collision Avoidance, in: IEEE International Conference on Robotics,
Intelligent Systems and Signal processing, Changsha, Hunan, China, 2003, pp. 126–130.
[21] X. Jing, Y. Wang, D. Tan, Artificial coordinating field based real-time collision avoidance planning of multiple mobile robots, Contr. Theor.
Appl. 21 (5) (2004) 757–764.
[22] A. Oustaloup, B. Orsoni, P. Melchior, H. Linares, Path planning by fractional differentiation, Robotica 21 (2003) 59–69.
[23] D. Langer, J. Rosenblatt, M. Hebert, A behavior-based system for off-road navigation, IEEE Trans. Robot. Automat. 10 (1994) 776–783.
[24] T. Balch, R.C. Arkin, Behavior-based formation control for multirobot teams, IEEE Trans. Robot. Autom. 14 (6) (1998) 926–939.
[25] X. Jing, Y. Wang, D. Tan, Cooperative motion behaviors using biology-modeling behavior decision-making rules, Cont. Theor. Appl. (in
Chinese) 20 (3) (2003) 407–410.
[26] M.A.C. Gill, A.Y. Zomaya, Obstacle avoidance in multi-robot system: experiments in parallel genetic algorithms, World Scientific Publishing
Co. Pte. Ltd., Singapore, 1998.
[27] X. Jing, Y. Wang, D. Tan, Rational genetic algorithm and its application to motion cooperation of multiple mobile robots, Acta Automat.
Sini. (in Chinese) 28 (6) (2002) 869–875.
[28] D.T. Pham, D.R. Parhi, Navigation of multiple mobile robots using a neural network and a petri net model, Robotica 21 (2003) 79–93.
[29] E. Zalama, P. Gaudiano, J. Lopez-Coronado, A real-time unsupervised neural network for the low level control of a mobile robot in a
nonstationary environment, Neural Networks 8 (1995) 103–123.
[30] S. Nefti, M. Oussalah, K. Djouani, J. Pontnau, Intelligent adaptive mobile robot navigation, J. Intell. Robot. Sys. 30 (2001) 311–329.
[31] Y. aria, T. Fujii, H. Asama, H. Kaetsu, I. Endo, Collision avoidance in multi-robot systems based on multi layered reinforcement learning,
Robot. Autonom. Sys. 29 (1999) 21–32.
[32] A. Fujimori, M. Teramoto, Cooperative collision avoidance between multiple mobile robots, J. Robot. Sys. 17 (7) (2000) 347–363.
[33] A. Sgorbissa, R.C. Arkin, Local navigation strategies for a team of robots, Robotica 21 (2003) 461–473.
[34] P. Fiorini, Z. Shiller, Motion Planning in dynamic environments using the relative paradigm, in: IEEE Int. Conf. Automat. Robotics, vol.
1, Los Alamitos, 1993, pp. 550–566.
[35] P. Fiorini, Z. Shiller, Motion planning in dynamic environments using velocity obstacles, Int. J. Robot. Res. 17 (7) (1998) 760–772.
[36] N. Chakravarthy, D. Ghose, Obstacle avoidance in a dynamic environment: a collision cone approach, IEEE Trans. Syst. Man Cyber.: Part
A: Syst. Humans 28 (5) (1998) 562–574.
[37] A. Correa Victorino, P. Rivers, J.-J. Borrelly, Safe navigation for indoor mobile robots, part I: a sensor-based navigation framework, Int. J.
Robot. Res. 22 (12) (2003) 1005–1018.
[38] F.L. Lewis, Applied optimal control and estimation: Digital design and implementation, Prentice Hall, USA, New Jersey, 1992.
[39] X.Y. Song, D.L. Tan, Robust Control for a Wheeled Mobile Robot Based on Vehicle Acceleration Feedback, in: Proceedings of the
International Conference on Modeling and Simulation in Distributed Applications, Changsha, China, September, 2001.
[40] L.E. Kavraki, Random networks in configuration space for fast path planning, PhD Thesis, Dept. of Computer Science, Stanford Univerity,
Stanford, CA, December, 1994.
[41] L. Kavraki, P. Svestka, J.C. Latombe, M.H. Overmars, Probabilistic roadmaps for path planning in high-dimensional configuration space,
IEEE Trans. Robot. Autom. 12 (4) (1996) 566–580.
[42] P. Svestka, Robot motion planning using probabilistic roadmaps, PhD Thesis, Dept. of Computer Science, Utrecht University, The Nether-
land, 1997.
[43] J.C. Latombe, Motion planning: a journey of robots, molecules, digital actors, and other artifacts, Int. J. Robot. Res. 18 (11) (1999)
1119–1128.
[44] S.M. LaValle, J.J. Kuffner, Randomized kinodynamic planning, Int. J. Robot. Res. 20 (5) (2001) 278–400.
[45] D. Hsu, R. Kindel, J.-C. Latombe, S. Rock, Randomized kinodynamic motion planning with moving obstacles, Int. J. Robot. Res. 21 (3)
(2002) 233–255.
X.J. Jing / Robotics and Autonomous Systems 53 (2005) 99–123 123

[46] M. Drummond, Situated control rules, in: Proceedings of the First International Conference on Principles of Knowledge Representation
and Reasoning, Morgan Kaufmann, Toronto, 1989, pp. 103–113.
[47] R. Murrieta-Cid, H. González-Baños, B. Tovar, A reactive motion planner to maintain visibility of unpredictable targets, in: Proceedings
of the IEEE International Conference on Robotics and Automation (ICRA), Washington D.C., USA, 2002, pp. 4242–4248.
[48] V. Matellán, D. Borrajo, Combining classical and reactive planning: the ABC2 model, in: R. Bergmann, A. Kott, (Eds.), AIPS’98 Workshop:
Integrating Planning, Scheduling and Execution in Dynamic and Uncertain Environments, AIPS’98, The AAAI Press, June (1998) pp.
121–126.
[49] C.E. Garcia, D.M. Prett, M. Morari, Model predictive control: theory and practice—a survey, Automatica 25 (3) (1989) 335–348.

Xing-Jian Jing born in 1976, who received his B.Sc. from Zhejiang University in 1998, M.Phil. in pattern recognition
and intelligent systems, and Ph.D. in mechatronics engineering both from Shenyang Institute of Automation, Chinese
Academy of Sciences in 2001 and 2005, respectively, is now with the Department of Automatic Control and Systems
Engineering, University of Sheffield (Mappin Street, Sheffield, S1 3JD, UK). He has published more than 20 papers in
the field of robotic systems and time-delay systems. His current research interests include: robust control, modeling,
and design of nonlinear systems, time-delay systems, and robotic systems etc.

You might also like