cancel
Showing results for 
Search instead for 
Did you mean: 

Is there a maximum tracking speed for Oculus Touch hand controllers?

goddard
Explorer
Using Unity 2017.1 with OVRPlugin 1.18.1 I observe that the reported speed and acceleration of the Oculus Touch controllers are reported as 0 once the controller speed exceeds 10 meters/second.  I obtain the velocity using OVRInput.GetLocalControllerVelocity.  The acceleration reported just before the values become 0 is typically around 140 meters / sec**2, or about 14g.  Are the reported 0 values of velocity and acceleration due to the inertial measurement unit (IMU) in the controller going out of range?  I see that the Oculus Touch has an InvenSense MPU-6500 (as does the HTC Vive controllers) and that specs for that device say its accelerometer can report up to +/-16 g.  The hardware device does not integrate to get velocity, that must be done by the Oculus SDK.  My testing suggests the transition to 0 velocity and acceleration is triggered by velocity > 10 m/s and although it could be out of range acceleration.  Such a speed threshold would have to be in the Oculus SDK code if it exists.  Needless to say it is quite frustrating to work with closed source libraries like Oculus SDK.  Is it possible to get the source code?

Here is an image of the reported Oculus Touch controller path moving it along an approximately 2 meter arc from bottom to top.  The pink region at bottom is below 10 meter/sec, the pink position before it switches to yellow is at 9.6 meter/sec and the previous pink position is at 8.5 meter/sec.  No frames are dropped with rendering at 90 frames per second.  Time between frames is about 11 milliseconds, and the acceleration is around 140 meter/sec**2 at the pink position before positions turn yellow.  The yellow region has velocity and acceleration reported as 0.  It seems likely all information from the inertial measurement unit is being ignored in the yellow region, with no velocities the Oculus SDK probably cannot predict the pose at a later time, so the path immediately jumps backwards.  This hand controller motion was completely smooth done with the arm with a side-arm throwing motion. It was a ping pong loop stroke and not an especially fast one. The path in the yellow region is erratic.  Consecutive time points sometimes report identical positions for the controller.  Likely the entire position prediction is being done by the Oculus cameras running at a lower frame rate than the 90 frames/second, so it is not surprising that the track quality degrades immensely.  Position errors of more than 30 centimeters (1 foot) are likely in this region.  The tracking recovers at the top shown in pink with the first pink position after the yellow reporting 3 meter/second and about 6g acceleration.  The virtual ping pong ball I was trying to hit would have contacted in the middle of the yellow region -- of course the tracking errors were much bigger than the paddle size and I missed the ball!

0ckkaf4rd7ld.png
9 REPLIES 9

goddard
Explorer
Further testing with a longer stroke shows that speeds of 11 meters/second or more can be reported, but the reported acceleration is never over 155 meters/sec**2 which is likely the 16g limit of the inertial measurement unit.  So it seems most plausible that the reported 0 velocity and acceleration vectors are a result of the IMU going out of range.

Alt
Explorer
Hope this is fixed soon. It's a pretty frustrating issue that we're running into with the development of our new project. Having to make throw acceleration curves to help give people a comfortable throw at low speeds isn't ideal. 

tom_weiss
Explorer
After all this time, is there STILL no proposed fix (or ETA) for this?! Seriously Oculus, this is a HUGE problem. Any game which requires fast tracking such as Beat Saber or any shooting game becomes unplayable at times due to tracking dropping out. This is me (and likely MANY others) demanding a status update. Soooooo what's the deal?

Tawnz
Honored Guest
 @imperativity

Can you confirm whether or not this issue has been fixed since this thread was posted?

I believe I am running into this same problem, but I don't want to start on a work around only to find out this has already been resolved, and it's actually been something else that's messing with my velocity data. 

tom_weiss
Explorer
@imperativity Is there at least a fix in the works for this? No exaggeration here, I literally attempted the same song in beat saber last night a dozen times in a row. I can guarantee you on my life I could do it flawless if the damn controllers wouldn't drop out, which is obviously more of a problem with fast songs or songs which require large swings. Needless to say, this is beyond infuriating.

tom_weiss
Explorer
@tawnz Please let me know if you find any kind of work around for this whatsoever. I've been down what seems like every path imaginable only to keep having the same problem. If by some miracle I find a way to cure it, you can be sure I'll post. Oculus doesn't seem to be in any hurry to fix this, and honestly why would they be? It's the perfect crime. You've already purchased their hardware, so they already have your money. You only discover this problem after the fact. Oculus, please prove me wrong. Otherwise, you're digging your own grave with this unacceptable lack of support.

Dan1018
Adventurer


@tawnz

I can confirm that there has been nothing pushed to address this since I've last posted.



the tracking speed issues is a huge problem for me when playing echo arena.
I
heard that the system is "insufficient" because the oculus touch controllers
"inside sensors" are slower than the external sensors so they can’t
track all the movements correctly but only the linear ones with precision.
so
actualy I'm limited to throw the disk of echo arena in a specific
linear way to have precise shots, this is very frustrating for me.
I hope you will fix the speed of the inside oculus controllers sensors for the next gen,
including Quest please. it's the first feature that me and many more
advanced players of fast movements games will check in the next model.
imho you should reach "ready at dawn" devs (echo vr) to have more suggestions about it.






tom_weiss
Explorer
Since Oculus has so graciously ignored my last post, even after tagging a developer (thanks for that), I'm happy to report that I solved my tracking issues on my own.

In my particular case, I systematically eliminated each known potential cause for tracking problems. I finally narrowed it down to the CPU and/or motherboard. I was running an FX-8350 and an ASUS EVO M5A99X Mobo. I firmly believe that this came down to a throughput issue on my USB host controller. 

I've since upgraded to a Ryzen 7 2700X and ASRock X370 Taichi Mobo. After a fresh install, everything is tracking flawlessly now. I've been running on the new hardware for a couple of weeks now, and not a single drop out or tracking issue has occurred. I'm 100% confident that my issues are now resolved, and in my case by process of elimination it came down to the CPU and/or Mobo. Again my gut feeling is throughput on the USB controller.

So, I know it's a hard pill to swallow, but if anyone else is at the end of their rope and has tried everything like I did, you may need to upgrade your rig. Anyway, I hope this helps someone!

All of that said, I have to now give credit to the Oculus hardware and take back all the blame I placed on them. However, I do still stand firmly by my statement that their support absolutely sucks in every sense of the word. Seriously Oculus, start supporting your customer base or you soon won't have one to support!!!

AiRJacobs
Honored Guest
@"tom.weiss" @dan108 @Tawnz @goddard
Woah. It took me forever to find this information. I've been running into tracking problems with the Touch controllers. For the past month, I've been doing my own tests, digging for info, rebuilding my PC, and even trying other VR devices at stores to confirm my suspicions. So, I am correct. This IS a problem with the IMU. It's just limited to 16g's and I've been maxing it out. I thought I stumbled upon some grand discovery, but apparently this is common knowledge among the development community. This info needs to be more known. And no, this isn't the "battery-spring compression issue" or anything to do with my computer, or my Rift for that matter.

I'll link you guys my 3 short videos where I did some testing and discovered this problem myself, and demonstrated an extremely easy method to throw off IMU tracking and screw up the tracking system for a short time. Here is also a link to my Reddit post that has a ton more detail on my findings.
https://www.reddit.com/r/oculus/comments/bbtlw9/oculus_touch_controller_twistingrolling_causes/
https://youtu.be/_dh1QE_vZik
https://youtu.be/ZrZhezz6syA
https://youtu.be/AcYeggFE9go
The craziest thing is that this is a problem with WMR Controllers too, but NOT the HTC Vive wands. I sent two support tickets to Oculus Support regarding the issue, and they both went silent at different points. I guess they just don't care. Either way, it doesn't matter. I just packaged up my Rift and all of the accessories I got, to sell. I'm planning on getting the Valve Index (assuming it holds up), if not the Vive Pro. I really liked the Rift, but this tracking is a real problem for me.