13.07.2015 Views

servo and sensor control on small mobile platforms - Engineering ...

servo and sensor control on small mobile platforms - Engineering ...

servo and sensor control on small mobile platforms - Engineering ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

J. Blanch, S. Tosunoglu, ASME Southeastern Regi<strong>on</strong> XI Technical Journal, Volume 2, Number 1, April 2003; also presented atthe ASME Southeastern Regi<strong>on</strong> XI Technical C<strong>on</strong>ference, Miami, Florida, April 4-5, 2003.detailed review of the main comp<strong>on</strong>ents such as the<str<strong>on</strong>g>servo</str<strong>on</strong>g>s <str<strong>on</strong>g>and</str<strong>on</strong>g> <str<strong>on</strong>g>sensor</str<strong>on</strong>g>s <str<strong>on</strong>g>and</str<strong>on</strong>g> how they are <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>led tomake this an effective <str<strong>on</strong>g>and</str<strong>on</strong>g> mechanically stableplatform. Finally, some c<strong>on</strong>clusi<strong>on</strong>s will be drawn asto the quality <str<strong>on</strong>g>and</str<strong>on</strong>g> precisi<strong>on</strong> of a platform built withoff the shelf comp<strong>on</strong>ents meant for hobbyists.PLATFORMThe platform used in this case is HANCOR(H<str<strong>on</strong>g>and</str<strong>on</strong>g>held-C<strong>on</strong>trolled Rover), a <strong>small</strong> rover createdat Florida Internati<strong>on</strong>al University to test the viabilityof using h<str<strong>on</strong>g>and</str<strong>on</strong>g>held devices as platform <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>lers.The platform is based <strong>on</strong> a P<strong>on</strong>tech SV203 <str<strong>on</strong>g>servo</str<strong>on</strong>g><str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler board that uses Sharp GP2D120 infraredranger <str<strong>on</strong>g>sensor</str<strong>on</strong>g>s to detect obstacles <str<strong>on</strong>g>and</str<strong>on</strong>g> Futaba-type<str<strong>on</strong>g>servo</str<strong>on</strong>g>motors (<str<strong>on</strong>g>servo</str<strong>on</strong>g>s used in radio-<str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>led modelairplanes, cars, etc.) to drive the wheels. An <strong>on</strong>boardPalm III h<str<strong>on</strong>g>and</str<strong>on</strong>g>held <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>s the platform [4,5,6].SERVOSSmall budget <strong>platforms</strong> like the HANCOR oftenreplace expensive <str<strong>on</strong>g>servo</str<strong>on</strong>g>s <str<strong>on</strong>g>and</str<strong>on</strong>g> positi<strong>on</strong> encoders withoff-the shelf radio <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>led <str<strong>on</strong>g>servo</str<strong>on</strong>g>motors. RC<str<strong>on</strong>g>servo</str<strong>on</strong>g>s are cheap, easy to <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>, come in a c<strong>on</strong>venientform factor <str<strong>on</strong>g>and</str<strong>on</strong>g> are available in different sizes,speeds <str<strong>on</strong>g>and</str<strong>on</strong>g> power ratings. Servomotors are generallyemployed for positi<strong>on</strong> <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>; they use a potentiometeras feedback to determine their positi<strong>on</strong>. The<str<strong>on</strong>g>servo</str<strong>on</strong>g> compares its current positi<strong>on</strong> to an input PWMsignal, <str<strong>on</strong>g>and</str<strong>on</strong>g> then moves until its positi<strong>on</strong> matches theinput signal. The “width” of the signal pulse may lastanywhere from 0.6 millisec<strong>on</strong>ds (minimum positi<strong>on</strong>),to 2.4 ms (maximum positi<strong>on</strong>). The Pulse is repeatedevery 14 to 20 millisec<strong>on</strong>ds (figure 2) [9]. Regular<str<strong>on</strong>g>servo</str<strong>on</strong>g>motors are used for the positi<strong>on</strong>ing of the range<str<strong>on</strong>g>sensor</str<strong>on</strong>g>s, but <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ling the driving <str<strong>on</strong>g>servo</str<strong>on</strong>g>s requiresome modificati<strong>on</strong>s.Figure 2. Futaba-type <str<strong>on</strong>g>servo</str<strong>on</strong>g> timing diagram.Figure 1. HANCOR platform (h<str<strong>on</strong>g>and</str<strong>on</strong>g>heldc<strong>on</strong>nected but not mounted).The <str<strong>on</strong>g>servo</str<strong>on</strong>g> <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>ler board is based <strong>on</strong> aPIC16C73 microchip; it accepts serial data from ahost computer (replaced by the Palm III h<str<strong>on</strong>g>and</str<strong>on</strong>g>held inthis case) <str<strong>on</strong>g>and</str<strong>on</strong>g> outputs a PWM (Pulse WidthModulated) signal to <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> up to eight RC <str<strong>on</strong>g>servo</str<strong>on</strong>g>motors[10]. Two <str<strong>on</strong>g>servo</str<strong>on</strong>g>s, modified for c<strong>on</strong>tinuousrotati<strong>on</strong>, provide power for the driving wheels.Besides <str<strong>on</strong>g>servo</str<strong>on</strong>g>s, the board can <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> other digitaldevices that require an <strong>on</strong>/off signal to be activated.Up to 5 <str<strong>on</strong>g>sensor</str<strong>on</strong>g>s can be c<strong>on</strong>nected to the A/D inputheader, which reads analog voltages between 0 <str<strong>on</strong>g>and</str<strong>on</strong>g> 5Volts. The <str<strong>on</strong>g>sensor</str<strong>on</strong>g> package c<strong>on</strong>sists of two infraredrange <str<strong>on</strong>g>sensor</str<strong>on</strong>g>s <str<strong>on</strong>g>and</str<strong>on</strong>g> <strong>on</strong>e digital compass. The digitalcompass has a resoluti<strong>on</strong> of +/- 22 o (it detects N, NE,E, SE, etc.), so it cannot be used as a reliable <str<strong>on</strong>g>sensor</str<strong>on</strong>g>input, but can later be used as aid during mapmatching [7]. The IR <str<strong>on</strong>g>sensor</str<strong>on</strong>g>s are mounted <strong>on</strong> two<strong>small</strong> <str<strong>on</strong>g>servo</str<strong>on</strong>g>s so that they can pan to any directi<strong>on</strong> in a135 o forward-looking field of viewFutaba-type Servomotors were not developed forc<strong>on</strong>tinuous rotati<strong>on</strong>. In order to utilize <str<strong>on</strong>g>servo</str<strong>on</strong>g>s insituati<strong>on</strong>s that require c<strong>on</strong>tinuous rotati<strong>on</strong> they haveto be modified. Servos were not designed forvelocity <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> either. The velocity of a <str<strong>on</strong>g>servo</str<strong>on</strong>g>depends <strong>on</strong> how far it is from the desired positi<strong>on</strong>.The <str<strong>on</strong>g>servo</str<strong>on</strong>g> will spin at top speed until it gets close tothe desired value, then it will quickly slow down toavoid over-shooting the target positi<strong>on</strong>. Usually,c<strong>on</strong>tinuous rotati<strong>on</strong> <str<strong>on</strong>g>and</str<strong>on</strong>g> velocity <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g> go h<str<strong>on</strong>g>and</str<strong>on</strong>g> inh<str<strong>on</strong>g>and</str<strong>on</strong>g>. Servos that have been “hacked” for c<strong>on</strong>tinuousrotati<strong>on</strong> have the feedback potentiometer de-coupledfrom the output gear <str<strong>on</strong>g>and</str<strong>on</strong>g> set to a c<strong>on</strong>stant value (forexample 90 o ). The velocity is <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>led by givingthe <str<strong>on</strong>g>servo</str<strong>on</strong>g> a target positi<strong>on</strong> (0 to 180 o ), but since thefeedback has been fixed at 90 o , the <str<strong>on</strong>g>servo</str<strong>on</strong>g> will spinforever towards the target positi<strong>on</strong>. The further thetarget positi<strong>on</strong> from the fixed positi<strong>on</strong> (90 o ), thefaster the <str<strong>on</strong>g>servo</str<strong>on</strong>g> will spin.The P<strong>on</strong>tech SV203 <str<strong>on</strong>g>c<strong>on</strong>trol</str<strong>on</strong>g>s its <str<strong>on</strong>g>servo</str<strong>on</strong>g>s via an 8-bit signal (PWM). An 8-bit signal can take 2 8 values(from 0 to 255). If we define the 0 signal as 0 o <str<strong>on</strong>g>and</str<strong>on</strong>g>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!