#tech
Sebastian Aarnio

Ruokarobotin suunnittelu

Ruokarobotit ovat kulkeneet useiden suomalaisten kaupunkien kaduilla jo jonkin aikaa. Tässä blogikirjoituksessa ohjelmistokehittäjämme Sebastian lähtee hauskaan ajatusleikkiin: mitä jos rakentaisit sellaisen itsei? Mitä kaikkea projekti vaatisi? Ja saisikohan vimpaimelle söpön nimen, vaikkapa Bell-E?

Haluatko rakentaa ruokarobotin? Tässä artikkelissa käymme läpi joitakin projektin mahdollisia osa-alueita: teknisistä haasteista ja uusista suunnittelunäkökulmista aina päätöstesi yhteiskunnallisiin vaikutuksiin asti.

Aloitetaan tarttuvasta nimestä – ristikäämme robottimme Bell-E:ksi. (Varmuuden vuoksi sanottakoon: jos viet robotin tuotantoon tällä nimellä, suosittelemme konsultoimaan Disneyn lakimiehiä, ellet halua että Mikki Hiiri koputtelee ovellasi).

Eroon esteistä

Robotin tärkein tehtävä on tietysti päästä pisteestä A pisteeseen B. Mutta näiden mekaanisten tavoitteiden lisäksi sen on myös huomioitava ympärillään olevat ihmiset. Historiallisesti tämä vastuu on ollut toisinpäin. Kontrolloidussa ympäristössä, kuten tehtaassa, on realistista ohjeistaa työntekijöitä toimimaan koneiden kanssa turvallisesti. Kun robotit astuvat katukuvaamme, tämä vastuu siirtyy meille kehittäjille ja suunnittelijoille. Turvallisuusvaatimukset ovat laajat, sillä ihmiset ja liikenne voivat olla arvaamattomia.

Helpoin tapa aloittaa on rakentaa pyörillä liikkuva robotti. Pyörät ovat ihanteelliset teillä liikkumiseen, ja kävely on yksi robotiikan monimutkaisimmista haasteista. Pyörät ovat kuitenkin hieman tylsiä. Yhdistetään siis molempien maailmojen parhaat puolet asentamalla pyörät jalkoihin. Tämä mahdollistaa toimitukset myös vaikeasti saavutettaviin kohteisiin.

Turvallisuusvaatimukset ovat laajat, sillä ihmiset ja liikenne voivat olla arvaamattomia.

Tekoälyn ympärillä pyörivän hypen keskellä on tärkeää ottaa askel taaksepäin ja arvioida, mikä teknologia sopii parhaiten käsillä olevaan haasteeseen sen sijaan, että sokeasti seuraa trendejä.

Tekoäly on eittämättä paras työkalu moniin tehtäviin, joita uuden ruoantoimitusrobottisi tarvitsee suorittaa – mutta se on silti vain yksi työkalu muiden joukossa. Yleinen neuvo on aloittaa yksinkertaisesti ja lisätä askel kerrallaan monimutkaisempia aspekteja, kuten koneoppimismalleja, ja mielellään vain siellä, missä perinteiset menetelmät eivät riitä. Objektien tunnistus voi esimerkiksi olla alue, jossa koneoppiminen päihittää perinteisen kuvien manuaalisen luokittelun – kun taas suuri osa robotin ohjauslogiikasta voidaan toteuttaa perinteisin menetelmin. Teslan uusin versio kehitteillä olevasta täysautomaattisesta ajamisesta käyttää kuitenkin päästä päähän -neuroverkkoa, mikä tarkoittaa, että se toimii enemmän kuin musta laatikko ilman suurta määrää manuaalista ohjelmistokehitystä.

Koneoppiminen ammentaa usein inspiraationsa oikeasta elämästä. Katsotaan seuraavaksi, miten voimme hyödyntää samaa lähestymistapaa robottisi suunnittelussa.

Päätöksentekoa tien päällä

Olemme kaikki seuranneet tekoälyn kasvua – erityisesti suurten kielimallien, kuten ChatGPT:n, nousua. Voit toki kouluttaa oman tekoälysi alusta asti, mutta on olemassa tapoja hyödyntää tehtävään myös olemassaolevia työkaluja – vaikka robottisi ei juuri operoisikaan tekstin tai kielen kanssa.

Otetaan ajattelun lähtökohdaksi luovemmat tehtävät, joihin saatat hyödyntää ChatGPT:tä – vaikkkapa ideoiden kehittelyyn tai asioiden selittämiseen. Toisinaan myös robottimme kohtaa odottamattomia haasteita, ja voi hyödyntää kielimallia monimutkaisten tilanteiden muuttamiseen yksinkertaisemmiksi ohjeiksi, joita robotti voi sitten seurata. Robotti voi lähettää kielimallille myös kuvia ja vastaanottaa entistä tarkempia ohjeita. Esimerkkejä tästä ovat esimerkiksi oikeat toimintatavat onnettomuuden jälkeen tai sen selvittäminen, mistä ovesta pääsee oikean asiakkaan luo.

Tavallisemmissa tilanteissa voit käyttää perinteistä objektintunnistusta havaitsemaan esineitä, kuten autoja – ja ennen kaikkea liikennemerkkejä. Tämän jälkeen voit ajaa omaa tekoälyäsi robotin pienessä aivoissa matalaresoluutioisen kamerakuvan, liikennemerkki- ja ajoneuvotietojen sekä etukäteen valmistellun tai kielimallilta kerätyn ohjeistuksen avulla. Tämä mahdollistaa ympäristön muutoksiin reagoimisen lähes välittömästi. Paikallinen käsittely ei myöskään vaadi internet-yhteyttä, mikä on välttämättömyys alueilla, joilla yhteyttä ei ole saatavilla.

Näin olet päässyt tilanteeseen, jossa robotin käytössä on nopea kaista vikkelää päätöksentekoa varten – mikä on liikenteessä ratkaisevan tärkeää – mutta myös hitaampi kaista päätöksille, jotka sitä vaativat. Tätä hidasta mutta tarkkaa päättelyä tutkitaan parhaillaan, ja se tulee todennäköisesti kehittymään tulevissa kielimalleissa. Daniel Kahnemanin kirjan Thinking, Fast and Slow kautta laajalti tunnetuksi tullut nopean ja hitaan ajattelun malli saattaa olla avain monimutkaisempien ongelmien ratkaisemiseen kuin mihin tällä hetkellä kykenemme.

Kun suunnittelet robottia, joka liikkuu jalankulkijoiden ja autojen joukossa, on syytä miettiä sekä sitä miten robotti reagoi ihmisiin että miten ihmiset reagoivat robottiin.

Jos kukkaron nyörejä ei kiristä, voit toki kouluttaa oman neuroverkkosi, joka antaa varmasti parempia tuloksia, sillä voit hyödyntää juuri robottisi tarpeisiin räätälöityjä syötteitä. Olemassa olevien ratkaisujen käyttäminen on kuitenkin usein hyvä tapa aloittaa matka – jottei miljoonia euroja ole kulutettu jo ennen ensimmäistäkään prototyyppiä.

Inhimillinen tekijä

Kun suunnittelet robottia, joka liikkuu jalankulkijoiden ja autojen joukossa, on syytä miettiä sekä sitä miten robotti reagoi ihmisiin että miten ihmiset reagoivat robottiin. Ihmisen ja robotin vuorovaikutus on oma tutkimuksen alansa, joka keskittyy juuri tähän kaksisuuntaiseen vuorovaikutukseen. Erilaiset inhimilliset ominaisuudet (niin, ettei kuitenkaan astuta ns. Uncanny Valley -efektin puolelle) ovat mainio tapa kasvattaa ihmisten luottamusta robottiin. Piirtäkäämme siis robotillemme söpö silmäpari.

Vuorovaikutusta voi myös korostaa entisestään ohjelmoimalla silmät liikkumaan yhdessä laitteen kameran kanssa. Näin syntyy vaikutelma siitä, että robotti skannailee ympäristöään kuin ihminen. Pidä kuitenkin mielessä, että inhimillistäminen saattaa kääntyä itseään vastaan jos robottisi kohtaa henkilön, joka ei reagoi positiivisesti evoluution seuraavan askeleen kohtaamiseen 🤖

Yleisesti ottaen on hyvä ohjenuora pitää robotin design yksinkertaisena ja miellyttävänä. Jos lapset haluavat silittää sitä itkuun purskahtamisen sijaan, voit taputtaa itseäsi selkään.

Yhteiskunnalliset vaikutukset

Meillä alan toimijoilla on myös vastuu ymmärtää työmme vaikutukset ympäröivään maailmaan. Ruoantoimitusrobotit esimerkiksi vievät kiistatta töitä kuriireilta. Jonain päivänä käydään todennäköisesti kiivaita keskusteluja siitä, mitä roboteille tulisi sallia – ja mitä ei. Ehkäpä edessä on robottivero?

Nykyiset robotiikkatrendit näyttävät keskittyvän vaarallisiin ja ergonomisesti haastaviin tehtäviin, kuten paineistettujen tai kuumien esineiden käsittelyyn tai raskaiden taakkojen nostamiseen. Tulevaisuus tulee olemaan varmasti sekä kiehtova että pelottava. Parasta, mitä voimme yksilöinä teknologian parissa tehdä, on antaa oma pieni panoksemme sille, että suunta on eettisesti kestävä.

Sillä välin Bell-E pysyy toivottavasti liikenteessä omalla kaistallaan ja nostattaa hymyn nälkäisten asiakkaiden huulille.

Sebastian Aarnio

A software developer who likes staying on top of the latest technologies, specialising in UX, software architecture and rendering.

Tietoa kirjoittajasta

Sebastian Aarnio

Lisää blogikirjoituksia

Blogin etusivulle