[David Krum] is associate lab director at the Mixed Reality Lab at the Institute for Creative Technologies at USC. That puts him at the intersection of science and engineering: building cool virtual reality (VR) devices, and using science to figure out what works and what doesn’t. He’s been doing VR since 1998, so he’s seen many cool ideas come and go. His lab was at the center of the modern virtual reality explosion. Come watch his talk and see why!
VR is going to be the next big thing in five to seven years, and with that comes the problem of what the controllers will look like. The Vive and PS Move are probably close to what the first successful consumer VR setup will look like, but there’s plenty of room for experimentation. [ShinyQuagsire] decided to experiment with VR, IMUs, and computer vision and managed to make a VR controller from the ground up.
The design of [Quagsire]’s VR controller is very similar to the PS Move controller: there’s a glowy ball on top of a Wii-nunchuckish controller. There’s a good reason for this design: a sphere projected onto a 2D surface is always a circle. By illuminating a sphere with an IR LED, [Quagsire] can get an OpenCV script to hone in on the controller.
One thing that was particularly hard for [Quagsire] was building the 3D printed controllers. The first hardware revision wasn’t designed for manufacturing on a 3D printer — there were curves everywhere and very few flat areas for bed adhesion. The second hardware revision corrected these problems, but there’s a world of difference between designing a 3D printable part and being able to calibrate and tune a 3D printer. In the end, [Quagsire] sent the files off to 3DHubs to put that whole ordeal behind him.
With the case printed, [Quagsire] filled it with IMU breakouts, buttons, and a tiny joystick. The brains of the controller is a Teensy 3.2 that has plenty of examples of how to transmit gyro data and button presses over serial. With that done, the only thing left to do was to tie everything together.
The controller worked, and [Quagsire] learned a lot in the process. Making VR controllers is hard, even though a lot of the project isn’t the optimal way of doing things. For the next iteration of this project, [Quagsire] might look at wireless, but for now the entire project is up on Github for everyone to take a look at.
VR is an area that is seeing plenty of DIY experimentation, and [FultonX] has an interesting hack of sorts in that he’s discovered something that meshes well with how we perceive motion and movement. It’s an experimental movement system for VR he calls the Ninja Run, and it somewhat resembles skiing.
Even room-scale VR suffers from the fact that the player is more or less stuck in one place. Moving the player from one spot to another isn’t currently a gracefully solved problem, and many existing methods are not immersive or have other drawbacks. One solution in use is a sort of teleportation, another “slides” the player to another area on command (like gliding across ice). [FultonX] found these existing solutions lacking, and prototyped the Ninja Run concept which he found was surprisingly intuitive and effective. Video demo embedded below.
[Florian] has been putting a lot of work into VR controllers that can be used without interfering with a regular mouse + keyboard combination, and his most recent work has opened the door to successfully emulating a Vive VR controller in Steam VR. He uses Arduino-based custom hardware on the hand, a Leap Motion controller, and fuses the data in software.
We’ve seen [Florian]’s work before in successfully combining a Leap Motion with additional hardware sensors. The idea is to compensate for the fact that the Leap Motion sensor is not very good at detecting some types of movement, such as tilting a fist towards or away from yourself — a movement similar to aiming a gun up or down. At the same time, an important goal is for any added hardware to leave fingers and hands free.
You could have said this at any time in the last couple of decades: the world of virtual reality peripherals does not yet feel as though it has fulfilled its potential. From the Amiga-powered Virtuality headsets and nausea-inducing Nintendo Virtual Boy of the 1990s to today’s crop of advanced headsets and peripherals, there has always been a sense that we’re not quite there yet. Moments at which the shortcomings of the hardware intrude into the virtual world may be less frequent with the latest products, but still the goal of virtual world immersion seems elusive at times.
One of the more interesting peripherals on the market today is the Leap Motion controller. This is a USB device containing infra-red illumination and cameras which provide enough resolution for its software to accurately calculate the position of a user’s hands and fingers in three-dimensional space. This ability to track finger movement gives it the function of a controller for really complex interactions with and manipulations of objects in virtual worlds.
Even the Leap Motion has its shortcomings though, moments at which it ceases to be able to track. Rotating your hand, as you might for instance when aiming a virtual in-game weapon, confuses it. This led [Florian Maurer] to seek his own solution, and he’s come up with a hand peripheral containing a rotation sensor.
Inspired by a movie prop from the film Ender’s Game, it is a 3D-printed device that clips onto the palm of his hand between thumb and index finger. It contains both an Arduino Pro Micro and a bno055 rotation sensor, plus a couple of buttons for in-game actions such as triggers. It solves the problem with the Leap Motion’s rotation detection, and does not impede hand movement so much that he can’t also use his keyboard and mouse while wearing it. Sadly he does not yet seem to have posted any code, but he does treat us to a video demonstration which we’ve posted below the break.
[Florian] wants to browse the web like an internet cowboy from a cyberpunk novel. Unfortunately, VR controllers are great for games but really incapacitate a hand for typing. A new input method was needed, one that would free his fingers for typing, but still give his hands detailed input into the virtual world.
Since VR goggles have… hopefully… already reached peak ridiculousness, his first idea was to glue a Leap Motion controller to the front of it. It couldn’t look any sillier after all. The Leap controller was designed to track hands, and when combined with the IMU built into the VR contraption, did a pretty good job of putting his hands into the world. Unfortunately, the primary gesture used for a “click” was only registering 80% of the time.
The gesture in question is a pinching motion, pushing the thumb and middle finger together. He couldn’t involve a big button without incapacitating his hands for typing. It took a few iterations, but he arrived at a compact ring design with a momentary switch on it. This is connected to an Arduino on his wrist, but was out of the way enough to allow him to type.
It’s yet another development marching us to usable VR. We personally can’t wait until we can use some technology straight out of Stephenson or Gibson novel.
Microsoft Bob was revolutionary. Normally you’d hear a phrase like that coming from an idiot blogger, but in this case a good argument could be made. Bob threw away the ‘files’ and ‘folders’ paradigm for the very beginnings of virtual reality. The word processor was just sitting down at a desk and writing a letter. Your Rolodex was a Rolodex. All abstractions are removed, and you’re closer than ever to living in your computer. If Microsoft Bob was released today, with multiple users interacting with each other in a virtual environment, it would be too far ahead of it’s time. It would be William Gibson’s most visible heir, instead of Melinda Gates’ only failure. Imagine a cyberpunk world that isn’t a dystopia, and your mind will turn to Microsoft Bob.
Not everyone will laugh at the above paragraph. Indeed, some people are trying to make the idea of a gigantic, virtual, 3D space populated by real people a reality. For the last few years, [alusion] has been working on Metaverse Lab as an experiment in 3D scanning, virtual web browsers, and turning interconnected 3D spaces into habitats for technonauts. The name comes from Snow Crash, and over the past twenty years, a number of projects have popped up to replicate this convergence of the digital and physical. By integrating this idea with the latest VR headsets, Metaverse Lab is the the closest thing I’ve ever seen to the dream of awesome 80s sci-fi.
I’ve actually had the experience of using and interacting with Metaverse Lab on a few occasions. The only way to describe it is as what someone would expect the Internet would be if their only exposure to technology was viewing the 1992 film Lawnmower Man. It works, though, as a completely virtual environment where potential is apparent, and the human mind is not limited by its physical embodiment.