Molntjänst för robotar presenterades på Google I/O 2011


Förra veckan hölls Googles utvecklarkonferens Google I/O 2011. Där presenterades en rad intressanta nyheter. De intressantaste nyheterna för robotutvecklare var förmodligen att de portat ROS till Android samt presentationen av Cloud Robotics, som i korthet innebär att din hembyggda robot kan bli otroligt mycket kraftfullare och snabbare samtidigt som den både blir billigare och får längre batteritid via en molntjänst för robotar. Man kan med andra ord säga att Google nu på allvar gett sig in i robotbranschen.

Rosjava heter Googles portning av ROS till Android, som tagits fram i samarbete med Willow Garage, och som namnet antyder är det javabaserat och kan köras på alla Androidenheter. Det innebär att man kommer kunna skriva appar till robotar baserade på Androidenheter, precis som man skriver appar till mobiler och surfplattor idag.  Det innebär även att roboten får tillgång till alla sensorer som finns i moderna Androidmobiler, t.ex GPS, gyro, accelerometer, Wi-Fi, Bluetooth med mera.

På Google I/O 2011 visades även de senaste versionerna av Android och nytt för version 3.1 (och 2.3.4) är att man nu kan koppla USB-tillbehör till sin Androidenhet, t.ex ett tangentbord, mus, handkontroll med mera. Allt som går att styra via USB med andra ord. Android Open Accessory (AOS) kallas denna nya plattform. För att demonstrera hur detta kunde användas kontrollerade de på Google I/O 2011 ett klassiskt labyrintspel i trä genom att vinkla en Androidenhet. Även en motionscykel kopplades till en Androidmobil och genom att variera tramphastigheten kunde man styra en karaktär i ett spel på skärmen.

Ett av de populäraste tillbehören för Androidmobiler med AOS-stöd kommer gissningsvis bli en USB-handkontroll kopplad till mobilen för att kunna styra spel. Köper man bara en USB-adapter för några tior finns det en mängd tillbehör man kan använda via microUSB-porten på sin Androidmobil t.ex.

Google talade även om kommande versionen av Android, kallad Ice Cream Sandwich. Den stora nyheten med den är att det då bara kommer finnas en enhetlig version av Android som ska fungera på både mobiler och surfplattor, istället för som idag två separata versioner. Som Androidutvecklare ska man inte behöva anpassa programmen för surfplattor om man utvecklar till mobil t.ex. Skalningen och anpassningen sköts istället automatiskt av Android för att passa den typ av enhet appen körs på. Den nya versionen kommer släppas någon gång under fjärde kvartalet 2011.

I videon nedan ser vi hur ett spel i en Androidmobil styrs via en motionscykel som kopplats in via USB.

Cloud Robotics – robotmolnet

Portningen av ROS till Android i kombination med att kunna koppla vanliga USB-tillbehör till sin Androidenhet öppnar helt nya möjligheter för robotutvecklare. Men Google nöjde sig inte där utan presenterade en ännu mer revolutionerande nyhet för robotutvecklare – Cloud Robotics, eller robotmolnet på svenska. Kort och gott en molntjänst för robotar. Hela poängen med att använda en molnbaserad tjänst är att all beräkningskraft ska utföras på servrar i molnet istället för att belasta den lokala enheten.

Fördelarna med ett robotmoln är flera:

  • Roboten blir billigare att bygga. Istället för att ha en dyr och avancerad dator i varje robot kan man lasta över de tunga beräkningarna på molnet. Detta är särskilt bra om man har flera robotar.
  • Drifttiden för batteriet ökar som en följd av detta, då datorn oftast är den största strömslukaren på en robot. Dessutom blir roboten lättare när endast en enklare dator räcker, vilket ytterligare sparar på batteriet.
  • Man får tillgång till helt nya egenskaper som inte hade varit möjliga med enbart en lokal dator.
  • Det räcker att en robot lär sig känna igen ett objekt, sen kan alla andra robotar som är kopplade till molnet direkt känna igen samma objekt. Det blir med andra ord som en enda stor kollektiv kunskapsdatabank för robotar.

Detta kommer revolutionera robotbyggandet för hobbybyggare. Nu kommer de få tillgång till i princip oändlig datorkraft och kan med betydligt mindre ekonomiska medel än idag bygga riktigt avancerade robotar som i realtid kan analysera omgivningen på ett sätt som tidigare inte varit möjligt.

Som exempel på en molntjänst vi använder redan idag via Androidmobiler nämndes Google Goggles. För de som inte är bekanta med appen fungerar den som så att man fotograferar ett objekt, en symbol eller liknande och bilden skickas sedan till Googles enorma databas där den matchas mot andra bilder. Tillbaka får man en webblänk som är relaterad till bilden. Fotograferar man t.ex ett företags logotyp får man upp information om företaget och länk till deras webbsida. Allt detta sker sekundsnabbt och skulle man behandla samma mängd data lokalt skulle det dels kräva ett enormt lagringsutrymme och dessutom en otroligt kraftfull dator, ifall man vill få svaret lika snabbt.

Det är inte svårt att föreställa sig hur denna teknik kommer bli populär bland robotbyggare. Istället för att varje robot måste läras upp individuellt räcker det nu att en robot lär sig en gång och sedan delar med sig av sina kunskaper till alla andra robotar som är uppkopplade till molnet.

Roboten PR2 från Willow Garage

På Google I/O 2011 visade Willow Garage upp sin robot PR2 som kostar runt $400.000 (cirka 2,6 miljoner kronor) och har bland annat två datorer med 8-kärniga Intel i7-processorer och 24 GB minne vardera i sig. Med andra ord dyr hårdvara som med Cloud Robotics skulle kunna skalas ned drastiskt, vilket minskar både robotens vikt, energiförbrukning och kostnad.

Vi fick även se PR2 i kombination med Googles nyutvecklade AOS då man demonstrerade hur roboten kunde styras med en Androidbaserad surfplatta. De använde den för att styra PR2:s huvud och även få upp en 3d-bild på skärmen av vad roboten såg, som ett slags externa ögon alltså.

Willow Garage visade också upp sin prisvärda robot Turtlebot. Den är precis som Bilibot baserad på billig konsumentelektronik och har en vanlig laptop som hjärna. Föreställ er då att man kopplar en Androidenhet som hjärna till TurtleBot och skickar all sensordata till molnet istället för att en lokal dator ska behandla den. Det skulle naturligtvis inte bara avlasta roboten utan även göra den betydligt kraftfullare. Man slipper själv investera i en dyr dator när beräkningskraften kan ”outsourcas”. Med andra ord öppnas enorma möjligheter för hobbyrobotbyggare att nu skapa riktigt kraftfulla robotar. Detta är något som kommer snabba upp robotutvecklingen markant.

Roboten som sökmotor i hemmet

Fler exempel på molntjänster för robotar som nämndes under Google I/O 2011 var att man skulle kunna använda sin TurtleBot som en ”IRL-sökmotor”. Genom att man först låta den åka runt och kartlägga hela ens bostad och sedan fråga roboten ”var har jag lagt mina nycklar?”. Roboten kan då via all den kunskap i molnet som andra robotar redan laddat upp direkt veta hur en nyckelknippa ser ut och antingen visa på skärmen var nycklarna ligger eller rulla dit och uppmärksamma dig.

En annan mycket användbar funktion som nämndes och som underlättas via molnet är tal-till-text. Det vill säga att du kan prata direkt till roboten och be den att ”hämta posten” eller ”stäng toadörren”. Eftersom all bearbetning av din röst sker i molnet på kraftfulla servrar och med en redan existerande kunskapsbank som känner igen ord och fraser på flera språk behövs varken hårdvara eller mjukvara för att göra översättningen lokalt i din robot.

Detta är förstås applicerbart på alla former av ljud. T.ex kommer din robot kunna höra om brandvarnaren går igång och då kanske skicka dig ett MMS med bild på rummet där det ryker eller brinner. Kraften i molnet ligger som sagt både i den delade kunskapsdatabasen och den enorma datorkraften varje robot får tillgång till.