In order for SteamVR to do pose predictions (which it needs to do for warping etc.), it's necessary to supply it with velocity and acceleration values, as well as angular velocity and acceleration values. It's possible to derive these values from the orientation and position values, but doing so introduces a lot of jitter, which is not present when providing just the position and orientation values. I'm guessing that the position/orientation values that Nolo provides are 'noisy' and SteamVR is doing a filter on them to smooth them out, as there is no jitter if not providing the velocity/acceleration values. It appears that SteamVR does not try to interpolate these values if not provided by the driver (probably due to jitter).
If these values aren't provided (for the controllers at least), then it's not possible to do things like throwing (or anything that relies on the acceleration or velocity of the controllers). These values are certainly available on the hardware side of the Nolo sensors, and so it would be a lot better to use these values than try to interpolate them from the position/orientation values. Even it I put an alpha-beta filter onto the interpolated values, there is still some jitter. If the filter smooths out the values too much, then quick movements are not possible.
https://github.com/NOLOVR/NOLO-Windows-SDK/issues/6
Comments
As to replacing some other software, iVRy has only one purpose, to be the best mobile HMD (for SteamVR) it can be, it's not aiming to be a "swiss army knife"...
'Alpha' version of iVRy on Android:
- No acceleration and velocity values, so these must be simulated by the driver. Throwing in "The Lab" is not possible without this.
- No analog value for the trigger, so it is either fully pressed or not at all.
- Double clicking menu button causes Nolo runtime to flip around co-ordinate system (simulating 180 degree turn), so this either has to be implemented in the driver (as I do currently) or counteracted in the driver (as I may do if Nolo doesn't add the option to disable it) to ignore it.
- Support for timed duration haptic pulses on particular axes of controller (or even just timed haptic pulses if there is only 1 vibration motor)
Also, they aren't very publicly responsive. I sent them an email last month and never got a reply, and they're super hit-and-miss with talking on the forums/kickstarter page
"We will provide speed and acceleration in our SDK later,maybe in Q3"
"At present NOLO's trigger button can only provide 0 and 1. will be improved in our next generation product."