I!" "-..L'I‘ {fill .I. 1&1“? "Ir‘ 302.2,. 2,, , .. l I .Q I." :I‘AA'A... ANA " 'A. HAN HON}. ‘A' "3“: )5. -' I 'U'rzé‘f‘" Itill .' ‘A-n ’A' . .I‘ ' 1 ‘1 H 1' _ :2 23"“ 2-22 29’th ’- '2 I: A A‘;:. ”Hg?“ him” "3‘ $29.3 Ywa’\‘qb 3k“ ‘ . . 2 .. we ".J . a . ‘ 02.4 r:- 7 .I -? 'fl. ' ' I‘“ Qfi L‘.’ l 0%,”! .TE ‘2' I 1“ 1d -§d&wfipfi .5. §WHI _A AI II_('_A ". : "' ‘. Jr‘ -l" IA"! fl)“: ‘ \ r t 3:: "i ‘;;"A:' I‘ .. W. 42 A443 ‘ :93; '2'» . . I,‘ U \ In ""flfl' W ":1 Ah.” A22322IIA. [M "9‘“ 5'. -92).“ “I :E H ‘ A” (11...! 5. "£19.55 MVPIN:'I '.. A I..La .}npg 52‘“ . m. ' ,.-.;I '. . ‘ H 9 IMgw... 10“," ,‘4 A A”: #39:“? 3“" " {3:8 '5‘. 9 ‘ V ' .2 . (I. “A ‘ ‘ L AAA. AAA AAA AAA" “A A" WA 22 IIA 224222.". 2214:“ . wt}, II w I. - . fu'l‘». . 9‘ . I I ’2 '“I;-: "NI. ”I 'A .m'". . : ”I'll‘hul I dull...‘ '- ' .. 'VI ..'.' -| A. -:A , , I ”I n ”J ‘i' ' “H. ”a"? (“1:94 liwfim AJA|~ u rmtmlflflhl:flfim.uqu WEE: ii‘Lfi £é " " " " ' '“ V""i'I " A?» " "':.2 A. ' AM: A "AW<-"'*':""".A.-.I .: wwwmh- i?‘ :” ANNA. IIXAA!%§?AlA.’: ;. "4"..55'mrj ‘i‘I'i. .2. y '. "I ' ‘“ -. '4 A . I .,-\ 2‘3, , >..' ,| .. 'I.“ III :v-..|:‘IIA;" .93file 9% I W , “NW-H“MH’LN ”A .* "““)AAI _ ' A ‘u h A. . I ’.‘ :1 .'.; l' :! #95 .'1" ‘9'}; "I: f. ‘l "1 I“ ‘H il' "HAW "’42.; II A“, 2224'1‘4‘2'101'2." ..:..‘."...L'-‘.'!f:2'. ~"..i 22.... “z‘ SA: “N9. L:'.I. .. I. AA!" .'- ‘ THESIS LIBRARY ' This is to certify that the thesis entitled DESIGN AND DEVELOPMENT OF A MICROPROCESSOR-BASED STEERING CONTROLLER FOR AN OVER-THE-ROW APPLE HARVESTER presented by Bruce Lanier Upchurch has been accepted towards fulfillment of the requirements for Masters degreein Agricultural Eng. $40,1wa Major professor Date M /0, may 0-7639 #t‘fii_ 1-,», , flax“; J ‘ fr . m IIIIIIIIflIIIIiflflflI v . y r /.-. u OVERDUE FINES: 25¢ per day per item RETURNING LIBRARY MATERIALS: Place in book return to rem charge from circulation rcco DESIGN AND DEVELOPMENT OF A MICROPROCESSOR-BASED STEERING CONTROLLER FOR AN OVER-THE-ROW-APPLE HARVESTER BY Bruce Lanier Upchurch A THESIS Submitted to Michigan State University in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE Department of Agricultural Engineering 1980 ABSTRACT DESIGN AND DEVELOPMENT OF A MICROPROCESSOR-BASED STEERING CONTROLLER FOR AN OVER-THE-ROW APPLE HARVESTER BY Bruce Lanier Upchurch The purpose of this research was to design and develop a microprocessor-based steering controller to provide improved steering maneuverability of an over-the—row apple harvester. The controller allowed the machine Operator to select from five steering modes: 1) automatic, 2) front only, 3) four way, 4) crab, and 5) rear only. Upon recognizing the selec- ted steering mode, the controller performed the necessary steering control by executing the appropriate steering algorithm. Sensors were designed to provide wheel and tree position information. The microprocessor-based controller successfully performed steering coordination for conventional operator steering. The automatic steering system success- fully controlled the machine‘s movement such that the tree was kept within 15 cm of the machine's centerline during movement over a straight and curved row. Approved EQBZ{¢¢¢U¢V“ (Z/fijg;blg:iflgf Major Professor 9&11é6:2%’fié;;éé;k?d:<;a// Department Chairman Approved ACKNOWLEDGMENTS The author wishes to express his thanks to his advisor, Dr. Truman C. Surbrook, for his valuable time, guidance, and critical evaluation throughout the course of this research. He would also like to thank Dr. Bernard R. Tennes of the USDA who provided funds and support for this work. The author would also like to acknowledge other faculty members, technicians, and fellow graduate students for their helpful suggestions and comments. Finally, a very special thanks to my wife, Mary Ann, whose patience, moral support, and many sacrifices have helped make this thesis possible. ii CHAPTER TABLE OF CONTENTS LIST OF FIGURES 1. INTRODUCTION 2. LITERATURE REVIEW 3. OBJECTIVES 4. DESCRIPTION OF DESIGN 4 l abbrbb Uluwa Description Description Description Description Description of of of of of Operation Steering Modes Sensors Hardware Software 5. TESTING AND MODIFICATIONS 5.1 Testing of the Steering Modes 5.2 5.3 Modifications 6. RESULTS Testing of the Auto-Steer Mode 6.1 Steering Mode Results 6.2 Auto-Steer Results 7. SUMMARY AND CONCLUSIONS 8. SUGGESTIONS FOR FURTHER RESEARCH REFERENCES iii Page iii ll 13 13 16 17 28 36 47 47 50 52 57 57 63 70 73 74 FIGURE 1. 10. 11. LIST OF FIGURES Front view of the over-the-row apple harvester on which the steering controller was implemented. Schematic of the harvester's steering con- troller showing how the various components were interconnected. Diagram representing the four main steering modes: (a) front only (Or==0); (b) four way (er==-Of); (C) crab (Or==ef); and (d) rear only (er==ed). Diagram showing the sequence of events which occur when automatic steering is selected. The four tree sensors used to detect the position of the tree with respect to the centerline of the harvester. The absolute shaft encoders used to detect the angular wheel position. The apparatus that allowed the sensor arm to pivot about an axis. An absolute shaft encoder used to determine the actual position of the wheels and sensor arms. The Gray code used in the (a) wheel and (b) sensor arm encoders. Circuit diagram of the comparator circuit used to convert the array into a digital form. Circuit diagram used to convert a 6-bit Gray code into a 6-bit natural binary. To perform a 4-bit conversion, only the four most significant bits are used. iv Page 14 15 18 19 20 20 23 23 25 27 29 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. Diagram of the controller's section which selectively input data from the various sensors. Diagram of the controller's output section which was responsible for the actual turning of the wheels. Diagram of the controller's memory section showing both volatile and nonvolatile parts. Schematic of the steering mode selection circuit. Flowchart of the main program used in the steering controller. Flowchart of the auto-steer subroutine. Flowchart of the front only subroutine. Flowchart of the four way subroutine. Flowchart of the crab and rear only sub- routine. A single turn 100K ohm potentiometer was connected to the shaft of the wheel encoder. The output of the potentiometer was an analog voltage representing the angular posi- tion of the wheel. Diagram showing the placement of the tree stands in the (a) straight and (b) curved paths. These two paths were used to test the ability of the controller to keep the machine centered over the row. The new sensor arm used with the new auto- steer algorithm which produced a different code for each 2.54 cm (1 in.) offset. Flowchart of the new auto-steer algorithm which centered the machine by proportional control. The front and rear wheel steering responses when the steering wheel was rotated at (a) fast and (b) slow speeds. The front wheels were controlled by the movements of the steering wheel while the rear wheels were positioned by the controller. 30 32 34 37 38 40 43 44 46 48 51 53 56 58 26. 27. 28. 29. 30. 31. 32. vi The rear wheel response to changes in the front wheel position during the front only steering mode. The front wheels were steered by the operator, and the rear wheels were controlled by the steering controller. The rear wheel response during the crab steering mode while the front wheels were steered by the operator. The rear wheel response to changes in the front wheel position during the four way steering mode. The front wheels were con- trolled by the operator, and the rear wheels were positioned by the controller. Diagram showing the centerline path of the front and rear of the over-the-row apple harvester while traveling over a straight row. The altered auto-steer algorithm was used to perform the necessary control. Diagram showing the centerline path of the front and rear of the over-the-row apple harvester while traveling over a curved path. The altered auto-steer algorithm was used to perform the necessary control. Diagram showing the centerline path of the front and rear of the over-the-row apple harvester while traveling over a straight row. The new auto-steer algorithm which positioned the wheels according to the amount the machine was off center was used to per- form the centering tasks. Diagram showing the centerline path of the front and rear of the over-the-row apple harvester while traveling over a curved row. The new auto-steer algorithm which positioned the wheels according to the amount the machine was off center was used to perform the center- ing tasks. 60 61 62 64 65 67 68 l . INTRODUCTION Over the past twenty-five years, the U.S. apple pro- duction has shown a sizeable increase, and this increase is expected to continue (11)£/. Although the production of apples is increasing, the amount of land available for fruit plantings is decreasing each year due to the building of residences, expressways, and factories (8). In order to achieve increased production with less land, the grower is planting a controlled size tree which produces more fruit than the "old standard" trees. Not only does the controlled size tree produce more fruit, but more trees are planted per unit area. In Michigan 66,157 acres are planted with apple trees. Of these acres, 46 percent of the trees are the "old stan- dard" type and 54 percent of the "new standard" type as of 1978 which is an increase of 35 percent over the past five years (9). Carlson (3) refers to the "new standard" tree, which now is known as a compact tree, as a tree with a base of eight feet and a height of ten feet. Each year, a larger percentage of the trees planted are of the compact type. 1/ Numbers in parentheses refer to appended references. 1 When compact trees are properly spaced, they reach maximum production at an earlier age and produce more bushels of fruit per acre. The compact trees when compared to the "old standard" trees can be more economically pruned, sprayed, and harvested (16). Since the grower is losing skilled labor to industry due to the large difference in hourly wages between agri- culture and manufacturing, the grower needs to find a way to increase productivity so that a higher wage can be of- fered to the skilled workers. Before the grower can in- crease productivity, a way to increase the harvesting rate must be found. There are devices available which help in— crease a picker's productivity; however, the devices are not enough. A mechanical harvester is a better solution, because the harvester would allow the workers to harvest more acres than they would with mechanical aids. By har- vesting more acres, the grower's productivity increases which would allow a higher wage to be paid to the skilled workers. Today, most of the mechanical harvesters are built around the shake-and-catch idea. In the shake-and-catch system, a shaker is used to loosen the fruit by vibrating the trunk or scaffold limbs and a padded catching surface which covers the entire area under the tree is used to catch the fallen fruit (10). The harvesters are either a two section harvester which stops and joins at each tree for the harvesting operation or an over-the-row harvester which can continuously move over the row of trees while harvesting the fruit. The two section harvester requires two drivers, one for each section, while the over-the-row harvester requires only one driver. In orchards with "old standard" trees, the present stop and catch harvester is efficient, because it can efficiently harvest 40 trees per acre with yields of 20 bushels per tree. When harvesting an orchard with "new standard" trees, the shake-and-catch harvester's efficiency decreases since 10 to 40 times more compact trees can be planted per unit area than the "old standard" trees (15). The over-the-row harvester is ideal for harvesting compact trees, because when the trees are planted in a high density orchard, a type of hedgerow is formed which makes it difficult for a two section harvester to operate ( l). Presently, the USDA at Michigan State University is working on a continuous over—the-row harvester. In addition to harvesting, the machine will also perform the pruning and spraying operations. For all operations, the machine must remain centered over the trees to maximize the operation being performed (14). During each operation, the machine operator has numerous machine functions to check; therefore, it would be helpful if the machine followed a row of trees which would eliminate the operator having to drive while watching the functions of the machine. Since the driver is located on top of the machine so that the operations can be monitored, the driver does not have visual contact with the tree after it enters the machine. As a beginning of a total automatic guidance system, a centering controller is needed which will keep the machine centered over a tree after it enters the machine. The pur— pose of this research is to design and develop a steering controller which is the first step in the solution of making the machine operator a machine supervisor. 2. LITERATURE REVIEW Automatic guidance is not a new area of research. Over the past few years, the amount of research on automatic guidance of farm machinery has increased, because the guid- ance system would help prevent early fatigue, which is caused by wearisome driving of the operator. Kirk (7) reported on a furrow-following tractor guidance system. The furrow was prepared by a previous pass of the machine and was detected by a mechanical arrangement extend- ing in front of the tractor. The sensor followed the furrow and sent an analog voltage to an electronic circuit for com- parison with a reference voltage. The voltage from the sensor was proportional to the distance the tractor was from the fur- row due to the angular displacement of the sensor. If the two voltages were unequal, an analog voltage proportional to the difference was sent to a motor. Through a mechanical linkage 11) the steering wheel, the motor rotated the steering wheel. The speed of rotation depended upon the analog voltage supplied to the motor. This guidance system used only a front sensor which could not prevent machine deviation from a small radius curved path. The furrow would not be an acceptable sensing device for orchard applications, because the making of a furrow in the orchard could cause severe errosion pro- blems. 6 For use on a swather, the mechanical sensor of the fur- row-follower was replaced by an infra-red sensor. The sen- sor distance from the crOp edge influenced the intensity of the reflected light. First the signal from the sensor was linearized, and then it was fed to a motor controller and amplified. The controlled motor positioned the swather steering wheel by means of a chain drive. The movement of the steering wheel caused the swather to move left or right in order to keep the machine a certain distance from the swath edge (6). The swather guidance was used on rear only steer and could only follow curved paths with large radii. Since the sensor itself had to be kept within four- teen inches of the target and the target had to be a contin- uous crop row, the infra-red sensor would have little use in orchard applications. Busse (2) reported on an automatic steering mechanism that was developed by the Class Companyg/ for use on self- propolled combines and forage harvesters. The row sensor had two swivel mounted sensors which were spring loaded to hold the bars in a neutral position. As the crop row entered the machine, each sensor rotated a certain amount depending upon the row location. The outputs of the sensors, 2/ Trade names are used in this paper only to provide specific information. Mention of a specific trade does not constitute an endorsement of the product by the author. which were analog voltages with the magnitude representative of the amount of rotation, were compared in an operational amplifier control unit. The electronic control unit com- pared the results of the comparison between the two sensors with the location of the steering wheels before making a steering correction. A steering correction was achieved by activating one of two steering actuators which were solenoid actuator valves. When they were activated, a left or right turn of the steering wheels resulted. The sensing method of the Claas system was applicable only to a continuous row crop. Although the steering actuator was a solenoid valve, it could be used to make steering corrections; since, the solenoid valve actuator in the Claas system allowed smooth steering corrections. A digital controller for automatic tractor guidance was reported by Schafer (12), in which the guidance system utilized a set of antennas mounted on the tractor to sense the location of a buried wire which was excited by a low current, low frequency signal. The output of the sensing circuits after conditioning were two logic signals, one for a too far left error and one for a too far right error. These two steering error signals were inputs into a digital controller which determined the direction of steering. The output of the digital controller was fed to a digital-to- analog converter, the output of which activated a propor- tional flow control servo-valve. The analog voltage was proportional to the flow through the valve which determined the rate at which the steering corrected. Although the digital controller performed as well as any analog control- ler in the past, the application of buried cable sensing is not feasible for orchards, because the cost of setting up an orchard with the cable is too expensive. Since most of the past work involving automatic guid- ance systems for farm machinery dealt with either front or rear only steering, Shukla (13) investigated the tracking accuracies of different types of steering systems for auto- matic guidance systems. By using a computer model and an experimental vehicle to verify the model, the best tracking accuracy occurred when four wheel steering was used with both a front and rear sensor where the front sensor guided the frontwheels and the rear sensor the rear wheels; however, there was little change in the tracking accuracy when only a front sensor was used to guide both the front and rear wheels. Front wheel steering with a front sensor was less accurate than any four wheel steering, but the front steer- ing proved to be more accuratetfluu1the rear steering with a front sensor. During testing, the sensor was in continuous contact with the desired path. Since a tree row is not a continuous contact path, modifications would be required be— fore the results could be applicable to an orchard situation. With a multiple mode steering system, the decision making device can become very complex. As the microproces- sor technology improves and the costs decrease, the use of a microprocessor-based controller as the decision maker becomes more feasible. Due to the microprocessor's pro- grammability, its possible use in diverse applications gives the processor a wide range of applications. By program control, the processor can execute complex control opera- tions because of its ability to perform computations and logical operations. When comparing digital and analog com- putations, digital computations can be performed with a higher degree of precision because of the lack of drift which is common to analog circuits (4). Due to the versatility of the microprocessor, E1- Ibiary ( 5) reported on a self-adjusting microprocessor- based electrohydraulic position controller. The position control system consisted of a solenoid valve, hydraulic cylinder, microprocessor, and position encoder which pro- vided a feedback signal to the microprocessor of the load position. By program control, the desired and actual load positions were input into the microprocessor, processed and then the processor activated a solenoid which caused a change in the load position. Sometimes, the actual and desired positions differed due to fluid leakage and com- pression caused by system changes in temperature, pressure, friction, and load. Since the cylinder position was depen- dent upon the time interval the solenoid valve was acti- vated, the processor recognized the deviations between the desired and actual positions and altered the time interval of activating the solenoid valve. The self adjusting pro- gram considered the effect the changes in the system 10 parameters had on the load position and compensated for the error by either expanding or shortening the duration the valves were on the next time the same conditions existed. The microprocess would be an acceptable processing unit for automatic guidance, because the processor could calculate the desired path of the machine by using different sets of data. 3. OBJECTIVES The overall objective of this project was to design and develop a microprocessor-based controller for an over-the- row apple harvester that would allow the driver to select any one of the five steering modes (see Figure 3): a) front only b) rear only c) four way d) crab e) automatic The controller would recognize the steering mode selected and control the steering wheels accordingly. The Specific objectives of the research project were: 1. Design the hardware required for the microprocessor- based controller including the interfacing of the present machine components. 2. Develop the steering algorithms for the controller which would perform the necessary control for a system. 3. Design a sensor that would detect the location of the tree in relationship to the centerline of the machine. 11 12 4. Evaluate the performance of the controller when compared to the system specifications: a) b) When using automatic steering on a straight and curved path with 3.04 m (10 ft.) tree spacing, the tree was to be within 15 cm (6.0 in.) of the machine's centerline 1.83 m (6.0 ft.) ahead of the rear wheels when traveling at 1.6 km/hr (1.0 mi/hr). The conventional operator steering modes per- formed by the controller should be a stable con- trol of a steering system which uses solenoid valves as the steering actuators. 4. DESCRIPTION OF DESIGN 4.1 Description of Operation A microprocessor-based steering controller was designed and used to steer an over-the-row apple harvester (Figure 1). The harvester was designed by the USDA at Michigan State University, and the harvester measured 5.96 m (19 ft.) long, 4.57 m (15 ft.) wide, and 3.67 m (12 ft.) high- Being an over-the-row type harvester, the machine had to be large enough to allow a tree to pass through the machine with clearance on all sides. Because of the machine's large size, it was more con- veniently driven and steered hydraulicly. The steering sys- tem (Figure 2) was composed of a microprocessor-based con- troller, position sensors, solenoid valves, and hydraulic actuators. By using the Claas steering valve, the front wheels were steered either by turning the steering wheel or by activating one of the two solenoid valves. During all steering modes, rear wheel positioning was accomplished by the controller activating and deactivating the rear solenoid valves. The angular position of each wheel changed as the flow through the activated solenoid valve caused either an elongation or retraction of a pair of hydraulic linear l3 l4 Figure 1: Front view of the over-the-row apple harvester on - which the steering controller was implemented. 15 fi tLINEAR FRONT I ACTUATORS’ * “HEEL :EN 0053 :— ————— - A rm ' c I VALVE I | ' T0 : | . PUMP "'1 I l ' I I I i r : I l __-J I r' I I F """ ‘- I l L: I. L I I -: EE-'51::-_-..-_":..-:.:':::::'_...J TO __ PUMP - “ SOLENOID I [ VALVE . I _ L. LI REAR WHEEL E—d. DOTTED LINE - ELECTRICAL SOLID LINE - HYDRAULIC h-—-—-- Figure 2: Schematic of the harvester's steering controller showing how the various components were inter- connected. l6 actuators. To ensure that both wheels rotate equally, a tie rod connected each pair. A microprocessor-based controller was the main proces- sing unit which determined the direction of turn for the wheels. After recognizing the mode of steering selected by the operator, the processor selectively entered data from the various position sensors. The front and rear wheel posi- tion data was used for all steering modes; however, the tree sensor data was only needed during the automatic steering mode. The controller then processed the entered data. If a turn was required, the appropriate solenoid valve was activated causing the selected pair of wheels to turn. 4.2 Description of Steering Modes By using a microprocessor as the processing unit in the steering controller, the operator was provided with a choice of five different steering modes. The four main steering modes (Figure 3) were front only, four way, crab, and rear only while the fifth mode was automatic steer (Figure 4). During the four main steering modes, the front wheels were positioned by the operator when he turned the steering wheel. The rear wheels' position was dependent upon the fronts' except during rear only where the rear position was deter- mined by a position dial in the cab. In the front only mode (Figure 3a), the machine was steered only by positioning the front wheels; therefore, the rear wheels were kept straight such that 6r= 0. The four way mode (Figure 3b) 17 required the angular position of the rear wheels to be equal to but in the opposite direction of the front, 0r=-6f. While in the crab mode (Figure 3c), the rear wheels were positioned to equal the front in both magnitude and direc- tion, Gr= 6f. The rear only mode (Figure 3d) allowed the operator to select the position of the rear wheels regard- less of the front wheels' position. The rear wheels were turned to the selected position such that 6r= 6 When d' automatic steer (Figure 4) was selected, the front and rear wheel steering was dependent upon the location of the tree with respect to the two pairs of tree sensors. If the tree was not centered within the machine, a steering correction occurred and continued until the tree was centered; however, a steering correction did not occur until the tree sensors detected an off center tree. 4.3 Description of Sensors The steering controller's sensors were used to detect the tree position with respect to the machine's centerline (Figure 5) and the angular position of the front and rear wheels (Figure 6). There were two pairs of tree sensors where one pair was used to detect the tree in the front half of the machine while the other pair sensed the tree in the rear half. Each tree sensor was composed of a spring loaded sensor arm and an absolute shaft encoder. When a tree pressed against the sensor arm, the arm pivoted at the pinned end, and the angular position of the bar was an output of a 18 : I I '0 I I I f 121/ :N I o FRONT d @5’ E... d d -4o° <0 <4o° \ I -4o° <0, <4o° f \ : or 67:00 \W.' 6 “0 WHEELS (a) (b) I I I I9; ," CAB REAR I9. 1’ N, “‘1’ I POSITION Q7 SELECTION ck @ DIAL 0d I -4o°<0, < 40° \ ' \f'I -4o°<0,<4o O O :0, I, 0' = 0f \0' = -40 <0d<40 ' ’ ‘ ' 0 =0 \ I' (I I I O \I g ’ p Q <1 (c) (d) Figure 3. Diagram representing the four main steering modes: a) front only (6 = 0); b) four way (0 = -6 ), c) crab (6r = 6f); and d) rear only (0r = 6d). 19 MACHINE APPROACHES TREE A¢F.¢RF -¢LF Alba '¢’nn ‘¢LR K TREE SENSORS MACHINE CORRECTS FOR OFFSET TREE A4,“ o on <00 .0! on > 00 A¢Fo 6f o° MACHINE CENTERED OVER TREE A¢R=o O 0R=0 Awe O V R 0'30 Figure 4: Diagram showing the sequence of events which oc- cur when automatic steering is selected. 20 Figure 5: The four tree sensors used to detect the position of the tree with respect to the centerline of the harvester. Figure 6: The absolute shaft encoders used to detect the angular wheel position. 21 shaft encoder. A shaft encoder was used to detect the angular position of the sensor arm as well as the angular position of the front and rear wheels. With an encoder mounted next to a front and rear wheel shaft, the encoder produced specific codes for different wheel positions as the angular position of the wheels changed. The sensor arm was formed from a 3.04 m (10 ft.) sec- tion of 1 cm (0.5 in.) thin wall electrical conduit. Because the arm was mounted perpendicular to line of travel, a 90 degree bend was required so that the arm would be parallel to the line of travel. In order to make a gradual 90 degree change from the pivot end in the bar, bends were made at 29 cm (11.5 in.), 88 cm (34.7 in.), and 134 cm (52.7 in.) from the pivot end on the front arms. The rear arms had bends at 27 cm (10.5 in.), 65 cm (25.5 in.), and 104 cm (41.0 in.) from the pivot end. The degree of bend at each point determined the amount of free area between the two front or rear arms. With a large free area, the tree was allowed to be off center more before a steering correction occurred. When the tree approached the outer boundary, the tree pressed against the sensor arm causing it to rotate about the pivot end. The sensor arm was attached to an apparatus (Figure 7) which allowed the arm to rotate about an axis. The end of the conduit nearest the bends was welded to a vertical 2 cm (1 in.) shaft. The shaft was mounted between two sets of bearings and perpendicular to the plane containing the 22 sensor arm so that the shaft rotated with the arm. To en- sure that the sensor arm returned to the mechanical stop after being displaced, a spring was placed around the shaft and attached to the arm. In order to have available the amount the sensor arm rotated, a shaft encoder was mounted on the shaft of the arm. Absolute shaft encoders were used to determine the angular position of the sensor arms, front wheels, and rear wheels. The digital encoder (Figure 8) was selected, be- cause it could be interfaced directly to the microprocessor without having any analog-to-digital converters which would allow signal errors resulting from voltage drifts. The en- coder consisted of a digital code and an optical sensor which read the code. The code was mounted around the inside of a 10 cm (4 in.) inner diameter polyvinyl chloride (PVC) pipe. The pipe section was attached to the mainframecfifthe machine so that the code remained stationary with respect to the machine. With the optical sensor attached to a 1 cm (0.5 in.) shaft which was connected to the sensor arm or wheel shaft, any rotation by the arm or wheel caused the optical sensor to rotate. Gears were chosen to connect the sensor arm shaft to the encoder shaft such that a 5 degree rotation of the sensor arm produced a 2.5 degree rotation of the optical sensor resulting in a 2 to l rotation ratio. For the wheel encoder, a 2 cm (0.9 in.) spool was attached to the encoder's shaft. A small cable was wrapped around the wheel shaft and the spool so that any rotation by the 23 Figure 7: The apparatus that allowed the sensor arm to pivot about an axis. Figure 8: An absolute shaft encoder was used to determine the actual position of the wheels and sensor arms. 24 wheel produced a rotation in the encoder. By using the 2 cm (0.9 in.) spool, a l to 2.93 rotation ratio re- sulted since the wheel shaft measured 7 cm (2.7 in.). This ratio allowed the encoder to detect 1.8 degree changes in the wheels' position. The encoder code (Figure 9) was in the Gray code form, because the code allowed only one bit to change from one position to another. Each position in the code contained a different combination of white and black 0.5 cm (0.2 in.) squares where one square was considered one bit of information. The code was originally drawn doubled its required size and then reduced photographically. By re- ducing the code photographically, the code was placed onto semi-gloss paper which allowed the white squares to be re- flective to light and the black squares nonreflective. For the wheel encoders, each position in the code was formed by a column of six squares while the sensor arm encoder had a column of four squares. With a column of six bits of infor- mation, there were sixty-four different code combinations which allowed the processor to recognize 1.8 degree changes in the wheels. The sensor arm encoder had sixteen different code positions and detected 5 degree changes in the arm. The optical sensor for the two wheel encoders each con- tained a column of six Fairchild FPAlO6 light reflection emitter/sensor arrays while the four sensor arm encoders each had a column of four. An infra-red emitting diode and a silicon npn phototransistor with an infra-red filter were 25 m) Figure 9: The Gray code used in the a) wheel and b) sensor arm encoders. 26 housed within the sensor array. The array measured 6.09 mm (0.24 in.) wide, 4.95 mm (0.19 in.) long, and 4.95 mm (0.19 in.) high. The infra—red filter on the phototransis- tor prevented visible light from entering the device; there- fore, the effects of daylight on the switching of the tran- sistor were eliminated. If a white square from the code was in view of the array, the infra-red light from the diode was reflected off the surface and caused the phototransistor to enter saturation. On the other hand, a black square absorbed the emitted light, and the phototransistor remained in cutoff. In order to obtain a signal from the sensor array in digital form, the output of the array was an input to a com- parator circuit (Figure 10). This circuit compared the array's output with a set reference voltage. The reference voltage was set between the two different voltage outputs of the sensor array. The output of the comparator reached saturation voltage (+5V) when the anmnrwas in view of a reflective surface, because the array's output was greater than the reference voltage. When the array was in view of a nonreflective surface, the input to the comparator from the array was less than the reference voltage causing the comparator's output to become zero (0V).‘ Since the compara— tor's output could only have two possible states (0V or +5V) the output was in digital form where each comparator pro- duced one binary bit of information. The digital information from the comparators was not easily usable by the 27 .Euom Hmuflmfle m Quad amuum may pum>coo on poms uflsouflo MODMHMQEOU map wo EMHmMHp uflsonflo «30 >985... . \ S. 1--.... ¢0hcoo uHQIv m EHOMHod OB .mumcfin amusumc anIo m Once 0000 ammo uHQIo m uuo>coo ou poms EMHmMHp uflsouflu "Ha wusmfim mmo vmo mmo «mo Fmo omo AII On Qal‘m Q Q Q rlllAn moo I cum IA moo N00 F00 coo 30 Ium> mnu Eoum mump uodcfl >Ho>fluomaom QUHQB cofluomm m.uoaaonucoo may mo Emummao :3".qu mOmem m> m> PZOmu. «amp Duo "NH mnsmflm D I: S l I: 3 2 >mO—2wS. 2mhm>w > c 2552K MW > E mam Np hum; mNP F103. FZOIm >2 paws Casual mmm >~F on MPDO .maooSB onu mo mcflcusu manflmGOQmou mp3 soflnz coauomm usmuso m.uoaaouucoo may mo EMHmMAQ N.nvmo A mmooomo m.o~.n mo a «2 pz 02 mo meOUmo m.o~.n 102m2 Emhm>m £5 «93. 33 When one of the two decoders was enabled by one of the OUT lines, the decoder decoded the contents on the data bus during the execution of the output instruction. The data originated from the memory location pointed to by the X register. This data contained a specific binary code such that after the enabled decoder decoded the data, a steering operation resulted. For instance, if the data consisted of a binary 1, a left turn resulted while a binary 2 stopped a left turn. The output pulse from the decoder was used to either set or reset a flip-flop. For example, the OUTl pulse from the data decoder set a flip-flop while OUT2 reset the same flip-flop. By setting and resetting the flip-flop, a solid state relay (SSR) was activated and deactivated re- spectively. The switching of the SSR caused the switching of the hydraulic solenoid values. The controller's memory section (Figure 14) was com- posed of a volatile and nonvolatile section. An erasable pro- grammable read only memory (EPROM) was used for the nonvola- tile memory and occupied the first 2K (2,048) bytes of the controller's memory. The EPROM contained the different steering control programs, because of the EPROM's ability to retain its contents when power was disconnected. With the data from the various sensors changing, the data was temporarily stored in the thirty-two (32) byte section of volatile or random access memory (RAM) which was located after the EPROM section of memory. If the RAM lost power, the contents of the memory were also lost. As the data 34 .muumm oHHuMHo> Icon can mHHumHo> anon mcfl3onm cofluomm whoEmE m.umaaouucoo may no EMHmMHQ "ea musmflm AT m £3 55 I 9:2 I III am 9 o s. E I IIIIIII mas. bIIIoA _— IIIII mo T mud. I am as: me <2AJI SSS). H m Now, 25. A .o <2 fil - new 3.6 - 102.. fi mO—2w2 35 changed, the new data was written over the old or previous bytes of data. The microprocessor addressed any one of 65K (65,536) memory locations. The sixteen (16) bit address was placed on the address bus in two eight(8) bit segments. The upper byte of the memory address was on the address bus during the first half of the machine cycle and strobed into a data latch by the processor's timing pulse TPA. Immediately fol- lowing the TPA pulse, the lower byte of the address was put on the address bus which now gave a full sixteen (16) bit address. The EPROM contained the hexadecimal memory locations 0000 to 07FF while the RAM memory locations were at 0800 to 081F. The proper memory section was selected by the twelfth address bit where a low bit selected the EPROM and a high, the RAM. With a low twelfth bit, the first eleven bits ad- dressed a memory location in EPROM, and the contents of the addressed location were placed on the data bus during the MR5 pulse. A high twelfth bit disabled the EPROM and enabled the RAM. When the RAM was enabled, the first six address bits addressed one of the thirty-two (32) RAM locations. If a MWR pulse occurred while the RAM was enabled, the contents on the data bus were written into the addressed memory loca- tion. During a MR5 pulse, the contents of the addressed memory location in RAM or EPROM were placed on the data bus for use by the microprocessor and decoders. The machine operator selected a steering mode by using 36 a dial (Figure 15) which was mounted in the cab. To select any mode except auto-steer, the driver simply turned the dial. By changing the dial position, a different status flag on the microprocessor was high (+5V). Since the same control subroutine was used for crab and rear only steer, the selec- tion of rear only enabled the rear dial data buffer and dis- abled the front one. In the other positions, the front data buffer was enabled. To enter the auto-steer mode, a push- button was pushed. The pushbutton set a flip-flop whose out- put went high and was connected to one of the four status flags. The flip-flop was reset by a pulse either from a foot switch or from the Claas valve when the driver turned the steering wheel approximately 60 degrees. 4.5 Description of Software The steering controller's software was composed of a main program and four different control subroutines: 1) auto-steer, 2) front only, 3) four way, and 4) crab and rear only. The software determined the selected steering mode and then controlled the position of the wheels accordingly. The main program (Figure 16) was respon- sible for determining the selected steering mode. By test- ing the voltage state (0V or +5V) of the four input/output status flags, the main program detected the steering mode chosen by the driver. For the selected mode, a particular status flag was true or +5V. After testing the flags and determining the true flag, the main program branched to one 37 .uHDUHHU coauomaom opOE mzfiuompm on» mo UHumesom "ma madman 5&2. <55 .5313 ES: zo 53m... mo_>uo ¢||IIAIIJ .I In. Ewan—3m wo L ‘I‘ — — _ I _ >420 _ mm+ " I _ _ _ _ _ — _ _ . _ _ . flII l _ IF _ " >._zo EzoE .r IIIIIIIIIIIIIIIIIII L Em mam «um I .25 mad I 10:26. 5828 Em 4? h zorszmaa .5”. 2953mm EMF... . 023 o w IIIIIIAKTA\\\ >m +u mw0<.:0> Io._._>>m a Van I 2053.. m. _ . 38 INITIALIZE REGISTERS I RESET ALL FLIP - FLOPS I a 6} IS YES EFI =1 6 YES NO YES NO Figure 16: Flowchart of the main program used in the steer- ing controller. 39 of the four steering control subroutines which performed the necessary control. The centering of the machine over the tree row was con- trolled by the auto-steer subroutine (Figure 17) Before beginning the actual centering algorithm, the front and rear wheels were straightened. This was accom- plished by entering the wheel position data into the proces- sor, and then comparing the entered data with the center position code. With a 6-bit code, the center position was located at 32 or 20 hexadecimal. If the wheel position was less than 32, then a right turn was initiated and continued until the position was 32. On the otherhand, a left correc- tion occurred when the position data was greater than the center code. After straightening the wheels, any further steering corrections were dependent upon the data from the sensor arms. First, the data from the two front sensors were en- tered into the processor and compared. If the two sets of data were not equal, a front correction occurred if the re- sult from the comparison was greater than the result from the previous comparison. The steering correction continued to occur until the difference between the two sensors de- creased at which time the wheels were turned in the reverse direction which was toward center. As soon as the wheels were centered, the valves were deactivated. The control of the rear wheels was performed in the same manner as the front except the rear corrections were dependent upon the I. INPUT FWD FWD - 32 YES . STOP 9 FW TURNS YE , TURN , FW RIGHT I I. I NO TURN FW LEFT INPUT RWD YES STOP YES RW TURNS NO NO YES TURN RW RIGHT 6 NO TURN RW LEFT 0* Figure 17: Flowchart of the auto-steer subroutine. 41 Figure 17 (continued) INPUTFRONT SENSORDATA RFLF YES YES TOP FWD TURNS O N YES gYES |NPUT REAR SENSOR DATA RR-RL YES I INPUT pr NO YE 5 YES TURN REAR N0 mGHT NO TURN YES REAR LEFT NO TURN TURN REAR REAR RIGHT LEFT 42 two rear sensors. During the front only mode, the machine was steered only by the front wheels; therefore, the rear wheels were kept at the center position. The front only steering algorithm (Figure 18) continuously checked the rear wheel position to assure prOper placement. The rear wheel pos- ition data was entered into the processor and compared with the center position code of 32. If the rear wheels were to the left of center, a negative position resulted from the comparison, and the solenoid valve which turned the rear wheels to the right was activated. The rear wheels were turned to the left when a positive result was the outcome of the comparison. All valves were deactivated when the rear wheels were on center. When the four way steering subroutine (Figure 19) was executed, the controller positioned the rear wheels such that they were turned the same amount but in the opposite direction as the front. The direction of turn for the rear wheels was dependent upon the location of both the front and rear wheels. By complementing the centered front position code and adding 1 to the complement, the correct position code for the rear wheels was obtained. The rear position code was then compared to the desired code to determine the direction of turn for the steering adjustment. After the comparison, a negative result caused a right turn while a positive result produced a left turn. The crab and rear only subroutine (Figure 20) 43 STOP RW TURNS ‘TURN Rw RIGHT TURN RW LEFT <5 Figure 18: Flowchart of the front only subroutine. Figure 19: 44 EXCLUSIVE - OR FWD w/FF ADD 1 TO THE COMPLEMENT INPUT Rwo , RWD - (COMPH I STOP . Rw TURNS 49 7 TURN Rw RIGHT RW LEFT Flowchart of the four way subroutine. 45 performed the necessary control so that the rear wheel position was equal to the front or dial position depending upon whether crab or rear only was selected. The same routine was executed for both steering modes; however, the position data from the correct sensor was determined by hard- ware. With the desired position code entered into the proces- sor, the entered data was compared with the rear position code. If the rear code was not equal to the desired position, a steering adjustment was initiated and continued until a zero difference between the two codes was obtained. 46 INPUT FWD 7 INPUT Rwo FWD - Rwo | YE STOP Rw TURNS NO YES TURN ‘ Rw LEFT NO TURN ' Rw RIGHT Figure 20: Flowchart of the crab and rear only subroutine. 5. TESTING AND MODIFICATIONS Since the designed steering controller performed two different steering operations, the testing of the steering controller was divided into two separate phases. In the first stage, the different steering modes were examined to determine the ability of the rear wheels to follow the front. The second testing phase investigated the ability of the machine to remain centered over a tree while moving down the row. 5.1 Testing of the Steering Modes The ability of the steering controller to position the rear wheels to a desired position was investigated for three steering modes: front only, four way, and crab. The rear only mode was not tested, because the rear only and crab modes used the same steering algorithm. To determine the wheels' position, a single turn 100K ohm potentiometer was mounted above the front and above the rear wheel encoders (Figure 21). The shafts of the encoder and potentiometer were connected together so that any rotation by the encoder caused an equal rotation by the potentiometer. The poten- tiometer output was an analog voltage which represented a 47 48 Figure 21: A single turn 100K ohm potentiometer was con- nected to the shaft of the wheel encoder. The output of the potentiometer was an analog vol- tage representing the angular postion of the wheel. 49 'particular wheel position. The different steering mode tests were performed with the machine on blocks so that the wheels were not in contact with the ground. This set-up allowed the wheels to respond to steering corrections without any loading effects which could differ between the front and rear wheels. The angular velocity of the front wheels was variable and was dependent upon the rotation speed of the steering wheel. On the other hand, the rear wheels rotated at an almost constant rate, because the flow through the activated solenoid valves to the cylinders was constant. During the steering tests, the driver continuously steered the front wheels by turning the steering wheel at different rates. The rear wheels were positioned by the steering controller, and the position was dependent upon the selected steering mode and the front wheel position. For comparing the front and rear wheel positions, the analog voltages from the two potentiometers were recorded and plotted. The two voltages were continuously recorded by a Racal 4D Instrumentation Recorder. At the end of the tests, the recorded voltages were input into a Century 460(GPO) Oscillograph. The oscillograph simultaneously plotted the two position voltages so that the front and rear wheel positions could be compared in time. 50 5.2 Testing of the Auto-Steer Mode The auto-steer mode was examined to determine the ability of the machine to remain centered over a row. In order to determine the position of the machine while travel- ing, two chalk markers were attached to theIframe of the machine. One marker was placed 44.5°cm (17.5 in.) ahead of the front wheels, while the other marker was located 53.34 cm (21.0 in.) ahead of the rear wheels. Both markers were 127.635 cm (50.25 in.) from the centerline of the ma- chine. After a pass down the row, the distance from the marked path to a reference line was measured every 0.3048 m (1 ft.) along the path. The centerline of the machine was determined from the measurements and was plotted with the row so that the travel of the machine could be compared with the tree row. An imitation tree row was set-up with tree stands (Fig- ure 22) and was about 30.48 m (100 ft.) in length. The tree stands for the second run were formed by welding a 64 cm (25.5 in.) high 4 cm (1.6 in.) diameter pipe to an I-beam while the stand for the first run used 11 (4.5 in.) diameter pipe. The stands were placed 3.048 m (10 ft.) apart for both the straight and curved paths. The straight path (Figure 22a) was formed by placing the stands in alignment with each other. To produce an offset in the path for the curved path (Figure 22b) the third, fourth, fifth, sixth, seventh, and eighth stands were set 20 cm (8.0 in.), 35 cm (14.0 in.), 50 cm (20.0 in.), 50 cm 51 .BOH on» Ho>o Omumucmo UdHnomE mnu dmmx on mHOHHOHu Icoo may no >uHHHQO may umou on com: OHU3 mnumd ozu Omega .msumd OO>HSO Anv paw usmHmuum any map :H mpcmum OOH» 0:» mo ucofioomam may mcHzonm EmHmmHo "mm ousmHm .m— _.2_O.Q: ..Z.O.¢: 2000 2030 .1? _.z_ 2 \AE 262 x/ .5 on . so 8 925 EEK /xIw\x\ .Hue 7: v0.0 oz3 OUGOHHHOOQ OHOB maomcz HNUH map UHan Hooch mcHHwUum map mo mucUEo>OE can an OOHHOHHGOO UHOz OHUOQB HGOHM one .mooomm 30am As can ummm Am um UOUGUOH mmz mcHHUUHm Gnu cozz mOmGOQROH mcHHooum Hoon3 HGOH pom HCOHm one "mm UHsmHm .2 Sum. m2: . .1 cu m. o. m 6 etc: M H .9 a. 1 m. etc: m 0. N ll'II :' 0° 0‘ 59 swing was made by the wheels. Not only was there a time lag due to the different angular velocities, but a time lag was also caused by a de- lay in the rear wheel movement. As the front wheels started to change positions, there was a minimum of a 0.1 second pause before the rear wheels began to correct to match the front. The time delay was due to the time required for the front wheel code to change from the code which was equal to the rear's and was dependent upon the angular velocity of the front wheels. The rear wheel response to different steering patterns was dependent upon the angular velocity of the front wheels. At the beginning of any steering sequence, the rear wheels lagged the front by 1 code or 1.80. This lag increased or decreased as the steering operation progressed. If the front wheels rotated at a velocity greater than the rear (Figure 25a), the lag increased, because the rear was unable to keep up with the front. The lag did not increase when the angular velocities of the front and rear wheels were equal. When the front wheels rotated slower than the rear (Figure 25b), the rear reached the next code and stopped during the entire rotation, because the rear wheels rotated at a faster speed and reached a code equal to the front's before the front had time to change to the next code. The results from the three steering mode tests (Figure 26, 27, and 28) showed the controller's ability to position the rear wheels according to the mode selected.- During the 60 one .HoHHOHunoo mnHHooum on» xn OoHHOHHnoo oHoB maoons HooH onu .HouoHodo onu wn UoHooum oHo3 maoons HGOHH one .oOoE mnHHooum wano HGOHM onn mnHHsO COHuHmOQ Hoonz HGOHM on» CH momnono on omGOQmoH Hoonz HooH one .me—mr‘; mm 08 up 0— n O . A} O?! O 1 a J I. 8 a O 0 mm W .9 H I. 69 .2... a J. I w I D '| I 'I' I l '4 O o m .N. 9 H 1 "mm oHsmHm NOLLISOd 'IBSHM 61 .HouoHomo onu en OoHooum oHo3 mHm®£3 “COMM 03“ 0HH£3 OUOE mafihmmflm QMHU 03“ GCHHDW mmCOQm®H H0m£3 HMOH 038 “EN QHSOHW _.Omm_ wit. mu ON up Or n O 8!. O ql :- J.— .l u I E II | I | | l 00 a m U n. R m 1 3 .8 u s .2... m 3 nv d N c .. m... I I 'l I E E ' | O m m I. O? 62 .HoHHOHunoo onu an ponoHHHmom oHoB maoonB HooH onu Odo .HoumHodo onu an OoHHOHunoo oHo3 mHoonB HGOHM one HDOM onu mnHHso coHHHmOQ Hoon3 UCOHM onu cH momcono on omnoamoH Hoons HooH one 1J31 lHDlU O! 1531 I _.owm_ mt... am On up Op n o J J E | | I | I > 'I' " 1H9"! .oOOE mnHHoopm >m3 3'38 INOUJ NOIIISOd 13 SHM "mm oHSmHm 63 front only mode (Figure 26), the controller kept the rear wheels in the center position regardless of the front posi- tion. The rear wheels closely followed the front during the crab steering mode (Figure 27); however, the rear wheels did lag behind the front. While in the four way steering mode (Figure 28), the rear wheels were turned the same amount as the front except in the opposite direction. Both steering modes showed the controller's ability to position the rear wheels without rear wheel oscillations. During the crab and four way modes, the lag between the front and rear was dependent upon the angular velocity of the front wheels. The different angular velocities was due to the hydraulic system and not the controller. Although a time lag was pre- sent, the controller did perform the necessary steering con- trol which was needed during the different steering modes. 6.2 Auto Steer Results The altered version of the original auto-steer algoithm successfully controlled the movements of the machine so that the machine followed the straight (Figure 29) and curved (Figure 30) paths. During each pass down the course, the machine oscillated along the desired line of travel. This oscillation was caused by the stand pressing against the opposite sensor arm at the end of each steering correction. Since there was a 16 cm (6.5 in.) span between the sensor arms and a 11 cm (4.5 in.) diameter stand, a 5 cm (2.0 in.) over correction by the machine allowed the stand to be detected by the other sensor arm. Each steering 64 .HOHHGOO mHmmmooon onu EHOMHoQ on com: moB EnuHHomHo HooumIouso poHouHm one .3OH unoHoHum o Ho>o mnHHo>oHu oHan Houmo>Hmn oammo 30HIonu IHo>o on» mo HooH Ono HGOHM on» mo nuom onHHHounoo onu mnflsonm EonoHQ "mm oHsmHm III. .535: u w :55: Sam I v / 1.... col .3 mpIm m 1.5 cal. E I I. m o . . n m. .E o 2 E. k 4. 4. 1.5 on: .5 m. 1 m .5 o: E .56. 65 .HOHunoo wHommooon on» EHOMHom on poms mp3 EnuHHomHo HooumIousm poHouHo one .numm Oo>Hso o Ho>o mGHHo>mHu oHHn3 Houmo>Hon oammo 3OHIonp IHo>o onu mo HmoH Odo HGOHm onu no name onHHHoucoo onu mcflzonm EonoHo "om oHsmHm I 4w>Hso o Ho>o mnHHo>oHu oHHn3 Houmo>Hon oamdm onIonUIHo>o onu mo HooH who HGOHm on» no nuod onHHHoHnoO on» mnHBOnm EonoHo I Jm><¢h mw¥¢<2 m