Vous êtes sur la page 1sur 6

Proceedings of Malaysia-Japan International Symposium on Advanced Technology 2007 (MJISAT2007),12-15th November 2007, Kuala Lumpur.

Obstacle Avoidance of Mobile Robots using Ordinal Structure Model of Fuzzy Reasoning Approach
Faisul Arif Ahmad and Khairulmizam Samsudin Department of Computer and Communication System Engineering Faculty of Engineering, Universiti Putra Malaysia 43400 UPM Serdang, Selangor MALAYSIA faisul@gmail.com, kmbs@eng.upm.edu.my Abstract Marzuki Khalid and Rubiyah Yusof Center for Artificial Intelligence and Robotics (CAIRO) Universiti Teknologi Malaysia CityCam Jalan Semarak 54100 pus, Kuala Lumpur MALAYSIA marzuki.khalid@gmail.com, rubiyah@utmkl.utm.my
K-Team. Further details of the Khepera robot hardware will be explained in Section 3. Section 2 will discuss on the ordinal structure model of fuzzy reasoning theory and also the conventional fuzzy technique. In Section 4 we will discuss the design of ordinal structure model of fuzzy reasoning for obstacle avoidance using the Khepera micro-robots and Section 5 will discuss on experimental results and the last section is the conclusion of this research. In order to develop intelligent behavior for mobile robots, researchers applied fuzzy logic control as shown in Figure 1 and some examples of this are described in [2][3][4]. J.Godjevac et al [2] derived a learning procedure by applying an adaptive fuzzy controller based on the Takagi-Sugeno approach. The Takagi-Sugeno approach has the form of the conventional Radial Basis Function (RBF) neural network. In [3], the author had applied a neuro-fuzzy controller to select fuzzy rules for obstacle avoidance. Fuzzy logic control has some advantages when compared to conventional control. An advantage is that the former is capable to treat uncertain and imprecise information from its environment. It is also capable of reacting based on information received in real-time.

A major challenge of an autonomous mobile robot is the large amount of uncertainty, unknown and incomplete information from their real environment. In this paper, we develop a fuzzy logic controller based on the ordinal structure model of fuzzy reasoning approach for Khepera micro-robots. The micro-robots are equipped with infrared (IR) proximity sensors and their objective is to avoid obstacles. The conventional fuzzy logic controller is applicable when there are only two fuzzy inputs and usually with one output, however, complexity increases when there are more inputs and outputs making the system unrealizable. The ordinal structure model of fuzzy reasoning has an advantage of an easier approach of setting the rules with multiple inputs and outputs which is done by giving an associated weight to each rule in the defuzzification process. The objective of the fuzzy controller based on the ordinal structure model of fuzzy reasoning on the Khepera micro-mobile robots is to avoid obstacles. Results of the experiments show that not only the ordinal structure fuzzy controller is easier to design but it also has a better performance than conventional fuzzy controllers. An autonomous mobile robot having the capability to move without human intervention in any unknown environment has been developed. Its applications are numerous and it contributes significantly in maintenance operations such as accessing hazardous areas e.g. nuclear reactor and detonating bomb threats. Other applications include its various functions as an intelligent service robot for offices, hospitals and factories. The autonomous mobile robot is designed to independently obtain and identify information through its physical components i.e. sensors and to react to the changing environment, in achieving its objectives using its physical motor as output. Today, many mobile robots are made to fulfill researchers requirements. These robots give researchers the advantages to develop their systems or to apply their algorithms without facing the problem with unstable robots. Examples of such mobile robots are koala robot, hemisson robot and khepera robot that are produced by

2.

Fuzzy Control Systems

1.

Introduction

2.1.

A Conventional fuzzy controller system basically defines its inputs as two dimensional spaces (Equation 2) or three inputs which are also known as multiple dimensional spaces in designing rule bases. Each of their inputs is designed with fuzzy set of membership function. Basically fuzzy rules are defined as follows: IF x is A then z is C or, IF x is A and y is B then z is C (1) (2)

Conventional Fuzzy Reasoning Theory

Variables x, y are defined as input. z is an output and variables A, B, C are fuzzy set membership functions. Conventional fuzzy rules are defined as follows: Ri: If x1 is Ai1 then y is Bi

Where i = 1,2,,n. Using the moment method, the inferred value is obtained as:

y=

C S
i =1 n i i

space for each input and output. Co-ordination of the rules is done with weight attached to each rule. Random selection is done to determine the appropriate priority of which rule is more significant. For an n-input and one output system, the ordinal structure model is described as follows: Ri: If x1 is Ai1 then y is Bi Rj: If x2 is Aj2 then y is Bj Where i,j = 1,2,3,..,n

S
i =1 i

(3)

where, R is the i-th fuzzy rule, i is the truth value of R in the rule base, yi is the inferred value for the i-th rule. Ci and Si are the central position for the i-th rule and the area of the membership function of fuzzy variable Bi for the i-th rules, respectively.

x1, x2 are inputs and y is output, Ri and Rj is i-th fuzzy rule and j-th fuzzy rule. Ai1, Aj2, Bi and Bj are the fuzzy variables and n is the number of rules. So the above method is simplified with:

2.2. Ordinal Structure Model of Fuzzy Reasoning Theory

y=

w C S + w C S
i =1 i i i i

w S + w S
i =1 i i i j =1 j j

j =1 n

(4)
j

Reference input r(t)

Inference mechanism

input output u(t) u(t)


Process

Defuzzification

Figure 1: A Fuzzy Control System Ordinal structure model of fuzzy reasoning has been introduced by T.Onishi in 1990, purposely for designing a self-learning fuzzy control system for an urban refuse incineration plant by adding dynamic corrections to the reasoning using degree of priority among control rules [5]. Its advantages are such that it is an effective method for simplifying the partitioning of input spaces and for decreasing the number of control rules. In 1991, T. Furuhashi et. al. applied this model on deciding working order of group for the assembling of products in a factory [6]. Based on conventional fuzzy reasoning methods the inference rules have to be described in multi dimensional inputs and single output (MISO) space which is difficult to be configured. It requires a lot of rule base to be handled and designed. For example, those having three inputs and one output; although it has four membership functions set, the number of rule base from this system is defined as 43= 64 rules. To overcome the number for rule base, genetic algorithms are used [4] and hybridized with neural network [8] to optimize it rules. In this paper an ordinal structure model of fuzzy reasoning is used based on conventional fuzzy controller system. The model coincides well with human image of fuzzy inference rules in case where a system has many inputs and one or multiple output. In this paper, all of fuzzy inference rules are described in one dimensional

Fuzzification

Rule base

where wi and wj are the weights of rules Ri and Rj, respectively. i is the truth value of Ri in the rule base. Ci and Si are the central position and the area of the membership function of fuzzy variable Bi, respectively. The structure of this ordinal fuzzy model is shown in figure 2 . A1m W 1m B1m W2m A2m B2m

Input 1 Input 2

Input n

A A11 B 12 B11 12 A A21 B 22 B21 22

W12 W11 W22 W21 Wn2

AW BW

Anm Bnm

Wnm

A An1 B n2 Bn1 n2

Wn2

Figure 2: The structure of the ordinal fuzzy model

3.

The Khepera Mobile Robot

Khepera mobile robot is a micro robot which original size is about 55mm in diameter as shown in Figure 3. It has eight infra red proximity sensors - six sensors are mounted in front and two sensors at the back as shown in Figure 4. Each of the sensors consists of an emitter and a detector. The proximity sensors give values from 0 (when no object is detected) to 1023 (maximum value when an object is too near the khepera robot). The Khepera robot has been develop by a group of researcher from swiss named KTEAM [1].

It has two independent controllable wheels located at 53 mm apart. Every wheel is moved by a DC motor coupled with the wheel through a 25:1 reduction gear. The motor speed has a unit range from +127 to 127. For the khepera motor, one unit of speed is equal to 0.08mm/10ms [9]. The availability of plus and minus value in khepera motor speed is advantageous for moving forward and backward. Based on that, khepera robot can simply turn right or left and also turn around.

ICC

vl

R
(x, y)

l/2 vr

l/2

Figure 5: Wheels running in differential kinematics theory A Khepera robot located at coordinate (x,y) is headed in a direction that makes an angle , with x-axis. The velocity of the right wheel is vr and the velocity of the left wheel is vl. R is the distance from ICC to the middle of two wheels and l is the distance between the two wheels. From there, velocity of the right wheel and left wheel are defined as follows: Figure 3: Model if a Khepera Mobile Robot The most significant advantage of this robot is its size. Due to its small size, a user can utilize it in a small area such as on a normal study table. It can be located near to a PC and be connected to the PC with an RS232 cable. The Khepera robots motors are moved based on differential kinematics theory. The theory says that every wheeled mobile robot in a state of motion must

vl = .R l

(5) (6)

vr = .R + l

From above equation we can derive rotation value from equation (6) (5) as

v r vl l

(7)

and the distance from ICC to the middle of the two wheels can be calculated as:

l v + vr R= l 2 v r vl

(8)

Besides that, we also have three special cases with these kinds of drives: Case vl = vr, forward linear motion is in a straight line. R becomes infinite and there is effectively no rotation is zero. Case vl = - vr , robot is rotate in one place, R = 0 the rotation is in midpoint of the wheel axis. Case vl = 0, rotation about left wheel, R = l/2 and same for vr =0 which rotate about right wheel Figure 4: Location of IR sensors and wheels at the Khepera robot

always rotate about a point that lies somewhere on the common axis of the two wheels which is known as instantaneous centre of curvature (ICC).

4.1.

4. Design Obstacle Avoidance Using Ordinal Structure Model of Fuzzy Reasoning


Fuzzification

The input values from the front sensors will be mapped to fuzzy set, defined as fuzzification. Figure Figure6 shows the fuzzy set membership function of the input sensors which are divided into four membership functions defined as very far(vf), far(fr), near(nr) and

very near(vn). There are many types of fuzzy membership functions that are available in fuzzy logic. The popular types are trapezoidal, triangular and bell shaped functions. In our fuzzification here we use triangular type which has three parameters and two parameters as shown in Figure 6. The fuzzy set value is calculated based on equation 9. For fuzzy output membership function, the motor speed range is defined from -12 unit to +12 unit. 1 unit of speed is equal to 0.08mm/10ms.

the input sensors with each side having three inputs and one output. Three sensors on the right side will pair with the motor on the left side and the other left side input sensors with the right side output motor. Using four fuzzy membership functions which are described in the previous section, we are able to derive a rule base. Each of the rules is derived by a one dimensional space. For example, for sensor0 we can derive the fuzzy rules as follows: IF IF IF IF s0 is very far THEN motorRight is forward high s0 is far THEN motorRight is forward s0 is near THEN motorRight is forward s0 is verynear THEN motorRight is backward high

0 ,u a a u ,a < u < b b a (u; a, b, c) = , u = b 1 c u ,b < u < c c b ,u c 0


1.00 0.80 0.60 0.40 0.20 0.00

(9)

Based on the six sensors and four fuzzy membership functions, the number of fuzzy rules that are derived for this system is only 24.

4.3.

unit distance
1000

vf

vn

Figure 6: Examples of the Fuzzy Membership function for the Input Sensors Motor speed are mapped to fuzzy set membership function using four membership functions; forward high(fH), forward(fw), backward(bw) and backward high(bH). Fuzzy membership function for motor speed is shown in the following graph:
1.00 0.50 0.00 12 8 bwdHi 4 0 bwd 4 fwd 8 12 unit of speed fwdHi

Fuzzy inference mechanism is the core section of a fuzzy system, which combines the fact obtained from the fuzzification with the rule base and conducts the fuzzy reasoning process. In other words it is a process to derive a conclusion from the fact and rules. Inference mechanism also known as an inference engine or fuzzy inference module, which emulates the experts decision making in interpreting and applying knowledge about how best to control plant. There are two basic types of method employed in the design of inference engine for fuzzy controller which is composition based inference and individual rule base inference. Commonly, the individual rule based inference is chosen since it was computationally efficient and saving a lot of memory compared to the composition based inference. The individual rule based inference also provides a graphical interpretation of the fuzzy inference mechanism in the fuzzy logic controller. The three most popular inference methods are Mamdanis max-min implication, Larsens Max-product implication and Root Sum Square method, which is used in this work. Lets take an example when obstacle is detected in front of the khepera mobile robot. The selected rule bases that are fired in t0 time are listed as follows: s0 is very far THEN motorRight is forward high s1 is far THEN motorRight is forward s2 is verynearTHEN motorRight is backward high s3 is verynearTHEN motorLeft is backward high s4 is far THEN motorLeft is forward s5 is very far THEN motorLeft is forward high

Inference Engine

1100

100

200

300

400

500

600

700

800

900

IF IF IF IF IF IF

Figure 7: Fuzzy Membership Function for Motor Speed

Each of the outputs (motor right and motor left) membership function is calculated for its strength as forward high strength (SfH), forward strength (Sfw), backward strength (Sbw), backward high strength (SbH). 1) Motor right

4.2.

Referring to the Khepera mobile robot, which has six sensors in front and two actuator wheels; we divide

Rule Base

S fH (m0 ) = 2 fH ( s0 ) 2 + fH ( s1 ) 2 (10)

SbH (m0 ) = bH ( s2 )
2

that are used here are defined in Table 1.


2

(11)

Table 1: Fuzzy rule base with the respective weights


Sensor

2) Motor left

very far
Forward High (0.02) Forward High (0.4) Forward High (0.05) Forward High (0.04) Forward High (0.5) Forward High (0.5)

far
Forward (0.22) Forward (0.3) Forward (0.2) Forward (0.3) Forward (0.4) Forward (0.5)

Near
Forward (0.22) Backward (0.98) Backward (0.99) Backward (0.92) Backward (0.8) Forward (0.5)

very near
Backward High (0.1) Backward High (0.92) Backward High (0.78) Backward High (0.7) Backward High (0.87) Backward High (0.79)

S fH (m1 ) = 2 fH ( s4 ) + fH ( s5 )
2

(12) (13)

0 1 2 3 4 5

SbH (m1 ) = 2 bh( s3 ) 2


4.4. Defuzzification

The final process of the fuzzy control system is mapping fuzzy control value over an output universe of discourse into crisp control value (non-fuzzy). This process is important due to many practical applications. Crisp control action is required to actuate plant. This process is known as defuzzification. There are many methods of defuzzification used in recent years and there is no systematic procedure for choosing it. The most often used defuzzification strategies are maximum membership method, center of gravity method, weight average method, mean-max membership method and fuzzy centroid method. In this paper we use fuzzy centroid method. This method is shown in the following equation:

m* =

C S
i =0 i

wi
(14)

S
i =0

wi

Ci is the centroid of the mapped area, Si is strength of the mapped area, wi is weight parameter and m* is the crisp value for motor right and motor left.

The algorithm has been applied in simulation and real world. It works well for obstacle avoidance similar to conventional fuzzy control systems. Fuzzy rules and weight parameters that are applied in this system are shown as in Table 1. In the defuzzification process weight parameter are assigned at each of fuzzy output membership functions as shown in the following motor output equation. Weights are defined as wfH for forward high, wfw for forward, wbw for backward and wbH for backward high parameters.
mi =

5.

Experiments and Results

Based on weights that we get from our approach, high values for weights are defined in sensor1, sensor2, sensor3, sensor4 by membership function backward and backward high for output. For forward and forward high, their weight parameter values are low compared to others. Several experiments have been conducted with the mobile robots using the ordinal structure model of fuzzy reasoning approach and conventional fuzzy reasoning. From the experiments, it was observed that the Khepera robots based on the ordinal structure model of fuzzy control performed better than the conventional fuzzy controller. This is obvious based on the speed of the robots in moving to the target from the same initial positions. Several conditions were created to make the comparison between the conventional fuzzy controller and the ordinal structure fuzzy controller.

(a)

(b)

(C fH S fH w fH + C fw S fw w fw + C bw S bw wbw + C bH S bH wbH ) (S fH w fH + S fw w fw + S bw wbw + S bH wbH )


(15)

mi is i-th motor is crisp value which value 0 for motor right and 1 for motor left.

Here, the weight parameter values are defined from 0 to 1. It is defined by trial and error approach. Meaning, the weight values are input randomly and then the output result is examined. It has been tried frequently with different values and the values that came up with the result where the mobile robot can avoid obstacle, are selected. In the experiment with khepera robot, weights

(c)

(d)

Figure 8: Position of the Khepera robot and Path of conventional(left side) and ordinal structure model of fuzzy reasoning(right side) base on avoiding obstacle at front and right side

Figure 9 Path of conventional of fuzzy reasoning and ordinal structure model of fuzzy reasoning base on obstacle at right and left side Figure 8 shows the simulation windows and the traverse path of the mobile robots based on obstacle avoidance at the front and right sides. The mobile robots based on the conventional fuzzy controller took 13 seconds to move whereas the ordinal fuzzy model took only 5 seconds as show in Fig. 8. As shown in Fig. 9 the Khepera robots based on the ordinal fuzzy structure took only 2 seconds to traverse the path at both sides of right and left side of the wall, compared to conventional fuzzy controller which took 3 seconds. The priority in obstacle avoidance algorithm is when mobile robots found the obstacle and then it should avoid it, meaning the forward behavior priority will decrease and backward behavior priority should be high which resulted in the robot to turn away from the obstacles. In this project we are also faced with some problems that could affect our results such as: Sensor- noise in the readings is a disadvantage, making the measurement less reliable and the experiments more unstable. Noise results in reading indicating the false presence of obstacle caused by light reflections. Tuning weight based on try and error experiment has limitations because other values that have not been test may have better result. Although the system has these drawbacks, the ordinal structure model of fuzzy reasoning approach has proven to be more advantages than the conventional fuzzy controller in terms of simpler design of the rule base with multiple inputs and outputs.

Figure 10: obstacles.

Khepera

micro-robot

avoiding

7.

References

6.

Conclusion

[1] KTEAM Robotic Consumers. 7 Sept. 2007 <http://www.k-team.com/kteam/home.php?rub=0&site= 1&version=EN> [2] Godjeva,J., Steele, N., Adaptive Fuzzy Controller for Robot Navigation, In proceedings of the Fifth IEEE International Conference on Fuzzy Systems, 1996,Vol 1, pg 136-142. [3] Godjeva, J. A learning procedure for a fuzzy system: application to obstacle avoidance, In Proceedings ICSC Symposium on Fuzzy Logic (ISFL95), pages C142-148, Zuerich, Switzerland, May 1995. [4] Thongchai, S., Kawamura, K., Application of Fuzzy Control to a Sonar-Based Obstacle Avoidance Mobile Robot, In proceedings of the 2000 IEEE International Conference on Control Applications Anchorage, Alaska, USA. September 25-27, 2000. [5] Ohnishi,T., Fuzzy Reasoning by Ordinal Structure Model of Control Rule, Journal of Japan Society for Fuzzy Theory Systems, Vol.2,No.4,pp.125-232,1990. [6] Naitoh, Y., Furuhashi,T. and Uchiha, Y., A Variable Ordinal Structure Model of Fuzzy Reasoning and Its Application to Decision Problem if Working Order, International Conference on Industrial Electronic, Control and Instrumentation, Vol 2., pp. 1539-1543,1991 [7] Braunstingl, R., Mujika, J. and Uribe, J.P., A wall following robot with a fuzzy logic controller optimized by a genetic algorithm. In: Proceedings of the International Joint Conference of the Fourth IEEE International Conference on Fuzzy Systems and the Second International Fuzzy Engineering Symposium, vol. 5, pp. 77-82. [8] Rusu, P., Petriu, E.M., Whalen, T.E., Cornell, A. and Spoelder, H.J.W., Behavior-based neuro-fuzzy controller for mobile robot navigation, IEEE Transactions on Instrumentation and Measurement. v52 i4. 1335-1340. [9] Franzi, E.. Khepera BIOS 4.00 Reference Manual, 3 Nov 1995, pp36.

Vous aimerez peut-être aussi