ROBOT OPERATING SYSTEM (ROS)
Sarrera hau beste hizkuntza hauetan dago eskuragarri: English, Español
Robotika aski ezaguna den eta gizarteratuta dagoen esparru bat da orain dela hamarkada batzuetatik. Ondorioz, lanbide heziketan ere bere presentzia du, eta hainbat ziklotan jorratzen den esparrua da. Denborak aurrera egin ahala ordea, robotikak eboluzionatzen dihardu eta robotei autonomia emate aldera, teknologia berriak sortuz doaz. Hortaz, garrantzizkoa da lanbide heziketan, teknologia berri hauei buruzko ezagutzak txertatzea.
Tknikako Robotika Autonomoko espezializazio arloan, gaur egun erabilienak diren teknologia ezberdinen analisi bat egin ondoren, ROS (Robot Operating System) deituriko middleware librean trebatzea zentzuzko ekimena dela deritzogu. Beraz, Robotika Autonomoa proiektuaren xede garrantzitsuenetako bat, ROS inguruko ezagupenak geureganatu eta ondoren, lanbide heziketako irakaslegoari zuzendutako ezagutza transferentziak egitea da.
Baina… Zer da ROS?
Komunitate baten babespean haziz doan eta robotikako aplikazioetarako balio duen software libredun liburutegi eta tresna multzoa da. Liburutegi hauetan, abstrakzio maila oso baxutik hasi eta maila oso altuko algoritmoetara arteko programazio-kodeak aurkitzeko aukera dago: driverretatik hasi eta adimen artifizialeko hainbat algoritmo arte. ROS-en gehien erabiltzen diren programazio lengoaiak, C++ eta Python dira.
ROS-ek, egitura banatua du eta ‘nodo’ deituriko prozesu paraleloz osatzen da; hau da, ROS sistema bakar bat, makina fisiko ezberdinetan dauden nodoez osatuta egon daiteke. Nodoen arteko komunikaziorako argitaratzaile/harpidedun eredua erabiltzen da eta komunikazio kanalei, ‘topic’ deritzaie. Beraz, nodo batek, topic bat edo gehiagotan informazioa argitaratu dezake eta aldi berean, beste hainbat topic-etan harpidetzak izan ditzazke, beste nodo batzuek argitaratzen duten informazioa jasotzeko. Sistema osoaren koordinaziorako, ‘ROS Master’ deituriko nodo bat beharrezkoa da.
Adibide gisa, telegidatutako auto baten kasua har genezake:
Kasu hau, ROS inplementatuz, era honetan ebatzi ahalko litzateke:
Bi ROS bertsio daude ROS1 eta ROS2, eta bertsio hauetako bakoitzean publikatutako azken distribuzio egonkorrak, Noetic Ninjemys (2020ko maiatza) eta Humble Hawksbill (2022ko maiatza) dira hurrenez hurren. Noetic bertsioaren helburu nagusia, Python3 erabili ahal izateko euskarria eskaintzea izan da, oraindik ROS1 bertsioarekin lanean diharduten garatzaileek denboraldi batez ROS1-ekin lanean jarraitzeko aukera izan dezaten. Baina Noetic-en bizi-itxaropena, 2025ko maiatza artekoa da.
Eta… Zeintzuk dira ROS erabiltzearen abantailak?
- ROS-ek, hardwarearekiko abstrakzio maila oso altua eskaintzen duenez, garatzailea, bere aplikazioari dagokion kodigoa garatzeaz arduratu behar da soilik. Gainera, funtzionalitate ohikoenak garatuta daudenez, hauek aprobetxatu daitezke eta ez dago gurpila berrasmatu beharrik.
- Sistema berean, nodo ezberdinak hardware plataforma ezberdinen gainean inplementatu ahal izateak, malgutasun handia eskaintzen du. Aplikazio espezifiko baterako garatutako nodoak, beste edozein aplikaziotarako moldatze lanak asko errazten ditu.
- Aplikazioarentzako beharrezkoak diren software paketeak instalatu behar dira soilik. Ez da beharrezkoa ROS pakete guztiak instalatzea.
- Oso eskalagarria da. Beharrizan berriak agertzen diren heinean, nodo berriak inplementatu daitezke, ordura arte garatutakoa ia modifikatu ere egin gabe.
- Software librea denez, debaldekoa da.
- Biki digitalekin simulazioak egitea ahalbidetzen du eta simulazio hauetan erabilitako programazio-kodeak, robot errealekin aritzeko balio du. Beraz, arriskurik gabe programazio-kodea depuratzeko aukera dago, robot errealekin frogak egitera pasa aurretik.
- Hardware aldetik izaera guztiz ezberdina duten baina ROS-ekin bateragarriak diren plataforma asko daude: humanoideak, bipedoak, koadrupedoak, autoak, dronak, beso robotikoak, etab.
Eta… Zeintzuk dira ROS-en erabilera kasuak?
Izaera ezberdindun plataformen gainean inplementatu daitekeenez, erabilera kasuak anitzak dira. Hona hemen batzuk:
- Gidatze autonomoa: autoan hainbat sentsore instalatuz (kamarak, odometria, termometroak, etab.) eta inteligentzia artifizial algoritmoek, sentsoreek atzematen duten informazioa interpretatuz, momentu bakoitzean hartu beharreko erabakiak hartzeko gai izan eta horrela, gidatze lanetan autonomoak diren autoak garatu daitezke. Software pribatua erabiltzen duen arren, eremu honetan erreferentea den Tesla da adibide kasu nabarmenena.
- Industria: langileentzako arrikutsuak edo kaltegarriak izan daitezkeen industria eremuko lanetarako, pisu handiak era autonomoan garraiatzeko gai diren plataforma mugikorrak erabiltzen dira. Adibide gisa, logistikako biltegi adimentsuak aipa daitezke.
- Lurren zaintzak: suteak atzemateko, sumendiak arakatzeko, kontrol fiskalak egiteko, erreskateko lanetan laguntza behar duten pertsonak lokalizatzeko eta beste hainbat erabilera kasutarako, dronak erabiltzen dira.
Eta…Hezkuntzan ze leku hartu ahalko luke ROS-ek?
Lanbide heziketako zentruetan, ikasleak ROS-en trebatzeak hainbat onura eta erraztasun eskaintzen ditu.
- Software librea denez, ez luke kostu ekonomikorik suposatuko eta gainera, ikasleei libreki aritzeko aukera ematen du. Beraien edo ikastetxearen beharrak zeintzuk diren aztertu eta hauei erantzuna emateko aplikazioak sortzeko aukera izango lukete, baita irudimena askatu eta nahi duten aplikazioak garatzeko ere.
- Ikasleek, gaur egun geroz eta hedatuagoak diren egitura bananduak eta argitaratze/harpidetze komunikazio modeloen kontzeptuak eureganatuko lituzkete eta gainera, modu arin batean kontzeptu hauek praktikan jartzeko aukera izango lukete.
- Adimen artifiziala bezalako puntako teknologiak praktikan jartzeko aukera emango luke.
- Ikasleentzako deigarriak eta entretenigarriak diren aplikazioak sortzeko aukera emango luke: auto lehiaketak, humanoideekin lasterketa edo bestelako lehiaketak, etab.
- Talde lanean aritzeko aukera ona eskainiko luke. Egitura banatua duen sistema denez, soluzio osoa modu oso sinplean zatitu daiteke (nodoetan zatitu) eta taldekide bakoitzak soluzioaren parte bat garatuko luke. Era berean, nodo guztiak behar bezala komunikatu eta integratu ahal izateko, taldekideen arteko koordinazioa eta komunikazioa lantzeko konpromisoa ere bermatuko luke.
Tknikako Robotika Autonomoko espezializazio arlotik, aukera horiek guztiak, eta agertuko diren beste batzuk aztertuko ditugu, eta ezagutza eratorria LHeuskadiko irakasleei helaraziko diegu.