Wall Follower Autonomous Robot Development Applying Fuzzy Incremental Controller ()
1. 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-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 imposed 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-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.
2. Related Work
Voluminous literature exists on the subject of mobile 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.
3. Methodology
3.1. 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 (axis). The robot exhibits preferential rolling motion in one direction (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.
3.2. 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. 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, 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:
Figure 2. The model of the mobile robot.
(1)
(2)
where, r is the radius of the wheel. and is angular velocity of the right and left wheels respectively. and 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 and its orientation changed with respect to time can be calculated using the following equations.
(3)
(4)
(5)
(6)
(7)
Integrating Equations (5) and (6), and taking the initial positions to be and with initial orientation yields:
(8)
(9)
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).
(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:
(11)
Equations (3) and (11) are extended to be:
(12)
3.3. 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 and. Variable D is calculated through the following equations:
(13)
(14)
Using Pythagorean Theorem, relationship between and sensors reading is represented as Figure 5.
The develop controller is required to be back fed with the values of 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.
Figure 4. Wall geometry and sensors model.
(15)
(16)
Let consider that, is very small and L is , the Equations (15) and (16) become:
(17)
(18)
The angle error, distance error and total error are evaluated based on the distance between the robot and the wall which represented by Equations (19)-(21).
(19)
(20)
(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.
(22)
(23)
3.4. 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 IFTHEN 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.
Input and output variables of FIC assumed have triangular membership function. Input variables are S1 and S2 (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 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 Tables 1 and 2.
4. 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.