It is currently Mon Sep 23, 2019 1:22 am



Reply to topic  [ 23 posts ] 
 Absolute position headtracking 
Author Message
Two Eyed Hopeful

Joined: Sat Sep 01, 2012 9:23 am
Posts: 55
Reply with quote
I've pitched in the 330 dollars for a rift :) I've now got three months to ruminate over what I'm going to do with it.... for me getting good quality absolute position without drift over a 3d space would be amazing. I'm considering various solutions to achieve this, id like to get some feedback on my ideas and learn about any exiting solutions, since getting a feel for the lay of the land is not as simple as searching google...

1: Use a 9 dof tracker and try to do some adaptive mapping of the magnetic field in the space, something like a slam package, but instead of localisation using vision you would use the 3d magnetic field vector values over time to infer position. Is this something that has been done? Is it accurate?

2: A custom made ir tracker with multiple cameras. If cameras with a know fundamental matrix were correctly registered in the 3d space it would be a simple matter to infer the position of an ir led set within view of some or all of those cameras. Is there an opensource /cheap commercial solution which is capable, or will I have to roll my own?

3: A series of kinects positioned throughout the room, again correctly registered. Is the lag too high? It would have the added benefit of potentially enabling an overlay of the users body within the 3d space... the motor vibration trick could be useful for this...

4: PTAM or other monocular slam package and a head mounted camera? Feels like it would be too twitchy to rely upon, despite the recent improvements...

5: An unknown technique?

Thanks for reading :) I am so excited!!!!!


Sat Sep 01, 2012 9:42 am
Profile
Certif-Eyable!
User avatar

Joined: Thu Aug 02, 2012 8:49 am
Posts: 957
Location: Norway
Reply with quote
If you are going to move freely around the room, its more complicated, but I estimated the trackir5 FOV of 51.7 degrees,
to a cone shape for "running in place"

Image

If you are just standing still inside a circle, turning around, bending, leaning, 360 turning etc seems to me would be covered
very well with just one ir camera mounted in the ceiling.

I made a camera inside the trackir model, and set it to 51.7 degrees,
there were very few angles/situations where the camera could not see all three ir-reflectors

_________________
Riftoholic

My precious 6 month project the Oculus Virtual Lounge:
Image
If you help me in any way I will be forever grateful.


Sat Sep 01, 2012 10:33 am
Profile WWW
Certif-Eyed!

Joined: Sun Mar 25, 2012 12:33 pm
Posts: 661
Reply with quote
The kinects will be too laggy. Optical tracking with IR LEDs is really the best way to go.
Blob detection algorithms are easy, and you can check out the PS3 eye thread in VR/AR development for two examples. Getting absolute translational/orientation data is a little harder, but no where near as unstable as PTAM can be in some cases.

Or you can use trackir or free track. Just make sure that when you are building your led matrix that you don't put them all on a plane that is perpendicular to the camera. It makes getting anything but yaw rather tricky.

Fiduciary marker tracking is the cheapest, fastest, and most reliable way to do optical tracking now. Maybe the hydra will be able to come down in price in the future, and filter out external magnetic fields better (and have longer distance), but until then, optical is the way to go.


Sat Sep 01, 2012 10:43 am
Profile
Cross Eyed!

Joined: Thu Sep 02, 2010 3:08 pm
Posts: 141
Reply with quote
It would be cool if they would add the trackerIR IR leds on the rift. Or one close. Just for room placing and side / side. Then if you have an IR camera (hack one for 15 bucks, 50+ of you want a decent fps).

I 'THINK' this would take care of the problem Carmack mentioned in one of the quakefest videos I watched (looking down and shifting left/right makes for a very unpleasant feeling).


Sat Sep 01, 2012 3:47 pm
Profile
Golden Eyed Wiseman! (or woman!)

Joined: Fri Jul 08, 2011 11:47 pm
Posts: 1498
Reply with quote
@ MemeBox: you dont mention the amount of space you wish to cover with your tracker.

If its less than 3m, I'd suggest magnetic tracking. Polhemus and Ascension can both cover that range I believe.

If its for less than 1.5m, a Hydra is also a magnetic tracker and would work fine for stand up usage only.

For a larger area, I think optical is the only proven tech so far.


Sat Sep 01, 2012 8:21 pm
Profile
One Eyed Hopeful

Joined: Tue Jul 24, 2012 11:44 am
Posts: 28
Reply with quote
Palmer has always said that he hopes the community will figure out the little quirks like absolute positional tracking.

One thing that would make this much easier would be a USB port on the rift dev kit. AFAIK the way the head tracker works at the moment, is to use an HDMI cable to carry the D+ and D- pins to the rift, where the standard USB headtracker plugs in. To make the insertion of a USB plug easier, it would be great if the final dev kit didn't solder the wires directly to the headtracker, so we can insert a USB hub for more ports :)

I think the first positional problem that needs to be solved is a reliable way to track +-5cm. Since we humans use our eyes as a sanity check for our vestibular system(I.E., balance), having the small range of motion sorted should stop any motion sickness.

Also, if you think about it, we could use multiple systems together. A good example already in use is a gyroscope + compass. The gyroscope is fast and accurate, but drifts over time and has no absolute heading reference. Now if we add a compass to the mix, we get a slow, absolute heading (well, on earth anyway and if you're not at the poles), which can be used to correct any gyroscope drift. This video provides a very good explanation of all this: http://www.youtube.com/watch?v=C7JQ7Rpwn2k

So let's say we create a reliable and fast way to track small relative position changes. If we then combine this with a slower, absolute position reference we should be able to achieve a complete tracking solution.

Just my two cents :)


Sun Sep 02, 2012 11:24 am
Profile
Binocular Vision CONFIRMED!
User avatar

Joined: Sat Aug 11, 2012 4:41 am
Posts: 247
Reply with quote
Probably a crazy idea, but those are the good ones right?

Now that Cern have confirmed the existence of the Higgs field.. maybe a higgs motion sensor would do the trick sometime in the future.
Perhaps a mini proton collider ring over your head might piss off some religious people, but a neat idea nevertheless :lol:


Sun Sep 02, 2012 1:43 pm
Profile
Binocular Vision CONFIRMED!
User avatar

Joined: Thu Jun 28, 2012 1:31 pm
Posts: 214
Location: Barcelona
Reply with quote
@MemeBox

Just for your information, there is already an excellent thread on MTBS for positional head tracking ideas:

6 DOF Head Tracking Ideas

Which has also spawned some other theads with possible solutions:

6DOF Positioning System - PS3 Eye and fiduciary markers
PS3 Eye - PTAM/Visual Odometry
Limited solution to yaw drift (relative to torso)

Another interesting project:

FriiSpace VR Input Device - R&D


@Everyone

Please feel free to add more related links if i missed any (or new ones come up), i think it would be nice to have a complete list for future reference.


Mon Sep 03, 2012 5:28 am
Profile
Two Eyed Hopeful

Joined: Sat Sep 01, 2012 9:23 am
Posts: 55
Reply with quote
Thanks for the links. I must admit I have not taken the time to read through the previous discussions fully yet. But this is a priority.

I am going to have a crack at making an optical tracking solution.

I'm going to setup webcam's around my lounge, get the camera locations using bundler (calculates camera positions and intrinsics from feature matches across images) and then use blob tracking to calculate x,y in each webcam frame. Then I'm going to reproject from these to estimate a 3D location. I'm starting to build in C++ using opencv and directx, but I could be persuaded to go with C#, Emgu CV and XNA. Does anyone have any strong arguments for C#?


Mon Sep 03, 2012 6:01 am
Profile
Binocular Vision CONFIRMED!
User avatar

Joined: Thu Jun 28, 2012 1:31 pm
Posts: 214
Location: Barcelona
Reply with quote
Glad to have you on board MemeBox, the more the merrier! :-) I suggest you create a new thread with your proposed solution once you have something working or more details!

I'm giving a go to optical tracking as well, have been thinking about it for a while but last month was on vacation to other countries so couldn't get started until now (hopefully this week).

In my case i'm going for an approach which is not in your initial post though: only one camera and multiple markers around the hmd. Personally I'll use C++ instead of C#, mainly because it's supposed to be a bit faster (haven't actually tested if it's a significant difference).


Mon Sep 03, 2012 8:20 am
Profile
Two Eyed Hopeful

Joined: Sat Jan 09, 2010 9:40 am
Posts: 54
Location: Paris
Reply with quote
About using multiple webcam, keep in mind you have to sync them (usually done by unmounting the webcams, finding and connecting the sync pins).


Mon Sep 03, 2012 9:03 am
Profile WWW
Two Eyed Hopeful

Joined: Mon Jun 25, 2012 7:40 am
Posts: 73
Reply with quote
marbas wrote:
Probably a crazy idea, but those are the good ones right?

Now that Cern have confirmed the existence of the Higgs field.. maybe a higgs motion sensor would do the trick sometime in the future.
Perhaps a mini proton collider ring over your head might piss off some religious people, but a neat idea nevertheless :lol:


We already have Higgs field sensors. They are called inertial sensors and you have one based on MEMS in your phone/Wii-mote/PS-move. :-/


Mon Sep 03, 2012 11:02 am
Profile
Binocular Vision CONFIRMED!
User avatar

Joined: Sat Aug 11, 2012 4:41 am
Posts: 247
Reply with quote
Oh yeah? Well maybe you should strap your mems based phone to the rift and see how well that works as an absolute position sensor.


Mon Sep 03, 2012 12:59 pm
Profile
Two Eyed Hopeful

Joined: Sat Sep 01, 2012 9:23 am
Posts: 55
Reply with quote
Unfortunately/fortunately I've just found out that I have been given a second lease of life on the part time MSc Maths postgrad I'm doing. This means that I'm going to have to do an exam in October, so I'm going to have to focus on that and put the optical tracker on hold. Be sure that this is the first thing I will be doing after I'm done.
I'll be back, seriously...

Happy hacking guys.


Wed Sep 05, 2012 3:27 am
Profile
Certif-Eyed!

Joined: Sun Mar 25, 2012 12:33 pm
Posts: 661
Reply with quote
Have fun and good luck with that!

I'm sure you'll be even more capable in the maths department by the time you get back!
Besides, you'll still have (at worst) a month to slap a few cameras together before the rift arrives, so don't worry about hurrying.

I say that because every hyped product in history has always arrived at the end of the timeframe specified.


Wed Sep 05, 2012 4:33 pm
Profile
Sharp Eyed Eagle!
User avatar

Joined: Tue Aug 21, 2012 6:51 am
Posts: 401
Reply with quote
Does anybody know what kinds of hardware it takes to record and calculate just motion tracking with a camera or two like this in real time?


Fri Sep 07, 2012 10:26 am
Profile
Petrif-Eyed
User avatar

Joined: Sat Sep 17, 2011 9:23 pm
Posts: 2220
Location: Menlo Park, CA
Reply with quote
@mahler: Look in this thread...

http://www.mtbs3d.com/phpBB/viewtopic.php?f=138&t=15312


Fri Sep 07, 2012 11:12 am
Profile
Sharp Eyed Eagle!
User avatar

Joined: Tue Aug 21, 2012 6:51 am
Posts: 401
Reply with quote
brantlew wrote:


Thanks.
I saw that one, but I misread the title as being PS3 Eye specfic


Fri Sep 07, 2012 11:37 am
Profile
Sharp Eyed Eagle!
User avatar

Joined: Tue Aug 21, 2012 6:51 am
Posts: 401
Reply with quote
In your experience, what is the maximum amount of drift tolerable to avoid breaking immersion? Are there some kind of units for this? Like, rotation/min ...
There might be options to automatically re-calibrate, but I'm sure this would also produce weird results while playing... so what is the maximum tolerable drift-correction without noticing?

I've about quite a few projects on this board and references to open-source systems using either Hillcrest or Sparkfun positional tracking, but I don't really see which solution are most promising and have the best results so far.
Does anybody have an update on this right now?


Tue Sep 11, 2012 6:55 am
Profile
Petrif-Eyed
User avatar

Joined: Sat Sep 17, 2011 9:23 pm
Posts: 2220
Location: Menlo Park, CA
Reply with quote
@mahler: I don't really have any data to back me up - just subjective thoughts about this. Pitch drift is noticeable at 5 or 10 degrees. I often get confused playing SkyRim because it has very hilly terrain so it's hard to tell whether you are just climbing a hill or the pitch is off. Either way I tend to go ahead and correct the pitch to a level horizon just to ease my brain because looking upward feels strange when not accompanied by other normal cues of terrain elevation. Same goes for roll drift. Moving laterally along an angled hill messes with your head and you feel like rolling your head to correct it. Yaw drift is of course, application specific. A non-issue in most FPS games but an issue with cockpit simulators. I suspect that yaw drift is also sensitive to about 5 or 10 degree offset (but maybe even more sensitive in performance applications like racing sims)

I notice drift corrections in both the Hillcrest and the Sparkfun/AHRS. The Hillcrest solution is just awful - they shift you instantaneously to the corrected angle so you might experience a 10 degree change in 20 milliseconds. The AHRS algorithm is much nicer. They sort of glide you over to the corrected angle. You can still see it but it's not as bothersome - maybe 5 degrees per second or there-abouts. It would be interesting to see even more subtle corrections. From my redirected walking experiments I know that you can do about 1 to 3 degrees per second without the player noticing (depending on the level of player distraction).


Tue Sep 11, 2012 8:13 am
Profile
Sharp Eyed Eagle!
User avatar

Joined: Tue Aug 21, 2012 6:51 am
Posts: 401
Reply with quote
brantlew wrote:
@mahler: I don't really have any data to back me up - just subjective thoughts about this.

That's no problem. Immersion is a subjective definition anyway :D

Quote:
From my redirected walking experiments I know that you can do about 1 to 3 degrees per second without the player noticing (depending on the level of player distraction).

"Level of distraction" is also a factor, but pretty hard to quantify.


Tue Sep 11, 2012 10:41 am
Profile
Golden Eyed Wiseman! (or woman!)

Joined: Fri Jul 08, 2011 11:47 pm
Posts: 1498
Reply with quote
Quote:
The Hillcrest solution is just awful - they shift you instantaneously to the corrected angle so you might experience a 10 degree change in 20 milliseconds. The AHRS algorithm is much nicer


Quote:
From my redirected walking experiments I know that you can do about 1 to 3 degrees per second without the player noticing (depending on the level of player distraction).


I've been thinking about this, instant correction would just be confusing. Very slow correction might be ok. Possibly the best solution IMHO would be for the system to slowly drift it, but to also do a larger correction if you make a larger movement. IE, if it needs to correct 40 degrees, it would start to drift slowly that way, but if you then turned your head 30 degrees in that direction, it could make a correction that might get 'lost' in your own head movement, so you wouldn't notice it so much. Just like redirected walking...


Tue Sep 11, 2012 11:01 pm
Profile
Petrif-Eyed
User avatar

Joined: Sat Sep 17, 2011 9:23 pm
Posts: 2220
Location: Menlo Park, CA
Reply with quote
@WiredEarp: That's a nice idea for yaw correction - just include the angular correction in an accelerated turn. I might just have to use that. :)


Wed Sep 12, 2012 12:01 am
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 23 posts ] 

Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by STSoftware.