A path tracking control system for autonomous mobile robots: an experimental investigation

A path tracking control system for autonomous mobile robots: an experimental investigation

Mechatronics Vol. 4, No. 8, pp. 799-820, 1994 ~) 1994 Elsevier Science Ltd Printed in Great Britain. All rights reserved. 0957-4158/94 $7.00+0.00 Pe...

1MB Sizes 0 Downloads 71 Views

Mechatronics Vol. 4, No. 8, pp. 799-820, 1994

~) 1994 Elsevier Science Ltd Printed in Great Britain. All rights reserved. 0957-4158/94 $7.00+0.00

Pergamon 0957-4158 (94) 00030-1

A PATH TRACKING CONTROL SYSTEM FOR AUTONOMOUS MOBILE ROBOTS: AN EXPERIMENTAL INVESTIGATION

K. C. KoH and H. S. CHo*

Department of Precision Engineering and Mechatronics, Korea Advanced Institute of Science and Technology, 373-1, Kusong-dong, Yusong-gu, Taejon, 305-701, Korea

(Received 24 March 1993; accepted 31 May 1994) Abstraet--A path tracking control system developed for autonomous mobile robots driven by wheels is described. In conventional approaches, the path is usually planned by smooth curves with curvature-continuity and a path tracking controller is independently designed to compensate the path error occurring in the navigation. However, smooth path planning is difficult to execute on-line due to the computational burden. In addition, the conventional path tracking algorithm often causes unpredictable tracking motion when large path error occurs. In previous work, the present authors presented a bang-bang path tracking algorithm by which smooth and stable tracking motion could be obtained even for the path given by simple combination of straight lines or circles and its effectiveness was proven via preliminary simulation studies. However, there still remained the problem that the design parameter called landing coefficient could not be optimally chosen and performance verification through real system application was not accomplished. In this study, we improve the algorithm which can determine the design parameters analytically and verify its performance by implementing the algorithm in an actual mobile robot control system designed using a personal computer. To investigate the performance of the control system, a series of path tracking experiments was conducted for a two-wheel driven robot developed in the laboratory.

1. INTRODUCTION In recent years, the application area of autonomous mobile robots has been rapidly expanded due to the development of computer science and sensor technologies. Among the parts composing the free-ranging navigation system of the mobile robot, the path planning part and path tracking control part play an important role in estimating overall control performance of the robot. This paper describes a path tracking control system developed for a wheeled mobile robot which has two degrees of freedom of linear and rotational motions. Since wheeled mobile robots have nonlinear kinematic characteristics as well as the non-holonomic constraint problem [1], path planning and path control become very difficult to design from the viewpoints of optimality and stability. In particular, stable and smooth motions are very important for wheeled mobile robots in order to avoid possible slippage between wheels and floor or mechanical shocks arising from abrupt changes in motion. In previous works [2-5], there have been many attempts to realize such motions by planning a smooth path of continuous curvature; these include a clothoid pair method [3], cubic spiral curve [4] and a polar and Cartesian polynomial curve [5]. However, *To whom all correspondence should be addressed.

799

800

K.C. KOH and H. S. CHO

since such planning methods are computationally too complex to be executed on-line, they cannot be applied to dynamically changing environments. Even for a well designed path, during actual navigation, there exists inevitable path error between the current position of the robot and the desired path, due to the imperfect tracking control of driving wheel velocities or environmental disturbances. This path deviation should be corrected by on-line adjustment of the desired linear and rotational velocities of the robot in the execution level called path tracking control. The previous works on path tracking control can be classified into three major approaches: linear [6-9], nonlinear [10, 11], and geometrical [12, 13] approaches. More specifically reviewing the previous results, Nelson [7] presented a linear path control algorithm in which the wheel commands are determined by proportional feedbacks of local path errors. Kanayama et al. [8] extended it to a PID version to compensate the steady state path error. These linear approaches are structurally simple from the computational viewpoint but the resultant tracking motion varies with the magnitude of the path error due to the non-holonomic characteristics inherent in wheeled mobile robots. To improve the drawbacks, Hemami et al. [10] have proposed a nonlinear path tracking algorithm considering the non-holonomic characteristics. Kanayama et al. [11] have derived a stable tracking control algorithm from the stability analysis based on the Liapunov function method. These methods show more improved tracking performance than the linear approaches, but still require complex path planning for smooth motion in robot navigation. On the other hand, geometric approaches such as the quintic polynomial method proposed by Sing et al. [12] or the target point following algorithm presented by Tsugawa et al. [13], can be considered as an attempt to combine on-line path planning with path tracking control. Although these schemes have succeeded in generating stable and smooth tracking motions when the robot is located a long distance from the desired path, there has been no consideration of the dynamic constraints of the robot such as conditions for maximum curvature of the replanned path or acceleration limits of linear and rotational motions of the robot in deriving those algorithms. To avoid such criticism, the present authors [14] proposed a new control strategy in which the path was simply planned by multi segments specified by straight line or arc. In the execution level, the intermediate smooth motion between two adjacent path segments was guaranteed by a path tracking controller taking into consideration acceleration limits. In order to realize the optimal smooth tracking motion, the path tracking controller was designed by combining the time-optimal bang-bang controller with an on-line planner which can generate a cubic polynomial curve named a landing curve. Although the bang-bang tracking algorithm has shown satisfactory tracking results through the simulation study, there still remains a problem that the design parameter of the landing curve cannot be analytically determined. In this study, we improve the previous tracking algorithm which can be applied to actual robot control systems and present a design method to determine the coefficient of the landing curve based on curvature analysis. The path tracking control system is completed by integrating the improved bang-bang tracking algorithm with other essential parts of the control system which include the path planner, the wheel servo controller and the position estimator. The hardware environment implementing the control system was designed based on an IBM-386 personal computer with a DSP-320C30 board. To investigate the performance of the control system, a series of

Path tracking control system for autonomous mobile robots

801

path tracking experiments was conducted for a two-wheel driven robot developed in the laboratory. The experimental results demonstrate the possibility that the designed path tracking system can be successfully applied to general wheeled mobile robots in practice. The content of this paper is organized as follows. In section 1 the motivation of the study with reviews of the relevant previous works has been addressed. In section 2, a mobile robot system is briefly described by the structure and main function of its components. The improved bang-bang tracking algorithm is presented in section 3 and the experimental results and some discussions are given in section 4. Finally, in section 5, concluding remarks are drawn based upon the experimental investigations.

2. ROBOT SYSTEM DESCRII~ION

In this section, we will describe a mobile robot with the kinematic analysis and give a brief description of its control system. 2.1. A two-wheel driven robot The mobile robot considered in this study is a wheeled mobile robot named L C A R which is driven by two differential wheels as shown in Fig. 1. It has four wheels; two driving wheels are fixed at each side of the robot and two caster wheels support the robot at the front and rear sides, respectively. The robot can move back and forth and change its heading angle via velocity control of the driving wheels. The motion of the robot can be described by linear velocity, re, and rotational velocity, o9¢, which are calculated from the following equations: v¢ = rw(m~ + o4)/2 (D c ----" r w ( t O r - -

where rw is radius of wheels. As shown in variables (x¢, y¢) and equation of motion of

O)l)ldw,

(la) (lb)

the driving wheel and dw is the azimuth length between both Fig. 2, the posture of the robot is defined by two positional a direction variable (C#¢) in a world coordinate frame and the such a wheeled mobile robot can be written as follows: xc = v~ cos C#¢

(2a)

pc = vc sin C#~

(2b)

~ = toe.

(2c)

When the degree of motion of a moving object is less than the number of generalized coordinate variables, it is said that the object has the non-holonomic constraint. For wheeled mobile robots, the non-holonomic constraint can be derived from Eqns (2a) and (2b) and is given by the following relationship: 5~¢= ~c tan C#¢. (3) This means that the mobile robot cannot change position and direction independently and therefore makes it difficult to design the path tracking controller correcting the path error defined in the x - y - c # coordinates.

802

K.C. KOH and H. S. CHO

Fig. 1. An overviewof the mobile robot (LCAR). 2.2. Mobile robot control system

As shown in Fig. 3, we constructed a robot control system which is mainly composed of four sub parts; path planner, path tracking controller, wheel servo controller, and position estimator. Now, we will briefly describe the functions of each part. 2.2.1. Path planner. The path planner makes a plan for a reference path trajectory to be tracked by the robot. This planning is performed in two modes: off-line and on-line. In the off-line mode, the global path starting from an initial point and ending at a goal point is designed, while the local path, based on the global path, is specifically planned in the on-line mode. Here, we present a behavior-based local path planning method. During the navigation, the robot usually makes one of four typical motions as shown in Fig. 4: (a) straight forward motion, (b) lane change

Path tracking control system for autonomous mobile robots

803

Y0 O O

?

v X¢

x-coordinate Fig. 2. Definition of position and velocity of mobile robot.

motion, (c) quick turning motion and (d) circular turning motion. Accordingly, the global path is approximated by multiple path segments corresponding to such motions in the local path planning mode. This method is also useful to make temporal changes of the path in order to avoid obstacles. 2.2.2. Path tracking controller. The path tracking controller consists of two independent control algorithms determining the desired linear and rotational velocities in execution level. It is schematically located at the center of the overall control system as shown in Fig. 3. At every control instant, once the errors between the robot and the desired path are calculated, then the desired velocities of the mobile robot (v d, tod) are determined based on the path errors and finally given to each wheel servo controller as reference wheel velocities through the following transformation: (3)dr

d (V d + dwtOc/2)rw -

dwo~o/2)/rw.

(4a)

(4b)

The design procedure of the path tracking control algorithm adopted in the control system will be described in detail in the next section. 2.2.3. Wheel servo controller. Given the reference wheel velocities (tod, told), the wheel servo controller independently designed for each wheel controls the driving wheel to follow the reference velocities. In each wheel servo loop, a feedforward

804

K. C. KOH and H. S. CHO

iiiiiiWi

Hl!i!!!!ii!l I G ~

. . . . . . .io. a? ijii l

PathPlanner[~ii~i]

(P

Fig. 3. Overall block diagram of the path tracking control system.

l-th segment

(1+1)-~

(l+l)-th segment

L

I-th segment ~ ~

(a) Straight forward path

..............

(c) Instant turning path

(1+1)-th segment



I-thsegment

l-th segment ~ r

A w

(b) Lane change path

r

v

(d) Circular turning path

Fig. 4. Local path planning using four types of path.

controller based on parameter estimation is constructed in parallel with the feedback controller to compensate dynamics of the robot and actuators [15]. The detailed procedure for design of the wheel servo controller will be omitted since it is out of the scope of this paper. 2.2.4. Position estimation. To accurately navigate along the desired path, the robot has to know its actual position (xc, yc) and orientation (q~c) by itself. For this purpose,

Path tracking control system for autonomous mobile robots

805

we adopt a dead reckoning (DR) method using wheel encoders as a relative position sensor. The position and orientation of the robot are estimated using information of optical encoders attached to each driving wheel. The linear velocity, vc, and the rotational velocity, toc, at the center of the robot can be calculated by using Eqns (la) and (lb), and then the position estimation of the mobile robot is performed by the following approximate integration algorithm: (i) for rotational motion (toc ~ 0) Xc = Xcp + Vc(sin q~c - sin q~P)/toc

(5a)

Yc = Ycp - Vc(COS~Oc - cos dpP)/toc

(5b)

+ tocrs

(5c)

xc = Xcp + vmTscos q~c p

(6a)

Yc = Yp + vc Ts sin q~P

(6b)

tPc = tPp,

(6c)

=

(ii) for linear motion (toc -------0)

where T~ is the sampling period and the superscript p denotes the value at the last sampling time. This method provides useful position information in short range navigation where the estimation error due to environmental uncertainties such as slippage between wheels and the floor falls into a tolerance bound. In long range navigation, however, it is required to periodically correct the accumulated error caused by the D R estimation. Therefore, it is necessary to use an additional absolute position sensor such as a vision camera and landmark system [16]. In this study, however, we will consider a path tracking system using the D R estimation alone since the experimental investigation of a path tracking controller is the main purpose of the paper.

3. THE PATH T R A C K I N G C O N T R O L L E R

3.1. Theoretical background In this section, the theoretical background of the path tracking algorithm adopted in the robot control system will be briefly reviewed.

3.1.1. Target vehicle and target tracking control. In tracking control mode, the local path needs to be represented with respect to time, more specifically, sampling time instant. As a means of representing the path in such a manner, let us consider a virtual tax:get vehicle which is assumed to ideally move along the path with a reference linear velocity given to each segment. Then, the path can be represented by a sequence of the target position, P t - - ( x t , Yt, q~t)r, and the target linear and rotational velocities (vt, tot). In a similar way, the current motion of a mobile robot is described by its position in the world coordinate frame, Pc = (xc, Yc, q~c)r, and its linear and rotational velocities (vc, toe). Thus, path tracking control can be formulated as a target tracking problem in which the desired linear and rotational velocities of

806

K . C . K O H and H. S. C H O d

d

the robot at the next control instant, v c and w c, are determined so as to eliminate the path and velocity errors between target vehicle and robot. As shown in Fig. 5, the path errors are defined in the local coordinates fixed on the target vehicle and can be calculated from the posture error by using the following transformation:

ex

= (xt -

Xc) cos ~t + (Yt --

ey = - ( x t - x~) sin q~t +

(Yt -

Y~) sin ~ t

(7a)

Yc) COS ~t

(7b)

e¢ = ~t - q~c,

(7c)

where ex and ey are, respectively, the tangential and lateral position errors with respect to the target vehicle and e , is the orientation error.

3.1.2. Bang-bang control law. Let us consider a vehicle tracking a target in one dimensional space and assume that its acceleration and velocity, Vc and a¢, are limited by the following conditions:

Io¢1-
(8a)

lacl-< amax-

(8b)

Then, the problem of finding an acceleration control law which enables the vehicle to reach the target position and velocity in minimum time, while satisfying the limit conditions, can be solved by a typical time optimal bang-bang control method. A comprehensive algorithm for its digital implementation can be expressed in the following steps.

Yt

O 0

?

Yc

.... ~

. . . . . -~- o

,~

mobilel robot ,,

Yt

I i

x~

x--coordinate

xt

Fig. 5. Definition of the path error expressed in a local coordinate.

Path tracking control system for autonomous mobile robots

807

(i) Calculate the safe velocity, vs, defined by Vs =

V t "~"

[2amaxlXt-- Xcl]l/E.sgn( X t

-- Xc) ,

(9a)

where sgn (.) is the sign function. Then, v~ can be expressed as maximum allowable velocity given to the vehicle located at x¢ which may reach the target position (xt) and velocity (vt) by maximum deceleration of amax. (ii) Restrict vs to its limit value, Vm~x v~ =/~(vs, Vm~x),

(9b)

where ~(a, b) is a clamping function that the maximum absolute value of a is limited by b. (iii) Calculate the acceleration of vehicle, ac

( v~- vc ac = ~

"

Tss

) ' amax

(9c) '

where Ts is the sampling period. This rule can be directly applied to determine the acceleration of the vehicle but if the vehicle is controlled by the velocity feedback loop, the next step is needed. (iv) The desired velocity of the vehicle at the next sampling instant can be determined by

vd(k + 1) = vc(k) + acts.

(9d)

3.2. The improved bang-bang path tracking algorithm In a previous study [14], the authors presented a basic concept of the path tracking control algorithm by extending the bang-bang control law to a two d.o.f, mobile robot which tracks the virtual target vehicle moving along the path. However, in real application, it shows some problems in that the tracking motion tends to be unstable for abruptly changing paths and the design parameter guaranteeing the stability cannot be analytically determined. In this study, we present an improved version of the bang-bang tracking algorithm which can determine the design parameter analytically.

3.2.1. Linear velocity control law. The desired linear velocity of the mobile robot should be determined so as to reduce the tangential position error, ex, in Eqn (7a). When, for a smooth linear motion, the linear velocity and acceleration of the mobile robot are limited by Eqns (8a) and (8b), the linear velocity control law can be derived by using the bang-bang control and is given by Vs = vt + [2amaxlexl]l/2.sgn(ex)

(10a)

v' = g(v~, V~ax)

(lOb)

ac = #[(v~, oc)/Y s, amax]

(10c)

d

vc = v¢ + acTs,

(10d)

808

K.C. KOH and H. S. CHO

where v d denotes the desired linear velocity in the next control instant. This linear velocity control law can give the time optimal velocity profile which reduces the tangential path error (ex) and thus reaches the target linear velocity (Or) as closely as possible.

3.2.2. Rotational velocity control law. The desired rotational velocity of the mobile robot should be determined so as to reduce the lateral position path error, ey, and simultaneously the orientation error, e¢. Similar to the linear motion, the rotational motion is also assumed to be constrained by the following limitations:

Itocl-< I cl

tomax

(11a)

~'max,

(llb)

where tomax and ~max are the limitations on the rotational velocity and acceleration, respectively. However, due to the non-holonomy problem, the rotational velocity control law cannot be derived from direct application of the bang-bang control to the lateral position and orientation errors (ey, e¢) and the target angular velocity (tot). Therefore, a rotational velocity control algorithm can be designed by combining the bang-bang control with an on-line curve design scheme. To design such an algorithm, as shown in Fig. 6, let us consider a virtual curve indicated by a dotted line passing the center of the mobile robot with path errors, ey and e¢, and contacting an asymptotic tangential line (Lt) of the target vehicle. The curve is called the landing curve and can be represented by a function yL(XL) in the local coordinates OL--XL--YL whose origin is the contact point of the curve on L t. Then we can find a candidate of the landing curve represented by yL(XL) = Cxx 3, (12)

0 ~ ' / ~

~x~\~

.2 0 o

mobile robot

landing curve

yr(xD D,

x-coordinate Fig. 6. Definitionof the landingcurve and the target angle.

Path tracking control system for autonomous mobile robots

809

where Cx is called the landing coefficient. It is a minimal order polynomial curve satisfying the continuity conditions for position, orientation and curvature at the contact point on the tangential line (Lt). Therefore, the landing curve of Eqn (12) can be used as an intermediate path guiding the robot to the reference path, thus reducing the path errors (ey, e¢). Once the landing curve is designed, an intermediate target heading angle ~b( to be followed by the robot can be obtained by (13) where q¥ = tan -1 [SL]

(14a)

SL = 3Cx(ey/C~) 2/3 sgn (ey)

(14b)

and S L is the slope of the landing curve at the robot center. Thus, if the rotation of the robot is controlled to follow the intermediate target angle (tp~), then the robot can make the resultant smooth rotational motion guided by the landing curve. With the intermediate target angle designed in the above, the intermediate target angular velocity, w(, can be calculated by 0)( = O)t "[" Vt/('L

(15a)

x L = C,/[1 + $2] 3/2,

(15b)

where x L is the curvature of the landing curve passing through the robot center. Now, a rotational velocity control law can be derived, which controls the robot to follow the landing target angle (~p;) and its angular velocity (aQ updated at every instant. Upon consideration of limits on the rotational velocity and acceleration, ¢Omax and Crm~, we can derive the following control law by applying the bang-bang control law to the target values (q~ and w~): ms = to( + [2a'm~xl~P(- ~P~l]l/2"sgnOP(- ~P~)

(16a)

~o~ =/,(w~, win=)

(16b)

a~ =/~[(a~ - w¢)/T~, a~ma~]

(16c)

d

toc = we + crcr s,

(16d)

d

where o& is the desired rotational velocity of the mobile robot at the next sampling instant. The path tracking algorithm described so far has the following features. First, it considers the acceleration constraints (am~x, a%ax) for robot motion and employs the bang-bang control scheme in order to make the tracking motion as smooth as possible in minimum time under the constraints. Secondly, by introducing the concept of the landing curve, the non-holonomic problem associated with steering of wheeled mobile robots can be solved.

3.3. The condition for landing curve coefficient In the bang-bang path tracking scheme, the stability of the tracking motion of the mobile robot depends on the coefficient C~ of the landing curve. If C~ is chosen to be

810

K.C. KOH and H. S. CHO

a larger value, the convergence of the motion to the reference path becomes faster, but if it is too large, it may cause unstable vibratory motion due to the dynamic constraints of the robot. To avoid this, a method of determining C, is presented via curvature analysis of the landing curve. If the target linear velocity of a mobile robot is specified by vt and its rotational motion is constrained by Eqns (lla) and (llb), then the maximum curvature, rmax, and its changing rate, km~x, of the motion are represented by Kmax = (-Omax/Ot

(17a)

/~max ~---&'max/Or •

(17b)

Accordingly, the landing curve should be designed so as to satisfy the following conditions: (i)

[K(XL)[max ~ R'max = O)max/Ot

(18a)

(ii)

[~(XL)[max ~/~max = Olmax/Ot,

(18b)

where K(XL) and k(XL) are functions of the curvature, and its changing rate, of the landing curve, respectively, and ['[max denotes the absolute maximum function. Therefore, the final conditions for the landing coefficient can be found from the conditions of Eqns (18a) and (18b): 0 < C x ~/3((.Omax/Ot) 2

(19a)

0 < Cx <~(0~max/6)2vt2,

(19b)

where /3 is the constant value of 18 x 5 -s/2. The derivation procedures of the above conditions are given in the Appendix. Accordingly, the maximum value of Cx simultaneously satisfying the above two conditions guarantees the desired tracking motion of the robot controlled by the bang-bang path tracking controller. The verification of this analysis will be discussed via experiments in the next section.

4. EXPERIMENTS

To verify the validity of the path tracking control system, a series of experiments was conducted for the mobile robot as shown Fig. 1. In the experiments, the dead reckoning (DR) method utilizing the information of wheel encoders was employed as a position estimation method. 4.1. Hardware structure of the robot control system

For the experiment, the hardware structure of the robot control system shown in Fig. 7 was designed based on a personal computer (PC) (IBM-PC/386). The PC plays the role of main control computer in which the presented path tracking control algorithm, the path planner and D R estimator were implemented. The wheel servo controllers were implemented on digital wheel control boards which are independently designed using an INTEL/8032 g-controller for control of each driving wheel. To enhance the computational capacity of the main computer, a TMS320C30 DSP

Path tracking control system for autonomous mobile robots

811

Host Computer (PC-386/AT)

?; Communication Interface

(PPI)

J -I

I

Wheel Control Board #1

Wheel Control t~ Board #2 [~

Motor Driver #1

Motor#2~Driver

DC Motor #1

DC Motor #2

~

'( lOr'v'nee': Belt/Pulley

Belt/Pulley

Driving Wheel #1

I

Mobile Robot

Fig.7. Hardwarestructureofthemobilerobotcontrolsystem. board is co-operated with the PC. The sampling period Ts was chosen to be 20 ms by considering the computing speed of the main computer. The desired wheel commands (tod, tOo) computed by PC at every control instant are transfered to each wheel control board via parallel I/O interface. Then, each driving wheel is controlled by an individual wheel controller so as to follow the desired wheel command. In the position estimator, the actual wheel speeds ((OR,tOE) are obtained from wheel encoders and the current position (Xc, Yc, tp¢) and velocities (Vc, tOc) of the mobile robot are updated via DR estimation method at the sampling time Ts. 4.2. Experimental conditions The path tracking experiments were performed for four typical types of path, as shown in Fig. 4. They cause the mobile robot to navigate with (1) linear motion, (2) lane change motion, (3) quick turning motion and (4) circular turning motion, respectively. The maximum linear and rotational velocities were chosen to be 0 . 4 m s -1 and 1.45 rads -1, respectively, considering the capabilities of the wheel driving motors, while the maximum linear and rotational accelerations were chosen to be 0 . 1 m s -2 and 0.18rads -2, respectively, considering the smoothness of robot motion to avoid the slippage of wheels or excessive mechanical shock. Given target linear velocity, we can obtain the conditions for the landing curve coefficient, Cx, by substituting the chosen values for (°maxand a~max into Eqns (19a) and (19b). (i)

Cx <~ 3.00

for vt = 0.1 ms -1

(20a)

(ii)

Cx <~0.75

for vt = 0.2 m s -1.

(20b)

812

K.C. KOH and H. S. CHO

In order to compare the proposed method with the conventional method, the PD type linear path tracking control algorithm given by the following equations was simultaneously investigated in the experiments. d

(21a)

d

(21b)

vc = vt + Kxex toc = oot + Kyey + K~e~,.

In the conventional method, various combinations of the gain set, [Kx, Ky, K~], were selected via trial and error method and, in addition, the same constraints on the velocities and accelerations were considered in order to compare it with the proposed scheme.

4.3. Results and discussion 4.3.1. Tracking experiments for a straight line path. This experiment was performed for evaluation of the linear velocity control law in the proposed algorithm. As shown in Fig. 4a, the desired path was given to the robot by a straight forward line which starts with the current position and direction of the robot. The length of the path was chosen to be 2 m and the robot was controlled to move with a specified target velocity and to stop after traveling the designated distance. Figure 8a, b and c show the linear velocity profiles for the straight line path generated by two kinds of control methods. The various target velocities were selected as; vt--0.1, 0.2 and 0.3 ms -1. Figure 8a and b are the results of the conventional method with Kx = 1 and K x--0.5, respectively, and Fig. 8c is the result of the proposed method. From the results, it is observed that the conventional PD type controller shows the overshoot or slow response in the velocity trajectories depending on the gain, Kx, while the proposed method has the time-optimal velocity profiles with no overshoot. 4.3.2. Tracking experiments for lane change paths. The lane change path in Fig. 4b is usually planned in the case of avoiding obstacles existing in front of the robot. In the beginning of tracking such a path, a large lateral position error, ey, inevitably occurs since the path does not satisfy even the positional continuity between the robot and the path. Thus, such a type of path is efficient to estimate the steering control performance of the path tracking control algorithm. Figure 9a and b show the motion trajectories of the robot in x - y coordinates, conducted by the conventional algorithm and the proposed tracking algorithm, respectively, for a lane change path with lane width of 1.5 m and target linear velocity of 0.1 ms -1. As shown in Fig. 9a, the tracking performance of the linear tracking method largely varies according to the selection of gain parameters while, as shown in Fig. 9b, that of the proposed tracking method is robust for various changes in the control parameter, Cx: this varies from 0.375 to 3.0 by consideration of the condition of Eqn (20a). The superiority of the proposed method becomes more obvious by observing the curvature trajectories obtained from the same experiments depicted in Figure 10a and b. In particular, it is noticed in Fig. 10b that the proposed method in the case of Cx = 3 shows the curvature trajectory approximately approaching that of the clothoid curve which is known as the time optimal curve. Figure l l a and b show the results of both tracking control methods for various lane change widths: 0.5, 1.0 and 1.5 m. As shown in Fig.

Path tracking control system for autonomous mobile robots

813

0.4 0 ~

0.3

/-.v/

.~

0.2

~ 0

0.1

~

0.0

\

,'

,/

o

~,

/ . . . .

- .........

v -

- - - -

v = 0.2 m/see v = 0.:~ m/see

-

-

O,I m / s ~

~. \:.\

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

,

.

\ \/

~ -0.1 -0.2

i

i

i

[

(a) The conventional PD method(K,,=1.0) o t~

0.4.......... ----

0.3 ./'x\

~.

0.2

.-

0.1

v = 0,I m/see v = 0.2 m/see v = 0.3 m/see

- - - /

q

¢v - 0 . 1 ,-..1 -0.2 i

i

I

i

(b) The conventional PD method(K~=0.5) o

0.4 0.3

/ .~

/"

~" 0.2

5o o

~"

"~

//

' ........

0.I

/

\ .\ \ '\ "\ ~\,( ~ - . . . . . . . . . '\. \,\

0. i m/|e¢ ~ - 0.2 m/see

..........

V I

~

V = 0+3 m ~

"\

~r

\\

0.0

.~ - 0 . 1 ,-.1 -0.2 i

0

0.3

0.6

i

i

0.9

1.2 Time(t),

1.5 sec

(c) The proposed method F i g . 8. V e l o c i t y

vs time trajectory

for a straight

line path.

11a, the tracking motions by the conventional method vary considerably with the lane change width, while the results of the proposed method, depicted in Fig. 11b, show smooth encounter with the path irrespective of the lane change width.

4.3.3. Tracking experiments for quick turning paths. Figure 12a and b show the results of the tracking experiments conducted for three kinds of quick turning paths.

814

K.C. KOH and H. S. CHO 2.0

1.5

o9

1.0

"Z3

L. 0.5 0 0 CO

I

:~' 0.0

-0.5

I

I

I

I

I

(a) The c o n v e n t i o n a l PD m e t h o d 2.0

15

4

>~

"~ O 0 c..)

I

1>~

1.0

C, case 1:300 case 2:1.50 case 3:0.75 4:0.37

05

0.0

0.5

0.0

0.'5

1)0

1)5

x-coordinate(x),

(b) The

proposed

2)0

z)5

3.0

m method

Fig. 9. Results of the path tracking control for various control gains (a lane changing path):

o t = 0 . 1 m s -1.

In the experiments, the turning path is designed by a straight line changing direction abruptly as shown in Fig. 4c. The reference linear velocity is chosen to be 0.2 ms -1 and the control parameters of both control methods are chosen as Kx = 0.5, Ky = 0.5, and K~ = 0.25 for the conventional method and Cx = 0.75 for the proposed method, respectively. From the figures, it can be observed that the proposed method possesses robust tracking performance for various turning angles, while the conventional linear tracking method yields different tracking performances according to the magnitude of the turning angle.

Path tracking control system for autonomous mobile robots

815

2.0

1.0

0.0

,t.., o

-1.0

case case case case

-2.0

I

I

l~ Ky K¢ 1: 1,00 1.00 0.50 2 : 0 . 7 5 0.75 0.37 3:0.50 0.50 0.25 4:0.25 0.25 0.12

I

I

(a) The conventional PD m e t h o d 2.0

1.0

0.0

C, o

case case case case

-1.0

-2.0

0.0

1:3.00 2:1.50 3:0.75

4:0.37

I

I

I

I

1.0

20

ao

40

5.0

time(t), sec (b) The proposed m e t h o d Fig. 10. C u r v a t u r e vs t i m e trajectory for v a r i o u s c o n t r o l gains (a l a n e c h a n g i n g path): vt = 0 . 1 m s - 1 .

4.3.4. Tracking experiments for circular turning path. To observe the tracking performance of the proposed scheme for the path with the discontinuity of curvature, the experiments were also conducted for the circular turning path as shown in Fig. 4d. The path tracking error occurs at the beginning and at the end of the path due to the curvature discontinuity. The tracking motions by the conventional and proposed methods are shown in Figure 13a and b, respectively. From the results, it can be observed that the proposed scheme has a little faster convergency compared to the conventional scheme. 4.3.5. Complex path combined with various path segments. Finally, to evaluate the overall tracking performance, the experiment was conducted for a complex path

816

K.C. KOH and H. S. CHO 2.0 3

....... /---f

1.5 i i

v

1.0

I ..............

2

"~ O O

i__

0.5

I

~'~ 0 . 0

case

I: dy = 0.Sm

case

2: dy = 1.0m 3: dy = l.Sm

case

-0.5

(a) The conventional method: [ K . , K y K j

= [0.5, 0.5, 025]

2.0

1.5 ~-~ "d-J ~

1.0

0 0

0.5

I case

0.0

case case

I: dy = 0.5m 2: dy = 1.0m 3: dy = 1.5m

-0.5 0.0

0,J5

1.;

1.~5

g.~0

x-coordinate(x),

2.~5

3.0

m

(b) The proposed method: C~=1.5 Fig. 11. Results of the path tracking control for various lane widths (lane changing paths): vt = 0.1 ms -1. combined with four types of path segments as shown in Fig. 14. From the result, we can confirm the capability of the proposed tracking method which guarantees smooth and fast converging tracking motion for such a roughly designed path trajectory.

5. C O N C L U S I O N In this paper, a new path tracking control system for wheeled mobile robots has been designed to cope with the problems in conventional path planning and control.

Path tracking control system for autonomous mobile robots 2.5

\

1.,5

.~

/,," ,//"

\\

E~ 2.0

\\ \

/

1.o

3 \

0

o

o ]

817

0.5

\

t

,

"

~

\

\\

\1

I

/

//

\G/--~

0.0

,

\

]/

case 1: d ~ : 45 ° case 3: d~ = 90"

/

case 3: d ~ = 135"

-0.5

I

I

I

I

l

(a) The conventional methtxi : [I~,,K~KJ -. [0.5, 0.5, 0.251 2.5 i~

2.0

.b

:.5

.~

1.0

2 L 0 0

I

0.5

iiiii : ii == 90* 45° 135"

0.0 -0.5

I

-3.0

-2.0

I

-1.0

I

I

I

0.0

1.0

2.0

3.0

x-coordinate(x), m (b) The proposed method: C~=0.75 Fig. 12. Results of the path tracking control for various turning angles (quick turning paths): ot = 0.2 m s -1.

We have adopted a control strategy in such a way that the local paths are as simply designed as possible and a path tracking control algorithm guarantees smooth and stable motion. In the newly adopted path tracking control scheme, time-optimal bang-bang law has been combined with an on-line curve design called the landing curve and the dynamic constraints of the robot such as the acceleration limits or the curvature constraint have been considered for smooth motion. Consequently, the presented path tracking method makes the robot get back to the path smoothly from a largely deviated position which may be mainly caused by a conventional simple path planning allowing discontinuities in position, direction or curvature between adjacent path segments. The overall software of the path tracking control system has been developed based on the proposed control strategy and actually implemented in the

818

K.C. KOH and H. S. CHO

iiiiiiiiiii --

2.5

E >~

0 2m/see

........

2.0

1.5

Q) 1.0

1 /!

o

/

0,5

0

f.)

y

I O0

-0.5

I

I

I

I

I

F

I

(a) The conventional method : [K,,Ky.Kd = [0.5, 0.5, 0.251 2.5

0,2m/see

. . . . . . . .

2.0

E "V

1.5

1.0 .,..~

"0 o o

0.5

o

I

>,

0.0

-0.5

I

-15

-1.0

I

-o5

I

I

I

I

I

0.0

0.5

l,o

1.5

e.o

x-coordinate(x),

e,~

m

(b) The proposed method : C,=0.75 Fig. 13.

Results of path tracking control for various arc radii (circular turning paths): vt = 0.2 m s -1.

PC-based mobile control system. To show the validity of the control system, a series of tracking experiments was conducted for four typical paths under various conditions. The experimental results confirm that the developed control system is practically efficient for general path tracking of a wheeled mobile robot. We also expect that it can be successfully applied to target following problems of other types of vehicles. Work on sensor based navigation using a landmark and vision system is now proceeding using the developed control system.

819

P a t h t r a c k i n g c o n t r o l system for a u t o n o m o u s m o b i l e r o b o t s 2.5 reference path 2.0

tracking result of PD method tracking result of the proposed method

1.5 ...-:,

.P- , j / / i / ~

1.0

0.5 o o

I

l/



0.0

-0.5

"il" ~

.... ~.~. . ~ . 1 , 1

-1.0

-1.5 -0.5

I

I

I

I

I

I

0.0

0.5

1.0

1.5

2.0

2.5

x-coordinate(x),

3.0

3.5

m

Fig. 14. Result of the path tracking control for a complex path: vt = 0.1 ms -1.

REFERENCES 1. Borenstein J. and Koren Y., Motion control analysis of a mobile robot. J. Dynam. Syst., Meas. Control 109, 73-79 (1987). 2. Angels J. and Less S. K., The formulation of dynamic equation of holonomic mechanical system using a natural orthogonal complement. J. appl. Mech. 55,243-244 (1988). 3. Kanayama Y. and Miyake N., Trajectory generation for mobile robots. Proc. 3rd Int. Syrup. on Robotics Research 333-340, Fall, Gouvieux-Chantilly, France (1985). 4. Kanayama Y. and Hartman B. I., Smooth local path planning for autonomous vehicles. Proc. I E E E Int. Conf. on Robotics & Automation 1265-1270, Scottsdale, AZ, 14-19 May (1989). 5. Nelson W. L., Continuous-curvature path for autonomous vehicles. Proc. 1 E E E Int. Conf. on Robotics & Automation 1260-1264, Scottsdale, AZ, 14-19 May (1989). 6. Komoriya K., Tach S. and Tanie K., A method of autonomous locomotion for mobile robots. Adv. Robotics 1(1), 3-19 (1986). 7. Nelson W. L. and Cox I. J., Local path control for an autonomous vehicles. Proc. I E E E Int. Conf. on Robotics & Automation 1504-1510, Philadelphia, PA, 24-25 April (1988). 8. Kanayama Y., Nilipour A. and Lelm C. A., A locomotion control method for autonomous vehicles. Proc. I E E E Int. Conf. on Robotics & Automation 1315-1317, Philadelphia, PA, 24-25 April (1988). 9. Crowley J., Asynchronous control of orientation and displacement in a robotic vehicles. Proc. I E E E Int. Conf. on Robotics & Automation 1277-1282, Scottsdale, AZ, 14-19 May (1989). 10. Hemami H., Mehrabi M. G. and Cheng R. M., A new strategy for tracking in mobile robots and AGVs. Proc. I E E E Int. Conf. on Robotics & Automation 1122-1127, Cincinnati, OH, 13-18 May (1990). 11. Kanayama Y., Kimura Y., Miyazaki F. and Noguchi T., A stable tracking control method for an

820

K . C . K O H a n d H. S. C H O

autonomous mobile robot. Proc. IEEE Int. Conf. on Robotics & Automation 384-389, Cincinnati, OH, 13-18 May (1990). 12. Singh S. J. and Shin D. H., Position based path tracking for wheeled mobile robots. IEEE Int. Workshop on Intelligint Robotics and Systems 386-391, Tsukuba, Japan, 4-6 Sept. (1989). 13. Tsugawa S. and Murata S., Steering control algorithm for autonomous vehicle. Proc. Japan-U.S.A. Symp. on Flexible Automation 143-146, Kyoto, Japan, 9-13 July (1990). 14. Koh K. C. and Cho H. S., A new path tracking control algorithm for wheeled mobile robot based upon time optimal bang-bang control. Submitted to Adv. Robotics. 15. Koh K. C. and Cho H. S., Design of a feedforward controller for trajectory tracking based on steady state error analysis. Proc. 11th IFAC World Congress, Tallinn, Estonia, 13-17 August (1990). 16. Kim J. S., Koh K. C. and Cho H. S., A neural net-based position estimation method for mobile robots in indoor environments. Proc. ISMCR'92, 899-906, Tsukuba, Japan, (1992).

APPENDIX: DERIVATION OF EQNS (19a) AND (19b) The curvature equation for general curves defined in XL-YL coordinates can be written by r(XL) = (d2yL/dX2L)/[1 + (dyL/dXL)2]3/2.

(A1)

The first, second and third differentials of the landing curve equation given by Eqn (12) are expressed by dyL/dXL = 3 Cxx 2L

(A2a)

d2yL/dX 2 = 6CxXL

(A2b)

dayL/dX 3 = 6Cx.

(A2c)

By substituting Eqns (A2a), (A2b) and (A2c) into Eqn (A1), the curvature equation of the landing curve can be obtained by K(XL)= 6Cxx~j[1 +

9 C x2X L4] 3/2 •

(A3)

(1) The condition f o r curvature: derivation o f E q n (19a) Since X(XL) of Eqn (A3) has the maximum value for XL satisfying dr(xL)/dXL = 0, the first derivative with respect to x can be written as 2 4 5/2 dlf(XL)/dXL = 6Cx(1 - 45C2x4)/(1 + 9CxXL)

(An)

and the solution of dX(XL)/dXL = 0 can be obtained by XL = (45Cx2)-1/4.

(A5)

Then, substituting Eqn (A5) into Eqn (A3) yields

I,,(xL)lm~x = (13Cx)v2,

(A6)

where fl is a constant value of 18 x 5 -5/2 which is arranged in the substitution procedure. Finally, the condition of Eqn (19a) can be derived by substituting Eqn (A6) into Eqn (18a) as follows:

ICxl <- ~(~=/o,) 2.

(19a)

(2) The condition f o r changing rate o f curvature: derivation o f E q n (19b) By examining Eqn (A4), we find out from numerical analysis that it has the maximum value at XL = 0. Therefore, the following equation is obtained by substituting XL = 0 into Eqn (A4)

Idx(XL)/dXLlmax = 6C,.

(A7)

Furthermore, under the assumption that the mobile robot moves along the landing curve with target linear velocity (or), the maximum change rate in curvature, lk(xL)lmax, can be expressed by [k(XL)lmax = [d/~'(XL)/dXLlmax /)t = 6 C x v t .

(A8)

Finally, the condition of Eqn (19b) can be derived by substituting Eqn (A8) into Eqn (18b)

IGI ~ (a'max/6)Ot 2.

(19b)