Përmbajtje:

Robot lëvizës i saktë SnappyXO: 6 hapa
Robot lëvizës i saktë SnappyXO: 6 hapa

Video: Robot lëvizës i saktë SnappyXO: 6 hapa

Video: Robot lëvizës i saktë SnappyXO: 6 hapa
Video: Ten Truly Strange UFO Encounters 2024, Nëntor
Anonim
Roboti SnappyXO Precise Mover
Roboti SnappyXO Precise Mover

Bëjeni robotin tuaj Arduino të shkojë drejt për një distancë të caktuar ose ktheni në një kënd të caktuar duke përdorur bibliotekën PreciseMovement Arduino.

Robotit i duhet një rrotull topi i rrotullueshëm ose ekuivalent për të minimizuar fërkimin gjatë kthesës.

www.pololu.com/product/954

Ju mund t'i thoni robotit të shkojë përpara në një distancë të caktuar ose të rrotullohet në një kënd të caktuar. Programi përcakton pozicionin e tij duke përdorur llogaritjen e vdekur. Meqenëse vlerësimet e pozicionit mbështeten vetëm në shpejtësinë e rrotës, rrëshqitja do të shkaktojë gabime të konsiderueshme. Projektuesi i robotit duhet të jetë i kujdesshëm për të minimizuar rrezikun e rrëshqitjes.

Kjo është testuar për të punuar me robotin SnappyXO.

Hapi 1: Vendndodhja e mësimit u ndryshua

Udhëzimi është zhvendosur në faqen më poshtë. Ky tutorial nuk mirëmbahet më.

sites.google.com/stonybrook.edu/premo

Hapi 2: Ndërtoni Robotin Diferencial të SnappyXO Drive

Biblioteka PreciseMovement që do të përdorim është e pajtueshme vetëm me robotët e diferencialeve. Ju mund të zgjidhni të përdorni robotë të tjerë me dy rrota.

Hapi 3: Lidhni Elektronikën

Lidhni Elektronikën
Lidhni Elektronikën

Për kodifikuesin optik standard SnappyXO:

D0 (dalja e kodifikuesit) -> Pin Arduino dixhital

VCC -> Arduino 5V

GND -> GND

Motor dhe Arduino Power:

Burimi i energjisë së motorit duhet të jetë i përshtatshëm për motorët që përdorni. Për kompletin SnappyXO, bateritë 4AA përdoren për fuqinë e motorit dhe baterinë 9V për fuqinë Arduino. Sigurohuni që të gjithë kanë një GND të përbashkët.

Hapi 4: Instaloni Bibliotekën PreciseMovement Arduino

Shkarko:

github.com/jaean123/PreciseMovement-library/releases

Si të instaloni Bibliotekën Arduino:

wiki.seeedstudio.com/How_to_install_Arduino_Library/

Hapi 5: Kodi

Kodi Arduino:

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

Këta parametra kërkojnë rregullim. Parametrat e tjerë të etiketuar të rekomanduar në kod mund të rregullohen për performancë më të mirë.

  • Kontrolloni dhe vendosni kunjat e motorit nën kunjat ARDUINO.
  • Vendosni LENGTH dhe RADIUS.

    • LENGTH është distanca nga rrota e majtë në timonin e djathtë.
    • RADIUS është rrezja e rrotës.
  • Vendosni PULSES_PER_REV, që është numri i pulseve që daljet e koduesit për një rrotullim të një rrote.

    • Vini re se kjo është e ndryshme nga numri i pulseve që daljet e koduesit për një rrotullim të boshtit të motorit, përveç nëse koduesit janë të lidhur për të lexuar drejtpërdrejt nga boshti i rrotës.
    • PULSES_PER_REV = (pulsimet për një rrotullim të boshtit të motorit) x (raporti i ingranazheve)
  • Vendosni STOP_LENGTH nëse shihni që roboti po tejkalon lëvizjen përpara.

    Roboti do të ndalet sapo pozicioni i vlerësuar të jetë STOP_LENGTH larg objektivit. Kështu, STOP_LENGTH, është distanca e përafërt e kërkuar që roboti të ndalet

  • Parametrat PID

    KP_FW: Ky është komponenti proporcional i lëvizjes përpara. Rriteni këtë derisa roboti të shkojë drejt. Nëse nuk mund ta bëni atë të shkojë direkt duke e rregulluar këtë, atëherë hardueri ka të ngjarë të jetë në faj. (p.sh. shtrirja e gabuar e rrotave, etj)

    KP_TW: Ky është komponenti proporcional i PID -it të lëvizjes së përdredhur. Thjesht filloni nga një vlerë e ulët dhe rriteni këtë derisa shpejtësia e kthesës, ose shpejtësia këndore e robotit gjatë kthesës, të jetë mjaft e shpejtë, por nuk shkakton tejkalim. Për të bërë vëzhgime, mund ta keni robotin alternativ nga 0 në 90 dhe mbrapa duke futur sa vijon në funksionin e lakut

Vendoseni këtë në lak për të akorduar KP_FW:

lëvizës.para (99999);

Vendoseni këtë në lak për të alternuar nga 0 në 90 për të akorduar KP_TW:

lëvizës.dredhur (90); // Kthesë 90 CW

vonesa (2000);

lëvizës.twist (-90) // Twist 90 CCW

vonesa (2000);

Vini re se në mënyrë që të ktheni shpejtësinë këndore në TARGET_TWIST_OMEGA, KI_TW gjithashtu duhet të akordohet pasi një kontrollues proporcional nuk do të vendoset kurrë në objektivin e saktë. Sidoqoftë, nuk është e nevojshme të ktheni në atë shpejtësi saktësisht këndore. Shpejtësia këndore thjesht duhet të jetë mjaft e ngadaltë.

Hapi 6: Si funksionon

Nëse jeni kurioz se si funksionon, lexoni.

Lëvizja përpara mbahet drejt duke përdorur algoritmin e pastër të ndjekjes në një rrugë të drejtë. Më shumë në Pursuit Pure:

Kontrolluesi PID i kthesës përpiqet të mbajë shpejtësinë këndore të kthesës në TARGET_TWIST_OMEGA. Vini re se kjo shpejtësi këndore është shpejtësia këndore e të gjithë robotit jo e rrotave. Përdoret vetëm një kontrollues PID dhe dalja është shpejtësia e shkrimit PWM e motorëve të majtë dhe të djathtë. Llogaritja e vdekur bëhet për të llogaritur këndin. Pasi këndi arrin pragun e gabimit, roboti ndalon.

Recommended: