Obsah:

Arduino ovládaný robotický dvounožec: 13 kroků (s obrázky)
Arduino ovládaný robotický dvounožec: 13 kroků (s obrázky)

Video: Arduino ovládaný robotický dvounožec: 13 kroků (s obrázky)

Video: Arduino ovládaný robotický dvounožec: 13 kroků (s obrázky)
Video: Ovládání robotické ruky MeArm pomocí Arduino UNO 2024, Listopad
Anonim
Image
Image
Arduino ovládané robotické dvounože
Arduino ovládané robotické dvounože
Arduino ovládané robotické dvounože
Arduino ovládané robotické dvounože

Projekty Fusion 360 »

Vždy mě roboti zaujali, zvláště ten, který se pokouší napodobit lidské činy. Tento zájem mě přivedl k pokusu navrhnout a vyvinout robotického dvounožce, který by dokázal napodobit lidskou chůzi a běh. V tomto Instructable vám ukážu návrh a montáž robotické dvounožky.

Primárním cílem při stavbě tohoto projektu bylo zajistit, aby byl systém co nejrobustnější, takže při experimentování s různými chůzi a běhy se nemusím neustále obávat selhání hardwaru. To mi umožnilo posunout hardware na jeho hranici. Sekundárním cílem bylo, aby byl biped relativně levný pomocí snadno dostupných hobby dílů a 3D tisku, aby ponechal prostor pro další upgrady a expanze. Tyto dva cíle v kombinaci poskytují robustní základnu pro provádění různých experimentů, díky čemuž lze rozvíjet dvojnožky podle konkrétnějších požadavků.

Pokračujte a vytvořte si svého vlastního robota ovládaného Arduinem a hlasujte v „soutěži Arduino“, pokud se vám projekt líbil.

Krok 1: Proces návrhu

Proces návrhu
Proces návrhu
Proces návrhu
Proces návrhu
Proces návrhu
Proces návrhu

Humanoidní nohy byly navrženy ve volném použití Autodesk pro použití 3D modelovacího softwaru Fusion 360. Začal jsem importem servomotorů do konstrukce a postavil nohy kolem nich. Pro servomotor jsem navrhl držáky, které poskytují druhý otočný bod diametrálně protilehlý k hřídeli servomotoru. Dvojité hřídele na obou koncích motoru poskytují konstrukční stabilitu konstrukce a eliminují jakékoli zkosení, ke kterému může dojít, když jsou nohy vyrobeny tak, aby unesly určité zatížení. Články byly navrženy tak, aby držely ložisko, zatímco konzoly používaly šroub pro hřídel. Jakmile byly články namontovány na hřídele pomocí matice, ložisko by poskytlo hladký a robustní bod otáčení na opačné straně hřídele servomotoru.

Dalším cílem při navrhování dvounože bylo udržet model co nejkompaktnější, aby se maximálně využil točivý moment poskytovaný servomotory. Rozměry spojů byly provedeny tak, aby bylo dosaženo velkého rozsahu pohybu při minimalizaci celkové délky. Pokud by byly příliš krátké, došlo by ke kolizi držáků, snížení rozsahu pohybu a příliš dlouhé by na akční členy vyvíjelo zbytečný točivý moment. Nakonec jsem navrhl tělo robota, na které by se připevnilo Arduino a další elektronické součástky.

Poznámka: Díly jsou zahrnuty v jednom z následujících kroků.

Krok 2: Role Arduina

Role Arduina
Role Arduina

V tomto projektu bylo použito Arduino Uno. Arduino bylo zodpovědné za výpočet pohybových drah různých testovaných chodů a instruovalo akční členy, aby se pohybovaly do přesných úhlů přesnou rychlostí, aby vytvořily hladký pohyb chůze. Arduino je díky své univerzálnosti skvělou volbou pro vývoj projektů. Poskytuje spoustu IO pinů a také poskytuje rozhraní jako sériový, I2C a SPI pro komunikaci s jinými mikrokontroléry a senzory. Arduino také poskytuje skvělou platformu pro rychlé prototypování a testování a také poskytuje vývojářům prostor pro vylepšení a rozšiřitelnost. V tomto projektu budou další verze zahrnovat inerciální měřicí jednotku pro zpracování pohybu, jako je detekce pádu a dynamická lokomoce v nerovném terénu, a senzor měření vzdálenosti, aby se zabránilo překážkám.

Pro tento projekt bylo použito Arduino IDE. (Arduino také poskytuje webové IDE)

Poznámka: Programy pro robota lze stáhnout z jednoho z následujících kroků.

Krok 3: Potřebné materiály

Potřebné materiály
Potřebné materiály
Potřebné materiály
Potřebné materiály
Potřebné materiály
Potřebné materiály
Potřebné materiály
Potřebné materiály

Zde je seznam všech komponent a dílů potřebných k vytvoření vlastního robota Bipedal poháněného Arduino. Všechny díly by měly být běžně dostupné a snadno dostupné.

ELEKTRONIKA:

Arduino Uno x 1

Servopohon Towerpro MG995 x 6

Perfboard (podobná velikost jako Arduino)

Samčí a samičí záhlaví kolíků (asi 20 z nich)

Propojovací vodiče (10 kusů)

MPU6050 IMU (volitelně)

Ultrazvukový senzor (volitelně)

HARDWARE:

Ložisko pro skateboard (8x19x7mm)

Matice a šrouby M4

Filament 3D tiskárny (v případě, že nevlastníte 3D tiskárnu, měla by být v místním pracovním prostoru 3D tiskárna nebo lze tisknout online za poměrně levnou cenu)

Bez Arduina a 3D tiskárny jsou celkové náklady na tento projekt 20 $.

Krok 4: 3D tištěné díly

3D tištěné díly
3D tištěné díly
3D tištěné díly
3D tištěné díly
3D tištěné díly
3D tištěné díly
3D tištěné díly
3D tištěné díly

Díly požadované pro tento projekt musely být navrženy na míru, proto byla k jejich vytištění použita 3D tiskárna. Výtisky byly provedeny se 40% výplní, 2 obvody, tryskou 0,4 mm a výškou vrstvy 0,1 mm s PLA, barva dle vašeho výběru. Níže naleznete kompletní seznam dílů a STL pro tisk vlastní verze.

Poznámka: Odtud budou na díly odkazovány názvy v seznamu.

  • držák servopohonu x 1
  • zrcátko držáku servopohonu x 1
  • držák kolenního serva x 1
  • zrcátko držáku servopohonu x 1
  • držák servopohonu x 1
  • zrcátko držáku servopohonu x 1
  • ložiskový článek x 2
  • odkaz na servo houkačku x 2
  • nožní spoj x 2
  • most x 1
  • držák elektroniky x 1
  • rozteč elektroniky x 8 (volitelně)
  • prostor servo houkačky x 12 (volitelně)

Celkem bez rozpěr je 14 dílů. Celková doba tisku je přibližně 20 hodin.

Krok 5: Příprava servo držáků

Příprava servopohonů
Příprava servopohonů
Příprava servopohonů
Příprava servopohonů
Příprava servopohonů
Příprava servopohonů

Jakmile jsou vytištěny všechny součásti, můžete začít nastavením serv a držáků serva. Nejprve zatlačte ložisko do držáku kolenního serva. Přilnavost by měla být pohodlná, ale doporučil bych trochu zabrousit vnitřní povrch otvoru namísto tlačení ložiska, což může riskovat rozbití součásti. Poté protáhněte šroub M4 otvorem a utáhněte jej pomocí matice. Dále uchopte nožní spojku a pomocí dodaných šroubů k ní připevněte kruhový servo roh. Připevněte nožní článek k držáku kolenního serva pomocí šroubů, které použijete také k připevnění servomotoru. Ujistěte se, že je motor zarovnán tak, aby hřídel byla na stejné straně šroubu, který jste dříve připevnili. Nakonec zajistěte servo zbytkem matic a šroubů.

Totéž proveďte s držákem kyčelního serva a nožního servopohonu. S tím byste měli mít tři servomotory a jim odpovídající držáky.

Poznámka: Poskytuji pokyny pro stavbu jedné nohy, druhá je jednoduše zrcadlena.

Krok 6: Vytvoření propojovacích částí

Vytváření spojovacích prvků
Vytváření spojovacích prvků
Vytváření odkazů
Vytváření odkazů
Vytváření odkazů
Vytváření odkazů

Jakmile jsou závorky sestaveny, začněte vytvářet odkazy. Chcete -li vytvořit ložiskový článek, ještě jednou lehce obrouste vnitřní povrch otvorů pro ložisko a poté zatlačte ložisko do otvoru na obou stranách. Ložisko zatlačte dovnitř, dokud nebude jedna strana v jedné rovině. Chcete -li vytvořit článek servo houkačky, uchopte dva kruhové serva a dodané šrouby. Umístěte rohy na 3D tisk a zarovnejte otvory, poté přišroubujte roh na 3D tisk připevněním šroubu ze strany 3D tisku. Pro tyto šrouby doporučuji použít 3D vytištěnou podložku servo houkačky. Jakmile jsou odkazy vytvořeny, můžete začít sestavovat nohu.

Krok 7: Sestavení nohou

Sestavení nohou
Sestavení nohou
Sestavení nohou
Sestavení nohou
Sestavení nohou
Sestavení nohou
Sestavení nohou
Sestavení nohou

Jakmile jsou články a držáky sestaveny, můžete je spojit a postavit nohu robota. Nejprve spojkou servo houkačky spojte držák servo kyčle a držák kolena k sobě. Poznámka: Ještě nešroubujte houkačku na servo, protože v následující fázi je fáze nastavení a pokud by byla houkačka našroubována na servomotor, bylo by nepříjemné.

Na opačné straně namontujte ložiskový článek na vyčnívající šrouby pomocí matic. Nakonec připevněte držák servopohonu nohou zasunutím vyčnívajícího šroubu přes ložisko na držáku kolenního serva. A upevněte hřídel serva k servo houkačce připojené k držáku kolenního serva na druhé straně. To může být ošemetný úkol a doporučil bych k tomu druhý pár rukou.

Opakujte kroky pro druhou nohu. Jako referenci použijte obrázky připojené ke každému kroku.

Krok 8: Vlastní deska plošných spojů a zapojení

Vlastní PCB a elektroinstalace
Vlastní PCB a elektroinstalace
Vlastní PCB a elektroinstalace
Vlastní PCB a elektroinstalace
Vlastní PCB a elektroinstalace
Vlastní PCB a elektroinstalace

Toto je volitelný krok. Aby byl kabeláž úhlednější, rozhodl jsem se vyrobit vlastní desku plošných spojů pomocí desky pro desku perf a záhlaví. Deska plošných spojů obsahuje porty pro přímé připojení vodičů servomotoru. Kromě toho jsem také nechal další porty pro případ, že bych chtěl rozšířit a přidat další senzory, jako jsou inerciální měřicí jednotky nebo ultrazvukové snímače vzdálenosti. Obsahuje také port pro externí zdroj energie potřebný k napájení servomotorů. Pro přepínání mezi USB a externím napájením pro Arduino se používá propojovací připojení. Namontujte Arduino a PCB na obě strany držáku elektroniky pomocí šroubů a 3D tištěných distančních podložek.

Poznámka: Před připojením Arduina k počítači přes USB nezapomeňte odpojit propojku. Pokud tak neučiníte, může dojít k poškození Arduina.

Pokud se rozhodnete nepoužívat desku plošných spojů a místo toho použít prkénko, jsou zde servo připojení:

  • Levý bok >> kolík 9
  • Pravý bok >> kolík 8
  • Levé koleno >> kolík 7
  • Pravé koleno >> kolík 6
  • Levá noha >> kolík 5
  • Pravá noha >> kolík 4

Pokud se rozhodnete, aby se deska plošných spojů řídila stejným pořadí jako výše, pomocí portů na desce plošných spojů zprava doleva s portem IMU směrem nahoru. A pomocí běžných propojovacích kabelů mezi muži a ženami připojte desku plošných spojů k Arduinu pomocí výše uvedených čísel pinů. Nezapomeňte také připojit zemnící kolík a vytvořit stejný zemní potenciál a Vin pin, když se rozhodnete jej spustit bez napájení USB.

Krok 9: Sestavení těla

Sestavení těla
Sestavení těla
Sestavení těla
Sestavení těla
Sestavení těla
Sestavení těla

Jakmile jsou obě nohy a elektronika sestaveny, spojte je dohromady a vytvořte tělo robota. Pomocí můstku spojte obě nohy dohromady. Použijte stejné montážní otvory na držáku kyčelního serva a maticích a šroubech, které drží servomotor. Nakonec připojte držák elektroniky k můstku. Vyrovnejte otvory na můstku a držáku elektroniky a použijte matice a šrouby M4 k vytvoření spoje.

Nápovědu najdete na přiložených obrázcích. Tímto jste dokončili sestavení hardwaru robota. Dále se vrhneme na software a přivedeme robota k životu.

Krok 10: Úvodní nastavení

Úvodní nastavení
Úvodní nastavení
Úvodní nastavení
Úvodní nastavení
Úvodní nastavení
Úvodní nastavení

Při stavbě tohoto projektu jsem si všiml, že servomotory a rohy nemusí být dokonale sladěny, aby zůstaly relativně rovnoběžné. Z tohoto důvodu musí být „centrální poloha“každého servomotoru ručně nastavena tak, aby odpovídala nohám. Abyste toho dosáhli, odeberte servo rohy z každého serva a spusťte skicu initial_setup.ino. Jakmile se motory usadí ve své centrální poloze, znovu připojte rohy tak, aby byly nohy dokonale rovné a chodidlo bylo dokonale rovnoběžné se zemí. Pokud je to váš případ, máte štěstí. Pokud ne, otevřete soubor constants.h nalezený na sousední záložce a upravte hodnoty offsetu serva (řádky 1-6), dokud nebudou nohy dokonale zarovnané a chodidlo nebude ploché. Pohrajte si s hodnotami a získáte představu o tom, co je ve vašem případě nezbytné.

Jakmile jsou konstanty nastaveny, poznamenejte si tyto hodnoty, protože budou později potřeba.

Nápovědu najdete na obrázcích.

Krok 11: Trochu o kinematice

Trochu o kinematice
Trochu o kinematice
Trochu o kinematice
Trochu o kinematice
Trochu o kinematice
Trochu o kinematice

Aby dvounožec mohl provádět užitečné činnosti, jako je běh a chůze, je třeba naprogramovat různé chody ve formě pohybových cest. Cesty pohybu jsou cesty, po kterých se pohybuje koncový efektor (v tomto případě nohy). Existují dva způsoby, jak toho dosáhnout:

  1. Jedním z přístupů by bylo krmit spojovací úhly různých motorů způsobem hrubé síly. Tento přístup může být časově náročný, únavný a také plný chyb, protože úsudek je čistě vizuální. Místo toho existuje chytřejší způsob, jak dosáhnout požadovaných výsledků.
  2. Druhý přístup se točí kolem podávání souřadnic koncového efektoru místo všech kloubových úhlů. Tomu se říká inverzní kinematika. Uživatel zadá souřadnice a úhly spojů se přizpůsobí poloze koncového efektoru na zadaných souřadnicích. Tuto metodu lze považovat za černou skříňku, která bere jako vstupy souřadnice a výstupy kloubových úhlů. Kdo se zajímá o to, jak byly vyvinuty trigonometrické rovnice této černé skříňky, může se podívat na výše uvedený diagram. Pro ty, které to nezajímá, jsou rovnice již naprogramovány a lze je použít pomocí funkce pos, která bere jako vstup x, z a vydává tři úhly odpovídající motorům.

Program obsahující tyto funkce najdete v dalším kroku.

Krok 12: Programování Arduina

Programování Arduina
Programování Arduina
Programování Arduina
Programování Arduina

Před programováním Arduina je třeba v souboru provést drobné úpravy. Pamatujete si ty konstanty, které jsem od vás požadoval, abyste si odnesli poznámku? Upravte stejné konstanty na hodnoty, které jste nastavili v souboru constants.h.

Poznámka: Pokud jste použili návrhy uvedené v tomto Instructable, nemáte co měnit. V případě, že někteří z vás provedli vlastní návrhy, budete muset spolu s kompenzacemi změnit ještě několik hodnot. Konstanta l1 měří vzdálenost mezi kyčelním čepem a kolenním čepem. Konstanta l2 měří vzdálenost mezi kolenním čepem a kotníkem. Pokud jste tedy navrhli svůj vlastní model, změřte tyto délky a upravte konstanty. Poslední dvě konstanty jsou použity pro chody. Konstanta stepClearance měří, jak vysoko se noha zvedne při příchodu po kroku, a konstanta stepHeight měří při provádění kroků výšku od země k kyčli.

Jakmile jsou všechny konstanty upraveny podle vaší potřeby, můžete nahrát hlavní program. Hlavní program jednoduše inicializuje robota do chůze a začne dělat kroky vpřed. Funkce lze upravit podle vaší potřeby prozkoumat různé chody, rychlosti a délky kroků, abyste zjistili, co funguje nejlépe.

Krok 13: Konečné výsledky: Čas na experiment

Konečné výsledky: Čas na experiment
Konečné výsledky: Čas na experiment
Konečné výsledky: Čas na experiment
Konečné výsledky: Čas na experiment
Konečné výsledky: Čas na experiment
Konečné výsledky: Čas na experiment

Dvounožce může provádět kroky, které se liší od 10 do 2 cm, aniž by se převrhl. Rychlost lze také měnit při zachování vyvážené chůze. Tato dvounožka v kombinaci se silou Arduina poskytuje robustní platformu pro experimentování s různými dalšími chody a dalšími cíli, jako je skákání nebo balancování při kopání do míče. Doporučil bych vám, abyste zkusili změnit dráhy pohybu nohou, abyste si vytvořili vlastní chody a zjistili, jak různé chody ovlivňují výkon robota. K systému lze přidat čidla, jako je IMU a snímač vzdálenosti, aby se zvýšila jeho funkčnost, zatímco na nohy lze přidat snímače síly, aby bylo možné experimentovat s dynamickým pohybem na nerovném povrchu.

Doufáme, že se vám tento Instructable líbil a je dostatečnou inspirací k vytvoření vlastního. Pokud se vám projekt líbil, podpořte ho vložením hlasu do „soutěže Arduino“.

Šťastné tvoření!

Soutěž Arduino 2020
Soutěž Arduino 2020
Soutěž Arduino 2020
Soutěž Arduino 2020

První cena v soutěži Arduino Contest 2020

Doporučuje: