HCI Portfolio | Niels van der Wal

Een greep uit wat er mogelijk is met Human Computer Interaction

Labweken | Proces & Product

Dag 1 – Maandag 6 juni 2016

Proces

De eerste dag van de HCI labweken begon al erg goed. Met een volgepropte Peugeot 106 zijn wij vanaf station Delft naar de Dutch Innovation Factory (DIF) geweest in Zoetermeer. In dit gebouw hebben wij een enorme ruimte ter beschikking gekregen om onze projecten te kunnen doen. Eenmaal aangekomen in de ruimte kregen we een inleidend verhaal over wat we de komende twee weken gaan doen. Vervolgens werd middels een lijst op de muur bekend gemaakt in welk groepje je zat en welk onderwerp je toegewezen hebt gekregen. Ik was mega enthousiast over het onderwerp, want wij mochten aan de slag met Artificial Creatures, het onderwerp dat ik heel graag wilde!

Nadat het enthousiasme niet meer de overhand had, kon ik opzoek gaan naar de rest van mijn groepje. Het duurde niet lang of ik maakte kennis met: Alex, Jessica en Jack. We schoven gezamenlijk een tafel op een plek en we begonnen elkaar een beetje af te tasten met vragen als: “Welke kwaliteiten heb jij?”, “Wat verwacht je van deze 2 weken?” en dergelijke. Artificial Creatures is een vrij technisch onderwerp waarbij veel geprogrammeerd zal moeten worden en daarom gingen we direct kijken wie er goed is in programmeren.  Jessica gaf aan niet zo goed te zijn in programmeren en vond zichzelf meer een conceptueel ontwerper. Jack vertelde dat hij hiervoor een informatica gerelateerde opleiding heeft gedaan en dus wel het één en ander weet van programmeren, maar er niet heel erg goed in is. Alex wist er wel iets vanaf maar gaf aan er niet heel goed in te zijn. Daarom namen Alex en ik de taak op ons om het programmeer werk zoveel mogelijk te proberen.

Ook moesten we een concept verzinnen. We gingen keihard aan de slag met brainstormen en het maken van een mindmap. Uit deze sessie kwamen een hoop leuke ideeën en inzichten. Een belangrijk inzicht was bijvoorbeeld: wat maakt een standaard robot een Artificial Creature, inplaats van alleen een robot?

Wij kwamen tot de conclusie dat een robot al snel een creature zou worden als het menselijke eigenschappen zou vertonen zoals: knipperende ogen, beweging van het lichaam, betekenisvolle geluiden of een bewegende staart. Daarnaast moet er interactie zijn met de robot om het een creature te noemen. Na het bedenken van de creature zijn wij zo snel mogelijk aan de slag gegaan met het maken van het eerste prototype. Hiervoor waren alleen wel batterijen noodzakelijk en we moesten op zoek naar een knuffel die als frame zou kunnen dienen.

Product

Het concept is als volgt:

“Een robotkat die interactie heeft met zijn omgeving”

  • het moeten kunnen lopen/rijden
  • het moet kunnen miauwen
  • het moet bewegende ogen hebben (open/dicht)
  • het moet een bewegende staart hebben
  • het moet kunnen jagen

De achterliggende gedachte is om mensen het idee te geven dat ze kunnen interacteren met het beestje en dat het zelf kan denken. Mensen moeten ervaren dat het beestje emoties kan tonen doormiddel van verschillende sensoren. Als dit lukt zullen ze hopelijk blij verrast zijn.

Het eerste concept was al vrij snel gerealiseerd. Samen met Jack heb ik zoveel mogelijk gestoeid met het aan de praat krijgen van een RedBot (een programmeerbare auto). Er waren echter wat problemen met het installeren van de libraries en het aansturen van de RedBot. Na enige frustratie en proberen lukte het uiteindelijk om de library toe te voegen en werkend te krijgen. Hierdoor konden wij de auto laten rijden zoals wij het wilden (vooruit, achteruit en sturen). Aan het einde van de dag hebben we het voor elkaar gekregen om de bot in een scherp vierkantje te laten rijden. Dit mochten wij presenteren aan de groep waarbij Jessica het woord had.

 


Dag 2 – dinsdag 7 juni 2016

Proces

De dag begon uitstekend vandaag met een goede motivatie om verder te gaan met waar we gebleven waren. Maar eerst werden we verrast met een gastspreker (Arjan van der Meij) die ons ging vertellen over een nieuw systeem van leren aan studenten. Dit systeem gaat uit het praktische leren doormiddel van Do It Yourself projecten, ook wel DIY genoemd. Eens in de zoveel tijd geven de docenten op de school waar Arjan lesgeeft de leerlingen de tijd om zelf dingen te ontwerpen.

Tijdens het college kwam naar voren dat deze vorm van lesgeven erg succesvol bleek te zijn en dat er zelfs een leerling van de school een TedTalk heeft gegeven over dit onderwerp. Deze jongen, Victor Hupe genaamd, heeft de TedTalk vertaald naar het Nederlands en speciaal voor ons gepresenteerd. Dit college was erg inspirerend, voornamelijk door het enorme doorzettingsvermogen van de jongen. Hij heeft tijdens het ontwerpen zoveel tegenslagen gehad, maar toch is hij doorgegaan en het uiteindelijk is het een succes is geworden. De TedTalk van Victor Hupe is hier te bekijken.

Na de presentatie van de gastsprekers zijn we met z’n vieren opnieuw gaan kijken naar het achterliggende verhaal van ons concept. Daaruit kwam dat het allerbelangrijkste is om de kat levendig te laten lijken en de bezoekers duidelijk te maken dat robots ook kunnen leven.

Vervolgens zijn we prioriteiten gaan stellen aan wat er gedaan moest worden. Op nummer 1 stond het autonoom laten rijden van de robot. Hiervoor hadden wij een ultrasoon sensor tot onze beschikking.

Ultrasoon sensor

Ultrasoon sensor

Deze ultrasoon sensor stuurt een signaal over de ene kant en ontvangt het signaal in de andere. Jessica en Alex hadden een goed script werkend gekregen waarbij de afstand berekend kon worden van een object op de route. Dat werkt ongeveer zo:

t = r / c (waarbij t = afstand, r = tijd, c = snelheid van het geluid)

-oftewel –

afstand tot object = tijd van zenden tot ontvangst / snelheid van het geluid

 

Deze sensor hadden Jessica en Alex al snel goed werken op een Arduino, echter hadden we wat hulp nodig bij het verplaatsen van de sensor van de Arduino naar de RedBot. De RedBot gebruikte namelijk ander soort pins.

Nadat de sensor eenmaal werkte wilden we de RedBot laten stoppen bij een muur. Dit lukte zonder problemen. De problemen begonnen echter bij het schrijven van een script waarbij de RedBot een andere richting op moest gaan zodra het een muur raakte. Op de één of andere manier hadden we niet helemaal door welke wielen er op welk moment aangedreven werden. Dit is uiteindelijk opgelost door de motortjes van de wielen om te draaien.

Oja, we hebben ook alvast een bestelling geplaatst. Ik had onderzoek gedaan naar hoe je elektronisch ogen kon sluiten. De makkelijkste oplossing hiervoor zou een ledmatrix zijn. Deze hebben we besteld.

Ledmatrix

Lesmatrix 8×8 leds

Aan het einde van de dag was het met heel veel moeite gelukt om de RedBot te laten draaien. Jack en ik zijn vervolgens alvast begonnen met het maken van een script waarbij de RedBot zelf kan kiezen tussen links of rechts draaien wanneer het een obstakel tegenkomt. Helaas kregen we dit vandaag niet voor elkaar.

Product

Het product is op dit moment een RedBot met een werkende ultrasoon sensor erop. Hij kan vooruit rijden en draaien. Helaas nog niet autonoom. Dat wordt de volgende stap.


DAG 3 – woensdag 8 JUNI 2016

Proces

Vandaag hebben we veel voortgang gemaakt! We hebben een naam gekozen voor onze RedBot. Vanaf nu gaat de robot door het leven als “NINJA”! Jessica en Alex ook reeds zijn begonnen met het maken van de eerste conceptversie van de kat. Hierbij wordt kippengaas, karton en papier-maché gebruikt.

Jack en ik hebben de NINJA eindelijk autonoom kunnen laten rijden! We hebben een script bedacht waarbij hij moet stoppen voor een obstakel en vervolgens een willekeurige keuze kan maken om linksom of rechtsom te draaien. Zodra het pad vrij is mag hij gaan rijden.

Daarnaast hebben we een bug opgelost die ervoor zorgde dat NINJA niet meer ging rijden zodra de ultrasoon sensor een afstand groter dan 300 cm registreerde.

Product

De robot heet onderhand Ninja en is in staat om zelf te rijden en obstakels te ontwijken.


DAG 4 – donderdag 9 JUNI 2016

Proces

Vandaag ben ik verder gegaan met het fine-tunen van het script van Ninja. Ik heb de tijd tussen het registreren van het object en het draaien naar een nieuwe positie iets verkort waardoor de robot nu natuurlijker beweegt. Het testen hiervan heeft veel tijd gekost omdat het aanpassen van de tijd van invloed was op de prestaties van het registreren van objecten. Op een gegeven moment reed Ninja steeds tegen een object aan, ondanks dat het een obstakel had geregistreerd.

Jessica is verder gegaan met het maken van het frame van Ninja. We hebben samen even een 3d model van een kat erbij gepakt om ervoor te zorgen dat de vormen juist waren. Hiervoor hebben we zilverfolie gebruikt, dat laat zich makkelijk in positie brengen. Het grappige was dat het model heel erg op een geit of hond leek. Toen we eenmaal de staart erop gezet hadden leek het ineens een kat.

Ook heb ik samen met Jack de eerste poging gedaan tot het aan de praat krijgen van de WiFi chip (ESP8266), maar dat hebben we al snel opgegeven doordat we te weinig tijd hadden. De dag vloog voorbij.

Product

Ninja heeft nu een frame gekregen die nog omlegd moet worden met papier-maché en lijkt in ieder geval al op een kat. Daarnaast rijdt het rijdende gedeelte van Ninja nu helemaal autonoom en het ziet er soepel uit.

Ninja met 3d model

Ninja met 3d model

Ninja zijaanzicht

Ninja zijaanzicht

Ninja vooraanzicht

Ninja vooraanzicht


DAG 5 – Vrijdag 9 JUNI 2016

EEN DAG MET VEEL PROGRESSIE 🙂

Vandaag hebben we reuzenstappen gemaakt. We zijn begonnen met het werken met voicecommands. Hiervoor hebben we het programma Bitvoicer gekocht en hebben we een setup met 3 LED’s gemaakt. Deze LED’s zaten in een breadboard en waren aangesloten op een USB die verbonden was met de computer die Bitvoicer draaide. We kregen het vervolgens voor elkaar om op stemcommando de LED’s te laten knipperen.

Daarna heb ik een script geschreven die de input van de voicecommand uitleest in de Arduino en waarna de Arduino een koppeling maakt met de RedBot. Hierbij stuurt de Arduino een 1 of 0 naar de RedBot en afhankelijk daarvan gaat de RedBot rijden of niet. Momenteel werkt dit serieel (met een USB kabel naar de Arduino).

Alex is aan de gang gegaan met het verven van het frame waarin Ninja gaat bewegen en Jessica is begonnen met het leggen van papier-maché over het frame van Ninja. Er liggen momenteel 3 lagen overheen om zo min mogelijk gewicht mee te geven, anders kunnen we problemen krijgen met de stabiliteit en rijdvermogen van de RedBot.

 


DAG 6 – maandag 13 JUNI 2016

Proces

Na een heerlijk weekend gingen we er vandaag weer met volle moed tegenaan. Toen we binnenkwamen lag de eerste LED-matrix op onze tafel. Joël, een docent van ons, had deze thuis laten bezorgen nadat de bestelling fout was gegaan. Helaas is de tweede nog onderweg en deze is hard nodig omdat ze als paartje ogen moeten gaan werken.

Er lag vandaag nog een uitdaging op ons te wachten. We wilden namelijk de ESP8266 WiFi-chip aan de praat krijgen. Deze chip moet de huidige bekabelde connectie om de spraakcommando’s te versturen vervangen door een WiFi netwerk op zetten zodat we de commando’s draadloos kunnen versturen. En ik ben daar vandaag een heel eind mee gekomen! Om de chip te laten werken moest deze eerst gesoldeerd worden. Ik heb aan alle pins een kabel bevestigd en deze aangesloten op de Arduino. Na lang stoeien met het apparaat en tientallen handleidingen op internet door te lezen is het uiteindelijk gelukt. De chip kan nu een eigen accespoint maken en fungeren als TCP server. Deze server/chip kan nu bereikt worden via Bitvoicer en dus worden de commando’s verstuurt via een draadloos netwerk. Deze commando’s zijn af te lezen in de console van de Arduino, echter lukt het mij nog niet om deze data “beet te pakken” en te gebruiken om de Arduino een actie uit te laten voeren. Zelfs met veel hulp van een Chris (een docent die zeer bekwaam is met Arduino’s) is het niet gelukt.

ESP8266 WiFi Chip

ESP8266 WiFi Chip

Echter, heb ik vanavond thuis een script van iemand gevonden waarmee het misschien kan werken. Deze ga ik morgen direct uitproberen. Want als wij dit obstakel hebben overwonnen, dan kunnen wij onze kat/Ninja op afstand commando’s geven en laten stoppen of rijden.

Jessica is vandaag stof gaan kopen om Ninja te bekleden zodat hij haar krijgt. Dit heeft ze gevonden op de Haagse Markt in de vorm van kussens. De kussens zijn stuk geknipt en geplakt op Ninja. Ook heeft Ninja een operatie ondergaan en is door de midden gesneden. Dit was noodzakelijk om alle vulling eruit te halen en om straks de electronica erin te kunnen verwerken.

Product

Momenteel is ons product een robot die bekabeld op stemcommando kan stoppen of rijden. We zitten in de testfase van het draadloos versturen van de stemcommando’s via een WiFi netwerk. Daarnaast werken de staart en ogen ook al. Er ontbreekt helaas nog 1 oog. Deze wordt hopelijk morgen bij mij thuis bezorgd.


DAG 7 – dinsdag 14 JUNI 2016

Proces

Ninja had nog geen vacht op zijn kop maar wel zwarte verf. Jessica heeft daar nog een extra laag verf op aangebracht en daarna losse stukjes vacht geplaatst. Daarnaast heeft Ninja een neus gekregen gemaakt van klei.

“We hebben het laatste obstakel overwonnen” was een uitspraak die ik vandaag heb gemaakt. Dit bleek achteraf niet helemaal het geval, want er zouden  er nog vele komen. Echter was het wel een grote sprong die we hebben gemaakt. Het is namelijk gelukt om een LED DRAADLOOS via WiFi aan te sturen middels het programma Bitvoicer naar Arduino! Na het vele testen en aanklooien van gisteren was dit een heuse opluchting.

Het werkte technisch gezien als volgt:

  1. Geef commando “Stop” of “doei” aan Bitvoicer
  2. Bitvoicer heeft contact met de WiFi chip en verstuurt een string met “stop” of “doei” naar de console.
  3. Lees de seriële communicatie van de WiFi chip uit met de Arduino en laat een LED branden afhankelijk van de string die ontvangen is.
  4. “stop” == 1 x aan / uit
  5. “doei” == 2x aan / uit

Het kostte ontzettend veel tijd om dit te onderzoeken en voor elkaar te krijgen. Helaas worden de strings nog niet goed van elkaar onderscheiden door de Arduino. De ene keer keer leest hij stop uit terwijl het doei zou moeten zijn en andersom. Echter werkt het meestal wel goed. Hier moet de volgende dag naar gekeken worden.


Product

Het product is nu een kat met vacht en langzamerhand gaat het aansturen van de kat lukken met stemcommando’s. Op het moment hebben we het obstakel van bekabeling overwonnen en kunnen we dus hardware via WiFi aansturen.

DAG 8 – woensdag 15 JUNI 2016

Proces

Ochtendroutine om de mindset scherp te houden

Ochtendroutine om de mindset scherp te houden

TEGENSLAG! Het tweede LED-matrixje (beter bekend als de tweede oogbal) is niet binnen gekomen. Dat is gek… Want er lag wel een pakketje op mijn deurmat. Wat zou het kunnen zijn? Het was een verkeerd artikel. Je zou toch zeggen: “een ezel stoot zich over het algemeen…” blijkbaar doet de webshop dat wel. Wij kregen namelijk voor de tweede keer een numeriek toetsenbord binnen, zoals afgelopen dinsdag of woensdag ook al het geval was.

Verkeerde artikel binnengekregen

Verkeerde artikel binnengekregen

We moesten nu dus creatief zijn want we zouden de matrix nooit meer op tijd binnen gaan krijgen gezien de deadline van aanstaande vrijdag voor de expositie. NINJA was nu geen toepasselijke naam meer, daarom heet NINJA vanaf nu “Cat Sparrow” – de eenogige piratenkat.

Cat Sparrow moest ook nog eens gemonteerd gaan worden op de RedBot. Daarvoor is een stuk hout uitgezaagd die erop gemonteerd kon worden met een aantal schroeven en bouten. Ook zijn we met z’n allen de stad van Zoetermeer ingegaan om accessoires te kopen voor Cat Sparrow. Zo kan hij nu aangekleed worden met een oorbel, hoedje, en ooglap.

Ook hadden we nog kleine electronica nodig voor de aansluitingen van de Arduino naar de RedBot om deze met elkaar te kunnen laten communiceren. Hiervoor zijn een een speciaalzaak ingestapt. Eenmaal terug gekomen zijn Jack, Jessica, Alex en ik de kabels aan elkaar gaan solderen om ze langer te maken en om ervoor te zorgen dat er niets los kon raken tijdens de expositie.

Product

De naam is veranderd naar Cat Sparrow doordat er 1 oog ontbreekt. Alle kabels zijn aan elkaar gesoldeerd en hebben genoeg lengte om in het lichaam van de kat geplaatst te worden.

Cat Sparrow staat klaar om op zijn voertuig te stappen

Cat Sparrow staat klaar om op zijn voertuig te stappen


DAG 9 – Donderdag 16 JUNI 2016

Proces

Vandaag was de laatste dag dat we ingepland hadden om dingen aan Cat Sparrow te doen. Alle kabels zijn in het frame geplaatst en de batterijen / Arduino’s hebben een plekje gekregen. De eerste Arduino kreeg een plekje in het hoofd om het oog aan te sturen. De tweede Arduino kreeg een plek in het midden van het lichaam om de WiFi chip aan te sturen en ervoor te zorgen dat Bitvoicer een netwerk had om de commando’s naar toe te sturen. Vervolgens moest de tweede Arduino gekoppeld staan aan de RedBot om de bot te onderbreken wanneer het commando “stop” gegevens werd. De laatste Arduino was degene van de RedBot en kon de auto laten rijden, draaien, stoppen en obstakels laten ontwijken met behulp van een ultrasoon sensor.

We hebben 3 testrondes gedaan en daarbij werkte alles perfect! We zijn helemaal klaar voor de expositie van morgen.Daarnaast was Alex de laatste loodjes aan het leggen om het frame/barrière af te maken waarin Cat Sparrow kon rijden.

Product

Alles is klaar en getest. Kom maar op met de expositie!

 


DAG 10 – DONDERDAG 17 JUNI 2016

Proces

De dag begon goed, maar rond 10:00 escaleerde het volledig. Alles wat fout kon gaan ging fout. Cat Sparrow begon langzamer te rijden en de kracht die de motoren hadden namen sterk af. Het bleek een voedingsprobleem in combinatie met te veel gewicht van de pokerbank + 2,5 meter printerkabel. Hiervoor moest een oplossing bedacht worden. Ik besloot om de relatief zware powerbank te vervangen met een 9v batterij en een heel erg korte en dunne kabel. Hiervoor moest er heen en weer geraced worden naar de electronica winkel, de supermarkt en een computershop. Uiteindelijk had ik alles bij elkaar geraapt en moest er snel iets in elkaar geknutseld worden. Onderhand was het nog maar 2 uur totdat de expo van start ging en de druk was hoog. Daarnaast hebben we nog extra batterijen gekocht. Om en nabij 34 stuks. Dit zou voldoende moeten zijn om 4 uur door te komen.

Na het gewicht verlaagd te hebben en verse batterijen geplaatst te hebben, ging Cat Sparrow als een jekko. En als klap op de vuurpijl ging er nog iets fout: de linker-motor weigerde dienst… Op dat moment had ik het wel een beetje gehad. Maar goed, the show must go on. Na wat pielen en dingen uit elkaar halen om stof te verwijderen en de kabels te dubbelchecken deed hij het wonderbaarlijk genoeg weer!

Alle problemen waren om 15:50 verholpen. Net op tijd voor de opening van de expo om 16:00. Daarna heb ik ontzettend genoten van iedereen die Cat Sparrow kon bewonderen. Mensen waren erg onder de indruk van de vormgeving en de werking van de kat. Ook was het leuk om te zien dat kinderen helemaal enthousiast werden van de kat en deze graag wilde aaien. Een aantal kinderen vroegen zelfs naar de werking en hoe wij het gemaakt hadden. Hierbij vertelde ik dat de kat geen kattenbrokjes at maar batterijen aan de lopende band naar binnen werkte.

Aan het eind van de avond was ik helemaal kapot. Moe… maar ontzettend voldaan.

Product

 

 

 


Eindfilmpje – maandag 6 juni – 17 JUNI 2016

Bekijk hier ons eindfilmpje waarin in je een deel van ons proces kunt zien. De credits voor dit filmpje gaan naar Jessica Klos.

Verder Bericht

Vorige Bericht

Laat een reactie achter

© 2019 HCI Portfolio | Niels van der Wal

Thema door Anders Norén