Oplevering Sprint 7

Voor deze sprint hebben we ons gefocust op de volgende verbeterpunten:

2e Grutto Case

Na de review van sprint 6 werd het ons duidelijk dat we de Grutto Case van de Night Vision Auto kunnen verbeteren. Carlo en Jeremy namen de tijd om eerst handmatig de afmetingen nogmaals te berekenen voordat ze verder gingen met het ontwerpen van de Grutto Case. Ze zorgden ervoor dat de Grutto Case dit keer wel leek op een auto. Daarnaast planden ze ook in hoe en waar de extra gaten in de doos gemaakt zouden worden door de lasersnijder zodat de componenten en kabels goed geplaatst kunnen worden.

De volgende werkdag was het tijd om de Grutto Case waar te maken. in de vroege ochtend nam Carlo de tijd om de lasersnijder te reserveren voor gebruik en tijdens het wachten totdat Carlo aan de beurt was nam hij de kans om de Grutto Case te voorzien met een logo, van een Grutto Natuurlijk. Tenslotte was het alleen nog maar de houten vlakken lijmen en daarna ook nog de componenten vast lijmen. Dit is het resultaat.

Infra Rood Lampen gekoppeld aan de schakeling

Na de review van sprint 6 hadden we nog geen oplossing gevonden voor ons probleem dat we de infra rood lampen niet aan konden krijgen. Ons probleem lag bij onze stroom voorziening. We wisten wel van te voren dat we minstens 12 volt nodig hebben om de lampen aan te kunnen zetten. Dus een simpele optel som van 5 volt dat we uit onze Arduino halen en 4 keer 1,5 volt van AA batterijen komt uit tot 11 volt. En dat was alleen al voor onze D/C Motor nodig om de auto te laten rollen. Dus werd het Carlo al snel duidelijk dat we een batterijhouder van 8 keer AA batterijen ter beschikking moesten hebben. Daar werd dus gelijk voor gezorgd en de volgende werkdag konden we testen of het genoeg was om de twee infrarood lampen te voorzien van stroom. Gelukkig was het genoeg en dat wisten we ook eigenlijk van te voren. Want voor de gene die de natuurkundige formules nog kan herinneren van elektriciteit. Dat het volgende geldt in een parallel schakeling: U totaal = U 1 = U 2….  Waarbij U gelijkstaan aan volt. Dus zolang de schakeling op de breadboard in parallel staat voor de infra rood lampen dan gaat er niks mis.

Laatste controller functies op de Arduino

Omdat we van plan waren om de infra rood lampen aan de huidige schakeling te koppelen waren we ook van plan om ervoor te zorgen om de gebruiker instaat te stellen om ook de lampen aan en uit te kunnen zetten. Dus dat werd in verloop van de week verzorgd door Jeremy. Ook werden er kleine veranderingen gemaakt aan de controller functies die al bestonden, met name de D/C motor die pas aan gaat als de gebruiker de juiste knop 1 keer indrukt en hetzelfde verhaal geldt voor het uit zetten van de D/C motor. Jeremy had hiervoor gekozen zodat de gebruiker niet de pedalen van het stuur voortdurend in hoeft te drukken, dit was voor het gemak tijdens het testen en voor de gebruikers bij de eind markt.


Ontdekking: de aandrijving dc motor voor de auto was kapot.

Voor de review van sprint 6 hadden we problemen met de D/C motor. Hij wou niet meer draaien, eerst waren we er gezamenlijk van overtuigd dat de batterijen op waren. Maar nadat we nieuwe batterijen hadden gekocht werd het ons duidelijk dat het geen nut had op de D/C motor. Weken later observeerde Jeremy dat de D/C Motor kapot was, dit was te zien aan de onderkant van de motor omdat het plastic gebroken was waardoor de motor zowat van binnen in gebroken was. Gelukkig kregen we de motor weer draaiende door te proberen de breuk dicht te lijmen en daarna reed de motor weer.

Raspberry Pi update probleem

De Raspberry Pi werd aan het einde van het project erg langzaam, waardoor het installeren van nieuwe packages lastig werd en ook bijna niet meer over de hotspot gedaan kan worden. We liepen dus wat vertraging op en Matthijs nam de Raspberry mee naar huis om hem daar op te schonen en met snel internet de boel te installeren.

Interactie via het stuur

Omdat je tijdens het rijden het liefst je handen aan het stuur houdt, hebben wij ons systeem daar op afgesteld. Met enkele knoppen op het stuur kan de gebruiker nu door het menu navigeren en items selecteren. Toekomstige mogelijkheden hiervoor zijn bijv. spraaksturing, zodat de gebruiker echt moeiteloos en zonder afleiding het systeem kan gebruiken.

Zes maanden later

Na zes maanden staat hij er; de Grutto Nachtauto!

Met infraroodlampen en camera’s staat deze auto symbool voor een nieuwe kijk op de manier waarop wij met de natuur omgaan. Wij zijn begonnen met onderzoek te doen naar allerlei verschillende manieren waarop wij iets konden betekenen voor de natuur. Dit bleek een lange lijst te zijn, waar de nodige afbakening bij nodig was.

Juist uit die grote lijst, hebben wij een onderwerp gekozen dat, ondanks de naam doet vermoeden, onderbelicht is gebleven. Lichtvervuiling is dan ook gelijk een probleem dat wij niet met z’n drieën in een keer op kunnen lossen. Maar toch zijn wij als CMGT’ers buiten ons vertrouwde vakgebied gestapt, en hebben we voor een Rotterdamse aanpak gekozen: “dan gaan we dat toch gewoon bouwen?!”.

Na te stellen dat wij alle verlichting langs de snelweg uitschakelen, hebben wij een prototype ontwikkeld voor een auto die geen zichtbaar licht nodig heeft om te navigeren. Met infrarood licht verstoren wij de natuur niet, maar het heeft net wat meer haken en ogen dan normaal licht voordat het toepasbaar is. Iets waar wij ons vol op gestort hebben de afgelopen maanden. Juist met die aanpak, hopen wij een vonkje over te kunnen brengen op anderen. Wij begrijpen ook dat ons concept nog niet de weg op kan, maar wij hopen minstens op een wederzijds begrip dat de huidige situatie ook niet houdbaar is.

Door die twee standpunten samen te voegen, kunnen wij met elkaar een passende oplossing bereiken. Als dat lukt, dan is ons concept geslaagd.

Technologie heeft al jarenlang een rol gespeeld in de verstoring van de natuur, op veel verschillende manieren. Nu wordt technologie mondjesmaat meer en meer gebruikt om die rol om te draaien, of op te heffen. We proberen om de effecten terug te draaien, of zoveel mogelijk te minimaliseren, of op te heffen door iets goeds terug te doen.

In de toekomst zien wij dit anders voor ons. Waar technologie nu nog een pronkstuk is, of soms een ondergeschoven kindje afhankelijk van het belang, zal het in de toekomst de bepalende factor worden. Wij kunnen als mensen reflecteren, maar dat betekent onlosmakelijk dat wij eerst de fouten moeten maken voordat we ervan kunnen leren. Dat eerste hebben we nu gedaan, laten we dan nu de knop omgooien. Waar producten nu nog een keurmerk krijgen als zij aan milieueisen voldoen, zullen ze in de toekomst simpelweg niet meer in de schappen komen als zij niet 100% milieuvriendelijk zijn.

Dit is al enigszins aan de gang; vanaf 2025 mogen er geen nieuwe benzineauto’s meer verkocht worden in Nederland. Als dit plan doorgaat, dan zijn we onherroepelijk een nieuwe pad ingeslagen.

Reflectie TLE

In de afgelopen weken/maanden hebben we hard gewerkt aan ons product. Tijdens dit proces zijn een aantal dingen opvallend, die ervoor gezorgd hebben dat we nu staan waar we staan. Er zijn enkele veranderingen zichtbaar, terugkijkend op TLE1 en 2. Welke dat zijn en hoe dat invloed heeft gehad op ons en ons product, zal ik hieronder vertellen.

Hoe werkten wij in het begin vs. nu?

In het begin, bij het vinden van een probleemstelling en het uitwerken hiervan, werkten wij vrij veel samen aan hetzelfde. Ook bij het verder uitdiepen van het concept hadden we nog niet echt per teamlid onze eigen focus. Dit zorgde ervoor dat we bepaalde veranderingen, zoals de switch van hardware naar interactie, moeilijker op konden pakken. We sprongen als team van taak naar taak, i.p.v. als teamlid.

Sinds dat we met het echte ontwikkelproces begonnen, dus zeg begin TLE2, werden voor ons de onderlingen vaardigheden van ieder teamlid beter duidelijk. Ons uiteindelijke product werd ook voor ons duidelijker en we konden verder vooruit kijken. Hierdoor konden we meer taken in parallel oppakken en onderling verdelen. Zo was Carlo vaak in de werkplaats te vinden om ‘hands-on’ aan de auto te werken, was ik veel met de interface bezig en werkte Jeremy veel aan de Arduino.

Doordat we vanaf TLE2 ook weer meer met Daily Stand-Ups werkte, konden we elkaar beter op de hoogte brengen van waar we mee bezig waren, en elkaar vervolgens op beter hierin loslaten. Zo hield iedereen een breed overzicht van het project, maar had iedereen zijn eigen diepe focus van zijn onderdeel. We konden elkaar dus zeker wel helpen en van inzichten voorzien, maar iedereen wist 100% alles van zijn onderdeel. Ons project werd ook vrij snel vrij complex, met meerdere uitgediepte stukken naast elkaar, dus dan is het ook fijn om die vlakken te verdelen. Als wij alle drie alles 100% moesten weten van alle onderdelen, zouden we lang niet zo snel kunnen werken.

Het gevaar van onze projectkeuze

Wij hebben een gedurfd onderwerp gekozen, wat ook aan de rand van ons vakgebied licht. Wij vinden dit erg mooi, omdat wij zo kunnen laten zien dat je meer kan met de bestaande techniek dan dat je eerst zou denken. Wij hebben erg veel geleerd, van zowel de hardware (Raspberry Pi) als nieuwe programmeertalen (Python) en de interactie hiermee naar websites en Arduino.

Wij hebben wel meerdere keren gemerkt dat er ook keerzijdes zitten aan onze keuze. Zo miste we in het begin de nadruk op de interactie, dit kwam doordat we teveel met de hardware bezig waren, maar ook omdat we met de hardware een soort opstartfase door moesten, voordat we er iets visueels van konden maken. Achteraf hadden we dit kunnen voorzien en op kunnen vangen, maar we moesten nu snel switchen tijdens het project.

Ook omdat we het vooral erg leuk vinden om met de hardware te werken, en hier van alles aan te koppelen, wijken we soms af van het eigenlijke doel (volgens de sprint criteria). Een meer visueel gerichte oplossing, zoals een game, past nou eenmaal beter in dat plaatje, dus wij moeten daar extra goed naar kijken. Dit blijkt lastiger dan het lijkt, omdat we veel uren kwijt waren aan het werken aan ‘ondersteunende’ onderdelen, zoals de motoren, stroomtoevoer en de camera. Des te gaver als het uiteindelijk allemaal werkt, en dit houdt ons ook op de been, maar we merken wel dat het lastig is om het in het vormpje van de sprint te gieten.

Oplevering sprint 6

Wat hebben we gedaan?

  • Nieuwe interface gemaakt, die beter aansluit bij ons ontwerp.
  • Verder gewerkt aan de interactie. De interface is nu bestuurbaar vanaf het stuur, en beweegt ook mee met het stuur.
  • De auto is nu bestuurbaar met het stuur en de pedalen.
  • Informatie over de snelheid wordt op het scherm getoond.
  • De auto heeft nu een case, waar alle elektronica in zit. Dit wordt nog verder afgewerkt.
  • Sterke infraroodlampen zijn nu functioneel

 

Hier horen de user stories “Als gebruiker wil ik handsfree kunnen omgaan met het systeem, zodat ik mijn handen aan het stuur kan houden.” & “Als gebruiker wil ik realtime informatie over mijn auto op mijn scherm zien, zodat ik mijn ogen niet van de weg hoef te halen.” bij.

De nieuwe interface

De interface draagt nu veel meer uit dat het hier gaat om een futuristische auto en dat het om een toekomstplan gaat. Ook geeft de interface nu veel meer visuele feedback aan de gebruiker, zodat alle informatie uit de interface gehaald kan worden, terwijl handen op het  stuur en ogen op de weg blijven.

Waar liepen we tegenaan?

De infraroodlampen hadden een verborgen ‘easter-egg’, waardoor we er een tijdje de mist mee ingingen. Gelukkig hebben we dat nu opgelost, en kunnen we ook in het donker weer rondrijden. De lampen hadden een ingebouwde lichtsensor, dus al onze testpogingen bij daglicht vielen vanzelf in het water…

Ook was de aansluiting van de nachtcamera versleten, door na wat nu blijkt verkeerd te zijn aangesloten. De connector waar de zogenaamde ‘flat cable’ ingaat, kan je blijkbaar openklappen en de kabel erin leggen. Wij hebben deze enkele keren gewoon erin ‘gestoken’, wat zijn weerslag heeft gehad op de contactpuntjes. Dat is gelukkig gerepareerd, dus we hoeven geen extra materialen te gebruiken.

Waar gaan we aan werken?

We willen ons nu richten op de finishing touches. We gaan de auto van buiten helemaal afwerken, en voorzien van de Grutto look ‘n feel. We gaan de interactie perfectioneren, zodat alles gereed is voor de demonstratie in januari.

Struggle van de week: infrarood lamp

De struggle van deze weken was de infrarood lamp.

Wij hebben, nadat we zelf een lamp hadden gebouwd, twee sterkere lampen gekocht   en laten bezorgen uit China.

Dit zijn ledboards die op een bewakingscamera geschroefd kunnen worden. Het aansluiten was dus ook even uitzoeken, omdat wij ze gingen gebruiken voor iets waar ze eigenlijk niet voor bedoeld waren.

Na veel batterijen te hebben versleten, kregen we bij het StadsLab te horen dat deze lampen (2x 40 leds) toch wel wat meer stroom nodig hebben dan dat onze batterijen kunnen leveren, en dus zaten we dinsdagmiddag in het StadsLab achter de generator, om maar uit te vogelen wanneer onze lampen aansprongen.

Waar we achter kwamen, is dat er een couponnetje op het board was geplaatst, wat nogal gevoelig was. We wisten echter nog niet waarvoor. We merkten alleen dat wanneer we dit component een beetje heen en weer duwde, de lamp aansprong… Een losse soldering? Een scheve condensator? Wel raar dat beiden lampen hetzelfde ‘probleem’ hadden… Hé?

Terwijl Jeremy en ik druk zaten te pielen met hoge voltages en levensgevaarlijke amperes, sloeg Carlo zijn toevlucht in Google en vond zowaar iets over lichtsensors… “Is het geen lichtsensor dan?”…. Wauw, ja inderdaad, die fabrikant had zelf al bedacht dat deze lampen alleen in het donker worden gebruikt, dus gaan ze pas aan in het donker…Thanks for sharing!

Ontwikkel Proces van de Doos voor op de Bestuurbare Auto

Om de installatie van de bestuurbare auto mooi te monteren hebben we ervoor gekozen om “makercase.com” te gebruiken. Met die website is het heel makkelijk om  snel een “.svg” bestand te genereren waar een doos op maat gemaakt kan worden. De”.svg” bestand is noodzakelijk als je wilt werken met een lasersnijder. Er is ook een ander bestand formaat waarmee je kan werken maar “makercase.com” genereert alleen “.svg bestanden”. Voordat ik kon beginnen met “makercase.com” moest ik de afmetingen van de componenten die nodig zijn voor de schakeling afnemen. Ik had op 15 december de tijd genomen in het stadslab om daar voor te zorgen. Hieronder worden de afmetingen weergegeven:

Arduino 

breedte : 5,3 cm

lengte : 6,6 cm (6,8 cm met de langste uitstekende usb poort mee gerekend)

hoogte : 1,5 cm

Raspberry met plastic omhulsel eromheen

breedte : 6,3 cm

lengte : 9,2 cm (alleen de case grootte); 10,7 cm (met de uitstekende SD kaart mee gerekend)

hoogte : 2,6 cm

Breadboard 

breedte : 5,3 cm

lengte : circa 7 cm

hoogte : 1,5 cm; 3 cm (met de schakeling componenten mee gerekend dus bijvoorbeeld hoogte van de uitstekende kabels)

We hebben voor de case een 30 cm bij 60 cm plank gebruikt van 3 mm dik. We hadden een grotere oppervlakte gebruikt dan dat we nodig hadden, omdat de doos met de langste kant omhoog staat is er ruimte voor een mooie afscheiding van de componenten. Daarom had bedacht dat we in de doos verschillende etages zouden maken zodat we de componenten mooi kunnen monteren. Dit leek mij toen de beste manier om de componenten in de doos te monteren.

Wat ik hierboven vertelde is te zien in foto’s hieronder:

Nadat ik op maandag 20 december de doos had gemaakt door middel van de lasersnijder. Het lasersnijden ging redelijk snel, het was binnen 5 minuten al klaar.

Toen de doos uitgesneden was, werd het tijd om de doos in elkaar te zetten. Bij het stadslab kon ik gebruik maken van hun lijmpistool waardoor ik snel de doos kon vast lijmen.

Nadat de doos gelijmd was hadden we als team besloten om de doos toch anders te monteren. Dit was jammer voor mij maar om het project sneller te laten verlopen waardoor we niet veel tijd hoeven te besteden aan het monteren van de uitgedachte etages was voor mij toch een reden om in te stemmen met mijn team. We hadden het de keuze gemaakt om de doos als volgt te monteren op de bestuurbare auto.

 

Tenslotte hoefden we alleen nog extra gaten te maken in de doos te boren zodat we de usb kabel in de doos kunnen laten passen (de kabel loopt van de raspberry naar de arduino waardoor ze met elkaar kunnen communiceren en het functioneert voor de stroom toevoer van de arduino) . Ook hadden we twee gaten aan de voorkant van de doos gemaakt waardoor we in de toekomst de infrarood lampjes van stroom kunnen voorzien. Als laatste had ik nog aan de onderkant van de doos een gat gemaakt waardoor de kabels van de breadboard schakeling aangesloten kunnen worden.

De interface bestuurbaar maken vanaf keyboard

Ik heb vanmorgen de interface bestuurbaar gemaakt vanaf het toetsenbord. Hierdoor kunnen we straks snel de toets-codes omzetten naar die van de controller of het stuur, waardoor de demo bestuurbaar is vanaf het stuur!

Je kan nu het menu open/sluiten, hier doorheen navigeren en items selecteren d.m.v. het toetsenbord. Straks hoeft onze gebruiker zijn handen dus niet meer van het stuur af te halen, wat de verkeersveiligheid ten goede komt. Ons systeem is dan nog makkelijker te bedienen, en dit kan ook gemakkelijk worden bijgevoegd in bestaande autosturen. Deze bevatten tegenwoordig al knoppen om de radio of navigatie mee te besturen.

Oplevering sprint 5

Waar hebben we aan gewerkt?

Als gebruiker wil ik realtime informatie van mijn auto op mijn scherm kunnen zien, zodat ik altijd weet hoe mijn systeem ervoor staat.

Als gebruiker wil ik vanaf mijn stuur het systeem kunnen besturen, zodat ik zonder afleiding de controle houdt over het systeem.

Deze user stories hebben we technisch uitgewerkt, we hebben deze sprint het volgende bereikt:

  • Het aansturen van de auto vanaf de demo-interface.
  • Het versturen van informatie naar de computer van de auto.
  • Het ontvangen van informatie van de computer van de auto.
  • Het uitlezen van het Xbox stuur.

We hebben de laatste communicatie-schakel hiermee afgerond; het is nu mogelijk om vanaf de client (de demo), een realtime verbinding te hebben met de auto (de server).

We hebben de demo-interface namelijk als Node-server gehost op de Raspberry. Elk apparaat binnen hetzelfde internet-netwerk kan hiermee verbinding maken. De camera-feed wordt hier ook ingeladen.

De auto wordt aangestuurd door een Arduino. Deze staat via de seriële (USB) poort in verbinding met de Raspberry. Dus net zoals dit normaal via een PC gaat, maar nu via de Raspberry. De Node server kan deze poort direct aansturen, waardoor we geen Python scripts meer nodig hebben. Op deze manier hebben we het aantal tussenstappen in de schakeling teruggebracht, waardoor de signalen sneller verwerkt worden.

De interactie-laag in de deelproducten mist nog wel. We hebben ons gericht op het technisch werkend krijgen van de producten. We hebben wel concrete vervolgstappen voor komende sprint, waardoor we dit snel op kunnen pakken en af kunnen maken:

  • Het koppelen van knoppen uit de interface aan de output van de demo.
  • Het luisteren naar de input van het stuur, en dit als output versturen.

Het stuur en de pedalen zullen leidend worden in (de input van) de interface, het wordt dus heel tangible. Hiermee kunnen straks de lampen, richting en snelheid worden bestuurd. Ook kunnen we de interface realtime informatie van de auto en bijv. snelheid laten tonen, en met de knoppen op het stuur hier door navigeren.

Planning voor sprint 6

Tijdens sprint 5 hebben wij veel vooruitgang geboekt op technisch gebied. Door in de console een toets in te drukken kunnen wij de motoren van de auto aansturen. We moeten dit nog aanpassen zodat er geen console geopend hoeft te worden en de gebruiker direct de auto kan besturen, maar dit zal geen probleem vormen. Hiervoor hoeven we alleen een aantal functies aan te maken die de toetsen afvangen en vervolgens een signaal sturen naar de raspberry (die vervolgens weer een signaal stuurt naar de arduino om de motoren aan te sturen).

Wij kunnen inmiddels ook de signalen van het xbox-stuur afvangen, de volgende stap is om deze signalen vervolgens om te zetten naar de toetsen die de motoren zullen aansturen. Wanneer dit toegevoegd is, is de auto volledig bestuurbaar vanaf de interface die wij gemaakt hebben.

Wij zullen tijdens sprint 6 ook een begin gaan maken aan de behuizing van de auto, zodat de arduino en de raspberry goed weggewerkt kunnen worden. Wij willen dit waarschijnlijk gaan ontwerpen via www.makercase.com en vervolgens gaan uitsnijden in het stadslab met de lasersnijder. Wel moeten we hier goed rekening houden met het gewicht van de behuizing omdat de arduino motoren niet heel krachtig zijn.