Virtual Reality Bike

Ontwikkelaars

Op deze pagina kan u alle informatie van ons project terugvinden.
Dit project werd gerealiseerd door Gijs Verjans en Bram Capana.




Virtual Reality Bike

Voorwoord

Binnen het kader van onze opleiding Industriële ICT aan het Provinciaal Instituut Lommel, hebben wij een ontwerp gemaakt voor een interactieve hometrainer, waarmee de gebruiker een game kan spelen, gestuurd door de beweging van de hometrainer. Deze hometrainer staat ook nog eens in verbinding met een database voor de onderzoekers om de gegevens uit te lezen.
Bij de uitvoering van het project zouden wij graag enkele mensen willen bedanken voor de begeleiding en ondersteuning in dit project gedurende het schooljaar.

Als eerste zouden wij graag dhr. F. Meyers willen bedanken voor al zijn hulp bij het ontwerpen en programmeren van het project, ook voor de ondersteuning die hij heeft aangeboden waar dit nodig was en ook voor het idee te ontwerpen.

Graag zouden wij ook dhr. C. Gratessolle willen bedanken voor de hulp die hij ons heeft aangeboden bij het programmeren van de database en de game.

Daarnaast zouden we ook graag dhr. B. Vervoort willen bedanken voor de ondersteuning en de realisatie van de controller in verband met Inventor, AutoCAD DXF en het bedienen van de laser voor het snijden van de onderdelen.

Ook zouden wij ook nog de mensen van Memoride willen bedanken, dhr. G. Haekens en dhr. B. Vaes voor de extra informatie die zij ons hebben gegeven over de technieken die zij gebruiken in hun gelijkaardig project.

Verder zouden wij ook nog zorgpark de Bekelaar willen bedanken voor te reageren op onze vraag voor een samenwerking. Helaas is deze niet kunnen doorgaan vanwege het covid-19 virus.

Graag zouden wij ook nog dhr. J. Knevels willen bedanken voor de ondersteuning in het schrijven van deze bundel.

Ook zouden wij nog de mensen van “Limburg STEM’t Af” willen bedanken voor het organiseren van hun project waar wij met veel plezier in hebben deelgenomen.

Tenslotte zouden wij ook nog graag de directie van de school willen bedanken die altijd voor ons klaar stonden als wij iets nodig of gedaan moesten krijgen in ons project.

Virtual Reality Bike

Inleiding

saaspik

Game
Development

De virtual reality bike is een interactieve methode om oudere mensen te stimuleren om terug meer te gaan bewegen. Hiervoor gaan we een hometrainer gebruiken die gelinkt is aan een game waarbij de snelheid en intensiteit van belang is. Het toestel helpt zowel de fysieke als mentale staat van de gebruikers, zoals onder andere op sociaal vlak, spieronderhoud en conditionele toestand.
Het is voor onszelf een grote uitdaging om te leren werken met “game development” en databases, alsook voor ons om een heel nieuwe soort sensor uit te leren lezen en programmeren.

Limburg
STEM’t Af

We hebben het idee gekregen van “Limburg STEM’t Af”, via dhr. F. Meyers. Later zijn we erachter gekomen dat het idee veel weg had van het idee van Memoride, die ook een hometrainer gebruiken om door de straten van Google Maps te fietsen. Aangezien we niet zomaar hetzelfde project kunnen namaken moest er een extra uitdaging aan vast zitten.

saaspik
saaspik

Gebruiksvriendelijk
ontwerp

Bij het systeem van Memoride wordt het deels bestuurd met een tablet, aangezien dit moeilijk is voor ouderen om met nieuwe technologie te werken hebben wij een controller ontworpen met grote drukknoppen en joystick die wordt gebruikt bij de bediening van het menu waar je de moeilijk en effecten kan kiezen.

Beperkte
budgetten

Het originele idee was om de oudere ook door de straten van Google Maps te laten rijden en ze te motiveren. Aangezien Google te veel geld vraagt voor de mappen te gebruiken gaan wij dit anders doen. Wij gaan dit realiseren met de game waarbij foto’s eerst onzichtbaar of slecht zichtbaar zijn en door te trappen gaan er effecten zich voordoen waardoor deze steeds beter zichtbaar worden.
We leren hopelijk ook een aantal nieuwe programmeertalen en nieuwe programmeer vaardigheden bij in verband met sensoren en de game

saaspik

Virtual reality bike

Probleemstelling

Via het project “Limburg STEM’t Af”, kwam de vraag om een project te bedenken dat gebruikt kan worden in de zorgwereld. dhr. F. Meyers had dan samen met een paar vrienden vanuit de zorgwereld het idee bedacht van de virtual reality bike.

Memoride, een gespecialiseerd bedrijf met een gelijkaardig project als dat van ons, heeft hier al eerder een toepassing voor bedacht, namelijk een virtual reality bike. Het systeem werkt uitstekend voor de oudere generatie. Het enige nadeel is dat ze het systeem laten besturen door middel van een tablet.

De oudere generatie is deze technologie niet gewend. Dus is het voor ons nog een extra uitdaging om een controller te maken bestaande uit een joystick en 4 lichtgevende knoppen, die gebruikt zal worden voor het selecteren van levels, effecten en foto’s.

We gaan een hometrainer gebruiken als gebruikstoestel die gekoppeld is aan een controller, laptop, sensor en database. De kinesist kan de data bijhouden en eventuele progressie zien. Allereerst zullen de mensen met behulp van de controller een lijst met foto’s moeten kiezen, daarna een effect en ten slotte een moeilijkheidsgraad.

Wanneer ze aan het fietsen zijn, zal de data worden doorgestuurd naar de sensor. Deze zorgt ervoor dat de gekozen effecten zich gaan voordoen bij de foto’s als motivatie. Ook zal de sensor alle data doorsturen naar een onlinedatabase. Deze worden via deze weg ook direct naar de kinesist doorgegeven.

Wij hebben hier als beweging ook voor een fiets gekozen omdat dit nog steeds de minst belastende manier is om te bewegen, de gebruiker kan hier zitten en zich nog vasthouden aan het stuur.

Het doel van ons eindwerk is om de bewoners van een rusthuis te motiveren om weer of meer te bewegen. Het voordeel aan ons toestel is dat het in verbinding staat met een database. Dus de verpleegkundige of kinesist kan zien als iemand niet veel beweegt en kan hem dan motiveren om eens op de hometrainer te stappen. Wij gaan er ook een controller in verwerken waarmee het menu van de game bediend kan worden. Het doel van de controller is het vereenvoudigen van de bediening, aangezien de oudere generatie misschien niet goed overweg kan met een tablet. Daardoor wordt ons systeem makkelijker om te bedienen.

saaspik

Virtual Reality Bike

Hardware

saaspik

Blokschema

Op de afbeelding hierlangs kan u het blokschema van onze Virtual Reality Bike terugvinden.

Arduino

Uno

We hebben de Arduino UNO eerst gebruikt om de werking van de Arduino te leren kennen. We hebben een aantal oefenprogramma’s gemaakt om een joystick een aantal LED’s te laten aansturen. Om een makkelijke besturing te maken voor de controller wilden we deze laten gebruiken als toetsenbord. Bij deze opdracht kwamen we bij een probleem, de UNO is niet compatibel met de benodigde bibliotheken. Dus zijn we overgestapt naar de Arduino LEONARDO.

Leonardo

Naar aanleiding van de vorige probleemstelling zijn we overgestapt naar de Arduino LEONARDO. Deze is wel compatibel met de benodigde bibliotheken en kunnen we dus gebruiken voor het aansturen van de controller. De sensoren zullen ook worden aangesloten aan de Arduino en zullen zo worden uitgelezen.

saaspik
saaspik

Database

Een database is een online archief of databank voor gegevens. Wij gaan een database bouwen om alle gegevens van de mensen en progressie van het fietsen bij te houden. Zo kunnen de verpleegkundigen of kinesist bijhouden wie er hoeveel heeft gefietst.

Sensoren

iBeacon (AKMW-iB002M)

De iBeacon was een van de belangrijkste elementen in ons systeem. Alles is afhankelijk van dit onderdeel. De gegevens worden via dit apparaat doorgegeven aan de tablet, de database en de game. We hebben deze sensor als aanrader gekregen van Memoride, aangezien zij deze ook gebruiken. Deze sensor was voor ons bij nader inzien te hoog gegrepen in verband met gebrek aan softwarekennis en ongekende vaardigheden.

PIR-motion sensor (RPI HC-SR501)

De PIR-motion sensor gaan wij gebruiken om de beweging van de fiets vast te stellen. De manier waarop deze sensor werkt is met infrarood licht dat een signal stuurt naar de Arduino als er een beweging wordt gedetecteerd. Wanneer er geen beweging wordt gedetecteerd, zullen de effecten van het spel ook stoppen tot dat de fietser weer begint met trappen.

Accelerometer (DEBO SENS 3AXISH)

Deze sensor heeft veel eigenschappen zoals, versnelling, licht intensiteit, beweging detectie, … Wij gaan hem gebruiken om te kijken hoe snel de fietser trapt tijdens zijn rit. Wanneer de fietser met voldoende snelheid blijft trappen zullen de effecten blijven doorgaan, als dit niet het geval is dan zullen deze ook stoppen.

We hebben na nader inzien toch gekozen voor de PIR-motion sensor aangezien deze veel makkelijker uit te lezen was en minder ingangen op de Arduino in nam.

saaspik
saaspik

Hometrainer

Het is de bedoeling dat we via de hometrainer beweging laten detecteren door middel van de PIR-sensor. De mensen zullen de hometrainer gaan gebruiken en ten gevolge van de snelheid en intensiteit van het gebruik gaat de game zich aanpassen door middel van effecten te veranderen en aanpassingen in snelheid.

Draaiknop

We waren eerst van plan om een draaiknop ontwikkelen om het makkelijker te maken voor de mensen om de game opties in te stellen. De reden hiervoor is dat het gebruik van een tablet voor de meesten ouderen wat te hoog gegrepen is.

Het principe van de knop is dat deze met tikjes gaat bewegen om te kiezen tussen de opties en wanneer deze wordt ingedrukt gaat de optie die op dat moment aangeduid is geselecteerd worden.

Helaas is dit idee weg gelaten aangezien we hierover geen goede en informatieve informatie konden vinden.

saaspik
saaspik

Controller

We hebben een ontwerp gemaakt voor een controller waarmee de mensen hun effecten en moeilijkheidsgraad mee kunnen instellen en foto’s kunnen kiezen voor de fietsrit. De controller gaat worden gelaserd uit hout en zal bestuurd worden door een Arduino. Het ontwerp is gemaakt om 4 knoppen te kunnen plaatsen en 1 joystick.

De joystick is vooral voor het kiezen van bijvoorbeeld een login. De knoppen hebben de kleuren van de opties waar de gebruiker uit kan kiezen.

Het is gebaseerd op een oude arcade besturing. We hebben de knoppen de kleuren rood, blauw, groen en geel gegeven, omdat uit onderzoek is gebleken dat oudere mensen worden aangetrokken door deze kleuren.

Besturingstablet

De tablet gaat dienen om de game op af te spelen. Dit is dus eigenlijk het besturingssysteem van de game. We gaan een tablet gebruiken met een Android besturingssysteem omdat wij Android studio gebruiken om de game te programmeren. Uiteindelijk hebben we de tablet toch niet nodig omdat we alles gaan laten aansturen door een laptop.

saaspik
saaspik

Game controller

Google Chromecast

We gaan een Google Chromecast gebruiken om de mobiele game door te casten van de tablet naar de beamer zodat de mensen een groot duidelijk beeld krijgen tijdens het gebruik en dus ook de foto’s dus duidelijk en groot kunnen zien. Uiteindelijk hebben we de tablet toch niet nodig omdat we alles gaan laten aansturen door een laptop.

Beamer

De beamer gaat ervoor zorgen dat er beeld wordt geprojecteerd. De gegevens worden doorgestuurd vanaf de Chromecast die verbonden is met de tablet die de game achterliggend afspeelt. Uiteindelijk hebben we de tablet toch niet nodig omdat we alles gaan laten aansturen door een laptop.

Virtual Reality Bike

Software

feature

HTML

HTML is een programmeertaal die standaard gebruikt wordt voor het opmaken van webpagina’s. HTML is een front-end programmeertaal. Dit wil zeggen dat het alles wat je programmeert in deze taal te maken heeft met hoe het eruit ziet voor de gebruiker.

feature

JavaScript

JavaScript is een scripttaal die veel wordt gebruikt in het interactief maken van webpagina’s. Wij gaan JavaScript gebruiken voor het opbouwen van de database die online beschikbaar gaat zijn als webpagina.

feature

SQL

SQL is een standaardtaal bij relationele databasesystemen. Met deze taal kan je gegevens bevragen en aanpassen in de database. SQL kan met bijna alle moderne relationele databases gebruikt worden. Wij gebruiken SQL bij het maken van de inlog-pagina en het oproepen van de foto’s.

feature

PHP

PHP is een scripttaal die wordt gebruikt om op webservers dynamische webpagina’s te maken.

feature

CSS

CSS zijn stijlbladen die worden gebruikt om het html-bestand overzichtelijker te houden. Alle styling van de webpagina staat nu in het CSS-bestand.

feature

Bootstrap

Bootstrap is een CSS library die wij gebruiken in het stijlen van een html pagina. Wij gaan “Bootstrap” gebruiken bij de opmaak van de game. Wij gebruiken “Bootstrap” omdat het zeer gebruiksvriendelijk is en het is ook sneller dan de CSS-code zelf te schrijven.

Code

Je kan de volledige code terugvinden op onze GitHub pagina. Druk op de knop hieronder om naar deze pagina te gaan.

saaspik leaf
saaspik leaf
saaspik
saaspik

Virtual Reality Bike

Planning

Virtual Reality Bike

The Game

Voor de visualisatie van de beweging van de fiets hebben we zelf een game ontworpen. In de deze game word met de trapbeweging een foto steeds meer zichtbaar. Wij hebben hier gekozen voor 2 effecten, een puzzeleffect en een vervagingseffect. We hebben hier ook nog een “progress-bar” in gestoken om het extra visueel te maken. Het menu van de game zelf bestaat uit 3 pagina’s: een loginpagina, een effectenpagina en een moeilijkheidspagina.

Het puzzeleffect werkt met behulp van een aantal witte “dif”-vakjes die over de foto staan. Met elke druk op de spatiebalk(=trapbeweging) gaan de vakjes langzaamaan weg.

Het vervagingeffect werkt met “opacity”. Bij elke druk op de spatiebalk(=trapbeweging) wordt de “opacity” van de foto iets meer, tot hij een waarde heeft van 1 en dan volledig zichtbaar is.

We hadden in het begin het idee om te gaan werken met nog een derde effect waarbij er confetti over de foto stond en die dan langzaam aan werd “weggeblazen”. Dit idee hebben we laten vallen omdat zeer moeilijk te maken is en daar nog te veel tijd zou inkruipen.

Op de loginpagina staan de foto’s van de gebruikers. Hier kan de gebruiker met behulp van de controller zijn foto selecteren. Daarna gaat hij door naar de effectenpagina.

Op de effectenpagina kan de gebruiker kiezen welk effect hij wil gebruiken voor het zichtbaar laten worden van de foto. Je hebt hier de keuze uit Puzzel of Vervaging.

Op de Moeilijkheidspagina kan de gebruiker zijn moeilijkheid kiezen. Er zijn hier 3 opties: Zondagsfietser, Coureur en Tour de France. De moeilijkheid bepaalt hoeveel keer je moet rondfietsen voordat de foto zichtbaar is.

Op deze pagina kan de gebruiker eigen foto’s uploaden om te gebruiken in de game.

Op deze pagina kan de gebruiker zijn of haar prestaties bekijken. Hier kan hij zien hoeveel hij welk effect en welke moeilijkheid heeft gespeeld en hij kan zijn beste tijden op de levels bekijken

Virtual Reality Bike

Besluit

Vorig schooljaar kwam dhr. Meyers op het idee om als geïntegreerde proef (gip) voor ons een “Virtual reality bike” te maken. Dit project ging in samenwerking zijn met nog andere klassen en een grotere organisatie. Daar zouden wij ons idee ook gaan voorstellen. Wij waren meteen geïnteresseerd.

De zomervakantie ging voorbij en we begonnen na te denken over ideeën. Er kwamen veel wilde ideeën zoals werken met echte VR, Google Maps “fietsen”, verschillende sporten erin verwerken,….

We hebben in de eerste periode vooral veel opzoekwerk gedaan maar nog niet veel uitgewerkt. We hebben ook al eens samen gezeten met Lars en Vincent van 6SPW, vervolgens is er een samenwerking met hen opgestart voor ons eindwerk. 6SPW deed het hele theoretische onderzoek terwijl wij van ICT het project gingen uitwerken. We zijn in deze eerste periode ook ons idee gaan voorstellen aan “Limburg STEM’t Af” samen met Lars en Vincent van SPW. Daar zijn we meer te weten gekomen over hoe je zo een idee goed kan opbouwen en demonstreren. Op deze dag hebben we ook Geert van de firma Memoride ontmoet die ons zou begeleiden bij ons eindwerk. Na die presentatie zijn we ons idee gaan proberen uit te werken. De firma Memoride had ons aangeraden om de “ibeacon” sensor te gebruiken. Na heel wat testen hadden we dan toch een manier gevonden om op onze gsm een signaal te krijgen van de “ibeacon”. Ook kregen we het idee om met een tablet te werken en in “android studio” het programma op te bouwen. Aangezien het voor ouderen niet altijd zo eenvoudig is om te werken met een tablet hebben wij een controller ontworpen en ontwikkeld om de game te besturen. Ons idee was om te werken met een draai/duw knop.

Tijdens de gip-dagen waren we van plan om al veel uit te testen, maar dhr. Gratessolle vond dat de manier waarop wij aan het werken waren te hoog gegrepen was. Dus moesten wij ons plan gaan veranderen. Het nieuwe idee was om het programma “webbased” op te bouwen en dan een “Arduino” te gebruiken om onze sensor en controller aan te sturen.

Op de tweede gip-dag gingen we dus opnieuw aan de slag. Gijs begon met het opbouwen van een website terwijl Bram begon met het zoeken hoe wij zelf een controller zouden kunnen ontwerpen en deze konden aansturen met een Arduino.

Na de kerstvakantie ging Gijs verder met het uitwerken van de game, terwijl Bram zich bezig hield met de aansturing. We hadden nu een concreet idee uitgewerkt wat we wilden doen met de game. We hadden nog het idee om te werken met een “confetti effect” in de game, maar dit hadden we laten vallen aangezien dit zeer moeilijk was om te realiseren.

Nu was het ook tijd om te bekijken wat we juist wilden doen met onze controller en sensor. De “ibeacon” werkte niet helemaal zoals we echt wilden, dus hadden we 2 nieuwe sensoren besteld, een “pir-sensor” en een “accelerometer”. Na een aantal testen hadden we besloten om de “pir-sensor” te gebruiken. Voor de controller waren we ook volledig afgeweken van het originele idee. Hier zijn we nu gaan werken met 4 grote gekleurde “arcade knoppen en joystick”. Op het einde van deze gip-periode kwam het Covid-19 virus en moesten wij ineens verder werken van thuis uit. Dit was niet zo simpel, aangezien we niet meer zo makkelijk vragen konden stellen en ook geen materiaal meer konden bij bestellen of maken.

We kregen wel meteen bericht van de leerkrachten van wat zij nog verwachten van ons in deze laatste periode. Na een tijdje zelfstandig door te werken was het weer paasvakantie en ging de laatste gip-periode beginnen.

Het was nog steeds vooral zelfstandig werken. Gijs was bezig met het ontwerpen van een “loginpagina” en de lay-out mooi uit te werken, terwijl Bram zich bezig hield met het ontwerpen van een “uploadzone” voor de gebruiker waar hij zijn eigen foto’s kon uploaden voor de game. Toen we terug naar school mochten, was het tijd om alles uit te testen en alles aan de fiets te monteren. Bij het testen waren er wel nog wat problemen met de controller die we dan nog hebben opgelost. Nadat alles mooi gemonteerd was, was ons eindwerk dan eindelijk af. Het idee was om deze te gaan testen in een woon-zorgcenter, maar dit is ook niet meer kunnen gebeuren vanwege het virus.

Wij hebben genoten van dit project en er veel van geleerd. Er zaten wel wat moeilijkheden in , maar we hebben ons er toch doorheen kunnen werken. Dit was natuurlijk nooit gelukt zonder alle ondersteuning die wij hebben gekregen.

Bij deze willen wij dan ook iedereen nog eens hartelijk bedanken. Zonder hen hadden wij dit project nooit tot zo een mooi resultaat kunnen brengen.