Abstract:
A vehicle with articulated legs is provided for movement across a surface or through water. Each of the legs is adapted to move in at least two planes with reference to vehicle balance. The movement of the legs is controlled sequentially to effect movement over an uneven surface while maintaining the vehicle balance.

Description:
BACKGROUND AND BRIEF SUMMARY OF THE INVENTION 
     This invention relates to land or amphibious vehicles with articulated legs. Prior art vehicles, especially those adapted for moving over rough or uneven terrain have been proposed. Typically these vehicles employ telescopic legs pivotally secured to a body or segmental legs adapted for limited oscillatory movement in one or more fixed planes. These prior art vehicles are generally subject to the problems of both lack of flexibility of movement of the vehicle per se in several directions such as forward, reverse, banking and rotatable movement; and the inability to control the movement of all legs substantially simultaneously. In this latter situation the legs are not all controlled substantially simultaneously such as when moving over rough terrain, the vehicle moves slowly and awkwardly. 
     My invention is directed to a vehicle with articulated legs and a method of operating the same, which vehicle can travel over rough terrain at high speeds. 
     My invention broadly comprises a vehicle and a method of operating the same; which vehicle has a plurality of articulated legs. Each of the legs is adapted to move in a plurality of planes. A level sensor is provided to ascertain the plane of the vehicle in reference to the horizontal. The legs and level sensor communicate both with a control module and a power source. 
     The power source provides the drive for the movement of the legs and the legs in turn control the movement and plane of the vehicle. 
     The control module includes a computer with associated interface equipment. The computer is programmed particularly for operation of the vehicle. The computer senses commands such as direction and speed of movement, the present position of the legs, the movements which each of the legs must effect to respond to the direction and speed input signal, and lastly transmits the proper communications to the legs whereby the desired movement is effected. 
     In a preferred embodiment of the invention the legs are pivotally secured to the vehicle at one end and contact the surface at another end. Further the legs are comprised of at least two linkages and the legs are controlled by determining the angular relationship of the linkages in reference to the vertical and the horizontal. 
     In the preferred embodiment six legs are used; each leg having an upper link and a lower link. The vehicle may move through six basic movements: rotation around a Z-axis, which axis passes vertically through the vehicle; forward or reverse movement along a Y-axis, which axis is perpendicular to the Z-axis; lateral movement along an X-axis which X-axis is perpendicular to both the Y and Z axes; upward and downward movement along the Z-axis; rotary movement about the Y-axis; and rotary movement about the X-axis or any combination thereof. 
     The legs are moved through an increment or distance delta a (Δa) with a variable height (h) which in combination with the distance traveled (a+Δa) allows control of the legs. 
     At least three basic angles are defined, from which angles the necessary calculations are made: angle A (∠A), preferably an acute angle, between the longitudinal axes of the upper and lower links, angle B (∠B), preferably an acute angle, between the horizontal plane of the vehicle and the longitudinal axis of the upper link; and angle C (∠C), preferably less than 180°, between the plane of the vehicle and the plane within which both links like. 
     The means to sense the plane of the vehicle comprises a gimbal-pendulum arrangement wherein the pitch, roll and/or yawl of the vehicle may be sensed. Each leg is controlled by a computer. The computer reads the desired speed and direction from a control stick and a control wheel. Each actual leg position is read by a sensor which reads angular position, and the level position of the vehicle is read by sensors associated with the gimbal-pendulum arrangement. These control signals and position sense signals are read by the computer and the computer controls the leg movements following the preestablished programs in the computer memory. 
     The machine can move in any direction, such as in a circle, forward, sideways or at any angle, can turn about its center axis (Z), can turn and move in any plane, and can change its level and can bank while turning. 
     My invention broadly comprises a vehicle adapted for use on land or sea which includes a housing having a longitudinal axis Y, a transverse axis X, and a vertical axis Z, the axes being mutually perpendicular one to the other. A plurality of articulated legs are secured to and extending downwardly from the housing, the legs each comprising an upper link and a lower link. The upper link is joined to the housing and to the lower link. The longitudinal axes of the links intersect and define an angle A. The longitudinal axis of the upper link is adapted for movement in at least two planes through two angles. A first plane parallel to the Y and Z axes and through an angle B, and a second plane parallel to the X and Z axes and through an angle C. The movement in said planes results in a substantially cone-shaped region. The legs are in communication with a drive means and also with a control means. The legs are responsive to the control means and the drive means to move through at least one of the three angles. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a perspective view of a land vehicle with articulated legs embodying my invention; 
     FIG. 2 is a side schematic illustrating my invention; 
     FIG. 3 is a front view of FIG. 2; 
     FIG. 4 is a top view of FIG. 2; 
     FIG. 5 is a front view of an articulated leg of FIG. 1; 
     FIG. 6 is a side view of the leg of FIG. 5; 
     FIG. 7 is a perspective view of the leg of FIG. 5; 
     FIG. 8a is a perspective illustration of a gimbal-pendulum arrangement; 
     FIG. 8b is a side view of the control wheel and the control stick; 
     FIG. 9 is a graphic representation of the angles derived from the articulated leg positions formulated in determining the leg movement formulas; 
     FIGS. 10a and 10b are schematics of one leg during trace and retrace cycles; 
     FIGS. 11 through 19 are pictorial representations used to illustrate the operation of the invention; and, 
     FIG. 20 is a functional block diagram of input-output to the computer. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Referring to FIG. 1, a land vehicle with articulated legs is shown generally at 10 and it comprises a body 11 including a platform 12 to which is secured a seat 14, a forward housing 16 through which passes a control wheel (steering wheel) 18. A control stick 20 is secured to the platform 12. Enclosed within the housing 16 is an engine 22, such as a General Motors 4 cylinder 200 horsepower engine. 
     A computer 200 with associated interface equipment (FIG. 20), a variable delivery oil pump 24 and a gimbal-pendulum arrangement 60 (FIG. 8) are also disposed in the housing 16. 
     The engine 22 is standard and includes a speed governor to maintain a constant rpm. The oil pump 24 is a constant pressure variable delivery bypass type. When a demand is placed on the pump 24 to maintain constant pressure the load is transferred to the engine 22. Because of the governor the engine will maintain constant speed. This particular concept is well known in the art and need not be described in detail. Further for this same reason the engine components such as coils, fuel supply, ignition, etc. have not been shown in detail. 
     The variable oil pump 24 is geared to the engine 22. A pump such as an ABEX DENISON Series 2-700 may be used. The pump includes an output hose 25a and an input hose 25b. Hoses such as Parker 34 Series (SAE100R9 Type AT) are suitable. As will be described, eighteen four-way solenoid valves are used, three for each of the six legs. Thus the input and output hoses 25a and 25b branch to include eighteen output conduits 29a through 29r and eighteen input conduits 31a through 31r, two pairs to each of the solenoid valves. For purposes of clarity not all of these lines are shown. Two bladder type accumulators 28a and 28b such as Parker Type MS-28700-4 are placed in the input and output hoses 25a and 25b between the pump 24 and where the hoses 25a and 25b branch to form conduits. The accumulators 28 eliminate or reduce the standing wave ratio (reflection) problem created when solenoid valves are opened and closed at a high rate. 
     Each pair of input/output conduits 29a-31a, 29b-31b, etc., are hydraulically secured to a solenoid valve. In this embodiment there are eighteen solenoid valves, three for each leg. 
     For the purposes of clarity only three solenoid valves with associated cylinders will be described in detail. It is to be understood that although only one leg will be described in detail that each leg of the vehicle 10 functions mechanically and hydraulically in the same manner. 
     There are six legs 40, 42, 44, 46, 48 and 50: legs 40, 44, 46 and 50 at corners of the platform 12; and legs 42 and 48 secured to the platform 12 at the sides thereof, intermediate the legs 40 and 44; and 46 and 50 respectively. One of these legs with its associated cylinders and solenoid valves is shown more clearly in FIGS. 5, 6 and 7. A gimbal-pendulum level sensor 60 is shown schematically in FIG. 1 and in greater detail in FIG. 8. This gimbal-pendulum level sensor 60 is positioned in the center of the vehicle 12, such that when the Z axis of the vehicle (or CT axis, see FIG. 4) passes therethrough. 
     Each of the total leg assemblies being identical only one will be described in detail namely the leg 40. 
     Referring to FIG. 5, secured below the platform 12 adjacent the cut-out portion 12a is a hinge 32. A support plate 34 is secured to the hinge 32. As will appear this allows movement of the leg 40 through ∠C. 
     The leg 40 comprises an upper link 300 and a lower link 302. Relative movement of the links, one to the other, is through ∠A. Movement of the link 300 to the platform is through ∠B. The upper link includes two parallel supports 306 and 308 rotatably pinned at their one or upper ends to the plate 34 and pinned at their other or lower ends to the one or upper end of the lower link 302. At the other or lower end of the lower link 304 is a rectangular shaped foot 310 pinned thereto for movement in two planes. 
     A plurality of solenoids 312, 314 and 316 are secured to the top surface of the platform 10. Each of the solenoids includes paired lines 312a, 312b; 314a, 314b; and 316a, 316b; and output lines 312b, 314b and 316b are connected respectively to cylinders 318, 320 and 322. The input and output conduits 29 and 31 are connected to the accumulators 28 and thus to pump 24. The solenoids also are electrically responsive to the computer 200. 
     As shown most clearly in FIGS. 5 and 7, the cylinder 318 which effects the lateral movement (∠C) of the leg 40 is rotatably pinned at one end between the arms of a U-shaped plate 324 which plate is rotatably secured to the underside of the platform 12. The end of the piston rod of the cylinder 318 is secured at its other end to the upper linkage 302. More specifically, the other end is rotatably pinned between the arms of a U-shaped plate 326, which plate is rotatably secured to the support 306 of the link 300. If desired ball and socket joints could be used in place of the U-shaped support plates. 
     The cylinder 320 in its upper portion has extending pins. Arms 340 are secured to the supports 306 and 308. The pins are rotatably received in the arms 340 securing the cylinder 320 therein. The lower link 302 has extending arms 342. The end of the piston rod of the cylinder 320 is rotatably secured to the arms 342. The cylinder 320 controls the ∠A. 
     The end of the piston rod of the cylinder 322 is characterized by an extending pin 344 which is rotatably received in the supports 306 and 308. The cylinder 322 is rotatably secured to the plate 34 by an arm 346. Preferably the arm is welded to the cylinder 322 and journaled in the plate 32. The cylinder 322 controls the ∠B. 
     As shown in FIGS. 5 and 7, cylinders 318, 320 and 322 have associated solenoid valves 312, 314 and 316 with paired lines 312a, 312b, etc., to the cylinders and input conduits and output conduits 29-31, etc. to the main oil pump. 
     The specific arrangement of cylinders, solenoid valves, lines, conduits, linkages, pins, braces, etc., are illustrative of the preferred embodiment of this invention. Other variations of mechanical and hydraulic configurations will be apparent to those skilled in the art in which one effects the movement of the leg 40 through an ∠C through an ∠B, and through an ∠A, these movements ocurring solely or in any combination thereof. Alternatively all connections between links, the upper link to the platform, the foot to the lower link, and the securing of the pistons to the links and to the vehicle could be achieved through ball and socket joints. 
     Sensors of the type used for the gimbal-pendulum level sensor measure the angles A, B and C. A sensor 360 measures ∠A, a sensor 362 measures ∠B and a sensor 364 measures ∠C. The sensors are shown schematically in FIG. 5 and may be secured in any suitable manner. Further they are responsive to the computer 200. The sensors, as will be described, may either by optical encoders or potentiometers. The sensors are calibrated and scaled to provide an output signal, such as voltage. 
     FIG. 2 is a side schematic view of the vehicle 10 illustrating the X, Y and Z axes of the vehicle. FIGS. 3 and 4 are front and top views of FIG. 2 also illustrating the same axes as well as associated angles as will be referred to in the description of the operation of the invention. 
     The gimbal-pendulum level sensor 60 which is shown generally in FIG. 1, is shown in perspective illustration in FIG. 8a and comprises two depending support plates 382 and 384 secured to the platform and extending downwardly from the bottom surface thereof. A gimbal 386 is journalled to the lower ends of these supports 382 and 384. A sensor 388 such as a rheostat or an optical encoder monitors movement about the X axis and a sensor 390 such as a rheostat or an optical encoder monitors movement about the Y axis. A pendulum 392 extends from the lower portion of the gimbal. Both sensors communicate with the computer 200. A height switch 27 is on the front panel. The switch 27 is a potentiometer which ranges from OFF at 1.2 volts to full at 0.3 volts output. At OFF level platform 12 is 60 inches from ground; at full level platform 12 is 15 inches from ground. It establishes a desired height of the vehicle 10 when level. 
     The control wheel 18 is connected to a shaft as shown in FIG. 8b. At the end of the shaft there is a wheel position sensing device 19 such as a potentiometer or an optical encoder. When the wheel is moved the sensor is moved by the shaft and its change in position generates a corresponding change in electrical signal. This signal is input into the computer 200. The computer converts this information to the desired turning ratio to complete the control of the leg movement. 
     The control stick 20 is movably secured to the platform and to a position sensing device 21. This device 21 is a gimbal arrangement identical to the type remote control unit for a hobbyist&#39;s airplane. Two sensors for the X and Y axes such as potentiometers or optical encoders are used as with the gimbal 60. When in a neutral position the output to the computer 200 indicates no movement. As will be described in the operation of the invention, when the stick 20 is moved forward to the rear or to the side then of course the optical encoders or rheostat provide signals to the computer 200 indicating the amounts of movement that are required for each leg. The sensors of the preferred embodiment are potentiometers such as Allen Bradley type GAINO5bS hot molded composite potentiometer-linear taper. Optical encoders such as available from Dynamic Research Corporation or other sensors may be used. Each leg has three sensors. For leg 40, FIGS. 5, 6 and 7, the potentiometers are shown schematically. All legs being identical, the remaining legs 42, 44, 46, 48 and 50, each have three sensors for a total of eighteen sensors from the six legs. 
     The gimbal-pendulum level sensor 60 has two sensors, both potentiometers shown schematically in FIG. 8a. The control wheel 18 has a sensor 18 which is a potentiometer. 
     The control stick 20 has two sensors; potentiometers to measure changes from level along the X axis and Y axis. The height switch 27 has a potentiometer. In all there are twenty-four sensors which communicate with the computer 200 in reference to position. 
     These sensors are potentiometers. Alternatively optical encoders could be used. With the potentiometers the scales for all sensors are as follows: 
     1. Electrical signal 0 volts to 5.12 volts dc equivalent to 256 decimal divisions or one 8 BITS BYTE. This means that 1 bit is equal to 20 mV. 
     2. One BYTE equal to two Radians or 114.6 degrees. 
     3. When the control stick 20, control wheel 18 and sensor 60 are neutral 2.56 volts are output from all associated sensors. When the angles A, B and C are each half-way between a fully extended and fully retracted position the output is 2.56 volts. The height switch has a range from 0.3 volts to 1.2 volts. 
     In other words, when any of the angles, A, B and/or C, are one-half range, this equals one radian; when full range this equals two radians and where zero range, this equals zero radians. 
     The analog to digital converter changes these signals to 128 decimal. The computer substracts 128 decimal from any reading received such that it is a conversion from; 0 to 5.12 VDC =0 to 256 decimal, to; 0-5.12 VDC=-128 to 128. 
     An optical encoder if used is scaled in the same way (1 radian equal to 128 division). In this instance the signal would go digitally directly from the optical encoder to the computer interface. 
     4. Each bit represents 1 inch in linear movement. 
     If we move the control stick full forward or one radian (57.3 degrees) we are going to read 128 decimal (or 128 inches per computer loop per second, this means 12.66 feet per loop, there are five of these loops per second). Full speed means 63.33 feet per second or approximately 43.18 mph. In actuality full speed will be somewhat less than this because of hydraulic shock waves. 
     Routine DELTA step 11 limits forward speed, step 20 limits backward speed. (The example of this application is limited to 10 units or 50 inches/sec., equivalent to 3 mph.) 
     Summary: 
     Scales-- 
     1 bit=1 inch 
     1 bit=0.055 radian=20 mv 
     1 BYTE=2 radians 
     1 Radian=2.56 volt=57.2 degrees. 
     Those scales apply to all sensors and all controls. 
     The Computer 
     An electrical functional block diagram of the computer 200 is shown in FIG. 20. The computer 200 used in the preferred embodiment is a microprocessor such as an 8085 miniprocessor available from Intel Corporation Santa Clara, Calif. Two interfaces for input, output and random access memory such as Intel&#39;s 8155 was used; and two interfaces for input, output and programmable read only memories such as Intel&#39;s 8755 are also used. Components are connected according to a standard system configuration such as found in the manual published by Intel Corporation, MC5-85 User manual, Appendix 1, pages A1--1 through A1-5; and FIG. 3 which manual is hereby incorporated in this application in its entirety. Three single chip data acquisitions systems such as National Semiconductors adc0816 are connected to the interface, and the address lines of the data acquisition systems are connected also to the address lines to the computer and the 8205 selection Ic&#39;s in the computer. Reference to FIG. 20 will show all inputs to and from the computer. 
     The control of the computer is accomplished through the instructions. The instructions are written in terms of the particular mode of operation desired. The computer 200 thus has stored in its memory the programs and routines corresponding to each mode of operation. 
     As is well known to those skilled in the art the computer comprises suitable control, storage and computational units for performing various arithmetic functions on data which is presented in digital form. Any standard computer language consistent with the capability of the computer can be used for the instructions. All sub-routines are not described in detail since they can be written upon a particular computer being utilized, the computer language, etc. Programs and instructions described below are put in terms of structural flow. When necessary and applicable for purposes of the invention, the individual programs are described. 
     All controls initiate and return to and from the main program depending upon the mode of operation. 
     In the main program the first fifteen steps typically comprise the main loop. Within the main loop, as is understood in computer programming there may be one or more sub-loops. In this invention for the preferred embodiment, there are six such sub-loops. Each of the six legs is handled sequentially. When the pointer is set to 1 for leg loop 1 NN=1 then all various sub-routines, etc. are completed for leg 1. At its completion then the pointer is set to 2 for leg loop 2 and so on until the completion of leg loop 6. 
     In the discussion of the programs for this embodiment the following sets forth the relationship between the computer language and the legs. ##SPC1## ##SPC2## ##SPC3## 
     Leg Movement Formulas 
     The following formulas in combination with the graphical representations of FIGS. 9 and 10 illustrate the basis of the functioning of the articulated legs of the invention. 
     1. When a &gt;0 
     
         ∠cc=Arctan a.sub.h 
    
     
         b=h/coscc 
    
     
         ∠D=ArcCos (b/2)/c 
    
     
         ∠A/2=π/2-∠D 
    
     
         π/2=∠B+∠CC+∠D 
    
     
         ∠B=π/2-∠D-∠CC 
    
     
         ∠B=∠A/2-∠CC 
    
     2. When a &lt;0 
     
         ∠CC=Arctan (a/h) 
    
     
         b=h/cosCC 
    
     
         ∠D=ArcCos(b/2/c) 
    
     
         ∠A/2=∠/2-∠D 
    
     
         ∠B=π/2-(∠D-∠CC) 
    
     
         ∠B=π/2-∠D+∠CC 
    
     
         ∠B=∠A/2+∠CC 
    
     The limit of any leg movement is illustrated in FIGS. 10a and 10b and the tables set forth below. 
     
         ______________________________________Table for the Retrace or Regress Limit of the Legs   Machine       Machine   Forward Movement                 Reverse Movement   legs 2,3,5,6            legs 1,4 legs 2,3,5,6                               legs 1,4______________________________________ ##STR1## [a.sub.n ] &gt; h.sub.n                 ##STR2##                          ##STR3##                                 [a.sub.n ] &gt; h.sub.n ##STR4##      ##STR5##  [a.sub.n ] = h.sub.n                         [a.sub.n ] = h.sub.n                                  ##STR6##______________________________________ 
    
     By incrementing values of a (a=a+Δa) and keeping delta a/t (time) constant we create constant speed. The input into the computer 200 as described generates values of angle A or angle A/2 and angle B for each new value of &#34;a&#34;. The value of h is determined by the desired height, the vehicle balance and the control wheel 18. If the ground is flat all &#34;h&#34; are the same. If the ground is irregular then there will be different values of &#34;h&#34; for each of the legs. (Sub. &#34;SETH&#34;, Sec. B, Steps 1 to 33) 
     The &#34;h&#34; value for any leg is kept constant during each trace. In the description of the operation of the invention only certain movements of the machine will be described in detail for illustrative purposes. It will be apparent to those skilled in the art based on the description of the structure and function of the vehicle together with the programs provided that an almost infinitesimal amount of various movements are possible. 
     In this example the movements described in detail will consist of vehicle balance and moving forward on a flat surface, turning around a point and steering; moving across a mountain slope, leg adjusting to obstacles; and braking and backward and side motion. 
     Vehicle Balance and Moving on A Flat Surface 
     The vehicle is four feet in width, eight feet long and with the legs fully extended the bottom surface of the platform is sixty inches from the surface. 
     The computer 200 is initialized and the engine 22 started and the fluid pump 24 raised to the appropriate pressure. 
     The computer 200 checks the sensors 388 and 390 of the gimbal-pendulum 60 to determine if the vehicle 10 is balanced, program steps 2, 3, 12 in sub-routine SET h. For example, if the vehicle 10 is tilted about the Y axis as shown in FIG. 3 (angle R&gt;0) legs 40, 42 and 44 are lower than legs 46, 48 and 50. The &#34;h&#34; height of each leg is then analyzed by the computer 200 and is balanced changing h4, h6 for legs 40, 44, in sub-routine SET h Steps 4-6. 
     Each leg has pressure-sensitive ground switches which output a signal when the leg contacts either an obstacle or the ground. The sense switches 396 for leg 40 are shown in FIGS. 5 and 6. 
     As is apparent from the sub-routine SET h when the vehicle 10 is balanced only the four corner legs 40, 44, 46 and 50 are initially controlled. The computer determines which legs should be raised or lowered based on the present leg height h and the distance of the leg loop. When balance is achieved the signals from the sense switches of the two middle legs 42 and 48 are checked to determine whether or not they are in contact with ground; if not they are extended until they contact ground and balance is complete. (SET h, steps 13-17) 
     In order to increase or decrease the height of each of the legs the computer controls the angle A and angle B values of each leg. These angles are calculated based on the desired height (actual h plus a change in h=h+Δh) and the actual value of &#34;a&#34;. Referring to FIG. 5, for leg 40, the sensors 360 (∠A) and 362 (∠B) provide signals to the computer 200. The computer determines the amount of movement of each of the legs. For leg 40 outputs to the solenoid valves 314 and 316 are sent and the corresponding cylinders 320 and 322 are actuated. This sequence of calculations the desired angles, measuring the actual angles and actuating the associated cylinders to move the legs to the calculated values is done for each leg. The solenoid valves on the left side of the vehicle 10 referring to FIG. 3 are opened and the valves of the right side referring to FIG. 3 are closed until the actual angle A&#39;s and angle B&#39;s are equal to the calculated angles. At this point we have the desired height equal to the actual height. These steps are repeated for each and every leg until balance is achieved. Where the vehicle 10 is tilted around the X axis (angle P&gt;0) legs 46 and 40 are increased (SUB-ROUTINE SETH Step 29) and legs 44 and 50 are decreased (SUB-ROUTINE SETH Step 32) until balance is achieved using the same h concept. Again the corner legs are moved to achieve the desired balance. Subsequently the side legs are actuated to engage the ground to stabilize the vehicle. 
     Moving On A Surface 
     Once balance is achieved the vehicle 10 is ready to move. The operator moves the control stick 20. Movement of the stick 20 changes the position of the sensing device 21 (FIG. 8b). The device 21 has two sensors as previously described. If the operator moves the control stick forward the machine will move forward at a speed specified by the amount of stick forward movement. When the operator desires to stop he moves the control stick backward to a center (neutral) position. If the operator wants to move sideward he moves the control stick sidewards. 
     The computer 200 will increase the value of &#34;a&#34; for each leg according to the amount of movement of the control stick 20 (SUB-ROUTINE &#34;DELTA&#34; Steps 8, 18). This increment of &#34;a&#34; will be constant as far as the stick 20 is offset from its neutral position. If the rate of change of &#34;a&#34; is constant per unit of time then the speed will be constant. The distance &#34;a&#34; is shown in FIGS. 10a and 10b. For each increment of the distance &#34;a&#34; in each leg, the computer will calculate angle A and angle B using formulas I and II set forth above (SUB-ROUTINE CALC SEC. E Steps 1 to 23). 
     The leg height h is going to be constant during the forward or trace cycle. This value h will change only at the beginning of the retract cycle and at the beginning of the next leg cycle when the leg is going to be adjusted to a new location on the ground and the balance is checked again. It is to be understood that during the trace cycle the foot of the leg remains fixed on the ground while the vehicle moves. This may be seen in FIGS. 11-14. 
     Turning On A Flat And An Irregular Surface 
     To turn around its center on or about the Z axis, referring to FIG. 3, the control wheel 18 is turned. Each leg will move around a circle with its radius equal to the distance between CT and the position of the leg at the time turning is commenced. The computer selects the values of &#34;d&#34; and &#34;a&#34; for each leg such that the net effect will be to turn the vehicle around CT (SUB-ROUTINE DELTA Steps 29 to 51). The radius R is calculated at the leg start movement for each and every leg for precision turning. The leg displacement is going to be controlled by X 2  +Y 2  =R 2  when Y=a n  (a n  is the actual leg &#34;a&#34; value plus the distance from &#34;X&#34; axis) for each leg or for n=1, 2 . . . 6. The control wheel 18 is connected to a shaft at the end of which is the wheel position sensing device 19. Change in position of the optical encoder generates a corresponding change in electrical signal (1 RADIAN=57.3°=128D=2.56 volt DC 1 turn/sec) which is input to the computer 200. In this way the computer determines the desired turning ratio (1/128 turn sec per bit) and now has the desired ratio to control the leg movement. The computer 200 calculates the corresponding values of X and Y. If the vehicle 10 is moving and turning at the same time the value of &#34;Y&#34; corresponding to the turn ratio is incremented by delta a (change in a) corresponding to the forward or backward movement. The displacements along the X axis (FIG. 4) are going to be achieved by changing the ∠C corresponding to each leg when turning and moving either forward or backward. Sideward or lateral movement is achieved by changing angle C (∠C) with respect to time in a similar way as &#34;a&#34; is changed with respect to time (ROUTINE DELTA Steps 53 to 55). 
     Moving Across A Sloped Surface 
     When a=0 and h is constant then there are no changes of a in time and the machine clearly does not move. As soon as &#34;a&#34; by movement of the stick 20 is incremented (a n+  1=a n  +Δa) which essentially means a new value for &#34;a&#34;, the old values of angle A and angle B are calculated and the actual angle A and angle B are changed to the calculated values and the net result is forward movement. 
     When a reaches the established limit (&#34;a&#34; value for the leg in relation to its &#34;h&#34; value) the retract sequence starts (See RETRACT LIMIT TABLE). The value of h is reduced, the computer checks to determine if there are other legs in the retract mode at the same time before starting retrace in leg 40, for example (SUB-ROUTINE RETRO Steps 7, 28 to 30, for leg 40). The value of h is reduced to a preset value specifically h/4 (SUB-ROUTINE RETRO Step 52) then the leg synchronization routine (RETRO Step 1 to 50) sets the time when the next leg trace should start. The value of &#34;a&#34; is reduced to the preset value according to the retrace limit table. When the trace starts values of &#34;a&#34; are incremented again, values of &#34;a&#34; are incremented at the same time as the other machine legs are, in order to allow this leg to be moving at machine speed when it engages the ground. Ground is detected when the ground sense switch is closed (SUB. RETRO Steps 58  and 59). Now values of &#34;h&#34; start to be incremented until the gimbal-pendulum sensor 60 feels an unbalance (this feature allows the leg to be adjusted to the terrain). Any obstacle is cleared because the leg height is divided by 4 during retract (FIGS. 15 and 16). If there is an obstacle the leg is going to be adjusted to it if it has not been cleared in the retrace mode (FIGS. 17 and 18). 
     When the vehicle 10 is moving across a mountain slope the legs of both sides are going to be adjusted until balance is achieved. Any obstacle will be handled in the same way. If the obstacle is too big to be cleared the vehicle will stop indicating that the leg cannot clear the obstacle. 
     If a leg through its retract (loop) cannot clear the obstacle then the sense switch such as 396, leg 40, will be actuated when it hits the obstacle before the leg has completed its maximum retract (SUB-ROUTINE RETRO Step 58). 
     This will place the vehicle in a hold position and the operator must then move in a different direction to avoid the obstacle which cannot be overcome (SUB-ROUTINE RETRO Step 58). 
     Leg Adjustment To Obstacles 
     The angles A and B in each leg are adjusted based on the value of &#34;a&#34; and the value of &#34;h&#34;. Once established the value of &#34;h&#34; is kept constant during trace while the value of &#34;a&#34; is going to change with time. Referring to FIG. 11, &#34;a&#34;=0. As the vehicle moves forward, FIG. 12, &#34;a&#34; increases. When the value of &#34;a&#34; is equal to a preset value measured in terms of the h and conditioned to the position of the other legs, to avoid one hitting the other (For LEG 40 IN FORWARD, RETRO Step 67) all retracing at the same time (Example: SUB-ROUTINE RETRO Steps 7, 29 to 30 prevent Leg 40 retrace at the same time as leg 42 or 44 is retracting), or any other desirable condition, the leg starts the retrace action as shown in FIG. 13. 
     Initially the value of &#34;h&#34; is decreased, FIG. 14. Then the value of &#34;a&#34; is decreased to the preset value, FIGS. 15 and 16. Decreasing h while &#34;a&#34; is changing allows the leg to be moving at the vehicle&#39;s speed at lift-off time. 
     After checking the leg synchronization computer routine (for the forward cycle start time) the leg starts the forward motion increasing h until an imbalance is sensed due to this leg movement, FIG. 17. The leg h value is fixed by the computer until the leg will start the retrace cycle again. The forward movement continues. The first obstacle has been cleared and the leg adjusted to the next obstacle as shown in FIG. 18. Now the leg is ready to commence the retrace &#34;a&#34; and having established the retraced relation with &#34;h&#34;. The h value for this leg will be smaller in this case due to the obstacle. In case of a slope or an obstacle each leg is adjusted individually until balance is achieved. 
     Braking Backward Motion, Sideward Motion and Bank Effect 
     If the vehicle 10 is moving forward at constant speed then &#34;delta a&#34;/&#34;delta t&#34; is constant (rate of change of &#34;a&#34; is constant with time because &#34;a&#34; is distance). 
     
         ds/dt=v 
    
     
         d.sup.2 s/dt.sup.2 =dv=A 
    
     
         s=∫vdt 
    
     s=distance=a 
     v=velocity 
     A=acceleration 
     If we reduce the rate of change of &#34;a&#34; with respect to time, deceleration or braking will result. If &#34;a&#34; increases 10 units per second the machine is moving 10 units per second when the stick 20 is moved closed to the neutral position, and the level of this signal is two units per second the computer senses the change in position and &#34;a&#34; is reduced by 2 units every second wherein the machine will brake in 5 seconds. When the machine is braking the gimbal-pendulum arrangement 60 moves forward then the computer senses this movement and maintains the balance of the vehicle in reference to the pendulum. The computer will increase h1 (leg 50), h4 (leg 44) and decrease h3 (leg 48), h6 (leg 40) in order to maintain the balance. The net result will be the front is higher than the back while braking. 
     Backward Motion 
     The concepts that apply to forward motion equally apply to reverse motion but with opposite signs. In reverse when the control stick 20 is pulled rearwardly from the neutral position and sensed by the computer, the legs start their trace at the opposite point of forward. The value of &#34;a&#34; decrements with time instead of increments. The leg regress or retrace starts at the same point as with the leg start trace in the forward motion. 
     Side Motion 
     In sideward movement angle C is changed with time (delta &#34;d&#34;/time) until its limit (MAIN PROGRAM Step 6) is reached then h is decreased as before and the retract cycle starts. The angle C is changed to the other extreme--C and h starts to increase until balance is achieved. The HH value (the real leg length) will be equal to h/cos C. The &#34;h&#34; value will be constant but HH will be a sinusoidal function of C. This is set forth in the program identified as &#34;CALC&#34; steps 2 and 3. Sideward acceleration will affect the gimbal-pendulum 60 and the computer will adjust the vehicle to it in the same manner as when turning. 
     For example the control stick 21 is moved 12 degrees sideward (approximately 1/5 Radian), the sensor sends a 500 mv signal that is changed to 25 decimal in the computer 200. If an optical encoder is used it will send the 25 decimal or 31 octal signal directly to computer interface (SUB-ROUTINE DELTA Step 54). This is the &#34;delta d&#34; value and it is added to &#34;d&#34; (SUB. DELTA Step 55). The angle C necessary for this new value of &#34;d&#34; will be equal to ARCTAN d/h (&#34;CALC&#34; Step 3). Once the angle C is calculated based on &#34;d&#34; and &#34;h&#34; we are ready to control Routine CONTROL STEPS 1 to 11. The solenoids that control ∠C for each leg (in sequence are actuated) such that angle C desired will be equal to angle C actual as determined from the leg sensors. The control sub-routine for angle A for all legs has been detailed. The same routine format is used for all angle B and all angle C of all legs.