Tartalomjegyzék:
- 1. lépés: Az oktatóanyag helye megváltozott
- 2. lépés: Készítse el a SnappyXO differenciálhajtó robotot
- 3. lépés: Csatlakoztassa az elektronikát
- 4. lépés: Telepítse a PreciseMovement Arduino könyvtárat
- 5. lépés: Kód
- 6. lépés: Hogyan működik?
Videó: SnappyXO precíz mozgató robot: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
A PreciseMovement Arduino könyvtár segítségével állítsa az Arduino robotot egyenesen meghatározott távolságra, vagy csavarja be egy meghatározott szögbe.
A robotnak gördülő golyós görgőre vagy azzal egyenértékűre van szüksége, hogy minimalizálja a súrlódást csavarás közben.
www.pololu.com/product/954
Megmondhatja a robotnak, hogy menjen előre egy meghatározott távolságra, vagy csavarja egy meghatározott szögbe. A program holtszámlálással határozza meg pozícióját. Mivel a helyzetbecslések csak a kerék sebességére támaszkodnak, a csúszás jelentős hibát okoz. A robot tervezőjének óvatosnak kell lennie, hogy minimálisra csökkentse a csúszás kockázatát.
Ezt tesztelték, hogy működjön -e a SnappyXO robottal.
1. lépés: Az oktatóanyag helye megváltozott
Az oktatóanyag átkerült az alábbi oldalra. Ez az oktatóanyag már nincs fenntartva.
sites.google.com/stonybrook.edu/premo
2. lépés: Készítse el a SnappyXO differenciálhajtó robotot
Az általunk használt PreciseMovement könyvtár csak differenciálhajtó robotokkal kompatibilis. Választhat más kétkerék -meghajtású robotok használatát is.
3. lépés: Csatlakoztassa az elektronikát
A szabványos SnappyXO optikai kódolóhoz:
D0 (kódoló kimenet) -> Arduino Digital Pin
VCC -> Arduino 5V
GND -> GND
Motor és Arduino teljesítmény:
A motor áramforrásának megfelelőnek kell lennie az Ön által használt motorokhoz. A SnappyXO készlethez 4AA elemeket használnak a motorteljesítményhez, és 9V elemeket az Arduino áramellátáshoz. Győződjön meg arról, hogy mindegyikük közös GND -vel rendelkezik.
4. lépés: Telepítse a PreciseMovement Arduino könyvtárat
Letöltés:
github.com/jaean123/PreciseMovement-library/releases
Az Arduino Library telepítése:
wiki.seeedstudio.com/How_to_install_Arduino_Library/
5. lépés: Kód
Arduino kód:
create.arduino.cc/editor/hileloop/7a35299d-4e73-409d-9f39-2c517b3000d5/preview
Ezek a paraméterek módosítást igényelnek. A kódon ajánlott egyéb paraméterek beállíthatók a jobb teljesítmény érdekében.
- Ellenőrizze és állítsa be a motor csapjait az ARDUINO PINS alatt.
-
Állítsa be a HOSSZÚSÁGOT és a sugárzást.
- A HOSSZ a bal és a jobb kerék közötti távolság.
- A RADIUS a kerék sugara.
-
Állítsa be a PULSES_PER_REV értéket, amely az impulzusok száma, amelyet a jeladó egy kerékfordulathoz ad ki.
- Ne feledje, hogy ez eltér az impulzusok számától, amelyeket a jeladó egy motor tengelyfordulata végez, kivéve, ha a jeladók közvetlenül a keréktengelyről olvashatók.
- PULSES_PER_REV = (impulzusok a motor tengelyének egy fordulatánként) x (áttétel)
-
Állítsa be a STOP_LENGTH beállítást, ha azt látja, hogy a robot túllendül az előrehaladás után.
A robot megáll, amint a becsült pozíció STOP_LENGTH távolságra van a céltól. Így a STOP_LENGTH az a hozzávetőleges távolság, amely szükséges ahhoz, hogy a robot megálljon
-
PID paraméterek
KP_FW: Ez az előremenő mozgás arányos összetevője. Ezt addig növelje, amíg a robot egyenesen el nem indul. Ha ezt a hangolást nem tudja elérni, akkor valószínűleg a hardver a hibás. (pl. a kerék hibás beállítása, stb.)
KP_TW: Ez a PID csavaró mozgás arányos összetevője. Egyszerűen kezdje az alacsony értékről, és növelje ezt addig, amíg a csavarási sebesség, vagy a robot szögsebessége csavarás közben elég gyors, de nem okoz túllépést. A megfigyelések elvégzéséhez a robotot 0 és 90 között váltogathatja, majd vissza, ha beilleszti a következőket a hurok funkcióba
Helyezze ezt hurokba a KP_FW hangolásához:
mozgató.előre (99999);
Helyezze ezt hurokba, hogy 0 és 90 között váltakozzon a KP_TW hangolásához:
mozgató.csavar (90); // Twist 90 CW
késleltetés (2000);
mover.twist (-90) // Twist 90 CCW
késleltetés (2000);
Ne feledje, hogy a TARGET_TWIST_OMEGA szögsebesség tényleges elforgatásához a KI_TW -t is be kell hangolni, mivel az arányos vezérlő soha nem állítja be a pontos célt. Nem szükséges azonban pontosan ilyen szögsebességgel csavarni. A szögsebességnek elég lassúnak kell lennie.
6. lépés: Hogyan működik?
Ha kíváncsi rá, hogyan működik, olvassa el.
Az előrehaladást egyenes vonalon tartják a tiszta üldözési algoritmus használatával. További információ a Pure Pursuit -ról:
A csavaró PID szabályozó megpróbálja a csavarás szögsebességét TARGET_TWIST_OMEGA értéken tartani. Vegye figyelembe, hogy ez a szögsebesség az egész robot szögsebessége, nem pedig a kerekeké. Csak egy PID vezérlőt használnak, és a kimenet a bal és a jobb motor PWM írási sebessége. A szög kiszámításához holtszámlálás történik. Amint a szög eléri a hibaküszöböt, a robot megáll.
Ajánlott:
Arduino - Labirintus megoldó robot (MicroMouse) Falkövető robot: 6 lépés (képekkel)
Arduino | Maze Solving Robot (MicroMouse) Falkövető robot: Üdvözlöm, Isaac vagyok, és ez az első robotom, a "Striker v1.0". Ezt a robotot egy egyszerű labirintus megoldására tervezték. A versenyen két labirintus és a robot volt képes volt azonosítani őket. A labirintusban bekövetkező egyéb változások miatt szükség lehet a
Waveshare E-ink kijelző precíz voltmérő (0-90v DC) Arduino nanóval: 3 lépés
Waveshare E-ink kijelző precíz voltmérő (0-90v DC) Arduino Nano esetén: Ebben az utasításban 2,9 "-os Waveshare E-Paper kijelzőt használok Arduino Nano-val, feszültségosztóval és ADS1115-tel a pontos feszültség megjelenítéséhez akár 90-ig Volt DC az E-papír kijelzőn. Ez az utasítás a két korábbi projektet egyesíti:- Ardui
SMARS robot építése - Arduino Smart Robot Tank Bluetooth: 16 lépés (képekkel)
SMARS Robot építése - Arduino Smart Robot Tank Bluetooth: Ezt a cikket büszkén szponzorálja a PCBWAY. A PCBWAY kiváló minőségű prototípus -készítő PCB -ket készít a világ minden tájáról. Próbálja ki Ön is, és szerezzen 10 PCB -t mindössze 5 dollárért a PCBWAY -n, nagyon jó minőségben, köszönöm PCBWAY. A motorpajzs az Arduino Uno -hoz
PAPER HUNGRY ROBOT - Pringles Recycle Arduino Robot: 19 lépés (képekkel)
PAPER HUNGRY ROBOT - Pringles Recycle Arduino Robot: Ez a Hungry Robot egy másik változata, amelyet 2018 -ban építettem. Ezt a robotot 3D nyomtató nélkül is elkészítheti. Csak annyit kell tennie, hogy megvásárol egy doboz Pringles -t, egy szervo motort, egy közelségérzékelőt, egy arduino -t és néhány eszközt. Letöltheti az összes
Kiegyensúlyozó robot / 3 kerekes robot / STEM robot: 8 lépés
Kiegyensúlyozó robot / 3 kerekes robot / STEM robot: Kombinált kiegyensúlyozó és háromkerekű robotot építettünk az iskolákban és az iskolai oktatási programok oktatási célokra. A robot egy Arduino Uno -n, egyedi pajzson (minden konstrukciós részlet megadva), Li -ion akkumulátoron (minden