Quantcast
Channel: Intel Developer Zone Articles
Viewing all articles
Browse latest Browse all 3384

Vitruvian Game Wingsuit—VR Automation

$
0
0

Abstract

Through virtual reality and an electronically controlled mechanism, the wingsuit flight simulator calls to mind the Vitruvian Man of Leonardo da Vinci. The user controls the flight with a joystick and wears a backpack that wirelessly (thanks to the battery) creates virtual reality. You can fly anywhere for a unique experience. The engines, in full security, allow the person to move like a gyroscope.

Introduction

The project puts together multiple technologies and allows the player to control the simulation. It is the first Virtual Reality (VR) game prototype in which the person is not only a spectator but also can control the joystick with automation, thus simulating the movement that turns the display into increased reality.

The layout reminds us of the great drawing by Leonardo Da Vinci, who for us is one of the first makers of the modern age.

Areas of Expertise

Virtual Reality

We used the backpack with HTC Vive*. We created a VR application in Unity* that simulates flying over a city. The 3D mapping is connected on the Internet and you can choose the Global Positioning System (GPS) starting point coordinates.

Iron Construction—Made in Italy

We designed a tailor-made iron structure that is representative of the circle surrounding the Vitruvian Man, a ring inside an outer ring. A person can board the three-meter tall construction to experience the application.

3D Simulation

Before construction, we used computer-aided design to simulate and calculate fabrication tasks, and draw components such as the pin joints and motor couplings with precision.

 

 

Programs and Technologies Used

Virtual Reality

HardwareSoftwareNote
MSI* Backpack VR ONE
HTC Vive* full pack
Windows® 10 operating system
Steam* VR
Unity* software
Microsoft Visual Studio*
WRLD 3D* App
Tried to use Google HEART* but no VR API is available.

Automation

HardwareSoftwareNote
2 Brushless motors
2 Gear reducers
1 Programmable logic controller (PLC)
1 Double driver
Automation Studio*
C language
For safety, we set limits on speed, acceleration, deceleration, and angular position.

Internet of Things

HardwareSoftwareNote
2 Normal joysticks
2 TinyTILE*
Arduino*One board controls the PLC automation; one board controls the LED light with accelerometer and gyroscope.

3D Simulation and Precision

HardwareSoftwareNote
Mac*
Computer numerical control  (CNC) Machine
Rhinoceros* 

Application in Unity*

We made a prototype of a wingsuit simulator using HTC Vive to simulate flight in a city-like environment. We used Unity with the Steam* VR software development kit to control the Vive controller and camera head.

To simulate the movement of a character in space, we created a script that uses Euler angles and the vector of the controllers’ direction to go up, down, left, and right.

The large terrain size posed environment generation problems. We used a map generator called WRLD 3D*. It needs an Internet connection and creates a cartoon-style map of the world in run time, so you can fly above New York or London, or wherever you want, without any limits.

The other difficult thing was attaching the controllers to the Vitruvian structure so that they would move correctly. By the way, after many attempts we found a solution for attaching the inner ring near the border, in the middle. It’s like having controllers in your hands.

IoT—Gamer Control with TinyTILE*

With TinyTILE* we connected the joysticks by converting the directions into input signals on the PLC engine and programmed it with Arduino*. For safety issues, the motors are controlled only through the joystick drive.

Through a second card, we used the accelerometer and the gyro, and we connected the LEDs to visually show the inclination of the person.

It was not very complicated to create the code with Arduino. The complexity was in the conversion logic between the joystick and PLC input. The player can set four positions (up, down, right, left) for each joystick for 16 combinations, while the engines have three maneuver options (forward, back, and hold).

We then mapped the joystick positions by converting engine combinations.

There are eight inputs in the TinyTILE (four pins for each joystick) and six outputs that connect to the PLC.

Automation (Software and Motors)

We’ve automated the two rings independently with two engines. This was the most expensive investment. We chose a brushless technology with high performance and manageability through a PLC.

When it comes to people, security is the first step, and we have therefore limited the range of maneuverability to avoid creating discomfort for people who lose control.

  • The software stops the person at most at 90 degrees. You can not go upside down Soft acceleration and deceleration
  • STOP: We created the simulator lock condition
  • EMERGENCY: We have built an emergency button that allows the person to always return to the initial position.

Motor Technical Information

  • Synchronous motor
  • Number of pole pairs: four pairs
  • Nominal speed: 3000 rpm
  • Stall torque: 2.300 Nm
  • No brake
  • Smooth shaft
  • Angled hybrid connector (swivel)
  • Center diameter 80 mm
  • j6 fit (self-cooling, construction type A)
  • IP64 protection
  • Without oil seal
  • 560 VDC
  • Brake holding torque: 0.00 Nm
  • DA EnDat single-turn (inductive) 32-line

We choose B&R Perfection in Automation because their engine responsivness is the best!

Photo Album and Videos

Complete VR project photos and videos: goo.gl/1nTtpR

Thanks to:

FabLab Network—Coordinator and event manager, www.fablabnetwork.it.

Busnet it—Developed the control board software and the VR software application.

Mingardo Designer Faber—Daniele is the blacksmith who made the custom rings and iron parts.

Smart Meter (applicative design)—Developed the executive prototype on CAD.

ZB Solution—Supplied our mechanical components.

Daniele Squizzato– automation project 


Viewing all articles
Browse latest Browse all 3384

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>