In this paper, a fuzzy logic controller is designed for a DC motor which can be used for navigation control of mobile robots. These mobile robots can be used for agricultural, defense and assorted social applications. The robots used in these fields can reduce manpower, save human life and can be operated using remote control from a distant place. The developed fuzzy logic controller is used to control navigation speed and steering angle according to the desired reference position. Differential drive is used to control the steering angle and the speed of the robot. Two DC motors are connected with the rear wheels of the robot. They are controlled by a fuzzy logic controller to offer accurate steering angle and the driving speed of the robot. Its location is monitored using GPS (Global Positioning System) on a real time basis. IR sensors in the robot detect obstacles around the robot. The designed fuzzy logic controller has been implemented in a robot, which depicts that the robot could avoid obstacle as well as perform its operation efficiently with remote online control.
1. Introduction
Navigation system is used to guide the robot towards the target point without any collision with obstacles. These robots have provided solutions to complex tasks such as planetary or underwater exploration
[1
,
2]
operation in urban environments
[3]
and unmanned flight
[4]
which were considered only achievable by humans. In each of the above fields, remote navigation plays a vital role in the success of the robots.
DC motors can be used for navigation and steering control of mobile autonomous robots. DC motor drives have occupied a wide spectrum of applications in industries. DC motors are used in machine tools, printing presses, conveyors, fans, pumps, hoists, cranes, paper mills, textile mills, rolling mills and robots. Small DC motors are used primarily as control devices and servo motors for positioning and tracking. Separately excited DC motor finds many applications in industries where precise speed control over wide range is required. DC motor drives are highly controllable and are used in many applications such as robotic manipulators, position control, steel mining and paper and textile industries.
Fuzzy logic techniques have been used in many mobile robot navigation, since the traditional solutions for path planning and navigation have failed for complicated environments
[5
,
6]
. Joo et al.
[7]
have designed an approach to build multiinput and singleoutput fuzzy models. Genetic algorithm hybrid scheme is used to define the parameters of fuzzy implications and to minimize mean square errors. The proposed approach has also been applied to construct a fuzzy model for the navigation control of a mobile robot using DC motors.
Fraichard and Garnier
[8]
have presented motion control architecture for a carlike vehicle planned to move in dynamic and partially known environments. They have used fuzzy logic technique, whose major component is a set of fuzzy rules encoding the reactive behavior of the vehicle. They have successfully navigated the carlike vehicle with use of fuzzy logic technique.
Huq et al.
[9]
have proposed a novel approach to combine motor schema and fuzzy context dependent behavior modulation for mobile robot navigation. Their approach eliminates 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.
S.K. Pradhan et al.
[10]
have developed fuzzy logic controllers for navigation of multiple mobile robots in presence of static and moving obstacles. Their proposed approach extracts set of fuzzy rules from a set of trajectories provided by human and to help the robot to avoid obstacles and find targets. They have connected two motors to two rear wheels and the speeds of the wheels are being controlled by the motor controller interface.
N.S. Kumar et al.
[11]
have designed a low cost universal artificial neuron controller for chopper fed embedded DC drives. The designed neuron controller is trained with the patterns obtained from the conventional controller. The closed loop operation is simulated with the trained neural network to achieve the desired performance.
General PI and PID controllers are widely used for motor control applications. But they do not give satisfactory results when control parameters, loading conditions and the motor itself are changed. The fuzzy logic controller (FLC) can be designed without the exact model of the system. This approach of FLC design guarantees the stable operation even if there is a change in the parameters and the motor
[12

15]
.
In this paper, a fuzzy logic controller is designed for the online speed control of DC motors which are used for navigation and steering control of remote controlled robots. This task is carried out by specifying a set of rules taking into account the different speeds of a motor. For this purpose the input to the FLC are set speed value and the error produced by the comparison of set speed and actual speed values. The output from FLC is duty cycle of the converter switch. Thus by controlling the duty cycle of the converter switch, the input supplied to the motor is changed and its speed is controlled. IR sensor is employed to detect the obstacle. The sensor status is transmitted to the remote client system from robot through internet. The status of IR sensor helps for path planning and changing the direction of robot.
2. Proposed Approach
Fig. 1
shows the Internet based control setup of the proposed system. The Robot is treated as server system with internet connection and is assigned static IP address. The client system can be any PC with internet connection.
Internet Based Control Setup
Fig. 2
shows the block diagram of the control system for motors. The system consists of Hbridge converter for driving the separately excited DC Motor in both forward and reverse direction. The performance of DC drive will be based on the choice of controllers. The designed closed loop control has two loops. One is outer speed control loop and another one is inner current control loop. In outer speed control loop, the motor speed is sensed by a speed sensor and fed back to the microcontroller unit. In the microcontroller unit the sensed speed signal is compared with set speed. After comparison, error signal is calculated and this error and set speed are given as input to fuzzy controller. The fuzzy controller will attempt to reduce the error to zero by changing duty cycle of switching signal. Similarly the actual input current of the motor is compared with the reference current using a comparator. This comparator output is multiplied with fuzzy controller output. Thus the duty cycle of switching signal is controlled to achieve the desired speed and current of the motor
[16
,
17]
. Initially, LabVIEW model of the DC motor and the Hbridge converter was developed and simulated to verify the design and its functioning.
Block Diagram of the proposed motor control system
When the IR sensor senses the obstacles the set speed of the motors are changed by the control logic to stop its movement towards the obstacle. If the direction given by the remote client is left then the set speed value of left motor will be zero and right motor will be high and vice versa for right direction. When no obstacle is sensed the equal value of set speed is given to both the DC motors and the forward movement is achieved. Thus the steering angle and speed control of the robot is achieved using fuzzy controller.
A fuzzy controller was designed by using the fuzzy logic toolbox and then the closed loop operation was simulated. The speed control loop was simulated and the FLC was tuned to achieve the desired performance. The designed FLC was then implemented in a microcontroller. By using the programmed microcontroller the robot’s speed and steering angle is controlled.
3. Mathematical Model of DC Motor and Hbridge Converter
The motor and Hbridge converter are designed and simulated using equation models.
 3.1 Mathematical model of DC motor
The DC motor has been modeled using the following equations by state space modeling technique.
Where

J ‐ Moment of Inertia of the motor (kg m2)

B ‐ Friction coefficient of the motor (Nm/rad/sec)

Kt‐ Torque constant of the motor (Nm/A)

Kb‐ Motor back emf constant (V/rad/sec)

ia‐ Armature current (A)

Va‐ Armature voltage applied (V)

Ra‐ Armature resistance (ohms)

La‐ Armature inductance (mH)
The state space model of the DC motor is obtained by choosing i
_{a}
, ω and θ as state variables.
On substituting the state variables for physical variables in the above equations
On arranging the state equations in the matrix form
The desired output variables i
_{a}
, ω and θ are equated to standard notations y
_{1}
, y
_{2}
, y
_{3}
.
On relating the outputs to the state variables we get,
Therefore the output equation in the matrix form is
The state Eq. (6) and the output Eq. (7) together constitute the state model of the armature controlled DC motor. Based on the above state equations the DC motor can be simulated using LabVIEW as shown in
Fig. 3
.
Block diagram of Simulated DC motor in LabVIEW
 3.2 HBridge converter
Hbridge is an electronic circuit that enables a voltage to be applied across a load in either direction. These circuits are used in robot applications to allow DC motors to run forward and backward directions. An H bridge is built with four switches either solidstate or mechanical switches. The Hbridge circuit structure is shown in
Fig. 4
. If switch 1 and switch 4 are turned on means the motor will rotate in forward direction, if switch 2 and switch 3 are turned on means the motor will rotate in reverse direction. Thus by switching the switches in proper sequence, we change the direction of the motor.
Structure of HBridge circuit
The Hbridge converter is modeled using the following equations. Mode 1 is when the switch 1 and switch 4 are ON and Mode 2 is when the switch 2 and switch 3 are ON.
Mode 1: (When switch 1 and switch 4 are ON)
Mode 2: (When switch 2 and switch 3 are ON)
The above two modes of the Hbridge converter is averaged using the fact that the switch 1 and switch 4 are turned on for a period of (D x Ts) over the switching period Ts, where D is the duty cycle. The small signal model is formulated by assuming perturbations
,
in the steady state values of supply voltage V
_{s}
and the Duty cycle respectively. Hbridge converter fed DC drives small signal model is given by the equations
Considering duty cycle
as control signal and speed
(s) as the output signal, the motor speed transfer function is calculated as
From the above equation, the speed gain is given by
Similarly, when the supply voltage is kept constant, the current gain is given by
So under the assumed conditions the final transfer function of the Hbridge converter fed DC motor is calculated as in Eq. (17).
4. Design of Conventional PID Controller
The conventional PID control schemes are employed by more than half of the industrial controllers in use today. Because these controllers can be adjusted on site, many different types of tuning rules have been proposed. In the proposed system the PID controller is designed for speed control of a DC motor and tuned using Ziegler Nichols method. The transfer function of the DC motor is derived from the state model of the armature controlled DC motor using the following equation
On substituting the values of A, B, C and D in Eq. (18), the required speed controller transfer function is obtained in the form of Eq. (19).
For the above Transfer function the PID controller is designed and tuned using Ziegler Nichols method. The tuned values of control parameters are as follows.

Proportional gain Kc= 3.89;

Integral Time Ti=0.0280minutes;

Derivative Time Td=0.000771 minutes.
5. Fuzzy Logic Control
The control algorithm of a process that is based on fuzzy logic is defined as fuzzy control. The controller which uses control based on fuzzy logic is called as fuzzy controller. Fuzzy logic, unlike boolean or crispy logic deals with Vagueness, uncertainty, qualitativeness
[18]
. It tends to mimic human thinking which is fuzzy in nature. In conventional set theory, based on boolean logic a particular object or a variable is a member of a given set then its membership value is logic 1, or if it is not a member of a given set then its membership value is logic 0. But in fuzzy set theory based on fuzzy logic, a particular object has a degree of membership in a given set that may be anywhere in the range of 0 to 1.
In the proposed work, the robot has two DC motors that are connected with rear wheels. It has IR sensor to detect obstacles and to measure the distance between the obstacles and the robot. Control logic is developed to decide the direction of robot movement based on the obstacle distance and to change the speed of the DC motors according to the direction decided. This control logic is implemented using two fuzzy logic controllers. One is used to decide the direction and the other one is used to control the navigation speed of the robot by changing the motor speed.
 5.1 Fuzzy mechanism for robot steering control and navigation control
The direction (obstacle avoidance) fuzzy logic controller has three inputs and two outputs. The inputs are left sensor distance (LSD), front sensor distance (FSD), right sensor distance (RSD) and the outputs are left motor speed (LMS) and right motor speed (RMS). Each input uses three linguistic variables like near, medium and far. Similarly each output uses the seven linguistic variables like VVL (Very very low), VL (Very low), L (Low), LL (Little low), M (Medium), N (Normal), and H (High).
The input to the navigation control fuzzy logic controller has two inputs and one output. The inputs are error value, set speed and the output is duty cycle. The fuzzy input error uses seven linguistic variables like NB (Negative big), NM (Negative medium), NS (Negative small), Z (Zero), PS (Positive small), PM (Positive medium) and PB (Positive big). The set speed input also uses seven linguistic variables like VVL (Very very low), VL (Very low), L (Low), LL (Little low), ML (Medium low), N (Normal), and H (High). The duty cycle output uses eight linguistic variables like VVL (Very very large), VL (Very large), L (Large), LL (Little large), ML (Medium large), N (Normal), S (Small) and Z (Zero). The rule tables are given in
Tables 1
and
2
.
Rule Table for Navigation Control
Rule Table for Navigation Control
Rule table for Steering angle control
Rule table for Steering angle control
The control rules for direction fuzzy controller are defined as follows:
Where i=13, j=13, k=13, l=13 and m=13 because LSD, FSD, RSD, LMS and RMS have ‘3’ membership functions each.
The symbolic expression for the control rules of fuzzy controller are defined as follows:
Where LSD
^{(k)}
, FSD
^{(k)}
, RSD
^{(k)}
are linguistic values from the term sets
From expression (19) two example rules can be written as
The meaning of the above two rules in terms of mtype implication is given as a fuzzy relation R
^{(k)}
defined on LSD x RSD x FSD x LMS x RMS.
For all LSD, RSD, FSD, LMS
from the above two fuzzy relation (23) & (24) the membership values of the left motor and right motor speed can be written as follows:
Where each of the μ
_{R}
^{(K)}
is defined in Eq. (23) & (24) for the left side motor and right side motor respectively.
The crisp values for left motor speed and right motor speed are computed using center of Area method. The motor speeds are given by
6. Hardware Implementation
The developed fuzzy logic controller has been implemented in a robot as shown in
Figs. 5(a)
and
5(b)
. Two tested 12V DC motors were connected with left wheel and right wheel of the robot and they are controlled by fuzzy logic controller. The fuzzy controller has been implemented practically using 16f877A PIC controller. An Hbridge converter IC L293D was used as driver circuit and the fuzzy controller with the Hbridge converter was tested on the DC motor. The DC motors are supplied by 12V, 1.3AH valve regulated lead acid battery. A tachogenerator was used to sense the speed and to achieve closed loop control. Proximity IR sensors have been connected in left, right and front portions of the robot to detect and to avoid obstacles. Robot’s location is monitored using GPS (Global Positioning System) on a real time basis.
Top view of Robot with developed fuzzy logic controller
Bottom view of Robot with developed fuzzy logic controller
Communication between the robot (server) and the remote control (client) is achieved by DataSocket protocols available in the LabVIEW. DataSocket is a single, unified, enduser application programming interface (API) for connecting data from a number of sources  local files, files on FTP or Web servers, and data items on OPC(open process control) servers
[19]
. A DataSocket application specifies the data location by using a familiar networking standard, the URL. Just as a Web browser uses a URL to connect to a Web page, a DataSocket application uses a URL to connect to data. By using an industrystandard URL, we can quickly and easily bring data into or share data from our DataSocket applications. In addition, the DataSocket Transfer Protocol connects a DataSocket application to live data by specifying a connection to a DataSocket Server. The DataSocket Server manages most of the networking tasks.
7. Simulation and Results
Hbridge converter fed DC motor simulation was done based on state equations using LabVIEW software. The simulated models are shown in
Figs. 6

8
and
9
. The simulation was done for an Hbridge converter fed DC motor with the designed PID controller and fuzzy logic controllers. The system with the developed fuzzy controller and PID controller was implemented with two 12V DC motors in a robot.
Block Diagram of the simulated PID control system for motor speed control
Block Diagram of the simulated fuzzy logic control system for motor speed control
Block Diagram of the simulated steering angle control system
Block Diagram of the simulated Client system
The control logic of developed controllers were implemented in the embedded system and downloaded in to the flash memory of the microcontroller using in system programming technique. By using these controllers two 12V DC motors speeds are controlled to the reference speed value of 10 rpm with various loaded conditions and measured values are plotted in the graph. The experimental results produced by the PID controller are shown in
Figs. 10

12
and the results produced by the fuzzy logic controllers are shown in
Figs. 13
,
14
and
15
.
Graph of PID controller based Robot’s left motor and right motor speed values when it moves in forward direction with the reference speed value of 10 rpm
Graph of PID controller based Robot’s left motor and right motor speed values for the reference speed value of 10 rpm and step change in load torque from 0to 50 % of rated torque applied at 150 s
Graph of PID controller based Robot’s left motor and right motor speed values for the reference speed value of 10 rpm and step change in load torque from 0 to 100 % of rated torque applied at 150 s
Graph of Fuzzy logic controller based Robot’s left motor and right motor speed values when it moves in forward direction with the reference speed value of 10 rpm
Graph of Fuzzy logic controller based Robot’s left motor and right motor speed values when it moves in forward direction with the reference speed value of 10 rpm and step change in load torque from 0 to 50 % of rated torque applied at 150 s
Graph of Fuzzy logic controller based Robot’s left motor and right motor speed values when it moves in forward direction with the reference speed value of 10 rpm and step change in load torque from 0 to 100 % of rated torque applied at 150 s
Based on the experimental results, the timeresponse specifications of fuzzy logic controller and the PID controller are given in
Table 3
.
Timeresponse specifications
Timeresponse specifications
8. Conclusion
The timeresponse specifications of the experimental results show that the fuzzy logic controller performance is better in respect of steady state error and settling time. The speed regulation for various loaded conditions of PID controllers compared with fuzzy logic controller. Theexperimental results of PID controller and fuzzy logic controller confirm that the fuzzy logic controller provides better dynamic response and can be used for achieving navigation, steering control of various robots using DC motors. It has been seen that by using the proposed fuzzy logic controller and online control technique the robot is able to avoid any obstacles, escape from dead ends and travel in the planned direction.
BIO
K. Prema She received her B.E. degree in Electronics and Instrumentation Engineering from Madurai Kamaraj University, Madurai in 2002 and M.E. degree in Power Electronics and Drives from Anna University, Chennai in 2004. She has published three papers in International Journals and five International conference papers. Her field of interests mainly concerned with Power Electronics and Drives, Intelligent controllers and Control System.
N. Senthil Kumar He obtained his B.E. degree in Electronics and Communication Engineering from Madurai Kamaraj University, Madurai, in 1988, M.E. degree in Electronics Engineering from Anna University, Chennai, in 1991 and Ph.D. in Electronics and Computer Science engineering from Manonmaniam Sundaranar University, Tirunelveli in 2008. He has published a paper in National Journal and eight papers in International Journals. His interests include intelligent control, fuzzy logic and neural networks. Dr. N. Senthil Kumar is a member of Institutions of Engineers, System Society of India and Indian Society for Technical Education.
Subhransu Sekhar Dash He received his B. Tech. degree in Electrical Engineering from Institution of Engineers (India), Kolkata in 1994, M. Tech. degree in Power Systems Engineering from Sambalpur University, Orissa in 1996 and Ph.D. in Electrical Engineering from Anna University, Chennai in 2006. He has published more than twenty papers in National and International Journals. His field of interests mainly concerned with Power Electronics and Drives, Power quality issues, FACTS and AI techniques.
Helmick D. M.
,
Roumeliotis S. I.
2006
“Slipcompensated path following for planetary exploration rovers”
Advanced Robotics
20
(11)
1257 
1280
DOI : 10.1163/156855306778792470
Kunz C.
,
Murphy C.
2008
“Deep sea underwater robotic exploration in the ice covered Arctic Ocean with AUVs”
IEEE/RSJ International Conference on INTELLIGENT ROBOTS AND SYSTEMS
Bohren J.
,
Foote T.
2008
“Little Ben: the Ben Franklin racing teams entry in the 2007 Darpa urban challenge”
Field Robotics Research
25
588 
614
Fabiani P.
,
Fuertes V.
2007
“Autonomous flight and navigation of VTOL UAVs : From autonomy demonstrations to outofsight flights”
Aerospace Science and Technology
11
183 
193
DOI : 10.1016/j.ast.2006.05.005
Latombe J.C.
1991
“Robot Motion Planning”
Kluwer Academic Publishers
Boston, MA, USA
Joo Y.H.
,
Hwang H.S.
,
Kim K.B.
,
Woo K.B.
1997
“Fuzzy system modeling by fuzzy partition and GA hybrid schemes”
Fuzzy Sets and Systems
86
(3)
279 
288
DOI : 10.1016/S01650114(95)004149
Fraichard T.
,
Garnier P.
2001
“Fuzzy control to drive carlike vehicles”
Robotics and Autonomous Systems
24
1 
22
Huq R.
,
Mann G.K.I.
,
Gosine R.G.
2008
“Mobile robot navigation using motor schema and fuzzy context dependent behavior modulation”
Applied Soft Computing
8
(1)
422 
436
DOI : 10.1016/j.asoc.2007.02.006
Pradhan S. K.
,
Parhi D. R.
,
Panda A. K.
2009
“Fuzzy logic Techniques for navigation of several mobile robots”
Applied Soft Computing
9
290 
304
DOI : 10.1016/j.asoc.2008.04.008
Kumar N. S.
,
Sadasivam V.
,
Sukriya H.M.A.
,
Balakrishnan S.
2008
“Design of low cost universal artificial neuron controller for chopper fed embedded DC drives”
Applied Soft Computing
8
1637 
1642
DOI : 10.1016/j.asoc.2008.01.001
Raviraj V.S.C.
,
Sen P.C.
1997
“Comparative study of proportionalintegral, sliding mode, and fuzzy logic controllers for power converters”
IEEE Transactions on Industry Applications
33
(2)
518 
524
DOI : 10.1109/28.568018
Senthil Kumar N.
,
Sadasivam V.
,
Asan Sukriya H. M.
2008
“A Comparative Study of PI, Fuzzy, and ANN Controllers for Chopperfed DC Drive with Embedded Systems Approach”
Electric Power Components and Systems
36
(7)
680 
695
DOI : 10.1080/15325000701881944
Erickson R.W.
1997
“Fundamentals of Power Electronics”
Chapman & Hall
Senthil Kumar N.
,
Sadasivam V.
,
Prema K.
2004
“Design and Simulation of Fuzzy Controller for closed loop control of chopper fed embedded DC drives”
International Conference on POWER SYSTEM TECHNOLOGY  POWERCON2004
Singapore
2124 November, 2004
Krein P.T.
2001
“Elements of Power Electronics”
Oxford University Press
Rashid M.H.
1993
Devices and Applications
2nd ed.
PrenticeHall
“Power Electronics Circuits”
Ross Timothy J.
2010
“Fuzzy Logic with Engineering Applications”
John wiley & sons Ltd
NI documentation and help files