Sie sind auf Seite 1von 4

Fuzzy Range Sensor Filtering for Reactive Autonomous Robots

(1) Universidad de Granada Dep. Ciencias de la Computacin e Inteligencia Artificial Granada, Spain

Miguel DELGADO1, Antonio GOMEZ2, Humberto MARTINEZ2, Pedro GARCIA2


(2) Universidad de Murcia. Dep. Informtica, Inteligencia Artificial, y Electrnica. Murcia, Spain skarmeta@dif.um.es, humberto@fcu.um.es, pedro@aries.dif.um.es

mdelgado@ugr.es

Key Word: sensor filtering, fuzzy logic, range sonar, autonomous robots

Abstract
This paper deals with the application of fuzzy logic to one of the navigational components of an indoor autonomous system implemented by means of intelligent agents. The most well known arguments supporting fuzzy control are the ability to cope with imprecise information in heuristic rule based knowledge and sensor measurements. Autonomous navigation based on ultrasonic sensors can provide an imprecise perception of the environment due to problems like crosstalking, noise and poor reliability. We propose a sensor fusion method based on history: the fuzzy sonar filtering.

1. INTRODUCTION
The operation of an autonomous mobile robot in a real world unstructured environment requires consideration of multiple issues. Principally, the controller must be able to operate under conditions of imprecision and uncertainty. To cope with these difficulties, the controller must be able to respond reactively to unforeseen events as soon as they are perceived. This can be achieved by decomposition of the overall control function into a number of simple units, called behaviours [5]. If we also want to be able to operate under conditions of imprecision and uncertainty the intelligence of this agents needs to use fuzzy logic [2] [3]. The reliable operation of these agents implies a strong dependency on sensed information about the robots environment. Autonomous navigation based on ultrasonic sensors has the advantage of a possible wider application, due to the low cost of these sensors.

However, ultrasonic sensors provide an imprecise perception of the environment, making autonomous navigation not a trivial task, especially if the environment is unstructured, unknown to the robot, and contains an unknown number of obstacles of arbitrary shape. In addition to that there are well known problems like crosstalking, noise, and poor reliability for incidence angles bigger than 15 degrees in conjunction with smooth surfaces. When there are a number of such sensors (or even sensors of different nature), one approach to cope with these problems is fuzzy sonar fusion [1] or statistical sensor fusion methods, i.e. Kalman filters [4]. When the number is small, such fusion can not be done simply because the response of a sonar has nothing to do with the other. In this case, each sonar response should be treated independiently. So, we propose a sensor validation method based on history: the fuzzy sonar filtering. In the following sections we will describe the proposed fuzzy sonar filtering, giving some experimental results. Finally we will present some conclusions based on the tests that we have performed.

2. FUZZY SENSOR FILTERING


Several approaches for information fusion have been proposed in the literature. Among them are probability theory, the Dempster-Shafer theory, neural networks, and fuzzy set theory. Fuzzy set theory provides several advantages due to the fact that there are numerous ways of combining fuzzy sets in addition to the union (e.g., maximum operator) and intersection (e.g., minimum operator) used in traditional theories. The information that the fusion system deal with is fuzzy rather than precise in nature, and fuzzy theory allows modelling this imprecision appropriately and later permits reasoning in

* This work has been partly supported by CYCIT grant TIC97-1343-C002-02

imprecise terms [6]. In our system we will fuse the current reading with the previous one using a fuzzy inference system. To cope with the effects of sonar erroneous readings we use a sensor filtering block for each sonar sensor. This block will consist of three parts: a state memory, a predictor block, and an inference block. The memory block will remember the last n readings of the sensor. The predictor block will stimate the next sensor value. The inference block will give an output fusing the input value and the estimated one, trying to discard the a priori bad readings.

s is the average of the state memory s is the output of the filtering block sc is the current sensor reading diff is the input of the inference block is the output of the inference block Regarding the fuzzy inference block, it presents two variables: diff (input), which has associated three linguistic terms (small, medium large); and a l p h a (output), which has associated three linguistic terms (low, medium, high). These linguistic terms are represented as fuzzy sets with triangle and trapezoid like membership function distributions respectively. The definition points for these sets are given in Tables 1 and 2. The fuzzy inference rulebase consists of three SISO rules, that are shown in Table 3.
Table 1 Triangle definition points for diff linguistic terms.

Fig.1

Structure of the Fuzzy Inference System.

The state memory has been implemented as an array of values. The predictor block implements a simple Kalman filter: the average of the state memory values. The inference block has been implemented as a fuzzy inference system (Fig.1). The whole fuzzy filtering block works in the following way: - the predicted measure is calculated, based on the state memory by the predictor block (Eq.I). - then the difference between the measured value and the predicted one (Eq.III) is passed on to the fuzzy inference system as the input variable. - the output of the inference system (Eq.II) is used to weight the fusion of the current reading and the predicted one, and this value is returned as the output of the filtering block. - the state memory is updated with the output of the filtering block.

diff Terms low medium high


Table 2

Definition Points (0.55, 0) (0.6, 1) (0.75, 0) (0.8, 1) (0.95, 0) (1, 1)

(0.65, 0) (0.85, 0) (1, 1)

Trapezoid definition points for linguistic terms.

Terms small medium large


Table 3

Definition Points (0, 1) (0, 1) (5, 0) (10, 1) (15, 0) (20, 1)

(5, 1) (15, 1) (150, 1)

(10,0) (20, 0) (150, 0)

Fuzzy rules for the inference block.

IF diff IS small IF diff IS medium IF diff IS large

THEN IS high THEN IS medium THEN IS low

3. EXPERIMENTAL RESULTS
A series of experiments have been run to test the correctness of the method and to compare the performance of the filtering block with the traditional most used approach: the Kalman filter with all weights equal, whose estimate, in fact, will reduce to a simple average. The experiments have been developed using ultrasonic sonar range finders as sensors. As each kind of range sensor has its very own nature, we are going to address the problems of ultrasonic sonars. These tests have been performed using a custom simulator written in C, using the same functions that the real system uses. The state memory size has been set to three for all the tests, as a trade off between response time and smoothness. The higher the size the smoother the curve and the longer the response time. On the other hand, the

si s' = i=0 n
s"= ?sc + (1 ) ?s'
diff = s' sc
where:

[I] [II] [III]

lower the size, the sharper the curve and the lower the response time. In our real system, due its nature (a slow processor with two sonar readings per second, mounted on a not too slow car), the sate memory size used is well suited for the desired minimum response time. The size needs to be calculated for each platform taking into account the number of sensor readings per second and the minimum acceptable response time to avoid crashing.

the scenario, measuring the distance from it to the wall. The state memory is initialized with measures set as infinite (that is the reason of the left peak in all the graphs). The configurations are: - wall following: a typical straight wall configuration, which is not completely parallel to the cars path. - top-bottom following: a complex wall shape to test the performance when the distance changes suddenly from near to far. - bottom-top following: a complex wall shape to test the performance when the distance changes suddenly from far to near

Fig.2

Zero reading error and bottom-top following.

Two types of sonar errors have been addressed: - zero reading error: when the sonar gives a value of zero as the resulting measure. This ought to be an electrical failure (the peak voltage need to fire the ping signal used to be very high). This error, if not treated correctly can make the system think of having an obstacle in front of it. This is our principal source of sonar errors, due to battery charge level. When the charge level is decreasing, although most of the readings are correct, this error occurs. - random reading error: this is the error produced by an undesired sound reflection or an anomalous time of flight measurement. Although this error is not as critical as the former one, it is interesting to treat it to get a smooth response from the system.
Fig.4 Zero reading error and top-bottom following.

Fig.5

Random reading error top-bottom following.

Fig.3

Zero reading error and wall following.

Fig.6

Random reading error and bottom-top following.

Three test scenarios have been used, to see how good the filtering performs in some wall/obstacle environments. The robot is supposed to move parallel to

REFERENCES
[1] B.C. Arre, F. Cuesta, R. Braunstingl, A. Ollero, "Fuzzy Behaviors Combination to Control a NonHolonomic Mobile Robot Using Virtual Perception Memory", Sixth IEEE Intl. Conference on Fuzzy Systems (FuzzIEEE97), Barcelona, Spain, pp 12391244, 1997 H.R. Beom, H.S. Cho, "A Sensor-Based Navigation for a Mobile Robot using Fuzzy Logic and Reinforcement Learning", IEEE Trans. Syst. Man Cyber, vol 25, n. 3, pp 464-477, 1995 A. Bonarini, "Learning Dynamic Fuzzy Behaviours from Easy Missions", Sixth Int. Conf. Information Processing and Management of Uncertainty in Knowledge-Based Systems (IPMU'96), Granada, Spain, pp 1223-1228, 1996 J. Borenstein, H.R. Everett, L. Feng, "Navigating Mobile Robots: Systems and Techniques", A.K. Peters, Wellesley, USA, 1996 R.A. Brooks, "A robust Layered Control System for a Mobile Robot", IEEE J. Robotics and Automation, vol 2, n. 1, pp 14-23, 1986 A.L. Buczak, R.E. Uhrig, "Hybrid Fuzzy-Genetic Technique for Multisensor Fusion", Information Sciences, Elsevier Science, USA, pp 265-281, 1996 A. Gmez Skarmeta, M. Delgado, F. Martn, "Using Fuzzy Clustering in a Descriptive Fuzzy Modelling Approach", Sixth Int. Conf. on Information Processing and Management of Uncertainty in Knowledge-Based Systems (IPMU'96), Granada, Spain, pp 563-569, 1996 A. Gmez Skarmeta, H. Martnez Barber, "Fuzzy Logic Based Intelligent Agents for Reactive Navigation in Autonomous Systems", Fifth International Conference on Fuzzy Theory and Technology (FTT97), Raleigh, USA, pp 125-131, March 1997. F. Hoffmann, G. Pfister, "Evolutionary Learning of Fuzzy Control Rule Base for an Autonomous Vehicle", Sixth Int. Conf. Information Processing and Management of Uncertainty in KnowledgeBased Systems (IPMU'96), Granada, Spain, pp 1235-1240, 1996

[2]

Fig.7

Random reading error and wall following.

In the previous figures (Fig.2 to Fig.7), it can be seen that the filtering block outperforms better than the average method in the following ways: - in the normal operation, when there are no errors, the filtering block (darker curve) gets results closer to real measure (medium curve) than the averager (lighter curve). - when errors occurred, the filtering block gets results closer to the tendency, and if the situation persists, then the result moves quickly to the real measure. - the filtering can be tuned for specific ways of working by means of adding more rules or modifying the related parameters (state memory size, membership functions, etc.).

[3]

[4]

[5]

[6]

4. CONCLUSIONS
The filtering block have been proved that provides a uniform method to treat possible error failures from range sensor readings, specially ultrasonic sonar range finders, which have a great potential of error. The results, from the simulator, are very encourageous. At this very moment, the different parameters have been adjusted by a trial-and-error method, although an automatic method could be used as well (genetic algorithms, fuzzy learning, neural networks, etc.) [7] [8] [9]. In addition to that, we have performed some test with the real robot and have found that the response of the system was very close to that of the simulator, although we have no quantitative measure of this response.

[7]

[8]

[9]

Das könnte Ihnen auch gefallen