Professional Documents
Culture Documents
Bakalauro Architektura
Bakalauro Architektura
Sistemos architektūra
1. Prisijungti Kaip sistemos naudotojas, noriu prisijungti prie įrenginio, kad galėčiau
prie įrenginio siusti jam komandas.
2. Atsijungti Kaip sistemos naudotojas, noriu atsijungti nuo įrenginio, kad galėčiau
nuo įrenginio pabaigti darbą.
4 Siusti Kaip sistemos naudotojas, noriu siusti komandą, kad gavėjo sistema galėtų
komandą ją atlikti.
5. Sustoti Kaip sistemos naudotojas, noriu kad robotas sustotu, kad išvengtų galimos
kliūties.
6. Važiuoti Kaip sistemos naudotojas, noriu kad robotas važiuotų pirmyn, kad
pirmyn pasiektų siekiamą vietovę.
7. Sukti Kaip sistemos naudotojas, noriu, kad robotas atliktų posūkį, kad pakeistų
judėjimo kryptų į kairę.
8. Skaityti Kaip sistemos naudotojas, noriu, kad robotas skaitytų per Bluetooth gautą
komandą komandą, kad atliktų nurodomą veiksmą.
9. Matuoti Kaip sistemos naudotojas, noriu, kad robotas matuotų atstumą, kad žinoti
atstumą kiek centimetrų yra iki kliūties.
pav. 3 Užduoties “Siusti komandą” sekų diagrama
Komandos siuntimo veiksme dalyvauja naudotojas, kontroleris ir robotas. Veiksmas yra
inicijuojamas kai vartotojas paduoda sistemai garsinę įvestį. Kontroleris priklausomai nuo įvesties
gali atpažinti joje tariamą komandą arba ne, pastaruoju atveju vartotojas gauna klaidos pranešimą.
Sėkmingai atpažinus įvestį kontroleris vkonvertuoja spėjimą į char tipo kintamajį ir siunčia
jį Bluetooth ryšiu robotui.
Gautai komandai robotas priskyria atitinkamą veiksmą ir jį atlieka. Atlikus veiksmą
naudotojui gražinamas patvirtinimas apie sėkmingą operaciją
Lentelė 2 Sekų diagramos paaiškinimas
užduoties numeris 1
užduoties pavadinimas Siusti komandą
siekiamas tikslas Perduoti garsinę komandą navigaciniam robotui
užduoties vykdymą inicijuojantis Pasakoma komanda, esant prisijungus prie roboto
įvykis (trigeris)
užduoties prioritetas 1-as (aukščiausias)
užduoties vykdymo sritis Balsu valdomas navigacinis robotas
užduoties lygmuo Sumarinis tikslas
pirminis aktorius Naudotojas
antriniai aktoriai Kontroleris, robotas
"prieš" sąlygos Sėkmingai prisijungta prie roboto
sėkmingos baigties “po” sąlygos Robotas atlieka komandą
nesėkmingos baigties “po” sąlygos Robotas neatlieka komandos arba atlieka ją neteisingai
Norint prisijungti prie įrenginio vartotojas turi programos pagrindiniame lange paspausti ant
norimo įrenginio pavadinimo. Pasirinkus įrenginį programėlė inicijuoja Bluetooth prisijungimo
prašymą norimam įrenginiui.
Priklausomai nuo to ar įrenginys priėma ar atmeta prisijungimo prašymą, vartotojui gryžta
patvirtinimas apie sėkmingą operaciją arba klaidos pranešimas.
Sistema susideda iš keturių pagrindinių dalių: kontrolerio, roboto, balso atpažinimo sistemos ir Bluetooth ryšio komponento.
Kontroleris naudoja balso atpažinimo sistemą su Tensorflow Lite modeliu, kad išgautų komandas iš jam paduotos garsines įvesties.
Vėliau tas pats kontroleris perduoda šias komandas robotui naudodamasis Bluetooth ryšio komponentu.
Toks architektūrinis sprendimas leidžia atskirti savarankiškus sistemos komponentus taip įgtalinant juos ateities patobulinimams.
Kadangi neuroniniai tinklai yra atskiras sistemos komponentas, bet kada galima modelį
pakeisti kitu. Modelis į kontrolerį yra užkraunamas Gradle pagalba ir gaunamas iš internetinės
repozitorijos. Užkrautą modelį veliau naudoja balso atpažinimo komponentas. Ši sistemos dalis yra
sudaryta iš klasės, atsakingos už garsines įvesties priėmimą ir jos konvertavimą į reikiamą formatą,
bei klasių rinkinio atsakingo už darbą su TFLite modeliu. Šio komponento tikslas yra leisti
vartotojui nuolat padavinėti garsinę įvestį ir gauti spėjimus.
Šie spėjimai yra atvaizduojami vartotojo grafinėje sąsajoje taip pat kaip ir pagrindinės
sistemos funkcijos. Naudodamasis grafinės sąsajos komponentu vartotojas prisijungia prie norimo
įrenginio ir paduoda jam komandas. Grafinė vartotojo sąsaja taip pat atsakinga už klaidų, bei
sekmingų operacijų pranešimų atvaizdavimą vartotojui.
Naudodamasis GVS naudotojas gali paduoti garsines komandas Bluetooth ryšiu.
Šis sistemos komponentas jungia kontrolerio bei roboto komponentus, jis atsakingas už
prisijungimą ir komandų siuntimą. Jam paduodama komanda turi būti tinkamo format, kad galima
būtų sėkmingai ją persiusti į Arduino Bluetooth modulį. Roboto komponentas sudarytas iš dvejų
mažesnių komponentų – komandų skaitymo ir komandų atlikimo.
Komandų skaitymo komponentas atsakingas už komandų iš kontrolerio gavimą ir
atitinkamo veiksmo joms priskyrimą. Ši roboto dalis sudaryta iš funkcijos, skirtos kontroliuoti HC-
05 Bluetooth ryšio modulį, gauti jam siunčiamus duomenis ir pagal juos nkviesti atitinkamą
funkciją.
Komandų atlikimo komponentas dirba su likusia roboto aparatūros dalimi. Jis gauna
funkciją iš komandų skaitymo komponento ir priklausomai nuo jos siunčia instrukcijas reikiamoms
roboto aparatūros dalims.
SR-01 X X
SR-02 X X
SR-03 X X
SR-04 X X X
SR-05 X X
SR-06 X X X
SR-07 X X X
SR-08 X X X
SR-09 X
SR-10 X X X
SR-11 X X X X
BAK-01 X X
BAK-02 X X X
BAK-03 X X X
BAK-04 X X X
BAK-05 X X
GVS-01 X X
GVS -02 X X
GVS -03 X X X X X X
GVS -04 X X
GVS -05 X X X X
GVS -06 X X X X X
GVS -07 X X X X
GVS -08 X X
GVS-09 X X
BRK-01 X X
BRK-02 X X
BRK-03 X X X
KSK-01 X X X
KSK-02 X
KSK-03 X X
KAK-01 X X
KAK-02 X X X
NT-01 X X X X
NT-02 X X
NT-03 X X
NT-04 X X X X
Pagal reikalavimų ryšio matricą galime pastebėti kokie komponentai reikalingi patenkinti
specifinį reikalavimą. Pačių komponentų tikslingas veikimaas taip pat priklauso ir nuo kitų sistemos