. ...:u a? W, 1.. ’14? 31:1?” ‘4!!! r" 4, 4 344.13; I5" I . ' f 4 $4525 . ./.'4. ...,y“ 5. 5,43 . ;.;'.- - ' 15‘. ”fr" 55;“ / a ,4} r)” "A l 7’in {355:3 9.4. . 5:13)"; {fl/(544% K415}, "‘ [{Jt'fl‘ (JP .. (’3' if! ./ ~ g! fix ’I‘éy‘L' r . .4 4', I." _::5. .1 ’15.!2:A‘|fi‘:' I 36.4}: . .5 . gm. 1’55 :V-Af‘é. '4”- ?J. OIL" 5:? 27‘ "' 'f’w‘! " 5;; 9‘1! 2'”; I 75;? 54/ (El; 2 . 51-;555555 64.02: -. 5’ " 3/141}: __;". f”.:r’l.’r4(l 1"”: ’17: 5:1. 3;?!” 55"” ' 4 ya — 51.7.5 ‘V.’ JJ ’n’f 9.21"". ‘5 45$” 1. "/5 71.4%! ’3'?) r 5". I , {4 ' ' I Wag, -45. £13,555?! £2}: '55 .vts::~:«v..4.2.~*1t.' 'r’ ‘3"; '5'" V )J’ flu _7r££€’é¢fiy fiI/I; 4.44;. . 255W 5.2” 4:. 5' 5 ”5'5 5 £5 1",: 10.57;; "' 4... . 5455554455555va 4 - J; Of??? .451. ’5 . .31.}... .51.; . H .1 I ‘.;'.j,'5'j6' ' , . .'. . -' .';t0‘ /.- "7 ’[1 4’ '1‘?" r ' 5’ y. L)?” “535755 7/12, M ’55 4519. 5:115:55... Z]; J ' 7 1‘-'/’. . 24’ 45" ”"1”??? :7? (’4‘ 5 l" 4'; 5.55:1 " ” ,. ~55! " 144:1.“ ’ \s . "ah 45.4 . f‘ .' 6.3%- .: 0». :‘I‘c r. 4w 4 I 21.45 4':- '_ 5n?- I":- 5 '0 r_ .‘1'I1I‘l' L 5’ ‘3 ‘o . »$» ’33" ’- #13555- .4 x , , wr‘Y-lé 13:13: Mr E" 33*? ‘43:: I we}. . q «a J «1.1: .. .. O.“ .3“ .4. . “4‘.- ‘. 5 ...‘2. 4' ; n N}: ... .- #:‘uv'v 9"..5” 9; 0o '.-'n"~ .' 6G"; .- -. If . “an-'15» {15"535 4134! .‘ , r, :1 ‘ 5:25:15 a???” f ‘ {draft 5: _"‘.J/";9 .}r 7': I 4! '- v u l >15 3" <5 >0.qu ’5 3:11;?!” a.) 4’: .,.a"/' fig", . 5:734“ #455547}, {95"}; $2,313. git I? 4..!- qr‘vy .35sz ’1’} J, 'II‘. 5)?” '4' r‘IDI It”; I ’II M . Illlljlllllmljllllm ; a 4 6 e9 6 o LIBRARY Michigan State University This is to certify that the thesis entitled AN AUTOMATIC GUIDANCE CONTROLLER USING NETWORKED MICROCOMPUTERS presented by BRYAN 'ROY MURPHY has been accepted towards fulfillment of the requirements for SCIENCE ENGINEERING U Major professor Date 2-3 M4404 6/?" 0-7639 MS U i: an Aflirmaa'w Action/Equal Opportunity Institution .601. l 519%. MSU ’ LIBRARIES —_. RETURNING MATERIALS: Place in book drop to remove this checkout from your record. FINES will be charged if book ts returned after the date stamped below. I I' l‘ ‘;‘; ‘ 5‘. ,_ A . ll ' D AN AUTOMATIC GUIDANCE CONTROLLER USING NETWORKED MICROCOMPUTERS by Bryan Roy Murphy A THESIS Submitted to Michigan State University in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE IN AGRICULTURAL ENGINEERING Department of Agricultural Engineering 1988 ABSTRACT AN AUTOMATIC GUIDANCE CONTROLLER USING NETWORKED MICROCOMPUTERS By Bryan Roy Murphy The purpose of this project was to develop an ultra- sonic range finding instrument and use it for path sensing in an automatic guidance controller. The ultrasonic position sensor was temperature compensated so that it remained accurate from -10 to 50 degrees Celsius. The automatic guidance process was distributed among several microcomputers including a master controller, several position sensors, a steering controller, and a diagnostic computer. A network interface protocol was developed to allow the various microcomputers to interact during auto- matic guidance operation. The automatic guidance controller was installed on an orchard tractor, and operated along a simulated tree row at speeds from 0.8 to 9.4 km/h with row offsets from 1.74 to 5.14 meters. Tracking error during these tests was less than 0.20 meters. Approved 41 Co-Major Professors Approved Department Chairman ACKNOWLEDGMENTS The author expresses appreciation to those members of the university community whose assistance was instrumental in the completion of the project reported in this thesis. Dr. Bernard Tennes and Dr. John Gerrish served as co-major professors, guiding and motivating the progress of the research. Dr. Roland Zapp and Dr. Thomas Burkhardt served on the graduate review committee, providing additional guidance and assistance. Much of the mechanical and electronic work was accomplished through the efforts of Mr. Joseph Clemens and Mr. Richard Wolthuis, technicians employed by the United States Department of Agriculture. Additional assistance was provided by undergraduate student assistants including Paul Speicher, Brian Klug, Shaun Kelly, Jency Probert, Ed Timm, and Chris Johnson. Finally, thanks are extended to the faculty, staff, and students of the Agricultural Engineering department for their friendship and support during the course of this research. iii TABLE OF CONTENTS CHAPTER Page LIST OF TABLES .................... .................... vi LIST OF FIGURES .. ........ ... ...... .............. ...... vii 1. INTRODUCTION ....... ....... ....................... 1 2. LITERATURE REVIEW ................................ 5 1 Safety Requirements . . 2 Control Algorithms .......................... 3 Steering Actuation .. . 4 2. 2. 2. 2 Path Sensing ....................... ...... ... acumen 3. OBJECTIVES ...OOOOOOOOOOOOOOOOOOOOOOOOOOOOO0...... 12 4. AUTOMATIC GUIDANCE CONTROLLER .................... 14 4.1 Automatic Guidance Computer Network ......... 20 4.2 Computer Network Communications ..... ..... ... 22 4.3 Synchronization of Guidance Tasks ........... 24 5. MASTER CONTROLLER ........ .............. .......... 28 5.1 Computer Hardware ........................... 28 5.2 Master Controller Program ................... 29 5.2.1 Initialization and command level ..... 34 5.2.2 Setting desired distance ....... ...... 35 5.2.3 Automatic guidance operation ......... 36 5.2.4 Distance measuring subroutines ....... 37 6. POSITIONSENSOR ...00.0.00.........IOOOOOOOOOIOOOO 41 6.1 Computer System Hardware .................... 41 6.1.1 NEWSON computer ...................... 42 6.1.2 Ultrasonic ranging system ... ..... .... 42 6.1.3 Temperature sensor ................... 44 6.1.4 Memory ............................... 44 6.2 Position Sensor Program ..................... 45 6.2.1 Initialization and command level ..... 45 6.2.2 Distance measurement ................. 48 iv 7. STEERING CONTROLLER ........... ..... .... ...... .... 50 7.1 Computer Hardware ........................... 50 7.1.1 RCA COSMAC microboard computer ....... 52 7.1.2 Shaft encoder ........................ 52 7.1.3 Steering valve ....................... 53 7.2 Hydraulic Steering Circuit .................. 53 7.3 Steering Controller Program ................. 56 7.3.1 Steering control loop ................ 59 7.3.2 Steering control interrupts .......... 60 8. DIAGNOSTICCOMPUTEROOOOOOOOOOOCOOOOOOOOOO.0000...I 62 8.1 Computer Hardware ........................... 62 8.1.1 RCA COSMAC microboard computer ....... 63 8.1.2 RCA microboard UART interface ... ..... 65 8.1.3 Vehicle system failure sensors ....... 66 8.2 Diagnostic Computer Program ................. 66 ' 8.2.1 Utility subroutines .................. 67 8.2.2 Diagnostic subroutines ............... 68 8.2.3 Interface subroutines ................ 79 9. TESTS AND RESULTS ...................... ....... ... 82 9.1 Position Sensor Temperature Test ............ 82 9.1.1 Test equipment ....................... 82 9.1.2 Test procedure ....................... 83 9.1.3 Test results and discussion .......... 83 9.2 Automatic Guidance Performance Test ......... 87 9.2.1 Test equipment .............. ......... 87 9 2 2 Test procedure ....................... 88 9.2 3 Test results and discussion .......... 89 10. CONCLUSIONS AND RECOMMENDATIONS ........... ..... .. 111 LIST OF REFERENCES ...... ....... .. ..... ................ 115 LIST OF TABLES page Automatic Guidance Computer Network commandCOdeS OOOOOIOOOOOOIOOOOOOOIOOOOO0.0.00.... 23 Automatic Guidance Controller Performance Test Mean Distance from Row and Standard Deviation 106 About theMean O...0.0.00.0.....OOOODOOOOOOOOOOOIO vi LIST OF FIGURES FIGURE Page 4.1 Block Diagram of Automatic Guidance Controller with Tasks Distributed Among Three Computers ..... 17 4.2 Installation Layout of Automatic Guidance Computer Network Components on a Tractor .................. 19 4.3 Configuration of Automatic Guidance Computer Network .......................................... 21 4.4 Automatic Guidance Task Sequence and Information Flow ............................................. 25 5.1 Master Controller Program Flowchart .............. 30 6.1 Block Diagram of NEWSON Position Sensor .......... 43 6.2 Position Sensor Program Flowchart ................ 46 7.1 Block Diagram of Steering Controller ............. 51 7.2 Schematic Diagram of Hydrostatic Power Steering Circuit Modified for Automatic GUidance contrOI .......IOOOOOOOOOOIOOO0.0.0.0.... 55 7.3 Steering Controller Program Flowchart ............ 57 8.1 Block Diagram of Diagnostic Computer ............. 64 8.2 Flowchart of RJUST Diagnostic Procedure which Monitors the Computer Network During Automatic GUidance 0.......................OOOOOOOCOIOOOOOOO 72 9.01 Position Sensor Ultrasonic Echo Time Plotted Against Air Temperature ......................... 85 9.02 Position Sensor Temperature Compensated Distance Plotted Against Air Temperature ................. 86 9.03 Diagram of Automatic Guidance Controller Performance Test Procedure ...................... 90 vii viii Automatic Guidance Controller Performance Test Results at 1.74 meter Distance Setting and 008 km/h Ground Speed 0.0.0.00000.0.0.00000000000 92 Automatic Guidance Controller Performance Test Results at 1.74 meter Distance Setting and 106 km/h Ground Speed 0.00.0.0.00.00.000.00....00 93 Automatic Guidance Controller Performance Test Results at 1.74 meter Distance Setting and 3.4 km/h Ground Speed ........................... 94 Automatic Guidance Controller Performance Test Results at 1.74 meter Distance Setting and 7.0 km/h Ground Speed 0.0.00.0...0000.00.000.000. 95 Automatic Guidance Controller Performance Test Results at 3.44 meter Distance Setting and 008 km/h Ground Speed 0.00.00.00.00.00.00.000.000 96 Automatic Guidance Controller Performance Test Results at 3.44 meter Distance Setting and 1.6 km/h Ground Speed ...0.....00.00000..0.000000 97 Automatic Guidance Controller Performance Test Results at 3.44 meter Distance Setting and 3.4 km/h Ground Speed 0.000.000.0.00.0.0..00.0000 98 Automatic Guidance Controller Performance Test Results at 3.44 meter Distance Setting and 700 km/h Ground Speed 000.00....00.0000...00.0000 99 Automatic Guidance Controller Performance Test Results at 3.44 meter Distance Setting and 9.4 km/h Ground Speed ........................... 100 Automatic Guidance Controller Performance Test Results at 5.14 meter Distance Setting and 008 km/h Ground Speed 0.00000000000000000000.0000 101 Automatic Guidance Controller Performance Test Results at 5.14 meter Distance Setting and 106 km/h Ground Speed 000.00.00.00...0.00.0000... 102 Automatic Guidance Controller Performance Test Results at 5.14 meter Distance Setting and 304 km/h Ground Speed0000.00.00.0000000000000000 103 Automatic Guidance Controller Performance Test Results at 5.14 meter Distance Setting and 7.0 km/h Ground Speed ........................... 104 ix Automatic Guidance Controller Performance Test Results at 5.14 meter Distance Setting and 904 km/h Ground Speed 0.000.00000000000000000000. 105 Automatic Guidance Controller Performance Test Correlation Between Sonar Position Sensing and Microswitch Position Sensing .................... 110 1. INTRODUCTION The objectives of agricultural mechanization are to increase the productivity of farm workers and to make farm work less tedious and more attractive. Early agricultural mechanization increased production by replacing animal power with mechanical power. The power units continued to pull the same implements in the same configuration as the horses and oxen they replaced. Later, the implements became more suited to being pulled by a tractor, with levers extending within the ~reach of tractor operators. As tractors grew larger, operator platforms moved away from the working implement. The hand levers moved to the operator’s station, with their function transmitted hydraulically to the towed implement. More recently, the emphasis shifted from enhancing the operators’ physical capabilities to enhancing their mental capabilities through the use of automatic controls. Some of the earliest automatic control systems included engine speed governors, draft control, and implement depth control. Such developments improved the usefulness and efficiency of the modern farm tractor. 2 One area which has long fascinated the agricultural mechanization industry is the automatic control of vehicle guidance during field operations. One reason for the interest in automatic guidance is that field speed is frequently limited by operators’ ability to steer the vehicle accurately. The power-to-mass ratio of tractors has steadily increased over the years. Since traction improvements have not kept pace with power growth, farm machinery operators are pulling their implements at higher speeds to fully utilize the available power. In many cases, vehicle speed is not limited by power, but by the operators’ ability to steer. Research by Kaminaka, Rehkugler, and Gunkel (1981) demonstrated that steering performance is adversely affected by increased ground speed. There is a point at which operators will reduce their speed in order to maintain stable steering control. If an automatic guidance system were developed to steer the vehicle at these higher speeds, productivity would increase. Another reason automatic guidance is desirable is that operating an agricultural vehicle is a multi-task function: operators have other jobs to perform in addition to guiding the vehicle. In tillage operations, they monitor the tillage implement for depth and plugging. During planting, they monitor the planter to be sure that seed is being delivered accurately. In harvesting, operators monitor the gathering, threshing, and separating machinery to minimize 3 product losses. These other tasks frequently require that operators focus their attention on an implement towed behind the tractor, whereas they must focus their attention in the direction of travel to achieve accurate steering. Kaminaka, Rehkugler, and Gunkel (1981) found that monitoring a towed implement results in a large decrement in steering accuracy. The fact that agricultural vehicle operation is a multi-task function tends to overload operators’ mental capacities. Becker, Shoup, and Sinden (1983) applied speed-load stress theory to the tasks of guiding, monitoring, and controlling a tractor and implement in a simulated field operation. Speed-load stress theory states that a linear relationship exists between the number and rate of stimuli received and the number of response errors made. Reducing either the load level or the rate at which the stimuli are received will reduce the error rate. Becker et al. hypothesized that guidance may be the most significant task in the load category for operators of agricultural vehicles. Using automatic guidance, operators may divert their attention from vehicle guidance to performing the task which caused them to go to the field in the first place. Yet another reason for the development of automatic guidance systems is that such systems may be able to position the vehicle more accurately than human operators. This is especially true on large vehicles where the working mechanism is not visible to the operator. Bottoms (1982) 4 proposed an ’Index of Tracking Difficulty’ to quantify the diligence required to accurately guide a tractor and implement during a field operation. His index correlated machine width and lateral position tolerance to attainable field speed. More accurate placement of the machinery relative to the crop material would permit the machine to function in its optimum condition, resulting in increased efficiency. Finally, the use of automatic guidance would reduce operator fatigue. Persons who have operated agricultural vehicles for several hours realize how tedious the task of repetitiously steering the vehicle through the field is. Relieved of this tedium, the operator may remain more alert, resulting in a safer and more pleasant working environment. This thesis presents the development of a computer- based automatic guidance controller for agricultural tractors. The work was conducted from April, 1983 through June, 1985 at the United States Department of Agriculture (USDA) Fruit and Vegetable Mechanization Research Laboratory located on the campus of Michigan State University, East Lansing, Michigan. 2. LITERATURE REVIEW A technical literature search yields several hundred titles of articles and papers related to automatic guidance of agricultural vehicles. A monograph edited by Young (1976) lists titles of 233 articles published as early as 1930, along with 95 patents issued since 1924, all related to automatic and remote control of farm vehicles. The advent of the microprocessor has generated a flurry of automatic guidance research since the compilation of Young’s monograph. -A comprehensive literature review would prove unwieldy in the context of this thesis, so several publica- tions significant to the scope of this project were selected for review. 2.1 Safety Requirements In the development of automated farm vehicles, certain precautions must be taken to protect the safety of the operator, the implement, the vehicle, and the surroundings. Both Jahns (1975) and Brooke (1975) published guidelines for the design of automatic guidance systems for agricultural machinery. They classified automatically guided vehicles into two groups: operator aided systems and driverless 6 systems, and noted the differing safety requirements for each class. Both researchers also noted that self-guided vehicles must be designed with the capability for manual guidance during transport on public highways or operation in environments where automatic guidance would present to great a safety risk. In all cases, the automatic guidance controller must be self-monitoring so that the vehicle will either revert to manual control or shut down in the event of a guidance system failure. 2.2 Control Algorithms Much of the early research in automatic guidance control modelled the guidance process using analog computers to determine the input parameters required for stable control. Grovum and Zoerb (1970) verified the results of their simulation using a tractor equipped with a furrow marker-follower device. They concluded that vehicle speed, position sensor location, vehicle heading relative to the intended path heading, and steering actuator response affect the stability of a guidance system and must all be included in any automatic guidance algorithm. Extensive research conducted at the USDA National Tillage Machinery Laboratory located at Auburn University, Auburn, AL by Young, Johnson, and Schafer (1983) concluded that speed-dependent guidance algorithms did not necessarily improve performance over non-speed-dependent algorithms. 7 They suggested, however, that their results may have differed had the steering actuation rate or the error sampling rate been increased. In related work, Smith, Schafer, and Young (1979) compared guidance control algorithms for vehicles with front-axle steering, rear-axle steering, and articulated steering. They reported all three configurations could be controlled adequately for agricul- tural field operations. 2.3 Steering Actuation The designer of automatic vehicle guidance systems cannot ignore the design principles employed in manually guided vehicles. Many of the publications listed in the following section make note of the steering actuation systems of various automatic guidance controllers. Jahns and Moller (1976) presented specific guidelines for the design of automatic guidance steering systems. They emphasized that the driver must be able to override the automatic guidance system using the steering wheel, as this would be the instinctive response in an emergency. Jahns and Moller also pointed out the requirement that the steering wheel remain motionless during automatic guidance to eliminate the risk of injuring the operator with a spinning wheel. Finally, Jahns and Moller discussed the selection between proportional and solenoid-activated, hydraulic valves in the automatic steering circuit. 2.4 Path Sensing Among the automatic guidance systems developed in the past, various methods of determining the vehicle’s position relative to the desired path have been utilized. Gilmour (1960) developed an automatic guidance system for a completely robotized tractor using dead-reckoning. He used an electro-magnetic compass in conjunction with a towed track mechanism to monitor tractor motion. He reported accuracy was unacceptable due to oscillations in the compass. Dead-reckoning systems are also susceptible to errors caused by unpredictable longitudinal and lateral wheel slip in high-draft agricultural operations. MacHardy (1967) investigated the use of an infrared detector to locate a tractor in a field using triangulation. His detector was capable of locating a tractor’s exhaust pipe in a field, but the accuracy of the system over large distances would not be adequate for many field operations. MacHardy did not address the issue of position data trans- mission from the fixed triangulation bases to the moving vehicle. Two ultrasonic furrow-following systems were reported in the early seventies by Julian (1971) and Warner and Harries (1972). Both systems used an array of ultrasonic transducers directed downward to detect the edge of a plowed furrow. Both groups reported poor ultrasonic reflection 9 from soil, preventing practical field application of this sensing technique. An interesting variation of the furrow-following concept was developed by Widden and Blair (1972) at the University of Western Australia. Their system followed a closed loop of cord buried a few inches below the ground. As the tractor traveled along the path, the cord was pulled out of the ground by a sensing arm, and plowed back into the ground offset by the width of the working implement. The vehicle worked the field in diminishing concentric rings, with excess cord being stored on a winding mechanism. Widden and Blair estimated the tracking accuracy of their guidance controller at "an inch or two", and pointed out their system would not work in fields containing tall obstacles such as trees. Several researchers, including Brooke (1972) and Schafer and Young (1979) have developed automatic guidance controllers which follow radio frequency signals transmitted by wires buried underground. Brooke’s system followed a programmed path, determining vehicle position by comparing field strengths in two receiver coils based on cables buried at 50 to 60 yard intervals. Brooke achieved path accuracies of +/- one foot. Schafer and Young developed a system in which the vehicle’s path followed the cable, resulting in accuracy of +/- 50 mm. The high installation costs of 10 buried cable systems limit their practical application in agricultural operations. Other researchers have investigated the use of optical techniques for path determination. Harries and Ambler (1981) developed a system which projected a band of light onto the ground immediately in front of the tractor. A receiver array of photodetectors was directed toward the light band to detect the edge of a freshly plowed furrow. A chopper disc modulated the projected beam, permitting the receiver to discriminate projected images from ambient images. The automatic guidance controller also incorporated an optical range and bearing sensor to control the tractor path during turning at headlands. This equipment required the installation of reflecting posts to define the field boundaries. A Harries and Ambler reported their system performed adequately _during the furrow-following phase, but turning at headlands was unreliable, partially due to the limited field of view of the furrow-following sensor. Upchurch, Tennes, and Surbrook (1981) developed a microprocessor-based steering controller for an over-the-row apple harvester. An automatic guidance function was included as one feature of this controller. The automatic guidance controller used mechanical contact sensors to locate the trunk of an apple tree, then controlled the steering mechanism to keep the vehicle centered over the tree. Apples were harvested using a trunk shaking mechanism 11 installed on the vehicle. Vehicle placement relative to the tree was a critical parameter in harvesting performance. The apple harvester automatic steering controller was improved by McMahon, Tennes, and Burkhardt (1982). The mechanical contact position sensors were replaced with non- contact ultrasonic position sensors. The control algorithm was also refined. McMahon, Tennes, and Burkhardt (1983) reported that the revised apple harvester steering con- troller maintained accurate vehicle placement to 8.7 cm. The following conclusions regarding automatic guidance of agricultural vehicles may be drawn from a review of published literature: 1. Safe and effective control of agricultural vehicle guidance is possible using automatic methods. 2. A microprocessor provides the speed and program- mability required for automatic guidance control in agricultural operations. 3. Non—contact sensors with no moving parts are desirable for automatic guidance control because they are less fragile than mechanical contact sensors. 4. Ultrasonic position sensors are suitable for locating tree trunks as an automatic guidance reference for an orchard vehicle. 3. OBJECTIVES The research reported in this thesis was performed to accomplish two primary objectives: 1. Develop a non-contact, temperature-independent ultrasonic position sensor for use in automatic guidance control. 2. Design a computer network to function as an automatic guidance controller for an agricultural tractor in orchard operations. The long range intent of the project was to demonstrate the feasibility of automatic guidance applied to agricultural vehicles. Although many automatic guidance systems have been developed ‘in the past, none has achieved wide-spread commercial success. High production costs, low reliability, and limited capabilities of such systems are among the reasons for their lack of acceptance in the marketplace. The project reported in this thesis is a continuation of the research performed by Upchurch, Tennes, and Surbrook (1981) and McMahon, Tennes, and Burkhardt (1982). Due to this ongoing nature, two constraints were placed on the 12 project: 13 (1) the RCA CDP18021 microprocessor was used because equipment supporting its development was already in hand, (2) the use of ultrasonic position sensing was based on the previous efforts of McMahon, et al. Trade names are used in this thesis solely to provide specific information. Mention of a trade name does not constitute an endorsement of the product by the author to the exclusion of other products not mentioned. 4. AUTOMATIC GUIDANCE CONTROLLER The automatic guidance controller developed in this project is based on previous systems developed by Upchurch, Tennes, and Surbrook (1981) and McMahon, Tennes, and Burkhardt (1982). The difference being that this project is for use on an agricultural tractor instead of the over-the- row apple harvester. The operating parameters of the tractor require several changes in the system. The apple harvester is always operated with the machine centered over the tree row. The apple harvester’s bay is 259 cm wide, and the sonar sensors are mounted 80 cm to the left of the vehicle’s centerline. Due to this configura- tion, the distances measured by the sonar sensors never exceed 210 cm. Since the speed of sound is approximately 341 meters per second, the sonar echo is always received within 12.3 ms. At the maximum operating speed of 0.5 km/h, the apple harvester travels 0.17 cm between transmitting an ultrasonic pulse and receiving its echo. The tractor, on the other hand, may operate as far as 10 m from the tree row. At this distance, sonar echoes are received 58.7 ms after the transmission. Since the tractor may be travelling as fast as 8 km/h, the tractor could 14 15 travel 13 cm while waiting for a sonar echo. The increased ground speed and variable operating distance dictate that position sensing must be a continuous function. To maintain stable guidance control, there may be no delay from the completion of one position measurement to the beginning of the next. The vehicle guidance task is modelled as a closed loop feedback control system. The desired vehicle position (input) is compared with the actual vehicle position (feed- back) to evaluate the position error. The controller then turns the vehicle’s steered wheels to an appropriate angle (control signal) based on the position error. As the vehicle travels in the steered direction, the actual position (output) is measured again to generate a new steering control signal. Previously developed microprocessor-based automatic guidance systems used a single microprocessor to perform the sensing, control logic, and actuation tasks. Using only one microprocessor, only one task was performed at any time. Thus, if the microprocessor was counting the time between a sonar transmission and (echo, it could not simultaneously control the angle of the steered wheels. Likewise, if the microprocessor was turning the wheels to the desired angle, it could not simultaneously perform a distance measurement. In order to perform the three guidance tasks of position sensing, steer angle calculation, and steering 16 actuation simultaneously, a separate computer is dedicated to each task. The computers are interconnected to transfer information to the other computers so that they may perform their tasks. The manner in which the guidance tasks are distributed among a three-computer network is illustrated in the block diagram of Figure 4.1. A master controller stores the desired tractor position relative to the tree row in its memory. This desired position is compared with the actual position as measured by the position sensor. The master controller then calculates a desired steering angle based on the position error. The desired steering angle is sent to the steering controller where it is compared with the actual steering angle. The steering controller activates a valve in the tractor’s power steering system, causing the wheels to turn to the desired steering angle. As the tractor travels along the steered path, the position of the tractor relative to the tree row changes. The position is again measured by the position sensor, thereby closing the control loop. Distributing the tasks in this manner allows each computer to perform its assigned task continuously, pausing intermittently to communicate with the other computers in the control network. The automatic guidance system is thus decomposed into smaller units, each being relatively independent of the others. Due to this independence, if one computer were inadequate for its assigned task, that mumpzmsoo coach mcos< Umpw>wo mxmnfi new: Loddouucoo mocmpwzo Owumeoaz< mo Edamnwa xoon ~.¢ musmwm l7 q. llllllllllllll 4 m _ a--- F- a all. -- - - - l - a .--l. uléll. l._ uz—mzww ..-Ia v :llill. _l “lg 82.05:. . 3:32.". J . m -- ll _ 30.3360... . r llllllllllllll c . uzmwsz— EDMZMM ZUHPHMDQ l in udze , _ mamma— J w u _ _ . IIIIIIIIIIIIIIIIIIIIIIIIIIII IIJ _ m —1III IIIIIIIIII . IIIIIIIIIII II— Iqulll " l » 8:225 L . 29533 ; i _ . 222.538 _ 4 oucdvmi Fuquu) 393 . UZENUFM Lorie 1 1.9.10. 27.5 LOLLu N+cdatmoa _ .63.”... l illvll meioovm _ -l l 39:. _ mark-men. coined potion" m 05.5on _ pot—map" _ F ....................... L .r.. ............................ L. MMDJDMHZDU qummm.rm mmrjmmfizau awhmcz 18 computer could be modified without having to make radical changes in the other computers in the control network. One significant feature is omitted from the block diagram of Figure 4.1: there is no provision for inter- action with the human operator. The reason for this is that once automatic guidance has been initiated, no additional input from the operator is required to maintain operation. Since the system does require human commands for initiation, and since it is desirable to display system operating conditions to the operator during automatic guidance, an additional computer is provided to interface the human operator to the guidance control network. The automatic guidance controller is composed of four computer systems networked together: (1) the master controller (2) the position sensor, (3) the steering controller, and (4) the diagnostic computer. The manner in which the automatic guidance computer network components are mounted on a tractor is shown in Figure 4.2. The develop- ment and function of these individual computers will be presented in following chapters. The remainder of this chapter describes the manner in which the network components are connected together, and how the control signals are passed from one computer to another. 19 POSITION SENSORS ABSOLUTE SHAFT-\ \ ENCDDER '3' L r u: I AUTOMATIC GUIDANCE SOLENOID VALVE vao momma . . "ASTER . w CONTROLLER KEYBDARD ‘1; ' STEERING I»? // CONTROLLER \ / ELAYS 121$ / L DIAGNOSTIC /\ COMPUTER / bl Figure 4.2 Installation Layout of Automatic Guidance Computer Network Components on a Tractor 20 4.1 Automatic Guidance Computer Network With the guidance tasks distributed among several computers, the manner in which information is passed from one computer to another is vitally important. The major concerns with information exchange are that the data be sent to the appropriate destination, that data transmission be rapid, and that transmission errors be extremely rare. The automatic guidance computers are connected by a two-wire communication bus. This configuration creates versatility in the number of computers in the network, since additional computers may be added without adding communica- tion channels to existing computers. The communication bus is composed of two wires to differentiate the types of information being passed. The master controller has continuous control of one channel (the network command line), while the position sensor and steering controller share control of the other channel (the network data line). In this manner, the master controller acts as the bus arbitrator by temporarily assigning data line control to either the position sensor or steering controller. Figure 4.3 is a diagram of the automatic guidance computer network. Each computer is shown with X and R designating the transmit and receive lines respectively for that device. The peripheral input and output (I/O) hardware required by each computer is also shown. 21 F x MASTER ; F R coNTRULLER l l g l . l i l E . - -_ .. -_ . E E <— UART l—DIAGNDSTIC UART [ l <_n___. ———).UART coMPUTER , USER . ; . : TERMINAL L ‘, :%gi:l . x ._ 1 '3 SQ IIJJJILII hi $- H.233 US» fiat—pd! a a a; gang» 41.3.2 3 a; a sauna 9:ng a a Hg gawk“ 9g»! Baum on; gnaw—nu ”Ban! undid-.1 1+ ..... .. but: Us» Emma E. g a; gang” nun—nu bun 9‘2. gum E 5292!. pg gha—a ManipuHUUL mmJJomhzou ozumuuhm a .693 325» T mawzum 20:59. 253 2.28! an! pun a 89.. 53(2 and.» «UJJDmbzou «abuzz 26 in memory. If no distance measurement is received from the polled position sensor within the time which would be required for a measurement twice as great as the distance setting, the master controller assumes that no target is present in the polled position sensor’s field of view. The next position sensor is then polled for a distance measure- ment. This response time limit serves two purposes: (1) if a position sensor has failed, the response limit prevents the master controller from waiting indefinitely for a distance measurement which will never be received; (2) if the tractor is operating very close to the tree row, the time required to determine that no target is present in a sensor’s field of view is significantly reduced. For example, assuming that the tractor is operating two meters from the tree row, a valid distance measurement would return in about 12 ms, so the master controller would wait only 24 ms before polling the next position sensor. The position sensor would return a no-target indication after 59 ms (the time required for a 10 m measurement, the maximum range of the ultrasonic ranging device). 30 35 ms of unnecessary delay would be eliminated by the response time limit in this case. Upon receiving a distance measurement request, the position sensor activates an ultrasonic ranging system, measures the time required for the ultrasonic signal to propagate to the target and echo back, then measures the air 27 temperature. The speed of sound is determined based on the air temperature, then the speed is multiplied by the time to arrive at a distance measurement. The distance measurement is transmitted to the master controller over the network data line. Once the distance to the tree row is known, the master controller compares the measured distance with the desired distance to determine the tractor’s position error. An appropriate steering angle is calculated based on the position error. The desired steering angle is transmitted to the steering controller over the network command line. The steering controller compares the desired steering angle with the actual steering angle as measured by an absolute shaft encoder connected to the tractor’s steering linkage. If the two angles do not match, a solenoid operated directional valve in the tractor’s power steering circuit is activated to effect a steering correction. Even as the steering controller is beginning to turn the tractor’s wheels, the master controller has returned to the top of its loop and is polling the position sensors for a new distance measurement. 5. MASTER CONTROLLER The master controller’s task assignment in the auto- matic guidance function is to perform the control logic which determines the direction and magnitude of steering correction required. The master controller is also the bus arbitrator, assigning control of the network data line. These task assignments are described in chapter 4 of this thesis. This chapter details the realization of these task assignments through computer hardware and the program which it operates. 5.1 Computer Hardware The selection of computer hardware to perform a specified function is guided by the nature of input and output (I/O) requirements of the function and by the amount of memory required to store and execute the program. For the automatic guidance master controller, a computer which had been custom-designed to be the position sensor was used. This computer was selected because it was smaller than most commercially available computers. Using identical computers for several applications required a smaller stock of 28 29 replacement parts. The computer board is described in chapter 6. Serial data communication through the network bus is the sole I/O requirement of the master controller. The computer receives information on the network data line and transmits on the network command line. This communication scheme may be reviewed by referring to Figure 4.3. The master controller program is stored in read-only memory (ROM) so that it cannot be erased nor lost when power is shut off. The program is described in the next section of this chapter. The monitor program, containing routines for serial communication, subroutine call and return, and register and stack initialization, is also stored in ROM. Variables calculated during program execution are stored in random-access memory (RAM). 5.2 Master Controller Program As described in chapter 4 and reviewed in the intro- ductory remarks of this chapter, the master controller performs the control algorithm which determines the steering action to guide the tractor along the desired path. Incorporated into this task is the function of assigning control of the network data line. The master controller program flowchart is shown in Figure 5.1. Additional reference to the function of this computer and how it 30 GASTER CONTROLLER) “TOW .l 1 READ “RAM ”I run new DATA L“ L, USER mm mung: um: auntar V nansnnnn: mun o o «>95 mm \ new" DIST“! um 1 MAC?“ Y mrmrmu 1 N SEND WYWICATION MACTEI OVER KNOX DATA LN Figure 5.1.a Master Controller Program Flowchart 1_l 31 mourns: REGISTER l unnmnuztmn-iauan READ DISTAICE H104 I"! run KIM DATA I.“ l READ DISTAICE LOU BYTE m KW“ DATA LII: Bummer: )tfin‘l ‘ ADD DISTAICE TO SI! l mrmm-z-nmucz Figure 5.1.b (cont’d.). 32 SONAR POINTER = 1 H CALL DSTNCE H l ERROR = DISTANCE SETTING - DISTANCE l ADJUST FOR DEADBAND l CALCULATE DESIRED STEERING ANGLE l SEND DESIRED STEERING ANGLE ON NETWORK COMMAND LINE J Figure 5.1.c (cont’d.). 33 WWW .... l CHARACTER m KTVWK DATA LUZ Sm DISTMCE HIG'I BYTE l SET DATA RECEIVE I!!! rm ICXT ITTE RETURN Figure 5.1.d (cont’d.). 34 interacts with the other computers in the automatic guidance network are presented in chapter 4. 5.2.1 Initialization and command level When power is applied to the master controller, the program initiates internal registers and pointers. The master controller is then ready to accept commands from the tractor operator through the diagnostic computer. The initialization and command level routines are shown in the flowchart of Figure 5.1.a. At the command level, the master controller waits for a command from the diagnostic computer over the network data line. The master controller recognizes six commands: (1) begin automatic guidance at a distance to be specified by the user (hexadecimal command code F1), (2) resume automatic guidance at the previous distance setting (code F2), (3) measure the present distance to the tree row then maintain that distance (code F3), (4) send the master controller identification character back over the command line (code 8F), (5) enter the monitor program (code 9F), and (6) enter the idle mode (codes 90-9E). The master controller will ignore any other command and remain at the command level. The identification character check, monitor program, and idle mode, are used for error checking and diagnostics as described in chapter 8. 35 5.2.2 Setting desired distance The tractor operator may select one of two methods for initiating the distance setting for automatic guidance, as shown in Figure 5.1.b. These choices are: (1) entering the distance setting through the keyboard (entry point A in the flowchart), and (2) having the automatic guidance system measure the distance to the tree row and maintain that distance (entry point B in the flowchart). The first automatic guidance initiation command instructs the master controller to wait for a distance value from the diagnostic computer, then begin automatic guidance at this distance. Distance values are composed of 16-bit words, so two 8-bit bytes must be read to initiate the distance setting. Once the distance setting has been set, it is multiplied by two and stored as the distance limit. The distance limit is constrained to a maximum value of 9.59 meters (OEFF in hexadecimal distance values), which approximates the maximum range of the ultrasonic ranging devices. The master controller transmits the distance limit to the position sensors through the network command line. During automatic guidance, the position sensors will check their distance measurements against the limit. No measure- ments exceeding the limit will be transmitted back to the master controller. This allows the master controller to poll other position sensors without raising the possibility of two position sensors responding simultaneously. 36 The second method of initializing automatic guidance from the command level is by having the master controller measure the current distance to the tree row, then maintain that distance through automatic guidance. This is performed by first assuring that the position sensors have a distance limit exceeding their maximum range. The position sensors are then polled sequentially, using the DSTNCE and NEXSON subroutines, until four distance measurements less than 8.95 meters (ODFF in hexadecimal distance values) have been measured. This distance was selected so that the distance setting would always be within the maximum range of the position sensors. The average of the four distance measure- ments is stored as the distance setting and the setting is multiplied by two for the distance limit. Once again, the distance limit is constrained to 9.59 meters before being transmitted to the position sensors. 5.2.3 Automatic guidance operation Once the distance setting has been established and the distance limit transmitted to the position sensors, the master controller enters the automatic guidance loop illustrated in the flowchart of Figure 5.1.0. This routine may also be entered using the ’resume automatic guidance at the previous distance setting’ command (code F2) from the command level. 37 The first task performed in the automatic guidance execution loop is to determine the tractor’s position relative to the tree row. The distance measurement is accomplished by calling the DSTNCE subroutine which is described later. Once the tractor’s position has been determined, the position error is calculated by the master controller. If the magnitude of the position error is less than 5 cm, no steering correction is required, so the desired steering angle is straight ahead. Otherwise, a steering angle proportional to the magnitude of position error is deter- mined. The desired steering angle is transmitted to the steering controller through the network command line. After determining the position, calculating the position error, then calculating and transmitting the desired steering angle, the automatic guidance execution loop is complete. The master controller program returns to the distance poll. This loop continues running until terminated by unexpected data on the network data line. 5.2.4 Distance measuring subroutines Obtaining a valid distance measurement is the most complicated step of the master controller’s task. A separate subroutine, shown in the flowchart of Figure 5.1.d, performs the distance measurement. Although this is only one subroutine, there are two entry points, called by the 38 names DSTNCE and NEXSON. The following program description assumes entry at the DSTNCE label. The master controller uses a computer register to remember which position sensor was last polled. At the start of automatic guidance operation, this register is set to position sensor 1. Upon entry into the distance measur- ing subroutine, the position sensor indicated by the position sensor register is polled for a distance measure- ment. The master controller then uses the distance limit to initialize a failure-checking timer. If the position sensor does not respond before the failure timer expires, the program branches to the NEXSON label, where the position sensor register is incremented to indicate the next sensor in the polling sequence. If the register exceeds the number of position sensors in the automatic guidance system, it is reset to 1. The new position sensor is polled for a distance measurement, the failure timer is re-initialized, and the master controller again counts time until the reception of a distance measurement. The desired method for exiting the failure timer loop is by receiving a distance' measurement from the position sensor. Once the character has been read, it is checked to be sure that it is a valid distance value rather than a command sent from the diagnostic computer. Distance measurements from the position sensors range from 0.30 m to 9.59 m. Since each bit of the distance measurement 39 corresponds to 0.25 cm, valid distance codes range from 0078 to OEFF. Commands to the master controller (Table 4.1) range from the hexadecimal values F0 through FF. So when the master controller is expecting a distance measurement but finds the most significant bit set, it assumes a command code is being received instead of a distance measurement. If the command code is the distance sensor failure code (FF), the master controller proceeds at the NEXSON label. Otherwise, automatic guidance execution stops and the master controller returns to the command level (exit point D in Figure 5.1.d, entry point D in Figure 5.1.3) to interpret the command code. This is the only method of stopping automatic guidance once it has begun. If the first data word received after a distance poll is a valid high byte of distance measurement, it is stored in a register. The failure timer is initialized to the time expected for transmission of the distance measurement low byte to begin. The timer proceeds as before. If the timer expires, execution branches to NEXSON. If data is received, it is stored as the low byte of a distance measurement. The measured distance is checked against the position sensor maximum range value of 9.59 m (hexadecimal code OEFF). Distances exceeding the range limit cause the program to branch to NEXSON, valid distances are retained and execution returns to the program section which called the distance measuring routine. 40 Measuring distance in this way, the master controller does not get hung up waiting for a distance measurement after polling a position sensor. This reduces sensitivity of the network to failure of one of the position sensors. 6. POSITION SENSOR The position sensor determines the position of the tractor relative to the tree row which is being followed. This position measurement is the feedback signal of the automatic guidance control function. The master controller compares the actual tractor position, as measured by the position sensor, with the desired position to generate the error signal from which the control signal is generated. The function of the position sensor as a member of the overall automatic guidance control system is described in chapter 4. This chapter describes the equipment and procedure used by the position sensing computer to determine the tractor’s actual position relative to the tree row. 6.1 Computer System Hardware The position sensing computer requires adequate input and output (I/O) capability to operate an ultrasonic ranging system, determine the ambient air temperature, and communi- cate with the other computers in the automatic guidance network. Non—volatile read-only memory (ROM) is required for storage of the computer’s program, and random-access memory (RAM) must be available for storage of variables. 41 42 Since the position sensors are mounted on a boom extending from the front of the tractor, the size of the position sensing computer should be as small as possible. Addition- ally, a single voltage power supply is desirable to minimize the number of electrical connections. 6.1.1 NEWSON computer Clemens, Tennes, and Murphy (1984) developed a single- board computer, dubbed the NEWSON computer, to satisfy these design criteria. A block diagram of the NEWSON computer is shown in Figure 6.1. 6.1.2 Ultrasonic ranging system The NEWSON computer operates an ultrasonic ranging system commercially available from Polaroid Corporation. This ranging system consists of an acoustical transducer and an ultrasonic circuit board. Once activated, the transducer emits a high-frequency ’chirp’ consisting of ultrasonic frequencies at 60 kHz,- 57 kHz, 53 kHZ, and 50 kHz. After emitting the chirp, the transducer acts as a microphone to detect the returning echo. Since the signal strength of the echo diminishes as the distance to the target increases, the sensitivity of the amplifier in the receiver circuit increases with echo time. The amplifier gain saturates 60 ms after transmission, generating an echo signal even if no 43 NETWORK BUS A ’ ‘ r—1 1 A rnJ L—_] E s :ULTRASUNIC; ', l ; RANGING ' [he . SYSTEM ‘ R x i e VS a ( fl ; 2! ( :E _1 NEVSUN . : ' COMPUTER E I 3 g 2 TEMPERATURE SENSOR Figure 6.1 Block Diagram of NEWSON Position Sensor 44 echo has been received. This gives the ultrasonic ranging system an operating range of 0.3 to 10.0 m. 6.1.3 Temperature sensor The speed of sound in air is significantly affected by variations in air temperature. Therefore, accurate distance measurements cannot be obtained by merely measuring the time between an ultrasonic transmission and its echo. The air temperature must be measured at the time of the ultrasonic measurement. The NEWSON computer uses an LM335 precision temperature sensor to measure the ambient air temperature. The LM335 operates as a 2-terminal zener; its breakdown voltage is linearly proportional to absolute temperature. The output voltage of the precision temperature sensor is conditioned by an AD00804 8-bit successive approximation analog-to-digital (A/D) converter. Reference voltages to the A/D converter are adjusted so that the temperature sensing range is -13.15 to 51.85 deg C. 6.1.4 Memory The NEWSON computer contains two NS2716 2K x 8 ultra- violet light erasable programmable read-only memory (EPROM) chips. One EPROM contains the position sensor program. The other EPROM contains the monitor program, including the serial communication routines, subroutine call and return procedures, and various other utility programs which may be 45 called by the operating system. An HM6116 2K x 8 random- access memory (RAM) chip provides memory for variables and stack storage. Other integrated circuit chips on the NEWSON computer board provide memory address decoding and latching, I/O port latching, timing signals required for device synchro- nization, and power supply regulation. 6.2 Position Sensor Program A program for position sensing controls the devices which make up the NEWSON position sensing computer. The distance to the tree row is measured using the ultrasonic ranging system; a software loop measures the time from the ultrasonic signal transmission until its echo is received.- Ambient air temperature is measured by the temperature sensor and digitized by the A/D converter for input to the microprocessor. The speed of sound is determined based on the air temperature. Finally, the echo time is multiplied by the speed of sound to determine the distance from the tractor to the tree row. The flowchart of the position sensor program is shown in Figure 6.2. 6.2.1 Initialization and command level When power is applied to the position sensor, the program initializes internal registers and pointers, the I/O devices of the NEWSON computer are deactivated and the 46 (manna senses) l mm m km)“. a. m m 3 (mm; m um Position Sensor Program Flowchart Figure 6.2.a 47 CW DISTWE) vacuum warn/um ( ......me t Figure 6.2.b (cont’d.). 48 distance limit register is initialized to a very large value. The position sensor program then waits for an instruction from the network command line. At the command level (Figure 6.2.a), the position sensor recognizes six commands (Table 4.1): (1) measure the distance to the tree row (hexadecimal command code 6n, where n is the position sensor number, 0 < n < 8 ), (2) set the distance limit register (code 60), (3) send the digitized temperature reading (code 6n+8), (4) send the position sensor’s identification character (code 8n), (5) enter the monitor program (code 9n), and (6) enter the idle mode (code 9x, where x is not equal to n). The position sensor will ignore any other information received and remain at the command level. The identification character, monitor program, and idle modes are used for error checking and diagnostics as described in chapter 8. 6.2.2 Distance measurement The distance measurement routine performs the position sensor’s task in the automatic guidance control function. This routine is shown in the flowchart section of Figure 6.2.b. The first task performed in distance measurement is air temperature measurement. As explained in the NEWSON computer hardware description, the air temperature is measured with a precision temperature sensor through an A/D 49 converter. A software timer monitors the A/D conversion time to assure the conversion is completed within the specified 100 microseconds. If the A/D converter has failed, the position sensor transmits the ’failed position sensor’ character (code FF) over the network data line so that the master controller may immediately poll the next position sensor. The temperature is used to set up a pointer to a look-up table which contains the speed of sound for each of the temperature ranges measured by the sensor and A/D converter. The next step is to measure the time required for an ultrasonic transmission and echo. The ultrasonic ranging system is activated, then the computer waits for the signal transmission. Once the transmit has been sensed, the computer begins counting the iterations of a timing loop until the echo signal is received. The transmit-to-echo time is multiplied by the speed of sound to determine the distance to the tree row. The position sensor compares the measured distance against the value stored in the distance limit register. If the distance measurement is less than the distance limit, it is transmitted to the master controller over the network data line. Otherwise no transmission occurs. Once the distance measurement and transmission is complete, the position sensor returns to the command level. 7. STEERING CONTROLLER The steering controller steers the tractor’s front wheels to the desired steering angle which it receives from the master controller. This task converts the control signal into a mechanical function, causing the tractor to respond to the automatic guidance controller. The function of the steering controller as a member of the automatic guidance control system is described in chapter 4. This chapter describes the equipment and procedure used by the steering controller to maintain the tractor’s front wheels at the desired steering angle. 7.1 Computer Hardware The steering controller requires adequate input and output (I/O) capability to receive the desired steering angle from the master controller, monitor the actual steering angle of the tractor's front wheels, and change the steering angle when it does not match the desired angle. Non-volatile read-only memory (ROM) is required for storage of the steering control program, and random-access memory (RAM) must be available for storage of variables. A block diagram of the steering controller is shown in Figure 7.1. 50 51 [ . AUTUMATIC ,filfgg i i VALVE g P——+<5”“*> NETwaRK 3 R <____ BUS i Figure 7.1 Block Diagram of Steering Controller 52 7.1.1 RCA COSMAC microboard computer The steering controller uses a RCA COSMAC Microboard Computer CDP188601. This computer board contains a CDP1802 microprocessor (CPU), a CDP1851 programmable parallel I/O port, a serial communication interface, 4k bytes of RAM, and sockets for up to 8k bytes of ROM. The computer board is inserted into a CDP188693V1 Microboard Development System card nest, which provides the required voltages to the computer board through a backplane connector. The card nest also contains the diagnostic computer, so all backplane connections of the steering controller computer board other than the power supplies are masked off to prevent bus contention between the two CPU’s. 7.1.2 Shaft encoder The actual steering angle of the tractor’s front wheels is monitored by an optical absolute shaft position encoder, Litton model #76-GC10-4-E-1. This shaft encoder generates a 10-bit digital Gray code, dividing 360 degrees of rotation into 1024 discrete steps of 0.3516 degrees. This is higher resolution than necessary, so the least significant bit is not used, resulting in resolution of 0.7032 degrees. Since the front wheels of the tractor do not turn a full 360 degrees, the most significant bit of the shaft encoder output is ignored. The angle measurement is thereby reduced to 8 bits, requiring only one byte of computer information. 53 Installed on the tractor, the shaft encoder output ranges from 4 (04 hex) to 80 (50 hex), corresponding to actual steering angles ranging from ~48.7 degrees (full left turn) to 35.5 degrees (full right turn). Notice that the tractor can turn significantly sharper to the left than to the right, so the indicated angle for straight ahead steering does not fall in the middle of the range of possible angles. Instead, an indicated angle of 48 (30 hex) steers a straight path. 7.1.3 Steering valve The steering controller achieves steering changes using a Fluid Power Systems model 50-10-R1500-12VDC solenoid- actuated directional valve in the tractor’s hydraulic power steering circuit. The valve is controlled by two output bits from the parallel I/O port: one for right turns, the other for left turns. When no steering correction is required, both output lines remain off. The steering valve solenoids require 7 amps to energize, which is considerably more current than the CMOS parallel I/O port is capable of driving, so the solenoids are switched through Opto 22 model DC6085 solid state relays. 7.2 Hydraulic Steering Circuit The automatic guidance controller is not intended to displace the human operator from the tractor, but to relieve 54 [him of the guidance task when following an established crop row. Since the operator drives the tractor to the work area and turns it around at the end of each row, the steering system must be capable of responding to both manual and automatic inputs. Such a steering system operates in four modes: (1) manual steering, (2) the transition from manual to automatic steering, (3) automatic steering, and (4) the transition from automatic to manual steering. To meet the requirements of the four operating modes, a hydrostatic power steering system was selected. The hydrostatic power steering circuit was then modified for automatic guidance control. The complete hydraulic steering circuit is shown schematically in Figure 7.2. The power steering hydraulic circuit on the Ford 7610 is separate from the main hydraulic power system, and is supplied by a dedicated pump from its own reservoir. Hydraulic power is supplied to the automatic guidance valve by the hydraulic system so that the manual steering valve always receives full flow from the power steering pump. Return lines from both the manual and automatic valves are routed to the power steering reservoir to keep it filled when both systems are operated simultaneously. An overflow line relieves excess flow from the power steering reservoir to the hydraulic reservoir. The manual steering valve is the non-load reaction type (Eaton model 211-1001-001 220) with the cylinder ports 55 STEERING CYLINDER I" E“? 2:33;- " :-. ‘ .-::":::_.. :12..- Tl.___-.._.:::7 -.._- L -l -.-- L? ,i .. i. __ _ AUTUMATIC f" P '1 GUIDANCE MANUAL 3 f ' 1i ‘VALVE STEERING ? ' '7" VALVE , ; W ,l % I“ _l . z 1 ' E ? F62] ! l u ! (F E I 9 L:— A , . i z I I I 9 i 9 1% + ,ELUV a. I I’NN i : PRESSURE Cg I] ,___1 2 $4 ' CONTROL L__ __J ' r-- 1 j i ‘ II _- ---...i ; O i I— ; ILLL HYDRAULIC I! i a“ i9 SM PUMP l I i WERE-EV r—J . LTJ—E ‘l 9 \ HYDRAULIC PDMER l PUMP STEERING RESERVOIR HYDRAULIC RESERVDIR Figure 7.2 Schematic Diagram of Hydrostatic Power Steering Circuit Modified for Automatic Guidance Control 56 blocked when the valve is at neutral. With this type of valve, the steering wheel remains stationary when the automatic guidance valve pressurizes the steering circuit. The automatic guidance valve supply is pressure regulated so that automatic guidance response is similar to manual steering response. This avoids the possibility of damaging the tractor’s steering linkage by applying excess— ive steering force. Notice that if both valves provide flow in the same direction, the wheels will turn about twice as fast. If the two valves provide flow in opposite directions, both sides of the steering cylinder will be open to tank, and no steering will occur. 7.3 Steering Controller Program The computer program of the steering controller receives the desired steering angle from the master con- troller over the network command line. The actual steering angle is read from the shaft encoder through the parallel I/O port. If the two angles do not match, the appropriate automatic guidance valve solenoid is activated through the parallel I/O port and solid state relay. The flowchart of the steering controller program is shown in Figure 7.3. Unlike the other computers in the automatic guidance control network, the steering controller does not wait for a command before entering its main operation loop. Instead, a 57 C STEERING CDNTRDLLEQ mmmm Figure 7.3 Steering Controller Program Flowchart 58 Cassava 1).er ). (cont’d. Figure 7.3 59 false value of desired steering angle is set, which the steering controller recognizes as invalid, so no steering action occurs. 7.3.1 Steering control loop In the steering control loop, the program checks the desired steering angle stored in a register. If the desired steering angle is not in the range of possible angles (00-5F hex), the controller turns both steering valve solenoids off. When the stored steering angle is valid, the computer reads the shaft encoder. The actual steering angle is compared with the desired steering angle. If the two angles are identical, both valve solenoids are turned off. If the desired angle is greater than the actual angle, the right turn valve solenoid is activated. If the desired angle is less than the actual angle, the left turn valve solenoid is activated. This loop is repeated continuously, with no programmed method of escape. This implies that there is no means to change the desired steering angle once it is set to the invalid value at initialization. However, incoming data from the network command line interrupts the program, causing another routine to be executed. 60 7.3.2 Steering control interrupts The steering controller detects an interrupt when serial data is being received through the network command line. The interrupt-driven input technique is used so that the steering controller may constantly monitor and control the actual steering angle, being diverted for communication tasks only when communication is occurring. If the standard READ routine were used, the steering controller would wait for information to come in, devoting its entire attention to communication, and ignoring the steering control task. The steering controller interrupt service routine is functionally similar to the command levels of the master controller and the position sensor. The computer reads the information, then determines if any action is required or if it is a command to one of the other computers on the automatic guidance network (refer to the network command codes listed in Table 5.1). The steering controller recognizes an identification character check command (hexadecimal command code 8A), a monitor entry command (code 9A), and an idle mode command (codes 90-99 and 98-9F) similar to the other computers on the control network. The steering controller also recognizes when the master con- troller is instructing the position sensors to set their distance limits (code 60, see chapter 7), and ignores the subsequent 2-byte distance limit. 61 The steering controller recognizes two forms of commands which are significant to the guidance control function. If the command code is A0 hex, the steering controller reloads the dummy invalid desired angle, which releases guidance control back to the operator. Commands from 00 to SF hex are valid steering angle values, which are stored in the desired steering angle register and used when program execution resumes in the main program loop. 8. DIAGNOSTIC COMPUTER The diagnostic computer is not a member of the automa- tic guidance computer network (it performs none of the guidance tasks shown in Figure 4.1), but rather a control system manager. The diagnostic computer monitors the operation of the automatic guidance computer network, checking for failures and displaying operating parameters on a video screen. Vehicle systems which could cause automatic guidance failure are also monitored. Although diagnostic and interfacing tasks are important for the safe and reliable operation of the automatic guidance controller, they do not affect control system performance. Performing these tasks with a separate computer, the automatic guidance computers are not diverted from their tasks. 8.1 Computer Hardware The diagnostic computer requires adequate input and output (I/O) capability to receive and transmit signals on both communication lines of the automatic guidance computer network. Communication is also necessary with the tractor operator. Sensors must monitor the automatic guidance 62 63 hydraulic supply pressure and detect motion of the tractor’s steering wheel. Non-volatile read-only memory (ROM) is required for storage of the diagnostic computer program, and random-access memory (RAM) must be available for storage of variables. A block diagram of the diagnostic computer system is shown in Figure 8.1. 8.1.1 RCA COSMAC microboard computer An RCA COSMAC Microboard Computer CDP188601 is used for the diagnostic computer. This board is identical to the computer used for the steering controller described in chapter 7. The CDP188601 computer board contains a CDP1802 microprocessor (CPU), a CDP1851 programmable parallel I/O port, a serial communication interface, 4k bytes of RAM, and sockets for up to 8k bytes of ROM. The computer board is inserted into a CDP188693V1 Microboard Development System card nest. A backplane connector provides power at the required voltage levels as well as connecting bus signals with several peripheral boards which are also used in the diagnostic computer (see the next section). Since the steering controller is also contained in this card nest, the bus signals of the steering controller are masked off to prevent bus contention between the two CPU’s. The diag- nostic computer controls the bus signals of the backplane. 64 STEERING WHEEL p_____ E MUTIDN SENSDR is 7/ I ‘ / HYDRAULIC 9 9 x PRESSURE 9 9 % SWITCH 9 9 * i ______..,____-LL--- ..____I_. 7 E DIACNDSTIC 9 COMPUTER 9 L 99 U99 .. 9UART9 ' 1 i" * UA" R 9999:8939 M A I I 9 J V II 9 A 9 l______ ”M9 I DATA _LINE-__ 9 9 9NETVURK 9 CDMHAND LINE 9BUS Figure 8.1 Block Diagram of Diagnostic Computer 65 8.1.2 RCA microboard UART interface All communication with the diagnostic computer is performed using universal asynchronous receiver transmitters (UARTs). These devices convert parallel bus data from the microprocessor to serial data transmitted on the automatic guidance network. To transmit information, the CPU trans- fers data to the UART on the 8-bit parallel data bus. The UART then transmits the data serially, one bit at a time, onto the serial network line. During this transmit process, the UART performs the timing and formatting tasks, leaving the CPU free to proceed through its program. Conversely, to receive information, the UART receives serial data from the network line. Again, the UART performs the timing and checks the data format. Once an entire byte has been received, the UART signals the CPU. The CPU then reads the UART on the 8-bit parallel data bus. The diagnostic computer uses CDP1854 UARTs mounted on RCA Microboard UART Interface CDP188641 boards. Since the diagnostic computer must communicate with two network lines as well as the tractor operator’s terminal, three UART interface boards are used, each assigned to a unique I/O port. The UART boards are inserted in the card nest containing the CDP188601 microboard computer. The card nest backplane connects the parallel data bus between the UART boards and the diagnostic computer board. 66 8.1.3 Vehicle system failure sensors Two conditions must cause the automatic guidance controller to stop regulating 'the steering angle of the tractor’s front axle: (1) rotation of the steering wheel and (2) loss of hydraulic pressure supplying the automatic guidance solenoid valve. In an emergency, the tractor operator’s probable response would be to steer around an obstacle. The diagnos- tic computer has a steering wheel motion sensor so that it may disable the automatic guidance controller when the tractor operator turns the steering wheel. If the hydraulic pressure supply to the automatic guidance solenoid valve fails, the automatic guidance controller will be incapable of controlling the tractor’s steering angle. The tractor operator could be unaware of this condition until it became hazardous. A pressure switch informs the diagnostic computer of the hydraulic failure, disabling the automatic guidance controller and alerting the tractor operator to the failure. 8.2 Diagnostic Computer Program The diagnostic computer operates differently from the computers on the automatic guidance computer network. As mentioned in the introduction of this chapter, the diag- nostic computer is not actually part of the automatic guidance controller, but rather a control system manager. 67 The diagnostic computer does not proceed through a predeter- mined sequence of instructions, but executes a variety of subroutines and procedures in response to the operating state of the automatic guidance computer network. Due to the complexity of the diagnostic computer program, a complete flowchart is not presented. Instead, the operating features of the diagnostic computer are described, with flowcharts illustrating specific functions when necessary. The procedures and subroutines comprising the diagnos- tic computer program may be divided into three categories: (1) utility subroutines which communicate through UARTs, (2) diagnostic subroutines which monitor the Operating state of the automatic guidance computer network, and (3) interface subroutines which translate keystrokes from the tractor operator into automatic guidance computer network command codes. The remainder of this chapter describes the sub- routines and procedures of the diagnostic computer program as they perform these functions. 8.2.1 Utility subroutines The use of UARTs eliminates the need for the serial communication subroutines in the monitor program provided by RCA for the CDP1802 microprocessor. Four new utilities were written to perform communication through UARTs: RUART, WUART, WRTLN, and TIMER. The RUART subroutine reads data 68 received by a UART. The WUART subroutine transmits data through a UART. The WRTLN subroutine transmits a string of characters through the UART connected to the tractor operator’s terminal. The TIMER subroutine is called when an I/O event is expected to occur within a specified time. The TIMER loop executes in 0.152 ms, which is the time required for an ultrasonic pulse to travel to an object 2.6 mm away and echo back. Since the bit increment of the distance values is 2.5 mm, the diagnostic computer uses the anticipated distance reading to set up the TIMER count register following a position sensor measurement request. The TIMER loop decrements the count register until serial data are received by one of the UARTs, a vehicle system error is detected, or the TIMER count register expires. At exit, a register indicates the cause of TIMER termination. Nested within the TIMER loop is a procedure which transmits the current operating distance to the tractor operator’s terminal. 8.2.2 Diagnostic subroutines The diagnostic subroutines are used to monitor the operating state of the automatic guidance computer network. Subroutines are included to verify that network computers are performing communication properly, the position sensors are measuring and transmitting distances, and the master 69 controller is sending commands in the proper sequence. The diagnostic computer program contains six diagnostic subrou- tines: OLIC, OLSEQ, OLRES, EMUASK, RJUST, and CHDLIM. The On-Line Identification Character (OLIC) subroutine is called when the diagnostic computer wishes to determine if an individual network computer is communicating properly. The ID character of the device (see Table 4.1) is trans- mitted through the appropriate UART. After a short delay, the UART through which the device should respond is checked. If no response has been received, the device is determined to be ’off-line’; either it did not receive the ID character or it did not respond. If the correct response character is received, the device is considered to 'be ’on-line’ and functioning properly. If the response character is not correct, the device is determined to be ’malfunctioning’; it is responding, but not in the prescribed manner. A response register indicates the operating condition of each network computer to the diagnostic computer. The OLIC SEQuence (OLSEQ) subroutine is used during system start-up to determine the operating condition of the control system computer network. A memory table contains a list of devices which should be connected to the network, which.UARTs are used to communicate with each device, and a mask byte indicating that device’s bit position in the network status register. The OLSEQ subroutine calls the OLIC subroutine for each computer on the network, sets its 70 network status register bit if the device is not on-line, and displays the OLIC result on the tractor operator’s terminal using the OLIC Result (OLRES) subroutine. The EMUASK subroutine is called for each off-line or malfunctio- ning device, querying the operator whether the device should be ’emulated’ or the failure should be ’ignored’. The ‘ network status register bit remains set for devices to be emulated, but is cleared for failures the operator chooses to ignore. The network status register is used during automatic guidance operation to emulate failed position sensors. The Right-JUSTified (RJUST) procedure monitors computer network activity during automatic guidance. RJUST makes extensive use of the TIMER utility subroutine described in section 8.2.1. The TIMER count register defines the length of time RJUST will wait for the next transmission to occur before suspecting a device failure. The response time for each command is known based on the operating parameters of the automatic guidance controller. A response line register indicates which communication line should respond to the type of information last transmitted over the network communication bus. For example; following a position sensor distance poll on the network command line, the next trans- mission should be a distance value on the network data line. If instead the next transmission occurs on the network command line, the diagnostic computer would suspect that the 71 polled position sensor had failed. A RAM table records the number of errors detected for each computer in the network. Occasional position sensor ’failures’ are expected, since they may be polled when there is no target in their field of view. RJUST sets the TIMER count register and response line register based on the command or data which last occurred on the network, then calls the TIMER utility subroutine. The RJUST diagnostic procedure flowchart is shown in Figure 8.2. When the program returns from the TIMER subroutine, RJUST checks the TIMER count register. An expired count register indicates no communication occurred within the expected response time, meaning the master controller has failed (the master controller is intelligent enough to compensate for a failed position sensor; see section 5.2.4), so the master controller error count is incremented. If the error count exceeds fifteen, execution branches to the FATAL interface subroutine, terminating automatic guidance. Otherwise, a master controller OLIC is performed. If the OLIC is unsuccessful, execution branches to FATAL. Other- wise, the diagnostic computer sends a ’resume automatic guidance’ command (code F2) on the network data line in an attempt to keep automatic guidance operating. Program execution then returns to the beginning of the RJUST subroutine. 72 mummm unnm: V auncmur <57 SEND STU “170%th mum: can: Ell KIN-{W DATA UK I 116 FAILED m FATAL mm: mm on (TM DATA LDC db Figure 8.2 Flowchart of RJUST Diagnostic Procedure which Monitors the Computer Network During Automatic Guidance 73 IS DATA F'AILED SENSOR CODE 7 STORE DISTA'CE MIG! DYTE I CALL TIER T VAS DATA RECEIVED ON DATA LM 7 VAS DATA RECEIVED FROM CPERATm T Figure 8.2 (cont’d.). STORE DISTME LOV BYTE I CALL DDISP 9e SET TIE CMTER. RESPONSE UK. MD ERROR POINTER 74 INCREMENT MASTER CONTROLLER ERROR COUNT I IS MASTER CONTROLLER ERROR COUNT >16 7 OLIC MASTER CONTROLLER IS MASTER CONTROLLER ON-LINE ? N (mm. ) I SEND RESUME CODE ON NETVORK DATA LINE Figure 8.2 (cont’d.). Figure 8.2 N “I. own I: 9 CHARACTER V DESIRED SIEERIND .... I o 1 SET mt CMTER. N RESPONSE LINE REGISIER N I: v 0 Human SENSDR III-LINE *1 7 V LOAD IIRE CDDNIER N IASED DN DISTANCE SEmND SEND FAILED SENSDR CDDE .9 m NENDRN Dam LINE SET RESPDNSE LINE REDISIER 9 AND ERRDR PDINIER SET THE CENTER. RESPUISE LIK REGISTER AND ERR“ POINTER (cont’d.). 76 If the TIMER subroutine is terminated by a vehicle system failure, program execution jumps to the FATAL interface subroutine where automatic guidance is terminated. The only other means of TIMER subroutine termination is through detection of communication on a network line. If the transmission occurred on the expected line (indicated by the response line register), the computer network is operating correctly: the proper device responded within the specified time, so the error count for that device is cleared. If communication occurs on the wrong network line, the device which had been expected to respond is suspected of failure. The error count for that device is incremented. If more than fifteen consecutive errors accumulate for a device, a ’stop automatic guidance’ command (code F0) is transmitted on the network data line, followed by an OLIC of the failed device. If the OLIC is unsuccessful, automatic guidance terminates in the FATAL subroutine. Otherwise, the device error count is cleared and a ’resume automatic guidance’ command (code F2) is transmitted on the network data line. Once RJUST has detected and recorded suspected fail- ures, it sets up the registers to anticipate the next network transmission based on the previous command or data. Different set up procedures are performed for communication detected on the network command line, the network data line, and the operator’s terminal. 77 In response to a ’set distance limit’ command (code 60) on the network command line, the CHeck Distance LIMit (CHDLIM) diagnostic subroutine is called. CHDLIM verifies that the distance limit is transmitted over the network command line and checks the distance limit value. After the distance limit has been set and verified, the diagnostic computer will accept a transmission from any bus line, so execution resumes at the beginning of the RJUST procedure. When a desired steering angle transmission is detected on the network command line, the diagnostic computer anticipates a position sensor distance poll will follow. The response line register points to the network command line, the error count pointer is directed to the master controller error location, the TIMER count register is initiated, and the TIMER subroutine is called. A position sensor distance poll is the other type of transmission which may occur on the network command line. In response to this command, the diagnostic computer checks the network status register to see if the polled position sensor is on-line or if it should be emulated. For position sensors to be emulated, the diagnostic computer immediately transmits the ’failed position sensor’ character (code FF) on the network data line. A subsequent poll of the next position sensor is anticipated, so the response line register, error count pointer, and TIMER count register are set accordingly. For operational position sensors, the 78 error count pointer is directed to the polled sensor, the TIMER count register is set based on the value of the distance setting stored in memory, and the response line register is set for the network data line. The register set up is completed with a TIMER subroutine call. Two types. of information are expected on the network data line: measured distance values from the position sensors and position sensor failure indications. Distance measurements are stored in a register then converted to a distance display ASCII character string by calling the DDISP interface subroutine. The distance display character string is transmitted to the operator’s terminal by the TIMER subroutine. A desired steering angle transmission is expected following distance measurement. A position sensor distance poll is expected following a position failure indication. Both are transmitted by the master controller over the network command line, so the response line register is set for the network command line and the error count pointer is directed to the master controller error location following transmissions on the network data line. The only valid transmission from the tractor operator is an ASCII escape character indicating he wishes to terminate automatic guidance, in which case program execu- tion branches to the FATAL interface subroutine. All other characters on the operator line are ignored. 79 8.2.3 Interface subroutines The interface subroutines communicate with the tractor operator through his terminal. The diagnostic computer program contains twelve interface subroutines: CRTSl, CRTSZ, CRTS3, CRTS4, MDASK, USD1, SESED, RESUM, STFLW, DDISP, FATAL, and MNTR. These twelve subroutines may be further classified as screen heading, initiation, operation, and maintenance subroutines. The screen heading subroutines include CRTSl, CRTSZ, CRTS3, and CRTS4. These subroutines format the tractor operator’s monitor to display system operating parameters or request information to initiate automatic guidance. MDASK, USD1, SESED, RESUM, and STFLW are initiation subroutines. MDASK, requests the operator to select an operating mode, then branches to the initiation procedure for the selected mode. USD1 initiates automatic guidance at an operator- specified distance from the row. The operator is requested to enter the desired distance, which is converted to automatic guidance distance values (one bit is 2.50 mm). The distance setting is checked to assure that it is in the acceptable automatic guidance operating range of 0.32 to 9.59 m. USD1 calls the SESED subroutine, which transmits the ’begin automatic guidance at user-specified distance’ command (code F1) to the master controller. The command is 80 followed by two bytes of data indicating the distance setting. The program then branches to the RJUST procedure. RESUM is used to resume automatic guidance at the previous distance setting. The operator’s screen is formatted, then the ’resume automatic guidance’ command (code F2) is sent to the master controller. The program then branches to the RJUST procedure. STFLW initiates automatic guidance maintaining the distance from the row at the time of initiation. The diagnostic computer distance setting register is cleared, then the ’maintain present distance’ command (code F3) is transmitted to the master controller. The program then branches to the RJUST procedure. Two interface procedures are used during automatic guidance: DDISP and FATAL. DDISP converts distance measure- ments received from the position sensors into an ASCII character string for display on the operator’s screen. The character string is transmitted to the terminal by the TIMER utility subroutine. FATAL terminates automatic guidance by transmitting the ’stop automatic guidance” command (code F0) to the master controller and the ’relinquish steering angle control’ command (code A0) to the steering controller. The cause of the automatic guidance failure is diagnosed and displayed on the operator’s screen. The last subroutine in the diagnostic computer program is MNTR. This subroutine is used to .connect the tractor 81 operator to the monitor program of any computer on the network. From the monitor, the operator may inspect memory contents or perform other diagnostic functions. One particularly useful feature is that the computer’s program may be copied to RAM, modified, then run in the modified form. This permits minor software changes to be made in the field. While one network computer is in the monitor mode, the rest of the computers must enter an ’idle’ mode, so that the operator may communicate with the selected computer without interruption. Each network computer recognizes the monitor entry commands of all other computers as an idle mode command for itself. The idle mode is terminated by a hexadecimal command code 68, the only code without a corresponding instruction in the RCA 1802 machine code. At the completion of the MNTR subroutine, the automatic guidance computer network is reinitiated. 9. TESTS AND RESULTS Tests were conducted to verify the temperature indepen- dence of the ultrasonic position sensor and to analyze the performance of the automatic guidance controller. The position sensor was tested in a controlled environment chamber and the automatic guidance controller was tested using a simulated ’tree row’ in a parking lot. 9.1 Position Sensor Temperature Test The purpose of the position sensor temperature test was to demonstrate the variation in the speed of sound as a function of air temperature and to verify that the table look-up procedure is an adequate method of correcting for air temperature effects. 9.1.1 Test equipment An ultrasonic position sensor was placed in a con- trolled environment chamber, directed toward an acoustically hard wall. The remaining walls and floor were covered with curtains to attenuate extraneous echoes. The position sensor program was revised so that when polled, it would respond with the ultrasonic echo timer count, the digitized 82 83 air temperature value, and the temperature compensated distance value (see Chapter 6). An Apple /// computer was configured and programmed to control the air temperature within the chamber, poll the position sensor, and record the test data. 9.1.2 Test procedure The environment chamber temperature was cycled in single-digit increments of air temperature values measured by the precision temperature sensor and A/D converter of the position sensor under test. The Apple /// computer con- tinuously polled the position sensor, and controlled relay switches for heating and cooling based on the digitized air temperature value response from the position sensor. Five data records were recorded at three minute intervals. Each data record consisted of the time of day, the ultrasonic echo timer count, the digitized air temperature value, and the temperature compensated distance value. The three minute sampling interval was selected based on observed thermal response of the controlled environment chamber. 9.1.3 Test results and discussion The test ran nearly 26 hours, during which time 2595 data records were collected. The temperature was controlled through one full cycle from cold to hot and back to cold, achieving temperature extremes of -1.24 and 44.37 degrees 84 Celsius. The results of the tests were processed to convert digitized air temperature values to temperature in degrees Celsius, convert ultrasonic echo timer count values to milliseconds, and convert temperature compensated distance values to centimeters. Figure 9.01 shows the ultrasonic echo time plotted against air temperature. These results illustrate the well- known speed of sound dependence on air temperature. Echo time decreased with increasing temperature, indicating that speed of sound variations are repeatable and, therefore, predictable as a function of air temperature. At any given air temperature, the echo time appears to be consistent within a bandwidth of 0.160 milliseconds, during which time sound would travel 0.054 meters, so accuracy is limited to +/- 2.7 cm. The temperature compensated distance is plotted against air temperature in Figure 9.02. The temperature compensated distance is nearly flat as the air temperature changes. This indicates that the look-up table speed value compen- sated for the variation in the speed of sound, rendering distance measurement independent of air temperature. The distance bandwidth is +/- 2.8 cm, a value consistent with the prediction from the echo time analysis. 85 ohswmhmmsmk hfi< umcflmm< pouuon mafie 030m ofisommpuqb pomswm :ofluflmom Ho.m mhsmflm 8 own: mmahcxumzmh. Eco 8 .3 8 9.. 8 mm 8 pm 8. an 8. 8 8. m: on... 8 .m 8 re 8 ms 0 0 89899.9 m -89 '89 8 9 99 9 n 998 889389 e _I 9 9.8899889 9 99 SI 9' Dix! 89999 99 -.W 899.8859 3 MS 88888889898 0 999989 8999.! 99 N 999998; 9889 I 9 908.9998 9 98 3 9 9'8! 938-8889 .1 as ilIIREACEIZIZIé 8:. 99 .zlllaa 9988 99 0% 9 is 89898 9 9 0 ill. 99 9899 I-8998 89 i! l 089 8909 89 e 36 :51 8EI8.8888 9 9 9 PH aI-flléaéa 89959 03 9 al.—89998 9398 I 9833‘! N 991lll§8§8§8 S is Sr. Ellen—9899 9 -. El! El! 9 w 8‘98 9899 8g 99 99.9998 l8 3 9 8 r. 9 0 86 muzumhomemb hw< umsflmm< smuHOHQ mocmumfia Umummcwasoo ohsummeEme somcmm newuflmom no cue. umahmmwmzwh Sc No.m ohzmwm 8.9 85.. 8.x» 8....” 84m 84% 8;: 8.“: 21.9 8.... 8.9% ..u 0 3 r8" my on. U I. am. T + + + + ”-3 ti++ +++ ++ + l: ... + + +++ M3 1&1. +¥$+ ++++$ +++* + ... +++t¥+ t W Exit: ++$§¥+$t¥++$t¥t¥+ # $1.1 +tI+ + 8% its... ##T+.+$$..I+$++ ++ +t¥t+++lI+t+ t + +¢..I:..:+ + + + MW. Iiititxfii +$t$++$ + $+ +++$+¢t I¥$+¥ 11.: + 0w §T++tr$+ $321.3: ¥¢++ + + t ¢+£+t+ ¥+tz$+$z$$ Iii: + M 85+Li+ t+t$+tIf§¥ti£++£§I£$t£1§. t$tIT¥ t11I$t¥$¢I§i§§¥i..¥.i.+l$ rflnu 1.3:: + $53.79.; l... ¥+¥t¥t¥§§I++¥ WW... + .1 +121 t++ + + +£$+¢+++t+t¥txi¥z§$ mu. + +++ + + #2:; M o... # IWB ++ Mn. H 9.. I0 I m. o 87 9.2 Automatic Guidance Controller Performance Test The purpose of the performance test was to demonstrate the automatic guidance controller’s capability to steer the tractor along a tree row. The effects of varying ground speed and row offset were observed. 9.2.1 Test equipment The automatic guidance controller was installed on a Ford 7610 tractor and programmed as described in chapters 4 through 8. The three-point hitch was selected as the ’vehicle control point’, as many production orchard tools are mounted implements. A simulated tree row was established using ’tree stands’ constructed of 4 cm pipes welded to I-beams so that the pipes stood upright. The row was set up in a large open parking lot paved with asphalt. A paved surface test site was selected to maintain consistent and repeatable traction conditions throughout the test program. Use of a paved surface eliminated disturbance inputs which would be caused by driving across stones or holes in an actual orchard. A long toolbar was mounted to the tractor’s three-point hitch. Thirty-two microswitches were suspended from the right end of the toolbar with flexible whiskers hanging downward so that the switches would close as the whiskers contacted the tops of the tree stands. The microswitches were spaced at 2 cm intervals. The microswitches were 88 connected to four 8—bit parallel I/O ports of a data acquisition computer. Switch closures generated CPU interrupts, causing the computer to record a data record indicating which switch was closed. The switch closure interrupt also triggered a distance measurement by a spare position sensor mounted on the centerline of the tractor at the three-point hitch.' The position sensor measurement was used to validate the switch closure, as dynamic forces caused switches to close randomly when the tractor jerked. Moreover, subsequent testing in an orchard could be performed using only the position sensor measuring system. Data collected in such tests may be correlated with the results of tests using both the switch and position sensor techniques. 9.2.2 Test procedure The tree row consisted of fourteen tree stands aligned along a straight painted parking line. The tree stands were spaced at 3.00 meter intervals within the row. The align- ment was checked by sighting along the row of tree stands. The tractor was manually guided as it approached the beginning of the tree row. The operator set the automatic guidance distance setting during the approach. Automatic guidance was initiated about 3 meters before the forward position sensor encountered the first tree in the row. The automatic guidance controller steered the tractor along the 89 row, with the operator overriding the automatic guidance controller as the tractor exited the end of the row. The operator then turned the tractor around and returned along the opposite side of the row using the ’resume automatic guidance’ command. Thus, twenty-eight tree stands were passed, with a single discontinuity between stands fourteen and fifteen. The test procedure is diagrammed in Figure 9.03. The performance test was repeated at distance settings of 1.74 meters (5.70 feet), 3.44 meters (11.27 feet), and 5.14 meters (16.85 feet).» At each distance setting, the tractor was driven at five ground speeds: 0.8 km/h (0.5 mph), 1.6 km/h (1.0 mph), 3.4 km/h (2.1 mph), 7.0 km/h (4.3 mph), and 9.4 km/h (5.8 mph). Speed was determined by measuring the elapsed time between switch closures of the first and last tree stands in the test course. The automa- tic guidance controller did not perform acceptably at a 1.74 meters distance travelling at 9.4 km/h. The automatic guidance controller was unable to maintain contact with the tree stand row under these conditions, so no data were recorded. 9.2.3 Test results and discussion The test data were inspected and records generated by jerk-induced switch bounce were removed. Also, when a switch whisker remained in contact with a tree stand long operator overrides \ automatic guidance controller by turning steering wheel data collection triggerred by microswitch whisker contact with tree stand operator steers tractor on approach sets distance 3 meters before forward sensor encounters row '\ '\ '\ HI W I 9 I 9 at completion of . turn, operator 9 uses ’resume’ . command to 9 follow the row 3.00 meter tree 9 stand spacing I (INHIIIIII 1——ground speeds 008, 196, 304’ 7.0, and 9.4 km/h . l . . -¢————O——-distance settings I I 1.74, 3.44, and 9 5.14 meters end of test I operator regains ‘fia \control by turning .steering wheel \ Figure 9.03 Diagram of Automatic Guidance Controller Performance Test Procedure 91 enough for several data records to be collected, the ultrasonic position sensor readings for that data point were averaged, resulting in a single data record for each tree stand encountered during the test. Data collected during the automatic guidance controller performance tests is plotted in Figures 9.04 through 9.17. In viewing the performance test result plots, one should keep in mind that the ordinate and abscissa are presented in different scales. The ordinate is slightly longer than the region sensed by the microswitches, being 0.80 meters in width. The abscissa, however, represents the length of the test course, with twenty-eight tree stands spaced at 3.00 meters yielding an overall length of 81.0 meters. With equally scaled axes, the plots would be 12.8 meters long and 0.14 meters high. The distance the tractor passed from each tree stand was averaged over each run, and the standard deviation about the mean distance was computed for the test run. The average distance indicates the magnitude of the steady-state tracking error, and the standard deviation of the distance about the mean indicates the stability of the automatic guidance control system. A summary of the performance test results are compiled in Table 9.1 for steady-state error and stability comparisons among the various test conditions. The results of the performance tests at a distance setting of 1.74 meters are plotted in Figures 9.04, 9.05, pooam pcaouo :\Ex m.c can mafiuwom mosmumwa amums v>.~ as madammm umme mosmsuompmm sodaouucoo mocmnwzc Daumeoas< eo.m mhzmwm . xuozaz much 8...“ 8...“ 8.m« 8.... 8i. 8.... 8.». 8.». 8... 8.. 8... 8.... 8.5 8. b b b b r :\22 o. u omMLm n : mac. n >mo ohm hmuo : mm.— H mocxm>¢ hwuo w 5. $0 92 5’ 1 5 (H) M08 3381 H083 BONUISI V 9"! r 90‘! OI'Z 999nm venous :\ex o.. 9:9 mc.uaom meadumwa hmume ¢>.H pm madammm ummb monoEAOMAmm wmaaoaucoo mocmpwsc owumsousm mo.m mwzmwm cunts: wmxh 859 .....mu 8.»... 2...... 8.». 8.... 8.... 8.». 8.... ......m 8.... 8..- 8..» 8.r :\:2 0.. u ouumo n 2 one. u >uo ohm hm_o : mo._ u uccmu>c hm—o w. we ”TI 93 SL'r! T 9"! (H) 808 3381 8083 33NUISI 1 98'! ST'Z ummsm unsopc :\sx <.m 9:9 m:..pwm mosmumfln hmuoe e>.~ as measmmm ummb mocmsaomwmm AOHHOLHCOO mocmcwzc Owumfiov3< oo.m mhsmfim zmmzzz mum. 84m 8.». 8.4. 8.... 8.». 8.... 8.... 8.». 8.... 8... 8.... 8V. 8..» 8... xxx: v.m u ouudm z coo. >mo opm .m.o 2 mo.. mc¢¢u>c .m.o 3"! 0" 94 ' ss-rI SL'I 'I (8) M08 3381 8083 30N81910 I SI'Z floomm vcsonu :\Ex 0.5 van mcwuumm mocwumwa hmume qu.~ um muaammm umme mocaELOMAmm hmHHOQucoo mocwnwso OwHwan=< no.m mpsmflm zmmtaz much 8..." 81.. 8.m~ 8. ..u 8. m. 8. ... 8. m. 8.». 8. ... 8.... 8.... 8..u 8..» 8. f :\=x o.p u ouumm a w z .m.. u >mo o.m .m.o z .p.. u wc¢¢u>c .m.o w ...... V 99'! 95 (H) 808 3381 H083 33N81810 a7i r 90'! I 38'! SI'Z 60mmm vcsouo :\Ex m.o flaw mafiuumm mocmamwa pmums v¢.m um maazmmm ummb mocwEQOMHmm hmHHOAacco mocwvwzc ofluwaous¢ mo.m mpswfim mumzaz mum» 8...“ 8...» 8.8 8. .... 85. 8.... 8. x. 8.». 8.... 8.... . 8.... 8..» 8..» 8. r. :\:x m. n omumm M : mac. n >uo chm pmuo : m—.m u moczu>¢ hm_o z '0 o 3 Wm c. I. 8 km 6 m3 9 J 8 0 .1“ m... a. a. a...“ mH m .1 a .8 . ...... 09" Umem 6:3096 :\Ex o.~ Ucm mcwuumm mocwumwa hmume q¢.m 3w muazmmm ummfi mocwshomnmm pmHH0hacco mocmfiwsc ofiumsov3< mo.m mhzmflm mumzaz mach oo.wu oo.mm oa.mw ca... 88.». oo.m. 88.». oo.m. 98.“. noun can» now» can» 88..“ :\=z o.“ u ouumw m : «mo. u >uo chm hm_o : wu.m u uo¢¢u>¢ hm_o .m 5. 97 ova oww (H) H08 3381 H083 33N81310 f 03'6 OI'C 09" nomnm vasopc :\ex ... new m:..pmm GOGdHMMQ LGHOE ¢¢.m Hm mamammm ummh. mound—FHOMHOQ .HGHHOHHCOO mocwfiwso OwHflEOHSd. O~.m mhdmwm «meta: numb 8...... 85w. 8.... 8.... 8.». 8.... 8.». 8.3 8.... 8... 8.... 8.... 8... 8.r :\:x ¢.m u ouwmm m : m——. n >mo chm hm_o z oo.m u u¢c¢u>¢ bw_o r3 “0 I 98 00°? oo-' (H) 808 3381 "083 33881910 0P8 it 09" oommm n::o.c :\Ex o.. as. mc.uuom mocapmwa pmumE vv.m pm mu.:mmm ummk mocpromnmm umaaouucoo mocmnflso Owum50ps< -.m mhsmfim «woes: may: 99 8. ... 8.». 8...... 8. ... 8.... 8. ... 8. n. 8. .... 8. r. 8... 8.... 8.... 8..» 8. .z :\=z ... u om... w : .... u >uo ... .... z .... u u..¢u>. .... I; w h. «m S l U Fm. m3 .4 a o It" ...... 3 3 WM '0." m r‘ r o .w m 09" fimmmm vCDOAO £\Ex v.m Ucm magpumm mocmumwa beams «v.m um muazmmm umme mOCmEhomumm moHHOQHCOO mOCMUMSO oflumeouz< N~.m whammm «meta: mum» 8. ... 8. a. 8.»... 8. ... 8. a. 8. ... 8. m. 8H. 8. ... 8... 8w. 8... 8v» 8. f :\22 ... u an... . w z .... u >mo ... .... x no.» u ucczu>c .... .1 u .1 «m né I. Mu .qu 0 «3 ”w mu 0 Sun- mm“ a: 3 ...w M" mm .w u .1 m 09'6 coon. onso.o g\ax ..o new m:...mm wondumwa poems v~.m um mvdsmwm ummb mocaahomumm hmHHOQHCOO mocwvflsc prmaou=< m~.m mhsmflm «meta: mum» 86m 8% 8.». 8.... 8.5 8..». 8.». 8.»: 8.... 8... 8.... 8... 8..» 8.9 zxzx o. u owmmw m : «mo. u >wo chm hmuo z mm.v u wo¢¢m>¢ hm_o TW u r, ...... 0&3 101 owfi r 0P9 (H) "08 3381 "083 33NU1SIO V 07'! cmmam unsopc :\ex ... on. m:..pmm mocmumwo Lmuma ¢~.m um maazmmm ammb mocmEAOMAmm hmHHOHUCOO mocwfiflso Owumsovs< v~.m ohsmwm «meta: mum» 8.... 8.». 8.». 8. ... 8.». 8.... 8. m. 8?. 8. ... 8... 8.... 8... 8..» 8. .9 xxx: m.» u oummm m 2 an». n >uo chm hm_o : oo.m u u¢¢¢u>c km»: ..W u .w .m S I. U 'O’w 2 m3 0 J 1... a o rm." mm 3 3 ram M" m ..9 ...... s ... or: vmonm Unscho £\Ex e.m Una mcwppmm mocwuwfio pmums «H.m um measmmm ummk mOCMEhompmm noHHOLHCOO mocmvwso owumaoua< m..m mpsmwm «meta: much 8.... 8?. 8.». 8. ... 8.». 8.... 8.». 8.». 8.5 8... 8.... 8..» 8..» 8.... :\=z ¢.m n ouumm m : mu». u >uo ohm hM—Q : 00.? n mo¢¢u>¢ hmuo r. u 1' w 103 or? V (H) H08 3381 H083 33N31510 7 0"3 T 0"! coma» u::o.u ;\e: o.. can m:...mm mocwumwa houofi e~.m 9w mvdzmmm Hmmh. mocwEhOhhmm hmHHOhHe—OO MOSQUHSO Owam50v3< ®~.m mhsmwm mumzaz mum» 8.... 8.». 8.».} 8. ... 8.... 8. ... 8. m. 8.». 8. ... 8... 8.... 8..» 8.r» 8. .9 =\zz ... n om... w z .... u >u. ... .... a .... u moczu>c .... v, w .w Mn. of. 104 U V OPS (H) H08 3381 H083 33N8181 09‘! amen. c::o.c :\ax ... new m:.u.mm mocmvmfla hmumE v~.m um muazmmm umme mocwEhomhmm hmHHOAHCOO mocmvwso owpmeou3< u~.m mhzmwm ammznz umzh 8. ... 8. m. 8.». 8. ... 8. ». 8. P. 8. m. 8.». 8. ... 8.. 8. .. 8.» 8..» 8. .9 :\:x ... u cm... W z .... u >uo ... .... z .... u mcczu>c .... I, w T 00" or? 105 (H) H08 3381 H083 33N81310 U 01'9 0"! Table 9.1 Automatic Mean Distance 106 Guidance about the Mean Controller Performance Test from Row and Standard Deviation Speed Distance Setting (m) (km/h) 1.74 3.44 5.14 0.8 1.65. 3.13 4.86 (0.055)b (0.096) (0.092)) 1.6 1.69 3.15 5.00 (0.038) (0.092) (0.139) 3.4 1.69 3.08 4.88 (0.080) (0.114) (0.129) 7.0 1.74 3.04 4.94 (0.164) (0.188) (0.102) 9.4 --- 3.03 4.91 --- (0.157) (0.176) .Mean Distance from Tractor to Row bStandard Deviation about Mean Distance 107 9.06, and 9.07. The respective ground speeds are 0.8 km/h, 1.6 km/h, 3.4 km/h, and 7.0 km/h. As mentioned in the previous section, the automatic guidance controller did not perform adequately at 9.4 km/h at this distance setting to collect relevant data. The tractor appeared to drive by some tree stands without ever detecting them. Even at 7.0 km/h (Figure 9.07), the position sensors seemed to miss several tree stands. The tractor was sharply approaching the row at the end of the first pass, and the microswitch data collector did not contact tree‘ stands thirteen and fourteen. On the second pass, the last tree stand apparent- ly passed beyond the reach of the toolbar. At the 1.74 meters distance setting, the automatic guidance controller steered the tractor in such a manner to maintain a spacing of 1.7 meters from the row of tree stands. The standard deviation about the mean did not exceed 16.4 cm (6.5 in) at any speed, and was as low as 3.8 cm (1.5 in) at a ground speed of 1.6 km/h. The maximum position error occurred at tree stands thirteen, fourteen, and twenty-eight of the 7.0 km/h run (Figure 9.07) when the trees passed beyond the reach of the microswitches. Results of the tests run at a 3.44 meters distance setting are shown in Figures 9.08, 9.09, 9.10, 9.11, and 9.12. The respective ground speeds of these tests were 0.8 km/h, 1.6 km/h, 3.4 km/h, 7.0 km/h, and 9.4 km/h. At the 3.44 meters distance setting, the automatic guidance 108 controller maintained a spacing of about 3.1 meters between the tractor and the row of tree stands. The standard deviation about the mean distance tended to be slightly greater than the tests performed at the 1.74 meters distance setting. At speeds up to 3.4 km/h the standard deviation of the distance hovered around 10 cm (3.9 in), but at the higher speeds the standard deviation jumped to 18.8 cm (7.4 in) and 15.7 cm (6.2 in). The maximum position error was 35 cm (13.8 in), which occurred at tree stands twenty-five and twenty-seven in the 7.0 km/h run (Figure 9.11) and at tree stand nineteen of the 9.4 km/h run (Figure 9.12). The tractor path appeared quite erratic at 9.4 km/h, as the guidance controller seemed to be overcorrecting for position errors. One tree stand apparently was not detected by the data collection microswitches, as only twenty-seven data records were recorded. Figures 9.13, 9.14, 9.15, 9.16, and 9.17 display the results of performance tests run at a 5.14 meters distance setting at ground speeds of 0.8 km/h, 1.6 km/h, 3.4 km/h, 7.0 km/h, and 9.4 km/h. In these tests, the automatic guidance controller maintained the tractor at a distance of about 4.9 meters from the row of tree stands. The standard deviation about the mean row spacing was slightly greater than the tests at the 3.44 meters distance setting. The best tracking was achieved at a ground speed of 0.8 km/h, with a standard deviation of 9.2 cm (3.6 in). At ground 109 speeds up to 7.0 km/h the standard deviation in row spacing remained below 13.9 cm (5.5 in), but at 9.4 km/h the standard deviation increased to 17.6 cm (6.9 in). The maximum tracking error measured from the mean was 39.2 cm (15.4 in) at tree stand nineteen in the 9.4 km/h test (Figure 9.17). Data correlating ultrasonic position sensor measure- ments against switch closure position measurement are plotted in Figure 9.18. The line drawn through the plot is the ideal line, for which both measurements would be equal. In the 1.74 meter and 5.14 meter ranges the ultrasonic position sensor measurement is quite accurate, but there is an offset in the 3.44 meter range. The ultrasonic position sensor measurements exceeding seven meters are probably due to samples recorded with no tree stands present in the position sensor’s field of view. The ultrasonic position sensor measurements around three meters with switch closure measurements of five meters may have been caused by echoes bouncing back from the ground in front of the tree stand. Although the ultrasonic position sensor measurements are typically within ten percent of the actual distance, highest accuracy may be obtained by averaging or integrating several successive ultrasonic position sensor distance samples. 110 9.00 10.00 8.00 1 9.00 1.00 #6 0 00 SONRR HEHSléREHENT (l1) 1 3-00 1 g.oo }.00 O O o O HCTURL DISTRNCE EM) Figure 9.18 Automatic Guidance Controller Performance Test Correlation Between Sonar Position Sensing and Microswitch Position Sensing 10. CONCLUSIONS AND RECOMMENDATIONS The results of the tests demonstrate successful accomplishment of the objectives stated in chapter 3. Specifically, the conclusions of the research reported in this thesis are: 1. A temperature compensated ultrasonic position sensor was developed which is accurate to +/- three percent from 0 to 45 degrees Celsius. The range of this position sensor is 0.3 to 10.0 meters, making it suitable for use in automatic guidance controllers. 2. A computer network was designed and programmed to function as an automatic guidance controller for an orchard tractor. Stable guidance control was achieved at speeds from 0.8 to 9.4 km/h with the tractor operating at row offsets of 1.74 to 5.14 meters, with the exception of unstable operation at 9.4 km/h with a row offset of 1.74 meters. 111 112 The use of a pre-calculated look-up table to determine the speed of sound as a nonlinear function of air temper- ature proved adequate for the purpose of automatic guidance control. The accuracy of the ultrasonic position sensor did not appear to be degraded by the quantization of the temperature range into 256 discrete increments. The automatic guidance controller developed in this research utilized six computers in a two-wire network to divide the tasks making up the automatic guidance process. With efficient exchange of information, the computer network was capable of monitoring vehicle position, path deviation, and steering angle on a continuous basis. The distributed parallel processing nature of this system was original and unique in the realm of agricultural vehicle automatic guidance control. In the time since this project was initiated, vast developments have occurred in microelectronic technology. The limited microprocessor capabilities which led to the use of distributed processing could no longer be considered state-of-the-art. Today, microprocessors are being produced with serial communication channels, analog-to-digital converters, multiple interrupt-driven timers and counters, and various memory technologies all residing on a monolithic silicon die. The increased capability of microprocessors may eliminate the need for some distributed processing controllers. Other issues exist which will perpetuate the 113 use of distributed control systems. The most significant of these is proliferation of vehicle wiring harnesses. The use of a vehicle data bus with intelligent sensors and actuators is being considered by the passenger car and heavy duty on- highway vehicle industries. In this context, one may consider the microprocessor-based ultrasonic position sensors to be early prototypes of a ’smart sensor’. The results of the research reported in this thesis lead to a number of additional topics which may be studied in the future: 1. Redesign the guidance controller using one of the new highly integrated single chip microcomputers. 2. Develop _a .technique to automatically turn the tractor around at the end of the row and turn back in to the next row. 3. Investigate the addition of a vehicle speed sensor and speed dependent algorithm to the automatic guidance controller. 4. Investigate the use of a proportional valve in the steering actuation circuit replacing the on-off operation of the solenoid valve. 5. Develop alternate position sensing devices which would operate in the presently designed network, which would not require an established crop row as a path reference. 114 There is little doubt that agricultural producers will one day use driverless vehicles in their operations. Many technical problems remain to be solved before that day arrives. But the development of robotized agricultural machinery will be evolutionary rather than revolutionary; machine functions will be automated one at a time. Today we already see automatic draft control, electronic engine control, and automatic power transmission control. The continued development of automatic guidance control is an exciting field with challenges and opportunities remaining for future researchers. LI ST OF REFERENCES LIST OF REFERENCES BECKER, W. J., W. D. Shoup, and J. V. Sinden. 1983. Field measurement and analysis of operator speed-load stress. ASAE Paper 83-1628. BOTTOMS, D. J. 1982. The tractor driver’s steering control task. Ergonomics, 25(1):31-39. BROOKE, D. W. I. 1972. Operating experience with wide—wire leader cable tractors. ASAE Paper 72-119. BROOKE, D. W. I. 1975. Safety considerations for automated mobile agricultural machinery. ASAE Paper 75-1032. CLEMENS, J. R., B. R. Tennes, and B. R. Murphy. 1984. A low-cost multi-function computer for hostile environ- . ments. ASAE Paper 84-1078. GILMOUR, W. D. 1960. An automatic control system for farm tractors. Journal of Agricultural Engineering Research 5(4):418-432. GROVUM, M. A. and G. C. Zoerb. 1970. An automatic guidance system for farm tractors. Transactions of the ASAE, 13(5):565-573,576. HARRIES, G. O. and B. Ambler. 1981. Automatic ploughing: a tractor guidance system using Opto-electronic remote sensing techniques and a microprocessor based con- troller. Journal of Agricultural Engineering Research, 26(1):33-53. JAHNS, G. 1975. Safety demands for agricultural vehicles with automatic steering. ASAE Paper 75-1028. JAHNS, G. and R. Moller. 1976. Steering system for manual and automatic operation: design and experiments. ASAE Paper 76-1069. JULIAN, A. P. 1971. Design and performance of a steering control system for agricultural tractors. Journal of Agricultural Engineering Research, 16(3):324—336. 115 116 KAMINAKA, M. S., G. E. Rehkugler, and W. W. Gunkel. 1981. Visual monitoring in a simulated agricultural machinery operation. Human Factors, 23(2):165-173. MACHARDY, F. V. 1967. An automatic guidance system for farm tractors. ASAE Paper 67-123. MCMAHON, C. B., B. R. Tennes, and T. H. Burkhardt. 1982. Development of apple harvester microprocessor-based steering control system utilizing non-contact sensing. SAE Paper 821053. MCMAHON, C. B., B. R. Tennes, and T. H. Burkhardt. 1983. Performance results: microprocessor-based steering controller using ultrasonic sensors. ASAE Paper 83- 1568. SCHAFER, R. L. and R. E. Young. 1979. An automatic guidance system for tractors. Transactions of the ASAE, 22(1):46-49,56. SMITH, L. A., R. L. Schafer, and R. E. Young. 1979. Control algorithms for tractor-implement guidance. ASAE Paper 79-1617. UPCHURCH, B. L., B. R. Tennes, and T. C. Surbrook. 1982. Development of a microprocessor-based steering controller for an over-the-row apple harvester. SAE 1981 Transactions, 90(3):2857-2867. WARNER, M. G. R. and G. O. Harries. 1972. An ultrasonic guidance system for driverless tractors. Journal of Agricultural Engineering Research, 17(1):1-9. WIDDEN, M. B. and J. R. Blair. 1972. A new automatic tractor guidance system. Journal of Agricultural Engineering Research, 17(1):10-21. YOUNG, R. E. 1976. Automatic guidance of farm vehicles: a monograph. Agricultural Engineering Departmental Series No. 1. Agricultural Experiment Station, Auburn University. Auburn, AL. YOUNG, S. C., C. E. Johnson, and R. L. Schafer. 1983. A vehicle guidance controller. Transactions of the ASAE, 26(5):1340-1345. "I11111111117111“)11))“