Objavljeno: 22.4.2014 | Avtor: Simon Peter Vavpotič | Monitor Maj 2014

Robot na daljinsko vodenje

V šestdesetih in sedemdesetih letih preteklega stoletja so nerodni prototipi robotov za domačo rabo nemalokrat vzbujali več strahu kot domišljije. Med nešteto zamislimi ni bilo niti ene zares uporabne in dovolj poceni, da bi si jo lahko privoščil vsakdo. Danes je spletna ponudba gotovih robotov ter delov zanje pestra; a to so še vedno igračke za otroke in »velike fante«.

Robotski sesalnik.

Robotski sesalnik.

Inteligentnih robotov, ki bi nas učinkovito nadomestili pri vsakdanjih domačih opravilih, kljub petdesetim letom razvoja še vedno ni. Večina zaresnih domačih uporabnikov ima robotska sesalnik in/ali kosilnico, redki pa tudi čistilnike oken in bazenov ali samodejne krmilnice za domače živali. Vendar delujejo le, če zadostimo kopici predpogojev. Denimo, robotska sesalnik in kosilnica »ne marata« neravnega terena z ovirami in stopnic. Krmilnica ne zna naročiti hrane. Tudi vsestranski inteligentni robot, ki bi znal brisati prah s polic in očistiti računalniški monitor in televizor, posesati prah v stanovanju tudi po kotih ali pripraviti zajtrk v postelji, je kljub številnim medijsko odmevnim prototipom še vedno bolj kot ne znanstvena fantastika.

Kljub temu so raziskave v robotiki v preteklih dvajsetih letih dosegle velik napredek. »Voda na mlin robotike« je tudi vse večja zmogljivost mikrokrmilnikov oziroma računalnikov v enem čipu. Z njimi lahko raziskovalci »pamet« vgradijo tudi v posamezne dele robotov, kot so kamera, roke in noge. Inteligentni udi in elektronska čutila omogočajo robotom mehak prijem, ne da bi potrebovali nešteto električnih žic do osrednjega računalnika nekje v trupu robota. Slednji skrbi za višjenivojske operacije, kot so računalniški vid, navigacija ter logično sklepanje in sinteza govora. Prava ironija je, da lahko dober računalniški vid nadomesti skoraj vsa druga elektronska čutila, vendar je njegova raba pogojena z uporabo zelo zapletenih in še ne docela dodelanih umetnointeligenčnih računalniških algoritmov ter sorazmerno zmogljivih računalnikov. Po svetu vozi kar nekaj prototipnih avtomobilov brez voznika. Vendar je tehnologija še nezrela, predraga in premalo preverjena za splošno rabo.

Trirazsežni tiskalnik zna izdelati tudi nadomestne dele za domače in raziskovalne robote

Trirazsežni tiskalnik zna izdelati tudi nadomestne dele za domače in raziskovalne robote

Od motoriziranih modelov do pravih robotov

Gradnja motoriziranih modelov na daljinsko vodenje je priljubljena že več kot tri desetletja, je pa res, da pametnih robotov ne smemo enačiti z daljinsko vodnimi »igračkami«. Tudi slednje uvrščamo med robote, vendar so inteligentni roboti vse prej kot to. Čeprav še vedno sprejemajo in izvršujejo ukaze operaterja, so sprogramirani tako, da se v različnih kritičnih situacijah, tudi ko nimajo povezave z operaterjem, znajdejo sami. Denimo, sami poiščejo alternativno pot ali pa se ustavijo pred oviro, oziroma varno pristanejo in čakajo novih navodil. To počne tudi robot Opportunity, ki letos praznuje desetletnico pristanka in delovanja na Marsu. Vendar brez vgrajene pameti oziroma številnih mikroračunalnikov, ki upravljajo njegove sklope in tudi poskrbijo za skrajno varčevanje z energijo, tega ne bi zmogel. Njegov dvojček, Spirit, je pred tremi leti podlegel marsovskemu vremenu, kljub temu pa je tudi on zdržal veliko veliko dlje od predvidenih treh mesecev.

Robota sta vzornika novodobnih domačih in raziskovalnih robotov. Domači roboti imajo sicer vedno dovolj veliko zalogo energije in ne potrebujejo samoohranitvenih funkcij, je pa zato toliko bolj pomembna njihova sposobnost pravilne navigacije in izogibanja oviram. Tu imajo ključno vlogo številna elektronska tipala. A so pri večini domačih in poceni raziskovalnih robotov še vedno dokaj preprosta in ne omogočajo vidne zaznave prek elektronske kamere. Zato pa je toliko več rešitev ob pomoči ultrazvoka, infrardečih tipal in celo laserskih tipal.

Notranjost zmogljivejšega servo motorja

Notranjost zmogljivejšega servo motorja

Kako se premikajo?

V dobro založenih spletnih trgovinah lahko kupimo praktično vse dele za robota; celo zobnike za prenose, s katerimi sami poskrbimo za pravo razmerje gibalne moči in hitrosti premikanja. Kupimo lahko tudi celotno mehaniko robota, z elektromotorji in drugimi gonili vred, vendar brez elektronskih krmilij in glavnega računalnika. Slednje izdelamo sami ali pa v spletni trgovini kupimo že izdelane tiskana vezja za vgradnjo.

Pri načrtovanju robota moramo pravilno izbrati vrste elektronskih gonil. Pri enostavnejših modelih uporabljamo enosmerne motorje, ki jih le vklapljamo in izklapljamo ali pa jim z regulacijo napetosti spreminjamo moč, hitrost in smer vrtenja.

Druga možnost je uporaba servo motorjev, ki imajo večinoma že vgrajene ustrezne prenose. Oboje lahko krmilimo z impulzno-širinsko modulacijo ali pa z regulacijo višine enosmerne napetosti. V nekatere servo motorje je že vgrajen tudi krmilnik in jih lahko krmilimo digitalno, denimo prek vodila I2C.

Robotizirani voziček za prevažanje palic za golf

Robotizirani voziček za prevažanje palic za golf

Tretja možnost so koračni motorji, ki zahtevajo več visokofrekvenčnih impulzno-širinsko moduliranih krmilnih signalov. Navadno lahko z enim mikrokrmilnikom upravljamo od enega do dva koračna motorja. Vendar to ne velja za enosmerne in servo motorje, ki potrebujejo vsaj še enkrat manj krmilnih signalov (smer vrtenja in hitrost vrtenja). Pri gradnji robotov se odločamo za koračne motorje le tam, kjer potrebujemo veliko natančnost gibanja, denimo za gradnjo robotske roke s prijemalom.

Poleg motorjev pridejo prav tudi druga gibala. Denimo, elektromagnetni premikalniki, ki delujejo podobno kot releji, le da namesto preklapljanj kontaktov premikajo krmilne vzvode. Z njimi je mogoče obračati prednja kolesa modela avtomobila ali premikati krmilne površine kril pri modelu letala. Navadno so tudi hitrejši od elektromotorjev, še posebej tistih s prenosi.

In vendar je dobro izdelana mehanika šele temelj za izdelavo pametnega robota. Mnogi se raje odločijo za predelavo modela na daljinsko vodenje, ki ga danes lahko kupimo v vseh bolje založenih trgovinah z igračami ali modelarskih trgovinah tudi za manj kot 100 evrov. A je bistvena pomanjkljivost takega modela to, da ni elektronskih tipal, ki jih avtonomni robot nujno potrebuje.

Poceni robot iz otroške igrače

Za osnovo vzamemo star model avtomobila Mercedes C111 z dvema 3 V elektromotorjema, ki smo ga originalno vodili prek kabla. Naslednji korak je izdelava elektronike za upravljanje motorjev in daljinsko vodenje. Vsa »pamet« bo v mikrokrmilniku, ki bo z nekaj dodatnimi vezji upravljal motorja, zajemal robota in obdeloval podatke s tipal ter sprejemal ukaze po brezžičnem komunikacijskem kanalu.

Na spletni strani sites.google.com/site/pcusbprojects/5-custom-projects/l-dc-motor-controller-robotics je primer ojačevalnika, ki ojačuje impulzno-širinsko moduliran signal iz mikrokrmilnika tako, da z njim krmilimo dva enosmerna motorja. Vsakega lahko z različnimi hitrostmi vrtimo nazaj ali naprej. Vezje vsebuje tudi zaščito pred samouničenjem, saj ne dovoljuje kratkostičnega krmiljenja močnostnih tranzistorjev.

Zdaj potrebujemo še elektronska tipala ter oddajnik in sprejemnik za prenos podatkov iz nadzornega računalnika v robota. Včasih je bila brezžična komunikacija zapletena, danes pa lahko kupimo majhne oddajne in sprejemne komunikacijske module, ki so prilagojeni za priklop na mikrokrmilnik. Potrebujemo le ustrezno vgrajeno programsko opremo in že lahko prenašamo podatke. Več na: sites.google.com/site/pcusbprojects/5-custom-projects/v-wireless-communications.

Robot izdelovalca priljubljenih kock Lego, Lego NXT

Robot izdelovalca priljubljenih kock Lego, Lego NXT

Zdaj si moramo omisliti še elektronska tipala. Robota resda lahko z igralno palico upravljamo tudi brez njih, vendar mu želimo dati tudi nekaj avtonomnosti in ga obvarovati pred trki z ovirami. Če nočemo zapravljati denarja, lahko uporabimo kar infrardeče (IR) fotodiode in IR svetleče diode. Mikrokrmilnik s pomočjo predojačevalnika in A/D pretvornika meri svetlobni tok na IR fotodiodah (sites.google.com/site/pcusbprojects/4-velleman-experiment-board-k8055-pic-replacement/h-it-is-really-to-add-an-illumination-sensor-to-k8055-or-k8055n-board). Ko se robot približa oviri, zazna odbito svetlobo iz IR svetleče diode. Čim bliže je, tem večji je odboj. Tako lahko zazna, kako daleč je še od ovire. Če se preveč približa, se ustavi.

Zaznavanje okolice

Izbrati vrsto in tip elektronskih tipal, ni enostavno, saj se moramo odločiti, koliko časa, denarja in lastnega znanja smo pripravljeni vložiti v izdelavo robota. Lahko se, po vzoru Spirita in Opportunity, določimo za dve ceneni video kameri, ki ju uporabimo za stereoskopski računalniški vid. Ponudba barvnih kamer, ki stanejo manj kot 50 evrov, je pestra. A z nakupom odpremo »Pandorino skrinjico« še nedodelanih algoritmov za računalniški vid. Zajemanje podatkov še zdaleč ni tako zapleteno, kot je obdelava in analiziranje slik s kamer v realnem času. Zdi se, da so danes kamere namenjene bolj snemanju »dokumentarcev« o gibanju robota, kot pa da bi mu pomagale pri navigaciji in zaznavanju predmetov v okolici.

Če bo robotov vgrajeni glavni računalnik premalo zmogljiv za obdelavo slik v realnem času, bomo potrebovali zmogljivejši oddajnik-sprejemnik, da bomo lahko živo sliko prenašali v nadzorni računalnik. Te možnosti marsovski roboti nimajo, saj radijski signal potuje celih 20 minut.

Kakorkoli, večina današnjih robotov namesto računalniškega vida uporablja enostavnejša tipala, kot so: laserska, ultrazvočna, svetlobna (fotocelice) in infrardeča tipala, elektronska giroskop in merilnik pospeška, tipala gibanja, tipala za zaznavanje in merjenje vrtenja koles, mikrostikala za zaznavanje trkov z ovirami, piezoelektrično tipalo, upor, ki meri silo pritiska na površino … Če omogoča računalniški vid zaznavanje oseb in predmetov v prostoru, zadoščajo enostavna tipala zgolj za »tipanje«. Kljub temu lahko tudi tako rešimo kopico problemov.

Na primer, robotski sesalnik, kosilnica in čistilnik bazenov morajo delovati po vsej površini. Zato je dovolj, da zaznajo njene robove (npr. stene sobe). V večino robotskih sesalnikov je vgrajen preprost algoritem za spreminjanje smeri gibanja, ko naletijo na oviro. Čeprav ni popoln, je kljub temu dovolj dober, da robot v kake pol ure »obdela« ves prostor in se nato vrne v svojo polnilno postajo. Podoben algoritem uporablja tudi robotska kosilnica.

Preprosta tipala imajo tudi nekateri raziskovalni in industrijski roboti. V mislih imamo predvsem robotske manipulatorje, ki po vnaprej izdelanem algoritmu sestavljajo polizdelke v izdelek ali pakirajo izdelke v embalažo. Ti roboti morajo delovati z visoko natančnostjo, skoraj tako kot trirazsežni tiskalniki. Kljub temu večinoma ne uporabljajo računalniškega vida.

Programska oprema za učno/raziskovalno robotsko roko

Programska oprema za učno/raziskovalno robotsko roko

Po dele v spletno trgovino

Ena najbolje založenih spletnih trgovin za sestavljavce robotov je www.robotshop.com. Ni edina, zato pa v njej najdemo skoraj vse, od zobnikov in motorjev, raznovrstnih tipal do programske opreme. Kupimo lahko sestavljene zabavne, raziskovalne in profesionalne robote, pa tudi raznovrstne dele za sestavljanje robotov. Zabavni in raziskovalni roboti so dokaj poceni (od 200 do okoli 2000 dolarjev), profesionalni roboti pa nam bodo denarnico olajšali tudi za ceno manjšega avtomobila (okoli 10.000 dolarjev). Pestra je tudi ponudba industrijskih robotov, vendar predvsem manipulatorjev, saj večje robote izdelujejo le po naročilu. Stanejo 2000 evrov in več.

Robotska osnova za gradnjo inteligentnega robota

Robotska osnova za gradnjo inteligentnega robota

Robotska osnova za gradnjo inteligentnega robota

Robotska osnova za gradnjo inteligentnega robota

Večina spletnih trgovin ima celovito ponudbo, čeprav hitro odkrijemo tudi pomanjkljivosti, precej razlik pa je v trgovinah tudi med cenami enakih ali podobnih izdelkov z enako funkcionalnostjo. Zato je dobro obiskati več trgovin, preden se odločimo za nakup.

V robotkih spletnih trgovinah dobimo vse, tudi mikrokrmilniške osnove, ki jih lahko uporabimo za robotove »možgane« ali vsaj za neposredno krmiljenje gibal. Kljub temu se splača ceno posameznih elektronskih komponent preveriti tudi v specializiranih spletnih trgovinah z elektronskimi komponentami, ker bodo morda cenejši. Kupimo lahko tudi rabljene robote in njihove dele. Pri odločitvi za nakup tu vsekakor velja previdnost, saj ni nujno, da bomo dobili brezhiben izdelek.

Gradnja štirikopterja

Štirikopter (angl. quadcopter) je helikopter s štirimi elisami, kvadratne oblike, s po eno eliso v vsakem vogalu. Ne gre za zelo inteligentnega robota, temveč za t. i. trota (angl. drone), ki ga upravljamo z daljinskim upravljavcem. Čeprav v spletnih trgovinah najdemo obilico sestavljenih štirikopterjev, lahko precej denarja prihranimo, če se gradnje lotimo sami.

Robot je zastavljen kot odprta osnova. To pomeni, da lahko dele zanj kupimo od različnih izdelovalcev. Mehanika je le na videz preprosta, v resnici se moramo gradnje zrakoplova lotiti z veliko natančnostjo in vztrajnostjo. Težo akumulatorskih baterij moramo enakomerno razporediti. S koščki lepilnega traku moramo natančno uravnotežiti tudi vse štiri elise, da ne povzročajo pretiranih vibracij.

Baterijski akumulatorji za štirikopter

Baterijski akumulatorji za štirikopter

Sestavljeni štirikopter

Sestavljeni štirikopter

Za krmiljenje štirikopterja potrebujemo namensko ploščico tiskanega vezja z mikrokrmilnikom in namestitveni program, s katerim ob pomoči osebnega računalnika iz spleta prenesemo zadnjo različico vgrajene programske opreme. Zraven je tudi programska aplikacija, s katero pred prvim poletom in pred namestitvijo elis natančno kalibriramo dovajanje energije v vse štiri elektromotorje, ki ga poganjajo.

Daljinski upravljalnik za modele moramo kupiti posebej. Umerimo ga podobno kot igralno palico za osebni računalnik. Šele nato lahko namestimo elise in preizkusimo svoje pilotske sposobnosti.

Podrobna navodila za gradnjo najdemo, na primer, na spletni strani: myfirstdrone.com/build-your-first-quad. Moti le, da »domači« štirikopter nima kamere, kot jo imajo desetkrat dražji profesionalni troti. Zato ga teže upravljamo, smo pa tudi prikrajšani za pogled iz ptičje perspektive.

Programska oprema

Večini izobraževalnih robotov je priloženo razvojno okolje, v katerem lahko sprogramiramo nove funkcije za krmiljenje robota in jih prenesemo v njegov krmilni računalnik. Univerzalno in/ali namensko programsko opremo lahko kupimo tudi posebej. Ponudba sega od gonilnikov za razne operacijske sisteme do pravih razvojnih okolij z lastnimi programskimi jeziki.

Eden izmed programskih jezikov je tudi robot C, ki podpira strojno opremo za gradnjo robotov izdelovalcev LEGO NXT, VEX, RCX in Arduino. Krmiljenje gibal robota je enostavno. Denimo, dovolj je, da napišemo »motor[motorA]=100;« in motor A robota se bo zavrtel z relativno hitrostjo 100. Višja vrednost pomeni, da bo skozi motor steklo več toka, a je dejanska hitrost vrtenja njegove osi odvisna od obremenitve. Lahko gre tudi za dejansko hitrost vrtenja, vendar le, če je v pogonski sklop integriran ustrezen krmilnik z merilnikom obratov.

Raziskovalna petprsta robotska roka

Raziskovalna petprsta robotska roka

Kljub obilici zamisli programskih paketov za resno delo ne bomo mogli kupiti. Vse se konča bolj ali manj pri krmljenju mehanike, saj programska oprema večinoma omogoča zgolj vnaprej sprogramirano gibanje robota ali pa je bolj igrača za otroke. Resda nekaj orodij omogoča tudi uporabo računalniškega vida, a vsebujejo zgolj bazične algoritme. Zaresna programska orodja dobimo le v paketih s profesionalnimi namenskimi roboti, le da so namenjena bolj daljinskemu upravljanju robotov in prenosu slik iz njegovih kamer.

Programsko okolje za programiranje Fischerjevih robotov

Programsko okolje za programiranje Fischerjevih robotov

Če hočemo zgraditi inteligentnega robota z računalniškim vidom, smo prepuščeni lastnemu znanju in izkušnjam. Preprostost programiranja v programskih jezikih, kot je robot C, ne pride do izraza, saj moramo sklope robota povezati tako, da je mogoč hiter zajem in obdelava podatkov iz njegovih tipal, predvsem kamer. Ravno zaradi zahteve po delovanju v realnem se moramo programiranja lotiti v zaresnih razvojnih okoljih, kot je Microsoftov Visual Studio …

Sestavimo ga!

Na splošno sestavljanje robota obsega sestavljanje mehanike in elektronike ter pripravo programske opreme; ali pa zgolj sestavljanje elektronike in izdelavo programske opreme, če za okoli 100 evrov kupimo že izdelano raziskovalno robotsko osnovo.

Za več kot le otroško igro bomo morali najprej narediti načrt tipa robota, ki ga želimo sestaviti. V raziskovalnih sferah so najbolj priljubljeni mehansko preprosti roboti na kolesih s kopico tipal in pogosto tudi dvema kamerama za stereoskopski vid. Priljubljeni so tudi t. i. »socialni roboti«, s katerimi znanstveniki analizirajo odnose v populaciji robotov, ki imajo vgrajene enake ali različne računalniške algoritme. Povsem drugo obliko robotov predstavljajo robotske roke (manipulatorji). Navadno kupimo že sestavljeno robotsko »okončino« z bazično programsko opremo, ki omogoča hiter začetek programiranja. Mogoče je tudi oboje: dražje, raziskovalcem namenjene robote sestavlja gibljiva osnova z eno ali dvema robotskima rokama za prijemanje predmetov.

Sledi izdelava elektronike. Nekateri roboti imajo za »možgane« celo prototipno ploščico (angl. protoboard), v katero lahko enostavno vtaknemo mikrokrmilnik in vse druge električne elemente, ki sestavljajo krmilje robota, in jih povežem s trdimi žicami. Graditelji takih robotskih osnov so včasih zelo iznajdljivi, saj na prototipni ploščici kombinirajo tudi različne že uveljavljene mikrokrmilniške osnove. Denimo, Arduinovo ploščico tiskanega vezna z mikrokrmilnikom ali pa kar pretvornik iz USB v RS-232 in podobne univerzalne in cenene polizdelke.

Sestavljanje robota je lahko tudi zabavno. Najdemo tudi učne komplete za sestavljanje, pri katerih gradimo razna robotska krmilja iz osnovnih električnih elementov, ki so zapakirani v prozorna ohišja s kontakti, robotska osnov pa ima mrežo vtičnic. Zato spajkanje ni potrebno.

Več na: www.instructables.com/id/EXTREME-Snap-Circuits-Programmable-Robot in cs-sales.net/snapcircuits.html.

Ponudba robotov in robotskih delov v spletu

Spletnih trgovin z novimi in rabljenimi roboti in robotskimi deli je zelo veliko: www.globalrobots.com, www.tecnologie-industrialisrl.com, www.robotshop.com, www.robotmarketplace.com, www.trossenrobotics.com, www.robotstore.com, www.superdroidrobots.com, backyardrobots.com/hobby/sites.shtml, www.active-robots.com, www.ebay.com/bhp/robot-parts, www.hobbytronics.co.uk/robotics, letsmakerobots.com, robokits.co.in, store.irobot.com/shop/index.jsp, shop.lego.com/en-US/Robotics-ByCategory, www.vexrobotics.com, www.budgetrobotics.com, www.robomart.com.

Robotski trot za delo na terenu

Robotski trot za delo na terenu

Preostale lahko poiščemo s spletnim brskalnikom, če vtipkamo »robot parts« (slov. deli za robote) ali »robot buy« (slov. »robot kupi«).

Robotov bo vse več, a ne pametnih

V dnevnem časopisju si lahko preberemo, kako naj bi roboti ob današnjem napredku računalniških tehnologij že v desetih letih postali inteligentni kot ljudje. Zanimivo je, da so tako pisali tudi pred desetimi, dvajsetimi, tridesetimi, štiridesetimi in petdesetimi leti. Med tehnologijami za gradnjo domačih robotov, ki so vgrajene tudi v profesionalne daljinsko vodene robote, ne najdemo veliko metod za strojno učenje, še manj je umetnih nevronskih omrežij oziroma elektronskih ali programskih posnemanj delovanja človeških možganov, ki bi robotu omogočili učenje na podlagi preteklih izkušenj. Robot sicer lahko deluje tudi na osnovi ekspertnega znanja, a se v nepredvideni situaciji ne bo znašel, četudi bo ta na moč podobna tistemu, kar počne vsak dan. Obenem potrebuje obsežno knjižnico podatkov in algoritmov, ki jo je težko vgraditi v majhne računalnike, ki krmilijo večino današnjih robotov. Na podlagi ekspertnih sistemov delujejo tudi sorazmerno dragi robotski spremljevalci (angl. robot companions), ki znajo govorno komunicirati s človekom, s katerimi preganjamo osamljenost. Lahko temu rečemo inteligenca?

Znanje o delovanju človeških možganov, ki bi ga nujno potrebovali za razvoj avtonomnih inteligentnih robotov, s katerimi nas strašijo nekateri časopisni članki, je še vedno pičlo. Za raziskave na tem področju je potrebno tudi izdatno financiranje. Zato svetovno priznani znanstveniki v svojih izjavah za javnost radi pretiravajo. Bojazen, da bi nas čez deset let zasužnjili roboti, ki jih bomo sami razvili, še dolgo ne bo upravičena. Je pa res, da bo enostavnih robotov, ki nam bodo pomagali pri vsakdanjih opravilih, iz leta v leto več, saj se mehanske in elektronske komponente hitro cenijo in zmanjšujejo, svetovna gospodarska kriza pa sili izdelovalce računalnikov in zabavne elektronike v odkrivanje novih tržnih niš …

Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!

Komentirajo lahko le prijavljeni uporabniki

 
  • Polja označena z * je potrebno obvezno izpolniti
  • Pošlji