Programiranje LEGO NXT robota u Microsoft Robotics Studio-u

Download Report

Transcript Programiranje LEGO NXT robota u Microsoft Robotics Studio-u

Programiranje robota
u Microsoft Robotics Studio-u
Katarina Veljković
Programiranje robota
u Microsoft Robotics Studio-u
Uvod u Microsoft Robotics Studio
Microsoft Robotics Studio je razvojno okruženje namenjeno za
edukaciju, zabavu i komercijalnu upotrebu koje omogućava jednostavno
programiranje najrazličitijih vrsta robota.
Glavne prednosti korišćenja Microsoft Robotics Studio-a kao razvojnog
okruženja su:
Microsoft Robotics Studio uključuje vizualni programerski alat.
Jednostavna servisno-orijentisana programska platforma.
Proširiva i prenosiva programska platforma.
Programiranje robota
u Microsoft Robotics Studio-u
Za korišćenje Microsoft Robotics Studio-a potreban je sledeći hardware i
software:
Microsoft Windows Vista ili Microsoft Windows XP SP2,
Microsoft Robotics Studio 1.0, ili novija verzija,
PC sa Pentium IV procesorom 1.7 GHz,
512 MB RAM (1GB preporučeno),
Video kartica sa (1024 x 768 ili većom rezolucijom) i odgovarajući
kolor monitor,
LEGO MINDSTORMS NXT robot (opciono se može koristiti
simulirano okruženje ali je u tom slučaju neophodna veća količina
RAM memorije i kvalitetna grafička kartica).
Da biste uspešno instalirali
administratorski pristup računaru.
neophodan
softver
potreban
je
Programiranje robota
u Microsoft Robotics Studio-u
Visual Programming Language (VPL)
Integrisan je u Microsoft Robotics Studio-u.
Microsoft Visual Programming Language (VPL) je grafički programski jezik
zasnovan na principu kontrole toka podataka (dataflow) umesto na kontroli toka
programa što je uobičajno kod tradicionalnih programskih jezika.
VPL je pogodan za razvoj distribuiranih aplikacija čiji se delovi istovremeno
izvršavaju.
Osnovu programa napisanog u VPL-u predstavlja dijagram kontrole toka
podataka. Ovaj dijagram sastoji se od povezanog niza blokova aktivnosti i
servisa predstavljenih blokovima sa ulaznim i izlaznim čvorovima. Veze između
blokova predstavljaju poruke putem kojih oni razmenjuju podatke.
Programiranje robota
u Microsoft Robotics Studio-u
Startovanjem VPL-a dobijamo sledeći prozor:
Programiranje LEGO NXT robota
u Microsoft
Studio-u
Linija menija Robotics
i paleta sa alatkama
funkcioniše isto kao
u drugim Microsoft-ovim programima. Naravno
Paleta
Basic
sadrži razvoju
osnovne distribuiranih
komponente
komande
su Activities
prilagođene
VPL-a,
koje se mogu
prevući na radnu površinu.
servisno-orijentisanih
aplikacija.
Aktivnost sadrže blokove za kretanje, čuvanje i
kontrolu toka podataka, kao i grupisanje drugih
Okvir
Project
prikazuje
dijagrame
konfiguracijske
aktivnosti.
Grafički
prikazane
aktivnosti uvek
sadrže ime
fajlove
za iservise
čine projekat.
aktivnosti
čvorovekoji
konekcije.
OkvirRadna
Properties
prikazuje
svojstvo
površina
je mesto
natrenutno
koje seizabranog
dodaju
grafičkog
elementa
na
radnoj
površini.
njega
grafički
elementi
VPL-a.
Paleta
Services
sadrži
servise
koji Pomoću
predstavljaju
se
mogu koji
postaviti
odgovarajuća
podešavanja datog
module
sadrže
skup funkcionalnosti
za
servisa
ili aktivnosti.
transformaciju
ulaznih podataka u izlazne. Svakoj
hardware-skoj komponenti robota (motori ili senzori)
prema servisno-orijentisanom programskom modelu
odgovara jedan servis.
Programiranje robota
u Microsoft Robotics Studio-u
Kreiranje jednostavnog robotskog programa
Primer 1: Kreirati aplikaciju koja na
osnovu reakcije senzora, prikazuje
poruku "Hello World".
Primer 2: Drugi primer ilustruje
pokretanje robota i izgovaranje poruke u
zavisnosti od pravca kretanja robota
Programiranje robota
u Microsoft Robotics Studio-u
Glavni delovi robota LEGO NXT
Procesor NXT je inteligentna, kompjuterski kontrolisana LEGO
kockica i mozak MINDSTORMS robota
Touch Sensor omogućava robotu da oseti i reaguje na
predmete iz svog okruženja.
Sound Sensor uređaj kojim robot čuje i reaguje na zvuk.
Light Sensor omogućava robotu da detektuje svetlost i boju.
Ultrasonic Sensor uređaj kojim robot vidi, meri rastojanje do
nekog predmeta i reaguje na pokret.
Interactive ServoMotors su motori koji
preziciono kretanje robota.
omogućavaju
Programiranje robota
u Microsoft Robotics Studio-u
Da bi robot radio ispravno, senzori i motori treba da budu povezani na
odgovarajuće ulazne i izlazne portove.
Postoje sledeći portovi:
Ulazni portovi:
Port 1: Touch Sensor
Port 2: Sound Sensor
Port 3: Light Sensor
Port 4: Ultrasonic Sensor
Izlazni portovi:
Port A: Motor koji se koristi za dodatne funkcije
Port B: Motor za kretanje
Port C: Motor za kretanje
Primer 1
Sada je potrebno uspostaviti vezu između ove dve
aktivnosti.
Kada se uspostavi veza između aktivnosti vrši se
izbor željenih aktivnosti iz liste, to jest servisa kojim
će se ulazni podatak u našem slučaju tipa string
transformisati u izlazni koji će biti prikazan na
kojim
definišu
i podešavaju
opcije
Data
aktivnost
omogućava
definisanje
konstantnog
Servis
koji
sese
koristi
za prikazivanje
poruke
je senzora
Simple
ekranu.
je GenericContactSensor,
prevlačimo
iz liste
tipa
podatka. Tip konstantekoga
datog
tipa definiše
se
Dialog.
Services.iz padajuće liste, dok se vrednost konstante
izborom
upisuje u polje za tekst. U polje za tekst se upisuje
Hello World, a iz liste se izabere string kao tip
podatka.
Primer 1
Pre
startovanja
aplikacije
treba izabrati
servis koji
Izgled
dijagrama
pre startovanja
programa.
će se ulazni podaci transformisati u izlazni.
Primer 2
Uspostavlja se veza između ove dve aktivnosti.
Servis pomoću
koga
se kontroliše
kretanje
je
Aktivnost
Calculate
registruje
promenu
imena robota
dugmeta
Direction
Dialog. Ovaj servis predstavlja prikaz u obliku
koje
je pritisnuto.
Windows dijalog prozora na kome su smeštena pet
dugmeta za kontrolu pravca kretanja robota. Ovaj servis
ima dva stanja: dugme je pritisnuti i dugme nije
pritisnuto.
Primer 2
Dodaje
aktivnost
Switch i povezuje
sa Calculate.
Uslovnose
grananje
postižemo
pomoću Switch
aktivnosti.
U
TextBox-u
kontroli
aktivnosti
Switch upisuju
sese
Stop,
Switch
aktivnost
definiše
više vrednosti
sa kojima
U
okviru ovog
zadatka
demonstriraće
se korišćenje
Forwards,
Backwards,
Leftna
i Right.
poredi podatak
koji dolazi
ulaz. Ovo poređenje vrši
uslovnog grananja. Kod svih programskih jezika
se po redosledu odozgo na dole, sve dok se ne
uslovno grananje predstavlja usmeravanje toka
pronađe odgovarajuća vrednost. Tada se podaci sa
podataka u zavisnosti od toga da li je određeni logički
ulaza prosleđuju na izlaz koji odgovara ponuđenoj
izraz tačan ili ne. Na taj način se može obezbediti da
vrednosti. Ukoliko nijedna od vrednosti ne odgovara
ponašanje našeg programa zavisi od spoljašnjeg uslova
vrednosti ulaza podaci se sa ulaza prosleđuju na Else
koji se mogu menjati (očitavanje senzora).
izlaz.
Primer 2
Na osnovu svega toga, sada se dodaju Data aktivnosti
kojima se definišu konstante Stop, koja je tipa string i
koja će biti izgovorena i konstanta tipa double čija je
vrednost 0.0, na osnovu koje se robot ne pomera.
Definišu
se
konstante Drive
Forwards
koja
se kojim
izgovara
Generic
Differential
servis
ćei 0.8
se
Servis TextToSpeechTTS
je je
servis
koji
se koristi
za
na
osnovu željene
koje se
pokreću
definišebiće
se
registrovati
stanje
motora
i tomotori,
stanje i motora
izgovaranje
poruke.
konstanta Backwards
i konstanta
-0.8 od
na osnovu
prikazano
odgovarajućom
vrednošću
-1.0 do koje
1.0
se
kreće unazad.
tiparobot
double.
Primer 2
Primer 2
Primer 2
Da bi robot skrenuo levo ili desno potrebno je da se
točkovi okreću u različitim smerovima.
Definišu se konstante Left, -0.5L i 0.5R. Specifično je
da se u ovom slučaju mora koristiti i naredba spajanja
tokova podataka. Aktivnost sinhronizovanog spajanja
Join omogućava spajanje više tokova pri čemu se
spajanje vrši tek kada se prikupe podaci sa svih
ulaznih tokova. Za svaki od ulaznih tokova definiše se
lokalna promenljiva koja u sebi čuva podatke pristigle
sa datog ulaznog toka.
Primer 2
Po startovanju programa pojavljuje se Windows dijalog
prozor u kome su smeštena pet dugmeta na osnovu kojih
je moguće kontrolisati kretanje robota.
Izgled aplikacije kada su dodate i konstante
kojima se definiše stanje motora prilikom
skretanja
Programiranje robota
u Microsoft Robotics Studio-u







Nastavna tema Programiranje LEGO NXT robota u Microsoft Robotics
Studiju obrađivana je u okviru nastavnog predmeta Računari i
programiranje.
Čas je održan u odeljenjima III razreda smera Mašinski tehničar za
kompjutersko konstruisanje.
Nastavna tema nastala je kao rezultat zapažanja nastavnika da je gradivo
iz predmeta Računari i programiranje u III razredu suviše apstraktno i
nedostupno učenicima.
Jedan od razloga demonstriranja ove nastavne teme su stalna pitanja
učenika koja je svrha učenja programskog jezika C.
Ovom nastavnom temom učenici kroz igru i timski rad uz pomoć
nastavnika na praktičan način primenjuju stečena znanja iz programiranja.
Učenici kreiraju jednostavan robotski program u Microsoft Robotics Studiou i testiraju izvršavanje kreiranog programa na LEGO NXT robotu.
Cilj je da se učenici aktivno uključe u nastavni proces i pruže nastavniku
mogućnost da više doprinesi individualnom razvoju učenika.
Programiranje LEGO NXT robota
u Microsoft Robotics Studio-u
Dopalo im se:

mnogo je zabavnije nego učenje iz knjige,

podstiče učenike na samostalni rad,

programiranje je postalo korisno (Ono što sam napisao radi: kreće
se u krug, ide levo - desno, napred - nazad.),

timski rad,

zabavno je na času.
Nije im se dopalo:

potrebno predznanje iz programiranja,

nemaju svi učenici računar i robota,

ne znaju svi učenici dobro engleski jezik, jer je sva trenutno
raspoloživa literatura na engleskom.
Programiranje robota
u Microsoft Robotics Studio-u
Dileme:

najteže je bilo definisati zadatak koji treba rešiti jer je to uvek
nastavnikov problem,

nedostatak vremena u okviru jednog školskog časa da se
isprobaju sve varijante programa i robota.

da li naš robot može da leti?

da li u toku rada može da se transformiše u neki drugi oblik?
Slike sa časa
Innovative Teachers Forum 2007 - Pariz

Innovative Teachers Forum 2007 održan je u Parizu od 29 do 30.
marta 2007. godine i deo je inicijative koju su usvojile Ujedinjene
Nacije, a koja podržava rešavanje osam globalnih problema do
2015. godine (u oblasti zdravstva, obrazovanja, ekonomije, itd) gde
su Microsoft i UNESCO zajednički podržali napore u približavanju
informacionih tehnologija učenicima širom sveta.

Na međunarodnom Innovative Teachers Forum (ITF) 2007, koji su
zajednički organizovali Microsoft i UNESCO, učestvovalo je 150
nastavnika iz 40 zemalja Evrope, Azije i Afrike.
Slike iz Pariza
Worldwide Innovative Teachers Forum
2007 - Finska
Projekat je prezentovan na svetskom finalu ITF-a, od 27. do 31 oktobra u
Helsinkiju, Finska.
Programiranje robota
u Microsoft Robotics Studio-u

Osnovna ideja je osavremenjavanje nastavnog procesa
korišćenjem novih software-skih (Microsoft Robotics Studio) i
hardware-skih (LEGO NXT robot) alata dostupnih školi, i
motivisanje nastavnika za primenu novih tehnologija u nastavi.

Namera nam je da se i ostale kolege iz naše i drugih škola
podstaknu na osvremenjavanje nastave predmeta Računari i
programiranje i njegovo približavanje učenicima.
HVALA
Katarina Veljković
[email protected]
[email protected]
http://katarinaveljkovic.spaces.live.com