Arbre said:
Nordstrom said:
The SIXAXIS can detect tilt and acceleration but it doesn't work as a pointing device. In addition to tilt and acceleration, the Wiimote detects the location of the sensor bar to do the pointing. The two controllers are not directly equivalent. Wiimote = SIXAXIS + pointing. The SIXAXIS motion sensing is equivalent to the nunchuck by itself.
Don't get me wrong, but from the moment you can detect rotation, it means you can know the orientation of a device, and from the moment you can gauge acceleration, it means you can know the latest position of same device.
With all this, you could exactly make a pointer. You just need to strap a laser on it.
Check out this page [http://graphics.cs.ucdavis.edu/~okreylos/ResDev/Wiimote/index.html].
In theory, accelerometers can be used to measure position but with real-life implementations it doesn't work. It's a difficult technical problem.
1. To accurately measure position, you need perfect measurement accuracy. That isn't going to happen for surface-mount accelerometers that go into a $50 product. One web source says they only cost Nintendo 50 cents each. I don't know if that's correct but it sounds about right.
2. Accelerometers can't tell the difference between acceleration due to gravity and acceleration due to moving your hand. Yes, there are algorithms that have been developed to estimate and subtract off the influence of gravity but these algorithms are also subject to error.
3. Tilt is estimated by looking at how the acceleration due to gravity changes with the rotation of the device. However, this information is also mixed in with hand motions. In effect, they are trying to estimate 6 axis' of motion (3 translations, x,y,z, and 3 corresponding rotations). However, they only have 3 sensors. To measure all of the directions accurately, they need to add three gyroscopes. The Wiimote doesn't have gyroscopes because they cost too much. (For math buffs: this is like trying to solve an equation that has 6 variables while only knowing 3 of them.)
4. Accelerometers don't measure position. They measure the change in the change in position. Said another way, accelerometers measure the change in velocity. Converting from acceleration to velocity to position is such that small measurement errors lead to larger errors in the estimation of position. This is called drift. You could be holding the wiimote perfectly still but the wii will be seeing your hand slowly moving upwards. Subtracting off this drift means that the position is no longer known. (For math and physics buffs: errors in the estimation of the acceleration due to gravity of 0.1% (i.e. 1/1000g) over 5 seconds would lead to a positional error of half a foot. Converting from acceleration to position involves two integrations.)
5. Detecting the small tilts required to aim a pointer require
- measuring changes in acceleration due to gravity as the device rotates.
- the hand not to be moving in other ways
- knowledge of how the wiimote is positioned relative to the TV.
This is why there is a sensor bar. There's a CCD (i.e. video camera) in the front of the Wiimote that sees the sensor bar and figures out where the Wiimote is pointing.
(Okay, I went overboard but it's an area of my expertise and I got excited.)
In short, I'm really impressed with how well Nintendo has implemented the wiimote but there are limitations due to the nature of the technology. The CCD is used when you're aiming. The accelerometers are used to detect larger motions like swings, tugs, and tilts.
I'll give it a rest now.
Karl