Tartalomjegyzék:

SnappyXO precíz mozgató robot: 6 lépés
SnappyXO precíz mozgató robot: 6 lépés

Videó: SnappyXO precíz mozgató robot: 6 lépés

Videó: SnappyXO precíz mozgató robot: 6 lépés
Videó: ПОЧЕМУ пост-КОВИДНЫЕ жалобы долго не проходят. 2 комплекса помощи 2024, November
Anonim
SnappyXO precíz mozgató robot
SnappyXO precíz mozgató robot

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

Csatlakoztassa az elektronikát
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: