Sisukord:

Ise kõndiv robot: 7 sammu
Ise kõndiv robot: 7 sammu

Video: Ise kõndiv robot: 7 sammu

Video: Ise kõndiv robot: 7 sammu
Video: TOUTES les cartes Multicolores, Incolores et Terrains Kamigawa, la Dynastie Néon, MTG 2024, November
Anonim
Ise kõndiv robot
Ise kõndiv robot

Mida ma tegin?

● Bot, mida saab treenida erinevatel pindadel kõndima (edasi liikuma). Bot kujutab lihtsat olendit, kellel on 4 põlvevaba jalga, kes püüab edasi liikuda. Ta teab, et suudab iga jalga orienteerida ainult kolmel võimalikul viisil. Nüüd tuleb välja mõelda parimad võimalikud sammud, mida liikumise jätkamiseks teha saab. Kuna selle liikumine sõltub ka pinnaga hõõrdumisest, usume, et iga erineva pinna puhul, mida see kõnnib, on erinev (mitte tingimata ainulaadne, kuid tõenäoliselt sarnane) sammude kogum, et maksimeerida edasiliikumise jõupingutusi.

Milleks seda kasutatakse?

● Seda on kõige parem kasutada tehisintellekti ROBOTi kõnnimustrite visualiseerimiseks.

Samm: vooskeem

Vooskeem
Vooskeem

Siin on kogu projekti jaotus. Üldiselt koosneb projekt kahest osast elektroonikast, millel on roboti mehaaniline struktuur, ja teine on algoritm, mis töötab üle arvuti ja kood töötab üle arduino.

2. etapp: KAASATUD PÕHISED KOMPONENDID:

Elektroonika

Arduino UNO (!)

Ultraheli andur

Servomootorid

Bluetooth moodul

Kodeerimine

Arduino IDE

Teraterm

Jupyteri märkmik

Q- õppimise algoritm

3. samm: Moodul V1:

Moodul V1
Moodul V1

Tugevdusõpe: ANN -i (tehisnärvivõrk) abil plaanisime oma robotit koolitada ja pakkusime välja kaks võimalikku meetodit.

Piirangud: Iga jalg (servomootor) on sunnitud võtma ainult 3 võimalikku asendit 60, 90 ja 120 kraadi. Eeldused: Me arvame, et robotliikumine moodustab 4 olekut (olek on kõigi nelja servo teatud suund), st robotil on neli erinevat olekut, mida me käsitleme vastavalt nelja sammuna, andes meile ühe liikumistsükli. mida robot liigub mõnevõrra edasi. Seda tsüklit korratakse lõpmatuseni, et robot liikuda.

Kuid ainus probleem oli hinnatavate iteratsioonide arv - meil on iga mootori jaoks 3 võimalikku suunda ja 4 erinevat mootorit, mis teeb sellest 3^4 = 81 olekut, milles robot saab eksisteerida ühes etapis või olekus. Ühe keeruka liigutuse lõpuleviimiseks peame tegema 4 erinevat sammu, mis tähendab 81^4 = 43, 046, 721 võimalikku kombinatsiooni, mida tuleb kontrollida ühe liikumistsükli maksimaalse efektiivsuse osas. Oletame, et ühe riigi koolitamiseks kulub 5 sekundit, koolituse läbimiseks kuluks 6,8250 aastat!

4. samm: moodul V2:

Q-õppe algoritm

Varane tugevdusõppe algoritm, mis on välja töötatud piiratud olekuga asjade koolitamiseks ja lühimate teede leidmiseks. allikas:

Algoritmi matemaatika: iga sammu jaoks, milles bot võib olla, on 81 võimalikku olekut, nimetame need olekud numbriteks 1 kuni 81 ja nüüd tahame teada üleminekuväärtust, mis tähendab roboti positsiooni muutust), kui see liigub juhuslikust olekust s1 mõnda teise olekusse s2 (s1, s2 nendest 81 olekust). Me näeme seda maatriksina, millel on 81 rida ja 81 veergu, kus maatriksi element võrdub selle kauguse väärtusega, millest ta liikus, vastavalt oma rea ja veeru numbrile. Need väärtused võivad olla positiivsed või negatiivsed, sõltuvalt roboti tegevusest sõnaga. Nüüd leiame olekute suletud ahela, kus selle läbitud vahemaa on alati positiivne. Me hindame maatriksi 81x81 väärtusi, mis on 81^2 = 6561, nüüd kui võtame need väärtused maatriksisse salvestamiseks 5 sekundit, kogu maatriksi tegemiseks kulub ainult 9,125 tundi ja seejärel saab hõlpsalt välja mõelda sammude liigutamise efektiivsuse maksimeerimiseks.

5. toiming: kaasatud probleemid -

  1. Mõnes olekus oli botiliikumine väga ebaühtlane ja mõjutas ultraheli anduri väärtust, bot kallutas ja võttis kaugust seinast kaugemale.
  2. Sülearvutist lahtiühendamise ja arduino taaskäivitamise probleem muutis selle 0 -st treenimiseks väga ärritavaks.
  3. Robotirongi pidev vaatamine 5 tundi oli väga ammendav.

6. samm: moodulid A1 ja A2:

  • Mehaaniline osa sisaldab šassiiplaati, mille külge on kinnitatud neli servot. Jalgade valmistamiseks kasutasime jäätisepulki.
  • Meie põhiülesanne - jälgida roboti kaugust selle lähteasendist.
  • Meie esimene lähenemisviis oli kasutada güroskoopiandurit ja boti kiirendust, kui see liigub, et eraldada selle kiirus ja seejärel asukoht.
  • Probleem - see osutus rakendamiseks liiga keeruliseks! Alternatiiv - piirasime boti liikumise ainult ühele mõõtmele ja kasutasime ultraheli andurit, et mõõta kaugust otse ees olevast seinast.
  • HC05-Bluetooth moodulit kasutati treeningperioodil, et edastada kauguse ülemineku kiirus kahe sammu vahel arvutile ja seal salvestati andmed maatriksisse.

Samm 7: link videotele:

Link videotele
Link videotele

Beebi sammud:

Treeningvõte:

Peaaegu otse:

Tantsuroboti video:

Lõplik video0:

Soovitan: