Satura rādītājs:
- 1. darbība: apmācības vieta ir mainīta
- 2. darbība: izveidojiet diferenciālās piedziņas robotu SnappyXO
- 3. darbība: pievienojiet elektroniku
- 4. solis: instalējiet PreciseMovement Arduino bibliotēku
- 5. darbība: kods
- 6. darbība. Kā tas darbojas
Video: SnappyXO precīzs pārvietošanas robots: 6 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Lieciet savam Arduino robotam iet taisni noteiktu attālumu vai pagriezties noteiktā leņķī, izmantojot PreciseMovement Arduino bibliotēku.
Robotam ir nepieciešams ripojošs lodīšu ritentiņš vai līdzvērtīgs, lai samazinātu berzi griešanās laikā.
www.pololu.com/product/954
Jūs varat pateikt robotam iet uz priekšu līdz noteiktam attālumam vai pagriezties noteiktā leņķī. Programma nosaka savu pozīciju, izmantojot mirušo aprēķinu. Tā kā atrašanās vietas aprēķini ir atkarīgi tikai no riteņa ātruma, slīdēšana izraisīs ievērojamas kļūdas. Robota projektētājam jābūt uzmanīgam, lai samazinātu slīdēšanas risku.
Tas ir pārbaudīts darbam ar robotu SnappyXO.
1. darbība: apmācības vieta ir mainīta
Apmācība ir pārvietota uz zemāk esošo lapu. Šī apmācība vairs netiek uzturēta.
sites.google.com/stonybrook.edu/premo
2. darbība: izveidojiet diferenciālās piedziņas robotu SnappyXO
Bibliotēka PreciseMovement, kuru mēs izmantosim, ir saderīga tikai ar diferenciālās piedziņas robotiem. Jūs varat izvēlēties izmantot citus divu riteņu piedziņas robotus.
3. darbība: pievienojiet elektroniku
Standarta SnappyXO optiskajam kodētājam:
D0 (kodētāja izeja) -> Arduino digitālā tapa
VCC -> Arduino 5V
GND -> GND
Motors un Arduino jauda:
Motora barošanas avotam jābūt piemērotam jūsu izmantotajiem motoriem. SnappyXO komplektam motora jaudai tiek izmantotas 4AA baterijas, bet Arduino jaudai - 9V baterijas. Pārliecinieties, ka viņiem visiem ir kopīgs GND.
4. solis: instalējiet PreciseMovement Arduino bibliotēku
Lejupielādēt:
github.com/jaean123/PreciseMovement-library/releases
Kā instalēt Arduino bibliotēku:
wiki.seeedstudio.com/How_to_install_Arduino_Library/
5. darbība: kods
Arduino kods:
create.arduino.cc/editor/hileloop/7a35299d-4e73-409d-9f39-2c517b3000d5/preview
Šie parametri ir jāpielāgo. Citus parametrus, kas marķēti kā ieteicami uz koda, var pielāgot, lai nodrošinātu labāku veiktspēju.
- Pārbaudiet un iestatiet motora tapas zem ARDUINO PINS.
-
Iestatiet GARUMU un RADIJU.
- GARUMS ir attālums no kreisā riteņa līdz labajam ritenim.
- RADIUS ir riteņa rādiuss.
-
Iestatiet PULSES_PER_REV, kas ir kodētāja izejas impulsu skaits viena riteņa apgrieziena laikā.
- Ņemiet vērā, ka tas atšķiras no kodētāja izejas impulsu skaita viena motora vārpstas apgrieziena laikā, ja vien kodētāji nav pievienoti nolasīšanai tieši no riteņa vārpstas.
- PULSES_PER_REV = (impulsi uz vienu motora vārpstas apgriezienu) x (pārnesumu attiecība)
-
Iestatiet STOP_LENGTH, ja redzat, ka pēc kustības uz priekšu robots pārspēj.
Robots apstāsies, kad paredzamā pozīcija būs STOP_LENGTH attālumā no mērķa. Tādējādi STOP_LENGTH ir aptuvenais attālums, kas nepieciešams, lai robots apstātos
-
PID parametri
KP_FW: Šī ir proporcionāla kustība uz priekšu. Palieliniet to, līdz robots iet taisni. Ja, noregulējot to, nevarat nokļūt taisnā ceļā, iespējams, pie vainas ir aparatūra. (piemēram, riteņu novirze utt.)
KP_TW: Šī ir griešanās kustības PID proporcionālā sastāvdaļa. Vienkārši sāciet no zemas vērtības un palieliniet to, līdz griešanās ātrums vai robota leņķiskais ātrums, pagriežot, ir pietiekami ātrs, bet neizraisa pārsniegšanu. Lai veiktu novērojumus, robotu var mainīt no 0 līdz 90 un atpakaļ, cilpas funkcijā ievietojot šādu
Ievietojiet to cilpā, lai noregulētu KP_FW:
virzītājs.pārsūtīt (99999);
Ievietojiet to cilpā, lai mainītu no 0 līdz 90, lai noregulētu KP_TW:
pārvietotājs.vītrs (90); // Twist 90 CW
kavēšanās (2000);
mover.twist (-90) // Twist 90 CCW
kavēšanās (2000);
Ņemiet vērā, ka, lai faktiski sagrozītu leņķisko ātrumu TARGET_TWIST_OMEGA, KI_TW ir arī jānoskaņo, jo proporcionāls regulators nekad nesasniegs precīzu mērķi. Tomēr nav nepieciešams griezties tieši tādā leņķa ātrumā. Leņķa ātrumam vienkārši jābūt pietiekami lēnam.
6. darbība. Kā tas darbojas
Ja jūs interesē, kā tas darbojas, lasiet tālāk.
Kustība uz priekšu tiek turēta taisni, izmantojot tīras vajāšanas algoritmu pa taisnu ceļu. Vairāk par Pure Pursuit:
Pagrieziena PID kontrolieris mēģina saglabāt griešanās leņķisko ātrumu TARGET_TWIST_OMEGA. Ņemiet vērā, ka šis leņķiskais ātrums ir visa robota, nevis riteņu leņķiskais ātrums. Tiek izmantots tikai viens PID regulators, un izeja ir kreisā un labā motora PWM rakstīšanas ātrums. Lai aprēķinātu leņķi, tiek veikta aprēķināšana. Kad leņķis sasniedz kļūdas slieksni, robots apstājas.
Ieteicams:
Arduino precīzs un precīzs voltu mērītājs (0-90V DC): 3 soļi
Arduino precīzs un precīzs voltu mērītājs (0-90V DC): Šajā pamācībā esmu izveidojis voltmetru, lai relatīvi precīzi un precīzi mērītu augstspriegumu DC (0-90v), izmantojot Arduino Nano. Manis veiktie testa mērījumi bija pietiekami precīzi, galvenokārt 0,3 V robežās no faktiskā sprieguma, kas mērīts ar
Pārtrauciet ALICE - durvju barikāde personām ar ierobežotām pārvietošanās spējām: 8 soļi
Pārtrauciet ALICE - durvju barikāde personām ar ierobežotām pārvietošanās spējām: problēma Personām, kuras izmanto ratiņkrēslus, vajadzības gadījumā var būt grūti iežogot telpā. Šī projekta mērķis ir izveidot ierīci, kas palīdzētu cilvēkiem, kuri izmanto ratiņkrēslus un/vai kuriem ir samazināts roku spēks, ātri aizkavēt
Pārvietošanās Raspberry Pi programmatūrā: 1. daļa: 14 soļi
Pārvietošanās Raspberry Pi programmatūrā: 1. daļa: Šajā nodarbībā jūs uzzināsit, kā orientēties Raspberry Pi, izmantojot komandrindas saskarni. Jūs izveidosit mapes, pārvietosities no viena direktorija uz nākamo un uzzināsit, kā uzņemt ekrānuzņēmumu, lai attēlotu visu savu darbu visā klasē! Mēs
Vienkāršs automātisks pārvietošanas robots, izmantojot Arduino & L293d IC: 6 soļi
Vienkāršs automātiskais kustīgais robots, izmantojot Arduino & L293d IC: Šis ir pamata robots, ko vada arduino, un tas ir tas, ka tas vienkārši klīst apkārt un seko apļveida ceļam pēc noklusējuma koda, bet jūs varat mainīt kodu, lai viegli mainītu ceļu. Tas ir vienkāršs projekts, kuru var izveidot ikviens … Tātad, ja jūs
Līdzsvarojošais robots / 3 riteņu robots / STEM robots: 8 soļi
Līdzsvarojošais robots / trīs riteņu robots / STEM robots: mēs esam izveidojuši kombinētu balansēšanas un trīsriteņu robotu, kas paredzēts lietošanai skolās un pēc skolas izglītības programmās. Robota pamatā ir Arduino Uno, pielāgots vairogs (visas konstrukcijas detaļas ir iekļautas), litija jonu akumulators (viss atbilst