Operácie

Self Balancing Robot: Rozdiel medzi revíziami

Zo stránky SensorWiki

StudentDTV (diskusia | príspevky)
StudentDTV (diskusia | príspevky)
Upravený študijný odbor
 
(25 medziľahlých úprav od rovnakého používateľa nie je zobrazených.)
Riadok 4: Riadok 4:
|Autor:      || '''Eva Štalmachová a Denis Vasko'''  
|Autor:      || '''Eva Štalmachová a Denis Vasko'''  
|-
|-
|Študijný odbor:  || Robotika || 3. Bc.  ('''2019''')  
|Študijný odbor:  || Robotika a kybernetika || 3. Bc.  ('''2019''')  
|}
|}


Riadok 79: Riadok 79:


* Prepojovacie káble (Počet viď. schéma zapojenia)
* Prepojovacie káble (Počet viď. schéma zapojenia)
* Dištančné stĺpiky na oddelenie prvého poschodia robota od druhého 4ks [2,5 cm] a na oddelenie druhého poschodia od zvyšku 4ks[4,5 cm]
* Dištančné stĺpiky na oddelenie prvého poschodia robota od druhého 4ks [2,5 cm] a na oddelenie druhého poschodia od zvyšku 4ks[4,5 cm] so skrutkami 4ks ~30mm dlhými a maticami, alebo 4ks 60mm dlhých dištančných stĺpikov.
* Skrutky 3x10 28ks 3x5 4ks (na pripevnie motorv na rámiky)
* Skrutky 3x10 ~30ks 3x5 4ks (na pripevnie motorv na rámiky)
* Matice 3mm ~25ks
* Lepiaca páska (izolačná a obojstranná)  
* Lepiaca páska (izolačná a obojstranná)  
* Náradie (šrobováky, imbusové klúče)
* Náradie (šrobováky, imbusové klúče)
Riadok 101: Riadok 102:
* [https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/MPU6050 Knižnica na čítanie dát z gyroskopu a akcelerometra MPU6050]
* [https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/MPU6050 Knižnica na čítanie dát z gyroskopu a akcelerometra MPU6050]
* [https://github.com/piliwilliam0306/MPU6050_calibration/blob/master/MPU6050_calibration.ino Kalibrácia MPU6050]
* [https://github.com/piliwilliam0306/MPU6050_calibration/blob/master/MPU6050_calibration.ino Kalibrácia MPU6050]
* [https://www.tinkercad.com/ Online editor Tinkercad na vytváranie 3D modelov]
* [http://androidsmile.com/index.php/android/connect-android-to-arduino/ Pripojenie Android zariadenia s Arduinom]


== Analýza ==
== Analýza ==
Riadok 176: Riadok 179:


Senzorová lišta
Senzorová lišta


==== 3D tlač ====
==== 3D tlač ====
Riadok 184: Riadok 186:
'''Hlava s podstavou'''
'''Hlava s podstavou'''


3D model bol navruhný v programe tinkercad. Po dokončení bol 3D model vytlačený na 3D tlačiarni Prusa.
3D model bol navruhný v online editore Tinkercad. Po dokončení bol 3D model vytlačený na 3D tlačiarni Prusa.
 
[[Súbor:3Dedit.png|x350px|3dmodel ]]


Tu bude obrázok návrhu v tinkercad-e. Tu bude obrázok Hlavy s podstavou.
Stl súbor pre 3D tlač


Tu bude súbor 3D-modelu.
[[Médiá:DTVHLAVA.stl]]


==== Rezanie na plotry ====
==== Rezanie na plotry ====
Riadok 208: Riadok 212:
===Postup montáže súčiastok===
===Postup montáže súčiastok===


* Pripevníme kolesá k spodnej časti spodného podvozku a pripevníme rámy.
* Pripevníme kolesá k spodnej časti spodného podvozku.
[[Súbor:stepone.jpg|center|x250px]]  
[[Súbor:stepone.jpg|center|x250px]]  


Riadok 217: Riadok 221:
[[Súbor:stepthree.jpg|center|x250px]]  
[[Súbor:stepthree.jpg|center|x250px]]  


* Do vytlačenej hlavy umiestníme RGB modul tak aby ledka bola umiestnená v oku hlavy a na podstavec hlavy pripevníme 4,5cm dištačné stĺpiky. V našom prípade ich ešte zvýšimi o 2,5cm pomocou šróbov (dokopy 6cm).
* Do vytlačenej hlavy umiestníme RGB modul tak aby ledka bola umiestnená v oku hlavy a na podstavec hlavy pripevníme 4,5cm dištačné stĺpiky. V našom prípade ich ešte zvýšimi o 2,5cm pomocou šróbov (dokopy 6cm). Alternatívou je použiť 60mm dlhé dištančné stĺpiky.
[[Súbor:stepfour.png|center|x250px]]  
[[Súbor:stepfour.png|center|x250px]]  


Riadok 225: Riadok 229:
===Kalibrácia MPU6050 gyroskopu a akcelerometra a čítanie dát zo senzoru===
===Kalibrácia MPU6050 gyroskopu a akcelerometra a čítanie dát zo senzoru===


Na čítanie dát zo senzoru bola použitá knižnica [https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/MPU6050 MPU6050], ktorá vyžaduje inštaláciu knižnice [link na knižnicu i2cdev]. Konkrétne sme ako šablónu využili súbor [https://github.com/jrowberg/i2cdevlib/blob/master/Arduino/MPU6050/examples/MPU6050_DMP6/MPU6050_DMP6.ino MPU6050_DMP6.ino]. Pred čítaním dát sa vytvorí globálny objekt mpu, ktorý sa vo funckií setup inicializuje.
Na čítanie dát zo senzoru bola použitá knižnica [https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/MPU6050 MPU6050], ktorá vyžaduje inštaláciu knižnice [https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/I2Cdev/ i2cdev]. Konkrétne sme ako šablónu využili súbor [https://github.com/jrowberg/i2cdevlib/blob/master/Arduino/MPU6050/examples/MPU6050_DMP6/MPU6050_DMP6.ino MPU6050_DMP6.ino]. Pred čítaním dát sa vytvorí globálny objekt mpu, ktorý sa vo funckií setup inicializuje.


[[Súbor:Dtv2019_sbr_MPU6050_setup.png|x400px]]
[[Súbor:Dtv2019_sbr_MPU6050_setup.png|x400px]]
Riadok 233: Riadok 237:
[[Súbor:Dtv2019_sbr_MPU6050_citanie_dat.png|x400px]]
[[Súbor:Dtv2019_sbr_MPU6050_citanie_dat.png|x400px]]


Kalibrácia (určenie offestov) bola vykonaná pomocou skriptu, ktorý je možné nájsť [https://github.com/piliwilliam0306/MPU6050_calibration/blob/master/MPU6050_calibration.ino tu]. Tento kalibračný skript si vyžaduje inštaláciu predchádzajúcej knižnice na čítanie dát. Pred spustením kalibrácie je robot umiestnený tak, aby boli podvozky vo vodorovnej polohe. Po ukončení skriptu sa cez sériový port vypíšu offesty. Offsety sa potom použijú pri nastavení mpu objektu vo funkcii setup.  
Kalibrácia (určenie offestov) bola vykonaná pomocou skriptu, ktorý je možné nájsť [https://github.com/piliwilliam0306/MPU6050_calibration/blob/master/MPU6050_calibration.ino tu]. Tento kalibračný skript si vyžaduje inštaláciu predchádzajúcej knižnice na čítanie dát. Pred spustením kalibrácie je robot umiestnený tak, aby boli podvozky vo vodorovnej polohe. Po ukončení skriptu sa cez sériový port vypíšu offesty. Offsety sa potom použijú pri nastavení mpu objektu vo funkcii setup.


===Komunikácia Arduino UNO cez bluetooth modul HC-06===
===Komunikácia Arduino UNO cez bluetooth modul HC-06===


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


[[Súbor:Dtv2019_sbr_HC05_citanie_dat.png|x400px]]
[[Súbor:Dtv2019_sbr_HC05_citanie_dat.png|x400px]]
Riadok 243: Riadok 247:
===Definícia kominukačného prtokolu medzi android aplikáciou a vývojovou doskou Arduino UNO===
===Definícia kominukačného prtokolu medzi android aplikáciou a vývojovou doskou Arduino UNO===


K akciám, ktoré môžu byť vykonávané cez aplikáciu, sme priradili číselné znaky a znaky z abecedy (bajty). 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ť.
K akciám, ktoré môžu byť vykonávané cez aplikáciu, sme priradili číselné znaky a znaky z abecedy (bajty). Každá operácia 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ť.


[[Súbor:Dtv2019_sbr_HC05_protokol.png|x400px]]
[[Súbor:Dtv2019_sbr_HC05_protokol.png|x400px]]
===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===
===Vývoj vyvažovacieho algoritmu===
Riadok 260: Riadok 258:


[[Súbor:Dtv2019_sbr_PID_vypocet_zasahu.png|x400px]]
[[Súbor:Dtv2019_sbr_PID_vypocet_zasahu.png|x400px]]
===Vývoj android aplikácie===
Aplikácia bola vyvynutá pomocou softwéru [https://developer.android.com/studio Android Studio].
Aplikácia má 3 aktivity. Prvá slúži na pripojene bluetooth modulu k mobilu, na zapnutie/vypnutie robota a nachádza sa tu riadenie robota dopredu/dozadu a doľava/doprava.
Druhá aktivita slúži na ladenie PID regulátorov a žiadanej hodnoty náklonu robota. Tretia aktivita zapína/prepína/vypína led diódu.
[[Súbor:activity1.png|x450px]] [[Súbor:activity2.png|x450px]] [[Súbor:activity3.png|x450px]]


===Zdrojové súbory===
===Zdrojové súbory===
Riadok 267: Riadok 273:


Projekt aplikácie v Android Studio:
Projekt aplikácie v Android Studio:
[[Médiá:dtv2019_sbr_android_projekt.zip]]
[[Médiá:Dtv2019_sbr_android_projekt.zip ]]


== Výsledok ==
== Výsledok ==


Gifko fungujúceho robota so svietiacou hlavou.
Podarilo sa nám zostrojiť robota, ktorý dokáže balansovať na mieste. Možnosť na zlepšenie vidíme v implementovaní riadenia robota, tak aby dokázal chodiť dopredu/dozadu a doľava/doprava. S konečným výsledkom sme spokojní. Tento projekt, bol pre nás prínos nakoľko sme mohli využiť znalosti z riadenia, z technológií výroby a mohli sme prepojiť softvérovú časť s hardvérovou.  
 
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.
 


[[Category:DTV2019]]
[[Category:DTV2019]]

Aktuálna revízia z 08:26, 12. jún 2019


Autor: Eva Štalmachová a Denis Vasko
Študijný odbor: Robotika a kybernetika 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.



Zoznam komponenotv

Arduino Uno je riadiaca doska s 8-bitovým CMOS mikroprocesorom ATmega328P. Rozmery dosky sú 68.6 x 53.4 mm a hmotnosť je 25 g. Veľkosť pamäte mikropočítača je 32 KB. Na doske sa nachádza 20 pinov, z ktorých 14 tvoria digitálne vstupno/výstupné piny a 6 analógových vstupov. Niektoré z pinov môžu byť využité na špeciálne účely. Digitálny pin 0 (RX) a digitálny pin 1 (TX), sa využívajú pri sériovej komunikácii s iným zariadením. Digitálne piny 2 a 3 môžu byť využité na externé prerušenie. Digitálne piny 3, 5, 6, 9, 10, 11 môžu byť použité ako PWM výstupy. Na komunikáciu medzi Arduino doskou a iným zariadením je na doske USB port. Na externé napájanie môžeme využiť 3,5 mm napájací konektor. Na nahrávanie zdrojového kódu do mikropočítača sa najčastejšie používa nástroj Arduino IDE.

HC-06 Bluetooth modul použijeme na bezdrôtovú komunikáciu Arduina s počítačom pomocou sériovej linky. Bluetooth modul využijeme na získanie hodnôt meraní, ktoré by mohli byť pri jazde robota s pripojeným káblom negatívne ovplynené.

L298N riadiaci H-mostíkový modul umožňuje riadiť rýchlosť 5 V - 35 V jednosmerných motorov. Na module sa nachádzajú štyri piny pre napájanie dvoch motorov, napájací a uzemňovací pin pre riadiaci modul. Na prepojenie s Arduinom má 6 vstupných pinov. Keďže riadenie motorov je založené na technike pulzno-šírkovej modulácie (PWM), vstupné piny ENA, ENB modulu musia byť prepojené na PWM piny Arduina


Svorkovnicový shield kompatibilný s Arduino Uno. Všetky výstupné piny Arduina sú priradené k svorkám pre jednoduchšie zapojenie. Nie je potrebné externé napájanie.


Senzor MPU-6050 obsahuje gyroskop aj akcelerometer snímajúce v troch osiach v jednom čipe. Vďaka 16-bitovému analógovému prevodníku dosahuje vysokej presnosti a spoľahlivosti. Modul sníma všetky 3 osi naraz, v rovnaký okamih a používa I2C rozhranie na komunikáciu s mikropočítačom.Na module je zabudovaná aj DMP jednotka (Digtal Motion Processor), ktorá môže byť samostatne naprogramovaná pre počítanie zložitých operácií s nameranými hodnotami. Vďaka DMP nie je nutné zaťažiť čip Arduino a výpočty robiť priamo na doske, vďaka I2C rohraniu dokáže dokonca počítať aj s hodnotami z iného čipu (napríklad iného magnetometra a podobne). Pracovné napätie je 3V-5V.


Ako napájací zdroj pre robota použijeme dve 7,4 V batériu. Napájací zdroj bude slúžiť na napájanie mikropočítača a ovládacieho modulu pre 6 V motory. Mikropočítač potrebuje odporúčaný zdroj napätia o veľkosti 7 V - 12 V, pričom prúd musí byť jednosmerný. Z mikropočítača sú ďalej napájané všetky potrebné senzory.


Na poháňanie robota využijeme jednosmerné 6 V motory s prevodovým číslom 30:1, rýchlosťou 210 otáčok za minútu a Hallovým enkóderom. Enkóder je zariadenie, pomocou ktorého získame informáciu o rýchlosti motora. Okrem napájacieho a uzemňovacieho pinu má 2 výstupné piny, z ktorých získame 2 obdĺžnikové signály, ktoré sú medzi sebou posunuté. Podľa posunutia signálu vieme určiť smer motora. Jeden zo signálov musí byť pripojený na pine, ktorý obsluhuje externé prerušenia. Takto zabezpečíme neustále získavanie potrebných informácií na kontrolu rýchlostí motora.

Led modul, ktorý mení v závislosti od napätia na pinoch R,G,B farbu led diódy. Pracovné napätie 3V-5V. Nie je potrebný ďalší resitor.

Prepínací modul, ktorý má na výstupe pri zopnutí logickú 0 inak logickú 1. Pracovné napätie 3V-5V. Nie je potrebný ďalší resitor.


  • Prepojovacie káble (Počet viď. schéma zapojenia)
  • Dištančné stĺpiky na oddelenie prvého poschodia robota od druhého 4ks [2,5 cm] a na oddelenie druhého poschodia od zvyšku 4ks[4,5 cm] so skrutkami 4ks ~30mm dlhými a maticami, alebo 4ks 60mm dlhých dištančných stĺpikov.
  • Skrutky 3x10 ~30ks 3x5 4ks (na pripevnie motorv na rámiky)
  • Matice 3mm ~25ks
  • Lepiaca páska (izolačná a obojstranná)
  • Náradie (šrobováky, imbusové klúče)

Zapojenie elektronických častí

Všetky elektronické časti robota zapojíme podľa nasledujúcej elektrickej schémy.

Elektrická schéma

Použité zdroje a software

Analýza

Definované časti úlohy

  • Vykonať montáž súčiastok a zapojiť elektronické časti.
  • Kalibrácia MPU6050 gyroskopu a akcelerometra a čítanie dát zo senzoru.
  • Zabezpečiť komunikáciu vývojovej dosky Arduino UNO cez bluetooth modul HC-06.
  • 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.

Popis riešenia

Návrh častí robota

Rezanie lasérom

Nasledujúce časti robota boli vyrezané lasérom. Použitý materiál bol akryl.

Podvozok (spodný)

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 vyrezaný lasérom z platne akrylu.

Návrh spodnej časti podvozku v programe qcad

Médiá:dtv2019_sbr_podvozok_spodny_subor_na_rezanie.pdf

Médiá:dtv2019_sbr_podvozok_spodny_subor_cad.dxf

Podvozok (vrchný)

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ávrh vrchnej časti podvozku v programe qcad

Médiá:dtv2019_sbr_podvozok_vrchny_subor_na_rezanie.pdf

Médiá:dtv2019_sbr_podvozok_vrchny_subor_cad.dxf

Senzorová lišta

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-06 a ako miesto priskrutkovania MPU6050 gyroskopu.

Návrh senzorovej lišty v programe qcad

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


Návrh nárazníkov programe qcad

Médiá:dtv2019_sbr_narazniky_subor_na_rezanie.pdf

Médiá:dtv2019_sbr_narazniky_subor_cad.dxf

Vyrezané časti

Vyrezané časti

Vyrezaný vrchný a spodný podvozok a 4ks nárazníkov.

Nárazník

Nárazník

LISTA

Senzorová lišta

3D tlač

Materiál použitý pri 3D tlači bol PLA filament.

Hlava s podstavou

3D model bol navruhný v online editore Tinkercad. Po dokončení bol 3D model vytlačený na 3D tlačiarni Prusa.

3dmodel

Stl súbor pre 3D tlač

Médiá:DTVHLAVA.stl

Rezanie na plotry

Páska cez oko

Páska robota je prilepená na hlavu robota.

Návrh pásky cez oko v programe Inkscape

Médiá:dtv2019_sbr_paskacezoko_inkscape.svg


Výsledná hlava s podstavcom vytlačená na 3D tlačiarni, na ktorej je nalepená nálepka pirátskej pásky na oko.

Hlava s páskou na oko

Postup montáže súčiastok

  • Pripevníme kolesá k spodnej časti spodného podvozku.
  • Pripevníme batériu k vrchnej časti spodného podvozku a pripevníme 2,5cm dištančné stĺpiky.
  • Pripevníme senzorovú lištu a elektrické šúčiastky na vrchnú časť vrchného podvozku a zapojíme súčiastky podľa elektrickej schémy.
  • Do vytlačenej hlavy umiestníme RGB modul tak aby ledka bola umiestnená v oku hlavy a na podstavec hlavy pripevníme 4,5cm dištačné stĺpiky. V našom prípade ich ešte zvýšimi o 2,5cm pomocou šróbov (dokopy 6cm). Alternatívou je použiť 60mm dlhé dištančné stĺpiky.
  • Na finálne dokončenie pripevníme hlavu s podstavcom k vrchnému podvozku.

Kalibrácia MPU6050 gyroskopu a akcelerometra a čítanie dát zo senzoru

Na čítanie dát zo senzoru bola použitá knižnica MPU6050, ktorá vyžaduje inštaláciu knižnice i2cdev. Konkrétne sme ako šablónu využili súbor MPU6050_DMP6.ino. Pred čítaním dát sa vytvorí globálny objekt mpu, ktorý sa vo funckií setup inicializuje.

Čítanie dát zo senzoru prebieha vo funkcií loop.

Kalibrácia (určenie offestov) bola vykonaná pomocou skriptu, ktorý je možné nájsť tu. Tento kalibračný skript si vyžaduje inštaláciu predchádzajúcej knižnice na čítanie dát. Pred spustením kalibrácie je robot umiestnený tak, aby boli podvozky vo vodorovnej polohe. Po ukončení skriptu sa cez sériový port vypíšu offesty. Offsety sa potom použijú pri nastavení mpu objektu vo funkcii setup.

Komunikácia Arduino UNO cez bluetooth modul HC-06

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

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

K akciám, ktoré môžu byť vykonávané cez aplikáciu, sme priradili číselné znaky a znaky z abecedy (bajty). Každá operácia 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 vyvažovacieho algoritmu

Prevažná časť projektu bola napísaná v editore Vim. Kompilácia a nahrávanie programu do vývojovej dosky prebiehaly pomocou Arduino IDE.

Na vyvažovanie robota boli použité PID regulátory. Prvý regulátor určuje akčné zásahy 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.

Vývoj android aplikácie

Aplikácia bola vyvynutá pomocou softwéru Android Studio. Aplikácia má 3 aktivity. Prvá slúži na pripojene bluetooth modulu k mobilu, na zapnutie/vypnutie robota a nachádza sa tu riadenie robota dopredu/dozadu a doľava/doprava. Druhá aktivita slúži na ladenie PID regulátorov a žiadanej hodnoty náklonu robota. Tretia aktivita zapína/prepína/vypína led diódu.

Zdrojové súbory

Projekt Arduino IDE: Médiá:dtv2019_sbr_arduino_projekt.zip

Projekt aplikácie v Android Studio: Médiá:Dtv2019_sbr_android_projekt.zip ‎

Výsledok

Podarilo sa nám zostrojiť robota, ktorý dokáže balansovať na mieste. Možnosť na zlepšenie vidíme v implementovaní riadenia robota, tak aby dokázal chodiť dopredu/dozadu a doľava/doprava. S konečným výsledkom sme spokojní. Tento projekt, bol pre nás prínos nakoľko sme mohli využiť znalosti z riadenia, z technológií výroby a mohli sme prepojiť softvérovú časť s hardvérovou.