Robootika Kauglabori kasutamineAutor: Raivo Sell Käesolev õpiobjekt tutvustab Robootika Kauglabori kasutamist.Lisaks laboriseadmetele pakub Robootika Kauglabori
keskkond ka õppeprotsessi tuge, kus iga kasutaja saab koostada oma
isikliku moodulõppekava. Koostatud õppekava, mis sisaldab erinevaid
mooduleid ja õppeaineid saab õppeprotsessi kestel jälgida ja salvestada
õppeaine tasemel õppe tulemus. Õppeprotsessi jälgimiseks peab aga kooli
õppeaine ja moodul olema süsteemi enne sisestatud ja seetõttu ei pruugi
see funktsionaalsus olla kasutatav kõigile õpilastele. ![]() Õpiobjekti nimi: Robootika Kauglabori kasutamineÕpiväljundid:Pärast mooduli läbimist õpilane:
Kasutusjuhend:
Õpetatav osa: Lugeda teoreetilist ülevaadet enne riistvara reaalset ühendamist ja pingestamist. Vaadata juhendeid korrektse riistvara käsitlemise tagamiseks. Õpitu kinnistamiseks tuleb praktilised näited reaalselt läbi teha. Seoste loomine: Läbi õppejuhendite ja sõnalise selgituse järgimise. Kinnistav osa: Iseseisev praktika reaalse riistvarakomplekti baasil. TEOREETILINE OSARobootika Kauglabori kasutamise õpiobjekt kasutab süsteemi funktsionaalsuse näitlikustamiseks edaspidi "Robotic HomeLab testped" kauglaborit, mis on Robootika Kodulabori baasil koostatud mikrokontrollersüsteem. Teoreetiline taust - Laborite tüübidKauglabor (online labor) võimaldab kasutajal teostada eksperimente, mida tavaliselt tehakse laboris, üle interneti. Võrreldes tavalaboriga on eksperimentide teostamiseks üle interneti vaja täiendavaid seadmeid ja sidekanaleid. Traditsiooniline laborTraditsioonilises laboris saab kasutaja tegeleda seadmetega vahetult ja samuti on vahetu tagasiside seadmelt kasutajale. Näiteks vajutades seadme nupule saab kasutaja kohese tagasiside, kuidas seade reageerib ja kas eksperiment käivitus. KauglaborKauglabori puhul toimub kasutaja suhtlemine seadmega interneti vahendusel. See tähendab, et kasutaja istub oma arvuti või mobiilse seadme taga ja laboriseadmed on koolis või mujal, kuid mitte kasutaja vahetus läheduses. Kasutaja ei suhtle enam otse seadmega, vaid teeb seda läbi spetsiifilise tarkvara. Tarkvara võib olla kas eraldi programm või veebirakendus, mis toimib läbi tavalise veebilehitseja. Kasutaja korraldused saadetakse seadmele üle interneti. Tavaliselt ei suhtle kasutaja ka otse seadmega, vaid see käib läbi vaheserverite, mis tegelevad seadmete haldamise, turvalisuse küsimustega, jne. Kuna tarkvaraliselt on keeruks realiseerida mõningaid inimesele tavalisi tegevusi, nagu näiteks nupu vajutus, siis võib teatud funktsionaalsus olla kauglabori puhul piiratud. Enamasti vahetab juhttarkvara ja seade elektrilisi signaale ning enamus funktsionaalsusest on üldjuhul üsna lihtsalt teisendatavad elektrilisteks signaalideks. Üheks selgeks erandiks ongi kasutaja poolt teostatavad füüsilised liigutused, mida on kauglabori puhul otseselt liiga keerukas või kallis realiseerida. Tagasiside seadme käitumisest saadakse reaal-aja kaameralt, mida võib olla üks kuni mitu, sõltuvalt seadme spetsiifikast. Samuti on audiotagasiside võimalik ja on enamasti integreeritud reaal-aja kaameraga. Tehnilistel erialadel on laborieksperimentidel oluline osa ja tavaliselt on need defineeritud kursuse ainekaardil. Õpilased peavad teostama eksperimendid kindlatel aegadel, kui laboriseadmed on vabad või broneeritud just sellele õppegrupile või õpilasele. Need ajad langevad üldjuhul kokku õppetöö aegadega ja kooli ametlike lahtioleku aegadega. Tihti võib olla probleemiks vajalike laboriseadmete vähesus või puuduvad need üldse ning samuti võib olla probleemiks seadmetele juurdepääs, kuna kasutajaid on rohkem kui vaba aja resurssi. Sellises situatsioonis ongi mõistlik kaaluda kauglaborite rakendamist, kuna need on oluliselt paindlikumad kasutusaja osas – õpilane võib teostada eksperimente ka nädalavahetusel või öösel, kui soovib. Teine oluline kauglabori rakendamise eelis on juurdepääs. Eksperimente saab teha geograafilisest asukohast sõltumata ja ei ole vaja eraldi juurdepääsu labori ruumidesse. Olulisel kohal on ka kauglabori omanike ja koolide ressursside jagamine. See võimaldab õppetöös rakendada praktilisi laboritöid ka siis, kui koolil endal ei ole vajalikke laboriseadmeid. Piisab ainult kokkulepetest vastavaid seadmeid omava kauglabori omanikuga, näiteks teise kooliga. VirtuaallaboridVirtuaallaborid on kauglaborite eritüübid, mis toimivad eelpool kirjeldatult sarnaselt kauglaboritega, kuid ei oma reaalset riistavara ehk laboriseadmeid. Laboriseadmed ja süsteemi käitumine on simuleeritud vastava spetsiifilise tarkvara abil. Süsteemi tagasiside ei saada mitte reaalset süsteemi väljundit mõõtes vaid tarkvaraliste arvutuste simuleerimise teel. Simulaatori väljund võib olla ainult tekstiline, kuid atraktiivsuse ja selguse huvides on eelistatud sellised virtuaallaborid, millel on graafiline väljund. Näiteks kasutaja poolt sisestatud programmi tulemusel hakkavad mingid väljundseadmed oma olekuid muutma – näiteks LED süttib ja kustub. Virtuaallaborite eelis on nende lihtsam hallatavus (ei ole vaja hooldada riistvara) ja nende lihtne paljundamise võimalus. Virtuaalsete laboriseadmete arv sõltub enamati ainult serveri võimsusest ja litsentside arvust. Virtuaallaborite puuduseks võrreldes kauglaboritega on aga nende simuleerimispõhine väljund. Simuleeritud süsteem ei käitu kunagi täpselt samamoodi, kui reaalne süsteem. Seega on oluline, et õpilased saaksid uuritavast probleemist kogemuse reaalse eksperimendi kaudu, kuid alususeks sobib just virtuaallabor, mida on lihtsam pakkuda suurele hulgale õpilastele ja mida on praktiliselt võimatu oskamatu käitumisega lõhkuda. Kauglabori ülevaade ja funktsionaalsusRobootika Kauglabor võimaldab juurdepääsu laboritele ja
seadmetele, mis on liidestatud Kauglabori serveriga. Robootika
Kauglabori keskkond pakub järgmist unifitseeritud funktionaalsust
erinevatele laboritele:
Kauglaborid ja laboriseadmedKeskkonda integreeritud laboreid näeb, kui avada menüügrupp LABORID ja sealt alammenüü Kauglaborid. Avaneb tabel (vaata allolevat pilti), kus on näha süsteemi integreeritud laborid, mis on grupeeritud organisatsioonide järgi. Klõpsates
hiirega huvi pakkuval labori real avaneb konkreetse labori kirjeldus,
selle asukoht ja reaal-aja kaamerate pilt. Tavaliselt on ühes laboris
kaks videokaamerat, aga sõltuvalt labori tüübist võib neid olla ka üks
või rohkem. Kaamerate pildi all on näha laboris olevad seadmed. Igas
laboris on vähemalt üks seade, mida õpilased saavad kasutada. Ühes
laboris võib olla ka rohkem, kui üks seade, kuid sellisel juhul on
need kõik ühte tüüpi. Seadmete tabelit näeb videokaamerate pildi all. ![]() Klõpsates hiirega mõnel seadmel avaneb seadme info, kus on näha seadme kirjeldus, olek ja pilt. Samuti on näha seadme broneerimise andmed. Seadme kasutamiseks on vaja teoreetilist taustainfot ja vastavaid ülesandeid. Need on üldjuhul viidetena samal lehel, näiteks tabelina nagu on näha alloleval pildil. ![]() Seadme broneerimine ja kasutamise ettevalmistusLaboreid ja seadmeid saab uurida iga kasutaja ja selleks ei ole vaja ennast süsteemi registreerida ega sisse logida. Kui on aga soov seadmeid reaalselt kasutada, on vajalik kasutajatunnus ja vastavad õigused labori omanikult seadet kasutada. Kasutajatunnuse taotlemiseks tuleb võtta ühendust oma õpetajaga, kui Kauglabori kasutamine on nähtud ette kursuse õppeprotsessis või muul juhul aadressil info@robolabor.ee. Kui kasutajanimi on olemas, saab sellega süsteemi sisse lgida, valides menüügrupi MINU LEHT - Login (vaata allolevat pilti) ![]() avaneb sisselogimise aken, kuhu saab sisestada
kasutajanime ja parooli. Peale õnnestunud sisselogimist muutub MINU LEHT menüü ja sinna lisanduvad uued valikud (vaata allolevat pilti). ![]() Menüü
'Minu leht' näitab koondväljavõtet erinevatest kasutajaspetsiifilistest
andmetet nagu: Minu õpitee, Minu Edu ja Minu Seade. Kauglabori
seiukohalt on oluline valik 'Minu Seade', mis annab juurdepääsu
kasutajale broneeritud seadmele. Kui seadet ei ole veel broneeritud, siis viib menüüvalikule 'Minu seade' vajutamine automaatselt seadmete nimekirja, kust on võimalik omale soovitud seade broneerida. Oluline on siinkohal endale teadvustada, et seadet saab broneerida ainult juhul, kui selleks on andnud õiguse labori omanik või haldaja. Samuti ei saa konkreetset seadet endale broneerida, kui seade on juba kellegi teise poolt broneeritud. Ülevaate saamiseks, milliseid seadmeid saab endale broneerida, on kõige lihtsam valida menüüst LABORID - Kauglabor - Laborid ja avanenud tabelist valida huvipakkuv labor. Seejärel avaneb labori infoleht, kus on näha seadmete tabel koos informatsiooniga broneerimiste ja konkreetse kasutaja õiguste kohta. Näiteks on toodud ühe konkreetse kasutaja tabel laboris Robolabor.ee - Robotic HomeLab. Siit on näha, et seadme 1 ja 4 on broneeritud kahe erineva kasutaja poolt ning seade 3 ja 4 broneerimiseks ei ole õigusi. Seega on võimalik sellest laborist broneerida hetkel ainult seade number 2. Seadme kasutamineSeadet saab hakata kasutama peale selle broneerimist. Erinevatel laboritel on erinevad kasutajaliidesed. Alljärgnev näide illustreerib Robootika Kodulabori testplatvormi kasutamist. Sama kasutajaliidest kasutab ka Mobiilse roboti kauglabor ja osa Manipulaatorite kauglaboritest. Seadme kasutajaliides avaneb, kui vajutada menüülingil Minu seade. Avaneb kasutajaliides, kus on kirjeldatud seadme funktsioonid ja on illustreeriv pilt. Selle all on videokaamera ikoon, millele vajutades näeb reaalaja videopilti seadmest või laborist. Seadme kasutamiseks saab sisestada C keelse juhtprogrammi lähtekoodi avanenud aknasse. Samuti võib avada mõne eelsalvestatud näiteprogrammi. Lisaks on näha seadme olek (Status). Selle all on võimalik avada eelsalvestatud näiteid või ka enda poolt salvestatud koodi. Kui on soov omaloodud koodi salvestada, siis tuleb selleks anda koodile nimi, mis sisestatakse lahtrisse Nimi ja seejärel tuleks vajutada Save nuppu (vaata allolevat pilti). Programmi kood sisestatakse koodi aknasse (pilt allpool) või laetakse üles tekstifailina. Selleks on lahter Upload source code or hex file. Koodi kontrollimiseks ja kompileerimiseks tuleb vajutada Compile nuppu. Kui kood kompileerub edukalt, on väljundi tulemus ilma veateadeteta, näiteks nagu on näha alloleval pildil. Kui koodis oli viga, siis väljundaknas on seda ka näha vastava veateatena. Näiteks: main.cpp: In function 'int main()': Kui
kood kompileerub edukalt võib selle laadida seadmesse. Selleks tuleb
vajutada nuppu Compile / Execute. See laeb kompileeritud koodi
seadmesse. Eduka laadimise tunnuseks on programmi parsimine
laaduri poolt, mis annab väljundaknasse sarnase väljundi: Connecting program server: 217.159.142.54 Remote command:cat /home/www/roboticlab/distancelab/prog/usertemp/10/main.hex | ssh robot@217.159.142.54 /usr/bin/hlflash - 3 Connected to libftdi driver. IR length: 4 Chain length: 1 Device Id: 01001001100000000010000000111111 (0x4980203F) Manufacturer: Atmel (0x03F) Part(0): ATmega2561 (0x9802) Stepping: D Filename: /usr/share/urjtag/atmel/atmega2561/atmega2561 Parsing 20/773 ( 2%) Parsing 30/773 ( 3%) Parsing 40/773 ( 5%) ------ Parsing 720/773 ( 93%) Parsing 730/773 ( 94%) Parsing 740/773 ( 95%) Parsing 750/773 ( 97%) Parsing 760/773 ( 98%) Parsing 770/773 ( 99%) Scanned device output matched expected TDO values. Infile: /tmp/tmp7jWQUg.hex Binary size: 696 Flash pages: 3 Peale õnnestunud laadimist tuleks avada reaalaja videokaamera pilt, mis näitab laetud programmi toimimist. Alloleval pildil näeb videokaamera väljundit, kus on näha mootori pöörlemine. Muud kauglaboridÕpiobjekti loomise hetkel 2013 suvi on süsteemis
registreeritud neli organisatsiooni, kus enamus organisatsioonidest on
üks aktiivne labor, va. ITT Group, kus on kaks aktiivset laborit. Olemasolevad laborid jaotuvad erinevatesse gruppidesse,
millest on esindatud:
Illustratsioonid
NÄITEKOODJärgnevalt on toodud numberindikaatori kasutamise näiteprogramm. Programm loeb ligikaudu sekundilise intervalliga numbreid nullist üheksani. Selline loendamine on saavutatud suuremast arvust mooduli võtmisega. // // Kodulabori sisend-väljundmooduli 7-segmendilise // LED indikaatori näidisprogramm // #include <homelab/module/segment_display.h> #include <homelab/delay.h> // // Põhiprogramm // int main(void) { int counter = 0; // 7-segmendilise indikaatori seadistamine segment_display_init(); // Lõputu tsükkel while (true) { // Kui loenduri väärtus on suurem kui 9, // siis näitab 7-segment E - Error segment_display_write(counter); // Loenduri suurendamine counter++; // Paus 1 sekund sw_delay_ms(1000); } } Järgnevalt on toodud näidisprogramm, mis juhib alalisvoolumootorit, nii et see muudab oma pöörlemissuunda iga 5 sekundi järel. // // Kodulabori mootorite mooduli // alalisvoolumootori testprogramm // #include <homelab/module/motors.h> #include <homelab/delay.h> // // Põhiprogramm // int main(void) { // Suuna ja kiiruse muutujad signed char direction = 1, speed = 1; // Mootori 1 seadistamine dcmotor_init(1); // Lõputu tsükkel while (true) { dcmotor_drive(1, direction); // Paus 5 sekund sw_delay_ms(5000); // Suuna ümberpööramine direction = -direction; } } ![]() LISAMATERJAL
Teoreetilise osa algtekstide autor: Raivo Sell |