We have just released a new version of ARviewer, where we have improved the user experience viewing the virtual nodes on the screen. Up to now, when the user turned around him in order to see the different objects of the virtual nodes constellation, it can be appreciated some delay when the movements were small. This effect is due to the compass controller that we had implemented, which, however, was fast enough in larger movements. This effect made the user's scene perception gone poor, getting sense of a too artificial environment, as if the virtual nodes were not corresponding to real places.
In order to get a much more realistic perception, we have minimized this error as long as we could. We mainly have had to be in mind the addition of a new sensor in the system controller: the gyroscope. It is a high accuracy element that gives us measurements about how many radians per second is the user turning the device around the X, Y, Z axis. Therefore, the proposed system has two phases:
1) Compass stabilization phase, where we obtain the geographic orientation that we are looking at.
2) Stable phase, where we use the gyroscope measures (in the X axis) to move the virtual scenario, with the orientation obtained in the stabilization phase as reference. It has incorporated a watcher system that controls the difference between the "gyroscope-estimated" orientation and the compass measure. If this value is too big, the stabilization phase will enter again.
With this technique, we obtain accuracy, because we avoid the external disruptions that affect the compass sensor (making it usable at indoor places), and we get faster reactions to movements, making the transitions being immediate.
For those devices that don't have incorporated any gyroscope sensor, we have inserted a good enough variation that offers an acceptable speed in the transitions (but loosing the immediacy) and a low noise level (the external disruptions of the compass sensor will affect us in this case). The working mechanism is similar to the one we have just seen, and it has two phases:
1) Compass stabilization phase, that is the same algorithm of the other method.
2) Stable phase, where we apply an adaptative gaussian filter that depends on the compass noise conditions that it is detecting. It has incorporate the same control system of the other method.
Anyway, in short, we have implemented two mechanisms that ensures the improvement of the visual user's experience of ARviewer. They are used both for the compass and elevation controlling, involving the user in a
more realist virtual environment.
You can get the source code from [1]. We will post some videos showing the new feature soon.
Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer
Add new comment