Pvot-Wheel Drve Crab wth a Twst! Clem McKown Team 1640 13-November-2009 (eq 1 edted 29-March-2010) 4-Wheel Independent Pvot-Wheel Drve descrbes a 4wd drve-tran n whch each of the (4) wheels are ndependently drven and may be ndependently pvoted for steerng purposes. The desgn offers the potental for excellent drve-tran performance and a soluton to conventonal (tank) drve-tran desgn constrants. The desgn also brngs some clear desgn and control challenges. Ths arrangement provdes the possblty to operate n several dfferent modes. One of these modes s Crab mode. In Crab Mode, all wheels steer together and drve at a common speed thereby steerng the robot n any drecton on the 2-d playng surface (true 2-d drve). As descrbed above, ths mode does not allow overt control of chasss orentaton. Gary Deaver, a Team 1640 Mentor, made the case that a Pvot Drve robot wth 4 ndependently drven and steered wheels was not ntrnscally constraned to typcal Crab behavor and that t should be feasble to overtly control chasss orentaton. Furthermore, from a human nterface standpont, a 3-axs joystck whch ncludes a twst axs as the 3 rd control axs would provde an ntutve means of human control over a Crab twst functon. The ablty to control chasss orentaton n Crab Mode provdes an obvous operatng advantage. Ths paper addresses how to accomplsh such twst behavor from a Pvot and Drve standpont. The Basc Crab Chasss The Basc Crab Chasss s shown n Fgure 1. There are 4 Pvot Wheels set on an l x w wheelbase. Wheel numberng here s consstent wth the earler Programmng a Pvot-Wheel Drve paper of 9-August-2009. A chasss Center- Pont (CP) may be defned n the geometrc center of the wheelbase. Each wheel (and each pvot) s h dstance from the chasss CP, where: 2 2 l w h eq. 1 2 Drecton of Travel s not necessarly algned wth the wheelbase. The dfference between the chasss orentaton and the drecton of travel s. It s mportant than s known. Rght-hand-rule apples to angle measurements wth the thumb
on the z (up) axs. All angle calculatons wll be carred out n radans. All angular values expressed here wll be n radans unless otherwse noted. Normally n Crab Mode, all wheels wll be algned wth the drecton of travel and all drves wll be equally powered (or, deally, all drven at the same speed, whch s not necessarly the same thng). All wheels would therefore be pvoted at = 2- eq. 2 from straght ahead. The orentaton of each pvot/wheel from the chasss CP may also be defned relatve to the drecton of travel, ( = 1-4). FIGURE I Basc Crab Chasss Crab Modes There are two logcal ways to control Crab Mode. There are also two logcal ways to twst n Crab Mode. Each of the two twst modes fts ntutvely (also
Twst Modes logcally and phlosophcally) wth ts own Crab Mode. We wll descrbe the two Crab Modes before descrbng the Twst Modes. Crab Mode 1 Anchored to the chasss In ths mode, the drecton of the joystck s devaton from neutral corresponds drectly to the chasss s drecton of travel, relatve to the chasss s orentaton. Pushng the joystck straght ahead moves the chasss straght forward ( = 0). Throwng the joystck drectly rght moves the chasss towards the chasss s rght sde ( = 3/2). Pullng the joystck straght back moves the chasss backwards ( = ). A good mode f chasss orentaton means somethng. It s not clear that the drve motors would ever reverse n Crab 1. Crab Mode 2 Free form (but I know where I am, really!) I am certan ths s how Team 118 worked n 2007 (except maybe the knowng part). In Crab 2, y-drecton joystck movement runs the drve motors (forward or reverse). x-drecton joystck movement runs the steerng motors (left and rght). A neutral x-poston means that the robot contnues on ts current headng regardless of that headng s orentaton wth the chasss. x-drecton joystck movement changes headng, wthout regard to chasss orentaton. There s a presumpton here that one wheel wll be the master and the other three slaves. One wheel must set the headng. The other three need to pont n the same drecton. Ths could be very ntutve for a drver (lookng for movement wthout havng to pay and attenton to chasss orentaton). sually, we are drectly attuned to movement. Attenton to orentaton requres thought, slowng the process. Ths s as far as I care to judge Crab 1 & 2 wthout data. They are dfferent, though. Fortunately, through the magc of programmng, we can (n prncple) accommodate both. Twst 1
Crab 1 locks joystck orentaton wth chasss drve drecton. Twst 1 should be consstent. Ths can be accomplshed by ncorporatng a Snake Mode turn nto a Crab Mode 1 Twst. Such a turn s shown schematcally n Fgure 2. Through the turn, the orentaton of the chasss relatve to the drecton of travel () never changes. Chasss orentaton does change relatve to the feld, and does so n an overt, controlled manner. Twst 1 s really a turn, not a twst, but t s a Snake turn performed n Crab Mode. FIGURE 2 Twst 1 Schematc Twst 2 In Crab 2, steerng s relatve to the chasss s current headng n relaton to the feld. There s no fxed relatonshp between joystck poston and chasss headng (). In Crab 2, t would make sense for Twst to rotate the chasss wthout (f possble) changng the headng relatve to the feld. Ths would necessarly change.
So Twst 2 s a real twst and not a turn. Twst 2 s shown schematcally n Fgure 3. FIGURE 3 Twst 2 Schematc Twst 3 Twst 2 ntroduces a new steerng regme to 1640 dynamc steerng. Up to ths pont (ncludng Twst 1), steerng can be consdered statc. That s, once the human controls are set, ths determnes a robot response (steerng angle & drve speed, n ths case) whch does not change untl the human controls change. Twst 2 s dfferent. In order to rotate the chasss whle retanng a constant bearng (relatve to the feld), steerng and drve speed need to be dynamc. Steerng angle and drve speed changes contnuously for each wheel as a functon of (for gven human nterface values). Ths wll provde a unque challenge for the team. Dd I say 2 twst modes? What was I thnkng? There s a caveat. If the robot s statonary, a 3 rd twst s logcal. Ths smply sets all of the wheels tangent to the crcle that they descrbe and turn the chasss lke a turret. Ken Au has already programmed ths as an ndependent mode. Ths s also the logcal lmt of a Snake Mode turn (but n Snake the nsde pvots turn an extra ). See Fgure 4. In the confguraton shown, t would be necessary to run two motors n reverse to rotate the chasss. We wll see that Twst 3 s logcally ncorporated n Twst 2 wthout a specal effort.
FIGURE 4 Twst 3 (Statonary Chasss Rotaton) The Math behnd Twst 1 Twst 1 s a generalzed approach to Snake Mode. Fgure 5 defnes the basc geometry behnd Twst 1. The chasss s represented by a crcle of radus h about a chasss CP. There s an angular bearng of travel relatve to the nomnal chasss orentaton of. There are n (n = 4 n our case, but ths s not mportant here) wheels dstrbuted around the crcle s radus (only one s shown), each at a known, fxed orentaton ( ) relatve to the physcal chasss, but at a varable orentaton relatve to the drecton of travel ( ), so that: eq. 3 Care needs to be taken to check that remans n the range 0-2 (add or subtract 2 to f necessary). When drvng n Crab Mode (wthout twst), all wheels are orented at = 2 relatve to the chasss s straght ahead orentaton.
As wth the earler Snake Mode analyss, t s useful to magne a reference wheel on the centerlne relatve to the drecton of travel. Ths reference wheel s located h dstance ahead of the chasss CP. The centerlne reference wheel would respond drectly and proportonally to the joystck z-axs nput and therefore determne the turn radus (R CL ) as a functon of reference pvot angle ( CL ). The nomenclature s adopted here because t s an addtonal steerng change on top of the Crab steerng angle. FIGURE 5 Twst 1 Geometry CL s assgned proportonally from the joystck z-axs nput. For the sake of smplcty, I lmted the maxmum CL values to the range ±/4. Ths lmtaton keeps the turnng centerpont from comng nsde the chasss crcle. In Snake Mode, the lmtaton s ±/2. The chasss turn radus R CP s calculated: R CP h eq. 4 tan CL
A turn radus for each wheel (R ) can be calculated. R R h 2 h eq. 5 2 cos 2 CP sn As well as a twst steerng angle ( ). (Note: the followng equaton may need to be negated or otherwse modfed based on joystck nput specs). hcos 1 joystck _ z _ sgnsn R eq. 6 The wheel drve velocty factor for each wheel s the rato: R v eq. 7 R max where R max s the greatest turnng radus for the wheels. A worksheet for Twst 1 calculatons was developed.
The most sgnfcant complcaton of Twst 1 as compared to Snake Mode s that the calculatons depend upon the chasss orentaton, and can therefore not be easly pre-calculated (unless you parse and pre-calculate a 3-d array). Twst 1 s a statc steerng system. Once the joystck controls are set, all steerng and drve values are determned and do not change untl the joystck controls change. Math behnd Twst 2 Twst 2 geometry s shown schematcally n Fgure 6. It s actually smpler than Twst 1. It retans the useful concept of the h-radus chasss crcle. Ths chasss moves at a velocty (n/s) and rotates, or twsts, at a rate of (radans/s) [Note: a captal s used here for velocty to avod confuson wth (rotatonal rate) n equatons]. The magnary Centerlne Wheel concept used n Twst 1 s not useful for Twst 2. We need look at only one wheel, (there are n wheels). The wheel has a fxed orentaton relatve to the chasss ( same as Twst 1). s the chasss orentaton relatve to the drecton of travel and s now a functon of t (tme), where (0) s a known ntal condton. Steerng twst angle ( ) s the devaton from Crab Mode steerng angle (). = 2 s of course also a functon of t ((t)). FIGURE 6 Twst 2 Geometry
Twst 2 rotatonal rate competes wth chasss velocty. Any wheel passng = 3/2 wth a postve (or = /2 wth a negatve ) must be drven at a speed of + h. Snce the maxmum drve speed s lmted to max (about 108 n/s), chasss and rotatonal veloctes wll need to be balanced on the bass of y & z-axs Joystck nputs. The attached Model contans a reasonable allocaton between chasss and rotatonal veloctes. At zero forward velocty and maxmum z, the chasss wll rotate at full drve speed. At zero twst (z) and maxmum drve (y), the chasss wll drve forward at full drve speed. In the arena of negotaton, drve speed remans maxmzed at ts peek and the twst and forward drve play off aganst each other. The rotatonal poston of the chasss can calculated: (t) = (0) + t eq. 8 It s mportant to keep the value of between 0 and 2. To calculate the angular postons any for ndvdual wheel : eq. 9 t As above, keep these values between 0 and 2. x, y and scalar wheel veloctes are: x, ( t) t h sn eq. 10 h cos y, eq. 11 2 2 t eq. 12 x, y, The calculaton of (t) s condtonal. If x, > 0, then: y, tan 1 eq. 13a x, If x, > 0 and < /2, then:
1 y, tan eq. 13b x, If x, > 0 and /2, then: 1 y, tan eq. 13c x, There s a dmensonless number, h /, whch characterzes the behavor of Twst 2. If h / < 1, the wheels do not pvot completely around wth each twst revoluton (they oscllate). If, on the other hand, h / 1, then the wheels do pvot completely around wth each twst revoluton. These equatons wll work f = 0. In ths case, Twst 2 becomes effectvely Twst 3. A robust model has been developed based on 1 st prncples. An earler model had been bult from the back-end forward, but t broke under the condtons h / 1. Under the condtons h / < 1, the 1 st prncples and back-end models agree exactly. The soluton for the new model s analytcal. The worksheet model s shown below. Ths s a dynamc system. Settng the joystck poston smply starts the dynamc process. Steerng angles for the above twst are:
And relatve motor speeds: But each system of nputs provdes a unque soluton.