Vous êtes sur la page 1sur 6

Lquiperenddisponiblesonprototypede

rouesswervespourtouslesquipesFRC

.
(Janvier2016)
FlixThibaultGigure(secondaire5)
FlixGiffard(secondaire3)
volution2626
SminairedeSherbrooke

Questcequuneroueomnidirectionnelle(swerve)?

Uneroueomnidirectionnelle(swerve)estunerouespciale.Nonseulement
ellepeutavanceretreculer,maisellepeutgalementpivotersurellemme.Cela
permetunebasederobotdepouvoirsedplacerdavantarriremaisaussisurles
cts.Comparesauxrouesmecanums,quisontreconnuestraversFIRST
,ces

rouesontlavantagedegardertouteleuradhrence,cequinousempchedenous
fairebousculerparlesautresrobots.

Uneroueomnidirectionnelletellequ'achetechezAndyMark

(figure0.1)
,

comportedeuxmoteurs.Lundecesmoteurspermetdefaireavanceretreculerla
roueetlautrefaitpivoterlarouesurellemmeprcismentgrceunencodeur
linaire.

PendantlasaisonmorteentreRecycleRush
etStronghold
,lquipe
sm
sm
volution2626faitl'acquisitiondunensemblederouesomnidirectionnelles.Aprs
plusieursheuresderecherche,lquipenatrouvaucuneprogrammationLabView
venantdedautresquipes.Doncnousavonsessaydetrouverunefaondefaire
marchercesrouesparnousmmes.

Nousavonstravaillplusde50heuresenquipe.Nousavonsfaitune
programmationdecequenousavonsjugleplusutile,fairefonctionnerleroboten
crabeprcismentavecseulementunjoystickcommecela
:

Laprogrammation

Voicicommentfaire,sivousvoulezlutiliser.Pourcommencer,veuillez
initialiserleshuitmoteurs,sparmentidalement.Initialisezaussilamanetteetles
encodeurs.Ensuite,allerdanslemodeteleopetrappelerdabordtoutvos
encodeurs,manetteetmoteur.initipour4des8moteursuneconduiteTank.


Pourlamanette,ilfautdabordfairelaformuledepythagoredes2axespour
trouverlaforcequonveutdonnerauxmoteursquiavance(tellemontrerparlafigure
1.2)Pourcefaire,calculezlecarrdesdeuxaxesdelamanette(
axes0et1
).Puis
additionnezlersultatdesdeuxquationetfaiteslaracinedelasomme.Branchez
lersultatdanslesmoteursdanslesdeuxaxesdelaconduiteTank.(Librairie
fournieparFIRST)
2
2

((axe0)
+(axe1)
)

Pourtrouverlangle,onutiliselecosinusdansuntrianglerectangle.Dabord,
ilfautreprendre
laxe0
etlediviserparlersultatdelargledepythagoreobtenu
plustt.EnsuiteprendrelersultatetfairesonarcCosinus.Maintenant,nousavons
langle,maisenradiansetnonendegrsdonc,ilfautlemultiplierpar180etle
diviserpar
.

1
(Cos
(axe0/puissance)*180)/

Mais,maintenant,ilfautfairelesngatifs,carcetterelationnousdonne
seulementunrsultatpositif.Ilfautsimplementlemultiplierpar1si
laxe1
est
ngatifet1sicestpositif.Finalement,pourremettrelangleentre0et360aulieude
180et180ilfautadditionnerlersultatpar180.

Ensuitepourtrouverlangledelencodeur,ilsuffitdediviserparlenombrede
rayondelencodeuretlediviserparleratiodesroues.Parexemple,danslecas
delensembledeAndyMark
,lencodeura497rayonpartouretleratiodes

engrenagesestde1:1.2doncondiviselavaleurdelencodeurpar497etensuite
par1.2.Finalement,pourempcherquelerobotaiedesvaleursplusgrandesque
360,doncdesvaleursimpossiblespourlui,ilfautprendrelerestedeladivisionde
celuicipar360.

Finalement,ilfautrelierlesdeuxangles.Pourtreleplusefficace,ilfaut
trouverlecheminlemoinslongentrelavaleurdujoysticketcelledelencodeur.
PourcefaireilfautpenserquilyadeuxfaonsdallerdunpointAunpointB
(tel
quedmontrfigure1.3)
.Dabordilyalamanireenpassantpar0etcellene
passantpaspar0.Cellequinepassepaspar0estsimple.Ilfautseulement
soustrairelangledujoystickparlangledelencodeur.Maisenpassantpar0cest
pluscomplexe.Voicilaformulesilangledujoystickserait
j
etlanglede
lencodeur
e
:
4

(je)+sign((je))*360

Autrementdit,ilfautadditionnerladiffrenceentrelejoysticketlencodeurparle
signdelinversedeladiffrenceentrelejoysticketlencodeur,multiplipar360.
Signestunefonctionquitransformetoutnombrepositifen1ettoutnombrengatif
en1.
Ensuitetrouverlepluspetitchemindesdeux(nepasoublierdemettrelesrsultats
envaleursabsolues).Finalement,diviserlepluspetitparunnombre(nous
recommandons:100)etlenvoyeraumoteur.

Rpterlaprogrammationpourlestroisautresroues.(assurezvousde
mettrelesbonsnomsdencodeursetdemoteurs)

vido/animationjoystick

PS.Sivousvoulezquelesrouesrestentenplacelorsquelamanetteestaurepos,
prenezlamesuredelaloidepythagorefaitepourtrouverlapuissancedesmoteurset

mettrequesielleestentre0,25et0,25ladonneenvoyeauxmoteursquipivotentlaroue
gale0.

Vous aimerez peut-être aussi