Conw~En#.Practice, VoL 2,No.2,pl~313-319. 1994
Pergamon
~
O 1994l~m~eg ~
Lid
Priated t- Oml al~in. An l ~ m mev,ed 0967-0661/94 $6.00 + 0.00
FUZZY SUPERVISORY PATH TRACKING OF MOBILE ROBOTS 1 A. Ollero*, A. Garcla-Cerezo** and J.L. Martinez** *Departamento de Ingenier~ade Sisten~sy Ataomdtica, Universidadde Sevilla,Avenida Reina Mercedes, 41012 Sev///a,Spa/n **Departame~o de lngenieda de Sistemas y Ataom~ica. Universidadde Mdlaga, Plaza El Ejido, 29013 Mdlaga, Spain
Abstract. In this pap~ a new method for automatic path Iracking of mobile robots arid autonomous vehicles is proposed. The paper also includes the application to RAM-l, a new mobile robot testhed designed and built for rese~ch and applkatiom in indoor and outdoor induscial enviroments. The method gone~atesthe apptopiate vehicle steming angle command by combining fuzzy logic with the geomelric imre-punuit technique and the generalized predictive control method. In the proposed fuzzy ~ k i n g ~rategy the conl~l parmneten of these methods are inferred automatically in real lime from the characteristics of the current segment of the path to follow, the vehicle's velocity and its current relative position and orientation. Key Words. Mobile robots; autonomous vehicles; fuzzy control; predictive control; automatic gain conu~l.
Most applicationsof fuzzy logic to mobile robots and autonomous vehicle conu'ol are based on the use of fuzzy rules to generate the steering command or the velocity from the inputs provided by external sensors without having a given planned path to follow. In (Sngeno and Nishida, 1985) a fuzzy control of a model car is presented. The fuzzy conl~ol rules are derived by modelling the operator's control actions. The controller output is inferred from the weighted average of the rule outputs. The controller inputs are distances to walls and corners and the current direction of the car. There are also hierarchical fuzzy control system architectures with visual sensor subsystems, motor drive units and fuzzy driving expert systems (Maeda et al., 1991). The fuzzy control rules are classified into several groups: driving forward, turning left, turning right and so on. In (Tsukagoshi and Wakaumi, 1990) fuzzy rules are applied to infer the velocities of the wheels of a differential steered vehicle from the angle deviation and its differences.
I. INTRODUCTION
The path-tracking component of the vehicle controller has the mission of generating the vehicle's steering to track a previously defined path, by taking into account the vehicle's actual position and orientation and the constraint imposed by the the vehicle and its lower-level motion controller. Most mobile robots and autonomous vehicles are steered automatically to follow a given path by using geometric and kinematic methods. Dynamic models and control theory have also been applied for experimental automatic vehicle guidance (Fenton et a/., 1976; Cormier and Fenton, 198ff, Shin, 1990). Path-tracking methods are based on the estimated error between the current vehicle position and the path to follow. Linear proportional feedback of errors (Amidi, 1990; Nelson and Cox, 1990) and PID control algorithms (Kanayama et al., 1988) have been implemented by using error coordinate systems. In (Kanayama et al., 1990) a non-linear control law is Ixcsented and the stability is proved under the asumption of perfect velocity tracking. Moreover ~neraliTJ~d p r e d i c t i v e control theory has been applied for path tracking (Ollero and Amidi, 1991). This method has been implemented at the Carnegie Mellon University for steering the NavLab I ('Ilu3q~, 1990), a madworthy truck modified for research in autonomous outdoor navigation.
The above results are mainly concerned with direct fuzzy controllers. Thus, the control signals are generated directly by the fuzzy controller without considering the kinematics and dynamic consuaints of the problem. The absence of these considerations for path tracking may give slippage and shaky motion when following the path. The combination of fuzzy techniques and modelbased approaches has been succesfully implemented by the authors in other low-level process control applications (Ollero and Garcia-Cerezo, 1989). The objective for path tracking is to maintain the kinematic properties of the current methods improving the perfomance by appropriate tuning of
tThis research has been partially supported by the PETRI project PTR'89-0150, and the CICYT project ROB89-0614-C03-02. 313
314
A. Ollero et al.
the conlrol parameters. This paper presents the fuzzy autotuning of the pure pursuit method (Amidi, 1990), and of the Generalized Predictive Path Tracking method (GPPT) (Ollero and Amidi, 1991) imlxoved with approach trajectories. The paper is organized as follows. Section 2 describes the fundamentals of the pure pursuit technique and the GPPT method. The fuzzy autotaning method is presented in section 3. Section 4 is devoted to the application to RAM-1 and the experiments. The conclusions and references are in sections 5 and 6.
humans when driving. The method uses a simple model of the vehk:le's kinematics and a first-order dynamic model of the steering system. Assuming that the vehicle has a constant velocity v, then the distance travelled in a time interval At is ~s= v At. Provided that the computations are done in short intervals (small At), the vehicle's motion in a local coontimte frame attached to the vehicle, can be approximated by the equations: Ax = -sin (~) v At A0 = 7 v At
(2)
2. PURE PURSUIT AND G E N E R A L ~ D PREDICTIVE PATH-TRACKING METHODS The pure pursuit technique (Amidi, 1990) is a very simple sU'ategy based on geometric considerations. The path is tracked by repeatedly fitting circular arcs to different goal points on the path as the vehicle moves forward. Thus, a new required vehicle's curvature (Tr) is computed by:
7r = _2 5x L2
(1)
where 6x is the x displacement of the goal point in vehicle coordinates and L is the distance between the current position of the robot and the desired point on the path to be tracked (see fig. 1). This distance is called the lookahead distance. The pure pursuit is a proportional controller of the steering angle with 2/I.2 as the gain and 6x as the error. Pure Pursuit has demonstrated efficiency but the results are critically dependent on the appropriate timing of the lookahead for the current navigation conditions. For a given velocity, if the lookahead is too long the vehicle may cut comers and if too short oscillations may result. Furthetmcce, the pure pursuit does not consider the vehicle's dynamics at all. It has been pointed out that some simple dynamic considerations, for example the dynamics of the steering mechanism, have. a significant impact on the tracking perfomance.
where Ax is the increment in the lateral displacement, A~bis the increment in heading of the vehicle, Ay is the increment in vehicle's cm'vature. Consider a model with a vector of three output variables y = (x ~ 7)r, and the requested vehicle's curvatm~ as the control variable u~¥r related to the vehicle's curvature by means of a first-order dynamic model with time constant "c. It can be shown that, for a constant velocity, the vehicle's motion can be represented by means of the following locally linearized Controlled Auto Regressive integrated Moving Average (CARIMA) time discrete model:
A(q-1)y(k) -- B ( q - t ) u ( k - l ) + (~(k))IA
where u(k), y(k) and ~(k) are respectively the control input, the controlled variable, qnd an uncorrelated random sequence at time k; q" is the backward shift opgrator, A is the differentiation operator (A= 1-q'): and A(q'l), B(q "1) are the polynomial matrices:
A(q -1) = goal point &
0"0
Ii
~ As q-] A
B (q-~)
i~o¢°'° 40,°#"
=
0 -As
0
1 q-I
1 - e--~q-
(4)
o
--e
In the GPPT method it is intended to minimize the following cost index with the errors between Curare desired outputs and predicted outputs, and the future increments in control:
Fig. 1. Fitting an arc for pure pursuiL ~NPA
The GPPT method (Ollero and Amidi, 1991) is based on a receding horizon approach similar to that used by
(3)
J(NPA, NU) = E l ~ l ( Y ( k + j ) - Y d ( k + j ) ) 2 J
315
Fuzzy SupervisoryPath Tracking
NU
}
oj =
+ ~ X(j) (Au(k+j- I)) 2
where E{ } represents the expectation and:
NPA is the maximun costing horizon, the number of points ahead that are considered in the cost function. y(k+J3 and yd(k+J3 are respectively the future output and the desired values of the output in the next interval of time. 7. (j) is a control weighting sequence that can be used to prevent excessive changes in steering. For simplicity the values of the sequence are all set to the same value 7,. NU is the control horizon. It is supposed that after a certain number of samples N U (NPA>NU), the projected steering increments are zero ( Au (k + j - 1) = 0 ,j>NLD. In cost function terms this is equivalent to placing infinite weights on control changes after some future time. Thus, the objective is to drive the future outputs y(t+j) close to Yd(k+j), bearing in mind the control activity to do so. Following the predictive control theory (Clarke et al., 1987) the prediction vector.
9 = [~,(k+ I).....~,(k+ NPA) ]T
(6)
is given by
= G Au + f
(7)
where: f=[f(k+l), f(k+2) . . . . . f(k+NPA)] T are the predictions of the output by assuming that furore control increments are all zero. Each element of f is a vector of m outputs. Au= [Au(k), Au(k+1) ..... Au(k+NU-i)] T is the vector of projected control increments. Each element of Au is a vector of p control variables. lower Iriangularmatrix:
l
G =
(I0)
and .Ej results from the recursive solution of the Dioph,~ntine equation:
j=l
G is an N P A x N
EjB
(5)
go
0
...
gl
go
""
°..
°°°
°..
/
J
(8)
1 = EAA+ q-JFJa
(11)
where Ei and Fj are polynomials uniquely defined given A mid j. The generalized predictive steering control law is given by the following equation: Au = M
(Yd- f)
(12)
where Yd = [Yd(k+l),Yd(k+2) .....Yd(k+NPA)] T is the future desired sequence. Each element of Yd is a vector of m outputs. The matrix M in (12) is a N U x N P A gain matrix, and each of the elements is a pxm matrix. M is computed by the following expression:
M = (GTG + ~.I)-IGT
(13)
where I is the NUxNU identity matrix. It should be noted that ff all the projected steering angles Au in the sequence we~'e applied, then the conlrol would be an open-loop strategy. Instead the mechanism of the predictive steering applies only the first increment Au(k), and at the next control instant recomputes a whole sequence from the new sequence of path points. The desired values of the outputs can be taken directly from the path to be tracked. However, experiments have pointed out that this may produce high s ~ variations. To overcome this problem, an approach trajectory to the path can be used. This approach trajectm'y can be generated by simulation of the robot moving from the current position as steered by the pure pursuit method. In practice only a few points (NPA) at regular intervals At from the current robot position have to be generated. The parameters in the lxedictive path tracking are the lookahead L of the approach trajectory, the cost horizon NPA, the control horizon NU, and the control weighting value X. Increasing N P A has an anticipativeeffect in the tracking of curves and the opposite occurs when decreasing NPA. The steering activity is reduced when increasing X, but the tracking deteriorates.If N U is increased then the conlrol activityalso increases,which may produce an undesirable steeringbehaviour. To choose the parameters of the path-trackingmethod the following information is used:
The elements of O can be obtained from polynomials:
The distance (p) from the vehicle to the nearest point in the path to be tracked (see Fig. 2).
The actual velocity (v) of the vehicle. -
_-j+l
Gj = go+glq l + . . . + g j _ l q given by."
(9)
The curvature at the goal point (Tg). The difference between the heading of the vehicle and the heading of the nearest point in the path (~J~XseeFig. 2).
A. Oflero et al.
316
The fuzzy supervisory level is defined as a set of fuzzy rules such as:
RAM-1
If p isBIG, and v isSMALL, and Sd:is VERY_BIG, and ~/sisZERO, then, L is BlG, and NPA is BIG, and NU is MEDIUM, and • is MEDIUM.
nearest
approach Irajectory where BIG, VERY BIG, SMALL, MEDIUM, ZERO are labels associateH with the correslxauling variables and parameters.
desired path Fig. 2. Path Tracking.
3. FUZZY AUTOTUNING. Path-tracking methods involve a substantial amount of heuristic knowledge as shown in the above section for the parmneters of the pure pursuit and GPPT methods. Several techniques can be used to consider this heuristic knowledge in the vehicle's real-time controller. Fuzzy logic has demonstrated efficiency not only for direct control but also for the su~rvision of control loops in several applications (GarcfaCerezo eta/., 1988; Ollero and Garcfa-Cerezo, 1989). This section deals with path-tracking conlrol systems with a supervisory level as shown in Fig. 3.
These labels me represented by fuzzy subsets. In this application fuzzy subsets with triangular membership functions, defined in the interval of variation of the corresponding variables and parameters, have been used. Fig. 4 illustrates the definition of fuzzy subsets for L, where VS, S, M, B and VB represent a lookahead which is VERY SMALL, SMALL, MEDIUM, BIG and VERY_BIG ~',,~3ectively. VS
S
0.3 m. 0.6 m.
M
B
VB
0.9 m. 1.2 m. 1.5 meters
Fig. 4. Fuzzy subsets corresponding to L.
Fuzzy Supervisory Level Set of Fuzzy Rules
The set of fuzzy rules represents a fuzzy relation between the antecedents and consequents. This set can be represented by means of a non-linear inference function such us 13 = O0x), where [3 is an mdimensional vector of parameters and a is an ndimensional vector of system variables. The elements of both vectors depend on the desired path tracking methods. For pure pursuit, the vectors are the following:
Path-Tracking Control
] I
ct- (p v 8, yB)
[3 = (L).
(14)
In the case of the GPPT, the vectorscan be definedas: ~ Control actions System (Mobile Robot)
]
System variables
Fig. 3. Fuzzy Supervised Control System.
Several functions can be included in the supervision level: Tuning of control parameters: gains, sample time, Iookahead, and others. Changes in control ixocedures. On-line redesign based on the experience of previous operations. For path trackifig, automatic tuning of control parameters is the most evident appHcat/on.
¢z = (p v 80 7g),
l~ = (L N P A N U ~.).(15)
The inferredvector,[L is appliedin each supervisory period,which isa multipleof thepath-trackingperiod. Figure 5 shows the scheme of the supervisory level for the RAM-1. The controland supervisory functions were written in C and have been implemented on a real time operating system which ensures the synchronizatim and concurrency of processes. In the current implementation, the fuzzy supervisory system consists of 81 fuzzy rules for each of the consequents. These rules have been obtained following the steps: Heuristic knowledge acquisition: representation in a rule-based form of the previous heuristic
Fuzzy SupervisoryPath Tracking knowledge for tuning the control parameters. Rule modifications by means of simulations. A realistic simulation model has been obtained and implemented under UNIX on a workstation with graphic capabilities.
317
supervision,at v = 1.2 m/see. The applicationof the fuzzy supervisoryG P P T method to the RAM-I, with the same velocity,ispresented in figures II and 12.
Rule refinement through experimentation with the real vehicle.
P ' ~
FuzzySupcn'isor
I
C° l
t t" I~
/2
"
' I
I
4. APPLICATION T O RAM-I
R A M - I isan autonomous mobile robot designed as a testhed for the automation of surveillance, manipulation and small part transportation(Olle~oet a/., 1992Xsee Fig. 6). The robotic vehicle can navigate in industrial envimments, passing between
machines, and throughcorridorsand doors. The
vehicle has four wheels located in the v ~ of a rhombus with a diagonal in the longitudinal axis. The two parallel wheels are driven by DC motors. The front and rear wheels are steered by a DC motor with a kinematic rigid link. The locomotion system can provide a zero turning radius. For path tracking the front and rear wheels are steered and the parallel wheels are used with differential drive. The top speed, that is 1.6 m/see, only can be reached when the vehicle moves along a straight line, and must decrease as the curvature of the vehicle increases. The steering lime constant for the RAM-I was measured to be 0.1 seconds. Figures 7 and 8 show simulations of the pure pursuit method with and without fuzzy supervision. Fig. 7 shows the paths followed by the vehicle when tracking the planned path with the pure pursuit technique. The path is very difficult to track due to the sharpness of its curves. Moreover, the mobile robot starts far from the path to be tracked. The path Ixoduc~! with a fixed small lookabead distance approaches the desired path faster than the path produced by the pure pursuit method with a dynamically modified lookahead. However, some undesirable oscillations of the curvature appear, as shown in Fig. 8. These oscillations are small~ when the lookahead distance is supervised. The results in the real vehicle are essentially the same. Figures 9 and I0 show the real vehicle path tracking for the pure pursuit strategy when using fuzzy
Fig. 6. The autonomous mobile robot RAM-I.
It can be observed that the tracking with fuzzy supervision is very good. The maximum values of the position errors (distance between the position of the vehicle and the nearest point on the path to be lzacked) are 0.138 m. and 0.092 m. for the supervised pure pursuit and GPPT methods respectively. Furthermore, the medium values of the position errors are 0.04 m. for supervised pure pursuit and 0.038 m. for supervised GPPT. liem
r~
/I o° . j r ,
J Mem
Fig. 7. Pure pursuit with and without fuzzy supervision.
318
A. Ollero e: ol. C~vmme LfiO °
Ldl
II/ ~t II I JXi~ # J,4 i#; It
/
/
t
O.al- - - ~
0.10-
.O.III - ~
Ill ll I1~.1 I)l~l i. I llil ~l
.0,~
-0.111
I U illl
.1.00
"
. ~
.
-I,40'
i
Fig. 8. Curvsture of p~e pursmt with end without supa~sion.
-LW ,Jeten
Fig. 10. Curvature of pure pursuit in RAM-1 with fuzzy supervision.
M~ 13e~ed hth
J 5 ~
t
~
I
I
i
.0~
Mum 4L~
.t00
-2Jl]
Fig. 9. Pure pursuit in RAM-I with fuzzy supervision.
-0.50
Met~
•d~O
-4,00
-2~0
Fig. 11. GPPT in R A M - I with fuzzy supervision.
Fuzzy Supervisory Path Tracking
319
6. REFERENCES c~ntae
Amidi O. (1990). Integrated Mobile Robot Control. Carnegie Mellon Univ. Robotics Institute. Technical Report CMU.RI-TR.90-17.
Dmimi_Path Sup~vimd_G~
Clarke D. W., C. Mohtadi, and P. S. Tufts (1987). Gemeralized Predictive Conurol, Part I. Automatica, Vol 23, No. 2, pp. 137-148. Connier W. H., and R. Fenton (1980). On the Steering of Automated Vehicles a Velocity Adaptative Conlxoilez. IEEE Trans. AC, pp 375-385. Fenton R., G. Melocik and K. Obon (1976). On the Steering of Automated Vehicles: Theory and Experiment. PREC. IEEE Trans. AC, pp 306-315. Gmrcia-Cerem A., A. Ollero, and J. Aracil (1988). Expert Supervision and Auto-tunin8 of Digital Control Systems. Proc , International Wortshop on An~'~cial lnteligenee for lndua:rial Applications, pp 531-536. Hitachi (Japan). Kanayama Y., A. N'dipoux, and C. Lelm (1988). A Locomotion Control Method for Autonomous Vehicles. Prec. IEEE Conference on Robotics and Automation, pp 1315-1317. Kanayama Y., Y. Kimura, T. Noguchi, end F. Miyakazi (1990). A Stable Tr~king Control Method for an Autonomous Mobile Robot. Prec. IEEE Conference on Robotics and Automation, pp. 384-389.
MeWs
Maeda M, Y. Maeda and S. Murakami (1991). Fuzzy Drive Control of an Autonomous Mobile Robot. Fuzzy Sets and Systems 39, pp195-204.
Fig. 12. Curvature of GPPT in RAM-1 with fuzzy supervision.
Nelson W., and I. Cox (1990). Local Path Control for an Autonomous Vehicle. Autonomous Robot Vehictos. Cox and WiOhng Editors,Springer Verlag,pp 38-44.
5. CONCLUSIONS The combination of kinematic and dynamic methods with fuzzy logic is a promising technique for path tracking of mobile robots and auumomous vehicles. In this way it is possible to consider the kinematics and dynamic constraints imposed by the real vehicle and the path to be tracked, and also to incorporate the heuristic component of the path u'acking problem. In this paper an intelligent controller based on fuzzy logic supervision of pure pursuit and the generalized txedictive path Wacking methods has been presented. This new method has been implemented in the realtime controller of the mobile robot RAM-I. The experiments show the efficiency of the method when tracking very difficult paths with sharp curves. Further work will include the generalization of the fuzzy supervisory level and the application to highspeed autonomous vehicles. Learning methods could be useful to provide more-intelligent functions to the supervisory level.
Ollero A., and A. Garc~a-Corezo (1989). Dix~t Digital Control Auto-tuning and Supervision Using Fuzzy Logic. Fuzzy Sets and Systems, intl. Journal, Vol. 30, pp. 135-153. Olloro A., arid O. Amidi (1991). Predictive Path Tracking of Mobile Robots. Aplications to the CMU Navlab. Proc. IEEE of the Fifth InternationalConference on Advanced Robotics,Pisa,Vol. IL pp. 1081-1086. OIlero A., A. Sim6n, F. Garcia, and V. Tones (1992). Integrated Mechanical Design of a New Mobile Robot. Proceeding of the FirstIFAC in~rnational Symposium on Intelligent Components and Instruments for Control Applications, pp. 461-466, Pergamon Press.
Shin D. H. (1990). High Performance Tracking of Explicit Paths by Roadworlhy Mobile Robots. Ph. D. Dissertation. Carnegie Mellon University. Sug~to M., and M. Nishida (1985). Fuzzy Control of Model C~. Fuzzy Sets and Systems 16, pp. 103-113. Thorpe C. E. (editor) (1990). Vision and Navigation: The Carnegie Mellon Navlab. Kluwer Academic Publishers. Tsukagoshi T., and H. Wakanmi (1990). Higldy-reliable Semi-autonomous Vehicle Control on Lattice Lane. Prec. IEEE Robotics and Automation. pp. 731-738.