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  and unmanned flight  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.  have designed an approach to build multi-input and single-output 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  have presented motion control architecture for a car-like 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 car-like vehicle with use of fuzzy logic technique.
Huq et al.  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.  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.  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.
Fig. 1.Internet Based Control Setup
Fig. 2 shows the block diagram of the control system for motors. The system consists of H-bridge 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 H-bridge converter was developed and simulated to verify the design and its functioning.
Fig. 2.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 H-bridge Converter
The motor and H-bridge 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.
WhereJ ‐ 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 ia, ω 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 ia, ω and θ are equated to standard notations y1, y2, y3.
On relating the outputs to the state variables we get,
y1 = x1; y2 = x2; y3 = x3
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.
Fig. 3.Block diagram of Simulated DC motor in LabVIEW
3.2 H-Bridge converter
H-bridge 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 solid-state or mechanical switches. The H-bridge 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.
Fig. 4.Structure of H-Bridge circuit
The H-bridge 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 H-bridge 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 Vs and the Duty cycle respectively. H-bridge 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 H-bridge 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 . 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.
Table 1.Rule Table for Navigation Control
Table 2.Rule table for Steering angle control
The control rules for direction fuzzy controller are defined as follows:
Where i=1-3, j=1-3, k=1-3, l=1-3 and m=1-3 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 m-type 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 H-bridge converter IC L293D was used as driver circuit and the fuzzy controller with the H-bridge 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.
Fig.5a.Top view of Robot with developed fuzzy logic controller
Fig. 5b.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, end-user 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 . 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 industry-standard 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
H-bridge 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 H-bridge 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.
Fig. 6.Block Diagram of the simulated PID control system for motor speed control
Fig. 7.Block Diagram of the simulated fuzzy logic control system for motor speed control
Fig. 8.Block Diagram of the simulated steering angle control system
Fig. 9.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.
Fig. 10.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
Fig. 11.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
Fig. 12.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
Fig. 13.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
Fig. 14.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
Fig. 15.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 time-response specifications of fuzzy logic controller and the PID controller are given in Table 3.
Table 3.Time-response specifications
The time-response 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.