Obsah:
- Krok 1: Vývojový diagram
- Krok 2: ZAPOJENÉ HLAVNÉ KOMPONENTY:
- Krok 3: MODUL V1:
- Krok 4: MODUL V2:
- Krok 5: ZAPOJENÉ PROBLÉMY -
- Krok 6: MODUL A1 a A2:
- Krok 7: Odkaz na videá:
Video: Samostatne kráčajúci robot: 7 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Čo som urobil?
● Robot, ktorého je možné vycvičiť, aby chodil (pohyboval sa dopredu) na rôznych povrchoch. Bot zobrazuje jednoduchého tvora so 4 nohami bez kolien, ktorý sa snaží pohnúť dopredu. Vie, že môže každú z nôh orientovať iba 3 možnými spôsobmi. Teraz musí zistiť, aké najlepšie možné kroky môže urobiť, aby sa mohol pohnúť z miesta. Pretože jeho pohyb závisí aj od trenia o povrch, domnievame sa, že pre každý iný povrch, po ktorom kráča, bude existovať iný (nie nevyhnutne jedinečný, ale pravdepodobne podobný) súbor krokov na maximalizáciu úsilia pohybovať sa dopredu.
Načo sa to používa?
● Najlepšie sa používa na vizualizáciu vzorcov chôdze pre AI ROBOT.
Krok 1: Vývojový diagram
Tu je rozpis celého projektu. V zásade je projekt rozdelený na 2 časti elektroniku s mechanickou štruktúrou robota a druhou je algoritmus bežiaci nad počítačom a kód bežiaci cez arduino.
Krok 2: ZAPOJENÉ HLAVNÉ KOMPONENTY:
Elektronika
Arduino UNO (!)
Ultrazvukový senzor
Servomotory
Bluetooth modul
Kódovanie
Arduino IDE
Teraterm
Notebook Jupyter
Algoritmus učenia Q
Krok 3: MODUL V1:
Učenie posilnenia: Pomocou ANN (Artificial Neural Network) sme plánovali vyškoliť nášho robota a prišli sme na dve možné metódy.
Obmedzenia: Každá noha (servomotor) je obmedzená tak, aby zaujala iba 3 možné polohy 60, 90 a 120 stupňov. Predpoklady: Myslíme si, že pohyb robota bude predstavovať 4 stavy (stav je určitou orientáciou všetkých štyroch serv), tj. Budú existovať 4 rôzne stavy robota, ktoré budeme považovať za 4 kroky, čo nám poskytne jeden pohybový cyklus, v ktorým sa robot posunie o kus dopredu. Tento cyklus sa bude opakovať do nekonečna, aby sa robot pohyboval.
Ale jediným problémom bol počet iterácií, ktoré sa mali posúdiť - pre každý motor máme 3 možné orientácie a existujú 4 rôzne motory, vďaka ktorým je 3^4 = 81 stavov, v ktorých môže robot existovať v jednom kroku alebo stave. Na dokončenie jedného komplexného pohybu musíme urobiť 4 rôzne kroky, čo znamená, že 81^4 = 43, 046, 721 možných kombinácií je potrebné skontrolovať na maximálnu účinnosť pre jeden cyklus pohybu. Predpokladajme, že natrénovanie jedného stavu trvá 5 sekúnd, jeho absolvovanie by trvalo 6,8250 roka!
Krok 4: MODUL V2:
Algoritmus Q-učenia
Algoritmus učenia pre včasné posilnenie vyvinutý na trénovanie vecí s konečným stavom a hľadanie najkratších ciest. zdroj:
Matematika algoritmu: Existuje 81 možných stavov pre každý krok, v ktorom sa robot môže nachádzať, tieto stavy pomenujeme ako čísla od 1 do 81 a teraz chceme vedieť hodnotu prechodu, čo znamená zmenu polohy robota (posunutá vzdialenosť)), zatiaľ čo sa pohybuje z náhodného stavu s1 do iného stavu s2 (s1, s2 z týchto 81 stavov). Môžeme to vidieť ako maticu s 81 riadkami a 81 stĺpcami, kde sa prvok matice bude rovnať hodnote vzdialenosti, z ktorej sa posunul, zodpovedajúcej číslu jeho riadka a stĺpca. Tieto hodnoty môžu byť kladné alebo záporné v závislosti od pôsobenia robota v skutočnom slove. Teraz nájdeme uzavretú slučku stavov, v ktorých je vzdialenosť, ktorú prejde, vždy kladná. Vyhodnocujeme hodnoty matice 81x81, ktoré sú 81^2 = 6561, ak teda trvá 5 sekúnd, kým sa tieto hodnoty uložia do matice, potom bude Vytvorenie celej matice zaberie iba 9,1125 hodiny a potom sa dá ľahko zistiť slučka krokov na maximalizáciu účinnosti pohybu.
Krok 5: ZAPOJENÉ PROBLÉMY -
- V niektorých štátoch bol pohyb robota veľmi nerovnomerný a ovplyvňoval hodnotu senzora ultrazvuku, robot sa naklonil a zachytil vzdialenosť od vzdialenej steny.
- Problém odpojenia od prenosného počítača a reštartu arduina, ktorý spôsobil, že sa bude trénovať od hodnoty 0, bol veľmi dráždivý.
- Nepretržité sledovanie vlaku robota bolo veľmi vyčerpávajúce.
Krok 6: MODUL A1 a A2:
- Mechanická časť obsahuje dosku podvozku so štyrmi servami, ktoré sú k nej pripevnené. Na výrobu nôh sme použili tyčinky zo zmrzliny.
- Našou hlavnou úlohou - sledovať vzdialenosť robota od jeho pôvodnej polohy.
- Náš prvý prístup bol použiť gyroskopický senzor a použiť akceleráciu robota pri jeho pohybe, aby sa extrahovala jeho rýchlosť a následne jeho poloha.
- Problém - Ukázalo sa, že implementácia je príliš komplikovaná! Alternatíva - Pohyb robota sme obmedzili iba na 1 rozmer a pomocou ultrazvukového senzora sme zmerali vzdialenosť od steny priamo vpredu.
- Modul HC05-Bluetooth bol počas tréningového obdobia použitý na prenos rýchlosti prechodu vzdialenosti medzi dvoma krokmi do počítača a tam boli údaje uložené v matici.
Krok 7: Odkaz na videá:
Kroky pre deti:
Tréningový záber:
Takmer rovno:
Video tancujúceho robota:
Final Vide0:
Odporúča:
Kráčajúci robot s použitím 1 servomotora: 13 krokov (s obrázkami)
Kráčajúci robot s použitím 1 servomotora: Chcel som postaviť tohto chodiaceho robota, odkedy som ho videl na YouTube. Po troške hľadania som o tom našiel niekoľko ďalších informácií a rozhodol som sa vytvoriť si vlastné. Cieľom, ktorý som mal pri stavbe tohto chodítka, bolo pokúsiť sa ho zmenšiť tak malý, ako som len mohol
Heartcrab: Lambada-kráčajúci robot vo vrecku!: 15 krokov (s obrázkami)
Heartcrab: Lambada-kráčajúci robot vo vrecku!: Toto je jeden z týchto projektov s viacerými význammi: je toto syrový príbuzný " headcrabs " z videohier Half-Life? Možno je chodiaca robota zamilovaná do lienky? Alebo lienka pilotuje svojho vlastného mecha? Akákoľvek odpoveď,
Samostatné Arduino ATmega328p: 7 krokov (s obrázkami)
Stand Alone Arduino ATmega328p: Všetko sa to začalo, keď som uvidel inštruovateľnú " binárnu hru " Keebie81
Kráčajúci robot s 3 servami: 4 kroky (s obrázkami)
Kráčajúci robot s 3 servami: Jedná sa o jednoduchého dvojnohého robota, ktorý dokáže chodiť. Vyrobené z Arduina, troch serv a jednoduchého mechanizmu. Príkaz robotu sa môže pohybovať dopredu, dozadu, dokonca sa môže otáčať alebo otáčať. Jedno servo má posúvať ťažisko. Ďalší dvaja majú skrútiť obe nohy.
SimpleWalker: 4-nožný 2-servo kráčajúci robot: 7 krokov
SimpleWalker: kráčajúci robot so 4 nohami a 2 servami: kráčajúci robot s ovládaním Arduino (vlastný dizajn s atmega88) vyrobený z dvoch RC servo a 1 listu listového materiálu