Sadržaj:
- Korak 1: Proces projektiranja
- Korak 2: Uloga Arduina
- Korak 3: Potrebni materijali
- Korak 4: 3D ispisani dijelovi
- Korak 5: Priprema servo nosača
- Korak 6: Izrada poveznica
- Korak 7: Sklapanje nogu
- Korak 8: Prilagođena PCB i ožičenje
- Korak 9: Sklapanje tijela
- Korak 10: Početno postavljanje
- Korak 11: Malo o kinematici
- Korak 12: Programiranje Arduina
- Korak 13: Konačni rezultati: Vrijeme za eksperimentiranje
Video: Arduino upravljani robotski dvonožac: 13 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:32
Fusion 360 projekti »
Uvijek su me zanimali roboti, osobito oni koji pokušavaju oponašati ljudske postupke. Taj me interes natjerao da pokušam dizajnirati i razviti robotskog dvonošca koji bi mogao oponašati ljudsko hodanje i trčanje. U ovom Instructable -u pokazat ću vam dizajn i montažu robotskog dvonošca.
Primarni cilj izgradnje ovog projekta bio je učiniti sustav što je moguće robusnijim, tako da tijekom eksperimentiranja s različitim hodanjem i hodanjem ne bih morao stalno brinuti o kvarovima hardvera. To mi je omogućilo da dovedem hardver do krajnjih granica. Sekundarni cilj bio je učiniti dvonožne relativno jeftinim korištenjem lako dostupnih dijelova za hobi i 3D ispisa ostavljajući prostor za daljnje nadogradnje i proširenja. Ova dva cilja zajedno daju čvrstu osnovu za izvođenje različitih eksperimenata, dopuštajući im da razvije dvonožne prema specifičnijim zahtjevima.
Nastavite s izradom vlastitog Arduino robotiziranog dvonošca i ispustite glasovanje na "Arduino natjecanju" ako vam se svidio projekt.
Korak 1: Proces projektiranja
Humanoidne noge dizajnirane su u Autodeskovom besplatnom softveru za modeliranje Fusion 360 3d. Počeo sam uvozom servo motora u dizajn i izgradio noge oko njih. Dizajnirao sam nosače za servo motor koji pruža drugu zakretnu točku dijametralno suprotnu od osovine servo motora. Dvostruka vratila na oba kraja motora daju konstrukcijsku stabilnost dizajnu i eliminiraju bilo kakvo iskrivljenje koje se može dogoditi kada su noge podnesene za određeno opterećenje. Veze su dizajnirane za držanje ležaja, dok su nosači koristili vijak za osovinu. Nakon što su spojevi montirani na vratila pomoću matice, ležaj bi osigurao glatku i robusnu točku zakretanja na suprotnoj strani vratila servo motora.
Drugi je cilj prilikom projektiranja dvonošca bio zadržati model što kompaktnijim kako bi se maksimalno iskoristio okretni moment koji osiguravaju servo motori. Dimenzije karika napravljene su kako bi se postigao veliki raspon kretnji uz minimiziranje ukupne duljine. Ako bi ih učinili prekratkim, nosači bi se sudarili, smanjili bi se raspon kretnji, a predugo bi izvršili nepotreban okretni moment na aktuatore. Konačno, dizajnirao sam tijelo robota na koje će se montirati Arduino i druge elektroničke komponente.
Napomena: Dijelovi su uključeni u jedan od sljedećih koraka.
Korak 2: Uloga Arduina
U ovom je projektu korišten Arduino Uno. Arduino je bio odgovoran za izračunavanje putanji kretanja različitih hoda koji su testirani i uputio je aktuatore da se kreću pod preciznim kutovima pri preciznim brzinama kako bi stvorili glatko kretanje. Arduino je izvrstan izbor za razvoj projekata zbog svoje svestranosti. Omogućuje hrpu IO pinova i također nudi sučelja poput serijskog, I2C i SPI za komunikaciju s drugim mikrokontrolerima i senzorima. Arduino također pruža izvrsnu platformu za brzo prototipiranje i testiranje, a programerima također daje prostor za poboljšanja i proširenje. U ovom će projektu daljnje inačice uključivati inercijsku mjernu jedinicu za obradu pokreta, kao što je detekcija pada i dinamičko kretanje po neravnom terenu, te senzor za mjerenje udaljenosti kako bi se izbjegle prepreke.
Za ovaj projekt korišten je Arduino IDE. (Arduino također nudi IDE na webu)
Napomena: Programi za robota mogu se preuzeti iz jednog od sljedećih koraka.
Korak 3: Potrebni materijali
Ovdje je popis svih komponenti i dijelova potrebnih za izradu vlastitog dvonožnog robota na Arduino pogon. Svi dijelovi trebali bi biti općenito dostupni i lako se pronaći.
ELEKTRONIKA:
Arduino Uno x 1
Servo motor Towerpro MG995 x 6
Perfboard (slične veličine kao Arduino)
Muški i ženski zaglavlje zaglavlja (svaki po 20)
Žice za kratkospojnike (10 komada)
MPU6050 IMU (opcionalno)
Ultrazvučni senzor (opcionalno)
HARDVER:
Ležaj za skateboard (8x19x7mm)
M4 matice i vijci
Žica za 3D pisač (u slučaju da ne posjedujete 3D pisač, trebao bi postojati 3D pisač u lokalnom radnom prostoru ili se ispisi mogu obaviti putem interneta po prilično jeftino)
Bez Arduina i 3D pisača, ukupni trošak ovog projekta je 20 USD.
Korak 4: 3D ispisani dijelovi
Dijelovi potrebni za ovaj projekt morali su biti prilagođeni tako da je za ispis korišten 3D pisač. Otisci su napravljeni pri ispuni od 40%, 2 oboda, mlaznici od 0,4 mm i visini sloja od 0,1 mm s PLA, boja po vašem izboru. Ispod možete pronaći potpuni popis dijelova i STL -ova za ispis vlastite verzije.
Napomena: Odavde će se dijelovi pozivati na imena s popisa.
- nožni servo držač x 1
- ogledalo za servo držač stopala x 1
- servo držač za koljena x 1
- ogledalo za servo držač koljena x 1
- nožni servo držač x 1
- ogledalo za servo držač stopala x 1
- ležajna karika x 2
- veza servo trube x 2
- nožna poluga x 2
- most x 1
- nosač za elektroniku x 1
- razmaknica za elektroniku x 8 (izborno)
- prostor za servo trube x 12 (izborno)
Ukupno, bez razmaka, ima 14 dijelova. Ukupno vrijeme ispisa je oko 20 sati.
Korak 5: Priprema servo nosača
Nakon što su svi dijelovi ispisani, možete početi s postavljanjem servomotora i servo nosača. Prvo gurnite ležaj u držač servo koljena. Prianjanje bi trebalo biti tijesno, ali preporučio bih malo brušenje unutarnje površine rupe umjesto forsiranja ležaja što bi moglo dovesti do loma dijela. Zatim provucite vijak M4 kroz rupu i zategnite ga maticom. Zatim uhvatite nožnu polugu i pričvrstite kružnu servo trubu na nju pomoću isporučenih vijaka. Pričvrstite nožnu polugu na držač servo koljena pomoću vijaka koje ćete koristiti i za pričvršćivanje servo motora. Poravnajte motor tako da osovina bude na istoj strani vijka koji ste ranije pričvrstili. Na kraju učvrstite servo s ostalim maticama i vijcima.
Učinite isto s držačem servo kuka i držačem servoa za stopala. S tim biste trebali imati tri servo motora i odgovarajuće nosače.
Napomena: Dajem upute za izgradnju jedne noge, druga je jednostavno preslikana.
Korak 6: Izrada poveznica
Nakon što su nosači sastavljeni, počnite stvarati veze. Za izradu ležajne veze još jednom lagano izbrusite unutarnju površinu rupa za ležaj, a zatim gurnite ležaj u rupu s obje strane. Utisnite ležaj dok se jedna strana ne isperi. Za izradu veze servo trube, uhvatite dvije kružne servo trube i isporučene vijke. Postavite rogove na 3D ispis i poravnajte rupe, zatim zavijte trubu na 3D ispis pričvršćivanjem vijka sa strane 3D ispisa. Za ove vijke preporučujem upotrebu odstojnika servo trupa s 3D printom. Nakon što su veze izgrađene, možete početi sastavljati nogu.
Korak 7: Sklapanje nogu
Kad se poveznice i zagrade sastave, možete ih kombinirati za izradu nogu robota. Najprije upotrijebite vezu servo trube da zajedno pričvrstite servo držač kuka i servo držač koljena. Napomena: Nemojte još zavijati trubu na servo pogon jer u sljedećoj fazi postoji faza postavljanja i bit će neugodno ako je sirena pričvršćena na servo motor.
Na suprotnoj strani pričvrstite ležajnu vezu na vijke koji vire pomoću matica. Na kraju, pričvrstite nožni servo držač umetanjem izbočenog vijka kroz ležaj na držaču servo koljena. I pričvrstite servo vratilo na servo trubu povezanu s držačem servo koljena s druge strane. Ovo može biti težak zadatak i za ovo bih preporučio drugi par ruku.
Ponovite korake za drugu nogu. Slike kao priručnike koristite uz svaki korak.
Korak 8: Prilagođena PCB i ožičenje
Ovo je izborni korak. Kako bih ožičenje učinio urednijim, odlučio sam napraviti prilagođenu PCB ploču koristeći perf ploču i zaglavlje. PCB sadrži priključke za izravno povezivanje žica servo motora. Osim toga, ostavio sam i dodatne priključke u slučaju da želim proširiti i dodati druge senzore, poput inercijskih mjernih jedinica ili ultrazvučnih senzora udaljenosti. Sadrži i priključak za vanjski izvor napajanja potreban za napajanje servo motora. Kratkospojna veza koristi se za prebacivanje između USB -a i vanjskog napajanja za Arduino. Montirajte Arduino i PCB s obje strane nosača elektronike pomoću vijaka i 3D tiskanih odstojnika.
Napomena: Prije spajanja Arduina na računalo putem USB -a, isključite kratkospojnik. Ako to ne učinite, može doći do oštećenja Arduina.
Ako odlučite ne koristiti PCB, a umjesto toga upotrijebite ploču, evo servo priključaka:
- Lijevi bok >> pin 9
- Desni bok >> pin 8
- Lijevo koljeno >> pin 7
- Desno koljeno >> pin 6
- Lijeva noga >> pin 5
- Desna noga >> pin 4
Ako odlučite da PCB slijedi isti redoslijed kao gore, koristeći portove na PCB -u zdesna nalijevo s IMU priključkom prema gore. I upotrijebite obične muško -ženske žice za spajanje da biste spojili PCB na Arduino koristeći gornje brojeve pinova. Također, spojite uzemljeni pin i stvorite isti potencijal uzemljenja kao i Vin pin kada ga odlučite pokrenuti bez USB napajanja.
Korak 9: Sklapanje tijela
Kad se dvije noge i elektronika sastave, spojite ih zajedno kako biste izgradili tijelo robota. Pomoću komada mosta spojite dvije noge zajedno. Upotrijebite iste montažne rupe na držaču servo kuka i matice i vijke koji drže servo motor. Na kraju, spojite nosač elektronike na most. Poravnajte rupe na mostu i nosaču elektronike te upotrijebite matice i vijke M4 za izradu spoja.
Za pomoć pogledajte priložene slike. Time ste dovršili hardversku izgradnju robota. Zatim uskočimo u softver i oživimo robota.
Korak 10: Početno postavljanje
Ono što sam primijetio tijekom izgradnje ovog projekta je da se servo motori i sirene ne moraju savršeno poravnati kako bi ostali relativno paralelni. Zbog toga se "središnji položaj" svakog servo motora mora ručno podesiti tako da se poravna s nogama. Da biste to postigli, uklonite servo trube sa svakog serva i pokrenite skicu initial_setup.ino. Nakon što su se motori smjestili u središnji položaj, ponovno spojite trube tako da su noge savršeno ravne, a stopalo savršeno paralelno s tlom. U tom slučaju imate sreće. Ako ne otvorite datoteku constants.h koja se nalazi na susjednoj kartici i izmijenite vrijednosti pomaka servo-a (retci 1-6) sve dok noge nisu savršeno poravnate, a stopalo ravno. Poigrajte se s vrijednostima i dobit ćete ideju o tome što je potrebno u vašem slučaju.
Nakon što su konstante postavljene, zabilježite ove vrijednosti jer će im kasnije biti potrebne.
Za pomoć pogledajte slike.
Korak 11: Malo o kinematici
Kako bi dvonožac izvodio korisne radnje poput trčanja i hodanja, različite je hodove potrebno programirati u obliku staza kretanja. Putevi kretanja su putevi kojima se kreće krajnji efektor (u ovom slučaju stopala). Postoje dva načina da se to postigne:
- Jedan bi pristup bio hranjenje spojnih kutova različitih motora na grubu silu. Ovaj pristup može biti dugotrajan, dosadan i također ispunjen pogreškama budući da je prosudba čisto vizualna. Umjesto toga, postoji pametniji način postizanja željenih rezultata.
- Drugi pristup se vrti oko hranjenja koordinata krajnjeg efektora umjesto svih spojnih kutova. To je ono što je poznato kao inverzna kinematika. Korisnik unosi koordinate, a kutovi spoja se podešavaju tako da krajnji efektor postavi na navedene koordinate. Ova se metoda može smatrati crnom kutijom koja uzima kao ulaznu koordinatu i izlazi zajedničke kutove. Za one koje zanima kako su razvijene trigonometrijske jednadžbe ove crne kutije mogu pogledati gornji dijagram. Za one koje ne zanimaju, jednadžbe su već programirane i mogu se koristiti pomoću funkcije pos koja uzima kao ulaz x, z i izlazi tri kuta koji odgovaraju motorima.
Program koji sadrži ove funkcije možete pronaći u sljedećem koraku.
Korak 12: Programiranje Arduina
Prije programiranja Arduina potrebno je napraviti male izmjene u datoteci. Sjećate li se konstanti koje sam vas zamolio da izvadite bilješku? Izmijenite iste konstante na vrijednosti koje ste postavili u datoteci constants.h.
Napomena: Ako ste koristili dizajne navedene u ovom Uputu, nemate što promijeniti. U slučaju da neki od vas imaju vlastite dizajne, morat ćete promijeniti još nekoliko vrijednosti zajedno s pomacima. Konstanta l1 mjeri udaljenost između kuta i koljena. Konstanta l2 mjeri udaljenost između stožera koljena i zavoja gležnja. Dakle, ako ste dizajnirali vlastiti model, izmjerite te duljine i izmijenite konstante. Za hod se koriste posljednje dvije konstante. StepClearance konstanta mjeri koliko će se stopalo podići dok napreduje nakon koraka, a stepHeight konstanta mjeri visinu od tla do kuka tijekom koraka.
Nakon što se sve konstante promijene prema vašim potrebama, možete prenijeti glavni program. Glavni program jednostavno inicijalizira robota u hodajući stav i počinje koračati naprijed. Funkcije se mogu mijenjati prema vašoj potrebi za istraživanjem različitih hodova, brzina i duljina koraka kako biste vidjeli što najbolje funkcionira.
Korak 13: Konačni rezultati: Vrijeme za eksperimentiranje
Dvonožac može poduzeti korake u dužini od 10 do 2 cm bez prevrtanja. Brzina se također može mijenjati uz održavanje uravnoteženog hoda. Ovaj dvonožac u kombinaciji sa snagom Arduina pruža robusnu platformu za eksperimentiranje s raznim drugim hodima i drugim ciljevima, poput skakanja ili balansiranja dok udarate loptu. Preporučio bih vam da pokušate promijeniti putanju kretanja nogu kako biste stvorili vlastite hodove i otkrili kako različiti hodovi utječu na performanse robota. Senzori kao što su IMU i senzor udaljenosti mogu se dodati sustavu kako bi se povećale njegove funkcionalnosti, dok se senzori sile mogu dodati nogama kako bi eksperimentirali s dinamičkim kretanjem na neravnim površinama.
Nadam se da ste uživali u ovom Instructable -u i da je dovoljna inspiracija za izgradnju vlastitog. Ako vam se svidio projekt podržite ga tako što ćete glasovati na "Arduino natjecanju".
Sretno stvaranje!
Prva nagrada na Arduino natjecanju 2020
Preporučeni:
Robotski upravljani okretni enkoder: 6 koraka
Robotski upravljani okretni enkoder: Posjetio sam howtomechatronics.com i tamo vidio robotsku ruku s bluetooth kontrolom. Ne volim koristiti bluetooth, plus vidio sam da možemo kontrolirati servo pomoću rotacijskog davača, pa sam ga redizajnirao da mogu kontrolirati robota ruku upotrijebite rotacijski davač i snimite ga
Napravite Arduino upravljani klizač s motoriziranom kamerom!: 13 koraka (sa slikama)
Napravite Arduino upravljani klizač s motoriziranom kamerom !: Ovaj projekt pokazuje vam kako pretvoriti bilo koji obični klizač u Arduino upravljani klizni klizač. Klizač se može kretati vrlo brzo pri 6 m/min, ali i nevjerojatno sporo. Preporučujem vam da pogledate video kako biste dobili dobar uvod. Stvari koje trebate: Bilo koji
Bežični robotski upravljani pokret i glas: 7 koraka (sa slikama)
Bežični robotski upravljani pokretima i glasom: U osnovi, ovo je bio naš fakultetski projekt i zbog nedostatka vremena za podnošenje ovog projekta zaboravili smo snimiti neke korake. Također smo osmislili kôd pomoću kojeg se može upravljati ovom robotskom rukom pokretima i glasom u isto vrijeme, ali zbog
Arduino upravljani servo robot (SRB): 7 koraka (sa slikama)
Arduino upravljani servo robot (SERB): Koji je bolji način da počnete eksperimentirati s mikrokontrolerima otvorenog koda (Arduino), zatim izgradnjom vlastitog otvorenog koda (CC (SA -BY))? Što učiniti sa vašim SERB -om? (ovdje) - Kako spojiti svoj SERB na internet i voziti ga preko S
Arduino upravljani zvonik/Carillon: 5 koraka (sa slikama)
Arduino upravljani zvonik/Carillon: Ovo je skup glazbenih zvona koja se pokreću solenoidima i kontroliraju ih Arduino mikrokontrolerom. Postoji 8 zvona koja pokrivaju jednu oktavu. Zvonima se može upravljati s računala ili toranj može stajati sam i svirati unaprijed programirane melodije