Labview Based Autonomous Agricultural Robot Using Fuzzy Logic Controller

This study proposes a LabVIEW based autonomous agricultural robot which can be used for ploughing. The control logic is designed using fuzzy logic controller to operate the robot in autonomous mode. The robot can also be controlled from a remote place using internet and its position is monitored using Global Positioning System (GPS), Data Socket protocol and Wi-Fi connection. Two DC motors are used to achieve movement control of the robot and they are controlled by the designed fuzzy logic controller. This control logic has two loops. One is outer speed control loop and the other one is inner current control loop. Based on the present position of the robot, the reference speed value is generated and based on this reference speed value the movement of an agricultural robot is controlled. Laboratory Virtual Instrument Engineering Workbench (LabVIEW) is a graphical programming environment suited for system-level design. This LabVIEW software enables complex and expensive equipment to be replaced by simpler and less expensive hardware. The primary difference between natural instrumentation and virtual instrumentation is the software component of the virtual instrument.


INTRODUCTION
Remote real-time control of processes is receiving considerable attention in the academic and industrial communities.Various technologies are developed to perform the remote real-time control using Internet based technology.LabVIEW is one of the well-known software packages used in process control applications (Basher and Isa, 2005;Jerome et al., 2005;Prema et al., 2013).LabVIEW uses various protocols such as TCP/IP, Data Socket that allow remote control using Internet.Several universities have developed Internet based process control laboratories for distance education using LabVIEW and its communication protocols (Prema et al., 2009).Researchers at the Fort valley State University studied LabVIEW's Internet capabilities.A remoteaccess control experiment laboratory was developed at the Chinese university of Hong Kong, which allows users to perform control experiments over the Internet.The research identified the advantages and disadvantages of this technology.
DC motors are used in control applications especially robotics motion control (Gotou et al., 2003;Ibrahim and Spark, 2007;Kim et al., 1997).The speed of the DC motor is normally controlled by varying armature voltage and flux.In armature controlled DC motor the desired speed is obtained by varying armature voltage.However, conventional Proportional Integral Derivative (PID) control has difficulty in dealing with dynamic speed tracking due to parameter variations and load disturbances (Olden et al., 2001;Kumar et al., 2008;Huang and Lee, 2008).Hence these controllers show high performance only for one unique act point.The Fuzzy Logic Controller (FLC) provides a systematic way to incorporate the human intelligence in the controller without knowing the mathematical model of the system AJAS (Kumar et al., 2004;Huang and Lee, 2008).The stability of the system and wide range of operating speed are achieved through fuzzy logic controller.
The Plough is a tool used in agriculture for initial cultivation of soil in preparation for sowing seed or planting.It has been a basic instrument for most of recorded history and represents one of the major advances in agriculture.The primary purpose of ploughing is to turn over the upper layer of the soil, bringing fresh nutrients to the surface, while burying weeds and the remains of previous crops, allowing them to break down.It also aerates the soil and allows it to hold moisture better.In modern use, a ploughed field is typically left to dry out and is then harrowed before planting.Ploughs were initially pulled by oxen and later in many areas by horses and mules.In developed countries, the first mechanical means of pulling a plough used steam-power (ploughing engines or steam tractors), but these were gradually superseded by internalcombustion-powered tractors.In the past two plough use has reduced in some areas (where soil damage and erosion are problems), in favour of shallower ploughing and other less invasive tillage techniques.Ploughs are even used under the sea, for the laying of cables, as well as preparing the earth for side-scan sonar in a process used in oil exploration.
Today the environmental impact of agricultural production is very much in focus and the demands to the industry is increasing.The production of agricultural products is growing and the competition is getting bigger, therefore the farmer has to be very efficient to be able to compete.At the same time the demands, for ploughing in less time is increasing.Therefore the farmers have to use high technology in the fields for ploughing.Earlier ploughing was done manually but today it is neither profitable nor possible to get a sufficient number of labors for this job.

PROPOSED SYSTEM
Figure 1 shows the Internet based control setup of the proposed system.An Agricultural Robot is connected to the server computer using a DAQ board.The server is connected the internet and is assigned static IP address.The clients could be any pc with Network Interface Card (NIC) that can run a LabVIEW program.
Figure 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.In the developed control logic the speed is fed back and is compared with reference speed.After comparison, error and change in error are calculated and 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.Initially, LabVIEW model of the DC motor and the Hbridge converter was developed and simulated.

FUZZY CONTROLLER
The speed is fed back and is compared with the reference speed.After comparison, the error and the change in error are calculated and are given as input to fuzzy controller.In this study, the error is normalized to per unit value with respect to the reference speed.This helps in using the fuzzy controller for any reference speed.The fuzzy controller will attempt to reduce the error to zero by changing duty cycle of switching signal.The general PI like fuzzy controller is used in this study.

Fuzzification
Fuzzy logic uses linguistic variables instead of numerical variables.The process of converting a numerical variable (real number or crisp variables) into a linguistic variable (fuzzy number) is called fuzzification.In the present work, the error and change in error of speed are fuzzified.Seven linguistic variables with triangular membership function are used.The seven sets used for 'error' and 'change in error' are Negative Big (NB), Negative Medium (NM), Negative Small (NS), Zero (Z), Positive Big (PB), Positive Medium (PM) and Positive Small (PS).

Defuzzification
The reverse of fuzzification is called defuzzification.The Fuzzy Logic Controller (FLC) produces required output in a linguistic variable (fuzzy number).According to real world requirements, the linguistic variables have to be transformed to crisp output.Weighted average method is the best well-known defuzzification method for Sugeno type systems and it is used in this study.The defuzzified output is the change in duty cycle.

Rule Table and Inference Engine
The rules are of the format: If error is A i and change in error is B i then output is C i .Here, "if" part of the rule is called the rule-antecedent and is a description of a process state in terms of a logical combination of atomic fuzzy propositions, the "then" part of the rule is called the rule consequent and is a description of the control output in terms of logical combinations of fuzzy propositions.(Driankov et al., 2010).From the rule table, the rules are manipulated as follows.If error is NB and change in error is NB then output is NB.

LOGIC FOR SETTING REFERENCE SPEED
Logic: Case 1:

LABVIEW SIMULATION
The simulation of control logic for Ploughing, steering angle and driving speed control of an autonomous agricultural Robot is done based on equation modeling technique in LabVIEW.The simulated models are given in Fig. 3 and 4.

INTERNET COMMUNICATIONS USING DATA
DataSocket is a technology that simplifies data exchange between an application and other applications, files, FTP servers and Web servers.It is an easy-to-use, high-performance programming tool that is designed specifically for sharing and publishing live data in measurement and automation applications between different applications and between machines across the Internet.Data Socket for LabVIEW simplifies live data exchange between different applications on one computer or between computers connected through a network.Data Socket uses an enhanced data format for exchanging measurement data, as well as the attributes of the data.Data attributes might include information such as an acquisition rate, test operator name, time stamp and quality of data.

CONCLUSION
The experimental results of the proposed system show that using the designed fuzzy logic controller the robot can stay away from obstacle and carry out its operation resourcefully.The conventional controllers need design objectives such as steady state and transient characteristics of the closed loop system to be specified.But fuzzy logic control overcomes the problems with uncertainties in the plant parameters.The results confirm that the fuzzy controller performance is better in respect of overshoot, settling time and steady state error.

Fig. 2 .Fig. 4 .
Fig. 1.Internet based control setup Initial X position value = maximum value of X AND Current X position value <= maximum value of X AND Current Y position value = maximum value of Y True condition: Reference Speed value is given for turning the robot Counter-clockwise direction False: Go to next case Case 2: Initial value of X position = minimum value of X AND Current X position value <= maximum value of X AND Current Y position value = maximum value of Y True condition: Reference Speed value is given for turning the robot Clockwise direction False: Go to next case Case 3: Current Y position value is not equal to 0 AND Current Y position value is not equal to maximum value of Y True condition: No action False: Go to START position Science Publications AJAS

Table 1 .
This rule table corresponds to Fuzzy PI controller