Dag 14: Hom-Bot hacking! #hombot4sixweeks

Afgelopen weekend hebben we de ontbrekende afstandsbediening nageleverd gekregen en die geeft ons mogelijkheden die we zonder afstandsbediening niet hadden.

Zo heb ik o.a. de tijd kunnen instellen, dagelijks geplande stofzuigbeurt, we kunnen Lucy nu op afstand handmatig besturen en het allerbeste: we hoeven niet telkens te bukken om op Lucy’s knoppen te drukken!

De eerste week met Lucy heb ik de handleiding met rust gelaten, maar tijdens de afgelopen tweede week heb in de handleiding veelvuldig ter hand genomen. Waar ik eerder iets over Open Source las, blijkt het enkel om een statement te gaan van LG over welke componenten in hun producten Open Source zijn.
Er is helaas geen Open Source software voor Lucy, zoals ik veronderstelde. Alhoewel…

Ik heb wat zitten zoeken en toevallig omdat ik Koreaans kan lezen, kwam ik erachter dat Lucy in Korea geen Hom-Bot, maar Roboking heet. En als je op Google zoekt naar typenummer VR6270LVMB dan kom foto’s tegen die verdacht veel op onze Lucy lijken.

Er circuleren filmpjes op Youtube van een oude ronde voorganger van Lucy, die in 2011 al met een smartphone app je huis in kaart kan brengen en de camera kan gebruiken om door je huis te patrouilleren. Ook vond ik een WiFi-netwerkkaart met USB-aansluiting, waarmee je je robotstofzuiger aan het internet kunt hangen.
Zou onze Lucy dat ook allemaal kunnen?

Ik besloot me wat te verdiepen in de goed gedocumenteerde firmware update procedure, die beschrijft hoe je Lucy van de nieuwste software kunt voorzien.
Je kunt de laatste softwareversie downloaden bij LG. De handleiding zegt dat je het ZIP-bestand moet uitpakken en op een USB-stick moet zetten. Onder Lucy’s klep zit een USB-aansluiting verborgen.
Zodra je Lucy uitzet en weer aan, gaat ze de update vanaf USB-stick installeren.

Natuurlijk was ik benieuwd hoe dat werkt. Het ZIP-bestand bevat drie bestandjes: update.axf, update.dat en update.sh
Nu wordt het spannend…

De eerste twee bestanden zijn binaries en het laatste bestand is een shell script. De inhoud ziet er zo uit:

#!/bin/sh

SOURCE_PATH=”/mnt/usb”

if [ ! -f "$SOURCE_PATH"/update.axf ]
then
exit 1
fi
if [ ! -f "$SOURCE_PATH"/update.dat ]
then
exit 1
fi

chmod 775 “$SOURCE_PATH”/update.axf

“$SOURCE_PATH”/update.axf “$SOURCE_PATH”/update.dat

exit 0

Lucy blijkt een kloppend hart van Linux te hebben! Dat geeft mogelijkheden.
Ik bedacht het volgende: Stel dat je een USB-stick formatteert met FAT32 en er een bestandje update.sh op plaatst waarmee je een volledige dump maakt van Lucy filesystem?
Als je de volgende regels plakt in een bestandje update.sh dan ben je er:

#!/bin/sh
SOURCE_PATH=”/mnt/usb”
ls -Rl / > “$SOURCE_PATH”/filesystem.txt
exit 0

Bovenstaand scriptje maakt een volledige dump van Lucy’s filesystem in een bestandje op je USB-stick. Op die manier krijg je een goede indruk van wat Lucy allemaal in huis heeft, waar het staat en hoe het heet!
Als je eenmaal gevonden hebt wat je zoekt, is het makkelijk om meer te vinden. Lucy’s stembestanden kun je eenvoudig vervangen en er je eigen variant voor in de plaats stoppen.
Als Lucy ergens vastzit, schreeuwt ze om hulp. Daar heeft iemand een leuk alternatief geluidje voor verzonnen:
https://soundcloud.com/withoot/snd-error-stuck

Meer leeswerk:
http://www.roboter-forum.com/showthread.php?6415-Hom-Bot-3-0-Hacking
http://forums.hardwarezone.com.sg/home-decor-furnishings-188/lg-roboking-3692302-10.html
http://recombu.com/digital/news/lg-hombot-square-robovac-gets-a-smart-control-upgrade_M12654.html
http://spacerazor.wordpress.com/2014/06/29/how-to-make-the-roboking-speak-english/

Happy hacking!

Dag 7: Lucy’s eerste week zit er op #hombot4sixweeks

Ik heb de mouwen van onze bank opgestroopt. Daar blijkt ze precies onderdoor te kunnen! Jammer dat ze niet onder de fauteuil door kan. Ook heb ik inmiddels alle stroomsnoeren opgebonden, zodat Lucy er geen last van heeft.

Lucy’s eerste week zit erop! Tijdens deze eerste week hebben we voornamelijk gekeken naar haar voor de hand liggende stofzuigeigenschappen. Als ik ons appartement een klein beetje voorbereid (stof van de bank een beetje oprollen, losse meubels aan de kant of juist middenin de kamer, deuren open) dan kan Lucy eigenlijk best een groot deel van ons appartement stofzuigen. De andere vertrekken kan, maar dan moet ik haar daar naartoe tillen en nadien weer weghalen. Dan is met de hand zuigen net zoveel moeite.

Ik merk dat het best een makkelijke gewoonte is om voor vertrek Lucy even aan te zetten. Als ik thuiskom, kan ik aan kleine dingetjes zien dat ze haar werk heeft gedaan. Natuurlijk is ons appartement keurig schoon en dat voelt goed!

Waar ik de eerste week bewust geen handleiding heb willen lezen, ga ik dat na de eerste week wel doen. Ik heb uitgedokterd dat er Open Source software bestaat voor de Hom-Bot en ik ben heel benieuwd wat daarmee mogelijk wordt. Verder vraag ik me af of ik de maximale hoogte kan instellen die Lucy wil overbruggen. De enorme wielen aan haar onderkant moeten dat makkelijk aankunnen. Ons appartement heeft geen trappen en Lucy kan maximaal een paar centimeter vallen/klimmen. Hopelijk kan ik met een eenvoudige aanpassing haar het hele appartement laten stofzuigen. Dat zou haar waarde aanzienlijk vergroten!

Helaas is Lucy’s afstandsbediening niet meegeleverd in ons testpakket. Ik hoop dat we die nog krijgen nageleverd. Ik ben vooral benieuwd of daar nog meer knoppen op zitten dan op Lucy zelf. Ik zou het prettig vinden haar op vaste tijden een vaste ronde te laten doen. Ook heb ik gemerkt dat de twee standen die Lucy kent (Zig-Zag Mode en Cell-By-Cell Mode) goed zijn om af te wisselen. Op die manier stofzuigt ze in andere patronen en wat ze de ene keer niet meepakt, komt ze de andere keer wel tegen. Bij Turbo Mode draaien de borstels sneller rond en heb ik het idee dat Lucy ook meer stof meepakt. Da’s prima!

Het zou mooi zijn als Lucy automatisch de ene dag Zig-Zag Mode en de andere dag Cell-By-Cell Mode zou kunnen stofzuigen. Dan is het ook belangrijk dat haar ingebouwde klok op tijd loopt. Die staat momenteel nog steeds verkeerd en ik heb nog niet ontdekt hoe deze in te stellen is. Ik moet bekennen dat ik ook nog niet echt heb geprobeerd. Natuurlijk willen we ook altijd Turbo Mode aan, maar dat kan helaas alleen per stofzuigbeurt.

Bij aanvang van iedere ronde adviseert Lucy: “Please empty dust bin after completed”. Dat heb ik dus niet gedaan en vandaag leeg ik alle stof van de afgelopen week. Het is te veel om netjes in de vuilnisbak te gooien, dus roepen we de hulp in van onze trouwe huisvriend Mister Dyson, die overigens de helft kost van Lucy. Hij weet wel raad met Lucy’s stof. Het is trouwens jammer dat Lucy’s relatief kleine stofreservoir niet met 1 hand te openen is.

Ook vind ik dat Lucy eigenlijk zou moeten zeggen: “Please empty my dust bin after completion”, of nog beter: “My dust bin is full. Could you please empty it?” en dan natuurlijk alleen als haar reservoir vol is. Zouden we met Open Source software haar stem en haar uitspraken kunnen wijzigen? Ik ben heel benieuwd…

Dag 6: Gevangen achter de voordeur! #hombot4sixweeks

Toen ik vanavond toen ik thuiskwam, klemde de voordeur. Heel voorzichtig manoeuvreerde ik mijzelf langs de deur en de muur naar binnen.
Blijkbaar was Lucy de deurmat opgereden, maar kon ze niet meer af. Ze lag stil achter de voordeur en haar lichtjes waren gedoofd. Ik heb haar naar de oplader getild en ze kwam weer op adem.
Na ongeveer 20 minuten sloeg ze vanzelf weer aan. Ze had voldoende energie en ze was nog niet klaar, meldde ze!
Da’s wel weer slim :-)

Later had Lucy nog een kleine aanvaring met een zak sushirijst in de keuken. Het plastic tasje van de rijst was helemaal om haar schoonmaakkwastje gedraaid en ze riep om hulp. Lucy houdt niet van plastic tasjes en van badkamerkleedjes.

Dag 2: Problemen! #hombot4sixweeks

Voordat Jae vanmorgen naar school ging, zette hij gauw Lucy nog even aan.
Bij thuiskomst zit ze verstrikt in het stroomsnoer van onze Ikea-lamp! Ik film hoe ze zich strijdlustig probeert te bevrijden. Het lukt niet, dus help ik haar. Ik knoop het stroomsnoer van de Ikea-lamp op, zodat het van de grond is. Hetzelfde doe ik met het snoer van Lucy’s eigen laadstation.

De woonkamer en de slaapkamer kent ze inmiddels op haar duimpje, maar ze heeft hoogtevrees en durft niet naar de badkamer, Jae’s kamer en de WC. Voorzichtig rijdt ze op de drempel af, gaat er een paar centimeter overheen en schrikt snel terug. Het drempeltje naar beneden is een paar centimeter en dat is te veel voor haar.

Als een schildpad til ik haar onze badkamer in. “Mijn wielen raken de grond niet, schreeuwt ze in paniekerig Engels”. Ik merk dat ze moeite heeft met het houten Ikea-krukje in de badkamer. Verder heeft ze een hekel aan de Fitbit-weegschaal in de badkamer, die ze streng de hoek in duwt. Ook houdt ze niet van het badkamerkleedje op de grond.

De voordeurmat wil ze niet op vanwege het hoogteverschilletje. Als ik haar op de deurmat til komt ze er vervolgens niet vanaf vanwege de klim. Ik maak van een verhuisdoos een provisorische op-/afritje, maar ze wil er niet aan. Natuurlijk wil ik mijn appartement zo min mogelijk aanpassen aan Lucy. Aan de andere kant vind ik het lastig om haar met de hand naar elk vertrek te escorteren. Misschien vind ik daar nog een makkelijke oplossing voor. Stiekem hoop ik dat ik haar maximale hoogteverschil kan instellen. Ze beschikt over een ingenieuze wielen, waarmee ze best een drempeltje zou kunnen pakken.

Op mijn sokken breng ik haar naar de woonkamer. Daar gooit ze onze klapstoelen om en het doet best pijn als ze over mijn tenen rijdt. Au!

Ik laat haar wat rondzuigen en ik merk dat ze in een lus zit. Ze blijft telkens hetzelfde rondje rijden en gaat niet automatisch naar haar laadstation, zoals ze eerder deed. Ik zet haar uit en druk op de Home-knop. Dat gaat gelukkig goed. Ga maar lekker slapen, Lucy! Het is een zware dag geweest.