{VERSION 5 0 "IBM INTEL NT" "5.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 1 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 1 }{CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 1 } {PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Maple Output" -1 11 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 3 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Maple Plot" -1 13 1 {CSTYLE "" -1 -1 " Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 1 0 0 0 0 1 0 1 0 2 2 0 1 } {PSTYLE "Title" -1 18 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 1 1 1 1 }3 1 0 0 12 12 1 0 1 0 2 2 19 1 }{PSTYLE "Author" 0 19 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 0 0 -1 8 8 0 0 0 0 0 0 -1 0 }} {SECT 0 {PARA 18 "" 0 "" {TEXT -1 19 "Simple Drive System" }}{PARA 19 "" 0 "" {TEXT -1 24 "by Yi Yao (January 2004)" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 122 "This worksheet demonstra tes the principle behind 2 wheel drive controlled by a single joystick with sensitivity correction" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 140 "The following are procedures that calculate the motion of the \+ left (L) and right (R) wheels based on the co-ordinate of the joystick (x, y)." }}{PARA 0 "" 0 "" {TEXT -1 47 "Make sure L and R are 8 bit u nsigned or bigger." }}{PARA 0 "" 0 "" {TEXT -1 74 "Also realise that 0 is full back, 127 is neutral and 254 is full forward. " }{MPLTEXT 1 0 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 147 "L:=proc(x,y)\n \+ if ((y-(x-127)) > 254) then\n 254\n elif ((y-(x-127)) < 0) t hen\n 0\n else\n y-(x-127)\n end if:\nend proc:" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 147 "R:=proc(x,y)\n if ((y+ (x-127)) > 254) then\n 254\n elif ((y+(x-127)) < 0) then\n \+ 0\n else\n y+(x-127)\n end if:\nend proc:" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 159 "The foll owing simply provides additional sensitivity for the driver at lower s peeds. This is done by modelling the response curve to a third degree \+ polynomial." }}{PARA 0 "" 0 "" {TEXT -1 41 "The response curve is show n in the graph." }{MPLTEXT 1 0 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "smooth:=x->((x-127)/25.5)^3+127:" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 26 "plot(smooth(x), x=0..254);" }}{PARA 13 "" 1 "" {GLPLOT2D 495 495 495 {PLOTDATA 2 "6%-%'CURVESG6$7S7$$\"\"!F)$\"3+r ZQD)G[Y$!#<7$$\"3lLLLerZObF,$\"3'HxFNB.F*=!#;7$$\"3zm;/LOPN5F2$\"3Y>C? )eO#GJF27$$\"3QLL34[7x:F2$\"3W!\\K7j14S%F27$$\"3xLLejqYA@F2$\"3KbAHG>s ibF27$$\"3em;a,u@lEF2$\"3DF!QR>()fg'F27$$\"3UL$3`87`v=pQF5! #:7$$\"3yLLe;.d/eF2$\"3U!=$pXTFs5Fjn7$$\"37,+]DQT_jF2$\"3ZC%pp1dd6\"Fj n7$$\"3m++]Ko]-pF2$\"3KTclNJ[_6Fjn7$$\"3/,+]uLiKuF2$\"3'[]6^7i==\"Fjn7 $$\"3WL$32)*>S\"zF2$\"3usee7Fjn7$$\"39+v.cnDe5Fjn$\"3!R@H&p XFk7Fjn7$$\"3?+D6W=U56Fjn$\"3cK-kX#\\vE\"Fjn7$$\"3#omT5k][;\"Fjn$\"3a1 cro))Hp7Fjn7$$\"3wmTXnK$[@\"Fjn$\"3%fb?iu)*)p7Fjn7$$\"3OL$eCGY(o7Fjn$ \"3gc:\"))*****p7Fjn7$$\"3XL32`nuC8Fjn$\"31\"=K)e*)4q7Fjn7$$\"37+DOF` \\t8Fjn$\"31g#)*>co1F\"Fjn7$$\"3ML$3J7XhU\"Fjn$\"35,M>ifHs7Fjn7$$\"3-+ +!R^P0[\"Fjn$\"3Cq1Pz\"GcF\"Fjn7$$\"3****\\nc)\\P`\"Fjn$\"3q=[q?^1\"G \"Fjn7$$\"3=+vVMbB&e\"Fjn$\"3#4?raI#*))G\"Fjn7$$\"35+]_,;SU;Fjn$\"3cRO BYo9,8Fjn7$$\"3emmObyw$p\"Fjn$\"3;ZN\"4![*eJ\"Fjn7$$\"3G++D&H7'[hL\"Fjn7$$\"3OL3F4&4$)z\"Fjn$\"3qGB/t#H*e8Fjn7$$\"3G++&4pTE &=Fjn$\"3))[![>`%G*Q\"Fjn7$$\"3YmTqRSw.>Fjn$\"3'fyBu.>NU\"Fjn7$$\"35+v QC;?d>Fjn$\"3kQHe]&=dY\"Fjn7$$\"3bmm\"4jY%4?Fjn$\"3'*Q3!)*>PQ^\"Fjn7$$ \"3/+v$4JUT1#Fjn$\"3a7v\"p&p/s:Fjn7$$\"3eLL`^2#o6#Fjn$\"3_Z(=[,Iij\"Fj n7$$\"3YL$eb1#pq@Fjn$\"3]E\\K5\\m5Hq`#=s)>Fjn7$$\"3MLLt#4*zzBFjn$\"3]KbRK@-8#z>AFjn7$$\"3?+DwQ6\"[[#Fjn$\"3/^BFjn7$$\"$a#F)$\"3YZx< 7 " 0 "" {MPLTEXT 1 0 53 " Ls:=(x,y)->smooth(L(x,y)):\nRs:=(x,y)->smooth(R(x,y)):" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 80 "Feel free to test th e final output by changing the values of the joystick (x, y)" } {MPLTEXT 1 0 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 73 "joy_x:=1 27:\njoy_y:=127:\nevalf(Rs(joy_x, joy_y));\nevalf(Ls(joy_x, joy_y));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"$F\"\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"$F\"\"\"!" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "19 0 0" 22 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 } {PAGENUMBERS 0 1 2 33 1 1 }