Proceedings of the 2001 IEEE International Conference on Robotics & Automation Seoul, Korea • May 21-26, 2001
Tracking Control of a Mobile Robot using a Neural Dynamics based Approach∗ Guangfeng Yuan, Simon X. Yang† and Gauri S. Mittal School of Engineering, University of Guelph Guelph, Ontario, N1G 2W1, Canada
Abstract In this paper, a novel tacking control approach is proposed for real-time navigation of a nonholonomic mobile robot. The proposed tracking controller is based on the error dynamics analysis of the mobile robot and a neural dynamics model derived from Hodgkin and Huxley’s membrane model of a biological system. The stability of the control system and the convergence of tracking errors to zeros are guaranteed by a Lyapunov stability theory. Unlike many tracking control methods for mobile robot where the generated control velocities start with large initial velocities, the proposed neural dynamics based approach is capable of generating smooth, continuous robot control signals with zero initial velocities. In addition, it can deal with the situation with a very large tracking error. The effectiveness and efficiency are demonstrated by comparison and simulation studies.
1
Introduction
Real-time tracking control of a mobile robot is a very important issue in mobile robotics. Due to slippage, disturbance, noise, vehicle-terrain interaction and sensor errors, it is very difficulty to avoid the errors between the desired and actual robot paths. How to effectively control a mobile robot to precisely track a desired trajectory is still an open question in robotics. In a 2-dimensional (2D) Cartesian workspace, the location of a mobile robot can be uniquely determined by three variables, the spatial position (xc , yc ) of the robot center C and its orientation θc with respect to C, which is referred as a posture of the mobile robot (see Fig. 1). There has been many studies on tracking control of a mobile robot in recent years (e. g., [1]-[8]). The ex∗ This work was supported by Natural Sciences and Engineering Research Council (NSERC) of Canada. † All correspondence should be addressed to S. X. Yang. Email:
[email protected].
0-7803-6475-9/01/$10.00 © 2001 IEEE
163
isting tracking control methods for a mobile robot can be classified into five categories: (1) sliding mode [1]; (2) linearization [2]; (3) backstepping [4, 5], (4) neural networks [6]; (5) fuzzy systems [7]; and (6) neurofuzzy systems [8]. The control algorithm using sliding mode is complicated and computationally expensive. The generated velocity command with respect to time is not a smooth curve [1], which may lead to discontinuousness in the robot velocities. The linearization based methods (e.g., [2]) requires a small initial error between the target and actual robot positions. The backstepping based tracking controllers (e.g., [4, 5]) are the most commonly used approach. They are very simple and the system stability is guaranteed by a Lyapunov stability theory. In addition, some of the backstepping based controllers can deal with arbitrarily large initial error. However, the generated robot velocity commands using those conventional control approaches start with a very large value, and suffers from velocity jumps when sudden tracking errors occur, i.e., the required accelerations and forces/torques are infinitely large at the velocity jump points, which is not practically possible. Fierro and Lewis [3] proposed a novel controller based on backstepping technique for a mobile robot by generating torque signals using computed torque control or a three-layer neural network based control, which can solve the impractical problem of large initial velocities. But both control methods are computationally complicated. In addition, the computed torque control required the exact robot model that mostly is not available, while the neural network require on-line learning in order to make the robot perform properly. Recently Zhang et al. [4] proposed a controller based on backstepping and neural network, where the backstepping is used for tracking control, while the neural network is for compensating the robot dynamics. However, the mobile robot also starts with a very large initial velocity, and the algorithm is computationally expensive. The fuzzy rules based tracking control approaches (e.g., [7, 8]) can solve the problem of large initial robot velocities,
2.1
Model Algorithm Nonholonomic Mobile Robot and its Error Dynamics
In a 2D workspace, a nonholonomic mobile robot can be described by two coordinate systems: the world coordinate system {X, 0, Y } and the local coordinate system {D, C, L}, where D is the driving direction (longitudinal direction), L is the lateral direction (latitudinal direction), and C is the robot center point. The world coordinate system is fixed to the Cartesian workspace and the local coordinate system is attached to the mobile platform. A robot posture in the world coordinate system can be uniquely determined by a vector Pc = [xc yc θc ]T , where (xc , yc ) denotes the spatial position of the robot center C, and θc is the robot orientation angle with respect to C (see Fig. 1). A freely movable mobile robot that is referred as holonomic mobile robot has three degrees of freedom (d.o.f.), xc , yc , and θc . However, because of the kine-
164
D vc
yc
0
wc
2
Y
L
but it is very difficulty to formulate the fuzzy rules, which are usually obtained by trial and error. The existing neural networks based tracking control algorithms (e.g., [3, 6, 8]) for a mobile robot require either on-line and/or off-line training procedures before the controllers are capable of controlling the robot properly, which also add computational cost. In this paper, inspired by the unique features of the neural dynamics in Hodgkin and Huxley’s membrane model [9] for a biological neural system, and based on the error dynamics analysis of a mobile robot that is similar to the integrator backstepping, a novel tracking controller is proposed for real-time navigation of a mobile robot. The control signal consists of a component from a neural dynamics model, and a component from the error dynamics that is similar to a proportional (P) control part. The stability of the control system and the asymptotical convergence of tracking errors to zero are rigorously proved using a Lyapunov stability analysis. Distinct from the previous neural networks based approaches, no learning procedure is needed in the proposed control algorithm. The proposed controller is capable of generating smooth, continuous control signals with zero initial robot velocities. In addition, it can deal with arbitrarily large tracking errors between the target and current robot postures. To the best of our knowledge, it is the first time that a neural dynamics based model is proposed for tracking control of a mobile robot, where no learning is needed.
θc
C
xc
X
Figure 1: Model of a nonholonomic mobile robot matical constraint, the degrees of freedom for a nonholonomic mobile robot reduces to two. On the conditions of non-slipping, the kinematic constraint of a nonholonomic mobile robot is given as y˙ c cos θc − x˙ c sin θc = 0.
(1)
From the motion control perspective, a mobile robot has 2-d.o.f., vc and wc , where vc is the linear velocity and wc is the angular velocity of the mobile robot. For a nonholonomic mobile robot, the relationship between velocity in the world coordinate system P˙c = [x˙ c y˙ c θ˙c ]T and velocity v = [vc wc ]T in the local coordinate system can be described by a Jacobian matrix as x˙ c cos θc 0 y˙ c = P˙c = sin θc 0 vc . (2) wc 0 1 θ˙c The reference path of a nonholonomic mobile robot T provides the target robot posture Pd = [xd yd θd ] . in the world coordinate system. The tracking error in the local coordinate system is defined as Ep = [eD eL eθ ]T , where eD , eL and eθ are the errors in the driving direction, lateral direction and the orientation, respectively. The relationship between the tracking errors in the world and local coordinate systems can be obtained by geometrical projection transformation as eD cos θc sin θc 0 xd − xc Ep = eL = − sin θc cos θc 0 yd − yc . (3) eθ 0 0 1 θd − θc The error dynamics of the mobile robot can be derived from the time derivative of the above posture error equation in (3) as e˙ D wc eL − vc + vd cos eθ e˙ L = −wc eD + vd sin eθ . (4) e˙ θ wd − wc
2.2
Tracking Control Problem
The function of a tracking controller in this paper is to implement a mapping between the known information (e.g., the desired information and the sensory information) and the velocity commands designed to achieve the robot’s task. The controller design problem can be described as: given the desired robot posture Pd (t) = [xd (t) yd (t) θd (t)]T and the desired velocities vd (t) and wd (t), i.e., the desired state of the mobile robot defined as T
Xd (t) = [xd (t) yd (t) θd (t) vd (t) wd (t)] ,
(5)
design a control law for the linear velocity vc and angular velocity wc , which drive the robot to move, such that the actual robot state T
Xc (t) = [xc (t) yc (t) θc (t) vc (t) wc (t)] ,
(6)
will precisely tracking the desired robot state Xd (t), lim Xc (t) = Xd (t),
t→∞
(7)
i.e., the tracking error converges to zero while time approaches infinitely.
2.3
The Proposed Controller
The biological neural model has a certain property that can be used to solve the problem of sudden speed jumps. A typical shunting model derived from the Hodgkin and Hulexy’s [9] membrane model is given as
the velocity, B and D are the upper boundary and lower boundary of the velocity, respectively, Functions f (x) is a linear-above-threshold function defined as f (x) = max {x, 0} and the non-linear function g(x) is defined as g(x) = max {−x, 0}. The proposed tracking control law for the linear and angular velocities are given as vc wc
dvs = −Avs + (B − vs )f (eD ) − (D + vs )g(eD ), (9) dt where vs is the velocity component that will be used in tracking controller design, A is the passive rate of
165
(10) (11)
where the k2 and k3 are positive parameters. At the start period, we need that the speed of the mobile robot increases exponentially and reaches the desired speed v0 . According to the time response property of the first order system, the reference velocity can be defined as vd (t) = v0 (1 − e−t/τ ), where v0 is the desired speed, τ is the time constant. When the proposed tracking controller is used together with a path planner, the output of the path planner is the desired robot posture Pd . The current posture can be obtained from measurement. The system architecture of the proposed tracking controller is shown in Fig. 2. The error vector Ep in the local coordinate systems is obtained through a a transformation matrix Te from the posture error between the current and desired postures in the world coordinate system. The input of the path tracker is the error vector and the desired velocities. The output of the path tracker is the steering commands in linear velocity vc and angular velocity wc .
dyi = −Ai yi + (Bi − yi )Sie (t) − (Di + yi )Sii (t), (8) dt where i is the neuron index, yi is the membrane potential, Ai represents the passive decay rate, Bi and Di are the upper and lower bounds of the membrane potential, and Sie and Sii are excitatory and inhibitory inputs to the ith neuron. By analyzing the backstepping technique based tracking controller proposed in [3, 4, 5] the sharp speed jumps are caused by the suddenly changes in tracking errors. So a biological inspired tracking controller is proposed to solve the problem. Substituting Ai = A, Bi = B, Di = D, yi = vs Si+ = f (eD ), Si− = g(eD ) in Eq. (8), a velocity dynamics equation with respect to the error in the driving direction is obtained as
= vs + vd cos eθ , = wd + k2 vd eL + k3 vd sin eθ ,
[ ]
[vd wd]T
xd
θd
+
[ ] vc
Pd= yd Motion Planner
Σ
-
Te
Ep
Path Tracker
wc
Mobile Robot
[ ]
xc Pc= yc θc
Figure 2: System architecture of the proposed tracking controller
2.4
Stability Analysis
The tracking control system proposed in this paper is asymptotically stable, and the tracking errors converge to zeros. In the shunting equation (9), the excitatory input item (B − vs )f (eD ) forces the output of the shunting model to stay below the upper bound B while the inhibitory input item (D + vs )g(eD ) guarantees that the output of the shunting model stay above
lower bound −D. Therefore, the output of the shunting model is bounded in the finite interval [−D, B]. To rigorously prove the asymptotical stability and the convergence of the proposed tracking control system, a Lyapunov function candidate is chosen as, V (t)
1 1 2 (eD + e2L ) + (1 − cos eθ ) 2 k2 1 2 1 2 2 v , + (ev + ew ) + 2k 2B s
=
(12)
where vs is the velocity component defined in Eq. (9), and ev and ew are the auxiliary velocity errors that will be defined later in this section. It is obvious that V (t) = 0 if and only if eD = 0, eL = 0, eθ = 0, ev = 0, ew = 0, and vs = 0. From Eq.s (4), (9), (10), and(11), the time derivative of the Lyapunov function L becomes V˙ (t)
1 e˙ θ sin eθ k2 1 1 + (e˙ v ev + e˙ w ew ) + v˙ s vs k B k3 1 2 = −vs eD − vd sin eθ + (e˙ v ev + e˙ w ew ) k2 k 1 + [−A − f (eD ) − g(eD )] vs2 B 1 + [Bf (eD ) − Dg(eD )] vs , (13) B = e˙ D eD + e˙ V eV +
If we choose the constants B = D in the shunting equation, Eq. (13) can be rewritten as V˙ (t)
1 k3 vd sin2 eθ + (e˙ v ev + e˙ w ew ) k2 k 1 + [−A − f (eD ) − g(eD )] vs2 B + [f (eD ) − g(eD ) − eD ] vs . (14)
= −
From to the definition of f (eD ) and g(eD ), if eD ≥ 0, then f (eD ) = eD and g(eD ) = 0. Thus we have, [f (eD ) − g(eD ) − eD ] vs = [eD − 0 − eD ] = 0. (15) Similarly, if eD < 0, then f (eD ) = 0 and g(eD ) = −eD . Thus we have [f (eD ) − g(eD ) − eD ] vs = [0 − (−eD ) − eD ] = 0. (16) Therefore, Eq. (14) can be rewritten as V˙ (t)
1 k3 vd sin2 eθ + (e˙ v ev + e˙ w ew ) k2 k 1 + [−A − f (eD ) − g(eD )] vs2 (17) B
= −
166
To prove the convergence of the robot velocities, the auxiliary velocity error variables, ev and ew in Eq. (12), are define as ev ew
= vc − vd , = wc − wd .
(18) (19)
Considering the nonlinear feedback acceleration control input as av aw
= v˙ d + k(vd − vc ), = w˙ d + k(wd − wc ),
(20) (21)
where k is a positive parameter, and av and aw are the actual accelerations of the robot, i.e., namely, av = v˙ c , aw = w˙ c . Note that if the second term on the right hand of Eq.s (20) and (21) is crossed out, the control law is usually called perfect velocity tracking, which is not possible for a real robot. By doing time-derivative on both sides of Eq.s (18) and (19), and using Eq.s (20) and (21), we have e˙ v e˙ w
= v˙ c − v˙ d = av − v˙ d = −kev , = w˙ c − w˙ d = aw − w˙ d = −kew .
(22) (23)
By substituting Eq. (22) and (23) into Eq. (17), we have V˙
k3 vd sin2 eθ − (e2v + e2w ) k2 1 + [−A − f (eD ) − g(eD )] vs2 . B
= −
(24)
Obviously we have −(e2v + e2w ) ≤ 0. Since parameters k2 and k3 are positive numbers, and the desired linear velocity vd is a positive constant, we have −(k3 /k2 )vd sin2 eθ ≤ 0. From the definition of functions f (eD ) and g(eD ), we have f (eD ) ≥ 0 and g(eD ) ≥ 0. In addition, the parameters A and B are nonnegative constants. Thus we can [−A − f (eD ) − g(eD )] vs2 /B ≤ 0. Therefore, the time derivative of the Lyapunov function candidate V˙ in Eq. (24) along all the system trajectories is not larger than zero, i.e. V˙ ≤ 0. The proposed tracking control system for a mobile robot is stable. The velocity error dynamic equations for mobile robot satisfy the following relationship: vc → vd , wc → wd as t → ∞. Obviously, by assuming that vd > 0, V˙ (t) ≤ 0 and the entire error Ep , ev , ew , vs are bounded. From Eq.s (4), (18), (19) and V˙ (t) ≤ 0, we can infer that kEp k, kE˙ p k, kev k, ke˙ v k, kew k, ke˙ w k, kvs k and kv˙ s k are bounded. Thus we have kV¨ (t)k < ∞. Since V (t) does not increase and converges to certain constant value. By Barbalat’s
lim (Xd (t) − Xc (t)) = 0
t→∞
(25)
Therefore, the proposed control algorithm is asymptotically stable and the tracking errors are guaranteed to converge to zeros.
3 3.1
Simulation Studies Tracking a Straight Path
The desired robot path is a straight line described as y = 5 and x = 0; the robot starts at (0, 3.2, 0). The desired cart is supposed to forward speed set out at point (0, 5, 0). So the initial error is (0, 1.8, 0). Time varies from 0 to 10s; the parameters are chosen as: k2 = 5, k3 = 2, A = 5, B = 3, D = 3, vd = 1, wd = 0. During the beginning period, the parameters used in the first order exponent equation for linear speed are as: k = 1, τ = 0.5. The sampling time is 0.01 second. The actual path is denoted with dash dot line and the desired path is the solid line as shown in Fig. 3A. The smooth and reasonable variation of speeds is demonstrated in Fig. 3B. The errors of longitude, lateral and orientation converge to zero as time approaches to infinity shown in Fig. 3C. Fig. 3D shows the change of the orientation of the mobile robot.
3.2
Tracking a Circular Path
Consider a circular path, x2 + y 2 = 1, as shown in Fig. 4, and assume that the desired linear and angular velocities are 1 and 1 respectively. The desired virtual car proceeds at such velocities and sets out from point (1, 0, 0). The actual robot starts at point (0, -.6, 0) . this means that the initial error is (-1, -0.6, 0). During the beginning period, the parameters used in
167
8
3
A
2.5
6
2
Velocity (m/s and rad/s )
7
Y(m)
5
4
3
2
B
Angular Speed
Forward Speed 1.5
1
0.5
0
1 0.5
0 0
1
2
3
4
5
6
7
8
9
1
10
X(m)
1.5
C
Logitudinal Error
1
2
3
4
5
6
Time(s)
7
8
9
10
D
1
0.8
Orientation(rad)
1
Lateral Error
0.5
0.6
0.4
0
0.5
0.2
Orientational Error
1
1.5
0
1.2
2
Error (m and rad.)
lemma, V˙ (t) → 0 as t → ∞, from which we can deduce that ev → 0, ew → 0, vs → 0 as t → ∞. By using Eq. (9) and the input-output property of the shunting model, we can infer that if output converges to some constant value (zero), the input is supposed to go to a constant value (zero), namely, eD → 0 as vs → 0. From the first term in Eq. (24), kk23 vd sin2 eθ = 0, we have eθ → 0 as t → ∞. From Eq. (4), as eθ → 0, we have wd − wc = 0. From Eq. (11), ew → 0 as t → ∞, thus k2 vd ev = 0. From the assumption vd > 0, we have eV → 0 as t → ∞. Thus the equilibrium point is Ep = 0, ev = 0, ew = 0. Therefore, the tracking control system is asymptotically stable. From the Jacobean transformation in Eq. (2), it is obvious that xd − xc = 0 and yd − yc = 0 from the results: eD = 0andeL = 0. Therefore, we have
0
0
1
2
3
4
5
Time(s)
6
7
8
9
10
0.2
0
1
2
3
4
5
Time(s)
6
7
8
9
10
Figure 3: Tracking a straight path. A: dynamic tracking performance; B: The generated linear and angular velocities; C: The tracking errors in the longitudinal and lateral directions, and in orientation; D: The varying orientation of the mobile robot.
the first order exponent equation for linear speed are: k = 1, τ = 0.05.The parameters used in the controller are: A = 5, B = 3, D = 3, K2 = 2, k3 = 4. the sampling time is equal to 0.01 second. As illustrated in Fig. 4A, the robot chooses a perfect angularity to track the circular path. Fig. 4B shows the smooth and reasonable velocity curves versus time. The speeds first increase and then track the desired speeds. The tracking errors approach to zero as time goes to infinity shown in Fig. 4C, Fig. 4D shows that the orientation increases until it equals 2π and then increases from 0. The robot advances about more than one and half circles shown in Fig. 4D during 10 seconds.
3.3
Comparison to a Conventional Backstepping Model
In this section, the backstepping technique based control law is compared to the biological neural network based tracking controller proposed in this paper. As we can see in the following equation (26), the suddenly changing errors result in the speed jump as shown in the Fig. 5B . The backstepping technique based tracking control law used by [3] is given as vc c1 eD + vd cos eθ = , (26) wc wd + c2 vd eL + c3 vd sin eθ where c1 , c2 , and c3 are the parameters. The tracking control law defined in Eq. (26) is simulated here using the same parameters as the controller proposed in this
B
2.5
2 1.5
1.5
0
Angular Speed
1
0.5
1 0
8
6
Angular Speed
2 0.5
0.5
0
0.5
1
1.5
2
2.5
3
0
3.5
1
0
1
2
3
4
5
6
Time(s)
7
8
9
10
C
1
D
Lateral Error 0.4
0.2
0.5
1
1.5
2
2.5
3
0
3.5
C
1
0
2
3
4
5
Time(s)
6
7
8
9
10
D
5
4
0.4
0.2
1
6
Longitudinal Error
2
0
7
0.6
3
Orientational Error 0
0
0.8
4
Error(m)
0.6
0.5
1
5
Orientation (rad)
0.8
1
1.2
6
Longitudinal Error
1.5
X(m)
7
1.2
Orientation(rad)
1
X(m)
Error (m)
Forward Speed
4
0.5 0.5
1 1.5
B
10
2
Y(m)
Velocity(m/s and rad/s)
Y(m)
1
0.5
A
2.5
Forward Speed
2
1.5
12
3
3
A
Velocity (m/s and rad/s )
3
2.5
3
Lateral Error
2
1
Orientational Error 0.2
0
1
2
3
4
5
Time(s)
6
7
8
9
10
0
0
1
2
3
4
5
Time(s)
6
7
8
9
10
Figure 4: Tracking a circular path. A: The dynamic tracking performance; B: The generated linear and angular velocities; C: The tracking errors in the longitudinal and lateral directions, and in orientation; D: The varying orientation of the mobile robot. paper (c1 = 10, c2 = 2, c3 = 4). The Fig. 5 shows that the results of the tracking controller defined by Eq. (26). Fig. (5B) demonstrates that the speed changes suddenly rather than gradually from zero when time equals zero. So this does not hold in practice. In comparison to Fig. (4B), the proposed path tracking controller can obtain a reasonable results. What’ more, the proposed controller in this paper tracks the circle path quicker than the controller proposed in [3]by comparison of Fig. (4A) and Fig. (5A).
4
Conclusions
In this paper, a novel neural dynamics based tracking controller is proposed, which is capable of generating smooth and continuous velocity commands with zero initial value. The tracking control system is asymptotically stable, and the tracking errors are guaranteed to converge to zeros. The proposed controller resolves the problem of sharp speed jumps at beginning and when sudden tracking errors occur.
References [1] J. M. Yang and J. H. Kim: Sliding mode control for trajectory tracking of nonholonomic wheeled mobile robots. IEEE Trans. on Robotics and Automation, 15 (3): 578-587, 1999.
168
0.2
0
1
2
3
4
5
Time(s)
6
7
8
9
10
0
0
1
2
3
4
5
Time(s)
6
7
8
9
10
Figure 5: Tracking a straight path with a conventional backstepping controller. A: The dynamic tracking performance; B: The generated linear and angular velocities; C: The tracking errors in the longitudinal and lateral directions, and in orientation; D: The varying orientation of the mobile robot. [2] D. H. Kim and J. H. Oh: Tracking control of a twowheeled mobile robot using input-output linearization. Control Engineering Practice, 7 (3): 369-373, 1999. [3] R. Fierro and F. V. Lewis: Control of a nonholonomic mobile robot: backstepping kinematics into dynamics. J. of Robotic Systems, 14 (3): 149-163, 1997. [4] Q. Zhang, J. Shippen and B. Jones: Robust backstepping and neural network control of a low-quality nonholonomic mobile robot. Intl. J. of Machine Tools and Manufacture, 39 (7): 1117-1134, 1999. [5] M. Ahmadi, V. Polotski and R. Hurteau: Path Tracking Control of Tracked Vehicles. Proc. of IEEE Intl. Conf. on Robotics and Automation, San Francisco, USA, pp. 2938-2943, 2000. [6] V. Boquete, R. Garcia, R. Barea and M. Mazo: Neural control of the movements of a wheelchair. J. of Intelligent and Robotic Systems, 25 (3): 213-26, 1999. [7] A. Ollero, A. G. Cerezo and J. V. Martinez: Fuzzy supervisory path tracking of mobile robots. Control Engineering Practice, 2 (2): 313-19, 1994. [8] K. C. Ng and M. M. Trivedi: A neural-fuzzy controller for real-time mobile robot navigation. Proc. of the SPIE - The Intl. Soc. for Optical Engineering, 2761: 172-183, 1996. [9] A. V. Hodgkin and A. F. Huxley: A quantitative description of membrane current and its application to conduction and excitation in nerve. J. of Physiology London, 117: 500-554, 1952.