Roda Malena i robot ProBot
Connect IT (P)robot (pomaže) u prirodi i njenoj zaštitiRoda Malena i robot ProBot
Jedna od najljepših brodskih ljubavnih priča, sada već poznata i izvan granica „Lijepe naše“, priča je o rodama Malenoj i Klepetanu. Malena je vjerojatno jedina roda koja više nije selica. Zbog ozlijeđenog krila ona ne može letjeti pa je prinuđena zimu provesti ovdje, u predgrađu Slavonskog Broda. Njen „rodan“ Klepetan se pak svake jeseni uputi na 13 tisuća kilometara dalek put na jug, ali se svakog proljeća, gotovo istog datuma vraća svojoj Malenoj. Probot.
Kada je prije 25 godina gospodin Stješan Vokić, domar škole u Brodskom Varošu, pronašao rodu ozlijeđenog krila, odlučio je pomoći joj dok se ne oporavi i odleti dalje. No, slomljeno krilo nije zacijelilo, i roda nikad nije poletjela. Stjepan, koji je jako zavolio rodu, uredio joj je prostor na tavanu školske dvorišne zgrade. Dao joj je ime – Malena.
I dok tijekom ljeta, Klepetan jedva uspije pribaviti dovoljno hrane za sebe, Malenu i njihove ptiće, zimi Malena potpuno ovisi o Stjepanovoj pomoći. No godine prolaze, Stjepan je u mirovini, i sve mu je teže odlaziti do udaljenih potoka i ribnjaka po ribu za Malenu.
Mladi Logo programeri udruge Connect IT, odlučili su (makar virtualno) pomoći gospodinu Stjepanu, te osmislili sustav u kojemu bi ProBot pomogao u brizi o Malenoj.
Priprema
Ideja je pomoću ProBota nacrtati Malenu u njenom okruženju, a potom, na dobivenom crtežu, izvesti nekoliko akcija za pomoć Malenoj, koristeći ProBot-ove senzore, te zvučne i svjetlosne signale.
Ovaj puta, za pripremu crteža koristili smo Terrapin Logo, koji ima mogućnost komunikacije s ProBotom putem USB kabla, tj. downloada i uploada Logo procedura iz memorije, i u memoriju ProBota.
Također, uspjeli smo standardnu kornjaču Terrapin Loga zamijeniti sličicom ProBota, te prilagoditi njeno ponašanje (brzinu i veličinu koraka) kako bi se ponašala slično pravome ProBotu. Tako smo dobili pravu računalnu simulaciju rada ProBota i pregled našeg budućeg crteža.
Crtanje
Zamislili smo da se naš crtež sastoji od 5 elemenata:
- Roda – stilizirani crtež rode Malene
- Kuća – Dvorišna zgrada škole na kojoj Malena ima gnijezdo, i u čijem tavanu obitava tijekom zime
- Jezero – udaljeno jezero s kojeg se Malenoj dovozi riba za prehranu
- Put (i dvorište) – put koji vodi od jezera do dvorišta u kojem se Malena hrani
- Riba – hrana za Malenu
Svaki učenik dobio je zadatak nacrtati neki od ovih elemenata.
Ovako smo na na ploči zamislili naš crtež:
Crteži su izrađeni u programu Terrapin Logo i to u onom mjerilu koje odgovara ProBotovim „koracima“. Tako smo naše procedure, pomoću USB kabla direktno učitali u memoriju ProBota.
Pri tome smo pazili da koristimo samo one naredbe koje ProBot poznaje. Tako smo za crtanje zaobljenih dijelova crteža umjesto funkcije CIRCLE koristili mnogokut sa vrlo kratkim stranicama.
Naredbe PENUP i PENDOWN nisu nepoznate ProBotu, ali on ih ne može izvršavati. One su korištene kako bi naš crtež nacrtan u Terrapin Logu izgledao dobro, dok ih ProBot zanemaruje. Zato smo u svaku od tih naredbi dodali naredbu WAIT, koja zaustavlja rad ProBota na određeno vrijeme (mi smo koristili vrijeme 3-5 sekundi) kako bi u toj pauzi rukom spustili ili podigli flomaster.
Jezero:
TO PROC16 PENUP FORWARD 30 WAIT 3000 PENDOWN FORWARD 20 RIGHT 45 FORWARD 7 RIGHT 45 FORWARD 22 REPEAT 10 [FORWARD 2 RIGHT 18] FORWARD 10 LEFT 90 FORWARD 10 REPEAT 10 [FORWARD 3 RIGHT 18] FORWARD 11 END
Riba:
TO PROC21 WAIT 1000 FORWARD 3 RIGHT 120 FORWARD 6 REPEAT 8 [FORWARD 1 LEFT 30] FORWARD 7 LEFT 60 FORWARD 3 PROBOT.SOUND 3 WAIT 1000 END
Cesta i dvorište:
TO PROC17 PENUP FORWARD 20 RIGHT 90 FORWARD 25 LEFT 90 PENDOWN WAIT 3000 RIGHT 90 FORWARD 3 RIGHT 90 FORWARD 20 LEFT 90 FORWARD 45 LEFT 90 FORWARD 20 RIGHT 90 FORWARD 11 LEFT 90 FORWARD 15 LEFT 90 FORWARD 19 LEFT 90 FORWARD 15 LEFT 90 FORWARD 11 RIGHT 90 FORWARD 23 RIGHT 90 FORWARD 51 RIGHT 90 FORWARD 23 END
Kuća:
TO PROC18 RIGHT 30 FORWARD 10 RIGHT 60 FORWARD 8 LEFT 90 FORWARD 2 LEFT 90 FORWARD 6 LEFT 90 FORWARD 2 LEFT 90 FORWARD 8 RIGHT 60 FORWARD 10 RIGHT 120 FORWARD 20 LEFT 90 FORWARD 10 LEFT 90 FORWARD 12 LEFT 90 FORWARD 8 LEFT 90 FORWARD 4 LEFT 90 FORWARD 8 LEFT 90 FORWARD 12 LEFT 90 FORWARD 10 END
Roda:
TO PROC19 LEFT 30 BACK 3 LEFT 60 FORWARD 3 RIGHT 120 FORWARD 3 LEFT 30 FORWARD 7 LEFT 20 FORWARD 7 LEFT 70 REPEAT 5 [RIGHT 15 FORWARD 2] RIGHT 105 FORWARD 17 LEFT 60 FORWARD 10 LEFT 90 REPEAT 12 [FORWARD 1 RIGHT 24] LEFT 90 FORWARD 12 RIGHT 2 BACK 12 FORWARD 12 LEFT 4 BACK 12 RIGHT 90 END
TO PROC20 REPEAT 3 [RIGHT 24 FORWARD 1] LEFT 88 FORWARD 11 LEFT 130 FORWARD 1 RIGHT 100 REPEAT 7 [RIGHT 15 FORWARD 2] LEFT 180 FORWARD 2 LEFT 15 FORWARD 1 RIGHT 45 FORWARD 7 RIGHT 110 FORWARD 7 RIGHT 30 FORWARD 3 LEFT 120 FORWARD 3 LEFT 120 FORWARD 3 END
TO PROC24 PENUP FORWARD 12 RIGHT 90 FORWARD 40 LEFT 90 WAIT 3000 PENDOWN END
TO PROC25 PENUP FORWARD 26 RIGHT 90 FORWARD 50 LEFT 90 WAIT 3000 PENDOWN END
TO PROC22 PENUP FORWARD 35 LEFT 90 FORWARD 50 LEFT 90 FORWARD 30 PENDOWN END
TO PROC26 PENUP FORWARD 32 RIGHT 90 FORWARD 50 RIGHT 90 FORWARD 37 RIGHT 180 PENDOWN END
U dodatne dvije procedure spremili smo početne pozicije Probota za crtanje kuće (PROC24) i rode (PROC25)
Procedure PROC22 i PROC26 također ne služe za crtanje, nego za pozicioniranje ProBota. PROC22 odvodi ga od jezera do dvorišta, dok ga PROC26 vraća istim putem nazad. Ove ćemo procedure koristiti nešto kasnije, prilikom rada sa senzorima.
Prije nego što smo krenuli na crtanje ProBotom po papiru, odlučili smo upotrijebiti našeg “virtualnog” ProBota te crtanje simulirati u Terrapin Logu. Evo kako je to izgledalo:
Crtanje na papiru
Zatim smo krenuli na crtanje pomoću ProBota na papiru. Cijeli proces crtanja može se vidjeti na sljedećem video zapisu i nekoliko fotogafija:
Kao što se može primjetiti na videu, crtanje nije prošlo “glatko”. Zbog neravnine na površini po kojoj se ProBot kretao (a vjerojatno i zbog dotrajalih baterija) ProBot je u jednom trenutku malo skrenuo sa zadane putanje, te smo ga, kako bi izbjegli ponovno iscrtavanje cijele slike, rukom lagano ispravili.
Iako je opet pokazao neke nedostatke, ProBot je vrlo dobro odradio svoj zadatak, te smo svi zadovoljni dobivenim rezultatom.
Sada nas, kao i Probota, čeka novo iskušenje… otkriti tajne njegovih senzora… i pomoći Malenoj.
Akcija
Saznali smo da ProBot ima 3 različita senzora, te 5 predviđenih procedura koje se izvršavaju na aktivaciju senzora.
- Zvučni senzor:
- procedura ON.SOUND aktivira se na zvučni signal
- Svjetlosni senzor :
- procedura ON:LIGHT aktivira se na povećano osvjetljenje
- procedura ON:DARK aktivira se na smanjeno osvjetljenje
- Senzor dodira
- procedura ON.FRONT aktivira se na uključen prednji senzor dodira
- procedura ON.REAR aktivira se na uključen stražnji senzor dodira
Također, otkrili smo da ProBot može proizvesti nekoliko različitih zvučnih signala, te upaliti ili ugasiti svjetla.
Odlučili smo ProBota “parkirati” pored jezera, na početku ucrtanog puta, gdje će čekati naredbe o odakle će obavljati svoje zadaće.
Zadatak 1 – Jutarnje hranjenje
Malena je ujutro gladna, i treba je nahraniti. Budući da naš ProBot ima svjetlosni senzor, i prepoznaje kada sviće dan, on će se po izlasku sunca uputiti prema dvorištu, kako bi Malenoj donio ribu (koju će iscrtati na za to određenom mjestu), te će se vratiti nazad do jezera.
Aktivacijom svjetlosnog senzora, ProBot će odraditi 3 procedure: otići do dvorišta (PROC22), nacrtati ribu (PROC21) te se vratiti do jezera (PROC26)
TO ON.LIGHT PROC22 PROC21 PROC26 END
Akcija 2 – Dnevno hranjenje
Malena mora još jednom jesti tijekom dana. Svi znamo da rode proizvode karakterističan zvuk klepetanja svojim kljunom (sada znamo i kako je Klepetan dobio ime). Taj zvuk prepoznaje i naš ProBot. Klepetanjem mu Malena dojavljuje da je gladna, te će se on na isti način uputiti prema dvorištu i “odnijeti” ribu.
ProBot će na zvučni signal izvesti iste procedure kao i u prethodnom primjeru.
TO ON.SOUND PROC22 PROC21 PROC26 END
Akcija 3 – Večernji obilazak
Uvečer Malena ne jede (kaže: pazi na liniju) ali ju je potrebno obići i provjeriti je li sve u redu. Spuštanjem mraka, kod našeg ProBota će se aktivirati svjetlosni senzor te detektirati smanjeno osvjetljenje. To će biti znak da se uputi prema dvorištu. Tamo je sada već mrkli mrak, te će ProBot upaliti svoja svjetla, okrenuti se prema Malenoj kako bi provjerio je li sve u redu. Posebnim će joj zvučnim signalom (koji samo ona razumije) poželjeti laku noć te se vratiti na svoje parkiralište
TO ON.DARK PROC22 LEFT 45 PROBOT.LIGHTS TRUE WAIT 3000 PROBOT.SOUND 6 LEFT 135 PROC26 PROBOT.LIGHTS FALSE END
Akcija 4 – Zapreke
Na svom putu od ribnjaka do Malene (koji na našem crtežu izgleda kratak, ali je ustvari jako dug), ProBot može naići na razne prepreke. Drvo koje je srušila oluja, prometna nesreća ili prosvjedi seljaka mogu spriječiti ProBota u obavljanju njegovih zadataka.
Zapreka se može pojaviti bilo gdje na putu. Ako prednji senzor dodira detektira prepreku, ProBot će se odaljiti nekoliko koraka unazad, stati, nekoliko puta zatrubiti, te dati signal svjetlima, kako bi dao do znanja da želi proći dalje. Pošto je put i dalje neprohodan, ProBot se treba vratit natrag do jezera, i ponovno pokušati svoj zadatak kasnije.
Problem nastaje zbog toga što naš ProBot nema GPS ni neki drugi senzor koji bi mu rekao gdje se nalazi i kako sa se vrati do jezera. No, uz našu pomoć, ProBot ipak nije bespomoćan. Znajući da on ima i stražnji senzor dodira, uputit ćemo ga da se vozi unatraške sve do početka ulice kojom se vozi. Kada stražnji senzor aktivira, ProBot će prepoznati mjesto s kojega mu je poznat put natrag do jezera.
(Iako smo razmišljali o tome da u projekt uključimo i mBotove, nismo smislili neki adekvatan način. No zato uspjeli uključiti kutije od mBotova koje su nam odlično poslužile kao “zapreke”)
TO ON.FRONT BACK 5 PROBOT.LIGHTS TRUE PROBOT.SOUND 3 WAIT 1000 PROBOT.SOUND 3 PROBOT.SOUND 3 WAIT 1000 BACK 100 END TO ON.REAR FORWARD 23 RIGHT 90 BACK 36 END
Akcija 5 – Budućnost
Ova akcija se zapravo ne odnosi na Pro-Bota, nego na sve nas.
Našim malim projektom željeli smo potaknuti sve one koji imaju mogućnost da pomognu Malenoj, a možda i dali ideju za nekakav “stvarni” projekt na sličnom principu. I ne samo za Malenu, nego za cijelu prirodu, i sve one koji u njoj žive.
Roboti možda jesu proizvod suvremenog, industrijskog, i tehnološki razvijenog društva, koje čini mnogo štete prirodi i okolišu. No čovjekova svijest i briga o prirodi sve više raste, i upravo bi roboti mogli biti ti, koji će upravljani programerima (što i sami želimo postati) u budućnosti biti glavna snaga u zaštiti prirode.
Projekt su izradili učenici članovi udruge Connect IT Slavonski Brod:
- Tin Mršić (3.a. OŠ Blaž Tadijanović)
- Patrik Sajfert (4.d. OŠ Bogoslav Šulek)
- Dominik Lovrić (5.d. OŠ Antun Mihanović)
- Mihael Lovrić (5.d. OŠ Antun Mihanović).
Mentor: Hrvoje Ćosić (Connect IT)