I have searched high and low for some simple physics math to estimate speed (not velocity) using 3 axes, while cancelling out earths 9.81m/s^2 in any orientation.
I just really need an estimate of linear speed is all, no vector (velocity) required. I am not trying to estimate a position from this at all, so please don't respond with "You can't accurately get a position using just an accelerometer.. " stuff. I really just want to know if it's moving or not. I am also trying to avoid calculus if possible (integral I'm looking at you)
This is what I had in mind in pseudocode but it just seems too simple and somehow doesnt correct for gravity (I was OK at Newtonian mechanics but awful at math lol):
(Assuming the unit is turned on at a complete standstill and gives measurements in G)
everything = 0
samples = samples +1
xtotalgs = oldxsgs + xacceleration
ytotalgs = oldygs + yacceleration
ztotalgs = oldzgs + zacceleration
oldxgs = xtotalgs
oldygs = ytotalgs
oldzgs = totalzgs
speed = ABS((xtotalgs+ytotalgs+ztotalgs) - samples)) (minus the number of samples to subtract 1 g from each reading) ABS is absolute value I don't need/want negative values
I would rather be able to factor out gravity without a running total of samples, just for simplicity sake, and I know there's going to be noise that deviates the readings of gravity from 1G, but at least I'll have a starting point.
Anybody know of a better way of doing this?? Want to shoot holes in my math? Am I way off base? Is there a better sensor/application for this? Been done/reinventing the wheel and I don't know it? Find out tonight at 11.
Thanks guys -J