Talk:Motion analysis

From WiiLi

Jump to: navigation, search

rollireldara Looking at the LiveMove video demo, thats the Wii mote working on a Windows computer? So surely the LiveMove software comes with bluetooth drivers for the wiimote? or is it just recording the 6 positional values and storing them in some kind of macro type thing (Similar to the video posted on the front of this wiki).

The Windows computer is probably talking directly to the Wiimote, as it would be really annoying to have to transfer data from the Wii to the Windows computer. Since the people who wrote LiveMotion were given the actual documentation describing the Wiimote commands (rather than having to reverse engineer it), it probably took them no time at all to write the driver. (There's nothing magic about the Bluetooth interface. The hard part is figuring out how to tell the Wiimote what to do with no help from the engineers who made it.) Volsung 13:27, 30 November 2006 (PST)

Contents

[edit] Latext errors

Sorry About LaTeX , I'll fix it toonight... Wiili done! Wiili

Rock on! Thanks. Volsung 20:15, 29 November 2006 (PST)

Still gives me errors.--henke37 05:18, 6 July 2007 (EDT)

I noticed the LaTeX errors as well and just registered to try to fix them. It looks like there's a problem with creating PNGs for equations that don't already exist, rather than the actual LaTeX for the formula themselves. Maybe a permissions problems into whichever directory the LaTeX stuff is trying to write its images? If it worked for Wiili, maybe he could re-edit the page and see if that makes the images appear - he might have permissions that the rest of us out here don't. jimll 15:29, 8 November 2007 (GMT)

[edit] Calibration

It seems that

 z_1 \approx y_2 \approx x_3 \approx g

Shouldn't then the normalization equations go:

 x = \frac{x_{raw} - x_0}{x_3 - x_0}
 y = \frac{y_{raw} - y_0}{y_2 - y_0}
 z = \frac{z_{raw} - z_0}{z_1 - z_0}

? (Also, something weird seems to be going on with the math tags!)

--Haibokusha 11:55, 22 December 2006 (EST)

[edit] Some big mistakes...

The rotation around X is: rot_X = atan2(acc_Y, acc_Z); // PITCH

The rotation around Y is: rot_Y = atan2(acc_X, acc_Z); // ROLL

Only works from horizontal position!

If you have two vectors - say S and E - and want to calculate the pitch and roll, first rotate the E backwards with the pitch and roll of S. Then calculate the angles of the resulting E´.

3D Geometrics are tricky.

Harald

-- There is some Objective-C Source handling the Wii at: http://daten.htlwien10.at/~hdwoernd/WiiMote_0.1.dmg (for Mac-OS users only)

[edit] Differential equations and implementations

This algorithm looks great. However I don't know differential equations very well and so I don't really understand the description fully. I don't even understand it enough to implement it. Would someone be willing to write an example implementation (in any language, but C might be best)? Or has someone already implemented it?

Thanks. - Amp 11:24, 2 March 2007 (EST)

[edit] Lost

Sorry guys but I am so lost here. I understand the basic concepts of integrating acceleration etc but the actual formulas are kind of losing me. Is there a simpler way to explain this like maybe without shifting the frame of reference or something?

[edit] Might be able to help with analysis

Hey all, I'm doing some grant work for my (former) university involving personal activity sensing/logging. Coincidentally, we're using the ADXL330s as well, so I stumbled across this page. Now that our system is finished, all of my work is focused on analyzing the accelerometer data to generate some sort of useful data. I don't have time to share all of my work right now (its almost 4am and I have to be in the lab early tomorrow), but I do hope I can contribute something to this community. I've already gotten some interesting ideas after looking through these pages.

A quick thing I did notice on this page is a possible problem with the calibration technique. I tried applying it to my *very* rough calibration and did not achieve an appropriately scaled result.

Image:hand.jpg (original)


Image:hand3.jpg (calibration mentioned on this page)


Image:hand2.jpg (my own technique)


Note that the blue line is the X axis, the green is the Y, and red is Z. my version is scaled to G's. Also, ive upsampled the 2nd and 3rd graph data by 10 (in order to do filter stuff better).

My biggest problem is isolating the gravitation acceleration from the movement/rotational force. So far, ive seen alot of theoretical speculation on this page on how to achieve rough results, but has anyone done any high-precision stuff?


Also, for what its worth, ive put together a quick and easy sys of eqs for tilt angles (if you are working only with grav-accel):

thet = x-z rotation around the y axis phi = y=z rotation around the x axis gam = x-y rotation around the z axis G = sample value of 1G offset = Vdd/2 (your 0G should sit at almost exactly half of your voltage supplied to the ADXL330. we actually regulate to 2.5 down from 3.7 and monitor this voltage on each of our units in our system)

x = G*sin(thet)*sin(gam)-offset y = G*sin(phi)*cos(gam)-offset z = G*cos(thet)*cos(phi)-offset

obvious stuff, but I havent seen it posted up yet.

[edit] axis graphic wrong?

I'm just getting started with this (picked up a remote last night), but it appears to me that the graphic has the Y and Z axis switched. I used GlovePIE to display the RawForceX Y and Z while rotating the remote to determine this. As I understand it, when I hold an axis parallel to the ground, and rotate about that axis, there should be no (minimal) change to it's measurement. However, when rotating about the indicated Y axis, Y changes and Z doesn't; and vice-versa.

Sorry about the a/c, just wanted to toss this out.

ridefst

Personal tools
Online Casino - best online casino reviews.
Facebook Developers - facebook applications, facebook developers, facebook development, social network application development and viral widget social media strategy