Skip to main content
Up and Coming
August 1, 2014

Walking in VR [Long, Long, Long Post]

I keep finding myself posting really long posts in random threads that start talking about locomotion in VR, so I'm going to make a big post here instead that I can just point to.

Introduction
There are lots of problems to be solved in VR. Perhaps the single most critical problem right now is the question of Input. For the purposes of this thread, I'm going to take it as a given that we need the ability to reserve our hands for doing hand-related things, and not for moving around. That is to say, we're going to need to use our feet or legs to operate the device that will allow us to move around in VR. I've been calling these locomotion devices 'Walkers'.
I should point out that I'm writing this thing for anyone to read. I realise that most of the people here will know what optical-tracking occlusion is, or well-understand the downsides to the Virtuix Omni, but I'm putting it all here just to be thorough.

The Current State of VR Walkers
Most people on this forum will be well-versed on the current state of VR input, but just in case anyone missed a device or two, I'm going to put here a list of all VR Walkers that I'm currently aware of. If I miss any, let me know and I'll add it asap.
In no particular order:
  • The Virtuix Omni
    The first of the harness-style omnidirectional treadmills. A curved, low-friction surface, special shoes, and a weight-removing harness allow the user to convert the natural walking and running motions they use everyday into virtual movement commands.

  • The Cyberith Virtualizer
    Following the Omni's example, the Virtualizer works similarly to the Omni, but allows the user to crouch and jump while remaining in the harness, allows the user to play in socks rather than special shoes, and has a flat surface rather than the Omni's curved one.

  • The Walkmouse
    A large-circular panel inset with many small rollers, this treadmill simulates a moving surface over which the user can walk.

  • The StinkyBoard
    Effectively a four-button gamepad for a single foot, this device allows the user to emulate WASD keyboard events using the feet, and so achieve simple VR locomotion

  • The Wii BalanceBoard
    Not actually a PC peripheral, with some hacking can be used as a lean-controller, allowing the user to move in VR by leaning their body forward, backwards, left and right

  • Stompz
    Implements IMUs on each feet to allow the user to make 'stomping' gestures to move forward, left and right in game

  • Infinideck
    A more traditional-style treadmill that can move in any 2D direction, that the user walks on as they would walk on a normal surface. Unfortunately, must be manually controller by a second person at the time of this writing

  • WizDish
    A low-friction surface that removes the vertical foot-motion component of walking, leaving the user to make skii-ing like gestures to control motion. At the time of this writing, lacks community support and/or funding

  • Free-Walking
    Perhaps the most immersive of them all - the user walks around a physically-large space (like a football field or warehouse), with real walked distance corresponding 1:1 to virtual walked distance

  • LocoVR
    A crowd-sourced project involving what is described as its conceiver as "basically a cross between a small bar stool and a kind of oversized joystick", able to rotate freely and respond to lean from the user to provide locomotion input

  • Pointman
    In use by the US Navy for infantry simulation, the Pointman system is actually a combination of several input devices. One of them is a device comprised of two footpedals able to move forward and backwards, as well as to be pressed down like a car acceleration pedal. At the time of this writing, a handheld controller is required for turning.


Adoption Factors
A critical thing with input devices is the degree of adoption. We obviously want a device that will be used by as many people as possible - this will give developers confidence that they aren't wasting their time by building games that support this hypothetical device, and with more content for the device, adoption will increase further, until the device is largely ubiquitous.
  • Price
    This one is a bit of a no-brainer. The cheaper something is, the more people will buy it. I would say that once the price of a device goes above about $150, it becomes a serious barrier to widespread adoption. Not that the ideal VR walker should necessarily be cheaper than this, but it's a good ballpark figure to go for.

  • Size
    Most people live in cities, meaning most people have very limited living space. That is to say, people tend to be less than impressed if asked to reserve an area the size of a double-bed for a VR input device. So the physical size of the device will be a further barrier to widespread adoption. Ideally, the system will fit onto the user, so it effectively takes up no space in and of itself.

  • Flexibility
    Keep in mind that locomotion in games isn't always human-style walking/running. For example, think of Minecraft with a Virtuix Omni. The Omni would work great while you're running around mining, building and fighting zombies. But if you want to play in creative-mode, suddenly you have this big mismatch between flying around in-game, but making walking and running motions in reality to drive this motion. For a device to become widely-used, it needs to be suited to a wide variety of locomotion applications, not just walking and running


Immersion Factors
So, casting aside questions of what will get the device used, and turning our attention instead to what will make the device great, we need to think about what factors actually influence how suited the device is for VR. That is to say, how immersive is the device to use?
  • Movement similarity
    We all know what walking feels like. We know what the movements are, and how it feels when we perform them. The closer a VR Walker can get to emulating this motion, the more immersive it will be. In this way, devices like the Omni or the Virtualizer are a step-up from solutions like the StinkyBoard or Stompz. The obvious ideal is devices like the WalkMouse or InfiniDeck, the question of whether these solutions are currently realistic remains to be seen.

  • Constraints on movement
    An important thing to consider is the degree to which a VR Walker inhibits our ability to perform actions unrelated to locomotion. For example, the Omni doesn't allow users to bend down, because they're stuck in a harness that has a fixed height off the ground. Both the Omni and the Virtualizer don't allow the user to lower their hands below their waist, since the harness gets in the way. These kinds of movement constraints are non-issues in some games, especially FPS, where the user always has their hands above their waist holding a gun, but significantly annoying in games involving peaceful exploration, where the user is likely to want their hands to rest in their natural position - down by their sides.

  • Strenuousness (Spellcheck agrees with me that this is a real word)
    When we're talking about using natural motion to run around in games, obviously an issue is going to be people getting tired! I personally can't run for much more than 5 minutes before I'm completely wasted. I'm definitely not up to running around for a half-hour gaming session. This isn't only about physical capability - if people are getting tired and cramped while playing, this is an immersion-breaking experience and something to be avoided.


Friction
So that's the groundwork laid out. But the real question is 'what are the constraints under which the creator of a VR Walker must operate?'. The central constraint (if we want to use natural walking/running motion) is friction. More specifically, it's the normal component of friction.
When we walk, we are effectively applying pressure down onto the ground with our weight, and then using friction to use that weight to move us forward. If we want the users to be making the same motions in VR that they make in material reality (MR?), then we need some way of negating this forward motion. There are basically two ways of doing this:
  • Move the ground under the user
    This is the solution that WalkMouse and InfiniDeck are pursuing. This is also the solution that traditional exercise treadmills implement. All you have to do is have a device that the user stands on, and when they move, detect the speed of movement, and move the surface they're standing on in the opposite direction at that speed, negating any physical movement the user might undergo, saving them from crashing into a wall and breaking their precious precious DK2.

  • Remove the frictional force
    This is the solution that the Omni and the Virtualizer are using, and many hypothetical input devices involving suspending the user from harnesses on the ceiling etc. are also operating under this principle.
    This solution typically involves both reducing the normal force (that is, taking the user's weight off the feet so that the feet are effectively suspended), and reducing the coefficient of friction between the feet and the ground (eg. socks on a polished wood floor) so that the feet can easily slide over the surface.

There are advantages and disadvantages to both of these methods. For the following reasons, I'm going to be considering only the second option:
  • Moving the ground under the user requires many moving parts, increasing cost and reducing reliability

  • Ensuring that the dynamic surface behaves exactly as the user would expect a static surface to behave is 100% essential to avoid loss of balance leading to injury, and requires zero latency, which is an engineering challenge not likely to be solved any time soon


So the question now becomes 'how do we take the weight off the feet to allow natural input, without implementing a large mechanism to support a harness that limits the user's natural movement'?
Quite the brain teaser.

Sensors
The last thing I'll talk about is sensors, and which sensors are most applicable to the creation of a VR walker, and some considerations for using each one. I'm not really a Maker, so I'm just going to give an outline of a few that I've thought about
  • IMUs (Inertial Measurement Units)
    Specifically, I'm talking about IMUs containing an accelerometer, a gyroscope and a magnetometer. Through sensor-fusion these three devices allow us to get drift-free rotational measurements at about 1kHz. In addition, with the advent of MEMS technology, they're pretty cheap, and digital MEMS IMUs do much of the processing on the chip, so they're easy to use.

  • Optical tracking
    Optical tracking is awesome because it gives us 1:1 positional data in realtime, and this data will never drift. The main Achilles' Heel of optical tracking is occlusion - any objects between the camera and the tracked objects will interfere with tracking.

  • Pressure sensors
    These devices measure pressure applied downwards on them. Four of these are all the sensors that the Wii BalanceBoard has behind it. They're quite versatile, and can be small enough to be used in wearable devices.

  • Capacitative sensors
    These are effectively touch-sensors, that when placed in an array, allow the position and shape of an object in contact with the sensor surface to be resolved. These are the sensors behind the Omni.


The Challenge
So I hope I've summed up the state of VR Locomotion Input decently. I think what it boils down to is the following challenge:
    What device removes the weight of the user off the ground so that they can use their normal walking/running motions, but doesn't impose any other movement restrictions? Does this device take up little room, and is it cheaper than $200? Can it be used to move around in experiences that don't necessarily involve walking/running? Can it be used for multiple hours at a time without the user getting tired or sore?

I don't think it's going to be an easy nut to crack, and I don't think any of the current solutions that are either on the market, or will be coming to market in the foreseeable future are adequate.

What do you guys think - I reckon as a community we can come up with some pretty sweet ideas that will hopefully be picked up by someone with the know-how and capital to make this ideal VR-walker a reality. I think it's the one thing that stands between us and totally immersive first-person walking VR experiences.
From what people are saying, Elite:Dangerous is mind-blowing because we finally have an experience where we can match input devices to virtual reality perfectly. Once we can do that with common non-cockpit experiences, VR will have taken a huge step forward.

    89 replies

    Up and Coming
    March 3, 2015
    "OculusRiftRocks" wrote:
    oh so I need to put an LED on my head, can I put it on the top of the oculus rift instead?

    The LED has to remain generally in one place (within the deadzone) as you turn around in order to activate walking only when you step in any direction. This means that the bike LED must be somewhere near the top of your head. You can attach it with sticky tape to the top stripe of the Rift, if you want.
    "OculusRiftRocks" wrote:
    can you link me the LED's to buy to track my head position.

    Just go to any 1-dollar shop and get the cheapest bicycle LED that has a single LED on it.
    Like this http://www.amazon.com/Soccer-Shaped-Str ... icycle+LED
    or this http://www.amazon.com/Safety-Silicone-M ... icycle+LED
    Using bike LEDs is the cheapest pre-built solution for testing. I plan to use IR LEDs in the future, in order to improve usability independently of the lighting conditions, but for testing it does not matter for now. I would advise you to download Freetrack and read a little bit about LEDs and how to improve tracking, etc. With normal LEDs, you are best advised to experiment in darker conditions.
    "OculusRiftRocks" wrote:
    the distance between not moving and moving on my ODT is 10cm, is that okay or is it too short.

    You will have to experiment, to be honest, from the very beginning I was not that optimistic for the "soup-bowl Omni hack" that you have in mind.
    "OculusRiftRocks" wrote:
    oh I need to use a wii remote, I had no idea I needed that, anyway to not have to ues that.

    With that script, yes, the wiimote is used for triggering the "preloaded" button (e.g. W if you stepped forward) only when you move your hips. I have another script that relies only on the position of the LED and even attempts to input WASD in variable intervals depending on how far from the center the LED dot is. See here https://www.youtube.com/watch?v=1fSFNb5QWqY . I have not modified it yet to swap directions depending on the HMD orientation, but it is possible to do it.
    "OculusRiftRocks" wrote:
    do you think if this doen'st work out that great that you could adapt the scrpit to change gamepad inputs so it works with a dance mat.

    I have no dance mat, but maybe in the future I can try, I do this only as a hobby in my spare time (2-3h in the weekend). What worries me with the dance mat is that it only has 4 directions (+4 if the diagonal sections are easily accessible with one small step without affecting the side sections, which are nearer to you). That does not really give you a very precise orientation, whereas the setup that I have can replicate any orientation. To put it simply - the dance mat acts as a NES gamepad while the Freetrack + LED can output as an analogue stick.
    "OculusRiftRocks" wrote:
    I don't want the sticky side Velcro residue on my phone

    The velcro is stuck on the "pocket", not on the phone itself...
    "OculusRiftRocks" wrote:
    my only confusion is where which side of the phone is meant to face the ground, is the the screen side or the back side.

    Well, I think it is obvious that the side with the camera should face down...
    Good luck. As I said, just get the 1 dollar bike LED and experiment on your desk with your phone and Freetrack to get an idea what is doing what.
    Up and Coming
    March 3, 2015
    okay I will get a single LED bike LED, I take it either front or rear will work?

    this one looks pretty cool, would match with the oculus rift style, may have to cut away the clip at the back to add the velcro.

    http://www.ebay.co.uk/itm/Cateye-Nima-B ... 8977?rt=nc

    could I place it on the top of the oculus rift casing, but just a little to the side, like this



    its the only way I can see some of these fitting in, but I will experiment with de-casing some of these LED so I have less plastic to work with.

    yes I was surprised to hear you need a wii remote, I don't have one nor do I have a bluetooth adapter, hopefully I can avoid the need for one, however in the future when games get patched with stand up VR support I think the easiest way to do it would be to detect hip motion then that will act like a 'recenter turn' key and any direction I am facing I will start walking in that direction, and unless I am moving my hip I will have my head independent from the turn direction.
    Up and Coming
    March 3, 2015
    "OculusRiftRocks" wrote:
    this one looks pretty cool, would match with the oculus rift style, may have to cut away the clip at the back to add the velcro.
    http://www.ebay.co.uk/itm/Cateye-Nima-B ... 8977?rt=nc
    could I place it on the top of the oculus rift casing, but just a little to the side, like this


    Ugh, the LEDs that I work with are much smaller than those, I think. Just have a look at the LED guide on Freetrack's website.
    Up and Coming
    March 3, 2015
    can I use something like the trackIR 'dots' instead?

    http://www.naturalpoint.com/trackir/02- ... ories.html

    http://www.naturalpoint.com/trackir/01- ... _large.gif

    I am looking in freetracks website for LED guide, the only thing I can find is LED assembly wizard which does not help me much.

    If I can't use the TrackIR dots, then maybe you can link me an auction on eBay U, which has what you think is best, the ones you describe as 'much smaller' than the ones I linked.

    edit:

    after some thought I think this wont work well for forward motion for me, the difference between being stopped from the middle of the bowl vs. Walking forward is barely 2cm in terms of how far the head moves.

    however if I still use the dance mat I think this script will work, I can simply change the buttons based on the direction in which I am facing, in this case I may not need the wii remote?
    Up and Coming
    March 3, 2015
    Oh, 2 cm will not work that's for sure. I cannot imagine your setup, can you put some photo or video. Give me a link to your dance mat on amazon, I may buy a dance mat some time in the future, if I want to experiment with dance mats and then I can give it a try.
    Up and Coming
    March 3, 2015
    http://www.amazon.com/docooler-Non-slip ... +dance+mat

    this is the dance mat I use, it's inside an 80cm firebowl.

    I think your script can work perfectly in the firebowl with the dance mat, but it will need tweaked to just change the dance mat inputs based on direction, should not need wii remote in this case.
    Up and Coming
    March 7, 2015
    "Karlor" wrote:
    There was a Wii fit board there also but it looked like it was missing things so I didn't get it. Anyone know what those things can do, I have never used one? Do they have like a 4 way leaning sensor or what?


    Wii board is really just a board, it probably wasn't missing any pieces. It's extremely elegant and simple. Note that you can control how fast you move by simply putting more force into how quickly you shift your balance.








    I've gone back and forth on whether this is a good idea or not, I am thinking it may be more feasible with the inclusion of 3d audio for an additional layer of feedback that was missing before.
    Up and Coming
    March 7, 2015
    wii fit board is pretty much useless for VR, you can't turn for one, so basically its just a WASD pad, you might as well try to get it to work while sitting down as with standing up your likely to need a gamepad which means crap aiming and slow turning compared to a mouse.
    Up and Coming
    March 8, 2015
    You don't need to physically turn your body to get the sensation of turning, you just need to shift your balance as if you were turning. That is what I did on the wii board. It offers the same movement capability as 'wsad' that every gamer knows (including every flavor of strafing) but more. Things like variable movement speed. You can go from a slow walk to an outright sprint and everything in between on a wii board simply based on how fast and forcefully you are shifting your balance. I have found this to be a great tool for design as I can make it require more force and energy from the player to walk up a steep hill than it does to walk across a relatively flat plane. What I show in my videos also works sitting down, but its less immersive since natural changes in balance are no longer the driver of movement. There is no need for a gamepad unless you want it.

    Wii boards are far from useless in VR.
    Up and Coming
    March 8, 2015
    so how exactly do you turn on a wii balance board?

    and can you use a mouse and keyboard while standing up and shifting your weight?