UbiLuminaire

KTH Stockholm \ 17-05-2011

De term ubiquitous computing wordt gebruikt voor allerlei ontwikkelingen om alom tegenwoordige apparaten te voorzien van de mogelijkheid om zelf te denken en beslissen te nemen. Voor het praktische deel van dit vak koos ik ervoor om een lamp te maken die de hoeveelheid licht aanpast aan de verwachte behoefte. Als je in je ééntje een film kijkt heb je behoefte aan veel minder licht dan tijdens een diner met vrienden. Zou een lamp deze sociale scenario′s kunnen detecteren en op basis daarvan precies voldoende licht geven?

Zo′n lamp (of verzameling van lampen) zal dus moeten analyseren wat er momenteel in de ruimte gebeurd en dan de hoeveelheid licht erop aanpassen. Mijn oplossing is om op basis van sensordata te kiezen welk mogelijk scenario het meest waarschijnlijk is. Dat kan gemodelleerd worden zoals in onderstaande afbeelding met een neuraal model. De sensordata (onderste rij) is gelinkt aan attributen van de sociale context (zoals het aantal personen en hoeveel beweging er is), welke op hun beurt weer gelinkt zijn aan de mogelijke sociale scenario′s. Door de sterkte van de onderlinge verbindingen (de lijntjes) te variëren kunnen de sensordata de mate van activatie in hogere niveaus versterken of juist inperken. Veel beweging en lawaai betekent dat het minder waarschijnlijk is dat niemand aanwezig is, terwijl het juist wel waarschijnlijk is dat er een samenzijn met vrienden plaatsvindt. Het neuraal model biedt de mogelijkheid het meest waarschijnlijke scenario te kiezen door te kijken naar het meest geactiveerde scenario.

Wanneer het scenario (en bijbehorende hoeveelheid licht) eenmaal is gekozen kan het systeem de hoeveelheid licht van de lamp aanpassen in de gewenste richting, oftewel totdat de ruimte precies goed belicht is. Daarvoor wordt de omgevingslichtsensor gebruikt in combinatie met onderstaand control schema.

Een demonstratie van dit concept is gemaakt in Processing (een afgeleide van Java). Als sensors dienden de microfoon en webcam van mijn laptop, welke tevens over een omgevingslichtsensor beschikt. Bij gebrek aan een echte lamp deed het scherm dienst als verlichting. De software maakte dus de kleur van het venster donkerder of lichter als dat nodig was. Omdat een laptopscherm weinig licht geeft had dit geen effect op de metingen van de sensor (of de sensor compenseert hiervoor) waardoor de feedback loop niet werkte. Ook bleek het moeilijk goede informatie te halen uit de andere sensoren, zo was het lastig om (stabiel) het aantal aanwezige personen af te leiden uit videobeelden. Maar als eerste demo voldeed om de principes te presenteren. Met een echte lamp en meer geschikte sensoren zou het prima kunnen werken.

De korte video hierboven geeft een klein idee van hoe het prototype werkte. Doordat (niet hoorbaar) muziek gaat spelen "snapt" de lamp dat het licht niet langer uit kan blijven, er is waarschijnlijk iemand aanwezig. Op de onderste rij representeren de linker cirkels (A)udio informatie en rechts (V)isuele informatie vanuit de camera en blobtracker. Je kan de code bekijken op Github.