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.

Voortgang sprint 5

Tijdens de TLE van dinsdag hebben Jeremy en Carlo gewerkt aan de radio bestuurbare auto. De week daarvoor werdt de D/C Motor gemonteerd door middel van een lijm pistol van het stadslab waardoor de aandrijving van de auto wordt geregeld.

Deze week was de servo aan de beurt om gemonteerd te worden. We hebben die week daarvoor nog een kleinere versie van een servovan het stadslab gekregen. Zonder die servo van het stadslab was het onmogelijk voor ons om onze eigen servo aan de auto te monteren. Omdat we de auto weer op moesten breken of zagen om aan ruimte te komen die we nodig hadden voor de montage. Maar nu was dat niet meer nodig en konden we gelijk beginnen met monteren omdat Carlo die week daarvoor de servo al klaar had gemaakt voor de montage. Dit vergde een kleine aanpassing om het opzet stuk van de servo op maat te maken met de aandrijving van de auto.

Dus binnen enkele minuten hadden Jeremy en Carlo de servo door middel van de lijm pistol en wat hout stukjes gemonteerd.

 

Daarna hadden ze ervoor gezorgd dat de Arduino door middel van een paar console commands de auto kan besturen.

Ondertussen was Mathijs bezig met het aan de praat krijgen van een realtime connectie van de website met de Raspberry Pie. Dit had hij opgelost door de website op de Raspberry zelf te laten hosten waardoor de interactie realtime is geworden. Daarna had hij ervoor gezorgd dat je via de host van de website een functie door kan sturen via de developer console wat een reactie geeft. Wanneer dat lukte was het alleen nog maar de Arduino koppelen met de Rasdberry. Omdat we voorheen al hadden gewerkt aan de connectie tussen de Arduino en de Raspberry waren we klaar om de connectie te leggen. Het resultaat is te zien in deze video IMG_3280.