Sisukord:

Arduino juhitav kahejalgne robot: 13 sammu (koos piltidega)
Arduino juhitav kahejalgne robot: 13 sammu (koos piltidega)

Video: Arduino juhitav kahejalgne robot: 13 sammu (koos piltidega)

Video: Arduino juhitav kahejalgne robot: 13 sammu (koos piltidega)
Video: MKS Robin Nano v2.0 - A4988 or DRV8825 Install Guide 2024, November
Anonim
Image
Image
Arduino juhitav kahejalgne robot
Arduino juhitav kahejalgne robot
Arduino juhitav kahejalgne robot
Arduino juhitav kahejalgne robot

Fusion 360 projektid »

Mind on alati huvitanud robotid, eriti selline, mis püüab jäljendada inimeste tegevust. See huvi ajendas mind proovima kavandada ja arendada kahejalgset robotit, mis võiks jäljendada inimeste kõndimist ja jooksmist. Selles juhendis näitan teile kahejalgse roboti konstruktsiooni ja kokkupanekut.

Selle projekti ehitamisel oli esmane eesmärk muuta süsteem võimalikult tugevaks, nii et erinevate kõndimis- ja jooksmisharjumustega katsetades ei peaks ma pidevalt muretsema riistvara rikke pärast. See võimaldas mul riistvara oma piirini viia. Teisene eesmärk oli muuta kahejalgne suhteliselt odav, kasutades hõlpsasti kättesaadavaid hobiosasid ja 3D-printimist, jättes ruumi edasiseks täiendamiseks ja laiendamiseks. Need kaks eesmärki koos annavad tugeva aluse erinevate katsete tegemiseks, võimaldades arendada kahejalgset konkreetsematele nõuetele.

Jätkake, et luua oma Arduino juhitav Robot Biped ja kui projekt teile meeldis, jätke hääletus "Arduino võistlusel".

Samm: disainiprotsess

Disainiprotsess
Disainiprotsess
Disainiprotsess
Disainiprotsess
Disainiprotsess
Disainiprotsess

Humanoidjalad kujundati Autodeski tasuta kasutamiseks Fusion 360 3D modelleerimistarkvaras. Alustasin servomootorite importimisest disaini ja ehitasin jalad nende ümber. Kavandasin servomootori jaoks kronsteinid, mis pakuvad teist pöördepunkti servomootori võllile diametraalselt vastupidiseks. Kahe võlli olemasolu mootori mõlemas otsas annab konstruktsioonile stabiilsuse ja välistab kõik viltused, mis võivad tekkida, kui jalad on koormatud. Lingid olid konstrueeritud laagrit hoidma, samal ajal kui sulgudes kasutati võlli jaoks polti. Kui lingid olid mutri abil võllidele kinnitatud, tagaks laager servomootori võlli vastasküljele sujuva ja tugeva pöördepunkti.

Teine eesmärk kahejalgse projekteerimisel oli hoida mudel võimalikult kompaktsena, et maksimaalselt ära kasutada servomootorite pakutavat pöördemomenti. Lingide mõõtmed tehti suure liikumisulatuse saavutamiseks, vähendades samal ajal kogupikkust. Nende liiga lühikeseks muutmine tooks klambrid kokku, vähendades liikumisulatust ja liiga pikaks ajamine tekitaks ajamitele tarbetut pöördemomenti. Lõpuks kujundasin roboti kere, millele Arduino ja muud elektroonilised komponendid paigaldatakse.

Märkus. Osad kuuluvad ühte järgmistest sammudest.

2. samm: Arduino roll

Arduino roll
Arduino roll

Selles projektis kasutati Arduino Unot. Arduino vastutas erinevate testitud kõnnakute liikumisteede arvutamise eest ja käskis täiturmehhanismidel liikuda sujuvate liikumiste loomiseks täpsete nurkade juures täpsete kiirustega. Arduino on mitmekülgsuse tõttu suurepärane valik projektide arendamiseks. See pakub hunnikut IO -kontakte ja pakub ka liideseid, nagu jadaseade, I2C ja SPI, et suhelda teiste mikrokontrollerite ja anduritega. Arduino pakub ka suurepärast platvormi kiireks prototüüpimiseks ja testimiseks ning annab ka arendajatele ruumi täiustamiseks ja laiendamiseks. Selles projektis sisaldavad täiendavad versioonid inertsmõõteseadet liikumiste töötlemiseks, näiteks kukkumise tuvastamine ja dünaamiline liikumine ebatasasel maastikul, ning kauguste mõõtmise andur takistuste vältimiseks.

Selle projekti jaoks kasutati Arduino IDE -d. (Arduino pakub ka veebipõhist IDE-d)

Märkus. Roboti jaoks mõeldud programme saab alla laadida ühel järgmistest sammudest.

Samm: vajalikud materjalid

Vajalikud materjalid
Vajalikud materjalid
Vajalikud materjalid
Vajalikud materjalid
Vajalikud materjalid
Vajalikud materjalid
Vajalikud materjalid
Vajalikud materjalid

Siin on nimekiri kõigist komponentidest ja osadest, mis on vajalikud teie enda Arduino jõul töötava kahejalgse roboti valmistamiseks. Kõik osad peaksid olema üldkasutatavad ja kergesti leitavad.

ELEKTROONIKA:

Arduino Uno x 1

Towerpro MG995 servomootor x 6

Perfboard (Arduinoga sarnane suurus)

Isased ja emased päisepoldid (mõlemast umbes 20)

Jumper juhtmed (10 tk)

MPU6050 IMU (valikuline)

Ultraheli andur (valikuline)

RIISTVARA:

Rulalaager (8x19x7mm)

M4 mutrid ja poldid

3D -printeri hõõgniit (kui teil pole 3D -printerit, peaks kohalikus tööruumis olema 3D -printer või saab printida Internetis üsna odavalt)

Kui Arduino ja 3D -printer välja arvata, on selle projekti kogumaksumus 20 dollarit.

4. samm: 3D -prinditud osad

3D trükitud osad
3D trükitud osad
3D trükitud osad
3D trükitud osad
3D trükitud osad
3D trükitud osad
3D trükitud osad
3D trükitud osad

Selle projekti jaoks vajalikud osad tuli kohandada, seetõttu kasutati nende printimiseks 3D -printerit. Väljatrükid tehti 40% täitematerjali, 2 perimeetri, 0,4 mm otsiku ja 0,1 mm kihi kõrgusega teie valitud värvi PLA -ga. Allpool leiate oma versiooni printimiseks vajalike osade täieliku loendi ja STL -id.

Märkus. Siit alates viidatakse osadele loendis olevate nimede abil.

  • jala servohoidik x 1
  • jala servohoidja peegel x 1
  • põlve servohoidik x 1
  • põlve servohoidja peegel x 1
  • jala servohoidik x 1
  • jala servohoidja peegel x 1
  • laagri lüli x 2
  • servosarve link x 2
  • jalglink x 2
  • sild x 1
  • elektroonika kinnitus x 1
  • elektroonika vahekaugus x 8 (valikuline)
  • servosarve x 12 (valikuline)

Kokku on vahedetailideta 14 osa. Kogu trükkimisaeg on umbes 20 tundi.

Samm: servoklambrite ettevalmistamine

Servoklambrite ettevalmistamine
Servoklambrite ettevalmistamine
Servoklambrite ettevalmistamine
Servoklambrite ettevalmistamine
Servoklambrite ettevalmistamine
Servoklambrite ettevalmistamine

Kui kõik osad on prinditud, võite alustada servode ja servoklambrite seadistamisega. Lükake esmalt laager põlve servohoidikusse. Sobivus peaks olema tihe, kuid ma soovitaksin laagri sundimise asemel veidi lihvida augu sisepinda, mis võib kahjustada osa. Seejärel laske M4 polt läbi augu ja keerake see mutriga kinni. Seejärel haarake jalast ja haarake sellele kaasasolevate kruvide abil ümmargune servosarv. Kinnitage jalaluu põlve servohoidiku külge kruvidega, mida kasutate ka servomootori kinnitamiseks. Joondage mootor kindlasti nii, et võll oleks samal küljel poldiga, mille varem kinnitasite. Lõpuks kinnitage servo koos ülejäänud mutrite ja poltidega.

Tehke sama puusaliigese servohoidja ja jala servohoidjaga. Sellega peaks teil olema kolm servomootorit ja neile vastavad sulgud.

Märkus: Annan juhised ühe jala ehitamiseks, teine on lihtsalt peegelpildis.

6. samm: lingitükkide valmistamine

Lingitükkide tegemine
Lingitükkide tegemine
Lingitükkide tegemine
Lingitükkide tegemine
Lingitükkide tegemine
Lingitükkide tegemine

Kui sulgud on kokku pandud, alustage linkide tegemist. Laagrilüli tegemiseks lihvige veel kord kergelt laagri avade sisepinda ja lükake laager mõlemalt poolt avasse. Lükake laager kindlasti sisse, kuni üks külg on ühtlane. Servosarve lingi ehitamiseks haarake kaks ümmargust servosarve ja kaasasolevaid kruvisid. Asetage sarved 3D -prindile ja joondage augud, seejärel keerake sarv 3D -prindile, kinnitades kruvi 3D -printimise poolelt. Nende kruvide jaoks soovitan kasutada 3D -prinditud servosarve vahekaugust. Kui lingid on ehitatud, võite alustada jala kokkupanekut.

7. samm: jalgade kokkupanek

Jalade kokkupanek
Jalade kokkupanek
Jalade kokkupanek
Jalade kokkupanek
Jalade kokkupanek
Jalade kokkupanek
Jalade kokkupanek
Jalade kokkupanek

Kui lingid ja sulgud on kokku pandud, saate neid kombineerida, et ehitada roboti jalg. Esmalt kasutage servosarve linki, et kinnitada puusaliigese servohoidik ja põlve servoklamber kokku. Märkus. Ärge keerake sarve servo külge veel kinni, sest järgmises etapis on seadistamisetapp ja see tekitab ebamugavusi, kui sarv keeratakse servomootori külge.

Paigaldage laagrilink mutrite abil väljaulatuvatele poltidele vastasküljel. Lõpuks kinnitage jala servohoidik, sisestades väljaulatuva poldi läbi põlve servohoidiku laagri. Ja kinnitage servavõll servasarve külge, mis on ühendatud põlve servohoidjaga teisel küljel. See võib olla keeruline ülesanne ja ma soovitaksin selleks teist käepaari.

Korrake samme teise jala jaoks. Kasutage viitena igale sammule lisatud pilte.

Samm: kohandatud trükkplaat ja juhtmestik

Kohandatud trükkplaat ja juhtmestik
Kohandatud trükkplaat ja juhtmestik
Kohandatud trükkplaat ja juhtmestik
Kohandatud trükkplaat ja juhtmestik
Kohandatud trükkplaat ja juhtmestik
Kohandatud trükkplaat ja juhtmestik

See on valikuline samm. Juhtmete korrastamiseks otsustasin teha kohandatud trükkplaadi, kasutades perfoplaati ja päise tihvte. PCB sisaldab porte servomootori juhtmete otseühendamiseks. Lisaks jätsin ka lisapordid juhuks, kui sooviksin laiendada ja lisada muid andureid, nagu inertsiaalsed mõõtühikud või ultraheli kaugusandurid. See sisaldab ka porti välise toiteallika jaoks, mida on vaja servomootorite toiteks. Arduino USB ja välise toite vahel vahetamiseks kasutatakse hüpikühendust. Paigaldage Arduino ja trükkplaat elektroonikakinnituse mõlemale küljele, kasutades kruvisid ja 3D -prinditud vahekaugusi.

Märkus: Enne Arduino ühendamist arvutiga USB kaudu ühendage kindlasti hüppaja lahti. Kui te seda ei tee, võite Arduino kahjustada.

Kui otsustate PCB -d mitte kasutada ja selle asemel kasutada leivaplaati, on siin servoühendused:

  • Vasaku puusa >> tihvt 9
  • Parema puusa >> tihvt 8
  • Vasak põlve >> tihvt 7
  • Parema põlve >> tihvt 6
  • Vasak jalg >> tihvt 5
  • Parem jalg >> tihvt 4

Kui otsustate PCB -d teha samas järjekorras nagu eespool, kasutades PCB porde paremalt vasakule IMU -port ülespoole. Ja kasutage PCB ühendamiseks Arduinoga tavalisi meessoost naissoost juhtmeid, kasutades ülaltoodud pin -numbreid. Ühendage kindlasti ka maanduspistik ning looge sama maanduspotentsiaal ja Vin -pin, kui otsustate seda ilma USB -toiteallikata kasutada.

9. samm: keha kokkupanek

Keha kokkupanek
Keha kokkupanek
Keha kokkupanek
Keha kokkupanek
Keha kokkupanek
Keha kokkupanek

Kui mõlemad jalad ja elektroonika on kokku pandud, ühendage need roboti kere ehitamiseks kokku. Kasutage sillaosa kahe jala ühendamiseks. Kasutage samu kinnitusavasid puusaliigese servohoidikul ning servomootorit hoidvaid mutreid ja polte. Lõpuks ühendage elektroonika kinnitus sillaga. Joondage silla ja elektroonikakinnituse augud ning kasutage vuugi tegemiseks M4 mutreid ja polte.

Abi saamiseks vaadake lisatud pilte. Sellega olete lõpetanud roboti riistvara ehitamise. Järgmisena hüppame tarkvarasse ja äratame roboti ellu.

Samm: esmane seadistamine

Esialgne seadistamine
Esialgne seadistamine
Esialgne seadistamine
Esialgne seadistamine
Esialgne seadistamine
Esialgne seadistamine

Selle projekti ehitamisel olen märganud, et servomootorid ja sarved ei pea ideaalselt joonduma, et püsida suhteliselt paralleelsed. Seepärast tuleb iga servomootori "keskset asendit" käsitsi reguleerida, et see jalgadega joonduda. Selle saavutamiseks eemaldage servosarved igast servost ja käivitage eskiis initial_setup.ino. Kui mootorid on oma keskasendisse seadnud, kinnitage sarved tagasi nii, et jalad on täiesti sirged ja jalg on maapinnaga paralleelselt. Kui see nii on, on teil õnne. Kui mitte, avage kõrvalolevalt vahelehelt leitud fail Constants.h ja muutke servo nihke väärtusi (read 1-6), kuni jalad on ideaalselt joondatud ja jalg on tasane. Mängige väärtustega ringi ja saate aimu, mis on teie puhul vajalik.

Kui konstandid on määratud, pange need väärtused tähele, kuna neid läheb hiljem vaja.

Abi saamiseks vaadake pilte.

11. samm: natuke kinemaatikast

Natuke kinemaatikast
Natuke kinemaatikast
Natuke kinemaatikast
Natuke kinemaatikast
Natuke kinemaatikast
Natuke kinemaatikast

Selleks, et kahejalgne sooritaks kasulikke toiminguid, nagu jooksmine ja kõndimine, tuleb erinevad kõnnakud programmeerida liikumisteede kujul. Liikumisrajad on rajad, mida mööda kulgeb lõpp -efektor (sel juhul jalad). Selle saavutamiseks on kaks võimalust:

  1. Üks lähenemisviis oleks toita erinevate mootorite liigendnurki toore jõuga. See lähenemisviis võib olla aeganõudev, tüütu ja täis vigu, kuna otsus on puhtalt visuaalne. Selle asemel on nutikam viis soovitud tulemuste saavutamiseks.
  2. Teine lähenemisviis keerleb ümber kõikide nurkade asemel lõpp -efektori koordinaatide söötmise. Seda nimetatakse pöördkinemaatikaks. Kasutaja sisestab koordinaadid ja liigendinurgad reguleerivad lõpp -efektori paigutamist määratud koordinaatidele. Seda meetodit võib pidada mustaks kastiks, mis võtab sisenditeks koordinaadi ja väljastab liigendnurgad. Neile, kes on huvitatud selle musta kasti trigonomeetriliste võrrandite väljatöötamisest, saate vaadata ülaltoodud diagrammi. Neile, kes pole huvitatud, on võrrandid juba programmeeritud ja neid saab kasutada pos -funktsiooni abil, mis võtab sisendiks x, z ja väljastab kolm mootoritele vastavat nurka.

Neid funktsioone sisaldava programmi leiate järgmisest sammust.

12. samm: Arduino programmeerimine

Arduino programmeerimine
Arduino programmeerimine
Arduino programmeerimine
Arduino programmeerimine

Enne Arduino programmeerimist tuleb faili teha mõningaid muudatusi. Mäletate konstante, mida ma palusin teil märkme maha võtta? Muutke samu konstante väärtusteks, mille määrasite failis constants.h.

Märkus. Kui olete kasutanud selles juhendis esitatud kujundusi, pole teil midagi muuta. Juhul, kui mõni teist on oma kujunduse teinud, peate koos nihkega muutma veel mõnda väärtust. Konstant l1 mõõdab puusa- ja põlveliigese vahelist kaugust. Konstant l2 mõõdab põlveliigese ja pahkluu pöörde vahelist kaugust. Nii et kui kujundasite oma mudeli, mõõtke neid pikkusi ja muutke konstandeid. Jalutuskäikude jaoks kasutatakse kahte viimast konstandit. StepClearance konstant mõõdab, kui kõrgele jalg pärast sammu edasi tuleb, ja stepHeight konstant mõõdab kõrgust maapinnast puusani.

Kui kõik konstandid on vastavalt teie vajadustele muudetud, saate põhiprogrammi üles laadida. Põhiprogramm vormistab roboti lihtsalt kõndimisasendisse ja hakkab samme edasi astuma. Funktsioone saab muuta vastavalt teie vajadusele uurida erinevaid kõnnakuid, kiirusi ja sammupikkusi, et näha, mis töötab kõige paremini.

13. samm: lõpptulemused: aeg katsetamiseks

Lõpptulemused: aeg katsetada
Lõpptulemused: aeg katsetada
Lõpptulemused: aeg katsetada
Lõpptulemused: aeg katsetada
Lõpptulemused: aeg katsetada
Lõpptulemused: aeg katsetada

Kahejalgne võib ilma ümberminekuta astuda samme, mille pikkus on 10–2 cm. Ka kiirust saab muuta, hoides kõnnaku tasakaalus. See kahejalgne koos Arduino jõuga annab tugeva platvormi katsetamiseks mitmesuguste muude kõnnakute ja muude eesmärkidega, nagu hüpped või tasakaalustamine palli löömise ajal. Soovitan teil proovida muuta jalgade liikumisteid, et luua oma kõnnakud ja avastada, kuidas erinevad kõnnakud mõjutavad roboti jõudlust. Süsteemi saab funktsionaalsuse suurendamiseks lisada andureid, nagu IMU ja kaugusandur, samas kui jalgadele saab lisada jõuandureid, et katsetada dünaamilist liikumist ebatasastel pindadel.

Loodan, et teile meeldis see juhend ja see on piisavalt inspiratsiooni omaenda loomiseks. Kui teile projekt meeldis, toetage seda, jättes hääletuse "Arduino võistlusel".

Head tegemist!

Arduino võistlus 2020
Arduino võistlus 2020
Arduino võistlus 2020
Arduino võistlus 2020

Esimene auhind Arduino konkursil 2020

Soovitan: