Orodha ya maudhui:

SnappyXO Robot ya Kusonga Sahihi: Hatua 6
SnappyXO Robot ya Kusonga Sahihi: Hatua 6

Video: SnappyXO Robot ya Kusonga Sahihi: Hatua 6

Video: SnappyXO Robot ya Kusonga Sahihi: Hatua 6
Video: Miguel Nicolelis: A monkey that controls a robot with its thoughts. No, really. 2024, Novemba
Anonim
SnappyXO sahihi Mover Robot
SnappyXO sahihi Mover Robot

Fanya roboti yako ya Arduino iende moja kwa moja kwa umbali maalum au pindua kwa pembe maalum kwa kutumia maktaba ya PreciseMovement Arduino.

Roboti inahitaji mpira unaozunguka au sawa ili kupunguza msuguano wakati unapinduka.

www.pololu.com/product/954

Unaweza kumwambia roboti aende mbele kwa umbali maalum au kuzungusha kwa pembe maalum. Programu huamua msimamo wake kwa kutumia hesabu ya wafu. Kwa kuwa makadirio ya msimamo yanategemea tu kasi ya gurudumu, utelezi utasababisha kosa kubwa. Mbuni wa roboti anapaswa kuwa mwangalifu kupunguza hatari ya kuteleza.

Hii imejaribiwa kufanya kazi na robot ya SnappyXO.

Hatua ya 1: Mahali pa Mafunzo Imebadilishwa

Mafunzo yamehamishwa kwenye ukurasa hapa chini. Mafunzo haya hayatumiwi tena.

sites.google.com/stonybrook.edu/premo

Hatua ya 2: Jenga Roboti ya Hifadhi ya Tofauti ya SnappyXO

Maktaba ya PreciseMovement ambayo tutatumia inaambatana tu na roboti za kutofautisha. Unaweza kuchagua kutumia roboti zingine 2 za kuendesha gari.

Hatua ya 3: Unganisha Elektroniki

Unganisha Elektroniki
Unganisha Elektroniki

Kwa Kiambatisho cha macho cha kawaida cha SnappyXO:

D0 (pato la kusimba) -> Arduino Digital Pin

VCC -> Arduino 5V

GND -> GND

Nguvu ya Magari na Arduino:

Chanzo cha nguvu ya motor kinapaswa kuwa ya kutosha kwa motors unayotumia. Kwa kitanda cha SnappyXO, betri za 4AA hutumiwa kwa nguvu ya gari na betri ya 9V kwa nguvu ya Arduino. Hakikisha kuwa wote wana GND ya kawaida.

Hatua ya 4: Sakinisha Maktaba ya PreciseMovement Arduino

Pakua:

github.com/jaean123/PreciseMovement-library/releases

Jinsi ya kusanikisha Maktaba ya Arduino:

wiki.seeedstudio.com/How_to_install_Arduino_Library/

Hatua ya 5: Kanuni

Msimbo wa Arduino:

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

Vigezo hivi vinahitaji marekebisho. Vigezo vingine vilivyoorodheshwa kupendekezwa kwenye nambari vinaweza kubadilishwa kwa utendaji bora.

  • Angalia na uweke pini za magari chini ya PIN za ARDUINO.
  • Weka UREFU na RADIUS.

    • UREFU ni umbali kutoka gurudumu la kushoto hadi gurudumu la kulia.
    • RADIUS ni eneo la gurudumu.
  • Weka PULSES_PER_REV, ambayo ni idadi ya kunde matokeo ya usimbuaji kwa mapinduzi ya gurudumu moja.

    • Kumbuka hii ni tofauti na idadi ya kunde ambayo matokeo ya encoder ya mapinduzi ya shimoni ya motor isipokuwa viambatisho vimeunganishwa kusoma moja kwa moja kutoka kwa shimoni la gurudumu.
    • PULSES_PER_REV = (kunde kwa mapinduzi moja ya shimoni la gari) x (uwiano wa gia)
  • Weka STOP_LENGTH ikiwa utaona kuwa roboti inapita zaidi baada ya kusonga mbele.

    Roboti itasimama mara tu nafasi inayokadiriwa iko STOP_LENGTH mbali na lengo. Kwa hivyo, STOP_LENGTH, ni umbali wa takriban unaohitajika kwa roboti kusimama

  • Vigezo vya PID

    KP_FW: Hii ni sehemu ya uwiano wa mwendo wa mbele. Ongeza hii mpaka roboti iende sawa. Ikiwa huwezi kuifanya iende moja kwa moja kwa kurekebisha hii, basi vifaa vinaweza kuwa na kosa. (kwa mfano upotoshaji wa gurudumu, nk)

    KP_TW: Hii ndio sehemu inayolingana ya mwendo wa kupindisha PID. Anza tu kutoka kwa bei ya chini na uongeze hii hadi kasi ya kupinduka, au kasi ya angular ya roboti wakati inajikunja, ina kasi ya kutosha, lakini haisababishi kupita kiasi. Ili kufanya uchunguzi, unaweza kubadilisha roboti kutoka 0 hadi 90 na kurudi kwa kuingiza zifuatazo katika kazi ya kitanzi

Weka hii kitanzi ili kurekebisha KP_FW:

mtembezaji. mbele (99999);

Weka hii kitanzi ili ubadilishe kutoka 0 hadi 90 ili kurekebisha KP_TW:

mtembezaji.wist (90); // Twist 90 CW

kuchelewa (2000);

mtembezaji.wist (-90) // Twist 90 CCW

kuchelewa (2000);

Kumbuka kuwa ili kupotosha kasi ya angular huko TARGET_TWIST_OMEGA, KI_TW pia inahitaji kuangaliwa kwani mtawala sawia kamwe hatatua kwa lengo haswa. Walakini, sio lazima kupindisha kasi hiyo ya angular. Kasi ya angular inahitaji tu kuwa polepole vya kutosha.

Hatua ya 6: Jinsi inavyofanya kazi

Ikiwa unataka kujua jinsi inavyofanya kazi soma.

Harakati ya mbele inawekwa sawa kutumia algorithm safi ya kufuata njia iliyo sawa. Zaidi juu ya Utaftaji safi:

Kidhibiti cha PID kinachopotoka kinajaribu kuweka kasi ya angular iliyozunguka huko TARGET_TWIST_OMEGA. Kumbuka kuwa kasi hii ya angular ni kasi ya angular ya roboti nzima sio magurudumu. Kidhibiti kimoja tu cha PID kinatumika na pato ni kasi ya kuandika ya PWM ya motors zote za kushoto na kulia. Hesabu ya wafu imefanywa ili kuhesabu pembe. Mara tu pembe imefikia kizingiti cha hitilafu, roboti huacha.

Ilipendekeza: