Monday, April 28, 2008

Moving...

I'm moving right now... I haven't worked on this for a little bit but I assure myself that with my new apartment that I'll have a new vigor to continue this development.

Sunday, January 27, 2008

Head Tracker Wired Up...

I've got all three ping pong balls wired up.
From the angle of the picture, its hard to see that it isn't an equilateral triangle. Its a 3-4-5 triangle.


Below, you can see how the ping pong balls diffuse the infared light in an omni-directional fashion. This makes the light direction-independent so that the LEDs don't need to point at the camera for the camera to see it.

Saturday, January 26, 2008

New IR Tracker Built... (and some back-reporting)

I've created my new IR Tracker rig. It is a triangle of dowels with differing length sides. On each point is a ping-pong ball surrounding it flooded with 6 IR LEDs.
Once I implement multi-point tracking, I'll be able to determine which point is which by finding the lengths between markers as well as angles.


Friday, January 18, 2008

Alternative Methods and Refinement...

I've made a new IR ball from my new LEDs. Using just 6 leds they blow my 8 radioshack led array out of the water. I have an initial test recorded as well for you to watch.

Next comes some multi-point sensing and possibly a little point smoothing.


Please note, the virtual wire-frame ball in the video is not to scale, it is enlarged for visibility, and therefore appears to move less than my actual ball is moving.

Tuesday, January 15, 2008

Expandable Wiimotes and Selection Buffer Rendering

Tonight I implemented an expandable wiimote architecture that allows you to add wiimotes one by one. I would like to improve it by having multiple wiimotes register at the same time, similar to the example in wiiuse. Presently it asks for one, registers it, then asks for the next. It keeps going until you don't give it one and starts the rest of the program.

My VR glasses are calling my name... I need to hurry up so that I can use them. I have been so caught up in prototyping this application test that I have stopped working on the physical hardware. I have yet to even test my new IR LEDs that I mail ordered.

Tonight I finished right before I did the selection buffer deciphering. Since it's not a straight up array of visible items, I'll wait until tomorrow to work on that. Once I have the selection buffer and two-line intersections created, it should be trivial to correlate lines to points.

Sunday, January 13, 2008

This week's update.

Between getting sick, personal priorities, and other issues, I ended up not working too much this week... yes, quite disappointing for the 2 people (so far) that read this.

I've gotten multiple wiimotes to connect to my program, and I've got a simple 3d interface set up through GLUT for prototyping. Now I've got to clean the code up so that it is expandable at least to hardware limits (7 devices per bluetooth device).

Included in this post is a youtube video of my interface in action tracking a single point. I've tested it with multiple points, but without c-stands for my wiimotes its hard to get a good video.

(The white boxes represent the wiimotes, the red lines are the vectors toward the IR source as seen from the wiimote, and the white to black gradient lines are the frustums of the wiimotes.)


Sunday, January 6, 2008

Radioshack had the answer.

I ended up going to 3 Radioshacks and I bought each one out of all the IR LEDs they had. I put 8 on a single ping pong ball.

The Result? Now I can see the ball, with the default IR settings, from over 12 feet away as a solid dot. This enables me to start programming some really basic cross communication between wiimotes.

Unfortunately, 8 IR LEDs take a hefty amount of power. I'm starting to look into high power, high mAH rechargeable batteries that can be carried. First that comes to mind is a laptop battery.

I've also orderd some 60 degree High Powered IR LEDs that are 940nm wavelength. That way I can get a wider angle, cover more of the ball, and have them brighter. The light output is 60mw rather than 15. In addition, they draw 1.4v rather than 3 and only use 100ma rather than 150ma.

They are on their way from florida, so next time I post, I'll probably have my LCD glasses instead of my LEDs.

Friday, January 4, 2008

So my IR leds came, right after work I rushed home to play around and see what kind of results I got. I ended up with awful results, I couldn't get more than 4 inches away.

So it turns out, that the wiimote has a low frequency filter, it happens to be of a frequency just high enough that it filters out almost all of the IR that the specific LEDs that I purchased produce. I can either buy new IR LEDs or replace the filter on the front of the wiimote. Since the project's intent is to use wiimotes from the factory, I'll be buying some new LEDs. My 2 dollar LED from radioshack (including an IR receiver) beats out 8 of my special order LEDs. Even when teh 2 dollar LED is diffused and the other is not.

Now to find a good electronic component supplier in West LA.

Wide Angle IR LEDs on the way

I've ordered some IR LEDs with a very wide visibility angle: 120 degree visibility, 50 degrees from center to the half intensity. That, and the output energy is about 40% greater than the IR LED purchased from radioshack.

Paired with a new strategy of mounting the LEDs internally (rather than an outside looking in mentality) this should give me some decent distances.

I'm shooting for 10' of non-flickering visibility. After searching on the web all over for some increased wiimote blob tracking sensitivity settings, I'm left to two possibilities. Write a brute force sensitivity settings finder, which if it works could benefit the entire community (but would take a very long time as there are a ton of possible settings), or over-saturate my ping pong balls with IR light. I'm planning for the worst (over saturation) and hoping for the best. While I wait for the IR LEDs to arrive, I am working on the 3d tracking layout as well as trying to determine the best auto-calibration setup.