VR position tracking with smartphone

It is Z of Sapporo office. Position tracking has been realized with smartphone devices as part of internal research.

The thing that I want to do is to detect the position of movement such as walking and link it in the screen of VR (virtual reality) mode.

For a single smart phone, it seems difficult to detect movement at close range.

Is there any good way to do it? I tried trial and error.

1 - Acceleration sensor

First of all I tried using acceleration sensor.

This occurred when I integrated the acceleration, it became the speed, and when I integrated the speed I felt that I could use the distance.

I tried it by applying the formula immediately, but since the acceleration at the time of acceleration and the deceleration do not balance, even after stopping after moving the terminal, it got in a state where it continues to move in the game.

When we investigated the cause, from the acceleration sensor it was only possible to obtain the value of "instantaneous acceleration".
Since the instantaneous acceleration is the acceleration that took at that moment when you tried to acquire the value from the acceleration sensor, it seems that you can not get the perfect acceleration enough to calculate the travel distance like this time.

Radio field intensity of 2-beacon

Next, it is not only purely a smartphone alone, but I thought whether moving distance could be detected using a beacon.

Since I was contracting and producing applications using beacons in the office, I tried experimenting with beacon rolling (I'm sorry it is boring so it is not really rolling, so it is not actually rolling), so I borrowed this and tried it.

A weak radio wave is always emitted from the beacon, and when entering the reach of the radio wave, the information of the beacon can be detected on the smartphone terminal side.

I tried using a method to calculate the distance from the radio field intensity when receiving radio waves from the beacon.

This is based on the fact that the received signal strength of radio waves attenuates in inverse proportion to the square of the distance.

However, as the distance moved away, the error became larger, so it was not possible to use it as position tracking.

3 - How to analyze images from the camera

The next idea is to prepare something like a landmark and calculate the distance the camera moved according to the size and inclination shown on the camera of the smartphone.

Although it was assumed that it takes time to analyze and process the images shown on the camera in real time, Unity has a wonderful asset called "Vuforia" for making AR cameras, adds assets using Unity for development By implementing it, it was easy to implement it.

Since the positional relationship between the camera and the object in the 3D space also changes depending on the positional relationship with the AR marker, when the display of the image taken by the camera is turned off, although it is pseudo, position tracking can be realized.

Development of VR game

Now that you can realize position tracking by using the AR camera function, I decided to develop a VR game with a smartphone using this technology.

I decided to use "Google VR" to develop VR game, but Cardboard is necessary to play in VR mode, but there is one point to note!

Since the camera is also used with the AR function this time, VR goggle · Cardboard (cardboard VR) of a shape that can use the camera part is necessary.