Fuzzy logic techniques for navigation of several mobile robots

Fuzzy logic techniques for navigation of several mobile robots

Applied Soft Computing 9 (2009) 290–304 Contents lists available at ScienceDirect Applied Soft Computing journal homepage: www.elsevier.com/locate/a...

3MB Sizes 2 Downloads 146 Views

Applied Soft Computing 9 (2009) 290–304

Contents lists available at ScienceDirect

Applied Soft Computing journal homepage: www.elsevier.com/locate/asoc

Fuzzy logic techniques for navigation of several mobile robots Saroj Kumar Pradhan a,*, Dayal Ramakrushna Parhi b, Anup Kumar Panda c a

Department of Mechanical Engineering, N.I.T., Hamirpur, H.P. 177005, India Department of Mechanical Engineering, N.I.T., Rourkela, Orissa 769008, India c Department of Electrical Engineering, N.I.T., Rourkela, Orissa 769008, India b

A R T I C L E I N F O

A B S T R A C T

Article history: Received 9 June 2005 Received in revised form 13 November 2006 Accepted 11 April 2008 Available online 22 April 2008

In this paper, navigation techniques for several mobile robots as many as one thousand robots using fuzzy logic are investigated in a totally unknown environment. Fuzzy logic controllers (FLC) using different membership functions are developed and used to navigate mobile robots. First a fuzzy controller has been used with four types of input members, two types of output members and three parameters each. Next two types of fuzzy controllers have been developed having same input members and output members with five parameters each. Each robot has an array of ultrasonic sensors for measuring the distances of obstacles around it and an infrared sensor for detecting the bearing of the target. These techniques have been demonstrated in various exercises, which depicts that the robots are able to avoid obstacles as well as negotiate the dead ends and reach the targets efficiently. Amongst the techniques developed, FLC having Gaussian membership function is found to be most efficient for mobile robots navigation. ß 2008 Elsevier B.V. All rights reserved.

Keywords: Mobile robots Fuzzy logic Navigation

1. Introduction The investigation in the field of navigation of mobile robot gained an extensive interest among the researchers and scientists since last two decades. Soft computing techniques such as fuzzy logic, neural network and genetic algorithm are considered for expressing the subjective uncertainties in human mind. Humans have a remarkable capability to perform a wide variety of physical and mental task without any explicit measurements or computations. Examples of everyday tasks are driving in city traffic, parking a car, and cleaning of house. In performing such familiar tasks, humans use perceptions of time, distance, speed, shape, and other attributes of physical and mental objects. Perceptions are described by propositions drawn from a natural language, in which the boundaries of perceived classes are fuzzy. It is highly desirable to capture the expertise of a human mind and to utilize the knowledge to develop autonomous navigation strategies for mobile robots. Fuzzy logic provides a means toward accomplishing this goal. Fuzzy logic provides a formal methodology for representing and implementing the human expert’s heuristic knowledge and perception-based actions. Using the fuzzy logic framework, the attributes of human reasoning and decisionmaking can be formulated by a set of simple and intuitive IF

* Corresponding author. Tel.: +91 9816797849; fax: +91 1972 223834. E-mail addresses: [email protected] (S.K. Pradhan), [email protected] (D.R. Parhi), [email protected] (A.K. Panda). 1568-4946/$ – see front matter ß 2008 Elsevier B.V. All rights reserved. doi:10.1016/j.asoc.2008.04.008

(antecedent)—THEN (consequent) rules, coupled with easily understandable and natural linguistic representations. The automatic motion planning problem in robotics and computer aided manufacturing has been studied extensively. Although planning a sequence of motions to bring together parts in a specific configuration has become essential for several applications, the traditional solutions for path planning have failed for complicated environments as they result computationally infeasible and restricted to their performance [1,2]. Many researchers have used fuzzy logic techniques in mobile robot navigation. Examples of work relating to fuzzy logic for the navigation of mobile robot are described below: Maeda et al. [3] have dealt with the drive control of an autonomous mobile robot. They have proposed a new approach to recognize and to adapt to surrounding environment. This approach is based on a forecast learning fuzzy control. They had shown their results in simulation as well as experiment mode to drive the control of the robot. Joo et al. [4] have presented an approach to building multi-input and single-output fuzzy models. The parameters defining the fuzzy implications are identified by a genetic algorithm hybrid scheme to minimize mean square errors globally. The proposed approach has also been applied to construct a fuzzy model for the navigation control of a mobile robot. Montaner and Ramirez-Serrano [5] have designed a fuzzy logic controller for mobile robot navigation. The designed controller deals with the uncertainty and ambiguity of the information the system receives. Simulation and experimental results have been shown by them can be used satisfactorily by wheeled mobile robots moving on

S.K. Pradhan et al. / Applied Soft Computing 9 (2009) 290–304

unknown static terrains. Iwakoshi et al. [6] have presented an evolutionary learning of robot behaviors by Fuzzy Classifier System (FCS). They have done simulations under eight different conditions to validate their technique. Real-time fuzzy reactive control has been investigated by Xu et al. [7] for automatic navigation of an intelligent mobile robot in an unknown and changing environment. The reactive rule base governing the robot behavior is synthesized corresponding to the various situations defined by the instant robot motion, environment and target information. Simulation and experimental results have presented by the authors to validate their approach. Their techniques have not been investigated for target seeking and multiple mobile robot navigation. Toda et al. [8] have described a navigation method, which employs sonar-based mapping of crop rows and fuzzy logic control-based steering for a wheeled mobile robot in an agricultural environment. Montaner and Ramirez-Serrano [9] have designed fuzzy logic controller for mobile robot navigation. They have used their technique on an experimental mobile robot, which uses a set of seven ultrasonic sensors to perceive the environment. Rigatos et al. [10] have solved the problem of motion and control law design for a mobile robot that moves inside a partially unknown environment with stationary obstacles and moving objects, under the assumption of parametric uncertainty in the model that describes the motion of the robot. They have shown the stability of their method. Fraichard and Garnier [11] have presented motion control architecture for a car-like vehicle intended to move in dynamic and partially known environments. They have used fuzzy logic technique, whose main component is a set of fuzzy rules encoding the reactive behavior of the vehicle. They have succesfully navigate the car-like vehicle with use of fuzzy logic technique. Seraji and Howard [12] have presented a new strategy for behavior-based navigation of field mobile robots on challenging terrain, using a fuzzy logic approach and a novel measure of terrain traversability. Lee and Wu [13] have proposed a fuzzy algorithm to navigate a mobile robot from a given initial configuration to a desired final configuration in an unknown environment filled with obstacles. They have shown the feasibility of their proposed method in simulation as well as in experimental mode. Vadakkepat et al. [14] have proposed an extensive fuzzy behavior-based architecture for the control of mobile robots in a multiagent environment. The architecture is implemented on a team of three soccer robots performing different roles interchangeably. The robot behaviors and roles are designed to be complementary to each other for collective behavior. Pratihar and Bibel [15] have developed a collision-free path for multiple robots using genetic-fuzzy systems. Pradhan et al. [16,17] have used potential field methods to navigate mobile robots. They have shown their results in simulation. Mucientes et al. [18] have designed an automated fuzzy controller using genetic algorithms for the implementation of the wall-following behavior in a mobile robot. Their algorithm is based on the Iterative Rule Learning approach. They have tested their learned control systems in a set of simulated environments with a high number of corners. Huq et al. [19] have developed a novel approach to combine motor schema and fuzzy context dependent behavior modulation for mobile robot navigation. Their proposed approach contributes in eliminating the existing problems of motor schema such as trap situations due to local minima, no passage between closely spaced obstacles, oscillations in the presence of obstacles and oscillations in narrow passages. In this paper navigation of multiple mobile robots in presence of static and moving obstacles using different types of fuzzy logic

291

controller (FLC) is discussed. This task could be carried out specifying a set of fuzzy rules taking into account the different situations found by the mobile robots. The approach is to extract a set of fuzzy rule set from a set of trajectories provided by human. For this purposes the input to all the FLC are left obstacle distance, right obstacle distance, front obstacle distance and target angle considered. The output from FLC is left wheel velocity and right wheel velocity of mobile robots is in use. The fuzzy rules help the robots to avoid obstacles and find targets. The robot considered for analysis is a three wheeled robot having one front wheel and two rear wheel. The front wheel is a castor wheel. The velocities of the rear wheels are dependent on two separate motors. Two motors are connected to two rear wheels separately. The speeds of the wheels are being controlled by the motor controller interface. Results are presented to demonstrate the performance of the proposed approach. 2. List of symbols frontdist (FD) leftdist (LD) rightdist (RD) HA leftvelo (LV) rightvelo (RV) OA VN VF VS VF TS Positive Negative F.O.D. R.O.D. L.O.D.

front obstacle distance left obstacle distance right obstacle distance heading angle left wheel velocity right wheel velocity obstacle avoidance very near very fast very slow very fast target seeking right turn left turn front obstacle distance right obstacle distance left obstacle distance

3. Control architecture 3.1. Analysis of obstacle avoidance and target seeking behavior The robots used here are imagined to be a rear wheel drive having two rear wheels, namely left and right rear wheel. Each robot has an array of sensors for measuring the distances around it and locating the target i.e., front obstacle distance (FD), left obstacle distance (LD), right obstacle distance (RD) and detecting the bearing of target (HA). The distance between the robots and obstacles act as repulsive forces for avoiding the obstacles, and the bearing of the target acts as an attractive force between robots and target. In this research three types of membership functions are considered. First one is of three-membership function having two trapezoidal members and one triangular member. Linguistic variables such as ‘‘far’’, ‘‘medium’’ and ‘‘near’’ are taken for three-membership function. Five-membership function is considered with all are of triangular member. Here linguistic variables like ‘‘very near’’, ‘‘near’’, ‘‘medium’’, ‘‘far’’ and ‘‘very far’’ are considered. Finally Gaussian membership function is considered with ‘‘very near’’, ‘‘near’’, ‘‘medium’’, ‘‘far’’ and ‘‘very far’’ as linguistic variables for navigation of multiple mobile robots. Some of the fuzzy control rules are activated according to the information acquired by the robots using their sensors. The outputs of the activated rules are weighted by fuzzy reasoning and

S.K. Pradhan et al. / Applied Soft Computing 9 (2009) 290–304

292

3.2. Fuzzy mechanism for mobile robot navigation Based on the subsets the fuzzy control rules are defined as follows: If ðLD is LDi L FD is FD j L RD is RDk L HA is HAl Þ Then LV is LVi jkl L RV is RVi jkl

(1)

where i = 1–3, j = 1–3, k = 1–3 and l = 1–3 because LD, FD, RD and HA have three-membership functions each.And for five-membership function i = 1–5, j = 1–5, k = 1–5 and l = 1–5. From expression (1) two rules can be written: 9 If ðLD is LDi and FD is FD j and RD is RDk and HA is HAl Þ > > > > Then LV ¼ LVi jkl = And (2) > If ðLD is LDi and FD is FD j and RD is RDk and HA is HAl Þ > > > ; Then RV ¼ RVi jkl A factor Wijkl is defined for the rules as follows: W i jkl ¼ mLDi ðdisi ÞLmFD j ðdis j ÞLmRDk ðdisk ÞLmHAl ðangl Þ

(3)

where disi, disj, and disk are the measured distances, and angl is the value of the heading angle. The membership values of the left wheel and right wheel velocities velLV and velRV are given by: 9 mLV0i jkl ðvelÞ ¼ W i jkl LmLVi jkl ðvelLV Þ 8 vel 2 LV = (4) mRV0 ðvelÞ ¼ W i jkl LmRV ðvelRV Þ 8 vel 2 RV ; i jkl

Fig. 1. Fuzzy Controllers for mobile robot navigation.

the velocities of the driving wheels of the robots are calculated. Left wheel velocity and right wheel velocity are denoted as leftvelo (LV) and rightvelo (RV) respectively (Table 1). Similarly leftdist, rightdist, and frontdist are defined for the distances left obstacle distance (LD), right obstacle distance (RD) and front obstacle distance (FD) respectively. Linguistic variables such as ‘‘pos’’ (positive) ‘‘zero’’ and ‘‘neg’’ (negative) are defined for the bearing of heading angle (HA) with respect to target. The term ‘‘notargetconsider’’ is used if there is no target in the environment. Linguistic variables like ‘‘fast’’; ‘‘medium’’ and ‘‘slow’’ are defined for left wheel velocity and right wheel velocity for three-membership function. Terms like ‘‘very slow’’, ‘‘slow’’, ‘‘medium’’, ‘‘fast’’, and ‘‘very fast’’ are considered for left wheel velocity and right wheel velocity for five-membership functions. Similarly linguistic variables such as ‘‘more pos’’ (more positive),‘‘pos’’ (positive) ‘‘zero’’, ‘‘neg’’ (negative) and ‘‘more neg’’ (more negative) are defined for the bearing of heading angle (HA) with respect to target. The membership functions described above are shown in Fig. 1.

i jkl

The overall conclusion by combining the outputs of all the fuzzy rules can be written as follows:

mLV ðvelÞ ¼ mL V01111 ðvelLV Þ _    _ mL V0i jkl ðvelLV Þ _    _ mL V03333 ðvelLV Þ mRV ðvelÞ ¼ mR V01111 ðvelRV Þ _    _ mR V0i jkl ðvelRV Þ _    _ mR V03333 ðvelRV Þ

)

(5) Eq. (5) is for three-membership functions. For five-membership function the fuzzy rules are written as: ) mLV ðvelÞ ¼ mL V01111 ðvelLV Þ _    _ mL V0 ðvelLV Þ _    _ mL V05555 ðvelLV Þ i jkl

mRV ðvelÞ ¼ mR V01111 ðvelRV Þ _    _ mR V0i jkl ðvelRV Þ _    _ mR V05555 ðvelRV Þ (6) The crisp values of left wheel velocity and right wheel velocity are computed using center of gravity method is: R 9 vel  mLV ðvelÞ  dðvelÞ > > Left Wheel Velocity ¼ LV ¼ R > = mLV ðvelÞ  dðvelÞ R (7) vel  mRV ðvelÞ  dðvelÞ > > > Right Wheel Velocity ¼ RV ¼ R ; mRV ðvelÞ  dðvelÞ

Table 1 Obstacle avoidance for three-membership function Fuzzy rule no.

Action

leftdist

frontdist

rightdist

Heading angle

leftvelo

rightvelo

01 02 03 04 05 06 07 08 09 10

OA OA OA OA OA OA OA OA OA OA

Near Near Near Near Near Near Near Near Near Med.

Near Near Near Med. Med. Med. Far Far Far Near

Near Med. Far Near Med. Far Near Med. Far Near

Notargetconsidered Notargetconsidered Notargetconsidered Notargetconsidered Notargetconsidered Notargetconsidered Notargetconsidered Notargetconsidered Notargetconsidered Notargetconsidered

Slow Med. Fast Slow Fast Fast Slow Fast Fast Med.

Slow Slow Slow Slow Med. Slow Slow Med. Slow Fast

S.K. Pradhan et al. / Applied Soft Computing 9 (2009) 290–304

293

Table 2 Obstacle avoidance for five-membership function Fuzzy rule no.

Action

leftdist

frontdist

rightdist

Heading angle

leftvelo

rightvelo

11 12 13 14 15 16 17 18 19 20

OA OA OA OA OA OA OA OA OA OA

VN VF VN VN VN VN VN VN VN VN

VN VN VN VN VN Near Near Near Near Near

VN Near Med. Far Very Far VN Near Medium Far Very Far

Notargetconsidered Notargetconsidered Notargetconsidered Notargetconsidered Notargetconsidered Notargetconsidered Notargetconsidered Notargetconsidered Notargetconsidered Notargetconsidered

VS VS Fast Fast VF Slow Slow Fast Fast VF

VS VF VS Slow VS Slow VS Slow Slow VS

Table 3 Target seeking for three-membership function Fuzzy rule no.

Action

leftdist

frontdist

rightdist

heading angle

leftvelo

rightvelo

21 22 23 24 25 26

TS TS TS TS TS TS

Near Near Near Far Far Far

Far Med. Med. Near Med. Far

Med. Far Near Med. Near Far

Positive Positive Negative Negative Positive Negative

Fast Fast Slow Slow Fast Slow

Slow Slow Fast Fast Slow Fast

Table 4 Target seeking for five-membership function Fuzzy rule no.

Action

leftdist

frontdist

rightdist

heading angle

leftvelo

rightvelo

27 28 29 30 31 32

TS TS TS TS TS TS

VN VN Near Med. Far Far

Far Med. Far Far Med. Very far

Near VF Far Near Near Near

Positive Positive Positive Negative Negative Negative

Slow VF Fast Slow Med. Med.

VS VS Slow Med. Fast VF

Note: OA: obstacle avoidance, Med.: medium, frontdist: front obstacle distance, rightdist: right obstacle distance, leftdist: left obstacle distance, leftvelo: left wheel velocity, rightvelo: right wheel velocity, TS: target seeking, Positive: right turn, Negative: left turn, VF: very fast, VN: very near and VS: very slow.

3.3. Obstacle avoidance When the robot is very close to the target, the attractive force between the robot and the target causes the robot seeking towards the target. Similarly when the robot is very close to an obstacle, because of repulsive force developed between the robot and the

obstacle the robot must change its speed and heading angle to avoid the obstacle. Some of the fuzzy rules used for obstacle avoidance by robots are listed in Tables 1–4. All the rules in those tables have been obtained heuristically using common sense. Some rules mentioned in Table 1 cater for extreme conditions when the obstacles have to be avoided as quickly as possible.

Fig. 2. Left, front and right obstacles.

294

S.K. Pradhan et al. / Applied Soft Computing 9 (2009) 290–304

This is for three-membership function. Rule 06 mentioned in the Table 1 describes if the left obstacle distance is ‘‘near’’, right obstacle distance is ‘‘far’’, front obstacle distance is ‘‘medium’’ and no target is around the robot, then the robot should turn to right side as soon as possible to avoid collision with the left obstacle. For the above condition the left wheel velocity should increase fast and right wheel velocity should decrease slowly. Similarly some rules mentioned in Table 2 are used for extreme conditions when the obstacles have to be avoided as soon as possible. These rules are for five-membership function. For example in rule 12, the left obstacle distance is ‘‘very far’’, right obstacle distance is ‘‘near’’, front obstacle distance is ‘‘very near’’ and no target is located around the robot, then the robot should turn to left side to avoid collision with the obstacle in front

and towards right of it. For the above condition the right wheel velocity should increase very fast and left wheel velocity should decrease very slowly. 3.4. Control steering action for target acquisition The objective of the robots is to reach the target efficiently. If any one of the robots senses a target, it will decide whether it can reach the target or there is any obstacle that will obstruct the path. If there is no obstacle on the path leading to the target, the robot will find its desired path and proceed towards it. Fuzzy rules 21–26 are for three-membership function (Table 3) for target finding. Table 4 describes rules for five-membership function to locate the target. Here also the fuzzy rules were obtained heuristically.

Fig. 3. Resultant left and right wheel velocity.

S.K. Pradhan et al. / Applied Soft Computing 9 (2009) 290–304

295

Fig. 3. (Continued ).

Rule number 22 states that if the left obstacle distance is ‘‘near’’, front obstacle distance is ‘‘medium’’ and right obstacle distance is ‘‘far’’ and the robot detects a target located on the right side (positive), then the robot should turn right as soon as possible. To do this, the left wheel velocity of the robot should increase fast and the right wheel velocity should decrease slowly.

In Fig. 2 left, front and right obstacle distances are 1.2, 2.4 and 4.6 respectively. There is no target present in the environment. The resultant right wheel and left wheel velocity are shown in Fig. 3. The velocities are found from the fuzzy rules described in the above table. With the above-mentioned obstacles, there will be 2  2  2 = 8 fuzzy rules (Fig. 2) activated to control the left wheel velocity and right wheel velocity of the robot. The resultant

S.K. Pradhan et al. / Applied Soft Computing 9 (2009) 290–304

296

Fig. 4. Petri Net Model for avoiding inter-robot collision.

velocities are given in Fig. 3, from which the crisp values can be determined. First Combination

Left obstacle: very near, front obstacle: near and right obstacle: very far

Then according to fuzzy rule

Left wheel velocity: very fast and right wheel velocity: very slow

Second Combination

Left obstacle: very near, front obstacle: near and right obstacle: far

Then according to fuzzy rule

Left wheel velocity: fast and right wheel velocity: slow

Third Combination

Left obstacle: very near, front obstacle: medium and right obstacle: very far

Then according to fuzzy rule

Left wheel velocity: very fast and right wheel velocity: very slow

Fourth Combination

Left obstacle: very near, front obstacle: medium and right obstacle: far

Then according to fuzzy rule

Left wheel velocity: fast and right wheel velocity: medium

Fifth Combination

Left obstacle: near, front obstacle: near and right obstacle: very far

Then according to fuzzy rule

Left wheel velocity: medium and right wheel velocity: very slow

Sixth Combination

Left obstacle: near, front obstacle: near and right obstacle: far

Then according to fuzzy rule

Left wheel velocity: slow and right wheel velocity: very slow

Seventh Combination

Left obstacle: near, front obstacle: medium and left wheel velocity: very fast

Then according to fuzzy rule

Right obstacle: very far and right wheel velocity: very slow

Eighth Combination

Left obstacle: near, front obstacle: medium and right obstacle: far

Then according to fuzzy rule

Left wheel velocity: fast and right wheel velocity: slow

In all the rules heading angle is taken as zero. 3.5. Conceptual diagram of Inter_robot collision avoidance and obstacle avoidance using Petri Net modeling Petri C.A. [20] first developed a Petri Net Model which is used to avoid inter-robot collision. Fig. 4 shows the Petri Net Model built into each robot to enable it to avoid collision with other robots. The model comprises six tasks.

Fig. 5. Collision avoidance by two mobile robots using five-membership fuzzy controller (Initial State).

S.K. Pradhan et al. / Applied Soft Computing 9 (2009) 290–304

297

Fig. 6. Collision avoidance by two mobile robots using Five-membership fuzzy controller (Final State).

It is assumed that, initially, the robots are in a highly cluttered environment, without any prior knowledge of one another or of the targets and obstacles. This means the robot is in state ‘‘Task 1’’ (‘‘Wait for the start signal’’). In Fig. 4, the token is in place ‘‘Task 1’’. Once the robots have received a command to start searching for the targets, they will try to locate targets while avoiding obstacles and one another. The robot is thus in state ‘‘Task 2’’ (‘‘Moving, avoiding obstacles and searching for targets’’). During navigation, if the path of a robot is obstructed by another robot, a conflict situation is raised (State ‘‘Task 3’’, ‘‘Detecting Conflict’’). Conflicting robots will negotiate with each other to decide which one has priority. The lower priority robot will be treated as a static obstacle and the higher priority robot as a

proper mobile robot (state ‘‘Task 4’’, ‘‘Negotiating’’). As soon as the conflict situation is resolved, the robots will look for other conflicts and if there is no other conflict they will execute their movements (state ‘‘Task 5’’, ‘‘Checking for conflict and executing movements’’). 4. Demonstrations The proposed fuzzy logic technique has been implemented in simulation with different environment. Simulations were conducted using the Window-based simulation software package ‘ROBPATH’ (Appendix A) developed by the author for robot navigation. The environment generated artificially containing static obstacles as well as static targets.

Fig. 7. Navigation of large number of robots before starting the mission using five-membership FLC (1000 robots).

298

S.K. Pradhan et al. / Applied Soft Computing 9 (2009) 290–304

Fig. 8. Navigation of large number of robots after some time from the starting of the mission using five-membership FLC (1000 robots).

4.1. Collision free movements in a cluttered environment

4.2. Obstacle avoidance by a large number of robots

This exercise demonstrates that, the robots do not collide with each other even in a highly cluttered environment. Fig. 5 depicts the beginning of the exercise where as Fig. 6 shows the trajectories of the robots for the five-membership controller. It can be seen that the robots are able to resolve conflict and avoid one another and reach the target successfully. ‘a-b-c-d-e-f-g’ is the path followed by robot-1 to reach the target and ‘p-q-r-s-t-u’ is the path of robot-2. After getting the start command the robots start searching for target from point ‘a’ and ‘p’. It is clear from the Fig. 6 that when the robots reach close to each other i.e., at point ‘b’ and ‘q’ they change their direction to avoid collision between them.

Obstacle avoidance by one thousand mobile robots using Gaussian membership function is shown in Figs. 7 and 8. Fig. 7 depicts the starting of the exercise. Fig. 8 shows the situation after few times the exercise has begun. It can be noted that the robots stay well away from the obstacles as well as from each other. 4.3. Escape from dead ends Figs. 9 and 10 show the ability of the robots to escape from the dead ends using five-membership FLC. Fifteen robots are involved in this exercise. Fig. 9 depicts the situation at the beginning of the

Fig. 9. Environment for escaping from the dead ends before starting of the mission using five-membership FLC.

S.K. Pradhan et al. / Applied Soft Computing 9 (2009) 290–304

299

Fig. 10. Recorded paths of fifteen robots in case of escaping from U-shaped objects and getting the targets using five-membership FLC.

exercise. The U-shaped and rectangular obstacles are causing dead ends for the robots. All the robots were enclosed within a U-shaped obstacle. Fig. 10 shows all the robots efficiently negotiate the dead ends and reach their target successfully. 5. Comparison between the different types of fuzzy controller An exercise has been carried out to compare the performances of the different types fuzzy controllers i.e., comparison between three-membership function, five-membership function, and Gaussian membership function. In all the exercises one robot is located inside four rectangular shape obstacles and one target is present in the environment. Fig. 11 depicts the initial condition of the environment for all the controllers. Figs. 12–14 represent the path traced by the robot using three-membership function, five-

membership function, and Gaussian membership function respectively. Fig. 15 shows navigation of one mobile robot to reach target with prior knowledge of target. Total path lengths using threemembership fuzzy, five-membership fuzzy and Gaussian membership fuzzy controllers are measured (in pixels) for two, four, eight, ten, sixteen, forty and eighty robots. The final results are given in Table 5. Similarly time taken to reach the target using threemembership, five-membership and Gaussian membership fuzzy controllers are measured for the same number of robots using statistical method. The results are given in Table 6. The path lengths and the search times are taken statistically from one thousand simulation results. The path lengths and search times are giving an objective measure of the performance of the different controllers. A comparison of the performances of different techniques has been carried out and represented in Table 7. In

Fig. 11. Environment for one robot and one target.

S.K. Pradhan et al. / Applied Soft Computing 9 (2009) 290–304

300

Fig. 12. Navigation path for one mobile robot using three-membership fuzzy controller.

Fig. 13. Navigation path for one mobile robot using five-membership fuzzy controller.

Table 5 Path lengths using different fuzzy logic controllers Number of robots

Total path length in pixels using three-membership fuzzy controller

Total path length in pixels using five-membership fuzzy controller

Total path length in pixels using Gaussian membership fuzzy controller

2 4 8 10 16 40 80

144 349 1149 1424 1923 4435 11,393

141 321 1053 1401 1905 4412 11,001

139 307 1034 1355 1845 4381 10,786

S.K. Pradhan et al. / Applied Soft Computing 9 (2009) 290–304

301

Fig. 14. Navigation path for one mobile robot using Gaussian membership fuzzy controller.

Fig. 15. Navigation of one mobile robot to reach target with prior knowledge of target.

Ideal condition the robot knows the environment. From the path length and search time it was concluded that the fuzzy controller using Gaussian membership function find the target in minimum time.

6. Conclusion This paper has described techniques for controlling the navigation of multiple mobile robots using different fuzzy logic

Table 6 Time taken to reach the target using different fuzzy logic controllers Number of robots

Total time taken in seconds using three-membership fuzzy controller

Total time taken in seconds using five-membership fuzzy controller

Total time taken in seconds using Gaussian membership fuzzy controller

2 4 8 10 16 40 80

4.22 12.21 22.24 24.31 33.56 76.02 267.46

4.13 11.02 21.29 22.23 33.02 75.02 246.38

4.01 10.56 20.59 21.58 32.45 72.48 242.06

302

S.K. Pradhan et al. / Applied Soft Computing 9 (2009) 290–304

Fig. 16. Obstacles.

controllers in a highly cluttered environment. All techniques employ fuzzy rules and take into account the distances of the obstacles around the robots and the bearing of the target in order to compute the velocities of the driving wheels. With the use of Petri Net Model the robots are capable of negotiate with each other. It has been seen that, by using all the three types of fuzzy logic controller the robots are able to avoid any obstacles (static and moving obstacles), escape from dead ends, and find targets in a highly cluttered environments. Using fuzzy logic controller (Gaussian membership) as many as one thousand mobile robots can navigate successfully neither colliding with each other nor colliding with obstacles present in the environment. Comparisons of the performances among different techniques have been carried out. From the present analysis it is concluded that the fuzzy logic controller utilizing Gaussian membership is best among the three techniques for navigation of multiple mobile robots.

operating under WINDOWS NT/95/98/2000/XP. The menus incorporated in the software are described below. A.2. Obstacle Menu The Obstacle Menu allows the user to draw different types of obstacles in the robots’ environment. The obstacles that can be constructed are shown in Fig. 16. A.3. Number of robot menu Using this menu, a user can draw any number of robots (in between 1 and 1000) as required to be placed in the environment. For example fifteen robots are shown in Fig. 17.

Appendix A A.1. Software used for robot navigation The ‘ROBPATH’ used for navigation demonstrations reported in this paper is developed by the author. The software runs on a PC

Fig. 17. Fifteen mobile robots.

S.K. Pradhan et al. / Applied Soft Computing 9 (2009) 290–304

303

Fig. 18. View of the software (ROBOPATH) front-end user for navigation of multiple mobile robots.

Table 7 Performance evaluation of different technique for navigation of one mobile robot Sl. no.

Different techniques

Path length in pixels

Time taken to reach the target in seconds

Performance evaluation (%)

01 02 03 04

Ideal condition Three-membership fuzzy logic technique Five-membership fuzzy logic technique Gaussian membership fuzzy technique

50 246 238 151

0.45 2.5 2.42 1.5

– 20 21 33

A.4. Run Menu With this menu, the user can choose to run the software in simulation mode or control the navigation of real mobile robots. The menu is given in Fig. 18. A.5. Techniques Menu This menu enables the user to select the techniques to control the navigation of the robots. The menu is shown in Fig. 18. A.6. Target Menu This menu is for placing targets in the environment. Any number of targets can be Chosen for the robot environment (Fig. 18). A.7. Manual Command (Parameter Menu) This menu contains five commands (Fig. 18). a) Start_Again: This command is for re-starting a process with exiting software. b) Refresh_Screen: This command is for cleaning the screen. It has the same action as clicking the right button on the mouse. c) Robot_Behaviour: This command activates a dialog box that enables the user to select a particular robot and control its movements manually. The dialog box can be seen in Fig. 18.

d) Drag_Obs: Using this sub-menu the user can drag any obstacle to any place in the environment at any time to re-arrange the cluttered environment. e) Obs_Delete: By the help of this menu the user can delete any obstacle at any time from the environment.

References [1] J.C. Latombe, Robot Motion Planning, Kluwer Academic Publishers, Boston, MA, USA, 1991. [2] Y.K. Hwang, N. Ahuja, Gross motion planning—a survey, ACM Computing Surveys 24 (3) (1992) 219–291. [3] M. Maeda, M. Shimakawa, S. Murakami, Predictive fuzzy control of an autonomous mobile robot with forecast learning function, Fuzzy Sets and Systems 72 (1) (1995) 51–60. [4] Y.H. Joo, H.S. Hwang, K.B. Kim, K.B. Woo, Fuzzy system modeling by fuzzy partition and GA hybrid schemes, Fuzzy Sets and Systems 86 (3) (1997) 279– 288. [5] M.B. Montaner, A. Ramirez-Serrano, Fuzzy knowledge-based controller design for autonomous robot navigation (robotics and computer vision), Expert Systems with Applications 14 (1–2) (1998) 179–186. [6] Y. Iwakoshi, T. Furuhashi, Y. Uchikawa, A Fuzzy Classifier System for evolutionary learning of robot behaviors, Applied Mathematics and Computation 91 (1) (1998) 73–81. [7] W.L. Xu, S.K. Tso, Y.H. Fung, Fuzzy reactive control of a mobile robot incorporating a real/virtual target switching strategy, Robotics and Autonomous Systems 23 (1998) 171–186. [8] M. Toda, O. Kitani, T. Okamoto, T. Torii, Navigation method for a mobile robot via sonar-based crop row mapping and fuzzy logic control, Journal of Agricultural Engineering Research 72 (4) (1999) 299–309. [9] M.B. Montaner, A. Ramirez-Serrano, Knowledge-based controller design for autonomous robot navigation, Expert Systems with Applications 14 (1998) 179–186. [10] G.G. Rigatos, C.S. Tzafestas, S.G. Tzafestas, Mobile robot motion control in partially unknown environments using a sliding-mode fuzzy-logic controller, Robotics and Autonomous Systems 33 (2000) 1–11.

304

S.K. Pradhan et al. / Applied Soft Computing 9 (2009) 290–304

[11] T. Fraichard, P. Garnier, Fuzzy control to drive car-like vehicles, Robotics and Autonomous Systems 24 (2001) 1–22. [12] H. Seraji, A. Howard, Behavior-based robot navigation on challenging terrain: a fuzzy logic approach, IEEE Transactions on Robotics and Automation 18 (3) (2002) 308–321. [13] T.-L. Lee, C.-J. Wu, Fuzzy motion planning of mobile robots in unknown environments, Journal of Intelligent and Robotic Systems 37 (2) (2003) 177–191. [14] P. Vadakkepat, O.C. Miin, X. Peng, T.H. Lee, Fuzzy behavior-based control of mobile robots, IEEE Transactions on Fuzzy Systems 12 (4) (2004) 559–564. [15] D.K. Pratihar, W. Bibel, Near-optimal, collision-free path generation for multiple robots working in the same workspace using a genetic-fuzzy systems, Machine Intelligence and Robotic Control 5 (2) (2003) 45–58.

[16] S.K. Pradhan, D.R. Parhi, A.K. Panda, Navigation of multiple mobile robots using rule-based-neuro-fuzzy technique, International Journal of Computational Intelligence 3 (2) (2006) 142–152. [17] S.K. Pradhan, D.R. Parhi, A.K. Panda, Potential field method to navigate several mobile robots, Applied Intelligence 25 (2006) 321–333. [18] M. Mucientes, D.L. Moreno, A. Bugarı´n, S. Barro, Design of a fuzzy controller in mobile robotics using genetic algorithms, Applied Soft Computing 7 (2) (2007) 540–546. [19] R. Huq, G.K.I. Mann, R.G. Gosine, Mobile robot navigation using motor schema and fuzzy context dependent behavior modulation, Applied Soft Computing 8 (1) (2008) 422–436. [20] J.L. Peterson, Petri Net Theory and the Modelling of Systems, Prentice-Hall, Englewood Cliff, N.J., 1981.