Terugslag simuleren voor Virtual Reality

In de zomer van 2017 heb ik voor de VR Arcade Amsterdam een prototype gemaakt van een “terugslag simulator”: een nepgeweer waarin je de terugslag van (virtuele) kogels wel voelt. Waarom zou je dat maken?

 

In de VR Arcade Amsterdam kun je in een zaal van 200 m2 vrij rondlopen met een VR bril op. “Gewapend met een rugzak een VR bril en een gun is het aan jou en je team om elkaar te redden van de Apocalypse. Wees tactisch werk samen en versla de zombies.?”

 

Met een VR bril op vrij rondlopen en met een “echt” geweer in je handen is deze ervaring natuurlijk zeer realistisch – en een van de weinige dingen die dan nog ontbreekt is de terugslag van het geweer. Maar hoe maak je dat, en hoe zorg je dat het niet teveel weegt, geen raar geluid maakt en ook draadloos is?

Wat is mijn bijdrage?

Omdat elke telefoon en veel game controllers kunnen trillen, lijkt het misschien niet moeilijk om terugslag in een nepgeweer te simuleren. Maar zomaar een beetje “rumble” aan een plastic geweer toevoegen is niet genoeg, als je de VR-ervaring nog beter wil maken.

Als je gaat uitrekenen hoeveel kracht (impuls) een afgevuurde kogel als terugslag geeft, dan realiseer je je dat dat veel meer is dan het gemiddelde motortje in een controller kan leveren. Dus de eisen waren ongeveer zo:

 

  • De gesimuleerde terugslag moet zo echt mogelijk (= krachtig) zijn
  • de krachtbron (batterij) moet in het geweer zitten
  • maar het geweer mag niet te zwaar worden
  • en de motor mag geen  “rare” (niet-passende) geluiden maken.
  • De verbinding met de VR-computer moet liefst draadloos zijn
  • snel genoeg om automatisch geweervuur te simuleren
  • en de communicatie moet twee kanten op gaan (van geweer naar computer en omgekeerd).

Bovendien moet de batterij een paar uur meegaan, de installatie als geheel moet robuust zijn en natuurlijk moet het geheel niet duurder dan nodig zijn.

Is dat allemaal mogelijk? Ja ik denk het wel!

 

We gebruiken een krachtige solenoïde als hart van het systeem. Dat is een elektrische spoel met een beweegbare kern en door er een flinke spanning op te zetten krijgt de kern een zwieper. Een veer zorgt er vervolgens voor dat de kern weer terug beweegt als de spanning verdwijnt. Dit benadert het beste het gedrag van een kogel, maar dan moet de impuls die de kern krijgt liefst zo groot mogelijk zijn. Dat betekent weer dat de kern zo zwaar mogelijk moet zijn, de spoel flink groot en de spanning op de spoel zo hoog mogelijk. Maar ja dan wordt het geweer ook weer zwaarder!

Dit is het globale schema van de applicatie.

 

Het geweer geeft naar de PC door of de speler de trekker overhaalt of herlaadt.Als de speler de trekker overhaalt, maar hij heeft geen kogels meer (volgens de computer want die houdt de toestand bij) dan moet er natuurlijk niks bewegen!

 

Er is dus communicatie naar beide kanten noodzakelijk tussen geweer en de PC. 

Dit was de eerste versie van de hardware voor het geweer. Deze versie had wel het goede gedrag maar bleek veel te licht.

 

Een zwaardere solenoïde (en natuurlijk meer spanning voor de spoel) bleek noodzakelijk. Maar dan moest de elektronica ook weer aangepast worden. Ik gebruikte de Attiny85 als processor en de nRF24L01+ als transceiver (zender plus ontvanger).  Beide zijn goedkoop en met een beetje puzzelen lukt het om het kleine aantal beschikbare pinnen van de Attiny maximaal te benutten.

Waar ben ik het meest trots op?

Het is natuurlijk nog maar een prototype maar ik ben er trots op dat dit geweer in ieder geval beter werkt dan het exemplaar dat ik op Playground VR kon testen van een ander bedrijf …

Type project:

Games

Software

Hardware Prototype

In opdracht van:

VR Arcade Amsterdam (in Groningen)