Annonceinfo

Hvordan virker en robotstøvsuger?

CLASSIC: Robotter, der støvsuger, når vi ikke er hjemme, er blevet populære og skal også til at støvsuge hos mange ældre. Men hvordan ved robotten, at den har gjort sit arbejde?

Hvordan virker en robotstøvsuger? Det er det store spørgsmål. (Foto: Samsung)

En robotstøvsuger er umådelig praktisk. Den gør gulvene rene, imens man ikke er hjemme. Mange danskere har da også anskaffet sig den lille hushjælp, deriblandt vores læser Jens Peter Lunau.

Men maskinen har fået ham til at spekulere så meget, at han har skrevet til Spørg Videnskaben.

»Når jeg støvsugede på den gammeldags facon, startede jeg som regel i et hjørne af stuen og arbejdede mig så systematisk gennem gulvarealet.«

»Sådan arbejde en robotstøvsuger absolut ikke. Den kører frem og tilbage og skifter retning helt pludselig.«

Jens Peter Lunau har derfor spurgt sig selv, hvordan støvsugeren ved, at den har rengjort hele gulvet.

»Har den en indre hukommelse, eller er det hele helt planløst, hvad jeg ikke kan tro. Hvordan er dens elektroniske logik skruet sammen?« spørger ham.

Spændende, hvordan robotten fungerer

Godt spørgsmål. Spørg Videnskaben søger derfor et svar hos Ole Madsen, der er professor ved Center for Robotforskning, Aalborg Universitet.

Han kender udmærket de støvsugende robotter.

»Jeg kunne ikke leve uden sådan en. Og det er jo lidt spændende, hvordan den faktisk fungerer,« siger Ole Madsen.

Robotten ved ikke, hvor den har støvsuget

Fakta

En robot kan defineres som en programmérbar maskine med manipulatorer og sensorer. Manipulatorer er mekaniske instrumenter, der kan påvirke verden omkring robotten, mens sensorer sanser omverdenen. Et eksempel på en manipulator kunne være en gribearm.

Svaret på, hvordan den standhaftige hushjælp virker, er ganske overraskende.

»Det korte svar er, at robotten rent faktisk ikke ved, om den støvsuger et sted, den allerede har støvsuget.«

»Den rengør et vist stykke tid og regner med, at den har dækket gulvet,« fortæller Ole Madsen.

Robotstøvsuger fungerer meget simpelt

Han har set nærmere på de robotstøvsugere, der hedder ’Roomba’. Det lader ikke til, at de opbygger et indre kort over det rum, de rengør – sådan som vores læser forestiller sig.

»Det firma, der har lavet navigationen, hedder Irobot, og de stiller ikke alle deres algoritmer til rådighed for offentligheden.«

»Men det tyder på, at robotten navigerer via simple algoritmer: Den begynder med at lave en simpel spiral, som bliver større og større.

»Rammer robotten en væg, følger den væggen. Og så kører den ellers rundt, til den synes, at den har støvsuget længe nok,« fortæller Ole Madsen.

Har en særlig smudssensor

Men det er ikke den eneste teknologi bag robotstøvsugerens hemmelighed. ’Roombaen’ har en særlig sensor, der kan måle, hvor beskidt der er det sted, hvor den kører.

»Den har sådan en smudsscanner. Og så ændrer den faktisk strategi efter, hvor snavset signalerne fra scanneren siger, der er.«

Fakta

Spørg Videnskaben Classic

Hver uge 'genudsender' vi tidligere bragt svar fra Spørg Videnskaben pga. f.eks. aktualitet. Denne artikel blev første gang bragt 18. april 2011.

»Hvis der er beskidt, støvsuger maskinen lidt langsommere, så den får det hele med,« forklarer Ole Madsen.

Forskere hacker støvsugere

Han fortæller, at der er opstået et miljø, hvor folk hacker robotstøvsugere. De skiller simpelthen robotterne ad og sætter dem sammen igen på nye måder. Fordi det er skægt.

»På den måde kan man selv gå ind og lave algoritmer. Det har jeg set, at en del universiteter faktisk gør.«

»De sætter blandt andet kameraer på robotterne og bruger dem som en slags legetøj,« fortæller Ole Madsen, som bliver helt tændt ved tanken.

»Jeg tror da, at jeg skal hjem og skille min støvsuger ad.«

En T-shirt for et spørgsmål

Vi takker Ole Madsen for at kaste lys over teknologien bag husets nye ven. Og vi takker Jens Peter Lunau for, at han sendte os det gode spørgsmål. Vi kvitterer med en rød videnskab.dk-T-shirt.

Hvis du også går og spekulerer på et eller andet, som videnskaben kan have et svar på, kan du sende en mail til redaktionen@videnskab.dk.

Ellers kan du læse svar på andre spørgsmål i Spørg Videnskaben.

Virkemåde

Jeg har selv et par iRobot Roomba'er og også en iRobot Scooba. Ved at studere robotternes opførsel kan jeg fortælle følgende:

Det normale program:
Ved start udfører robotten en spiral-bevægelse indtil en vis diameter er nået eller indtil dens sensorer fortæller noget nyt (f.eks. en kollision med en stol eller andet).
Når en vis diameter er nået, bevæger robotten sig ud i en ret linie. Den fortsætter indtil robottens sensorer fortæller noget nyt eller indtil den er nået "langt væk". Hvis den er nået "langt væk" begynder den igen sin spiralbevægelse.
Hvis robotten kolliderer med noget, ændrer den retning - men ikke ud fra indfaldsvinkel = udfaldsvinkel. Robotten forsøger ved visse vinkler at "kravle" langs væggen (eller på samme vis køre rundt om et stoleben), indtil den får en kollision forfra, hvorefter den skifter retning.
Hvis den konstaterer meget smuds det sted, hvor den er, vil den foretage en 1 3/4 cirkelbevægelse på stedet.
Robotten er færdig, når der er gået "nok" tid, eller når dens batteritilstand er faldet til et tilpas lavt niveau, hvorefter den kører i dock.

Spot-programmet:
Robotten foretager en spiralbevægelse udad, indtil en vis diameter er nået, hvorefter den fortsætter spiralbevægelsen indad.

Scooba er lidt anderledes, idet den ikke kravler i lige linier, men i elliptiske linier. Og den kan finde på at stå det samme sted i en tid, hvor den skrubber gulvet.

Som Carsten S. Larsen skriver, så kan man selv programmere nye algoritmer til robotten. Der er mange sjove youtube videoer, hvor kerative programmører har leget...

For den kyndige

OpenWrt-based Linux kan findes her:
http://hackingroomba.com/code/embedded-linux/

Cross platform robot device interface (Player):
http://playerstage.sourceforge.net/doc/Player-2.0.0/player/index.html

Og her et eksempel på brug af Player:
http://www.ai.sri.com/~gerkey/roomba/index.html

Leg med Roomba

Roomba har en såkaldt SCI port. Der findes adaptere til både USB og BlueTooth.

BlueTooth adapter (RooTooth):
http://www.sparkfun.com/products/684

Dokumentation til Roombas SCI interface er tilgængelig hos iRobot:
http://www.irobot.com/images/consumer/hacker/Roomba_SCI_Spec_Manual.pdf

Samtlige sensorer er tilgængelig. Relativt detaljeret kontrol over motorer/leds/lyd er ligeledes muligt. Det er dog ikke muligt at få adgang til hukommelse eller processer. Hvis man selv vil programmere Roomba må man ty til en ekstern MCU.

Det kræver ikke en universitetsuddannelse at komme i gang. Blot lidt teknisk snilde.

Log ind eller opret konto for at skrive kommentarer

Seneste fra Spørg Videnskaben

Spørg videnskaben

Videnskaben kan ikke svare på alt - men vi forsøger alligevel.

Her kan du stille et spørgsmål til forskerne om alt fra tyske verber til nanorobotter og livets oprindelse.

Vi vælger de bedste spørgsmål og kvitterer med en Videnskab.dk-t-shirt. Spørgsmål og svar offentliggøres her på siden.

Du skal være logget ind for at kunne stille spørgsmål her.

Log ind

Opret en profil på Videnskab.dk

Du kan også sende dit spørgsmål til: redaktion@videnskab.dk

Det læser andre lige nu

Spørg Videnskaben

Abonner på vores nyhedsbrev

Når du tilmelder dig, deltager du i konkurrencen om lækre præmier.

Mest sete video

Seneste kommentarer

Seneste blogindlæg