sheen.bot-logo

Insigte

Waarom Mecanum-wiele tydens FTC-outonoom wegdryf (en hoe om dit sonder dooiewiele reg te stel)

24 Sep. 2026·Sheen Robotics
Waarom Mecanum-wiele tydens FTC-outonoom wegdryf (en hoe om dit sonder dooiewiele reg te stel)

Mecanum-drywing word veroorsaak deur onvolmaakte vektorkragkansellasie op meegegewende skuimmatjies. Jy kan die meeste outonome foute uitskakel sonder odometriekapsules deur koers te sluit met die Control Hub se interne IMU en versnelling te profileer.

Mecanum-aandryfstelsels dryf weg tydens outonome FTC-roetines omdat hul beweging staatmaak op die presiese wiskundige kansellasie van 45-grade diagonale kragvektore. Op sagte, ongelyke EVA-skuimmatjies verhoed ongelyke normaalkragte en rollerglip dat daardie vektore mekaar volmaak uitkanselleer, wat ongewenste rotasiegaring (yaw) veroorsaak wat oor afstand vererger. Jy het nie duur onkraggedrewe odometriekapsules (dooiewiele of dead wheels) nodig om dit reg te stel nie: jy kan die oorgrote meerderheid outonome padbepalingsfoute uitskakel deur 'n terugvoerlus op die koers te sluit met die REV Control Hub se ingeboude IMU en versnelling te beperk om binne die statiese wrywingsperke van jou rollers te bly.

Die meganika van Mecanum-glip

'n Standaard traksiewiel oefen krag ewewydig aan die wiel se rotasie uit. 'n Mecanum-wiel dra krag oor deur passiewe rollers wat teen 'n hoek van 45 grade relatief tot die wielplaat geplaas is. Wanneer 'n motor 'n Mecanum-wiel vorentoe draai, oefen die raakoppervlak 'n diagonale vektor uit: een komponent wat die robot vorentoe stoot, en 'n gelyke dwarskomponent wat sywaarts stoot.

Om reguit vorentoe te ry, oefen die linker- en regterwiele gelyke en teenoorgestelde dwarskragte uit wat mekaar uitkanselleer, sodat slegs voorwaartse stukrag oorbly. Om suiwer sywaarts te beweeg (strafe), draai teenoorgestelde diagonale pare teen mekaar, wat voorwaartse stukrag kanselleer en dwarsstukrag kombineer.

Hierdie vektorkansellasie veronderstel drie toestande wat nooit werklik op 'n kompetisiebaan geld nie:

  • Simmetriese normaalkragte: As jou robot se massamiddelpunt selfs effens na die battery of hystoestel verskuif is, ondervind die swaarder hoeke hoër normaalkrag en beter traksie. Die ligter hoeke gly, wat veroorsaak dat dwarskragte nie uitgekanselleer word nie.
  • Egalige oppervlakwrywing: Sagte ineengrendelende EVA-skuimmatjies vervorm onder gewig. Rollers sak teen wisselende dieptes in die skuim in, wat die effektiewe raakhoek en rolweerstand van millisekonde tot millisekonde verander.
  • Identiese kinetiese wrywing: Die passiewe plastiek- en rubberrollers op standaard kommersiële Mecanum-wiele het klein vervaardigingsafwykings, aksiale speling en interne wrywingsverskille.

Wanneer kragvektore nie volkome uitkanselleer nie, is die onmiddellike gevolg 'n onbeveelde garingwringkrag (yaw torque). Sodra jou robot met slegs twee of drie grade van sy beoogde koers af draai, stuur elke daaropvolgende motorenkodeerdertik die robot op 'n geroteerde trajek, wat posisionele foute mettertyd vermenigvuldig.

Die oplossing: Aktiewe IMU-koerskorreksie

Terwyl motorenkodeerders meet hoe ver jou wielasse gedraai het, kan hulle nie rollerglip oor die vloer meet nie. Jy het egter nie volledige Cartesiese posisienasporing nodig om die grootste deel van jou outonome onakkuraatheid op te los nie. As jy verhoed dat die robot van sy beoogde koers af draai, bly translasionele enkodeerderfoute lineêr en voorspelbaar eerder as rotasioneel en rampspoedig.

Elke REV Control Hub bevat 'n interne traagheidsmeeteenheid (Inertial Measurement Unit of IMU) wat absolute hoekoriëntasie (garing/yaw) met hoë presisie en minimale drywing oor 'n outonome periode van 30 sekondes kan meet.

Implementering van die koerssluitingslus

In plaas daarvan om rou translasiedrywing direk na jou dryfmotors te stuur, voer jou koersfout deur 'n proporsioneel-afgeleide (PD)-beheerlus wat regstellende rotasiedrywing intyds in die Mecanum-kinematiese vergelykings inspuit.

Die standaard Mecanum-kinematiese vergelykings vir motordrywing is:

  • Front Left = Drive + Strafe + Turn
  • Front Right = Drive - Strafe - Turn
  • Back Left = Drive - Strafe + Turn
  • Back Right = Drive + Strafe - Turn

In 'n ooplusroetine word Turn op nul gestel tydens reguit ritte of suiwer sywaartse beweging. In 'n aktiewe koersgesluite roetine word Turn dinamies bereken uit IMU-garingterugvoer tydens elke lusiterasie:

  1. Lees huidige koers: Verkry die huidige garinghoek vanaf die IMU.
  2. Bereken koersfout: Bereken die kortste hoekverskil tussen jou teikenkoers en jou huidige koers, en maak seker dat jy die hoek tussen -180 en +180 grade (of -π en +π radiale) normaliseer om omslagfoute te voorkom.
  3. Bereken korreksie: Vermenigvuldig die fout met 'n ingestelde proporsionele versterking (kP), en tel die tempo van foutverandering vermenigvuldig met 'n afgeleide versterking (kD) by om ossillasies te demp.
  4. Pas toe en normaliseer: Vervang hierdie korreksiewaarde in die Turn-veranderlike. As enige motorberekening 'n drywing van 1.0 (of -1.0) oorskry, deel al vier motordrywings deur die maksimum absolute waarde om die beoogde vektorverhoudings sonder afkapping (clipping) te behou.

Die normalisering van motordrywing is noodsaaklik. As jou robot teen volkrag vorentoe ry en die beheerstelsel 'n draaikorreksie vereis, sal ongenormaliseerde afkapping die regstellende differensiaal uitkanselleer en die robot toelaat om weg te dryf ongeag jou sagtewareversterkings.

Kinetiese glip tem met stygtempo-beperking (slew rate limiting)

Aktiewe koerskorreksie hanteer rotasiedrywing, maar vinnige versnelling veroorsaak longitudinale en laterale glip waar die wiele vinniger spin as wat die onderstel versnel. Wanneer rollers hul statiese greep op die skuim verloor, registreer motorenkodeerders afstand wat nooit afgelê is nie.

Om kinetiese glip sonder dooiewiele reg te stel:

  • Beperk versnelling (stygtempo): Moet nooit motorteikendrywing van 0.0 na 1.0 in 'n enkele lussiklus laat spring nie. Bou drywing geleidelik op met behulp van 'n eenvoudige tempobeperker (bv. deur versnelling te beperk tot 'n toename van hoogstens 0.05 drywing per 20-millisekonde-siklus).
  • Vertraag met 'n profiel: Gebruik trapesium- of S-kurwe-snelheidsprofilering om die robot te vertraag voordat dit die teikenenkodeerdertelling bereik. Skielike rem veroorsaak dat die robot oor die matjies gly, wat jou teikentoetspunt ongeldig maak.
  • Meganiese vloerkontak: Maak seker dat jou aandryfstelsel-onderstel effense wringmeegeeflikheid of 'n wiegvering (rocker suspension) op een as het. As 'n rigiede vierwielonderstel 'n ongelyke naat tussen skuimmatjies tref, lig een wiel effens van die vloer af, wat onmiddellik traksieverlies en glip veroorsaak.

Wanneer is dooiewiele werklik nodig?

Spanne gryp dikwels dadelik na veerbelaste driewiel-odometriekapsules omdat hulle glo Mecanum-wiele nie 'n betroubare 30-sekonde outonome roete kan ry nie. In werklikheid is 'n goed ingestelde koerssluitingslus gekombineer met enkodeerdergebaseerde snelheidsopbou voldoende om hoëwaarde- outonome take te voltooi, betroubaar met baanmure te belyn en konsekwent te parkeer.

Dooiewiel-odometrie word slegs werklik noodsaaklik wanneer jou outonome strategie komplekse, hoëspoed- veelpuntsplintrojekte (soos volledige Road Runner- of Pedro Pathing-trajekte) vereis waar die robot sy presiese (X, Y)-koördinaat moet ken ná botsings met spelelemente of aggressiewe sywaartse beweging oor die hele baanwydte.

As jy besig is om FTC-aandryfstelsels te bou en te verfyn, of saam met jou span outonome bewegingsprofilering wil bemeester, verken ons kompetisie-ingenieursgidse by Sheen Robotics FTC Resources.

#ftc#robotika#mecanum#programmering#beheerstelsels

Meer Insigte