perjantai 19. lokakuuta 2012

CloudRobo

CloudRobo on mielikuvituksen luoma startup yritys jonka perusajatuksena on lähteä rakentamaan pilvipalveluna toimivaa ratkaisua joka toimii liityntänä koneiden, robottien ja ihmisten välillä käyttäen esimerkiksi sosiaalisen median palveluita. Ideana on että palvelun avulla voidaan hajauttaa ja jakaa dataa, tehtäviä ja robottien käyttäytymisiä. Samalla voidaan yksinkertaistaa niin tehtävän antaminen kuin sen suorittamiseen tarvittavien tehtäväsarjaohjeiden kysyminen. Peruslähtökohta on että rajapinta toimii luonnollisella kielellä. Näin esimerkiksi robotti voi tehtävän tai kysymyksen sen ihmiseltä puheesta tunnistaessaan välittää sen sellaisenaan eteenpäin jos ei ymmärrä.

Yksi lisähaaste tämänhetken roboteissa on että äärimmäisen monimutkainen mekaniikka, lukuisat anturit jne. jotka vaativat jo ihan perusasioissa kuten kävelyssä todella paljon suorituskykyä. Näinollen esimerkiksi ihmisestä hyvinkin yksinkertaisten tehtävien suorittaminen (esim. ota pallo käteen) ja kaikkien eri tehtävien tallentaminen ja suorittaminen paikallisesti on sula mahdottomuus. Toinen merkittävä asia on että ei ole olemassa vielä tapoja millä robotit voisivat "opettaa" toisiaan hajautetusti toteuttamaan tehtäviä. Asiaa ei helpota se että kaikilla eri robottialustoilla on oma ohjelmisto, rauta ja mekaniikka joten yksinkertainen tehtävä joudutaan toteuttamaan ja ohjelmoimaan jokaiseen alustaan erikseen. 

Pääasiasiallisen kommunikaatio robottien ja ihmisten välillä tapahtuu nykyään esimerkiksi puheen ja kuvan/videon tunnistuksen ja tekstistä puheeksi syntetisaattorin avulla. Tämä on kommunikaatiotapana aika rajallinen ja toisaalta esimerkiksi robotille annettujen tehtävien pitää olla pitkälti ennaltaohjelmoituja. Tämä on jo itsessään melkoinen haaste saada robotti nopeasti tekemään hyödyllisiä asioita missä vain ympäristössä ja milloin vain. Yksi haastavin osa-alue onkin saada ihmisten ja robottien välinen kommunikaatiokynnys ja monimutkaisiin tehtäviin liittyvät haasteet madallutettua. Tässä tärkeässä roolissa toimii luonnollisen kielen analyysi ja pilvessä tapahtuva ihmisille, muille roboteille ja pilvilaskentaan perustuva hajautettu tehtävien prosessointi.

Tässä peruslähtökohtia kehitettävälle palvelulle

- perustuu avoimeen lähdekoodiin ja avoimiin rajapintoihin

- itse palvelun kuin myös esim. tehtävien tekemiseen ja ratkaisuun liittyvien ohjelmakoodien kehitystyö toteutetaan hajautetusti esim. Githubia käyttäen

- robotit voivat kysyä palvelusta ohjeita tehtävien suoritukseen abstraktilla tasolla (esim. "miten laitan astian koneeseen?" ja liittää mukaan esim. kuvan, dataa ympäristöstä jne.)

- ihmiset pystyvät esimerkiksi sosiaalisen median kautta lähettämään "koti"-profiiliin kautta robotille tehtävän "Imuroi olohuone"

- palvelu tulkitsee luonnollisen kielen viestit ja riippuen onko kyseessä käsky vai tehtävän kysely antaa kuittauksen että tehtävä mennyt eteenpäin tai vastaavasti antaa ohjeet ko. robotille sen ymmärtämällä kielellä ohjeet/ohjelmakoodin kuinka kyseinen tehtävä pitää suorittaa

- esimerkiksi käyttäytymisten kuvaamiseen palvelun pitää tallentaa ja hallita ne sisäisesti käyttäen avoimia ja yleisten standardien mukaisia kieliä ja ohjelmistokomponentteja (esim. http://www.ros.org). Riippuen robottialustasta tai laitteesta joka ohjeita kysyy, annetaan sen alustan mukainen ohjelmakoodi.

- robotit pystyvät tallentamaan palveluun tietoa ympäristöstään esimerkiksi ultraäänellä ja/tai mittatiedoilla kartoitetun toimintaympäristönsä, videota/valokuvia, mittaitetoja jne. Näin kaikki tieto on valmiiksi siellä prosessoitavaksi.

- palvelun pitää toimia niin yritys kuin kotiympäristöissä toimivien robottien ja sosiaalisten työkalujen kanssa yhteen

- palvelun pitää robottien lisäksi samaan palvelualustaan pohjautuen tarjota mahdollisuus tehdä toteutuksia/rajapintoja esim. kiinteistö/taloautomaatioon. Eli esim. Facebookin avulla voisit laittaa "Koti"-profiilille pyynnön laittaa saunan päälle. Tämä lienee vain uusi versio aikanaan sms:lle keksitystä use casesta josta taisi syntyä hitti ;-)

Vaikka yritys on mielikuvitusta niin on tässä tarkoitus saada aikaan jotain ihan oikeastikin. Heti kun aika sallii niin ajatukseni on NAO robottia hyödyntäen rakentaa mahdollisesti muiden asiasta kiinnostuneiden kehittäjien kanssa prototyyppi konseptista johon kuuluu palvelinratkaisu, liityntä sosiaaliseen mediaan ja itse robottisovellus jolla yksinkertaisia asioita voidaan toteuttaa. Idea on kuitenkin suunnitella arkkitehtuuri niin että prototyyppi olisi mahdollisimman vähän alustariippuvainen ja samaa voisi testata esim. jo olemassaolevien kotiautomaatiojärjestelmien kanssa.

tiistai 14. helmikuuta 2012

Matka robottien valmistuksen ihmeelliseen maailmaan

Nyt tuli pitkästä aikaa hyvä syy kirjoittaa tänne blogiini kun viime viikolla yksi pitkäaikainen haaveeni toteutui ja pääsin tutustumaan miten robottien mekaniikkaa, elektroniikka ja ohjelmistoja valmistetaan. Matka ei ollut puhdas tutustumismatka vaan samalla sain vaihdettua robotille uuden sukupolven pään sekä rikkoutuneen laturin. Eli kehittäjäohjelman jäsenenä olin myös asiakkaana roolissa käymässä. Pään vaihtaminen tarkoitti tehokkaampaa prosessoria, kahta HD kameraa silmissä, kehittyneempi puheentunnistus jne. Tarkempia teknisiä yksityiskohtia kiinnostuneille löytyy täältä: http://aldebaran-robotics.com/en/Discover-NAO/nao-datasheet-h25.html

Sisäänkäynnissä vastaanotti tällainen seinänkokoinen kollaasi kuvia. Tähän kuulemma kerätään kaikenlaisia kuvia NAO roboteista ja yrityksen ihmisistä niiden kanssa. Hauska idea.


Vastapäiselle seinälle oli kerätty palanen NAO robotin historiaa. Merkittävä vaihe oli kun kuvan vanhassa autossa istuva versio NAO:sta valittiin robo soccer cupin viralliseksi robottialustaksi ja se korvasi Sony Aibon. Lisätietoa historiasta täältä: http://en.wikipedia.org/wiki/Nao_%28robot%29


Allaolevat ensimmäiset prototyypit muistuttivat lähinnä monia robotteja joihin törmäsin Tokion matkallani noin vuosi sitten ja josta kirjoitin tänne. Onkin siis mielenkiintoinen yksityiskohta että ranskalainen yritys valmistaa nyt robotteja joita huippuyliopistot mukaanlukien Tokion yliopisto hankkivat nyt opetuskäyttöön. Honda Asimoa ja muita alunperin tutkimuskäyttöön suunniteltuja robotteja ei tiettävästi ole tulossa laajempaan käyttöön. Kuulemma Asimoa ei ole edes olemassa hirveän montaa kappaletta, niitä ei voi ostaa  ja sen pääasiallinen käyttötarkoitus lienee toimia esim. myymälöiden avajaisten vetonaulana Tokiossa. Tämän kuulin eräältä aiemmin Tokiossa asuneelta ja NAO kehittäjäohjelmassa mukana olevalta kaverilta, joka juuri muutti Pariisiin Aldebaran Roboticsille töihin. Hän ei muuten ollut ainoa tapaamani henkilö visitiillä, joka oli siirtynyt harrastuksen myötä yhtiön palvelukseen. Robotiikassa ja NAO:ssa on vain yksinkertaisesti jotain maagista vetovoimaa...


Kun pääsin sisään minut vastaanottivat ao. herrasmiehet, jotka osallistuvat nimenomaisesti NAO kehittäjäohjelman pyöritykseen. Yksi kavereista (Akim joka vastaa kehittäjäyhteisön yhteydenpidosta) oli mukana myös UK:ssa pidetyssä kehittäjätapaamisessa. Kannattaa lukaista heidän juttunsa tapaamisesta täältä http://www.davesnowdon.com/blog/uk-nao-developers-meeting Tuolla on kiinnostava osa tuo Nao Store jota minullekin esiteltiin. Eli käytännössä samanlainen kauppapaikka NAO robottien sovelluksille on syntymässä (tai on jo rajoitetusti kehittäjäohjelman käytössä) kuin esim. mobiilisovelluksille. Tätä onkin hyvin mielenkiintoista seurata miten kehittyy. Idea on saman tyyppinen mobiilisovelluksissa että julkaiset ohjelmasi, johon tarvitaan sitten hyväksyntä/verifiointi ennen julkaisua.



Uusi tuttavuus oli Karotz (http://www.karotz.com) niminen pöydällä istuva jänis joka kytkeytyy nettiin. Aldebaran Robotics osti kyseisen yrityksen/tuotteen viime syksynä. Nähtäväksi jää alkaako NAO juttelemaan pöytäjäniksen kanssa ;-)


Romeo on mielenkiintoinen 140cm korkea seuraavan sukupolven humanoid robottiprojekti josta tietoa löytyy täältä.


Kiertokäynnin jälkeen ei voi muuta kuin ihmetellä miten monimutkainen ohjelmisto, mekaniikka ja elektroniikka saadaan niin hienosti paketoitua toimivaksi kokonaisuudeksi. Vierailu tuntui todellakin matkalta tulevaisuuteen. Tämän jälkeen ei ole enää vaikea ymmärtää mitä tulemme lähivuosina robotiikan ja tekoälyn kehityksessä näkemään. Toinen kysymys onkin ehkä kuinka valmiita me ihmiset olemme robottien näinkin nopeaan tulemiseen. Lopuksi minulla jäi jonkin aikaa keskustella asiantuntijoiden kanssa pilvirobotiikasta, robotin viestintä/ohjelmointi rajapinnoista ja mitä tulevaisuus tuo tullessaan. Maltan tuskin odottaa ;-)

Lopulta hotellilla sain NAO:n heräämään taas henkiin joten reissu oli tältäkin osin varsin onnistunut.