LD2 Justas Komža ISI 3K

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

VILNIAUS UNIVERSITETAS

MATEMATIKOS IR INFORMATIKOS FAKULTETAS


INFORMACINIŲ SISTEMŲ INŽINERIJOS STUDIJŲ PROGRAMA

Roboto valdymas jutikliais

Laboratorinio darbo ataskaita

Atliko:

Justas Komža
VU el. p.: justas.komza@mif.stud.vu.lt

Vertino: Jaunesnysis asistentas Linas Aidokas

Vilnius
2023
TURINYS
1. Darbo tikslas ......................................................................................................................................... 3
2. Darbo priemonės.................................................................................................................................. 3
3. darbo eiga............................................................................................................................................. 3
4. išvados ................................................................................................................................................ 10

2
1. DARBO TIKSLAS
Susipažinti su NAO roboto jutikliais ir jų valdymu.

2. DARBO PRIEMONĖS
Robotas NAO V6, Choregraphe programavimo aplinka.
3. DARBO EIGA
1) Naudojantis Choregraphe programine įranga, suprogramuoti, kad robotas:

Reaguoja ir atlieka veiksmus – šneka, juda, atsisėda, atsistoja, palietus roboto jutiklius
esančius ant jo galvos. Kiekvienas mygtukas turi atlikti atskirą veiksmą (pav. 1).

Užduočiai atlikti panaudojau „Tactile head“ bloką su skirtingais veiksmų blokais.

pav. 1 Tactile head blokas

3
Robotas reaguoja ir atlieka veiksmus palietus jo rankose esančius jutiklius. Atliekami
veiksmai turi skirtis nuo galvos jutiklių aktyvuojamų veiksmų. (pav. 2).

Tam panaudojau „Tactile Hand“ jutimo blokus ir „Apply posture“ judesio blokus,
paduodamas skirtingas pozicijas kaip parametrą.

pav. 2 Tactile hand blokai

4
Robotas reaguoja ir atlieka veiksmus palietus jo kojų jutiklius. Atliekami veiksmai turi skirtis
nuo prieš tai suprogramuotų veiksmų (pav. 3).

Naudodamas „Bumpers“ bloką, padariau, kad roboto ausų ir akių LED lemputės pakeistų
spalvą palietus kojose esančius jutiklius, priklausomai nuo pusės.

pav. 3 Choreographe langas

5
2) Naudojantis Choregraphe programinėje įrangoje esančiu skaitikliu (angl. “Counter”) ir
jungikliu (angl. “Switch”) suprogramuoti, kad robotas:

Paspaudus tuos pačius jutiklius – galvos, rankų, kojų, keletą kartų iš eilės, robotas atliktų
skirtingus veiksmus. Pavyzdžiui: palietus roboto kairės rankos jutiklį pirmą kartą –
robotas atsisėda. Palietus tą patį jutiklį antrą kartą iš eilės – robotas atsistoja. (pav. 4).

pav. 4 Counter ir Switch case

6
Jeigu paspaudžiamas kojos jutiklis, tada rankos ir tada vėl kojos jutikliai – tai nėra
skaitoma kaip paspaudimas porą kartų iš eilės. Suprogramuoti, kad palietus ne tą patį jutiklį antrą
kartą – skaitiklis, kuris skaičiuoja prieš tai buvusio jutiklių paspaudimų skaičių, yra nunulinamas
– sugrąžinamas į 0 reikšmę.

Tam panaudojau counter bloko „ReInit“ skiltį

pav. 5 ReInit

7
Jeigu yra ypatingos sąlygos, pavyzdžiui: paspaudus pirmą kartą robotas atsisėda, o antrą
kartą atsistoja, jeigu robotas jau yra atsisėdęs ir paspaudžiamas jutiklis atsisėsti – robotas
privalo atlikti kitokį veiksmą, tarkim pasakyti - kad jis jau yra sėdėjimo pozicijoje.

Tam atlikti veiksmų grandinę sudarytą iš keleto „counter“ ir „switch case“ blokų junginių.

pav. 6 Sudėtingos sąlygos

8
3) Naudojantis Choregraphe programinėje įrangoje esančiu skaitikliu (angl. “Counter”) ir
jungikliu (angl. “Switch”) ir laikmačiu (angl. “Counter”) suprogramuoti, kad robotas:

Per sugalvotą laiko tarpą, paspaudus sugalvotą jutiklių paspaudimo kombinaciją atliktų
veiksmus. Pavyžiui: paspaudus dukart kairės kojos jutiklį, tada dešinės rankos jutiklį ir tada
dukart galvos jutiklį esantį viduryje – robotas pasako, kad buvo surinkta kombinacija robotui
pašokti. Kombinacijos turi būti sudarytos bent iš 3 paspaudimų. Turi būti realizuotos bent 5
skirtingos kombinacijos.

pav. 7 Kombinacijos

9
Nebaigus paspausti visos jutiklių kombinacijos per numatytą laiko tarpą – robotas atlieka
veiksmą, kurį turėtų atlikti pagal 2-uose punktuose išvardintas sąlygas.

Tam atlikti panaudojau say bloką prijungtą prie timerOutput ir reinitialize blokų jungčių.
Tokiu atveju, jei pasibaigia laikas arba keletą kartų paspaudžiamas tas pats jutiklis - robotas
pasako: „Tokios kombinacijos nėra“.

pav. 8 Kombinacijos 2

4. IŠVADOS
Naudojant Aldebaran Choreographe programinę įrangą galima greitai ir efektyviai valdyti
NAO V6 robotus Liepą ir Ąžuolą. Ši programinė įranga leidžia valdyti robotą naudojant iš
anksto sukurtus blokus arba naudojant python programinę kalbą, leidžia paraleliai vykdyti keletą
veiksmų.

10

You might also like