Fuzzy Logic Navigation and Obstacle Avoidance by a Mobile Robot in an Unknown Dynamic Environment

Mobile robot navigation has remained an open problem over the last two decades. Mobile robots are required to navigate in unknown and dynamic environments, and in recent years the use of mobile robots in material handling has considerably increased. Usually workers push carts around warehouses and manually handle orders which is not very cost-effective. To this end, a potential method to control a swarm of mobile robots in a warehouse with static and dynamic obstacles is to use the wireless control approach. Further, to be able to control different types of mobile robots in the warehouse, the fuzzy logic control approach has been chosen. Therefore, in this paper, an on-line navigation technique for a wheeled mobile robot (WMR) in an unknown dynamic environment using fuzzy logic techniques is investigated. In this paper, we aim to use the robot in application in a warehouse. Experimental results show the effectiveness of the proposed algorithm.


Introduction
Many researchers have anticipated that mobile robots will take charge in various tasks in manufacturing plants, warehouses and construction sites.Recently, the use of mobile robots in material handling applications has considerably increased.For instance, in warehouses, mobile robots are used for material handling from stockrooms and also monitoring the inventory of different items in the warehouse.For this reason, wireless communication control is adequate for the motion and navigation of a set of mobile robots inside a covered space.Indeed, wireless controls of a swarm of mobile robots offer good features: self-organization, flexibility, improvement in production quality and cost savings.Moreover, wireless navigation control of a set of mobile robots in a warehouse is better than the coloured line tracking method used in most of old warehouse systems.The fuzzy logic control does not need the mathematical model of the controlled process.This will permit controlling vehicles with different mathematical models.
In this work, two fuzzy logic controllers (FLCs), using different membership functions, are used for mobile robot navigation in an unknown environment.A Tracking Fuzzy Logic Controller (TFLC) is employed to navigate the WMR to its target.An Obstacles Avoiding Fuzzy Logic Controller (OAFLC) is proposed to perform the obstacle avoidance behaviour.The dynamic environment and the insufficient information on the environment are the main challenge in the navigation operation of the WMR.The traditional mobile robot planning approaches remain not robust and unable to overcome these challenges.As a result, many reactive approaches were introduced allowing the use of artificial intelligence techniques, where problem solving, learning and reasoning are the main issues.Within this scope, fuzzy logic [5,6,7], neural networks [2,3,4] and other artificial intelligence techniques, became the basis of navigation systems in mobile robots.
Over the last two decades, many motion control methods have been proposed for efficient movement of Wheeled Mobile Robot (WMR).Despite the advances in the field of autonomous robotics, many problems still exist.Most of the difficulties are due to unknown dynamic environments.Various useful techniques, such as fuzzy logic, genetic algorithms and neural networks are used to deal with unknown and dynamic environments.
Many researchers have used fuzzy logic techniques in the navigation of WMR.The research proposed in [13] is related to mobile robot navigation in which both target and obstacle avoidance are treated.The approach uses a method that the authors named FIM.Although the idea is good, it needs an optimized rule based which is obtained using a genetic algorithm.The research proposed in [17] uses hybrid approaches, i.e., a fuzzy logic system with multiple types of input, which are sonar, camera and stored map.This paper lacks simulation and experimentation, so we cannot effectively evaluate this scheme.On the other hand, we do not have any idea on the real-time operation due to the fact that the authors use many sensors to sense the surrounding environment.Indoor navigation using fuzzy logic has been presented in [12].The authors proposed how to use FLC for the target tracking control of WMRs.The authors of [12] do not use any FLC to avoid the obstacles, they just use FLC for motion.Another indoor navigation system using fuzzy logic is presented in [16].The authors used the fuzzy logic and visual sensors to guide the robot to its target.But this scheme does not use any FLC to avoid the obstacles; it just uses FLC for WMR motion.In [8], the authors have presented a navigation approach for several mobile robots in an unknown environment using the fuzzy logic technique.In this work, the authors used a fuzzy logic controller (FLC) with a different number of membership functions (three-membership function and fivemembership function) to navigate the mobile robots in an unstructured environment.A real-time fuzzy target tracking control scheme for autonomous mobile robot using infrared sensors is presented in [10].It uses two robots, the first WMR is the moving target and the second is the tracker.In [11], the authors have presented a control structure that combines a kinematic controller and an adaptive fuzzy controller for trajectory tracking.Wireless communication has been used in mine rescue and recovery [14].Moreover, fuzzy logic control combined with wireless communication can be useful to control a swarm of WBRs utilizing only one server as a controller or as a supervisor.In this work, this strategy has been adopted for wireless fuzzy logic control of a WMR.This paper is organized as follows.In Section 2, a kinematics model of the WMR is presented.To estimate the configuration of the WMR at each sampling time, deadreckoning is addressed in section 3. Section 4 depicts the proposed fuzzy logic control for tracking and navigation.In section 5, the wireless communication used in this work is discussed.Experimental results aregiven in section 6.The conclusion and suggestions are given in section 7.

Kinematics Model of WMR
The mobile robot used in this work is a unicycle type mobile robot (figure 1).The WMR contains two individual driving wheels mounted at the front of the chassis on the same axis and the third free wheel (castor wheel) on the back of the chassis to balance the mobile robot during motion.These two wheels are independently driven by two actuators to achieve the motion and orientation.The kinematics model of this kind of mobile robot is described by the following nonlinear equations [1]: where x and y are the coordinates of the position of the mobile robot.� is the orientation of the mobile robot with respect the positive direction X-axis.� is the linear velocity and ω is the angular velocity.

Dead-Reckoning
Dead-reckoning is used to estimate the position and orientation of a WMR during motion.The dead-reckoning method is based on the previous position and orientation at time t = tk to calculate the next position and orientation at t=tk+1.Using the Euler approximation, equation (1) becomes: where � � � � ��� � � � is the sampling time.It is preferable to use the distance travelled by the mobile robot during Ts and this can be calculated using pulses of the encoders on each motor of the robot DC wheel.This mathematical model is described by the following equations: where �� � � ��� � � � are the impulses of the encoders (L stands for left and R stands for right) during the sampling rate Ts, ��� is the distance between the wheels, D is the diameter of wheels, and Tw is the number of encoder pulses for full rotation.
It is known that this method is not accurate for fast dynamic motion of a WMR.However, as stated in [1], the accuracy is acceptable for low dynamics motion of a WMR.Thus, in the experimental part, low dynamic motion of the WMR is adopted in order to use the dead-reckoning algorithm to estimate the actual configuration of the mobile robot.
Table 1.Fuzzy rules of the left velocity and right velocity of the motors in TFLC The velocities (LV and RV) of the driving wheels of the robots are calculated using the defuzzification step.Note that in this work the weighted average defuzzification technique has been adopted.
Further, if an obstacle is detected around (from 0 o to 180 o ) the mobile robot, the control algorithm switches over to the OAFLC.

OAFLC
OAFLC is proposed to generate a control signal (LV and LR) in order to avoid obstacles in unknown dynamic environments.The inputs of OAFLC are the distance between the left, front and right sides distances of the robot and the obstacles.These distances are acquired by three ultra-sonic sensors, from the left, front and right side of the robot.The outputs of OAFLC are the velocities of the left and right motors.OAFLC is implemented with three membership functions for each input as illustrated in figure 6.The linguistic variables used for the distance between the robot and obstacles (LD, RD, and FD) are: N: Near, M: Medium and Far.
L LD = LFD=L RD ={N, M, F},  For the outputs, OAFLC is implemented with five membership functions for each output (left velocity LV and right velocity RV) as illustrated in figure 7. The linguistic variables used for the fuzzy rules of OAFLC are: NH: Negative High, N: Negative, P: Positive, HP: High Positive and VHP: Very High.The linguistic variables used for the outputs using five membership functions for left and right motor are shown in table 2.
The fuzzy rules for the left and right velocities of the OAFLC.

Wireless Communication
This work aims to navigate the robot in a warehouse.Wireless communication a plausible solution for mobile robots used for handling in a warehouse.
We use the Scout-II as WMR, which is a wireless network robot.It connects to the wireless AP or router via IEEE 802.11b/g with high bandwidth (11Mbps) [15].
Using such a bandwidth, Scout-II could send all sensor data (including encoder sensor readings) to a server at rates of 10Hz.The server PC, which runs the Scout-II control program, connects to this network via either network cable or wireless.Figure 8 illustrates the operation scenario of Scout-II.There are many benefits of using wireless technology to control the motion of a WMR: wireless deployment is less expensive than the use of wires due to wire replacement and increased congestion.
Wireless is more efficient in terms of scalability, the current bandwidth is suitable for data communication, which is required to control the motion of the WMR.

Experimental results
The used mobile robot platform is the Scout-II robot developed by Dr Robot Inc [15].The Scout-II is a differential-drive robot for research.Scout-II is "a ready to use mobile robot platform designed for remote monitoring patrolling" [15].Scout-II uses Wi-Fi (802.11b/g) as an interface for the wireless communication.In this work, wireless communicates effectively up until the range of 213 feet (56 metres) in an indoor environment.In addition, it uses C++ interface as a programming language.In the experiment part, the parameters used are: dst= 30.5 cm, D =17 cm and Tw = 800 pulses for full rotation.
The experiment part of this work is divided in three scenarios.In the first scenario, the mobile robot navigates in an unstructured environment without obstacles, as illustrated in figure 9.In the second scenario, the mobile robot Scout-II navigates in an unstructured environment with four static obstacles, as illustrated in figure 10.These obstacles have different shapes, three are rectangular and one is circular.In the third scenario, the mobile robot navigates in a dynamic environment as illustrated in figure 13.Let us assume that we need to move the robot from the initial point to the goal as shown in table 3.These points are used for all scenarios.Note that in this work, we are not interested in the final configuration with orientation.Thus, θ is not included in table 3.  The robot speed varies with respect to its angle velocity as defined by the fuzzy logic controller.Note that this data are generated using a dead-reckoning algorithm.As mentioned in [1], when the speed of the mobile robot is slow, the algorithm provides accurate position and orientation for the robot.In all scenarios, the robot moves from the initial point to the intermediate point, then from the intermediate point to the target point.In the second scenario, four obstacles have been added to the scene.As shown in figure 10, if the distance between the obstacle and robot sonar mounted on the robot's left, front right sides less than 70 cm, then the robot motion control switches from TFLC algorithm to the OAFLC algorithm in order to avoid the obstacle.Figure 11 illustrates the real-time experimental results of the environment scenario without obstacles.

Points
As we can see from figures 9 and 10, the motion of the robot in the first scenario is different from the motion in the second scenario.This difference comes from the obstacles which are present in the environment in the second scenario.
Figure 12 illustrates the real-time experimental results of the second scenario, where obstacles are added to the environment.Figure 12 shows the Scout-II robot passing through the obstacles.The generated path in figure 9 corresponds to the real experimentation given in figure 11.The generated path shown in figure 10 corresponds to the real experimentation of figure 12.
Figure 13 illustrates the behaviour of the robot within the dynamic obstacles.As shown in figure 13-a, the dynamic obstacle moved in front of the robot and the robot responded to that dynamic obstacle by switching the control scheme from TFLC to OAFLC, passing by it as illustrated in figure 13-b.
Since only one robot is available in the laboratory, we have used a researcher as a moving obstacle in the scene.The WMR was able to avoid both the researcher and other static obstacles.This scenario was performed so as to be close to the real scene in a warehouse.Note to the readers, videos for all scenarios are available in the following links: http://www.youtube.com/watch?v=FQafywfEJd8&feature =youtu.beThe link of the second scenario is: http://www.youtube.com/watch?v=ABo_IVLHJn0&featur e=youtu.beThe third scenario is: http://www.youtube.com/watch?v=Wtfhgxn44Vs&feature =youtu.be

Conclusion
In this paper, we have proposed a wireless fuzzy logic control of a wheeled mobile robot (unicycle type).The proposed work intends to introduce mobile robots for material handling in warehouse environments wireless communication is used instead of coloured line tracking that complicates the navigation of a swarm of mobile robots.
Experimental part has been performed on one available mobile robot (Scout-II) and so as to be as close to the scene in warehouse as possible, a researcher has been used as a moving obstacle.According the experimental results, the extension to a set of mobile robots can easily be done.Further, experimental results have validated the proposed algorithm and smooth paths have been generated by using the fuzzy logic algorithm in structured and unstructured environments.
For future work, the proposed wireless control of a WMR should be extended to a swarm of mobile robots.Analysis of the influence of induced time delay from the wireless communication of the networked mobile robots is worthy of further investigation.

4 .
Fuzzy Logic ControlTwo fuzzy logic controllers are developed and used to navigate the mobile robot from the initial configuration to the goal.Tracking fuzzy logic control (TFLC) and obstacle avoidance fuzzy logic control (OAFLC) are combined to move the mobile robot to the target along a collision-free path.In this work, the algorithm starts with TFLC.If sensors detect any obstacles in the front of the robot, then the control algorithm switches over to the OAFLC.The output of TFLC and OAFLC are the left and right velocities of each wheel.Figure2illustrates the fuzzy controller of TFLC and OAFLC.4.1 TFLC TFLC is proposed to move the WMR to its target smoothly.The inputs of TFLC are the angle between the robot and the target (error angle), and the distance from the robot to the target.The outputs of TFLC are the velocities of the left and right motors.TFLC is implemented with seven membership functions for each input as illustrated in figures 3 and 4. The linguistic variables used for the angle between the robot and the target (Err.angle) are: N: Negative, SN: Small Negative, NNZ: Near Negative Zero, Z: Zero, NPZ: Near Positive Zero, SP: Small Positive and P: Positive.The linguistic variables used for input distance are: Z: Zero, NZ: Near Zero, N: Near, M: Medium, NF: Near Far, F: Far and VF: Very Far.LErr.Angle = {N, SN, NNZ, Z, NPZ, SP, P} L Distance = {Z, NZ, N, M, NF, F, VF} TFLC is implemented with seven membership functions for each output (Left Velocity LV and Right Velocity RV of the motors) as illustrated in figure 5.The linguistic variables used for the fuzzy rules of TFLC are: Z: Zero, S: Slow, NM: Near Medium, M: Medium, NH: Near High, H: High and VH: Very High.The membership functions for the left and the right motors are shown in table 1. L LV = L RV={Z, S, NM, M, NH, H, VH}

Figure 3 .
Figure 3. Membership functions for the distance.

Figure 4 .
Figure 4. Membership functions for the error in angle.

Figure 5 .
Figure 5. Membership functions for the left and right velocity.Angle Dis.N SN NNZ Z NPZ SP P ZL Z L Z L Z L Z L NM L NM L M R M R NM R NM R Z R Z R Z R

Figure 6 .
Figure 6.Left, front and right obstacle distance.

Figure 7 .
Figure 7. Membership functions for the LV and RV of OAFLC.

Figures 9
Figures 9 and 10 illustrate the path performed by the mobile robot Scout-II to reach the target.The generated path to the target is relatively smooth.Notice that the robot turns gradually first toward the intermediate point and secondly towards the target.The robot speed varies with respect to its angle velocity as defined by the fuzzy logic controller.Note that this data are generated using a dead-reckoning algorithm.As mentioned in[1], when the speed of the mobile robot is slow, the algorithm provides accurate position and orientation for the robot.