Sisällysluettelo:
- Vaihe 1: Opetuspaikan sijainti muutettu
- Vaihe 2: Rakenna SnappyXO -differentiaalikäyttörobotti
- Vaihe 3: Liitä elektroniikka
- Vaihe 4: Asenna PreciseMovement Arduino -kirjasto
- Vaihe 5: Koodi
- Vaihe 6: Näin se toimii
Video: SnappyXO Precise Mover Robot: 6 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Aseta Arduino -robotti kulkemaan suoraan tietyn matkan tai kiertymään tiettyyn kulmaan PreciseMovement Arduino -kirjaston avulla.
Robotti tarvitsee vierintäpyörän tai vastaavan kitkan minimoimiseksi kiertäessään.
www.pololu.com/product/954
Voit käskeä robotin siirtymään eteenpäin tiettyyn etäisyyteen tai kiertymään tiettyyn kulmaan. Ohjelma määrittää sijaintinsa kuolleen laskennan avulla. Koska sijainti -arviot perustuvat vain pyörän nopeuteen, luistaminen aiheuttaa huomattavan virheen. Robotin suunnittelijan tulee olla varovainen minimoidakseen liukastumisvaaran.
Tämä on testattu toimimaan SnappyXO -robotin kanssa.
Vaihe 1: Opetuspaikan sijainti muutettu
Opetusohjelma on siirretty alla olevalle sivulle. Tätä opetusohjelmaa ei enää ylläpidetä.
sites.google.com/stonybrook.edu/premo
Vaihe 2: Rakenna SnappyXO -differentiaalikäyttörobotti
Käyttämämme PreciseMovement -kirjasto on yhteensopiva vain differentiaalikäyttöisten robottien kanssa. Voit käyttää muita 2 -nelivetoisia robotteja.
Vaihe 3: Liitä elektroniikka
Tavallinen SnappyXO -optinen kooderi:
D0 (anturilähtö) -> Arduino Digital Pin
VCC -> Arduino 5V
GND -> GND
Moottori ja Arduino -teho:
Moottorin virtalähteen tulee olla riittävä käyttämillesi moottoreille. SnappyXO -sarjassa käytetään 4AA -paristoja moottorin teholle ja 9V -paristoa Arduino -teholle. Varmista, että niillä kaikilla on yhteinen GND.
Vaihe 4: Asenna PreciseMovement Arduino -kirjasto
Ladata:
github.com/jaean123/PreciseMovement-library/releases
Arduino -kirjaston asentaminen:
wiki.seeedstudio.com/How_to_install_Arduino_Library/
Vaihe 5: Koodi
Arduino -koodi:
create.arduino.cc/editor/hileloop/7a35299d-4e73-409d-9f39-2c517b3000d5/preview
Nämä parametrit vaativat säätöä. Muita koodissa suositeltuja parametreja voidaan säätää suorituskyvyn parantamiseksi.
- Tarkista ja aseta moottorin tapit kohtaan ARDUINO PINS.
-
Aseta PITUUS ja RADIUS.
- PITUUS on etäisyys vasemmasta pyörästä oikeaan pyörään.
- RADIUS on pyörän säde.
-
Aseta PULSES_PER_REV, joka on pulssien lukumäärä, jonka anturi antaa yhden pyörän kierrosta.
- Huomaa, että tämä eroaa pulssien lukumäärästä, jotka anturi antaa yhden moottorin akselin kierroksen, ellei antureita ole kytketty lukemaan suoraan pyörän akselilta.
- PULSES_PER_REV = (pulssia moottorin akselin yhtä kierrosta kohti) x (välityssuhde)
-
Aseta STOP_LENGTH, jos huomaat, että robotti ylittää laukauksen eteenpäin siirron jälkeen.
Robotti pysähtyy, kun arvioitu sijainti on STOP_LENGTH etäisyydellä kohteesta. Siten STOP_LENGTH on likimääräinen etäisyys, joka tarvitaan robotin pysähtymiseen
-
PID -parametrit
KP_FW: Tämä on eteenpäin suuntautuvan liikkeen suhteellinen komponentti. Lisää tätä kunnes robotti menee suoraan. Jos et saa sitä toimimaan suoraan virittämällä tämä, laitteisto on todennäköisesti viallinen. (esim. pyörien suuntaus jne.)
KP_TW: Tämä on kiertoliikkeen PID: n suhteellinen komponentti. Aloita yksinkertaisesti pienestä arvosta ja lisää sitä, kunnes kiertonopeus tai robotin kulmanopeus kiertämisen aikana on riittävän nopea, mutta ei aiheuta ylitystä. Voit tehdä havaintoja tekemällä robotin vuorotellen välillä 0 - 90 ja taaksepäin lisäämällä seuraavat silmukkafunktioon
Aseta tämä silmukkaan virittääksesi KP_FW:
mover.forward (99999);
Aseta tämä silmukkaan vaihtaaksesi 0: sta 90: een KP_TW: n virittämiseksi:
mover.twist (90); // Kierrä 90 CW
viive (2000);
mover.twist (-90) // Twist 90 CCW
viive (2000);
Huomaa, että jotta TARGET_TWIST_OMEGA: n kulmanopeus todella kääntyy, KI_TW on myös viritettävä, koska suhteellinen säädin ei koskaan laskeudu tarkkaan kohteeseen. Ei kuitenkaan tarvitse kiertyä täsmälleen kulmanopeudella. Kulmanopeuden on vain oltava riittävän hidas.
Vaihe 6: Näin se toimii
Jos olet kiinnostunut siitä, miten se toimii, lue.
Eteenpäin suuntautuva liike pidetään suorana käyttäen puhdasta takaa -ajamisalgoritmia suoraviivaisella reitillä. Lisää Pure Pursuit:
Kierre PID -säädin yrittää pitää kiertymiskulmanopeuden TARGET_TWIST_OMEGA. Huomaa, että tämä kulmanopeus on koko robotin, ei pyörien, kulmanopeus. Käytetään vain yhtä PID -säädintä ja lähtö on sekä vasemman että oikean moottorin PWM -kirjoitusnopeus. Kuolleen laskenta suoritetaan kulman laskemiseksi. Kun kulma saavuttaa virherajan, robotti pysähtyy.
Suositeltava:
Romeo: Una Placa De Control Arduino Para Robótica Con Driver Incluidos - Robot Seguidor De Luz: 26 vaihetta (kuvilla)
Romeo: Una Placa De Control Arduino Para Robótica Con Driver Incluidos - Robot Seguidor De Luz: Que tal amigos, siguiendo con la revisiones de placas y sensores, con el aporte de la empresa DFRobot, hoy veremos una placa con prestaciones muy interesante, y es ihanteellinen para desarrollo de prototipos robóticos y el control de motores y servos, d
"High-Fivey" Cardboard Micro: bit Robot: 18 vaihetta (kuvilla)
"High-Fivey" Cardboard Micro: bit Robotti: Stuck kotona, mutta silti tarvetta high-five joku? Teimme ystävällisen pienen robotin, jossa oli pahvia ja mikro: bittiä yhdessä Crazy Circuits Bit Boardin kanssa, ja hän haluaa sinulta vain viiden korkean pitääkseen rakkautensa sinua elossa
DIY Spot Like Quadruped Robot (rakennusloki V2): 9 vaihetta
DIY Spot Like Quadruped Robot (rakennusloki V2): Tämä on rakennusloki, jossa on yksityiskohtaiset ohjeet rakentamisesta https://www.instructables.com/DIY-Spot-Like-Quadru…robot dog v2.Seuraa Robolabin youtubea sivustolta saadaksesi lisätietoja. https://www.youtube.com/robolab19Tämä on ensimmäinen robotti ja minulla on
Otto Robot: 11 vaihetta
Otto -robotti: Nano ATmega328Nano Shield I/OMini USB -kaapeliHC -SR044 mini -servo SG90Pienet ruuvit
Elephant Robot: 6 vaihetta (kuvilla)
Elephant Robot: Ensimmäisenä opiskeluvuonnaan yksi luennoitsijoistani lähetti robotin viihdyttämään väkijoukkoja Brightonin Maker Fairessa, ja minä olin yksi ihmisistä, joka hallitsi sitä. Pojat nousivat ja panivat esineitä kynsien käteen tai suihkuttivat vettä aseesta