Citation
Autonomous Robotic Vehicle for Greenhouse Spraying

Material Information

Title:
Autonomous Robotic Vehicle for Greenhouse Spraying
Creator:
SINGH, SATNAM ( Author, Primary )
Copyright Date:
2008

Subjects

Subjects / Keywords:
Base courses ( jstor )
Electric potential ( jstor )
Laser modes ( jstor )
Robotics ( jstor )
Robots ( jstor )
Sensors ( jstor )
Steering ( jstor )
Trailers ( jstor )
Ultrasonics ( jstor )
Wheels ( jstor )

Record Information

Source Institution:
University of Florida
Holding Location:
University of Florida
Rights Management:
Copyright Satnam Singh. Permission granted to the University of Florida to digitize, archive and distribute this item for non-profit research and educational purposes. Any reuse of this item in excess of fair use or other copyright exemptions requires permission of the copyright holder.
Embargo Date:
11/30/2004
Resource Identifier:
436098576 ( OCLC )

Downloads

This item is only available as the following downloads:


Full Text

PAGE 1

AUTONOMOUS ROBOTIC VEHIC LE FOR GREENHOUSE SPRAYING By SATNAM SINGH A THESIS PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLOR IDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF ENGINEERING UNIVERSITY OF FLORIDA 2004

PAGE 2

Copyright 2003 by Satnam Singh

PAGE 3

This thesis is dedicated to my family and Dr. Burks, who always believed in my abilities to do great in my endeavor.

PAGE 4

ACKNOWLEDGMENTS My special thanks go to Dr. Thomas F. Burks, for giving me the opportunity to work with him. He has always motivated me and believed in me; without his excellent guidance this project could not have taken the present shape. I would like to thank Dr. Wonsuk "Daniel" Lee and Dr. Michael C. Nechyba to be in my graduate committee. I am thankful to the staff members of Agricultural and Biological Engineering Department, especially John Scrivener, Michael Zingaro, Steve Faegle, B. J. Osteen, Larry Miller and Harmon Pearson, for their great help in building the vehicle and running the experiments. I am grateful for the opportunities and resources provided by the University of Florida, which made my graduate program period most rewarding. iv

PAGE 5

TABLE OF CONTENTS page ACKNOWLEDGMENTS.................................................................................................iv LIST OF TABLES...........................................................................................................viii LIST OF FIGURES...........................................................................................................ix ABSTRACT......................................................................................................................xii CHAPTER 1 INTRODUCTION........................................................................................................1 Motivation.....................................................................................................................1 Practical Greenhouses...................................................................................................1 Robotic Application in Agriculture..............................................................................2 Design Criteria..............................................................................................................3 Design Objectives.........................................................................................................4 2 LITERATURE REVIEW.............................................................................................5 Mechanical Architecture...............................................................................................5 Three Wheels.........................................................................................................5 Four Wheels...........................................................................................................6 Six Wheels.............................................................................................................6 Omni-Directional Wheels......................................................................................7 Tracked System with Differential Steering...........................................................8 Sensors........................................................................................................................10 Laser Range Finder..............................................................................................10 Ultrasonic Sensor.................................................................................................11 Infrared Proximity...............................................................................................13 Tactile Sensor......................................................................................................14 Position Sensor....................................................................................................15 Potentiometer...............................................................................................15 Synchros.......................................................................................................16 Resolvers......................................................................................................16 Tachometers.................................................................................................17 Optical Encoders..........................................................................................17 Computer Vision.........................................................................................................19 Sensor Fusion..............................................................................................................20 v

PAGE 6

Navigation...................................................................................................................23 Fuzzy Logic Control...................................................................................................28 Fuzzification Module...........................................................................................29 Knowledge Base Module....................................................................................29 Inference Engine Module....................................................................................30 Defuzzification Module.......................................................................................30 Proportional (P)-Like Fuzzy Knowledge Based Control (FKBC)...............31 Proportional-Derivative (PD)-Like FKBC...................................................31 Proportional -Integral (PI)-Like FKBC........................................................32 Proportional-Integral-Derivative (PID) -Like FKBC...................................32 Sprayer........................................................................................................................33 Pumps..................................................................................................................33 Roller Pumps................................................................................................33 Centrifugal Pumps........................................................................................34 Piston Pumps................................................................................................34 Diaphragm Pumps........................................................................................34 Sprayer Nozzles...................................................................................................34 Sprayer Tank.......................................................................................................35 Tank Agitator.......................................................................................................35 Strainers...............................................................................................................35 Distribution System.............................................................................................36 3 MATERIALS AND METHODS...............................................................................37 Selection of Mechanical Architecture........................................................................37 Speed and Power Requirement...................................................................................37 Design of Vehicle.......................................................................................................39 Sensors........................................................................................................................41 Tern Board Controller.................................................................................................42 Control Strategy..........................................................................................................44 Control Algorithm...............................................................................................44 Fuzzy Logic PD Controller.................................................................................46 4 EXPERIMENTAL METHODS.................................................................................50 5 RESULTS AND CONCLUSION...............................................................................55 Results.........................................................................................................................55 Conclusion..................................................................................................................72 Discussion and Future Work......................................................................................72 APPENDIX A FUZZY LOGIC CONTROL SOFTWARE CODE IN ‘C’........................................74 vi

PAGE 7

B WIRING AND CIRCUIT DIAGRAM.......................................................................82 LIST OF REFERENCES...................................................................................................86 BIOGRAPHICAL SKETCH.............................................................................................90 vii

PAGE 8

LIST OF TABLES Table page 5-1 24” Aisle width on concrete, in base-vehicle mode...............................................70 5-2 24” Aisle width on sand, in base-vehicle mode.....................................................70 5-3 24” Aisle width on concrete, in self-contained mode............................................71 5-4 24” Aisle width on sand, in self-contained mode..................................................71 5-5 24” Aisle width on concrete, in trailer mode.........................................................71 5-6 24” Aisle width on sand, in trailer mode...............................................................71 viii

PAGE 9

LIST OF FIGURES Figure page 2-1 Mecanum omni-directional wheels.......................................................................8 2-2 Tracked system.....................................................................................................8 2-3 Turning of the tracked vehicle..............................................................................9 2-4 Scanning laser range finder.................................................................................11 2-5 Working principle of ultrasonic sensor...............................................................12 2-6 Potentiometer......................................................................................................16 2-7 Optical incremental encoder...............................................................................18 2-8 Computer vision stages.......................................................................................20 2-9 Sensor fusion I/O modes.....................................................................................22 2-10 Spraying system..................................................................................................36 3-1 Free body diagram..............................................................................................39 3-2 Conceptual diagram of the base vehicle in AUTOCAD 2002............................40 3-3 Base vehicle........................................................................................................41 3-4 Flow chart...........................................................................................................45 3-5 Normalized error input domain...........................................................................47 3-6 Normalized change-of-error input domain.........................................................47 3-7 Normalized left motor output range....................................................................47 4-1 Actual greenhouse aisle way...............................................................................51 4-2 Self-contained mode on concrete, aisle width 24”..............................................52 4-3 Base vehicle on bumper......................................................................................53 ix

PAGE 10

4-4 Base vehicle with trailer......................................................................................54 5-1 Run-1 on concrete in base vehicle mode, aisle width-18”..................................56 5-2 Run-2 on concrete in base vehicle mode, aisle width-18”..................................56 5-3 Run-3 on concrete in base vehicle mode, aisle width-18”..................................57 5-4 Run-1 on concrete in base vehicle mode, aisle width-20”..................................57 5-5 Run-2 on concrete in base vehicle mode, aisle width-20”..................................58 5-6 Run-3 on concrete in base vehicle mode, aisle width-20”..................................58 5-7 Run-1 on concrete in base vehicle mode, aisle width-24”..................................59 5-8 Run-2 on concrete in base vehicle mode, aisle width-24”..................................60 5-9 Run-3 on concrete in base vehicle mode, aisle width-24”..................................60 5-10 Run-1 on concrete in base vehicle mode with bumper, aisle width-20”............61 5-11 Run-2 on concrete in base vehicle mode with bumper, aisle width-20”............61 5-12 Run-3 on concrete in base vehicle mode with bumper, aisle width-20”............62 5-13 Run-1 on concrete in self-contained mode, aisle width-24”...............................62 5-14 Run-2 on concrete in self-contained mode, aisle width-24”...............................63 5-15 Run-3 on concrete in self-contained mode, aisle width-24”...............................63 5-16 Run-1 on concrete in trailer mode, aisle width-24”............................................64 5-17 Run-2 on concrete in trailer mode, aisle width-24”............................................64 5-18 Run-3 on concrete in trailer mode, aisle width-24”............................................65 5-19 Run-1 on sand in base vehicle mode, aisle width-24”........................................66 5-20 Run-2 on sand in base vehicle mode, aisle width-24”........................................66 5-21 Run-3 on sand in base vehicle mode, aisle width-24”........................................67 5-22 Run-1 on sand in self-contained mode, aisle width-24”.....................................67 5-23 Run-2 on sand in self-contained mode, aisle width-24”.....................................68 5-24 Run-3 on sand in self-contained mode, aisle width-24”.....................................68 x

PAGE 11

5-25 Run-1 on sand in trailer mode, aisle width-24”..................................................69 5-26 Run-2 on sand in trailer mode, aisle width-24”..................................................69 5-27 Run-3 on sand in trailer mode, aisle width-24”..................................................70 B-1 Motor interface with Tern-586 Engine...............................................................83 B-2 Signal conditioner circuit to amplify the voltage................................................84 B-3 Wiring diagram of three different modes of operations......................................85 xi

PAGE 12

Abstract of Thesis Presented to the Graduate School of the University of Florida in Partial Fulfillment of the Requirements for the Degree of Master of Engineering AUTONOMOUS ROBOTIC VEHICLE FOR GREENHOUSE SPRAYING By Satnam Singh May 2004 Chair: Thomas F. Burks Major Department: Agricultural and Biological Engineering Chemical application of nutrients and pesticides is one of the most important processes in agricultural production, but also one of the most dangerous agricultural operations. To improve the chemical efficacy, reduce chemical and labor cost, minimize labor hazards and reduce the harmful environmental damage provided the motivation behind the development of an autonomous sprayer for greenhouse application. A six wheeler differential steering base vehicle was designed and built to act as a greenhouse sprayer. Power is transmitted from the DC motors to all the wheels through a chain and sprocket mechanism. A fuzzy logic based proportional-derivative controller was developed and tested to control the left and right motor to navigate the vehicle in the aisle way by using the range information provided by the ultrasonic sensors. The base vehicle was tested on sand and concrete surfaces as a sprayer in two modes. In the first mode (self-contained mode), the base vehicle contains the whole spraying system, i.e., xii

PAGE 13

sprayer tank, boom, pump, etc., while in the second mode (trailer mode) the spraying system is towed by the base vehicle along the aisle. Results show that self-contained mode is better than trailer mode on both sand and concrete with average RMS path error value less than 1” for aisle width of 24”. The robotic sprayer was successfully able to navigate 18”, 20” and 24” aisle widths of aisle-ways, even in the case of losing vital information for some period of time. xiii

PAGE 14

CHAPTER 1 INTRODUCTION Motivation Chemical application of nutrients and pesticides is one of the most important processes in agricultural production, but also one of the most dangerous agricultural operations. Chemical runoff associated with over application can cause serious environmental consequences. Spraying has a very important role to play to reduce the harvest losses and improving productivity. As mentioned by Cho and Ki (1999), between 30 and 35% of production losses can be saved while harmful insects and diseases are eliminated by spraying. Conventional greenhouse spraying methods include an operator who manually walks through the greenhouse with a sprayer. The operator is exposed to hazardous chemicals, and must try to consistently apply chemicals while working in a potentially hot environment wearing a protective rubber suit with gas mask. The motivations behind developing an autonomous sprayer for greenhouse application were to improve the chemical efficacy, reduce chemical and labor cost, minimize labor hazards and reduce the harmful environmental damage. Practical Greenhouses Greenhouses typically have a main concrete “Centre Aisle” or “Sidewall Aisle” which is 8 feet to 12 feet wide. Centre Aisle greenhouses will have benches located on both sides, while the Sidewall Aisle will have benches on one side. The aisle ground between the benches can be sand, concrete, or even gravel. For the most part, sand aisles 1

PAGE 15

2 are level with grades of less than 1% along their lengths. Most concrete aisles are raised 2”-6” above the sand floors. Most greenhouses with stationary benches provide an 18” aisle between adjacent benches. Greenhouses that use “Aisle Eliminator Benches” may have as little as 9” between bench tops when the aisle is closed. The clearance beneath the bed is approximately 24”-30” above ground (Poorbaugh, 2001). Typical greenhouse growers use high volume sprayers to apply diluted pesticides at a rate of 50 to 250 gallons/acre using supply pressures ranging from 200-500 psi (Poorbaugh, 2001). Spraying time can vary from one to three man-hours per acre or more depending on the density of the production area. Spraying is conducted after the ambient greenhouse temperature cools down enough to avoid photo-toxicity on the target crop. Robotic Application in Agriculture Automation is the need for agriculture operations because of the reduction in the labor and increasing cost. There are numerous research investigations are reported in literature in the area of robotic application in agriculture. Cho and Ki (1999) used fuzzy logic and machine vision technology for an autonomous speed sprayer for orchards. The input information to the fuzzy logic controller is given by both machine vision and ultrasonic sensors. The vehicle heading was decided from the machine vision image while the range data, between the object and the sprayer, was determined from ultrasonic sensors. Shin and Kim (2001) developed an autonomous guidance system for a small orchard sprayer with ultrasonic sensors using artificial stainless steel pipe targets, due to its strong reflection of ultrasonic waves. Misao (2001) used image processing for an automatic steering system with red target boards to guide the power sprayer. Video camera was used to acquire the image of

PAGE 16

3 the travel path including the red board targets. Image processing was used to determine the distance from the current vehicle position to the target, and then the actual position to the desired vehicle path was compared and corrected by automatic steering control. Okamoto et al. (2002) developed an automatic guidance system with a crop row sensor, which consisted of the CCD camera and the image-processing algorithm for weeding cultivator. The color CCD camera took the crop row images and, through image processing techniques, detected the crop row location. According to the offset between the machine and the target crop row, the weeding machine was controlled to adjust to the crop row by the hydraulic cylinder. Qui et al. (2002) developed a fuzzy steering controller for wheel-type agricultural vehicles with an electro-hydraulic steering system. Steering correction of the controller is based on the desired steering rate and the error between the desired and the actual wheel angles. Stombaugh and Scott (2001) developed a DGPS (Differential Global Positioning System)-based automatic guidance system for automated steering control of a high-speed chemical application vehicle. DGPS receiver provides the position feedback sensor, and a solenoid-operated directional control valve provides the steering control. Design Criteria Following are the design criteria for the autonomous sprayer given by Poorbaugh (2001): Sprayer must be able to navigate the aisles of existing greenhouse. Sprayer time should be one or two hours per acre or less. Sprayer should be able to function at night without lights. Sprayer should be useable in multiple greenhouses (where the aisle width could be different and aisle floor can range from concrete to sand; sand aisles are level with grades of less than 1% along their length) and easily transportable.

PAGE 17

4 Sprayer should be an economically viable solution; in terms of labor and chemical savings. Design Objectives On the basis of the above design criteria the following objectives were set for this research Design and build a base vehicle, which can act as a sprayer and satisfy the greenhouse aisle width constraint of 18”. Integrate sensors and develop control system for autonomous navigation along the aisle way. Develop greenhouse field test procedures and conduct field test on sand and concrete to test robot guidance performance.

PAGE 18

CHAPTER 2 LITERATURE REVIEW The knowledge of the existing technology is important for the proper design of any robotic system. Mechanical architecture, sensor technology and navigation control strategy are important fields to consider for the development of a mobile robot for any specific task. Understanding of the advantages and shortcomings of various systems is important to choose a system for the specific task. This chapter presents an overview of existing technologies in the area of mobile robot development. Mechanical Architecture The selection of the right mechanical architecture is the first step in designing the autonomous mobile robot. Mobility and maneuverability of the vehicle play very important roles in selecting a system for a particular task. Mobility is defined as the number of degree of freedom an object has with respect to a given coordinated frame and maneuverability is defined as the ability to perform movement that coupled multiple degrees of freedom. In literature there are three methods of locomotion discussed for the mobile robot: legged, wheeled and tracked system. The following subsection will basically concentrate on wheeled and tracked systems. Three Wheels In the case of the three wheels mobile robot, the front wheel can be used as either a castor wheel or steering wheel. When the front wheel is used as a castor for stability, the rear wheels are used for driving and steering operations. To be used as steering wheel, the front wheel angular position has to be controlled by a motor. Accurate motor control and 5

PAGE 19

6 feedback are important to control this kind of arrangement. Because of the three wheels, this system has less traction and payload carrying capacity compared to those with a greater number of wheels. Four Wheels In terms of stability and traction, four wheels are better than three wheels. The four wheeled system with front wheels steering and rear wheels drive is the primary steering system used for autos. A four wheel steering system consists of mechanical linkage between the wheels and drive motors. The steering angle is obtained by actuating the steering motor and monitoring position feedback. The motor speed must be geared to the correct ratio. A travel limit switch is used to detect when the travel is at the limit so the motor can be stopped (http://www.4qd.co.uk). The second approach for four wheel system is to use differential steering for the turning operation. In this case, the two sides of the vehicle are independently powered. This system can be all-wheel drive or a rear-wheel drive. In the case of rear-wheel drive with differential steering, the front wheels are used as castor wheels. Turning is accomplished by controlling relative speed of the two sides. Six Wheels A six wheels system will have better traction than the four-wheel system, so it can be used at places where less traction is available. In this case, all six wheels are powered, which gives very good tractive ability in uneven ground. Six wheels also provide more stability to the vehicle, as compared to four wheels system, because of the extra base area. For turning purpose differential drive is used, the power is provided to each side of the wheels independently. During the turning operation, speed of the one side is reduced

PAGE 20

7 with respect to the other side. For greenhouse conditions the system with better traction and stability is very important, because of variable terrain conditions in the greenhouse. Omni-Directional Wheels Much research has been done in the area of omni-directional wheels to increase the maneuverability of the mobile robot. An omni-directional wheel which has many free rollers mounted on the rim of the main wheel at 45 degrees from the main shaft and orthogonal wheels with a couple of spheres assembled laterally or longitudinally, are wheels or wheel units for vehicles (Wada and Mori,1996). In Figure 2-1, one such omni-directional wheel (Mecanum-wheel) has been shown. Mecanum-wheel has rollers as treads, and the rollers have axles skewed with respect to the wheel axle. These wheels are capable of providing longitudinal, lateral and yaw motion without singularity. The non-singular characteristic provides savings in space and time relative to steered conventional wheels (Dickerson and Lapin, 1991). Omni-directional and holonomic motions of a vehicle are realized by the arrangement of three or more of these wheel units on a platform. The basic problem as described by Wada and Mori (1996) with this mechanism is that a switching or a changing of the contact points between the wheel and the ground complicates the control systems and the measuring systems of the vehicle. Reduced payload carrying capacity, because of reductions of contact area, and a complicated wheel mechanism are the additional problems associated with Holonomic vehicles.

PAGE 21

8 Figure 2-1. Mecanum omni-directional wheels Tracked System with Differential Steering Better traction ability and maneuverability are the most important features of the tracked system. It can be used in any ground and weather conditions. The overall center of gravity of the system is lowered because of the added width and length in the wheel base therefore better stability of the vehicle can be achieved. Since this system has high traction coefficient, the utilization of power is maximized. Figure 2-2. Tracked system

PAGE 22

9 Figure 2-2 shows a typical tracked vehicle. The tracked system provides uniform low pressure in the ground surface, so the damage to the ground surface is minimal. The track can be either metallic or non-metallic. In differential track system, the turning of the vehicle takes place by increasing the speed of the outer track with respect to the inner track. The tracked systems generally require more complex and heavier hardware than wheeled systems designed for carrying the same payload. In a natural environment the track system is more suitable than the wheel system. However the major drawback of a tracked system is its inefficiency. Frictions within the tracks themselves dissipate power, and energy is wasted whenever the vehicle turns because the treads slip against the ground. It should be noticed that a true tracked vehicle takes a lot of power to turn on the spot; as shown in Figure 2-3. The arrows show the machine turning about its center. At the ends of the tracks, the arrows are nearly at right angles to the track, so the movement along the tracks running direction is minimal. The ends of the track have to slide sideways, so if the track has a good grip, turning would be nearly impossible (http://www.4qd.co.uk). Figure 2-3. Turning of the tracked vehicle

PAGE 23

10 Sensors Sensors are the eyes of the mobile robot, through which the robot receives the information about the outside world and its state. There are many types of sensors available in the market, with different resolutions, accuracies and costs for the autonomous mobile robot development. Sensors can be divided into two groups: active sensors and passive sensors. Active sensors transmit and receive signals to find the state of the environment, while passive sensors do not transmit any signals. Passive sensors obtain the information through the observation of the state to be measured. In the following subsection, some commonly used sensors are discussed for the autonomous mobile robots, as well as the basic concept of sensor fusion is discussed. Laser Range Finder Laser radars are a type of active sensors; they emit temporally modulated laser radiation to a target which reflects back the radiation to a co-located optical receiver. The radiation could be pulsed or continuous wave. If the radiation is pulsed, the time of flight is measured to obtain the distance to the target. If the radiation is continuous wave (CW) and modulated, a measurement of the modulation phase or frequency of the return radiation is a measure of the distance to the target (Carmer and Peterson, 1996). A typical scanning laser range finder is shown in Figure 2-4. Laser radar works very fast and can be used in any lighting conditions including night-time. Another property of laser is that it is not affected by background noise. 2-D or 3-D contours of surrounding terrain can be produced with a laser ranger finder, which can be used for autonomous navigation in an unknown field (Carmer and Peterson, 1996). Laser measurements are based on the speed of light and are unaffected by temperature variations. Laser scanners are widely used in object following and obstacle avoidance,

PAGE 24

11 feature extraction, map building and self-localization. Laser provides better range information in terms of resolution and accuracy, compared to ultrasonic sensors. Figure 2-4. Scanning laser range finder Laser radar does have several limitations. Lasers are among the most expansive sensors today. It always sends the laser ray in a straight line, so if something blocks the laser; in that case it is not effective. Sensor limitation causes laser to yield little or no signal when detecting specular surfaces. Laser rays can not penetrate the vegetation and bad weather conditions, so they can not be used in a snowy or foggy environment. Ultrasonic Sensor The ultrasonic sensor measures the time delay information in order to give the distance measurement. This time delay between sending and reflecting the sound impulse is proportional to the distance between the sensor and the object. It uses the speed of sound to calculate the distance (Hao et al., 1999). Figure 2-5, which is given below, shows the working principle of the ultrasonic sensor. It has two major parts, the transmitter and the receiver. The transmitter sends an ultrasonic pulse towards the target

PAGE 25

12 object and the receiver receives the reflected pulse. The time difference between the two pulses gives the time of flight. Target distance is calculated by multiplying time of flight with speed of sound. Figure 2-5. Working principle of ultrasonic sensor The main advantages of using this sensor are its availability in the market and its low cost. Since it uses a constant speed of sound for the calculation of distance, it’s not suitable for the dynamically changing environments. The speed of sound in air is a function of temperature, and as the sound travels, the amplitude of the sound pressure is reduced due to friction losses in the transmission medium. The attenuation of sound in air increases with the frequency, and at any given frequency the attenuation varies as a function of humidity; it is difficult to obtain high resolution within a short distance. If there is air turbulence along the path from the sensor to the target, then the average speed of sound will randomly change, causing the target range computed by the sensor to randomly vary from pulse to pulse. Similar variations in the arrival time of a target echo will appear if the target surface is moving. The reflecting surface also plays a very crucial role in determining the range data. Sometimes because of multiple surfaces present in the object generates different echo from different surfaces, and hence the overall range data will be inaccurate ( http://www.sensorsportal.com/ ). Ultrasonic sensors are susceptible to background noise; the level of background ultrasonic noise diminishes as the frequency increases. Less noise is produced in the

PAGE 26

13 environment at the higher frequencies, and the noise that is produced is greatly attenuated as it travels through the air. But increasing the frequency of the sound waves is limited by the undesirable side effect of higher energy dissipation (Borenstein and Koren, 1988). Major problems with ultrasonic sensors include crosstalk (Borenstein and Koren, 1995) and specular reflection (Yi et al., 2000). Crosstalk is a phenomenon in which one sensor receives the ultrasound waves emitted by another sensor (Borenstein and Koren, 1995).The specular reflection occurs when ultrasonic beam fails to return directly to the receiver because it was bounced away from the target object (Yi et al., 2000). For a mobile robot that means the obstacle has not been detected. Borenstein and Koren (1995) suggested an Error Eliminating Rapid Ultrasonic Firing System (EERUF), which employs pulse timing and delay from each transducer in order to eliminate the problem caused by crosstalk and environmental noise. Infrared Proximity Infrared proximity sensors are another type of active sensors. Most current infrared (IR) systems are on-off kind of sensors; they transmit and receive a high intensity light pulse to detect the presence of objects within the range of the sensor. In general, range measurements by IR sensing require more complex techniques, such as phase shift measurement or triangulation (Sabatini et al., 1995). Although these sensors typically do not return the actual distance to an object, they do signify whether or not something is present within the cone of detection or not. These sensors are very susceptible to the external noise. IR light present in natural light interferes with the actual reflected IR signal. The performance of infrared sensor is better indoor than outdoor. IR sensor also depends upon the type of the obstacle it has to detect, like whether the object is light or dark colored.

PAGE 27

14 According to Gat et al. (1993) in direct sunshine the sensors can reliably detect light-colored obstacles at a distance of about 25 cm indoors, the range more than doubles. Dark objects, however, are all but invisible to these sensors, especially outdoors. Tactile Sensor This is an evolving technology; with significant research being conducted all over the world. As the name implies, the detection process involves direct physical contact between the sensor and the object of interest. In terms of operating principle, tactile sensors have been categorized into four types: conductive elastometer, optoelectronic, strain gauge and piezoelectric. Conductive elastometer is based on a change in electrical resistance caused by pressure. Noise, nonlinearity, hysterisis, fatigue, long term constants, low sensitivity and drift are some serious drawbacks for this type of sensor. Optoelectronic sensors rely on the modulation of the light intensity by the mechanical deformation of an elastic material. These sensors have a very high sensitivity and are less susceptible to electromagnetic noise. Strain gauge sensors are based on a change in electrical resistance caused by pressure. These sensors have great sensitivity, linearity, and reliability, without the hysterisis. Piezoelectric tactile sensors utilize polymeric materials that generate an electric charge in response to an applied force (McMath et al., 1989). Tactile sensors are typically employed on automated guided vehicles and mobile robots to provide a last resort indication of collisions with surrounding obstructions. The most common tactile sensor consists of “whiskers” attached to various types of contact switches. Whisker sensors can be bent and broken. Therefore, the sensors should be designed such that the damaged whiskers can be replaced easily and inexpensively (Andeen, 1988).

PAGE 28

15 Position Sensor Position sensor as its name implies is used in applications, in which the linear or angular positions are to be found. In the following subsection, some of the commonly used position sensors are discussed. Potentiometer The simplest device that can be used to measure the position is the potentiometer or pot. The basic advantage is that it is relatively cheap compared to other position sensors. A typical potentiometer is shown in Figure 2-6. By applying a DC voltage across the entire resistance R, the output voltage that is proportional to the linear or rotary distance of the sliding contact from the reference point is measured. It is important that the resistance be linearly related to the angular distance traveled by the wiper shaft. Although it is possible to obtain potentiometers that are nominally linear, there is always some deviation from linearity. The inevitable presence of the nonlinearly in the potentiometer restricts its use to when high accuracy is not required. The wiper must physically contact the coiled resistance element which with time causes the contact to deteriorate due to wear and dirt build-up. This will cause the measured output voltage to deviate from the true value in an unpredictable manner. Resolution is another one of the problems associated with this sensor. However, this problem can be resolved by using a potentiometer made from a thin resistive film (Klafter et al., 1989). Because the sensing mechanism still depends on the physical contact between the resistive element and the wiper, this technique does not, eliminate all contact problems. Hysterisis is also a common flaw in the potentiometers (Andeen, 1988).

PAGE 29

16 Figure 2-6. Potentiometer Synchros Synchros are used to measure angular position information. They are rotary transducers that convert angular displacement into an AC voltage or an AC voltage into an angular displacement. Synchros are similar to three-phase wound rotor motors in construction. The rotor has a single winding while the stator has three windings, usually connected in a star configuration. The rotor of the Synchros is energized with an AC voltage. The voltage induced on the three-stator windings is precisely related to the angle of the Synchros rotor. An electronic circuit known as “Synchros converter” is used to convert the Synchros output voltage to an analog or digital representation of the rotor angle (Andeen, 1988). Resolvers Resolvers are very much similar to Synchros. One of the major differences in these two devices is that the stator and rotor windings of the resolver are displaced mechanically 90 to each other, rather than 120 as is the case with the Synchros. The most common resolver has a single rotor and two stator windings. The rotor of the resolver is energized with an AC voltage, and the electronic circuit, known as “Resolvers

PAGE 30

17 converter”, is used to convert the resolver stator voltage into an analog or digital representation of rotor angle (Andeen, 1988). Tachometers Tachometers are used to measure rotational shaft speed. Tachometers are simple means for determining vehicle velocity and acceleration based upon motor shaft speed. The operation is similar to a small DC generator. A multiple wound armature is rotated inside a permanent magnet stator to produce an output voltage. The output voltage is proportional to the shaft speed. The tachometer is inexpensive, but its output is noisy and it has a limited life span due to the commutator brush wear (Andeen, 1988). So its use is limited to less accurate control problems. Optical Encoders This is the most widely used position sensor in robotic applications for localization. The basic advantage of this type of sensor is its resolution. Optical encoders come into two different kinds of classes: (1) absolute and (2) incremental. An absolute encoder is able to give the actual linear or rotational position. Thus, this kind of sensor does not require any calibration. This device produces a separate and unique coded word for each shaft position, and every reading is independent of the previous readings. A major advantage of the absolute encoder is that even if the system power is accidentally lost the device will remember where it is located and will update the system as soon as power restored. Absolute encoder consists of three major elements: 1) A multiple-track light source, 2) A multi-channel light receiver, and 3) A multi-track rotary disk

PAGE 31

18 The working principle of this kind of device is based on light emanating from a linear, N-element light sources; which is made to pass at right angles through the disk and is received by a corresponding linear array of N light sensors. The disk is divided into circumferential tracks and radial sectors. Excessive cost is prohibitive for its use in robotics application, in spite of its ability to remember its position. An incremental encoder provides positions information relative to some reference point. It has to be calibrated before use. Just like the absolute encoder, the incremental encoder also consists of a disk, an LED light source, and a corresponding set of light receivers. A thin circular disk contains a single track consisting of N radial lines. The resolution of an encoder containing such a disk is defined as the number of lines, N. Encoder can resolve an angular position equal to 360/N. The incremental encoders have two readers on a signal track. The readers are displaced by 90 electronically to provide the direction of the rotation (Klafter et al., 1989). Both linear and rotary types of encoders are available. The rotary encoders are almost exclusively used in robotics applications. In dirty environments, the transparent substrate of these encoders can become sufficiently soiled, impairing operations, requiring it be properly sealed in those environments. In Figure 2-7 an optical encoder is shown. Figure 2-7. Optical incremental encoder

PAGE 32

19 Computer Vision Vision is a very powerful source of rich information. It provides high bandwidth, two-dimensional data containing information about color, texture, depth and optic flow, as well as many others. However, it usually requires complex techniques for the extraction of useful information. For example, sonar data directly estimates depth information; vision data (from multiple cameras) requires a stereo matching algorithm (Elinas et al., 2002). In computer vision, the input is an image and the output is information about the image. Computer vision is broken into various sub-processes (Fu et al., 1987) as shown in Figure 2-8. Image capturing is the first stage of the computer vision, which is performed by the CCD camera. Preprocessing of the acquired image is done to remove noise and to enhance the quality of the image. After the image is preprocessed, it is segmented to isolate certain objects or regions. The segmented region is then analyzed to determine its various features. The extracted features are used to identify certain objects. In most of the applications only a single value is measured at each sample point of the image, representing the image brightness at that point, this value is called the gray scale, and hence the image is known as the gray scale image. The color vision system adds to the capabilities of gray scale system. Color provides an additional source of data for object recognition, but it comes with extra computational cost. After the recognition stage, the interpretation stage decides the course of action to be taken on the basis of previous stage data and the control algorithm. The ability of computer vision to collect a large quantity of information from a single sensor makes it an excellent choice for autonomous vehicles. The extensive amounts of computation requirement are a major disadvantage of vision systems, which

PAGE 33

20 limits their real time applications. The cost of the vision system can also be a problem in some applications. Sensing Preprocessing Segmentation Description Recognition Interpretation Figure 2-8. Computer vision stages Sensor Fusion According to Dasarathy (1997, p.24), “sensor fusion is the study of concepts and techniques developed for optimal information processing in distributed multi-sensor environment through intelligence integration of the multi-sensor data.” Multi-sensor environment, by their nature, generates large volume of data with different resolutions. These are often corrupted by a variety of noise and clutter conditions, which continually vary because of temporal changes in the environment. An ideal fusion process would be able to retrieve or restore all of the inherent information of interest in the environment from the data sensed by the multi-sensor suite. Multi-sensor data fusion techniques combine data from multiple sensors, as well as related information from associated databases, to achieve improved accuracies and more

PAGE 34

21 specific inferences than could be achieved by the use of a single sensor alone. The data from each sensor is different in terms of interpretation algorithm, resolution, the amount of data produced and processing time. In combining this heterogeneous data, sometimes conflicting situations arise (Cheng-Chih and Tummala, 1994). Each sensor provides a different aspect of the environment, the group of sensors can be applied together creating sensor interaction. The nature of these interactions determines how the fusion is performed. There are four different approaches of fusion as described by Faceli et al. (2002): Complementary Fusion: In this type of fusion, different sensors measure different parts or aspects of the environment and then they are fused together for the useful information. Competitive Fusion: In this case, all sensors are measuring the same part or aspects of the environment to make the system more reliable. Cooperative Fusion: Fusion of this type allows the acquisition of new information. New information can be acquired by fusing the data from different sensors, which can not be acquired by any of the sensors alone. Independent Fusion: Fusion of data from unrelated sensors through the storage of their information into a common data structures. Several methods and algorithms have been used in the fusion process, such as Weighted Average, Kalman Filter, Classical and Bayesian Inference, Dampster-Shafer method and Artificial Neural Network. According Dasarathy (1997) sensor fusion can be classified into five different fusion schemes. He expands on the ideas of low and high-level fusion by putting forth an I/O based characterization. The type of input and output fusion module is used to describe sensor fusion. The five I/O modes are shown in Figure 2-9.

PAGE 35

22 Figure 2-9. Sensor fusion I/O modes The most basic form of sensor fusion is Data In-Data Out fusion. This fusion type is the lowest form of fusion. Data from multiple sensors is integrated together to make a common data set that is then used to produce maps for navigation. In the case of Data In-Feature Out, data from multiple sensors of the same data structure is used to derive some features from the environment. A human perceives the depth information by combining the information from two eyes can be regarded as the feature fusion example (Dasarathy, 1997). Systems using sensors with unique data structures are better suited to Feature In

PAGE 36

23 Feature Out fusion in which some features are not within the range to provide by some particular sensors. Features are determined by individual sensors and then fused together to increase sensor accuracy. Feature In-Decision Out fusion uses features derived from individual sensors to produce a decision for the robot control. The final level is Decision In-Decision Out fusion. In this case both the input and output levels are decisions, in which, control decisions are made for individual sensor data and then the decisions are fused to produce a comprehensive decision for the robot’s control system. Navigation The final part of the mobile robot design is navigation. It is the process of safely directing the robot from the current initial point to the final goal point, by using the sensor information obtained. Mapping, planning and action are the three stages of the navigation. Mapping is the process of building the model of the environment through the use of sensory data. The planning stage uses this environmental model to find the optimal path from the initial point to the final point. Then the action stage takes place to accomplish the task of driving the robot. The most important requirement for navigation is self-localization. Without the ability of localization, the mobile robot would be lost in the environment and unable to move purposefully between the target points (Duckett and Nehmzow, 1999). Horn and Schmidt (1995) defines localization as the ability of mobile robots to determine its current position and orientation. Position and orientation are determined by, the vehicle’s (x, y, ) configuration with respect to either a global or local coordinate frame. Using sensory information to locate the robot in its environment is the most fundamental problem to provide a mobile robot with autonomous capabilities (Cox, 1989).

PAGE 37

24 Dead-reckoning is the simplest and low cost localization technique. However, because of error accumulation in dead-reckoning systems, position error grows without bound unless they are corrected by reference measurements (Horn and Schmidt, 1995). Surface roughness and undulations may cause the distance to be over-estimated. Wheel slippage can cause distance to be under-estimated and variations in load can distort the odometer wheels and introduce additional errors. Odometry error contains both systematic and nonsystematic components. Both of these components depend on the interaction of the robot with the environment in which the robot moves (Martinelli, 2002). The complexities of the navigation problems depend on many factors (Cheng-Chih and Tummala, 1994). The type of environment, namely indoor or outdoor, structured or unstructured The amount of robot’s prior knowledge about its workspace The presence of moving obstacles in the robot’s workspace The trajectories or models describing the motion of these moving obstacles Obstacle avoidance capability, which falls within the planning problem, is one of the basic issues in the navigation of autonomous mobile robot. Global path planning techniques can be applied for obstacle detection if the complete knowledge of the environment is known. Local path planning techniques, which are based on on-line sensory information of the mobile robots, are more suitable in a complex and unstructured environment for achieving the task of obstacle avoidance in a dynamic environment (Macek et al., 2002).

PAGE 38

25 Existing approach to mobile robot navigation can be classified into three categories (Yen and Pfluger, 1995). 1) Model-based approaches 2) Sensor-based approaches 3) Hybrid approaches The model-based approach relies on the exact model of the environment, which is usually difficult to create in a dynamically changing environment. Therefore it is basically used for controlled environment navigation. The approach of navigation is to find a path from the starting point to the goal point by using the environmental model. The path for the robot to follow can be found by using techniques such as road mapping, potential field or cell decomposition. The sensor-based approach uses the sensor data to generate the control commands for the mobile robot navigation. Sensor-based approaches are advantageous as compared to model-based approach in terms of its ability to safely navigate in a dynamically changing environment, it can easily react to obstacle detected by sensors in real-time and can change its course of action according to that. The major limitation of purely sensor-based approaches is that the robot may not reach the goal, even if a path to the goal exists. Model-base approaches and sensor-based approaches can be fused together into hybrid approaches to mobile robot navigation. Hybrid approaches uses a model-based planner to generate a path from an incomplete model of the environment. The path is used by a sensor-based controller to navigate the robot so that it follows the path while avoiding obstacles unknown to the model. This approach is able to achieve the optimal path of model-based approaches and the reactivity of the sensor-based approaches (Yen and Pfluger, 1995).

PAGE 39

26 Maja et al. (2000) developed a heuristic-based model, which is entirely dependent on the sensory information (CCD camera) without any map for obstacle avoidance by the mobile robot. First, a simple algorithm that segregates floors from objects is used. It processes gray-level spatial information to generate its threshold value to convert it into bi-level images. The heuristic rule lets the robot move but keeps it distance from the obstacle. Victorino et al. (2001) developed navigation methodology for mobile robots in an unknown environment based on the robot’s perception. They used 2D Laser Range Finder, which was mounted on a mobile platform that delivered a planer cross section of the visible environment. This range information was processed and used in a closed loop control scheme to constrain the robot to reach and move on the Generalized Voronoi Diagram of the environment. They defined the General Voronoi Diagram (VD) as a set of points equidistant to two objects, o and , such that each point in this set is closer to and o than any other objects o in the environment, where . ik jo io j jik, Horn and Schmidt (1995) used a 3D-laser-range camera for navigation. Absolute positioning and orientation of the vehicle are determined by extracting natural landmarks from the 3D-laser-range -image. Then extracted landmarks are matched with landmarks predicted from an environment model. In order to get an improved estimate of position and orientation, subsequent, single-image localization and dead-reckoning data are fused by means of statistical uncertainty evolution technique. Bernabeu and Tornero (2002) developed a collision-detection procedure based on the distance computation. Every object in the robotic system is modeled by means of spherically extended polytopes (s-tops). The minimum translation distance (MTD) between two s-tops is obtained by

PAGE 40

27 applying the Hough transform technique. MTD is defined as the shortest relative translation of the mentioned models to bring into contact. When two models are not intersecting, MTD represents the separation distance between them. Otherwise, if models are colliding, MTD states the penetration distance. Ishikawa et al. (1988) developed a scheme for the autonomous vehicle navigation based on white line recognition. The vehicle followed a white guideline, which resides on the flat surface and contrasts with its background. A TV camera does the sensing. When the vehicle comes to the branches, it selects the appropriate direction according to a path planner output. It avoids collision with obstacles by monitoring the field pattern and its changes. Shin and Kim (2001) developed an autonomous guidance system for a small orchard sprayer with ultrasonic sensors. Steel pipes were selected as artificial targets due to their strong reflection of ultrasonic waves for navigation purpose. The steering control algorithm calculates the difference between distances to targets on both sides to determine the deviations from the desired path. The difference, E determines the direction of turning and the amount of steering angle. E = (2-1) RD LD Where RD Distance to targets from right LD Distance to targets from right If the sprayer moves along the center line, then the value of error would be zero. If E > 0, the sprayer should be steered to right side. Otherwise, it should be move towards the left. The absolute value of E determines the amount of steering angle.

PAGE 41

28 To implement the task of controlling and navigating the vehicle, the study of control systems is required. The next sub-section will concentrate on the basics of fuzzy logic control and its integration with the conventional PID control. Fuzzy Logic Control Motivated by the observation that many concepts in the real world do not have well defined sharp boundaries, Lotfi A. Zadeh developed the fuzzy set theory that generalizes the classical set theory to allow objects to take partial membership in vague concepts. The degree an object belongs to a fuzzy set, which is a real number between zero and one, is called the membership value in the set. The meaning of a fuzzy set is thus characterized by a membership function that maps elements of a universe of discourse to their corresponding membership value (Yen and Pfluger, 1995). The strengths of fuzzy logic lie in its ability to approximate any non-linear mapping with a high level of readability due to the use of linguistic variables. It is certainly true that the use of fuzzy logic enables the designer to describe the desired behavior of the vehicle more simply than would be possible using alternative mathematically based techniques (Tubb and Roberts, 1998). The fuzzy logic control system is most suited to complicated and mathematically illdefined systems. Its main advantage over the conventional proportional integral differential (PID) controller design approach is its simplicity and effectiveness. A PID control system is modeled analytically by a set of differential equations, while in the fuzzy controller; adjustments are handled by a fuzzy rule-based expert system, a logical model based on human thinking process (Northfield and Sheikh, 1993). The following sub-sections will illustrate the various modules of fuzzy knowledge based control as described in Driankov et al. (1993).

PAGE 42

29 Fuzzification Module The task of the Fuzzification module is to convert a point-wise current value of a process state variable into a fuzzy set, in order to make it compatible with the fuzzy set representation of the process state variable in the rule-antecedent. Knowledge Base Module The knowledge base of a fuzzy logic controller consists of a data base and a rule base. The basic function of the data base is to provide the necessary information for the proper functioning of the Fuzzification module, the rule base, and the defuzzification module. This information includes Fuzzy sets, which are also known as membership functions, represent the meaning of the linguistic values of the process state and control output variables. Physical domains and their normalized counterpart together with the scaling factors. The basic function of the rule base is to represent the control of the system in a structured way in the form of a set of production rules, such as; If < process state> then of an experienced operator of the system process. The if-part of such a rule is called the antecedent and is a description of a process state in terms of a logical combination of atomic fuzzy propositions. The then-part is known as a consequent. The following are design parameters for the construction of the rule base: Choice of process state and control output variables Choice of the contents of the rule-antecedent and the rule-consequent Choice of terms-sets(range of linguistic values) for the process state and control output variables Derivation of the set of rules.

PAGE 43

30 Inference Engine Module The basic function of the inference engine is to compute the overall value of the control output variable based on the individual contribution of each rule in the rule base. Each such individual contribution represents the values of the control output variables as computed by a single rule. The output of the Fuzzification module, representing the current, crisp values of the process state variables, is matched to each rule-antecedent, and a degree of match for each rule is established. Based on this degree of match, the value of the control output variable in the rule-antecedent is modified, i.e., the clipped fuzzy set representing the fuzzy value of the control output variable is determined. The set of all clipped control output values of the matched rules represents the overall fuzzy values of the control output. Defuzzification Module The functions of defuzzification module are as follows: Converts the set of modified control output values into a single point wise value. Performs an output denormalization which maps the point-wise value of the control output onto its physical domain. All FLC controllers are implemented based on the designer’s experience. If the initial design is not satisfactory, then the “trial-and-error” design philosophy may be applied to improve the behavior of the closed loop system. Fuzzy logic deals with ambiguous situations. But it does not mean that there is no sort of certainty in the events or situations. The fuzziness contained in any events makes it hard to distinguish among different events. However fuzziness doesn’t mean total disorderliness. Conventional PD or PID control is a special case of a FLC controller. A PD or PID controller can provide good results if suitable fixed gains are found for the particular

PAGE 44

31 control problem. However, even in this case, there is still a conflict of interests between the requirements of fast-response and minimum-overshoot requirements. On the other hand, if the membership functions are appropriately designed for the filtered tracking error, then the fuzzy controller works like a PD or PID controller with variable gains. It is the variable gains that make the closed-loop system response fast with almost zero overshoot even though exact knowledge of the system dynamics is not available (Liu and Lewis, 1993). To define the conventional PID and various other combinations in terms of fuzzy logic control, we need to define some of the variables here. Let, e = Error e = Change of Error e = Sum of Errors u = Control Output u = Change of Control Output Proportional (P)-Like Fuzzy Knowledge Based Control (FKBC) The symbolic representation of a rule for a P-like FKBC is given as If e is Then u is < property symbol >. Proportional-Derivative (PD)-Like FKBC The equation giving a conventional PD-controller is .eKeKuDP (2-2)

PAGE 45

32 Where and are the proportional and the differential gain coefficient respectively. Then a PD-like FKBC consists of a set of rules, the symbolic description of each rule is given as PK DK If e (k) is < property symbol> and e (k) is < property symbol> Then u (k) is < property symbol>. Proportional -Integral (PI)-Like FKBC The equation giving a conventional PI-controller is .edtKeKuIP (2-3) Where and are the proportional and the integral gain coefficient respectively. When the derivative, with respect to time, of the above expression is taken, it is transformed into an equivalent expression PK IK .eKeKuIP (2-4) The PI-like FKBC consists of rules of the form If e is < property symbol> and e is < property symbol> Then u is < property symbol>. Proportional-Integral-Derivative (PID) -Like FKBC The equation describing a conventional PID controller is .edtKeKeKuIDP (2-5) Thus, in the discrete case of a PID-like FKBC one has an additional process state variable, namely sum-of-errors. Then the symbolic expression for a rule of a PID-like FKBC is

PAGE 46

33 If e is < property symbol> and e is < property symbol> and e is < property symbol> Then u is < property symbol>. Sprayer More pesticides are applied with sprayers than with any other equipment. Consequently, there are many different types and sizes of sprayers, varying from hand operated units to machines weighing several tons. Some apply dilute pesticide mixtures while others apply concentrates. Some use low pressure and low volume and usually have simple roller pumps. Others are high pressure and /or high volume, usually supplied by high-pressure piston pumps. Some apply spray through single outlets or nozzles while others use multiple nozzles linked by sections of pipe or tubing to form a boom. The various parts of the spraying system are now described below. Pumps There are various types of pumps, which are used to generate the required pressure for the specific applications are listed below. Roller Pumps Roller pumps are probably the most widely used pump because they are effective, flexible and inexpensive. The "rollers" of a roller pump fit into slots of a rotating hub. The slots allow the rollers to follow the eccentric shape of the housing. As the rollers pass the inlet port, they push the liquid around the housing and toward the outlet port. As the rollers near the outlet port, the spaces become smaller and fluid is pushed out. The output from a roller pump decreases as the pressure increases because the rollers leak back fluid between rollers. Roller pumps are easily and economically rebuilt when worn.

PAGE 47

34 Centrifugal Pumps Centrifugal pumps have become increasingly popular in recent years. They handle abrasive materials well and their high capacity provides plenty of hydraulic agitation. This type of pump has an automatic pressure relief characteristic. One of the limitations is that they must be driven at high speed to develop pressure. Belt, gear, or hydraulic drives are used to gear up the pump to high speed. This pump also requires priming unless it is located below the level of the supply tank. Piston Pumps Piston pumps are “positive displacement” pumps, which mean that every time the piston moves the liquid must move. There is no leakage inside the pump chamber or automatic pressure relief characteristic like the roller pumps have. The piston pump output is virtually unaffected by pressure. Pump output is usually low and may not be sufficient for hydraulic agitation. It is the most expensive pump, but good for wettable powders and other abrasive mixtures. Diaphragm Pumps Moving a flexible diaphragm produces the pumping action in a diaphragm pump. Liquid is drawn into one chamber on the down stroke and forced out of another on the upstroke. These pumps may be constructed with either one or two diaphragms. The diaphragm is resistant to wear from abrasives, but may be worn by certain chemicals. Diaphragm pumps are moderately priced and servicing is easy and economical. Sprayer Nozzles Nozzles for sprayers are very important to proper pesticide application. Even experienced applicators often overlook the proper selection and maintenance of nozzles.

PAGE 48

35 With improper or worn nozzles, accurate application can never be achieved. Nozzles (often called “spray tips”) serve three functions: Meter or regulate the flow of the liquid Atomize the liquid stream into droplets Spread droplets in a specific pattern Sprayer Tank The tank should be made of a corrosion resistant material. Suitable materials used in sprayer tanks include stainless steel, polyethylene plastic and fiberglass. Pesticides may be corrosive to certain materials. Care should be taken to avoid using incompatible equipment. Aluminum, galvanized or steel tanks should not be used. Some chemicals react with these materials, resulting in reduced activity of the chemical and corrosion inside the tank. Tank Agitator An agitator in the tank is needed to mix the spray material uniformly and keep chemicals in suspension. The need for agitation depends on the type of pesticide applied. Liquid concentrates, soluble powders and emulsifiable liquids require little agitation, and intense agitation is required to keep wettable powders in suspension. Strainers Three types of strainers are commonly used on agricultural sprayers: tank –filler strainers, line strainers and nozzle strainers. Strainers numbers (e.g. 20 -mesh, 50-mesh, or 100-mesh) indicate the number of openings per inch; strainers with high numbers have smaller openings than strainers with low numbers.

PAGE 49

36 Distribution System Boom stability is important in achieving uniform spray application. The boom should be relatively rigid in all directions. Swinging back and forth or up and down is undesirable. Gauge wheels mounted near the end of the boom will maintain uniform boom heights. In Figure 2-10 a detailed description of a spraying system is provided (Srivastava et. al., 1993). Figure 2-10. Spraying system

PAGE 50

CHAPTER 3 MATERIALS AND METHODS In this chapter we will explore the methods and materials that are used in the development of the prototype greenhouse robotic sprayer. Selection of Mechanical Architecture According to the design objectives; explained in the chapter-1, the sprayer vehicle width was limited to 18”. In a greenhouse the surface could be gravel, concrete or sand. Additional considerations are the occurrence of a ditch in the robot path, the towing conditions, and payload, each of which leads to the requirement of a system, with good traction capability, stability and maneuverability. Based on the above requirements and after considering the various options, it was decided to use a six wheel, differential steering mechanism, with all wheels powered and a base vehicle width of 16”. The power is transmitted from the DC motors through a chain and sprocket mechanism. Six driven wheels were chosen to provide the system with extra traction ability as compared with four wheels architecture. Differential drive is chosen to ease the control operation during the steering of the vehicle due to its simple mechanism, and provide zero-radius turn capability. Speed and Power Requirement To find the required speed of the system, the following analysis was conducted on the basis of some assumptions and facts gathered from actual greenhouse architectures. It was assumed that the dimension of the greenhouse was 200 feet x 50 feet. The width of the table is 6 feet (72”) and the aisle width is 18”. 37

PAGE 51

38 Let N equal the number of aisles; then N+1 is the number of tables. Thus the following equation can be written, Nx18”+ (N+1) x72” = (50x12)”-18” (leaving 9” of clearance both sides) (3-1) N = 5.66 N = ~6. The recommended time for spraying: 1 to 3hours/acre Since 1 acre=43,560 square feet, The time required to spray a greenhouse of area 10,000 square feet, using a spray time of 1 hour /acre is 43560000,10 = 0.229 hours = ~ 14 min. Since the length of the greenhouse is 200 feet, and the number of aisle is 6, so average speed of the system can be calculated as: Speed= 146200 = ~1.5 feet/sec. To find the power requirement, it was assumed that the total weight of the system to be pulled on a sand surface at a 10 degrees slope is 600 pounds on sand. The free body diagram of the vehicle is shown in Figure 3-1. Where Mg =W is the weight of the body acting at the centre of gravity of the vehicle, N is the normal reaction of all the tires, Ffr = Fr is the rolling resistance acting opposite to the direction of motion of the vehicle, and F is the force applied to the system. B On the basis of the free body diagram we can write the force equations as follows: F =W. Sin (10) +Fr; (3-2) B And, Fr =W. Cos (10) x ; (3-3) B

PAGE 52

39 Figure 3-1. Free body diagram F=W. Sin (10) +W. Cos (10) x ; (3-4) B B Where; is rolling coefficient of friction between rubber and sand and is given as 0. 3. After putting the values in equation 3-4, we get F= ~282 lb. The speed required by the system is 1.5 feet/sec. So the power requirement of the system is P=282 x 1.5= 423 lb-ft/s. Since 1 Hp= 550 lb-ft/s. Which establishes the horsepower requirement of the system as 423/550=0.77 Hp. On the basis of this calculation, two 0.75 Hp DC motors were selected, giving sufficient safety factor for unknown conditions. Design of Vehicle The dimension of the vehicle was fixed at 32”x16”, due to constraints given previously. The conceptual design of the vehicle created in AUTOCAD 2002, in order to visualize and fit the various parts in the design workspace. In Figure 3-2 the AUTOCAD

PAGE 53

40 drawing of the initial design is shown. Aluminum was selected for the body structure, due to its light weight and aesthetic. Two 12 volts, 60 Amp-hours, (34 lb each), batteries were chosen to supply the power to the system. This power supply can drive the system under worst case scenario for nearly 1.5 hours. Two 0.75 Hp Lesson Motors were used to drive the vehicle in the differential steering mode. A gear reducer with a ratio 20:1 was used to reduce the maximum motor speed from 1800RPM to 90RPM and thus increase driving torque. A variable speed motor controller was provided for each motor, which controlled the speed of the motor via a 0-10 V reference signal. The power is transmitted from the motor to the wheels through a chain and sprocket drive mechanism. Each motor drives three interconnected wheels on one side of the vehicle. Figure 3-2. Conceptual diagram of the base vehicle in AUTOCAD 2002 Figure 3-3 shows the vehicle chassis, motors, gear reducers, drive train and batteries as installed. In the upcoming discussions, we will refer to this as base vehicle.

PAGE 54

41 Figure 3-3. Base vehicle Sensors Ultrasonic sensors (RPS-401A, Migatron) were chosen for steering error detection, because of their reasonable cost, good accuracy and ability to work in a greenhouse environment. The ultrasonic sensors are encapsulated to protect against moisture and operate on a 20-30VDC. It has narrow beam angle which gives high spatial resolution. A flat target can tilt up to 8 degrees and still can be detected. The sensor output is an analog 0 to 10VDC signal that is proportional to the distance to the target. An LED indicator is provided for these sensors. The LED is green when the sensor is not detecting anything and fades to red as a target comes into its range. The frequency of operation for the RPS-401A is 212 kHz for the 4” to 40” range. Ultrasonic sensors were placed on the front left and right side of the base vehicle. They were calibrated to provide an equation to the voltage data to range data. Since the sensor output is linear, a linear equation converts voltage data into range data. Early experimentation revealed a high degree of noise in the sensor measurement. A signal

PAGE 55

42 averaging method was employed to smooth the data and provide stable range measurement. A set of five data points were averaged to give a signal range measurement. Front end obstacle detection and emergency stop was provided by another ultrasonic sensor (RPS-409A). It has a sensing range from 8” to 80”. It was chosen for its longer detection range. It uses the same input power and outputs an analog voltage from 0-10VDC. In order to calibrate the ultrasonic sensors, a flat object was placed at a known in front of the ultrasonic sensors. After each measurement, the object was moved to a different known distance. The voltage output from the analog ultrasonic sensor was measured. Distance versus voltage graph was plotted to find the calibration equation of each sensor. The correlation between the distance and the voltage came out be linear with R2value of 0.99, as expected from the specification sheets of the ultrasonic sensors. Equations 3-5, 3-6, and 3-7 provide the calibration equations for the left, right and front sensors respectively to convert the sensor output voltage information into range information in inches. Range-Left = (4.82xLeft-Sensor-Output) + 3.166 (3-5) Range-Right = (4.74xRight-Sensor-Output) + 2.993 (3-6) Range-Front = (8.075x Front-Sensor-Output) + 0.209 (3-7) Tern Board Controller The guidance control of the autonomous sprayer is accomplished by a control board, which is manufactured by Tern. The Tern’s 586 engine with P100 and Memory card (MM-A) was selected to perform the task of control. This is the brain of the system. The physical dimension of the board is 3.6 x 2.3 x 0.3 inches. It is a C/C++

PAGE 56

43 programmable microprocessor module, based on 100/133 MHz, 32-bit CPU (ElanSc520, AMD) with high performance floating coprocessor. The 586-Engine boots up from on-board 512KB Flash, and supports up to 512KB battery-backed SRAM. It has 4-channel, 200KH parallel 12-bit DAC with 0-2.5 V analog output and 8-channel 300KHz parallel, 12-bit ADC with 0-5V analog input. P100 provides a total of 100TTL I/O expansion lines to the 586 engine. Two channels of RS-232 drivers and a 5V regulator are on-board. It requires 8.5V to 12V DC power input. Software is downloaded with the help of RS-232 to the Engine from the PC. Since the analog input to the Tern 586 is 0-5V, and the ultrasonic sensor outputs from 0-10V, a signal conditioning circuit, manufactured by Tern, was added to the controller. It converts the industrial standard 10V analog input signals to 0-4V analog signals. The 0-4V analog signal can then be directly fed into the ADC. The ADC on board the 586 engine generated noise on the signal. An alternate 16 bit ADC (ADS8344), with a sampling rate of 10 kHz, was used to convert the analog ultrasonic sensor signal to a digital 16 bit number. It supports a 68-pin PCMCIA socket for ATA-type flash memory cards. It provides additional memory support up to 1 GB to the 586-engine, which in our case was used to collect real time data from the ultrasonic sensors to check the performance of the control. In Figure B-1(Appendix-B) a detailed circuit diagram is provided which shows how the motor, battery and the Tern-Board are connected and powered. The base vehicle has three modes of operations; the first mode is manual mode, where on/off switches and variable resistance potentiometers are used to manually control the vehicle; the second mode is automatic, where the vehicle is totally controlled by the Tern-586 engine; and the

PAGE 57

44 third mode, is automatic control with manual speed limit. Figure B-3, in Appendix-B provides the circuit for these options. Control Strategy The control strategy based on Fuzzy logic was selected because of its ease of implementation and its ability to handle nonlinear dynamics of the vehicle. Fuzzy logic uses human reasoning concepts to come up with decisions on the basis of fuzzy input data. One ultrasonic sensor was placed on the left and right side of the vehicle to obtain range data from vehicle centerline to the table tops. By this method, the path error with respect to the aisle way centerline is obtained. One additional ultrasonic sensor was placed on the front of the vehicle for obstacle detection, so that suitable action can be taken to avoid front-end collision. Two more ultrasonic sensors were placed on the rear of the vehicle to allow the vehicle to go backward and as well as forward in the aisle way. We concentrated on forward motion of the base vehicle in the aisle way for this study. In the following subsection a detailed description of the control algorithm is provided with a flow chart. Control Algorithm In this subsection, the algorithm to control the autonomous sprayer is discussed. The flow chart of the algorithm is shown in the Figure 3-4. The signal from the ultrasonic sensor on the front, left and right side is fed through an Analog-to-Digital converter. Digital data is converted into range information by using the calibration equation of each sensor given previously. If the front end sensor detects any object within the 15” span, the vehicle stops, otherwise, the data from the left and right sensor is used to detect whether the vehicle is within an 18” to 24” aisle. If true, the left and right range information is subtracted to determine the error information and

PAGE 58

45 change-of-error information which are fed to the fuzzy logic module of the control, which decides the left and right motor output voltage. If the range sensor does not detect an 18” to 24” aisle, the default voltage is provided to the two motors, so that it will continue moving in a straight line from its last position. Engine Front Sensor Obstacle Distance>15” Start Aisle width 18”-24” Fuzzification Inference Defuzzification Left and right Motor out p u t Ultrasonic sensors data input Stop N Default s p ee d N Y Y Figure 3-4. Flow chart

PAGE 59

46 Fuzzy Logic PD Controller In this section, the Fuzzy PD controller is discussed, which was developed for the base vehicle steering control. The range data from the left and right sensors are subtracted to get the path error, represented by “e”, and difference in consecutive error, given by “de”. These inputs are given to the control systems in terms of linguistic variables. The output from the control system is the left motor voltage. The right motor voltage is calculated by subtracting the left motor voltage from 10, so that the average voltage to the motors should be 5V. The shape of the membership function plays a very crucial role in a fuzzy logic controller. The function of the membership function is to quantitatively interpret the meaning of linguistic value. The membership function can be triangular, trapezoidal or bell shaped; for simplicity the triangular shape function is chosen for our application. After deciding the membership function shape, mapping of the linguistic variables are done in their respective domain. In Fuzzification mode, the inputs; error “e” and change of error “de” are divided into domain ranges from -8” to +8”(which accounts for 18” to 24” aisle width) into three linguistic variables of Negative, Zero and Positive. Normalization of these linguistic variables are done using the triangular functions into a scale from 0 to 1 as shown in Figure 3-5 and Figure 3-6 respectively; to make the system works well for any aisle width ranging from 18” to 24”. In the same way the output domain is divided from -4 V to 14 V into five linguistic variables of Nmax (Negative Maximum), Nmed (Negative Medium), Zero, Pmed (Positive Medium) and Pmax (Positive Maximum) and normalization of these linguistic variables are done using the triangular functions into a scale from 0 to 1 which is shown in Figure 3-7.

PAGE 60

47 Figure 3-5. Normalized error input domain Figure 3-6. Normalized change-of-error input domain Figure 3-7. Normalized left motor output range

PAGE 61

48 The following are the rule base, based on nine different If-Than rules: Rule 1:-If “e is Negative and de is Negative” Then “Voltage Output to the left motor is Pmax”. Rule 2:-If “e is Negative and de is Zero” Then “Voltage Output to the left motor is Pmed”. Rule 3:-If “e is Negative and de is Positive” Then “Voltage Output to the left motor is Zero”. Rule 4:-If “e is Zero and de is Negative” Then “Voltage Output to the left motor is Nmed”. Rule 5:-If “e is Zero and de is Zero” Then “Voltage Output to the left motor is Zero”. Rule 6:-If “e is Zero and de is Positive” Then “Voltage Output to the left motor is Nmed”. Rule 7:-If “e is Positive and de is Negative” Then “Voltage Output to the left motor is Zero”. Rule 8:-If “e is Positive and de is Zero” Then “Voltage Output to the left motor is Nmed”. Rule 9:-If “e is Positive and de is Positive” Then “Voltage Output to the left motor is Nmax”. According to the input to the control system, the respective rules are fired. From each rule depending on “e” and “de”, corresponding normalized membership value for the error and change of error are assigned to each rule base. The minimum of the membership value of “e” and “de” is assigned to the corresponding rule to find the crisp value for the output depending on the rule antecedent. For example if and are the normalized value for an input of “e” and “de” for rule 1.The minimum of and ,say , is chosen to decide the corresponding rule antecedent. In case any one of the rule is not fired then zero is assigned to . So after firing of each rule, a crisp value from each individual rule is obtained (, ...9). In the defuzzification mode, the Center-of

PAGE 62

49 Gravity, which is also known as Center-of-Area method is used to find the crisp de-normalized value of the output, which is in our case, is the left motor voltage. Left_Motor_Voltage_Output = 9191iiiiib (3-7) Where: b is the middle point of the triangular linguistic output variable, and i i is the corresponding membership function value. The right motor voltage is calculated by subtracting the left motor voltage with 10. Right_Motor_Voltage_Output=10-Left_Motor_Voltage_Output (3-8) For example if “e” is 0.25” and de is ”, then “e” represents two linguistic variable, Zero and Positive ,which can be seen from Figure 3-5 and de represents the linguistic variable Zero, which can be seen from Figure 3-6. Only rule five and rule eight will be fired in this case. Rule five will assign the value equal to 0.5 and rule eight will assign equal to 0.0625. Rest of the values from respective rules will be zero. From equation 3-7 the left motor voltage output can be calculated as (4x0.0625+5x0.5)/ (0.0625+0.5) = 4.88V. And, Right_Motor_Voltage_Output = 10-4.88=5.22V. Thus it can be seen that the average voltage to the motors are 5V. A signal conditioning circuit (see Appendix 2, Figure B-2) scales the output coming from the tern controller from 0-2.5VDC to 0-10VDC, and sends it the motor-controller, which in turn provides 0-24VDC to the motors. The average voltage provided by the Tern controller to motors is 5V. The code for the fuzzy logic controller is provided in Appendix-A.

PAGE 63

CHAPTER 4 EXPERIMENTAL METHODS Experiments were conducted to check the robustness and accuracy of the control system. The vehicle guidance performances of two different approaches of spraying were compared to the base vehicle without spraying equipment. The experiments were conducted on two different kinds of ground surface; sand surface and concrete surface. In the first approach of spraying, which we called the self-contained mode; the base vehicle contains the whole spraying system, i.e. sprayer tank, boom, pump, etc. In the second approach, which we called the trailer mode; the spraying system is towed by the base vehicle along the aisle. For each experiment three repetitions were performed. A track was constructed to simulate the greenhouse environment, which is shown in Figure 4-1. We made an aisle with parallel wooden beams which were supported by custom made steel stands, which is shown in Figure 4-2. The length of the aisle is kept as 32 feet, which was divided into four sections of 8 feet each. The width of the aisle can be easily changed to any aisle width. To check the performance of the base vehicle control system and its steering ability, experiments were conducted for aisle width of 18”, 20” and 24”. The base vehicle was started at different offsets and heading angles for each repetition. In self-contained mode (shown in Figure 4-2) and trailer mode (shown in Figure 4-4) the experiments were conducted for aisle width of 24” on concrete and sand surfaces. In each case, three runs were made. Data from the right and left front ultrasonic sensors were collected in PCMCIA card file format using 8-bit character mode. This was necessary due to the 50

PAGE 64

51 limitation of the data transfer capability of the Tern-586 engine. The data from the sensors were used to provide position error measurements for evaluating vehicle performance. Figure 4-1. Actual greenhouse aisle way In order to check the robustness of the control system, a severe disturbance was added to the track. A bump was constructed of wood which would cause both ultrasonic sensors to loose the target, thus disturbing the controller as shown in Figure 4-3. Experiments were performed in the base vehicle mode for aisle width of 20”. The first section along the aisle way was fixed as 20” and provided normal conditions to the base

PAGE 65

52 vehicle. The bump was placed near the end of the first section so that for some period of time the left and the right sensor signal lost completely. After the bump, the aisle way returned to normal 20” of spacing. Three repetitions were run for this track conditions. Figure 4-2. Self-contained mode on concrete, aisle width 24” In order to compare the self-contained mode and the trailer mode 24” aisle way was chosen for the experiment due to existing trailer, which has a width of 22”. These tests were conducted on sand and concrete with three repetitions each. Following are the summery of the experiments that were performed: 18” aisle width in base vehicle mode, three runs on concrete. 20” aisle width in base vehicle mode, three runs on concrete. 20” aisle width in base vehicle mode, with a bumper in the first section of the aisle way, three runs on concrete. 24” aisle width in base vehicle mode, three runs on concrete.

PAGE 66

53 24” aisle width in self-contained mode three runs on concrete. 24” aisle width in trailer mode three runs on concrete. 24” aisle width in self-contained mode three runs on sand. 24” aisle width in base vehicle mode three runs on sand. 24” aisle width in trailer mode three runs on sand. Figure 4-3. Base vehicle on bumper After collecting the data in the PCMCIA card, it was uploaded into a laptop. A program was written in Matlab, to read the data and plot the path errors with respect to the number of data points. The number of data points for each run was different due to the different starting and ending points. Since the starting points in each run were different in terms of offsets and heading angles, same number of data points were taken from the last half of the run to calculate the path root mean square error, standard deviations, maximum error and average error for each run of self-contained mode, trailer mode and base vehicle mode on concrete and sand for 24” aisle width. Average path

PAGE 67

54 RMS errors of three runs were used to compare the performance in each mode of operations on sand and concrete ground conditions. Figure 4-4. Base vehicle with trailer

PAGE 68

CHAPTER 5 RESULTS AND CONCLUSION Results Experiments were performed as described in chapter 4, and data was collected and plotted. Error, which is the deviation from the center line of the aisle way, was plotted with respect to the number of samples collected. Root mean square (RMS), mean, standard deviation and maximum error were reported for each test and then the average of RMS values, based on three repetitions were used to compare the performance under different conditions of operations. In this case, RMS. error provides a measure of the spread of the actual path taken by the vehicle about the desired path (center line of the two side rails). For comparison purposes, the same numbers of data points were taken. For each test it was difficult to start the vehicle from the same initial point, comparisons were based on the last half of the data, which allowed the vehicle time to reach steady state. The following plots show the complete run information. The plots for three repetitions of base vehicle mode on concrete, where the aisle width was fixed at 18”, are shown in Figure 5-1, 5-2, and 5-3. It can be seen from Figure 5-1 and Figure 5-2 that the vehicle was started with a small offset of less than 0.25” from the centerline. The disturbance in the graph occurred due to the unevenness in the aisle way. The reason for the unevenness in the aisle way is because of the 0.5” bolts used to connect two consecutive rails in both sides, which decrease the aisle way from 18” to 17.5” at some points. The base vehicle was started with more than 0.5” of offset in Figure 5-3. Initially the error increased to more than 1”, which was later recovered. 55

PAGE 69

56 0 10 20 30 40 50 60 70 80 90 100 -4 -3 -2 -1 0 1 2 3 4 Data PointsError in Inches Figure 5-1. Run-1 on concrete in base vehicle mode, aisle width-18” 0 10 20 30 40 50 60 70 80 90 100 -4 -3 -2 -1 0 1 2 3 4 Data PointsError in Inches Figure 5-2. Run-2 on concrete in base vehicle mode, aisle width-18”

PAGE 70

57 0 10 20 30 40 50 60 70 80 90 100 -4 -3 -2 -1 0 1 2 3 4 Data PointsError in Inches Figure 5-3. Run-3 on concrete in base vehicle mode, aisle width-18” 0 10 20 30 40 50 60 70 80 90 100 -4 -3 -2 -1 0 1 2 3 4 Data PointsError in Inches Figure 5-4. Run-1 on concrete in base vehicle mode, aisle width-20” The plots for three repetitions of base vehicle mode on concrete, where the aisle width was fixed at 20”, are shown in Figure 5-4, 5-5, and 5-6. These figures shows that the undulation in the path has increased as compared to the 18” of aisle way. The increase in undulation can be explained due to the constant average velocity of the base vehicle. The base vehicle was started from different offset and heading angles. If the vehicle

PAGE 71

58 comes to the centerline with slight heading angle, due to the constant velocity it tried to go forward which increased the error again. 0 10 20 30 40 50 60 70 80 90 100 -4 -3 -2 -1 0 1 2 3 4 Data PointsError in Inches Figure 5-5. Run-2 on concrete in base vehicle mode, aisle width-20” 0 10 20 30 40 50 60 70 80 90 100 -4 -3 -2 -1 0 1 2 3 4 Data PointsError in Inches Figure 5-6. Run-3 on concrete in base vehicle mode, aisle width-20”

PAGE 72

59 The plots for three repetitions of base vehicle mode on concrete, where the aisle width was fixed at 24”, are shown in Figure 5-7, 5-8, and 5-9. As it can be seen from these figures the undulation in this case has increased even more as compared to the 20” aisle way. Figure 5-9 shows the robustness of the steering control. The error has increased to 3.5”, but after data point 35, it can be seen that the base vehicle maintained the error within the 1”. 0 10 20 30 40 50 60 70 80 90 100 -4 -3 -2 -1 0 1 2 3 4 Data PointsError in Inches Figure 5-7. Run-1 on concrete in base vehicle mode, aisle width-24” The plots for three repetitions of base vehicle mode on concrete, where the aisle width was fixed at 20” and a bumper is placed in the first section of the aisle-way, are shown in Figure 5-10, 5-11, and 5-12. The bumper example shows that the base vehicle still managed to steer its way, in spite of losing vital information for some period of time. In these figures date points from near 20 to 40 represent the losing of sensor information. As it can be seen from Figure 5-12, the base vehicle was started with almost zero offset and after it came down from the bumper, it had error of 2.5”, which later recovered to desired path.

PAGE 73

60 0 10 20 30 40 50 60 70 80 90 100 -4 -3 -2 -1 0 1 2 3 4 Data PointsError in Inches Figure 5-8. Run-2 on concrete in base vehicle mode, aisle width-24” 0 10 20 30 40 50 60 70 80 90 100 -4 -3 -2 -1 0 1 2 3 4 Data PointsError in Inches Figure 5-9. Run-3 on concrete in base vehicle mode, aisle width-24”

PAGE 74

61 0 10 20 30 40 50 60 70 80 90 100 -20 -15 -10 -5 0 5 Data PointsError in Inches Figure 5-10. Run-1 on concrete in base vehicle mode with bumper, aisle width-20” 0 10 20 30 40 50 60 70 80 90 100 -20 -15 -10 -5 0 5 Data PointsError in Inches Figure 5-11. Run-2 on concrete in base vehicle mode with bumper, aisle width-20”

PAGE 75

62 0 10 20 30 40 50 60 70 80 90 100 -20 -15 -10 -5 0 5 10 Data PointsError in Inches Figure 5-12. Run-3 on concrete in base vehicle mode with bumper, aisle width-20” 0 10 20 30 40 50 60 70 80 90 100 -4 -3 -2 -1 0 1 2 3 4 Data PointsError in Inches Figure 5-13. Run-1 on concrete in self-contained mode, aisle width-24”

PAGE 76

63 0 10 20 30 40 50 60 70 80 90 100 -4 -3 -2 -1 0 1 2 3 4 Data PointsError in Inches Figure 5-14. Run-2 on concrete in self-contained mode, aisle width-24” 0 10 20 30 40 50 60 70 80 90 100 -4 -3 -2 -1 0 1 2 3 4 Data PointsError in Inches Figure 5-15. Run-3 on concrete in self-contained mode, aisle width-24” The plots for three repetitions of self-contained mode on concrete, where the aisle width was fixed as 24” are shown in Figure 5-13, 5-14, and 5-15. It can be seen that in the self-contained mode the undulation has decreased, which is due to the increase in the inertial weight on the base vehicle.

PAGE 77

64 The plots for three repetitions of trailer mode on concrete, where the aisle width was fixed as 24” are shown in Figure 5-16, 5-17, and 5-18. Distributed load and increased length of the system caused undulating nature of the system path. 0 10 20 30 40 50 60 70 80 90 100 -4 -3 -2 -1 0 1 2 3 4 Data PointsError in Inches Figure 5-16. Run-1 on concrete in trailer mode, aisle width-24” 0 10 20 30 40 50 60 70 80 90 100 -4 -3 -2 -1 0 1 2 3 4 Data PointsError in Inches Figure 5-17. Run-2 on concrete in trailer mode, aisle width-24”

PAGE 78

65 0 10 20 30 40 50 60 70 80 90 100 -4 -3 -2 -1 0 1 2 3 4 Data PointsError in Inches Figure 5-18. Run-3 on concrete in trailer mode, aisle width-24” The plots for three repetitions of base vehicle mode on sand, where the aisle width was fixed as 24” are shown in Figure 5-19, 5-20, and 5-21. The plots for three repetitions of self-contained mode on sand, where the aisle width was fixed as 24” are shown in Figure 5-22, 5-23, and 5-24. The plots for three repetitions of trailer-mode on sand, where the aisle width was fixed as 24” are shown in Figure 5-25, 5-26, and 5-27. Loose sand was the basic problem encountered in running the experiments on sand, which caused the wheels to dip into the sand and lose the tractive ability of the vehicle because of slipping. Due to low clearance between the base vehicle and ground surface led unwanted orientation changes of the vehicle.

PAGE 79

66 0 10 20 30 40 50 60 70 80 -4 -3 -2 -1 0 1 2 3 4 Data PointsError in Inches Figure 5-19. Run-1 on sand in base vehicle mode, aisle width-24” 0 10 20 30 40 50 60 70 80 -4 -3 -2 -1 0 1 2 3 4 Data PointsError in Inches Figure 5-20. Run-2 on sand in base vehicle mode, aisle width-24”

PAGE 80

67 0 10 20 30 40 50 60 70 80 90 100 -4 -3 -2 -1 0 1 2 3 4 Data PointsError in Inches Figure 5-21. Run-3 on sand in base vehicle mode, aisle width-24” 0 10 20 30 40 50 60 70 -4 -3 -2 -1 0 1 2 3 4 Data PointsError in Inches Figure 5-22. Run-1 on sand in self-contained mode, aisle width-24”

PAGE 81

68 0 10 20 30 40 50 60 70 80 -4 -3 -2 -1 0 1 2 3 4 Data PointsError in Inches Figure 5-23. Run-2 on sand in self-contained mode, aisle width-24” 0 10 20 30 40 50 60 70 80 -4 -3 -2 -1 0 1 2 3 4 Data PointsError in Inches Figure 5-24. Run-3 on sand in self-contained mode, aisle width-24”

PAGE 82

69 0 10 20 30 40 50 60 70 80 90 100 -4 -3 -2 -1 0 1 2 3 4 Data PointsError in Inches Figure 5-25. Run-1 on sand in trailer mode, aisle width-24” 0 10 20 30 40 50 60 70 80 -4 -3 -2 -1 0 1 2 3 4 Data PointsError in Inches Figure 5-26. Run-2 on sand in trailer mode, aisle width-24”

PAGE 83

70 0 10 20 30 40 50 60 70 80 -4 -3 -2 -1 0 1 2 3 4 Data PointsError in Inches Figure 5-27. Run-3 on sand in trailer mode, aisle width-24” Tables 5-1 through 5-6 show the RMS, mean, maximum error, and standard deviation values for each test and their respective repetitions, using similar data set of 35 each from the second half of each test. Table 5-7 shows the average RMS value of three runs under different conditions. Table 5-1. 24” Aisle width on concrete, in base-vehicle mode Run RMS Maximum Error Average Error Standard Deviation 1 0.3881” 1.0614” 0.3011” 0.3534” 2 0.5107” 1.2473” 0.4096” 0.4728” 3 0.2377” 0.8724” 0.1794” 0.2289” Average 0.3789” 1.0603” 0.2967” 0.3517” Table 5-2. 24” Aisle width on sand, in base-vehicle mode Run RMS Maximum Error Average Error Standard Deviation 1 0.9839” 2.4986” 0.7936” 0.9775” 2 1.0086” 2.3720” 0.8304” 0.9895” 3 0.4979” 1.0740” 0.3906” 0.5028” Average 0.8301” 1.9815” 0.6715” 0.8233”

PAGE 84

71 Table 5-3. 24” Aisle width on concrete, in self-contained mode Run RMS Maximum Error Average Error Standard Deviation 1 0.2828” 0.4975” 0.2491” 0.1654” 2 0.1877” 0.4944” 0.1469” 0.1641” 3 0.2204” 0.4975” 0.1797” 0.1605” Average 0.2303” 0.4965” 0.1919” 0.1634” Table 5-4. 24” Aisle width on sand, in self-contained mode Run RMS Maximum Error Average Error Standard Deviation 1 0.8063” 1.8080” 0.6508” 0.7791” 2 0.8183” 1.5629” 0.6907” 0.8162” 3 0.9560” 1.9378” 0.7992” 0.9533” Average 0.8586” 1.7696” 0.7136” 0.8495” Table 5-5. 24” Aisle width on concrete, in trailer mode Run RMS Maximum Error Average Error Standard Deviation 1 0.4153” 1.0053” 0.3550” 0.4098” 2 0.4668” 1.0614” 0.3654” 0.3952” 3 0.2281” 0.4975” 0.1897” 0.1834” Average 0.3700” 0.8547” 0.3034” 0.3295” Table 5-6. 24” Aisle width on sand, in trailer mode Run RMS Maximum Error Average Error Standard Deviation 1 0.8548” 1.8080” 0.7383” 0.8459” 2 0.6925” 1.2504” 0.5877” 0.7022” 3 1.4326” 2.7437” 1.1500” 1.0452” Average 0.9932” 1.9341” 0.8253” 0.8645” As it can be seen from the above Tables, the system performed better on concrete as compared to sand in all modes of operation based on the RMS value. The best performance was obtained in self-contained mode on concrete; where average values of RMS, maximum error, average error and standard deviation were minimal. The average RMS error in trailer mode was more than 60%, compared to self-contained mode on concrete and the average RMS error in trailer mode was more than 15% on sand, compared to self-contained mode on sand. High value of maximum error in base-vehicle

PAGE 85

72 mode, which can be seen in Table 5-2, was due to the large offset and heading angle at the entry point of the aisle way. Conclusion A base vehicle of dimensions 32”x16” was built, which satisfies the minimum aisle width requirement of the existing greenhouse. Ultrasonic sensors were used to get the range information, which enabled it to work both at night and in a foggy environment. Fuzzy logic based controller was designed, implemented and tested to control the steering of the sprayer in the aisle-way on concrete and sand. Spraying can be performed in self-contained mode and as well as in trailer mode on concrete and sand with an average RMS error value of less than 1”, for aisle width of 24”. The robotic sprayer was successfully able to navigate 18”, 20” and 24” aisle widths of aisle-ways, even in the case of losing vital information for some period of time in base vehicle mode. Self-contained mode was better than trailer mode on both sand and concrete. The system performed better than 60% in terms of RMS error in self-contained mode than in trailer mode on concrete and better than 15% on sand; which suggested the use of self-contained mode operation for spraying. Discussion and Future Work Due to the unavailability of correct width of trailer and tank, experiments could not be performed in self-contained mode and trailer mode on aisle width of 18”. Compact sand surface could have provided better results on sand. Ability to start the sprayer from the same initial points with constant offset and heading angle during each test could have given more accurate performance measures. Future research related to the robotic sprayer would likely include improvements to the design of vehicle, provide ability to go backward and forward along the aisle way,

PAGE 86

73 increase the sensing ability by incorporating additional sensors, enhancing the fuzzy logic steering control code for improved performance and ability to navigate through different aisle way configurations in the greenhouse.

PAGE 87

APPENDIX A FUZZY LOGIC CONTROL SOFTWARE CODE IN ‘C’ /************************************************************ Main Program in ‘C’for the Fuzzy logic PD controller and Data Collection, run under Tern-586 Engine. Main.C *********************************************************/ /* Header Files */ #include #include #include <586.h> #include #include #include #include /* Variables deceleration and initialization */ unsigned char sta,err,sec,cnt; unsigned int i,z,h,p0,p1,p2,j1; long int dac,dac1,dac2,dac_old,j,k; double d_l,d_r,d_left,d_right,d_fr,d_front; unsigned char d; doublek1,m1,m2,m3,m4,m5,m11,m12,m22,m21,m31,m32,m41,m42,m51,m52,m61,m62; double m71,m72m81,m82,m91,m92,a,m6,de,m7,m8,m9,e,e1,left_output,right_output,d1; #define PPI1 0x1088 #define PPI 0x1090 #define CK_HIGH _asm{ mov dx,PPI; in al, dx; or al,0x80; out dx,al; } #define CK_LOW _asm{ mov dx,PPI; in al, dx; and al,0x7f; out dx,al; } #define DI_HIGH _asm{ mov dx,PPI; in al, dx; or al,0x40; out dx,al; } #define DI_LOW _asm{ mov dx,PPI; in al, dx; and al,0xbf; out dx,al; } #define CS_HIGH _asm{ mov dx,PPI; in al, dx; or al,0x20; out dx,al; } #define CS_LOW _asm{ mov dx,PPI; in al, dx; and al,0xdf; out dx,al; } unsigned char dout(void); unsigned int ad16(unsigned char k); unsigned int adat[8],adat1[8]; unsigned char s[2]; /* Control bytes for single ended, internal clock mode of ADS8344 */ unsigned char c_byte[] = {0x86,0xc6,0x96,0xd6,0xa6,0xe6,0xb6,0xf6}; void main(void) /* Main start */ { struct fs_descrip *file; char filename[10]="File.dat"; /* File to collect data */ 74

PAGE 88

75 sc_init(); /* 586-Engine initialization */ outportb(PPI+3,0x8f); /* ppi mode 0, Port0 output for motors, other for sensor inputs */ outportb(PPI1+3,0x80); outportb(PPI1+2,0xff); dac=26214; /* Default 5V motor voltage initialization */ e=0; e1=0; /* Error and Change-of-Error initialization */ while(1){ d_l=0; d_r=0; /* Initialization */ d_le=0; d_re=0; for (j1=0;j1<5;j1++) { for(i=0; i<2; i++) { adat[i]= ad16( c_byte[i] ) >>4; /* Reading 12 Bit Ultrasonic Signal for Steering Control */ adat1[i]= ad16( c_byte[i] ) >>8; /* Reading 8 Bit Ultrasonic Signal for Data Collection */ } /* end for */ s[0]=adat1[0]; s[1]=adat1[1]; d_l=d_l+adat[0]; /* Left ultrasonic data */ d_r=d_r+adat[1]; /* Right ultrasonic data */ d_fr=d_fr+adat[4]; /* Front ultrasonic data */ delay_ms(1); } /* end for */ /* Check the PCMCIA Card Status */ if (fs_initPCFlash() != 0) { i=-1; return -1; } file = fs_fopen(filename, O_WRONLY); if (file==NULL) /* Could not create, try to open for append... */ file = fs_fopen(filename, O_APPEND); x=file->ff_status; /* Check the file status */ if(x>0) fs_fclose(file); else {fs_fputc(s[0],file); fs_fputc(s[1],file); fs_fclose(file);} }

PAGE 89

76 /* Averaging of five data points */ d_l=d_l/5.0; d_r=d_r/5.0; d_fr=d_fr/5.0; /* Scale to convert 12 bit data to voltage */ d_l=(-20.0*d_l/4095.0+10.0); d_r=(-20.0*d_r/4095.0+10.0); d_fr=(-20.0*d_fr/4095.0+10.0); d_left=4.82*d_l+3.166; /* Calibration equation of left sensor to get range information */ d_right=4.74*d_r+2.993; /* Calibration Equation of right sensor to get range information*/ d_front=8.075*d_fr+0.209; /* Calibration equation of front sensor to get range information*/ if (d_left<=20.0 && d_right<=20.0) { e1=d_left-d_right; k1=d_left+d_right; de=(e1-e); m1=0;m2=0;m3=0;m4=0;m5=0;m6=0;m7=0;m8=0;m9=0; /* Variables initialization for fuzzy logic control*/ if(-8.0<=e1&& e1<=0.0) { if(-8.0<=e1 && e1<=-4.0) /* Rule One IF E is Negative and de is Negative THEN Left Motor Voltage is Pmax */ m11=(-8.0-e1)/-4.0; else m11=e1/-4.0; if(-8.0<=de && de<=0.0) { if(-8.0<=de && de<=-4.0) m12=(-8.0-de)/-4.0; else m12=de/-4.0;} if(m11<=m12) m1=m11; else m1=m12;} if(-8.0<=e1 && e1<=0.0) /* Rule Two IF E is Negative and de is Zero THEN Left Motor Voltage is Pmed */ { if(-8.0<=e1 && e1<=-4.0) m21=(-8.0-e1)/-4.0; else

PAGE 90

77 m21=e1/-4.0; if(-0.5<=de&& de<=0.5) { if(-0.5<=de && de<=0) m22=(-0.5-de)/-0.5; else m22=(0.5-de)/0.5;} if(m21<=m22) m2=m21; else m2=m22;} if(-8.0<=e1&& e1<=0.0) /* Rule Three IF E is Negative and de is Positive THEN Left Motor Voltage is Zero */ { if(-8.0<=e1 && e1<=-4.0) m31=(-8.0-e1)/-4.0; else m31=e1/-4.0; if(0.0<=de && de<=8.0) { if(0.0<=de&& de<=4.0) m32=de/4.0; else m32=(8.0-de)/4.0;} if(m31<=m32) m3=m31; else m3=m32;} if(-0.5<=e1 && e1<=0.5) /* Rule Four IF E is Zero and de is Negative THEN Left Motor Voltage is Pmed */ { if(-0.5<=e1 && e1<=0.0) m41=(-0.5-e1)/-0.5; else m41=(0.5-e1)/0.5; if(-8.0<=de && de<=0.0) { if(-8.0<=de && de<=-4.0) m42=(-8.0-de)/-4.0; else m42=de/-4.0;} if(m41<=m42) m4=m41; else m4=m42;} if(-0.5<=e1 && e1<=0.5) /* Rule Five IF E is Zero and de is Zero THEN Left Motor Voltage is Zero */

PAGE 91

78 { if(-0.5<=e1 && e1<=0.0) m51=(-0.5-e1)/-0.5; else m51=(0.5-e1)/0.5; if(-0.5<=de&& de<=0.5) { if(-0.5<=de && de<=0.0) m52=(-0.5-de)/-0.5; else m52=(0.5-de)/0.5;} if(m51<=m52) m5=m51; else m5=m52;} if(-0.5<=e1 && e1<=0.5) /* Rule Six IF E is Zero and de is Positive THEN Left Motor Voltage is Nmed */ { if(-0.5<=e1 && e1<=0.0) m61=(-0.5-e1)/-0.5; else m61=(0.5-e1)/0.5; if(0.0<=de && de<=8.0) { if(0.0<=de&& de<=4.0) m62=de/4.0; else m62=(8.0-de)/4.0;} if(m61<=m62) m6=m61; else m6=m62;} if(0.0<=e1&& e1<=40.0) /* Rule Seven IF E is Positive and de is Negative THEN Left Motor Voltage is Zero */ { if(0.0<=e1 && e1<=4.0) m71=e1/4.0; else m71=(8.0-e1)/4.0; if(-8.0<=de && de<=0.0) { if(-8.0<=de && de<=-4.0) m72=(-8.0-de)/-4.0; else m72=de/-4.0;} if(m71<=m72) m7=m71;

PAGE 92

79 else m7=m72;} if(0.0<=e1&& e1<=8.0) /* Rule Eight IF E is Positive and de is Zero THEN Left Motor Voltage is Nmed*/ { if(0.0<=e1 && e1<=4.0) m81=e1/4.0; else m81=(8.0-e1)/4.0; if(-0.5<=de&& de<=0.5) { if(-0.5<=de && de<=0.0) m82=(-0.5-de)/-0.5; else m82=(0.5-de)/0.5;} if(m81<=m82) m8=m81; else m8=m82;} if(0.0<=e1 && e1<=8.0) /* Rule Nine IF E is Positive and de is Positive THEN Left Motor Voltage is Nmax */ { if(0.0<=e1 && e1<=4.0) m91=e1/4.0; else m91=(8.0-e1)/4.0; if(0.0<=de && de<=8.0) { if(0.0<=de&& de<=4.0) m92=de/4.0; else m92=(8.0-de)/4.0;} if(m91<=m92) m9=m91; else m9=m92;} d1=(10.0*m1+6.0*m2+5.0*m3+6.0*m4+5.0*m5+4.0*m6+5.0*m7+4.0*m8+0.0*m9)/(m1+m2+m3+m4+m5+m6+m7+m8+m9); /* Defuzzification */ left_output=d1; /* Left Motor Output Voltage */ right_output=10.0-d1; /* Right Motor Output Voltage */ if (k1>9.0 && abs(e1)>2.0) {dac1=(26214.0/4.0)*0.75*left_output; dac2=(26214.0/4.0)*0.75*right_output; }

PAGE 93

80 else{ dac1=26214/4.0*left_output; dac2=26214/4.0*right_output; } if(d_front<15.0) {dac1=0; dac2=0;} outport(0x18E0,dac1); /* Left Motor Output */ outport(0x18E2,dac2); /* Right Motor Output */ e=e1; } else { if(d_front<15.0) /* If the Object is within 15" from the vehicle then Stop */ {dac1=0; dac2=0; outport(0x18E0,dac1); outport(0x18E2,dac2);} else{ outport(0x18E0,dac); /* Default Motor Voltage */ outport(0x18E2,dac); }} /* else end */ } /* while end */ } /* main end */ unsigned int ad16(unsigned char k) { unsigned int dat16; CK_LOW DI_LOW // CS_LOW asm{ mov bh, k mov cx,08h /* 8-bit control byte */ } ad1: asm{ rcl bh,1 jc vhigh } DI_LOW asm jmp c_out vhigh: DI_HIGH c_out: CK_HIGH CK_LOW asm loop ad1 /* internal clock mode, 10 micro seconds wait for busy low */

PAGE 94

81 delay_ms(1); asm{ xor bx,bx /* clear bx ready for 16-bit data */ mov cx,10h /* 16-bit ADC bytes shift out on falling edge of CK */ } CK_HIGH CK_LOW dati: asm{ mov ax, 01092h /* DOUT read */ mov dx, ax; in al, dx test al, 080h /* test DOUT */ jz dout0 stc /* set carry */ jmp dout } dout0: asm{ clc; /* clear carry */ } dout: asm rcl bx,1 CK_HIGH CK_LOW asm loop dati // CS_HIGH asm mov ax, bx asm mov dat16, ax return(dat16); } unsigned char dout(void) { unsigned char d; asm mov dx,1092h asm in al, dx asm and al, 080h asm mov d, al return(d); }

PAGE 95

APPENDIX B WIRING AND CIRCUIT DIAGRAM

PAGE 96

83 Figure B-1. Motor interface with Tern-586 Engine

PAGE 97

84 Figure B-2. Signal conditioner circuit to amplify the voltage level from 0-2.5VDC to 0-10VDC

PAGE 98

85 Figure B-3.Wiring diagram of three different modes of operations.

PAGE 99

LIST OF REFERENCES Andeen, G. B. 1988. Robot design handbook.New York, McGraw-Hill Bernabeu, E. J., and J. Tornero. 2002. Hough transform for distance computation and collision avoidance. IEEE Transactions on Robotics and Automation, Volume: 18, Issue: 3, Page(s): 393-398 Borenstein, J., and Y. Koren. 1995. Error eliminating rapid ultrasonic firing for mobile robot obstacle avoidance. IEEE Transactions on Robotics and Automation, Volume: 11, Issue: 1, Page(s): 132-138 Borenstein, J., and Y. Koren. 1988. Obstacle avoidance with ultrasonic sensors. IEEE Journal of Robotics and Automation, Volume: 4, Issue: 2, Page(s): 213-218 Carmer, D. C., and L. M. Peterson. 1996. Laser radar in robotics. Proceedings of the IEEE, Volume: 84, Issue: 2, Page(s): 299-320 Cheng-Chih, L., and R. Lal Tummala. 1994. Adaptive sensor integration for mobile robot navigation, Multi-Sensor Fusion and Integration for Intelligent Systems. IEEE International Conference on MFI 94, Page(s): 85-91 Cho, S. I., and N. H. Ki. 1999. Autonomous speed sprayer using machine vision and fuzzy logic. Transaction of the American Society of Agricultural Engineers, Volume: 42 (40); Page(s): 1137-1143 Cox, I. J. 1989. Blanche: -Position estimation for an autonomous robot vehicle. IEEE/RSJ International Workshop on Intelligent Robots and Systems, Page(s): 432-439 Dasarathy, B. V. 1997. Sensor fusion potential exploitation-innovative architectures and illustrative applications. Proceedings of the IEEE, Volume: 85, Issue: 1, Page(s): 24-38. Dickerson, S. L., and B. D. Lapin. 1991. Control of an omni-directional robotic vehicle with Mecanum wheels. Tele-systems Proceedings, Volume: 1. Page(s): 323-328 Driankov, D., H. Hellondoorn, and M. Reinfrank. 1993. An introduction to fuzzy control. New York, Springer-Verlag 86

PAGE 100

87 Duckett, T., and U. Nehmzow. 1999. Knowing your place in real world environments, Advanced Mobile Robots. (Eurobot '99) Third European Workshop, Page(s): 135-142 Elinas, P., J. Hoey, D. Lahey, J. D. Montgomery, D. Murray, S. Se, and J. J. Little. 2002. Waiting with Jose, a vision-based mobile robot. Proceedings of the IEEE International Conference on Robotics and Automation, Volume: 4. Page(s): 3698-3705 Faceli, K., A. C. P. L. F.de Carvalho, and S. O. Rezende. 2002. Combining intelligent techniques for sensor fusion. Proceedings of the 9th International Conference on Neural Information Processing, Volume: 4, 18-22. Page(s): 1998 -2002 Fu, K. S., R. C. Gonzales, and C. S. G. Lee. 1987. Robotics: control, sensing, vision and intelligence. New York, McGraw-Hill Hao Jifei, Li Xiang, and Yan Dashun. 1999. A multisensor fusing system on ultrasonic sensors. Proceedings of the IEEE International on Vehicle Electronics Conference, Volume: 1, Changchun, China, Page(s): 140-144 Horn, J., and G. Schmidt. 1995. Continuous localization for long-range indoor navigation of mobile robots. Proceedings of the IEEE International Conference on Robotics and Automation, Volume: 1, Nagoya, Japan, Page(s): 387-394 Gat, E., A. Behar, R. Desai, R. Ivlev, J. Loch, and D. P. Miller. 1993. Behavior control for planetary exploration: interim report. Proceedings, IEEE International Conference on Robotics and Automation, Volume: 2, Atlanta, GA, Page(s): 567-571 Ishikawa, S., H. Kuwamato, and Ozawa. 1988. Visual navigation of an autonomous vehicle using white line recognition. IEEE Transactions on pattern analysis and machine intelligence, Volume: 10, Page(s): 743-749 Klafter, R.D, T. A. Chmielewski, and M. Negin. 1989. Robotic engineering: an integrated approach. New Jersey, Prentice Hall Liu, K., and F. L. Lewis. 1993. Some issues about fuzzy logic control. Proceedings of the 32nd IEEE Conference on Decision and Control, San Antonio, TX, Page(s): 1743-1748 Macek, K., I.Petrovic, and N.Peric. 2002. A reinforcement learning approach to obstacle avoidance of mobile robots. 7th International Workshop on Advanced Motion Control, Page(s): 462-466 Maja, J. M., T. Takahashi, Z. D. Wang, and E. Nakano. 2000. Real-time obstacle avoidance algorithm for visual navigation. Proceedings IEEE/RSJ International Conference on Intelligent Robots and Systems, Volume: 2, Takamatsu,Japan, Page(s): 925-930

PAGE 101

88 Martinelli, A. 2002. The odometry error of a mobile robot with a synchronous drive system. IEEE Transactions on Robotics and Automation, Volume: 18 Issue: 3, Page(s): 399-405 Massa, D.P. 2002. Choosing an ultrasonic sensor for proximity or distance measurement. http://www.sensorsportal.com/HTML/SENSORS/Ultrasonic.htm, (Accessed October 2002) McMath, W. S., S. S. K. Yeung, and E. M. Petriu. 1989. Tactile sensing for space robotics. Conference Record. 6th IEEE on Instrumentation and Measurement Technology, Page(s): 128-131. Misao, Y. 2001. An image processing based automatic steering power system. American Society of Agricultural Engineers annual international meeting, Paper number: 013106 Northfield, H., and A. U. H. Sheikh. 1993. An autonomous vehicle with fuzzy logic navigational control. Proceedings of the IEEE-IEE on Vehicle Navigation and Information Systems Conference, Ottawa, Canada, Page(s): 486-489 Okamoto, H., K. Hamada, T. Kataoka, M. Terawaki, and S. Hata. 2002. Automatic guidance system with crop row sensor . Automation Technology for Off-Road Equipment Proceedings, Conference (Chicago, Illinois, USA) 701P0502. Page(s): 307-316 Poorbaugh, M. 2001. Tentative design objectives of robotic sprayer project-mail correspondence, 8/9/2001 Qiu, H., Q. Zhang, and J. F. Reid. 2001. Fuzzy control of electro hydraulic steering systems for Agricultural Vehicles. Transactions of the American Society of Agricultural Engineers, Volume: 44(6), Page(s): 1397-1402 Sabatini, A.M.,V. Genovese, E. Guglielmelli, A. Mantuano, G. Ratti, and P. Dario. 1995. A low-cost, composite sensor array combining ultrasonic and infrared proximity sensors. Proceedings IEEE/RSJ International Conference on Intelligent Robots and Systems ‘Human Robot Interaction and Cooperative Robots’, Volume: 3, Pittsburgh, PA, Page(s): 120-126 Shin, B., and S. Kim. 2001. Autonomous guidance system for small orchard sprayer with Ultrasonic Sensors. American Society of Agricultural Engineers Meeting Presentation, Paper number: 01-1193 Srivastava, A. K., C. E. Georing, and R. P. Rohrbach. 1993. Engineering principles of agricultural machines. American Society of Agricultural Engineers, Textbook number: 6

PAGE 102

89 Stombaugh, T. S., and Scott A. Shearer .2001. DGPS-based guidance of high-speed application equipment. American Society of Agricultural Engineers Annual Meeting, Paper number: 011190 Torrens, R. 1998. Starting with robots. http://www.4qd.co.uk/robot/start.html , (Accessed October 2002) Tubb, C. A. J., and G. N. Roberts. 1998. Development of a fuzzy behavioral controller for an autonomous vehicle. Control '98. UKACC International Conference on (Conf. Publ. No. 455), Page(s): 1717-1722 Victorino, A. C., P. Rives, and J. J. Borrelly. 2001. Mobile robot navigation using a sensor-based control strategy. Proceedings ICRA IEEE International Conference on Robotics and Automation, Volume: 3, Sophia Antipolis, France Page(s): 2753-2758 Wada, M., and S. Mori. 1996. Holonomic and omni directional vehicle with conventional tires. Proceedings IEEE International Conference on Robotics and Automation, Volume: 4, Page(s): 3671-3676 Yen, J., and N. Pfluger. 1995. A fuzzy logic based extension to Payton and Rosenblatt's command fusion method for mobile robot navigation. IEEE Transactions on Systems, Man and Cybernetics, Volume: 25, Issue: 6, Page(s): 971-978 Yi, Z., H. Y. Khing, C. C. Seng, and Z. X. Wei. 2000. Multi-ultrasonic sensor fusion for mobile robots. Proceedings of the IEEE on Intelligent Vehicles Symposiums, Dearborn, MI, Page(s): 387-391

PAGE 103

BIOGRAPHICAL SKETCH Satnam Singh was born and brought up in Jamshedpur, India. He got his bachelor’s degree from India’s prestigious institution, the Indian Institute of Technology, Kharagpur, in May, 2001 in the Agricultural and Food Engineering Department. In August 2001, he joined the Master of Engineering program at the University of Florida in the Agricultural and Biological Engineering Department as a graduate research assistant under the guidance of Dr. Thomas Burks to work in agricultural robotics. 90