Page 1 of 1

[DIY] cheap 7" first-time DIY-HMD with 6DoF Tracking

Posted: Sat May 24, 2014 5:04 pm
by drifterXF
Hi all,

I decided to create my own HMD as a compromise since the Oculus CV1 is still too far away and the DK2 too expensive for me when there's a better device to come soon™.

Since it's my first experience with HMDs (not with DIY-projects, though), I took a pretty standard approach, this means picking hardware that someone has already used successfully. All in all it's definitely not meant to be the fanciest HMD alive, but rather to get my feet wet with VR and to cover the waiting time until the CV1.

At the moment the core components are (comment and suggestions always welcome!):
  • 7" 1280x800 IPS Display (N070ICG-LD1) + HDMI/VGA controller Board (VS-TY2662-V1)
  • UltraOptix 7x aspheric 1.5" lenses
  • 6 DoF positional tracking via DIY infrared headtracker and PS3 Eye Camera (software: FTnoIR+PointTracker)
The rest ist small stuff like wires, glue, a used ski-mask, duct tape PVCsheets etc. (maybe later even a diffuser foil mod with 3M privacy filter)
Since this variant of tracking is so cheap to build, my whole project cost clocks in at pretty much exactly 150€ at the moment although I'm not able to buy the panel + lenses right now, that will have to wait a few weeks, I fear.
While it would be nice to stay below the 150€ mark, I also know well enough that I will invest more if I see the opportunity of a cost-effective upgrade/modification :D

Updates will follow on an irregular basis ;)

Re: [DIY] cheap 7" first-time DIY-HMD with 9DoF Tracking

Posted: Sat May 24, 2014 5:22 pm
by cybereality
Cool.

Re: [DIY] cheap 7" first-time DIY-HMD with 9DoF Tracking

Posted: Sat May 24, 2014 6:11 pm
by drifterXF
As I said: no LCD and lenses for me at the moment, so I focus on the tracking first and try to get that running with the lowest input-lag possible.

This is the IR-Tracker that I built today:

Specs:
  • 3x Osram SFH 485 P IR Emitter (@880nm)
  • 1x Resistor 100 Ohms, 1 W
  • FIMO modeling clay (semi-transparent) as diffuser material
  • case: empty ear-plug case (aesthetic work in progress :oops: )
  • pipes: bodies from ballpens, sawed off
  • Input Voltage: 12V (same as the panel, so I can use the same PSU with an Y-adapter)
  • Current: 75mA (max. permanent current for these emitters is 100mA)
  • Total Wattage: appr. 1,1 W
Unfortunately the PS3 Eye still hasn't arrived and my current webcam seems to block IR either completely or the sensor simply isn't IR active. Will tinker with it when I'm home again next weekend. But the FIMO diffusers work extremely well, even 90° or more are no problem (see pictures).


And because everybody loves pictures! :mrgreen:

first sketch with dimensions:
1.jpg
testing layout, pipes already glued:
2.jpg
soldering work (switched black and red on the bottom :( )
3.jpg
first functional prototype, with FIMO diffusers
4.jpg
homogenous IR beauty, taken with IR-active cellphone cam
5.jpg
If anyone is still in doubt: it only needs one picture to justify the diffusers (middle diffuser taken off):
6.jpg

Re: [DIY] cheap 7" first-time DIY-HMD with 9DoF Tracking

Posted: Sun May 25, 2014 8:36 am
by Fredz
drifterXF wrote:[*]9 DoF positional tracking via DIY infrared headtracker and PS3 Eye Camera (software: FTnoIR+PointTracker)
Technically that would be 3 DoF positional tracking or 6 DoF positional + rotational tracking if you also track orientation.

9 DoF is used for IMUs to describe the axis for each sensor (accelerometer, magnetometer and gyroscope) although they can really only track rotation (which is 3 DoF).
drifterXF wrote:This is the IR-Tracker that I built today:
Great job ! And thanks for the spec.

Really good idea for the FIMO, I had no idea it could be found in a semi-transparent variety and that it was so effective as a light diffuser.

Now I'm a bit tempted to build an IR based input controller myself since I already have a PS Eye. :P

Re: [DIY] cheap 7" first-time DIY-HMD with 9DoF Tracking

Posted: Sun May 25, 2014 8:50 am
by drifterXF
I told you I would share everything :)

The clay I used is FIMO Effect 014 (transparent white).

Fredz wrote:Technically that would be 3 DoF positional tracking or 6 DoF positional + rotational tracking if you also track orientation.
Aww, my bad.

I thought it was 2 for tilt, 2 for looking left/right, 2 for looking up/down and 3 for translation --> 3*2 + 3 = 9

Re: [DIY] cheap 7" first-time DIY-HMD with 9DoF Tracking

Posted: Sun May 25, 2014 11:45 am
by Fredz
drifterXF wrote:The clay I used is FIMO Effect 014 (transparent white).
Thanks for the reference.
drifterXF wrote:I thought it was 2 for tilt, 2 for looking left/right, 2 for looking up/down and 3 for translation --> 3*2 + 3 = 9
DoF just mean degrees of freedom. For position it's 3 DoF (forward/backward, up/down, left/right) and for orientation it's 3 DoF as well (pitch, yaw, roll). Both combined give 6 DoF.

It's a bit misleading that IMU/MARG manufacturers advertise 9 DoF since it doesn't make sense for tracking, but they only refer to the 3 DoF measured by each sensor.

Re: [DIY] cheap 7" first-time DIY-HMD with 6DoF Tracking

Posted: Mon May 26, 2014 2:00 am
by drifterXF
Thanks for the clarification, updated the post :)

Looking forward to finally get my hands on the PS3 Eye Webcam!

Re: [DIY] cheap 7" first-time DIY-HMD with 6DoF Tracking

Posted: Thu May 29, 2014 8:31 am
by drifterXF
It's done! And it works! Awesome :mrgreen:

https://www.youtube.com/watch?v=hzv-wfKvudo

Hardware-mods:
I took the "good" version ( PS3 Eye good/bad comparison ) of the PS3 Eye (used, from eBay) apart to remove the killer IR-filter, since it was blocking every bit of IR even when shining right into the lens with the uncovered LED! After removing the filter, the camera was lightly out of focus (as expected, since 2mm glass are now missing), but that isn't important for the tracking ( How-to: remove PS3 Eye IR-Filter, also on YouTube )
I also cut out a piece of photographic film as an IR-transparent filter for visible light (see here and here for explanation).

Software-sided:
The newest CL-driver for the PS3 Eye supports up to 640x480@75fps or 320x240@187fps :!:
̶U̶n̶f̶o̶r̶t̶u̶n̶a̶t̶e̶l̶y̶ ̶t̶h̶e̶ ̶e̶x̶p̶o̶s̶u̶r̶e̶ ̶t̶i̶m̶e̶ ̶d̶e̶c̶r̶e̶a̶s̶e̶s̶ ̶w̶i̶t̶h̶ ̶i̶n̶c̶r̶e̶a̶s̶i̶n̶g̶ ̶f̶r̶a̶m̶e̶r̶a̶t̶e̶,̶ ̶c̶a̶u̶s̶i̶n̶g̶ ̶a̶ ̶q̶u̶i̶t̶e̶ ̶s̶i̶g̶n̶i̶f̶i̶c̶a̶n̶t̶ ̶l̶o̶s̶s̶ ̶i̶n̶ ̶b̶r̶i̶g̶h̶t̶n̶e̶s̶s̶,̶ ̶m̶a̶k̶i̶n̶g̶ ̶i̶t̶ ̶e̶v̶e̶n̶ ̶h̶a̶r̶d̶e̶r̶ ̶t̶o̶ ̶t̶r̶a̶c̶k̶ ̶r̶e̶l̶i̶a̶b̶l̶y̶ ̶a̶t̶ ̶t̶h̶e̶ ̶l̶o̶w̶e̶r̶ ̶r̶e̶s̶o̶l̶u̶t̶i̶o̶n̶.̶ ̶6̶4̶0̶x̶4̶8̶0̶@̶7̶5̶ ̶s̶t̶i̶l̶l̶ ̶w̶a̶s̶ ̶f̶l̶i̶c̶k̶e̶r̶i̶n̶g̶ ̶a̶ ̶b̶i̶t̶ ̶a̶n̶d̶ ̶r̶e̶a̶l̶l̶y̶ ̶b̶o̶r̶d̶e̶r̶l̶i̶n̶e̶ ̶t̶o̶ ̶s̶i̶g̶n̶a̶l̶-̶o̶v̶e̶r̶f̶l̶o̶w̶ ̶f̶r̶o̶m̶ ̶b̶a̶c̶k̶g̶r̶o̶u̶n̶d̶-̶I̶R̶.̶ (see edit)

But 640x480@60Hz now works perfectly fine for me, tracking is reasonably fast, but of course can't keep up with e.g. shaking your head very quickly. The performance is rock-solid, though (youhave to exclude the two hick-ups from the video because I left the webcam's FOV there).

I'll tinker with the settings a bit more in the future, hoping to push it to around 100Hz somehow. But first I'm going to play some games with the new hardware 8-)


EDIT:
Ok, I don't really know what I did now or wrong before, but.. stable @187Hz now! What what :woot
187fps_tracking.png

Re: [DIY] cheap 7" first-time DIY-HMD with 6DoF Tracking

Posted: Thu May 29, 2014 11:41 am
by Fredz
Great !

How is the difference between 320x240@187Hz and 640x480@60Hz ? I guess it's more responsive in the former and more precise/accurate with the latter, which mode do you like the best ?

Re: [DIY] cheap 7" first-time DIY-HMD with 6DoF Tracking

Posted: Thu May 29, 2014 11:50 am
by drifterXF
I managed to get it jitter-free @187Hz now (Video ̶w̶i̶l̶l̶ ̶f̶o̶l̶l̶o̶w̶ see below).

Holy moly, that is really, really crisp and responsive, and no jitter when holding still at all. But I guess that this only works because the sun isn't directly shining into the room/camera now. I realised that I have the worst room layout for IR tracking ever. At noon, that will be borderline unplayable even with curtains closed when it's a sunny day.

But now I know that the jitter is the limiting variable. That means you should only push the fps so high that the tracking is still 100% precise when you're not moving your head. But a lot of improvement in precision can also be achieved by tinkering with the filter settings (which I did to get it to work @187Hz).

EDIT:
As promised, the video @187Hz

https://www.youtube.com/watch?v=AILoRXhlOHc


EDIT²:
Filter settings:
filter settings.PNG
I added a small deadzone and was then able to reduce the Reduction Factor by a huge margin, increasing overall responsiveness without compromising stability/precision.

Re: [DIY] cheap 7" first-time DIY-HMD with 6DoF Tracking

Posted: Fri Jun 20, 2014 12:17 pm
by drifterXF
Ok, I guess aquiring the lenses is harder than expected.

Amazon lists $4.00 shipping in the item page, but $34.00 when trying to check out.
On eBay the same. In the search-window it says $14.96, then $19.24 in the auction and $24.50 when trying to check out.

Can anyone from the EU please tell me where to get these 7x 1.5" lenses without paying an absurdly high amount for shipping? I mean, the base item only costs $7.99...

Re: [DIY] cheap 7" first-time DIY-HMD with 6DoF Tracking

Posted: Fri Jun 20, 2014 5:00 pm
by Fredz
Unfortunately the guy I bought them from no longer sells them (beamerboy-1104 on ebay). They were at $7.99 + $7.68 for shipping when I bought them in 2012.

Re: [DIY] cheap 7" first-time DIY-HMD with 6DoF Tracking

Posted: Fri Jun 20, 2014 5:09 pm
by drifterXF
What exactly did you search for? UltraOptix Magnifier Glass?

Or are there perhaps other names/brands for the same lenses?


edit:
just found some lenses directly from Germany: 40mm (equals pretty much 1.5") and 6x magnification. Will this work out, too? I don't know if there will be a huge difference for my project between 7x and 6x lenses

Re: [DIY] cheap 7" first-time DIY-HMD with 6DoF Tracking

Posted: Sat Jun 21, 2014 6:30 am
by Fredz
It's hard to say, vendors don't advertise the same numbers since there are several ways to calculate magnification.

For example :
- Eschenbach 2626 : Aspheric 6x 23 Diopter 300mm Focal Length, 50mm Lens Diameter
- Coil 4206 : Bi-Aspheric 6X 20 Diopter 53.26 mm Focal Length, 50 mm diameter

Do you have a link for the lenses you've found ?

Re: [DIY] cheap 7" first-time DIY-HMD with 6DoF Tracking

Posted: Sat Jun 21, 2014 8:28 am
by drifterXF
I just looked up the specs again and noticed that these lenses are bi-convex and not bi-aspheric.. :(
Rest would've been perfect: 40mm diameter, 9,7mm thick (in the middle), +24 diopters / focal length 42,7mm / 6x magnification


But without aspheric, no use. So, back to searching eBay etc.. But I can't be the only one from EU trying to build a DIY HMD, where does everyone else get their lenses?


edit:
beamerboy-1104 is selling them again!
http://www.ebay.de/itm/UltraOptix-Pocke ... 1565863761

edit²:
there were only 3 available, I immediately pulled the trigger and now got 2 lenses including shipping for about 25€ 8-)
Awesome reference with this eBay seller, thanks a lot!

Re: [DIY] cheap 7" first-time DIY-HMD with 6DoF Tracking

Posted: Sat Jun 21, 2014 10:46 am
by Fredz
Great ! And good timing too :)

Bi-convex is not necessarily bad, aspheric magnifiers are bi-convex as well. Generally they're specifically advertised as being aspheric but I don't know if it's always the case, because selling spherical magnifiers doesn't make much sense in these days.

Re: [DIY] cheap 7" first-time DIY-HMD with 6DoF Tracking

Posted: Mon Jun 30, 2014 2:27 am
by drifterXF
Ok, lenses arrived very quickly (USPS First Class Airmail), wrapped in 6 different protector layers and with the correct customs declaration outside. Awesome service from beamerboy-1104!

As I still don't have the screen, I wanted to give it a go and created a first prototype with 2mm cardboard and my smartphone (pics follow when I'm at home).

While building, it looked promising at first, but the result was not very good - connecting a smartphone as a display doesn't really work since the only solution with low input lag (splashtop remote desktop) doesn't allow full-screen apps.
There is a very good rollercoaster VR app in the PlayStore, though, so this is not really a problem. For testing purpose it's more than enough.

I had two major problems that I don't know how to solve yet:
1.: I almost always saw a second semi-opaque picture, as if the two images didn't overlap completely. The stereoscopic effect was there, but not immersive because of this (I saw the track from the rollercoaster and a lighter copy of the track beneath, slightly off to the right)
2.: Eyestrain. I've read that optics of HMDs allow to focus on infinity, removing eyestrain. But when I relaxed my eyes, the picture started to double - it felt like I had to cross my eyes to get a sharp picture. Ok for a few minutes, but definitely not for hours.

Any input on this? Maybe these two issues are related. My guess on the first issue is that the lenses weren't completely parallel, causing a misalignment of the pictures. And the eyestrain maybe because of a wrong IPD in the video material?(my IPD is 66mm, the lenses were also at 66mm distance, but I don't know the distance of the two images on the screen)

When looking at the screen directly without lenses (~3cm distance to the eyes), the stereoscopic effect was immersive, but the picture was way out of focus, of course. So it must be something off with the lense setup.

Re: [DIY] cheap 7" first-time DIY-HMD with 6DoF Tracking

Posted: Mon Jun 30, 2014 4:53 pm
by Fredz
drifterXF wrote:I almost always saw a second semi-opaque picture, as if the two images didn't overlap completely.
I guess it's because either the interaxial distance (between lenses), interpupillary distance (between eyes) or inter-camera distance (between virtual cameras) are incorrect. The rendering should get all this correctly to produce a fusable stereoscopic image, maybe that can be set in the apps you tried.
drifterXF wrote:Eyestrain. I've read that optics of HMDs allow to focus on infinity, removing eyestrain. But when I relaxed my eyes, the picture started to double - it felt like I had to cross my eyes to get a sharp picture.
You need to place the lenses at a distance from the display equal to the front focal length to get collimated light. You can measure this distance by trying to get the tiniest spot possible from the sunlight.

But I think this problem (double vision) has the same cause than the first one.

And as you said the lenses should be parallel to the display.

Re: [DIY] cheap 7" first-time DIY-HMD with 6DoF Tracking

Posted: Tue Jul 15, 2014 10:09 am
by drifterXF
Ok, I'd like to order the display now, but I'm still unsure which type of screen I want.

I wanted to go with the 'standard' 7" 1280x800, but I've just read about another alternative here: http://www.mtbs3d.com/phpBB/viewtopic.php?f=140&t=19813

About twice the price, but 1980x1200. Worth it?

Other alternatives?

Re: [DIY] cheap 7" first-time DIY-HMD with 6DoF Tracking

Posted: Tue Jul 15, 2014 4:40 pm
by Fredz
I don't know if the RifTUP! is still available, but it's a proven solution it seems since some people are already using it. A bit expensive though.

For the 7" display I would wait a bit for more information and some proof that it's working correctly, because for now there is next to nothing about it. If I was selling those I would give a lot more details to convince potential buyers, at least some confirmation that it can work as a Rift replacement with existing content.

Another option could be to buy two 7" 1280x800 displays and use an arrangement of the panels similar to the InfinitEye with Fresnel lenses to get more FOV. That would still be cheaper than 1080p displays but you'd have to implement the content yourself.

Another option would be to buy lenses better adapted to your smartphone, like the lenses from the Durovis Dive available on Amazon.

Re: [DIY] cheap 7" first-time DIY-HMD with 6DoF Tracking

Posted: Wed Jul 16, 2014 4:05 am
by drifterXF
Fredz wrote:I don't know if the RifTUP! is still available, but it's a proven solution it seems since some people are already using it. A bit expensive though.
I thought about this one, but unfortunately I read this:
rozsnyo wrote:Here are some update notes:
- we are no longer accepting new orders (hard to manage the building 1-2 per week)
[...]
If there is an interested party in taking over the project and managing sales/manufacturing better, mail me.
:cry:

But still, I don't know if the higher price is justified. A 1080p screen would be about twice as expensive in comparison to the regular 1280x800. But I cannot estimate how much better the 1080p screen would be.

Since this is my first HMD, the dual-screen suggestion is too risky, I think. I don't know if i could get that one to work.
Fredz wrote:For the 7" display I would wait a bit for more information and some proof that it's working correctly, because for now there is next to nothing about it.
Yes, that's my main concern as well.
Fredz wrote:Another option would be to buy lenses better adapted to your smartphone, like the lenses from the Durovis Dive available on Amazon.
Yes, the Dive is available for 58€ for me, but unfortunately it's next to impossible to get a smartphone to work as a simple PC display. The only acceptable solution doesn't allow streaming of fullscreen applications (so it's useless for games).

Re: [DIY] cheap 7" first-time DIY-HMD with 6DoF Tracking

Posted: Wed Jul 16, 2014 12:16 pm
by Fredz
You can find the lenses for much less than the price of the Durovis Dive, $9.99 here : http://www.amazon.com/Shoogee-GmbH-Co-K ... B00COO64IC

Unfortunately you can't buy them from Amazon.de anymore, but I guess they'll have more stock soon since I bought a pair from them some days ago : http://www.amazon.de/Durovis-OpenDive-L ... B00COO64IC

I didn't meant to use the phone as a display for the PC but autonomously. It's less powerful than a PC but much less expensive and not tethered and I guess the experience will be better with lens specifically chosen for this usage.

Re: [DIY] cheap 7" first-time DIY-HMD with 6DoF Tracking

Posted: Tue Jul 29, 2014 6:54 am
by konstantin_lozev
For a lag-free display, would that not be the obvious option:
http://hdmipi.com/
There is already a similar thing, but it seems too bulky:
http://www.adafruit.com/products/1033
Or, ultimately, this can be the solution of low-end PC-compatible self-contained VR headset:
http://www.tomshardware.com/news/micros ... 27252.html

Re: [DIY] cheap 7" first-time DIY-HMD with 6DoF Tracking

Posted: Wed Jul 30, 2014 12:10 pm
by Fredz
konstantin_lozev wrote:For a lag-free display, would that not be the obvious option
No, it's 1280x800 but with a 9" diagonal, way too big. And at $127 (75£) it's almost twice the price of the N070ICG ($75.99, controller board included).
konstantin_lozev wrote:There is already a similar thing, but it seems too bulky
The diagonal is good (7") but it's $159.95.
konstantin_lozev wrote:Or, ultimately, this can be the solution of low-end PC-compatible self-contained VR headset
I doubt they'll be available with diagonals < 8".

Re: [DIY] cheap 7" first-time DIY-HMD with 6DoF Tracking

Posted: Wed Aug 20, 2014 2:35 pm
by leoburton
@DrifterFX

How is the build coming along? I'm keen to see how you're getting on. I'm also in the process of building an HMD, using this is a starting point:
http://www.dx.com/p/neje-lj-01-universa ... ack-332676

I love your head tracker. It works perfectly!

I have a question...would it track you 360degrees if you added more LEDs around the back and sides? Can the software handle that? Would one camera be able to track all of them?
I only ask, as I'm also building an omnidirectional treadmill (a la Omni/Virtualizer) using an acrylic dome, or a satellite dish. I want to play FPS and be able to turn 360degrees in the ODT.


Any thoughts?