# I Simple question about acceleration from accelerometer

Tags:
1. May 24, 2017

### Tibo

Hi,
I'm currently developing an application. I'm practically done, but I have one big issue (for me). So I have 3-axis acceleration from my android device. Now I want to have the general acceleration at time t, because after that i want to calculate velocity.
So, what I know:
to get velocity there is this formula : v=u+at
to get the general acceleration: √x^2+y^2+z^2

The problem: With this two formulas my acceleration is always positive so my velocity is always speeding up.
Is this normal ? How to I get negatives accelerations ?

2. May 24, 2017

### Staff: Mentor

Does your device give you both positive and negative acceleration values?

3. May 24, 2017

### scottdave

Since acceleration could be positive in x direction and negative in y direction and either in z direction, which is it. Acceleration has magnitude and direction. But if you are wanting to display a positive or negative (representing speeding up or slowing down) then try this: calculate vx = ux + axt, vy = uy + ayt, vz = uz + azt. Then find the value of |v| = √(vx2 + vy2 + vz2). Then you could look at the current |v|, see if it is greater or less than the previous |v|, then you will know if acceleration is positive or negative.

4. May 24, 2017

### Tibo

Yes it gives me both negative and positive values

5. May 24, 2017

### Staff: Mentor

Okay. Now, are you working solely in one dimension, or do you need to know the 3-dimensional velocity?

6. May 24, 2017

### Tibo

I need to know the 3-dimensional velocity. But my device theoretically moves in 2-dimension (x,y) y is like a kind of noise if you know what i mean, but i take it into account.

7. May 24, 2017

### Staff: Mentor

I don't know what you mean, but I'd say that you should track the devices velocity and acceleration in each dimension as well as the total velocity. We can call the total velocity "speed" and just take it as the magnitude of the velocity, where the individual velocities of each dimension are the vector components. You can then pick a direction that you want to call the "positive direction" and if your vector points in that direction then the velocity is positive. If not, it's negative.

8. May 24, 2017

### Tibo

I get the idea, hope it will work, thanks for the answers :)

9. May 25, 2017

### scottdave

I just realized at least one situation, where my method of calculating |v| and the change in |v| won't yield proper results. If the accelerometer is moving in a circle, you could have a constant magnitude acceleration (pointing toward the center) and constant magnitude velocity (tangent to the circle). Any time you are stripping the direction portion of a vector and turning it into a scalar, you will lose information about what is going on.
The idea of picking one direction to be positive, and reference everything to that has some merits. I guess it depends on your application, and what type of information you are trying to convey.