Sisukord:
- 1. samm: õpetuse asukohta muudeti
- 2. samm: ehitage SnappyXO diferentsiaalse ajami robot
- Samm: ühendage elektroonika
- Samm: installige PreciseMovement Arduino raamatukogu
- Samm: kood
- 6. toiming: kuidas see toimib
Video: SnappyXO täpne liikurrobot: 6 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Laske oma Arduino robotil minna kindlale kaugusele otse või keerata teatud nurga alla, kasutades raamatukogu PreciseMovement Arduino.
Robot vajab keerdumise ajal hõõrdumise minimeerimiseks veeretavat palliga ratast või samaväärset.
www.pololu.com/product/954
Võite robotile öelda, et ta läheks etteantud kaugusele edasi või pööraks kindla nurga alla. Programm määrab oma positsiooni surnud arvestuse abil. Kuna asukoha hinnangud sõltuvad ainult ratta kiirusest, põhjustab libisemine märkimisväärset viga. Roboti disainer peaks olema ettevaatlik, et minimeerida libisemisohtu.
Seda on testitud töötama robotiga SnappyXO.
1. samm: õpetuse asukohta muudeti
Õpetus on viidud allolevale lehele. Seda õpetust ei säilitata enam.
sites.google.com/stonybrook.edu/premo
2. samm: ehitage SnappyXO diferentsiaalse ajami robot
Meie kasutatav PreciseMovement raamatukogu ühildub ainult diferentsiaalse ajamiga robotitega. Saate valida teiste kaherattaveoliste robotite kasutamise.
Samm: ühendage elektroonika
Tavalise SnappyXO optilise kodeerija jaoks:
D0 (kodeerija väljund) -> Arduino digitaalne pin
VCC -> Arduino 5V
GND -> GND
Mootor ja Arduino võimsus:
Mootori toiteallikas peaks olema teie kasutatavate mootorite jaoks piisav. SnappyXO komplekti jaoks kasutatakse mootori võimsuseks 4AA ja Arduino toiteks 9V patareisid. Veenduge, et neil kõigil oleks ühine GND.
Samm: installige PreciseMovement Arduino raamatukogu
Lae alla:
github.com/jaean123/PreciseMovement-library/releases
Arduino raamatukogu installimine:
wiki.seeedstudio.com/How_to_install_Arduino_Library/
Samm: kood
Arduino kood:
create.arduino.cc/editor/hileloop/7a35299d-4e73-409d-9f39-2c517b3000d5/preview
Need parameetrid vajavad kohandamist. Paremaid toimivusi saab reguleerida ka muudel koodil soovitatud parameetritel.
- Kontrollige ja seadke mootori tihvtid ARDUINO PINS alla.
-
Määrake PIKKUS ja RAADIUS.
- PIKKUS on kaugus vasakust ja paremast ratast.
- RAADIUS on ratta raadius.
-
Määrake PULSES_PER_REV, mis on anduri väljundite impulsside arv ühe ratta pöörde jaoks.
- Pange tähele, et see erineb anduri väljundite impulsside arvust ühe mootori võlli pöörde jaoks, välja arvatud juhul, kui andurid on ühendatud otse rattavõllilt lugemiseks.
- PULSES_PER_REV = (impulsid mootori võlli ühe pöörde kohta) x (ülekandearv)
-
Seadke STOP_LENGTH, kui näete, et robot liigub pärast edasiliikumist üle.
Robot peatub, kui hinnanguline asukoht on sihtkohast STOP_LENGTH kaugusel. Seega on STOP_LENGTH ligikaudne vahemaa, mis on vajalik robotil peatumiseks
-
PID parameetrid
KP_FW: See on edasiliikumise proportsionaalne komponent. Suurendage seda, kuni robot läheb otse. Kui te ei saa seda häälestades otse minna, on tõenäoliselt süüdi riistvara. (nt rataste vale joondamine jne)
KP_TW: See on pöörleva liikumise PID proportsionaalne komponent. Alustage lihtsalt madalast väärtusest ja suurendage seda seni, kuni keerdumiskiirus või roboti nurkkiirus keerdumise ajal on piisavalt kiire, kuid ei põhjusta ületamist. Vaatluste tegemiseks võite lasta robotil vahelduda vahemikus 0 kuni 90 ja tagasi, sisestades silmusefunktsiooni järgmise
Asetage see silmusesse, et häälestada KP_FW:
mover.forward (99999);
Asetage see silmusesse, et vahelduda vahemikus 0 kuni 90, et häälestada KP_TW:
mover.twist (90); // Keera 90 CW
viivitus (2000);
mover.twist (-90) // Twist 90 CCW
viivitus (2000);
Pange tähele, et nurkkiiruse TARGET_TWIST_OMEGA tegelikuks pööramiseks tuleb ka KI_TW häälestada, kuna proportsionaalne kontroller ei lepi kunagi täpse sihtmärgiga. Selle täpselt nurkkiiruse juures pole aga vaja keerduda. Nurkkiirus peab lihtsalt olema piisavalt aeglane.
6. toiming: kuidas see toimib
Kui olete huvitatud selle toimimisest, lugege edasi.
Edasiliikumine hoitakse sirgelt, kasutades puhta jälitamise algoritmi. Pure Pursuit kohta rohkem:
Pöörde PID -regulaator püüab hoida keerdumise nurkkiirust TARGET_TWIST_OMEGA. Pange tähele, et see nurkkiirus on kogu roboti, mitte rataste nurkkiirus. Kasutatakse ainult ühte PID -regulaatorit ja väljundiks on nii vasaku kui ka parema mootori PWM -i kirjutamiskiirus. Nurga arvutamiseks tehakse surnud arvestus. Kui nurk jõuab veakünniseni, peatub robot.
Soovitan:
Waveshare'i e-tindi ekraan Täpne voltmeeter (0-90v DC) Arduino Nanoga: 3 sammu
Waveshare'i e-tindi ekraan Täpne voltmeeter (0-90v DC) Arduino Nanoga: selles juhendis kasutan 2,9-tollist Waveshare'i e-paberi ekraani koos Arduino Nano, pingejaguri ja ADS1115-ga, et kuvada täpseid pingeid kuni 90 volti alalisvoolu E-paberi ekraanil. See juhendab ühendab need kaks eelmist projekti:- Ardui
Arduino täpne ja täpne voltmeeter (0-90V DC): 3 sammu
Arduino täpne ja täpne voltmõõtur (0–90 V alalisvool): selles juhendis olen ehitanud voltmeetri, mis mõõdab Arduino Nano abil suhteliselt täpselt ja täpselt kõrgepingeid (0–90 v). Minu tehtud katsemõõtmised olid piisavalt täpsed, enamasti 0,3 V piires tegelikust pingest, mida mõõdeti
3D trükitud lõppmängu kaareaktor (täpne ja kantav film): 7 sammu (koos piltidega)
3D trükitud lõppmängu kaareaktor (täpne ja kantav film): täielik Youtube'i õpetus: ma ei leidnud Mark 50 kaarereaktori/nanoosakeste korpuse jaoks eriti filmitäpseid 3D -faile, nii et me koos sõbraga valmistasime magusaid. Asja täpse ja vinge väljanägemiseks kulus palju kohandamist
GPSDO YT, distsiplineeritud ostsillaator 10Mhz võrdlussagedus. Odav. Täpne: 3 sammu
GPSDO YT, distsiplineeritud ostsillaator 10Mhz võrdlussagedus. Odav. Täpne: ********************************************** ********************************* STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP uus 2x16 lcd ekraaniversioon on saadaval siin: https: //www.instructables.com/id
Täpne YouTube'i tellijate loendur: 4 sammu
Täpne YouTube'i tellijate loendur: alustasin selle projekti ettevalmistamist umbes kuu aega tagasi, kuid siis viskasin YouTube rööbastelt välja, kui nad teatasid, et ei anna enam tegelikku tellijate arvu, vaid lähimat ümardatud numbrit. Praegu pole see tegelikult probleem