INHOUDSOPGAWE:

SnappyXO Precise Mover Robot: 6 stappe
SnappyXO Precise Mover Robot: 6 stappe

Video: SnappyXO Precise Mover Robot: 6 stappe

Video: SnappyXO Precise Mover Robot: 6 stappe
Video: Полный курс Redux Toolkit + RTK Query для начинающих | Редакс за 2 часа! 2024, November
Anonim
SnappyXO Precise Mover -robot
SnappyXO Precise Mover -robot

Laat u Arduino -robot reguit vir 'n bepaalde afstand draai of na 'n bepaalde hoek draai met die PreciseMovement Arduino -biblioteek.

Die robot benodig 'n rolbal of gelykstaande om wrywing tot 'n minimum te beperk terwyl hy draai.

www.pololu.com/product/954

U kan die robot vertel om na 'n bepaalde afstand te gaan of na 'n bepaalde hoek te draai. Die program bepaal sy posisie met behulp van dooie afrekening. Aangesien die posisieskattings slegs op die wielsnelheid staatmaak, kan glip aansienlike foute veroorsaak. Die ontwerper van die robot moet versigtig wees om die risiko van glip te verminder.

Dit is getoets om saam met die SnappyXO -robot te werk.

Stap 1: Tutoriaal -ligging verander

Die tutoriaal is na die onderstaande bladsy verskuif. Hierdie tutoriaal word nie meer onderhou nie.

sites.google.com/stonybrook.edu/premo

Stap 2: Bou die SnappyXO Differential Drive -robot

Die PreciseMovement -biblioteek wat ons gaan gebruik, is slegs versoenbaar met differensiële dryfrobotte. U kan kies om ander 2 -wielaangedrewe robotte te gebruik.

Stap 3: Koppel die elektronika aan

Koppel die elektronika aan
Koppel die elektronika aan

Vir die standaard SnappyXO optiese encoder:

D0 (encoder output) -> Arduino Digital Pin

VCC -> Arduino 5V

GND -> GND

Motor- en Arduino -krag:

Die motorbron moet voldoende wees vir die motors wat u gebruik. Vir die SnappyXO -stel word 4AA -batterye gebruik vir die motorvermoë en 9V -batterye vir die Arduino -krag. Maak seker dat hulle almal 'n gemeenskaplike GND het.

Stap 4: Installeer PreciseMovement Arduino -biblioteek

Aflaai:

github.com/jaean123/PreciseMovement-library/releases

Hoe om Arduino -biblioteek te installeer:

wiki.seeedstudio.com/How_to_install_Arduino_Library/

Stap 5: Kode

Arduino -kode:

create.arduino.cc/editor/whileloop/7a35299d-4e73-409d-9f39-2c517b3000d5/preview

Hierdie parameters vereis aanpassing. Ander parameters wat op die kode aanbeveel word, kan aangepas word vir beter prestasie.

  • Kontroleer en stel die motorpenne onder ARDUINO PINS.
  • Stel LENGTE en RADIUS.

    • LENGTE is die afstand van die linkerwiel na die regterwiel.
    • RADIUS is die radius van die wiel.
  • Stel PULSES_PER_REV in, wat die aantal pulse is wat die enkodeerder uitsette vir een wielomwenteling stel.

    • Let op: dit verskil van die aantal pulse wat die encoder uitvoer vir een motorasomwenteling, tensy die encoders gekoppel is om direk vanaf die wielas af te lees.
    • PULSES_PER_REV = (pulse per omwenteling motoras) x (ratverhouding)
  • Stel STOP_LENGTH in as u sien dat die robot oorskiet na die voorwaartse beweging.

    Die robot sal stop sodra die geskatte posisie STOP_LENGTH van die teiken af is. Die STOP_LENGTE is dus die geskatte afstand wat nodig is om die robot tot stilstand te bring

  • PID parameters

    KP_FW: Dit is die proporsionele komponent van die voorwaartse beweging. Verhoog dit totdat die robot reguit loop. As u dit nie regkry nie, kan die hardeware waarskynlik 'n fout maak. (bv. wielverstelling, ens.)

    KP_TW: Dit is die proporsionele komponent van die draai -beweging PID. Begin eenvoudig vanaf 'n lae waarde en verhoog dit totdat die draaisnelheid, of die hoeksnelheid van die robot terwyl dit draai, vinnig genoeg is, maar dit veroorsaak nie oorskryding nie. Om waarnemings te maak, kan u die robot wissel van 0 tot 90 en terug deur die volgende in die lusfunksie in te voeg

Plaas hierdie in lus om KP_FW af te stem:

verskuif.vooruit (99999);

Plaas dit in 'n lus om van 0 tot 90 af te wissel om KP_TW af te stem:

mover.twist (90); // Draai 90 CW

vertraging (2000);

mover.twist (-90) // Twist 90 CCW

vertraging (2000);

Let daarop dat om die hoeksnelheid by TARGET_TWIST_OMEGA eintlik te draai, die KI_TW ook moet ingestel word, aangesien 'n proporsionele kontroleerder nooit by die presiese teiken sal kom nie. Dit is egter nie nodig om teen die presiese hoeksnelheid te draai nie. Die hoeksnelheid moet net stadig genoeg wees.

Stap 6: Hoe dit werk

As u nuuskierig is oor hoe dit werk, lees verder.

Die voorwaartse beweging word reguit gehou met behulp van die suiwer agtervolgingsalgoritme op 'n reguit pad. Meer oor Pure Pursuit:

Die draai PID -kontroleerder probeer om die draaihoeksnelheid op TARGET_TWIST_OMEGA te hou. Let op dat hierdie hoeksnelheid die hoeksnelheid van die hele robot is, nie van die wiele nie. Slegs een PID -kontroleerder word gebruik en die uitset is die PWM -skryfspoed van beide die linker- en regtermotors. Dooie afrekening word gedoen om die hoek te bereken. Sodra die hoek die foutdrempel bereik het, stop die robot.

Aanbeveel: