Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using accelerometer to calculate speeds

I've been doing a bit of research on a problem we are trying to solve. I think this is the best approach but please add in your opinions

We are trying to calculate reaction times in a real world driving scenario and would like to use a mobile phone as the data collection device. What we are trying to accomplish is how much acceleration and more importantly deceleration a driver exerts when exposed to certain prompts.

I found this paper that has allot of useful information Accelerometer physics

The problem is that we most likely will not have a calibration time to start at zero.. however it is assumed that the driver is starting at 0. We will use GPS positioning to locate the vehicle, tracking the time stamped location data we should calculate the time when the prompt took place then using the time stamped accelerometer data we should be able to calculate their reaction to the prompt.

This is the best way I have found to solve the problem however I'm not sure if the accelerometer data will be rendered useless because of not being able to calibrate it and also the noise seen from vibrations may be too great to use the data... Has anyone tried or used these types of methods before?

like image 514
Monergy Avatar asked Jun 06 '12 20:06

Monergy


People also ask

Can we calculate speed using accelerometer?

Simple answer: you can't. You need the initial speed, and then you can measure how the speed change. If you know the initial speed ( for example 0m/s), then you calculate the speed as v = at + inital speed.

How do you calculate speeds?

To work out speed, divide the distance of the journey by the time it took to travel, so speed = distance divided by time. To calculate time, divide the distance by speed. To get the distance, multiply the speed by time. You may see these equations simplified as s=d/t, where s is speed, d is distance, and t is time.

How do you calculate acceleration from an accelerometer?

An accelerometer actually measures normal force or restoring force which we equate to acceleration using the formula, F=ma.


1 Answers

Interesting application.

You are missing an important point. You either have to implement the so-called sensor fusion yourself or use the sensor fusion provided on the platform you are using. Both Android and iPhone have one.

The TYPE_LINEAR_ACCELERATION (Android, SensorManager) or userAcceleration (iPhone) should be sufficient for you.

As for the linked PDF, don't try integrating the acceleration, you will get very poor results. Even though that answer is about position, the velocity will already be inaccurate. I would try the GPS instead.

like image 177
Ali Avatar answered Sep 28 '22 05:09

Ali