Wall Follower Autonomous Robot Development Applying Fuzzy Incremental Controller

This paper presents the design of an autonomous robot as a basic development of an intelligent wheeled mobile robot for air duct or corridor cleaning. The robot navigation is based on wall following algorithm. The robot is controlled us-ing fuzzy incremental controller (FIC) and embedded in PIC18F4550 microcontroller. FIC guides the robot to move along a wall in a desired direction by maintaining a constant distance to the wall. Two ultrasonic sensors are installed in the left side of the robot to sense the wall distance. The signals from these sensors are fed to FIC that then used to determine the speed control of two DC motors. The robot movement is obtained through differentiating the speed of these two motors. The experimental results show that FIC is successfully controlling the robot to follow the wall as a guidance line and has good performance compare with PID controller.


Introduction
Wheeled robots are mechanical devices capable of moving in an environment with a certain degree of autonomy.Autonomous navigation is associated to the availability of external sensors that get information of the environment through visual images or distance or proximity measurements.The most common sensors are distance sensors (ultrasonic, laser, infrared, etc) able to detect obstacles and measure the distance to walls close to the robot path.When advanced autonomous robots navigate within indoor environments (industrial or civil buildings), they have to be endowed the ability to move through corridors, to follow walls, to turn corners and to enter open areas of the rooms [1][2][3][4].The degree of a mobile robot ability to move around autonomously in its environment determines its best possible application such as tasks that involve transportation, exploration, surveillance, inspection, etc.
In attempts to formulate approaches that can handle real world uncertainty, researches are frequently faced with the necessity of considering tradeoffs between developing complex cognitive systems that are difficult to control.Furthermore, they adopt a host of assumptions that lead to simplified models which are not sufficiently representative of the system or the real world.The latter option is a popular one which often enables the formulation of viable control laws.However, these control laws are typically valid only for systems that comply with im-posed assumptions, and furthermore, only in neighborhoods of some nominal state.Recent research and application employing non-analytical methods of computing such as fuzzy logic, evolutionary computation, and neural networks have demonstrated the utility and potential of these paradigms for intelligent control of complex systems.In particular, fuzzy logic has proven to be a convenient tool for handling real world uncertainty and knowledge representation [3,[5][6][7].When a mobile robot is designed, the three key questions that need to be answered by the robot are: (Where am I, Where am I going, and how do I get there).
So that, to reach these three answers the robot has to have a model of the environment.After that it needs to perceive and analyze the environment to find its position within the environment.The plan and execution of the movement will then be finally defined by its control method.Most of the current practical robot technology in industries is focused on areas such as positioning, teaching-playback, and two-dimensional vision [8].
The first section of this paper gives introduction about mobile robot development.The second section explains related work with this paper.The third section gives insight into the methodology to develop a wall follower mobile robot.robotics motion control development.It is a heavily researched area due to both the challenging theoretical nature of the problem and its practical importance.Previous work in autonomous mobile robot control generally involves line following, wall following, path tracking control, and so on.
In order to follow a wall and navigate, image processing techniques can be used to detect perspective lines to guide the robot along the centre axis of the corridor.This technique requires cameras that can be expensive.Previous work in autonomous mobile robot control generally involves path planning and path tracking control.It can be classified into the following four categories: linear [9,10], nonlinear [11,12], geometrical [13], and intelligent [3,13] approaches.Using two switches on the left of the robot to follow left wall and a bumper switch to detect an obstruction in front is suggested in [6,7].A genetic algorithm using Fuzzy Logic Controller is developed in [14].A multivariable control and ultrasonic range finders for the measurement of a distance are being used for wall tracking robot in [15].A Fuzzy Logic Controller is used to drive a robot parallel to the wall with the help of ultrasonic sensors in [16].In this paper fuzzy incremental controller (FIC) is applied to improve the performance of wall follower robot with input from ultrasonic sensors.

Robot Movement Principle
The autonomous robot is modeled as a rigid body that satisfies a nonholonomic constraint, which means the motion of the system is not completely free.They are in which the instantaneous velocities of system components are restricted, thereby limiting the local movement of the system.This means that the mobile robot cannot move sideways and based on the principle of a rolling wheel.Figure 1 shows an idealized rolling wheel [17].The wheel is free to rotate about its axis ( w Y axis).The robot exhibits preferential rolling motion in one direction ( w X axis) and a certain amount of lateral slip.For lower velocities, rolling motion is dominant and slipping can be neglected.
Where, r = wheel radius, V = wheel linear velocity and ω = wheel angular velocity.In this case, some assumptions as below are used. No slip occurs in the orthogonal direction of rolling (non-slipping). No translation slip occurs between the wheel and the floor (pure rolling). At most one steering link per wheel with the steering axis perpendicular to the floor.

Robot Model
Deriving a model for the whole robot's motion is a bottom-up process.Each individual wheel contributes to the robot's motion and, at the same time, imposes constraints on robot motion.Wheels are tied together based on robot chassis geometry, and therefore their constraints combine to form constraints on the overall motion of the robot chassis.Other case the forces and each wheel constraints must be expressed with respect to a clear and consistent reference frame.The develop robot is a two-wheeled mobile robot (Differential Drive) whose position is defined by three Coordinates (3 DOF) in a plane   , , x y  .
where, r is the radius of the wheel.Right

 and Left
 is angular velocity of the right and left wheels respectively.R  and R  are the velocity and angular velocity of the robot respectively.The total linear and angular speed of the robot can be calculated as Equations ( 3) and ( 4).In order to specify the position of the robot on the plane, a relationship between the global reference frame of the plane and the local reference frame of the robot are established as in Figure 3 [9,10].The robot in a state of motion must always rotate about a point that lies somewhere on the common axis of its two wheels.This point is often called the Instantaneous Centre of Curvature (ICC).The robot's coordinates   Integrating Equations ( 5) and ( 6), and taking the initial positions to be x x    0 0 and y y  with initial orientation 0  yields: From the Equations ( 5)-( 7), the kinematic model of the mobile robot with two independently driving wheels can be represented in Cartesian model as Equation (10).
where, x and y are position variables,  is a heading direction angle (yaw angle), and   ,     are the forward velocity and the rotational velocity (angular velocity) of the robot, respectively [12].

 
The position and the orientation of the autonomous robot are determined by a set of differential equations below: Equations ( 3) and ( 11) are extended to be:

Wall Geometry and Robot Motion Model
In case of a different set of state is considered, it is possible to use the corridor navigation controller to enable the robot to follows a wall.This possibility is based on two tasks and very similar to each other.Where, the state are defined in relation to the wall as  and D.  is the angular deviation relative to the wall line and D is the distance of the robot from an imaginary line at a desired distance from the wall as represented in Figure 4 [10,18].Two ultrasonic sensors are mounted in left side of robot and named as 1 and 2 .Variable D is calculated through the following equations: Using Pythagorean Theorem, relationship between  and sensors reading  

S S  1 2
The develop controller is required to be back fed with the values of is represented as Figure 5.
 and D at each instant.These values can be primarily obtained from ultrasonic measurements.For this case, the following Equations ( 15) and ( 16) can use to calculate the state variables.Copyright © 2013 SciRes.
Let consider that,  is very small and L is , the Equations ( 15) and ( 16) become: The angle error  E  , distance error d and total error are evaluated based on the distance between the robot and the wall which represented by Equations ( 19)- (21).
The right and the left angular velocity of each wheel are calculated using the following equation respect to the initial speed of each wheel  . (23)

Fuzzy Logic Controller
Fuzzy logic is based on the principle of human expert decision making in problem solving mechanism.Where, the solution is described in a linguistic term or every spoken language, i.e., fast, slow, high, low, etc. [19,20].
In more complex cases, they include some hedge terms, i.e., very high, not so low, etc.To represent such terms, a nonmathematical fuzzy set theory is needed.
Figure 6 shows the block diagram of fuzzy logic that consist four components: Fuzzification, Fuzzy rule based, Fuzzy inference and Defuzzification.
The design of fuzzy logic controller generally has the following step: 1) Design the membership function for fuzzification input and output variables.
2) Implement the fuzzy inference by a series of IF-THEN rules.
3) Inference engine derives a conclusion from the facts and rules contained in the knowledge base using various human expert techniques.
4) Process to maps a fuzzy set into a crisp set.Fuzzy Incremental Controller (FIC) has main advantage that is smooth in signal control [21], therefore, it has been applied in this paper.Fuzzy Incremental Controller (FIC) as in Figure 7 has been developed to control wall follower robot.It has two input and two output variables.Generating the rules for fuzzy control system is often the most difficult step in the design process.It usually requires some expert knowledge of the plant dynamics.This knowledge could be in the form of an intuitive understanding gained from experimenting, or it could come from a plant model which is then used in a computer simulation.Rule tabulation of each variable for wall follower robot is represented as in Tables 1 and 2.

Robot Construction
Figure 12 shows the physical construction of the wall follower robot developed respectively.It has two wheels on either side of its chassis.Each of these wheels has a separate DC motor.These motors run independently from each other with the help of PWM signals generated by the PIC18F4550 Microcontroller, and a driver IC SN 754410.Moreover, a caster wheel is used in to balance the entire chassis.The robot measures the distance from a wall on its left side.Two ultrasonic sensors are installed on the left side to aid in following a wall.

Controller Experimental Result
In this paper three kinds of controller have been applied for wall follower robot, they are fuzzy incremental controller (FIC), proportional differential (PD) controller and proportional integral and differential (PID) controller.Four graphs from each of controller responses are compared.First is Cartesian space, second is theta position of the robot, third is left back sensor response and finally is                  compared with the other controllers.
The parameters response comparisons of each controller are listed in Table 3.

Conclusion
The wall following control of the autonomous robot has

Figure 2 Figure 2 .Figure 3 .
Figure 2 below shows a two-wheeled robot, where P is the motion center of the autonomous robot and the gravity centre of the platform.Where,   , x  y  represents linear speed or tangential velocity and  is the angular velocity.Kinematics is the study of the mathematics of motion without considering the forces that affect the motion.It deals with the geometric relationships that govern the system.It develops a relationship between control parameters and the behavior of a system in space.The model of the robot is as shown in Figure 3.The linear speed of the right and the left wheel are related to the angular speed as follows:   Right Left ,  


changed with respect to time can be calculated using the following equations.

Figure 6 .
Figure 6.Fuzzy logic block diagram.Input and output variables of FIC assumed have triangular membership function.Input variables are S 1 and S 2 (feedback sensor's reading) and each of them have been assigned three linguistic values as Near (N), Desired (D) and Far (F).The controller output is used to control the change in angular velocity of the right and left wheel of the robot.The changes in angular velocities of the two wheels   ,   Right Left have linguistic values: Slow (S), Medium (M) and Fast (F).The membership functions graphs of FIC develop are shown in Figures 8-11.The triangular membership functions are used for their simplicity is quite commonly applied.Generating the rules for fuzzy control system is often the most difficult step in the design process.It usually requires some expert knowledge of the plant dynamics.This knowledge could be in the form of an intuitive understanding gained from experimenting, or it could come from a plant model which is then used in a computer simulation.Rule tabulation of each variable for wall follower robot is represented as in Tables1 and 2.

Figure 7 .
Figure 7. FIC of wall follower robot block diagram.

Figure 11 .
Figure 11.Membership function of ω Left .figures are in time unit (second).The experimental results are as Figures 13-24: figures are in time unit (second).The experimental results are as Figures13-24:

Figure 15 .
Figure 15.Left back sensor response of robot under FIC.

Figure 16 .
Figure 16.Left front sensor response of robot under FIC.

Figure 18 .
Figure 18.Theta position of robot under PD. , x and y position as a whole.Besides that, FIC also produces lower overshoot for the motion and position of the robot in the orientation curve.Then the robot able to achieve reference position from the wall in short time

Figure 19 .
Figure 19.Left back sensor response of robot under PD.

Figure 20 .
Figure 20.Left front sensor response of robot under PD.

Figure 22 .
Figure 22.Theta position of robot under PID.

Figure 23 .
Figure 23.Left back sensor response of robot under PID.

Figure 24 .
Figure 24.Left front sensor response of robot under PID.
ultrasonic sensors.The sensor data are used to measure and obtain the distance and orientation of the robot.Then, these data are utilized in the feedback controller.The FIC algorithm has been embedded in PIC18F4550 microcontroller for controlling the wall follower robot.The FIC responses good performance compared to PD and PID controller.The experimental results show the FIC controller gives lowest overshoot, shortest settling time and smallest error than PD and PID controller.It means FIC controller more suitable to be used in controlling wall follower robot.