Operácie

Self Balancing Robot: Rozdiel medzi revíziami

Z SensorWiki

(Pridané mená autorov, študijný odbor. Pridaná bola ja kostra opisu vyrobených súčiastok.)
(Pridané obrázky návrhu vyrobených komponentov, pridané body do častí Analýza a Popis Riešenia.)
Riadok 34: Riadok 34:
 
Návrh:
 
Návrh:
  
Podvozok bol navrhnutý v programe qcad. Na tomto podvozku sa nachádzajú dierky na priskrutkovanie držiakov motorov. K tejto časti podvozku je tiež prichytená batéria. Taktiež sa na tomto podvozku nachádajú dierky na priskrutkovanie dištančných stĺikov a rovanké dierky slúžia aj na priskrutkovanie nárazníkov.
+
Podvozok bol navrhnutý v programe [https://www.qcad.org/en/ qcad]. Na tomto podvozku sa nachádzajú dierky na priskrutkovanie držiakov motorov. K tejto časti podvozku je tiež prichytená batéria. Taktiež sa na tomto podvozku nachádajú dierky na priskrutkovanie dištančných stĺikov a rovanké dierky slúžia aj na priskrutkovanie nárazníkov.
  
Tu bude obrázok návrhu v qcade.
+
[[Súbor:Dtv2019_sbr_podvozok_spodny_sopisom.png|400px]]
  
 
Materál:  
 
Materál:  
Riadok 45: Riadok 45:
  
 
Tu bude obrázok podvozku (spodnej časti)  
 
Tu bude obrázok podvozku (spodnej časti)  
 +
 +
[[Médiá:dtv2019_sbr_podvozok_spodny_subor_na_rezanie.pdf]]
 +
 +
[[Médiá:dtv2019_sbr_podvozok_spodny_subor_cad.dxf]]
  
 
* Podvozok (vrchný)
 
* Podvozok (vrchný)
Riadok 50: Riadok 54:
 
Návrh:
 
Návrh:
  
Nákres bol vyhotovený v programe qcad. Na podvozku sa nachádzajú dierky pre priskrutkovanie modulu na ovládanie motorov L298n a dierky pre priskrutkovanie vývojovej dosky Arduino UNO. Taktiež sa tu nachádzajú dierky pre dištančné stĺpiky, spájajúce tento podvozok so spodným podvozkom a hlavou robota.
+
Nákres bol vyhotovený v programe [https://www.qcad.org/en/ qcad]. Na podvozku sa nachádzajú dierky pre priskrutkovanie modulu na ovládanie motorov L298n a dierky pre priskrutkovanie vývojovej dosky Arduino UNO. Taktiež sa tu nachádzajú dierky pre dištančné stĺpiky, spájajúce tento podvozok so spodným podvozkom a hlavou robota.
  
Tu bude obrázok návrhu v qcade.
+
[[Súbor:Dtv2019_sbr_podvozok_vrchny_sopisom.png|400px]]
  
 
Materál:  
 
Materál:  
Riadok 61: Riadok 65:
  
 
Tu bude obrázok podvozku (vrchnej časti).
 
Tu bude obrázok podvozku (vrchnej časti).
 +
 +
[[Médiá:dtv2019_sbr_podvozok_vrchny_subor_na_rezanie.pdf]]
 +
 +
[[Médiá:dtv2019_sbr_podvozok_vrchny_subor_cad.dxf]]
  
 
* Senzorová lišta
 
* Senzorová lišta
Riadok 66: Riadok 74:
 
Návrh:
 
Návrh:
  
Tu bude obrázok návrhu v qcade.
+
Návrh bol vyhotovený v programe [https://www.qcad.org/en/ qcad]. Táto lišta bude pripevnená na Screw Shield v.3 a slúži ako miesto prilepenia bluetooth modulu HC-05 a ako miesto priskrutkovania MPU6050 gyroskopu.
 +
 
 +
[[Súbor:Dtv2019_sbr_senzorova_lista_sopisom.png|400px]]
  
 
Materál:  
 
Materál:  
Riadok 75: Riadok 85:
  
 
Tu bude obrázok senzorovej lišty.
 
Tu bude obrázok senzorovej lišty.
 +
 +
[[Médiá:dtv2019_sbr_senzorova_lista_subor_na_rezanie.pdf]]
 +
 +
[[Médiá:dtv2019_sbr_senzorova_lista_subor_cad.dxf]]
  
 
* Nárazníky
 
* Nárazníky
Riadok 80: Riadok 94:
 
Návrh:
 
Návrh:
  
Tu bude obrázok návrhu v qcade.
+
Nárazníky sú taktiež navrhnuté v programe qcad. Nárazníky sú priskrutkované k spodnému podvozku a slúžia na zastavenia pádu robota. Zabezpečujú, že sa pri páde robota nepoškodia časti elektorniky.
 +
 
 +
[[Súbor:Dtv2019_sbr_narazniky_sopisom.png|400px]]
  
 
Materál:  
 
Materál:  
Riadok 88: Riadok 104:
 
Realizácia:
 
Realizácia:
  
Tu bude obrázok senzorovej lišty.
+
Tu bude obrázok nárazníkov.
 +
 
 +
[[Médiá:dtv2019_sbr_narazniky_subor_na_rezanie.pdf]]
 +
 
 +
[[Médiá:dtv2019_sbr_narazniky_subor_cad.dxf]]
  
 
* Hlava s podstavou
 
* Hlava s podstavou
Riadok 110: Riadok 130:
 
Návrh:
 
Návrh:
  
Tu bude obrázok návrhu v Inkscape. Nasledovne boli súbory vo formáte .eps importované do softwéru ovládajúceho ploter a vyrezané.
+
Páska robota je prilepená na hlavu robota.
 +
 
 +
[[Súbor:Dtv2019_sbr_paskacezoko.png|400px]]
  
 
Materál:  
 
Materál:  
Riadok 120: Riadok 142:
 
Tu bude obrázok pásky cez oko.
 
Tu bude obrázok pásky cez oko.
  
 
+
[[Médiá:dtv2019_sbr_paskacezoko_inkscape.svg]]
 
 
Sem príde podrobný návod na výrobu.
 
 
 
* Popisat proces premeny napadu na hmotny (funkcny) produkt
 
* Vyspecifikovat potrebny material (uprednostnujeme vlastnych alebo existujucich komponentov, v pripade potreby vieme pomoct)<BR> vystupom bude zhmotneny napad a aj navod - krok za krokom pre reprodukciu produktu
 
 
 
 
 
[http://www.example.com link title]
 
 
 
[[Súbor:MojObrazok2.jpg|center|300px]]
 
 
 
[[Médiá:MojZdrojak.c]]
 
  
  
Riadok 142: Riadok 152:
  
 
== Analýza ==
 
== Analýza ==
 +
 +
'''Po výrobe súčiastok sú definované nasledujúce úlohy:'''
 +
 +
* Vykonať montáž súčiastok a zapojiť elektronické časti.
 +
* Zabezpečiť čítanie senzorových dát z MPU6050 gyroskopu a akcelerometra.
 +
* Zabezpečiť komunikáciu vývojovej dosky Arduino UNO cez bluetooth modul HC-05.
 +
* Definovať komunikačný protokol medzi android aplikáciou a vývojovou doskou Arduino UNO.
 +
* Vývoj android aplikácie.
 +
* Vývoj algoritmu, ktorý zabezpečí taký akčný zasah pre motory, že robot zostatne vo vyváženej polohe.
  
 
V tejto časti popíšete ako idete daný problém riešiť. Uvediete sem aj všetky potrebné technické údaje,  
 
V tejto časti popíšete ako idete daný problém riešiť. Uvediete sem aj všetky potrebné technické údaje,  
Riadok 154: Riadok 173:
  
 
== Popis riešenia ==
 
== Popis riešenia ==
 +
 +
'''Montáž súčiastok prebieha na základe nasledujúceho postupu:'''
 +
 +
# Priskrutkovanie rámov motorov k spodnej časti podvozku.
 +
# Priskrutkovanie motorov do rámov pre motory.
 +
# Priskrutkovanie kolies k hriadelom motorov.
 +
# Priskrutkovanie malých dištančných stĺpikov k spodnej časti podvozku zhora a zároven aj pripenenie nárazníkov z dolnej časti podvozku.
 +
# Uloženie batárie na spodný podvozok a jej pripevnenie.
 +
# Priskrutkovanie vývojovej dosky Arduino UNO a ovládača motorov L298n k vrchnému podvozku.
 +
# Priskruktovanie vrchnej časti podvozku na krátke dištančné stĺpiky dlými stĺpikmi.
 +
# Pripevnenie senzorovej lišty na Screw shield.
 +
# Zapojenie elektroniky na základe schémy zapojeina. (Okrem RGB LED diódy umiestnenej v hlave robota)
 +
# Priskrutkovanie MPU6050 6 osého gyroskou a akcelerometra na senzorovú lištu.
 +
# Prilepenie bluetooth modulu na senzorovú lištu.
 +
# Prilepenie modulu RGB LED diódy do vnútra hlavy robota.
 +
# Zapojenie RGB LED diódy na základe schémy zapojenia a priskrutkovanie hlavy s podstavou na vrchné dištančné stĺpiky pomocou skrutiek a matíc.
 +
# Prilepenie tlačidla na vyp./zap. PWM motorv na podstavu hlavy.
 +
 +
'''Zapojenie elektronických častí:'''
 +
 +
Sem príde obrázok schémy zapojenia.
 +
 +
'''Komunikácia Arduino UNO cez bluetooth modul HC-05'''
 +
 +
V našom prípade ide len o jednosmernú komunikáciu z Android aplikácie cez bluetooth modol do vývojovej dosky Arduino UNO. Pri danom zapojení je monžné dáta z modulu HC-05 čítať ako sériovú linku pomocou metód Serial.read(). Zisťovať prítomnosť neprečítaťných  dát je možné pomocou metódy Serial.availible().
 +
 +
'''Definícia kominukačného prtokolu medzi android aplikáciou a vývojovou doskou Arduino UNO'''
 +
 +
Jednolivým akciám, ktoré môžu byť vykonávané cez aplikáciu sme priradili číselné znaky a znaky z abecedy. Každá operáciu má priradený iný znak, ktorý sa pri stlačení  tlačidla pošle cez bluetooth pripojenie do vývojovej dosky. Vývojová doska následne túto hodnotu prečíta a rozhodnote akú operáciu vykonať.
 +
 +
'''Vývoj android aplikácie'''
 +
 +
Aplikácia bola vyvynutá pomocou softwéru [https://developer.android.com/studio Android Studio].
 +
 +
Sem pridať postup vytvorenia aplikácie.
 +
 +
 +
'''Vývoj vyvažovacieho algoritmu'''
 +
 +
Na vyvažovanie robota boli použité PID regulátory. Jeden regulátor určuje akčné zásahy pripojené do motorov pri náklone robota dopredu a druhý pri náklone robota dozadu. Parametre regulátorov sú nastavované vyvynutou aplikáciu, keďže tento spôsob natavovania umožňuje zmenu parametrov bez potreby kompilácie a nahratia kódu do vývojovej dosky.
 +
 +
Tu pridať obrázok, znázorňujúci regulátory v oboch smeroch.
  
 
Sem opíšete ako konkrétne ste problém vyriešili. Začnite popisom pripojenia k procesoru  
 
Sem opíšete ako konkrétne ste problém vyriešili. Začnite popisom pripojenia k procesoru  

Verzia zo dňa a času 10:59, 8. jún 2019

Autor: Eva Štalmachová a Denis Vasko
Študijný odbor: Robotika 3. Bc. (2019)

Opis projektu

Cieľom projektu je zostrojenie dvojkolesového robota typu Segway, ktorý udržuje rovnováhu.

Projekt sme si zvolili preto, pretože jeho náročnosť bola vhodná pre naše schopnosti, z čoho sme predpokladali, že nadobudneme cenné praktické vedomosti.

  1. Prečo práve tento projekt, aký má zmysel, komu bude osožný...
  2. Druhy riadok

Ako ?

Návod na výrobu

V projekte boli použité súčiastky, ktoré boli kúpené ako hotové celky (moduly), tieto súčiastky boli najmä elektronické.

Zoznam komponenotv, ktoré neboli vyrábané:

  • ..
  • ..
  • ..

V prjekte sme využili aj vlastné vyrobené súčiastky.

Zoznam vyrobených súčiastok:

  • Podvozok (spodný)

Návrh:

Podvozok bol navrhnutý v programe qcad. Na tomto podvozku sa nachádzajú dierky na priskrutkovanie držiakov motorov. K tejto časti podvozku je tiež prichytená batéria. Taktiež sa na tomto podvozku nachádajú dierky na priskrutkovanie dištančných stĺikov a rovanké dierky slúžia aj na priskrutkovanie nárazníkov.

Dtv2019 sbr podvozok spodny sopisom.png

Materál:

Akryl

Realizácia:

Tu bude obrázok podvozku (spodnej časti)

Médiá:dtv2019_sbr_podvozok_spodny_subor_na_rezanie.pdf

Médiá:dtv2019_sbr_podvozok_spodny_subor_cad.dxf

  • Podvozok (vrchný)

Návrh:

Nákres bol vyhotovený v programe qcad. Na podvozku sa nachádzajú dierky pre priskrutkovanie modulu na ovládanie motorov L298n a dierky pre priskrutkovanie vývojovej dosky Arduino UNO. Taktiež sa tu nachádzajú dierky pre dištančné stĺpiky, spájajúce tento podvozok so spodným podvozkom a hlavou robota.

Dtv2019 sbr podvozok vrchny sopisom.png

Materál:

Akryl

Realizácia:

Tu bude obrázok podvozku (vrchnej časti).

Médiá:dtv2019_sbr_podvozok_vrchny_subor_na_rezanie.pdf

Médiá:dtv2019_sbr_podvozok_vrchny_subor_cad.dxf

  • Senzorová lišta

Návrh:

Návrh bol vyhotovený v programe qcad. Táto lišta bude pripevnená na Screw Shield v.3 a slúži ako miesto prilepenia bluetooth modulu HC-05 a ako miesto priskrutkovania MPU6050 gyroskopu.

Dtv2019 sbr senzorova lista sopisom.png

Materál:

Akryl

Realizácia:

Tu bude obrázok senzorovej lišty.

Médiá:dtv2019_sbr_senzorova_lista_subor_na_rezanie.pdf

Médiá:dtv2019_sbr_senzorova_lista_subor_cad.dxf

  • Nárazníky

Návrh:

Nárazníky sú taktiež navrhnuté v programe qcad. Nárazníky sú priskrutkované k spodnému podvozku a slúžia na zastavenia pádu robota. Zabezpečujú, že sa pri páde robota nepoškodia časti elektorniky.

Dtv2019 sbr narazniky sopisom.png

Materál:

Akryl

Realizácia:

Tu bude obrázok nárazníkov.

Médiá:dtv2019_sbr_narazniky_subor_na_rezanie.pdf

Médiá:dtv2019_sbr_narazniky_subor_cad.dxf

  • Hlava s podstavou

Návrh:

3D model bol navruhný v programe tinkercad. Po dokončení bol 3D model vytlačený na 3D tlačiarni Prusa.

Tu bude obrázok návrhu v tinkercad-e.

Materál:

PLA filament

Realizácia:

Tu bude obrázok Hlavy s podstavou.

  • Páska cez oko

Návrh:

Páska robota je prilepená na hlavu robota.

Dtv2019 sbr paskacezoko.png

Materál:

Vinyl.

Realizácia:

Tu bude obrázok pásky cez oko.

Médiá:dtv2019_sbr_paskacezoko_inkscape.svg


Použité zdroje:

  • Zoznam použitej literatúry, vrátane katalógových údajov (datasheet), internetových odkazov a pod.

Analýza

Po výrobe súčiastok sú definované nasledujúce úlohy:

  • Vykonať montáž súčiastok a zapojiť elektronické časti.
  • Zabezpečiť čítanie senzorových dát z MPU6050 gyroskopu a akcelerometra.
  • Zabezpečiť komunikáciu vývojovej dosky Arduino UNO cez bluetooth modul HC-05.
  • Definovať komunikačný protokol medzi android aplikáciou a vývojovou doskou Arduino UNO.
  • Vývoj android aplikácie.
  • Vývoj algoritmu, ktorý zabezpečí taký akčný zasah pre motory, že robot zostatne vo vyváženej polohe.

V tejto časti popíšete ako idete daný problém riešiť. Uvediete sem aj všetky potrebné technické údaje, ktoré sú potrebné na úspešné vyriešenie projektu. Napríklad:

  • popis komunikačnej zbernice (i2c, 1-wire, RS-232 a pod.)
  • obrázok zapojenia vývodov použitej súčiastky
  • odkaz na katalógový list
  • priebehy dôležitých signálov
  • este jedna polozka


Popis riešenia

Montáž súčiastok prebieha na základe nasledujúceho postupu:

  1. Priskrutkovanie rámov motorov k spodnej časti podvozku.
  2. Priskrutkovanie motorov do rámov pre motory.
  3. Priskrutkovanie kolies k hriadelom motorov.
  4. Priskrutkovanie malých dištančných stĺpikov k spodnej časti podvozku zhora a zároven aj pripenenie nárazníkov z dolnej časti podvozku.
  5. Uloženie batárie na spodný podvozok a jej pripevnenie.
  6. Priskrutkovanie vývojovej dosky Arduino UNO a ovládača motorov L298n k vrchnému podvozku.
  7. Priskruktovanie vrchnej časti podvozku na krátke dištančné stĺpiky dlými stĺpikmi.
  8. Pripevnenie senzorovej lišty na Screw shield.
  9. Zapojenie elektroniky na základe schémy zapojeina. (Okrem RGB LED diódy umiestnenej v hlave robota)
  10. Priskrutkovanie MPU6050 6 osého gyroskou a akcelerometra na senzorovú lištu.
  11. Prilepenie bluetooth modulu na senzorovú lištu.
  12. Prilepenie modulu RGB LED diódy do vnútra hlavy robota.
  13. Zapojenie RGB LED diódy na základe schémy zapojenia a priskrutkovanie hlavy s podstavou na vrchné dištančné stĺpiky pomocou skrutiek a matíc.
  14. Prilepenie tlačidla na vyp./zap. PWM motorv na podstavu hlavy.

Zapojenie elektronických častí:

Sem príde obrázok schémy zapojenia.

Komunikácia Arduino UNO cez bluetooth modul HC-05

V našom prípade ide len o jednosmernú komunikáciu z Android aplikácie cez bluetooth modol do vývojovej dosky Arduino UNO. Pri danom zapojení je monžné dáta z modulu HC-05 čítať ako sériovú linku pomocou metód Serial.read(). Zisťovať prítomnosť neprečítaťných dát je možné pomocou metódy Serial.availible().

Definícia kominukačného prtokolu medzi android aplikáciou a vývojovou doskou Arduino UNO

Jednolivým akciám, ktoré môžu byť vykonávané cez aplikáciu sme priradili číselné znaky a znaky z abecedy. Každá operáciu má priradený iný znak, ktorý sa pri stlačení tlačidla pošle cez bluetooth pripojenie do vývojovej dosky. Vývojová doska následne túto hodnotu prečíta a rozhodnote akú operáciu vykonať.

Vývoj android aplikácie

Aplikácia bola vyvynutá pomocou softwéru Android Studio.

Sem pridať postup vytvorenia aplikácie.


Vývoj vyvažovacieho algoritmu

Na vyvažovanie robota boli použité PID regulátory. Jeden regulátor určuje akčné zásahy pripojené do motorov pri náklone robota dopredu a druhý pri náklone robota dozadu. Parametre regulátorov sú nastavované vyvynutou aplikáciu, keďže tento spôsob natavovania umožňuje zmenu parametrov bez potreby kompilácie a nahratia kódu do vývojovej dosky.

Tu pridať obrázok, znázorňujúci regulátory v oboch smeroch.

Sem opíšete ako konkrétne ste problém vyriešili. Začnite popisom pripojenia k procesoru (nezabudnite na schému zapojenia!) a zdôraznite ktoré jeho periférie ste pritom využili.

Schéma zapojenia snímača Zapojenie.png

Súbor:Example.jpg

Pozn.: Názov obrázku musí byť jedinečný, uvedomte si, že Obr1.jpg už pred vami skúsilo nahrať už aspoň 10 študentov.

MojObrazok.jpg

Algoritmus a program

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

program.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.