Satura rādītājs:

SnappyXO precīzs pārvietošanas robots: 6 soļi
SnappyXO precīzs pārvietošanas robots: 6 soļi

Video: SnappyXO precīzs pārvietošanas robots: 6 soļi

Video: SnappyXO precīzs pārvietošanas robots: 6 soļi
Video: P2P drošāk par akcijām un ērtāk par obligācijām. Investors dalās ar padomiem, 'Nākotnes kapitāls' 2024, Septembris
Anonim
SnappyXO precīzs pārvietošanas robots
SnappyXO precīzs pārvietošanas robots

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

Pievienojiet elektroniku
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: