Hexapod Ignác: Rozdiel medzi revíziami
Zo stránky SensorWiki
Bez shrnutí editace |
|||
Riadok 29: | Riadok 29: | ||
=== Algoritmus a program === | === Algoritmus a program === | ||
Program na riadenie robota sme vytvorili v programovacom prostredí MATLAB & Simulink 2019a za pomoci podporných balíkov pre Raspberry Pi. V Simulinku v prostredí Stateflow, ktoré slúži na tvorbu udalostných systémov, sme ovládali chod jednotlivých servomotorov. Obraz s | |||
[[Súbor:HexapodSimulink.jpg]] | |||
Uveďte stručný popis algoritmu, v akom jazyku a verzii vývojového prostredia ste ho vytvorili. | Uveďte stručný popis algoritmu, v akom jazyku a verzii vývojového prostredia ste ho vytvorili. | ||
Riadok 51: | Riadok 55: | ||
[[Médiá:MojProgram.c|program.c]] | [[Médiá:MojProgram.c|program.c]] | ||
=== Výsledok === | === Výsledok === |
Verzia z 19:29, 5. jún 2019
Autori: | Martin Psotka, Vladimír Beňák | |
Študijný odbor: | Robotika a kybernetika | 3. Bc. (2019) |
Opis projektu
Cieľom tohto projektu bolo zdokonalenie už existujúceho HEXAPODU, čo je šesťnohý kráčajúci robot svojou stavbou pripomínajúc pavúka.
Po menej úspešnej účasti na robotickej súťaži ISTROBOT, ktorá sa konala v roku 2018 sme analyzovali nedostatky nášho kráčajúceho HEXAPODU. Z analýzy sme zistili, že robot nedodržuje požadovaný smer kráčania a neudržuje svoj pohyb vo vymedzených hraniciach. Táto zmena smeru je spôsobená nepresným dosahovaním požadovaných polôh servomotorov, ktoré pohybujú končatinami robota a tým udávajú robota do pohybu.
Analýza 1
Problematiku HEXAPODU sme zaznamenali postupným získavaním skúseností v tejto oblasti. Už pred účasťou na súťaži ISTROBOT 2018 sme zaznamenali problém s HEXAPODOM, kedy sme postrehli, že robot nie je schopný udržať sa vo vymedzených hraniciach na dráhe určenej pre robotí šprint. Keďže v tom čase sme nemali čas na nápravu tohto problému, tak problém sme riešili postupným ladením jednotlivých servomotorov. Žiaľ tento spôsob sa nám neosvedčil, pretože sme zistili, že akokoľvek prestavíme požadovanú hodnotu, tak servomotor nám presne túto hodnotu nedosiahne z dôvodu menšej nosnosti jednotlivých motorov. Naším návrhom bolo odstránenie prebytočných častí systému, ktoré neboli využívané. Z toho dôvodu sme sa rozhodli pre odstránenie jedného kĺbu (servomotoru), ktorý nebol využívaný a zbytočne zaťažoval konštrukciu robota. Týmto spôsobom by sa mala konštrukcia odľahčiť a motory by mali väčšiu šancu dosiahnuť požadovanú polohu.
Analýza 2
Po vykonaní analýzy 1 a následne po aplikácií jednotlivých krokov, ktoré mali vyriešiť analyzovaný problém sme zistili, že problém pretrváva. Z toho dôvodu sme sa rozhodli pridať na robota kameru k mikropočítaču Raspberry Pi 3, ktorá nám poskytuje vizuálny kontakt s okolím a vďaka tomuto vizuálnemu kontaktu získavame spätnú väzbu, za pomoci ktorej dokážeme presnejšie riadiť robota.
Popis riešenia
Po vykonaní analýzy 1 sme zistili, že musíme nanovo navrhnúť nohy robota. Po prekonzultovaní možnosti sme sa rozhodli odstrániť jeden kĺb, ktorý pre náš robotí šprint bol nevyužívaný.
Algoritmus a program
Program na riadenie robota sme vytvorili v programovacom prostredí MATLAB & Simulink 2019a za pomoci podporných balíkov pre Raspberry Pi. V Simulinku v prostredí Stateflow, ktoré slúži na tvorbu udalostných systémov, sme ovládali chod jednotlivých servomotorov. Obraz s
Uveďte stručný popis algoritmu, v akom jazyku a verzii vývojového prostredia ste ho vytvorili. Je vhodné nakresliť aspoň hrubú štruktúru programu napríklad vo forme vývojového diagramu. Rozsiahly program pre lepšiu prehľadnosť rozdeľte do viacerých súborov.
Vyberte podstatné časti zdrojového kódu, použite na to prostredie source:
/* A nezabudnite zdroják hojne komentovať */
int main(void) {
printf("Hello, World!\n");
return(0);
}
Nezabudnite však nahrať aj kompletné zdrojové kódy vášho programu!
Zdrojový kód: serial.h a main.c
Výsledok
Nezabudnite zdokumentovať výsledok vašej práce. Určite sem patria fotografie, video a zhodnotenie ako ste spokojní s výsledkom,
Kľúčové slová 'Category', ktoré sú na konci stránky nemeňte.