Author Topic: 4 ir led tracking  (Read 9454 times)

Offline niku

  • *
  • Posts: 1
  • Karma: +0/-0
    • View Profile
on: April 07, 2011, 10:47:56 AM

Im trying to track 4 leds with my wiiremote but I can not really get it working. The wii usually will not read allt the 4 points,  it works good with the point one and two. When I get it to track 4 points properly, I have another problem. The points keep jumping back and forth. So I am just wondering what kind of system do other people use for tracking 4 points, is there any way to decide what points to use? I have tried many different software but the same problem always occurs.

Also, I am working with OpenFrameworks and the ir-leds are attached to the corners of a square surface. The leds are about 1000nm...
Best regards,

Offline zainey

  • *
  • Posts: 64
  • Karma: +2/-0
    • View Profile
Reply #1 on: April 07, 2011, 10:24:26 PM

It seems the wiimote is losing the IR points because the sensitivity of the IR camera is too low.

Its tricky to fix this problem, but the wiimote camera can be programmed to increase its sensitivity from the default setting you may be encountering.

There are a number of things you can do to check this.

1. Is your wiimote genuine. Non-genuine wiimotes have poor tracking peformance.

2. Do the LEDS operate at 940nm, which seems to be optimum for IR sensitivity.

3. Do the LEDs have enough current. I like to put 1.5 Volts, or 100ma across each one for extra brightness.

4. You can check the LED performance independently using FreeTrack. There is a sensitivity slider and IR camera view feature that shows whether your wiimote is detecting these points properly, and whether the sensitivity can be improved.

5. If you are good at programming, the FreeTrack open source software has the sensitivity improvement code in it. You can also consult WiiBrew about it as well.

6. I have implemented a sensitivity improvement code in Glovepie for use with a whiteboard program.

See here (registered members only)

Good luck.

Offline shwhjw

  • *
  • Posts: 4
  • Karma: +0/-0
    • View Profile
Reply #2 on: September 08, 2011, 10:08:46 AM
I am having the exact same problem as the OP. I am using an official Nintendo Wiimote and Sensor bar.

I know why the problem is happening - I am getting the screen position from the average of the 4 dots' positions (ranging from 0.0 - 1.0). When a dot is no longer seen it causes the cursor to jump.

I sort of overcame this problem by only taking into the averaging equation the dots which I could see. My guess is that the more dots there are, the more there are to disappear. I can reach the edges of the screen only by pushing through the jumps (the cursor eventually reaches the edge when there is only 1 IR dot visible).

Is there a better way of smoothing instead of averaging? I need a way which won't cause the cursor to jump when a dot is lost or found! (sounds impossible)

Failing that, could a better IR source work, instead of the sensor bar?

Any help appreciated, Simon.

Offline shwhjw

  • *
  • Posts: 4
  • Karma: +0/-0
    • View Profile
Reply #3 on: September 08, 2011, 11:36:50 AM
FIXED for now - aiming slides a bit but better than jumping about all over the place.

What I did was store an offset for the cursor so that when a new dot came into play, the new position would be calculated BUT use an offset so that the cursor would not move when the new dot appeared!

i doubt you need telling, but just in case:
offset = old cursor position - new cursor position

Hope this helps.

By the way I am still after better ways of doing this, so if you have any suggestions for me, please post them!