Jump to content

Determine wen accelerometer date start and stops.


Recommended Posts

Hello,

I'm tring to use an bluetooth accelerator sensor to determine movement. An accelerator sensor always has the problem of drift. Drift means that the speed (1 time intergration of acceleration) doesn't return to 0 after acceleration and decceleration. This causes a small error in the speed but a enormous in the movement.

In my case the accelerator sensor is used in combination with a robot. After every movement the robot stops for a few seconds. This time windows can be used to recalibrate the sensor. I want to add up all the positive (acceleration) and the negative (decceleration) sensor output values and make them equal by multipling the output values by a small (depends on the difference between the two) correction factor.

My problem: I need to determine from which sample until which sample the movement was. Like I sad above the acceleration is 0 if the robot stops. I managed to determine the beginning of the piek but the end appear to be difficult. Can somebody help me with this? Thanks.

Link to comment

QUOTE(Rimmergogo @ May 11 2007, 03:59 AM)

My problem: I need to determine from which sample until which sample the movement was. Like I sad above the acceleration is 0 if the robot stops. I managed to determine the beginning of the piek but the end appear to be difficult. Can somebody help me with this?

Here is a quick-and-dirty solution that you might try.

Your acceleration profile looks pretty symmetric, so you can likely use the same technique to find the stop as you did to find the start.

Use Reverse Array on the acceleration data, negate the result, and run it through the same VI that you used to initially find the start-up acceleration. Just remember that because you've reversed the array, the answer is really going to represent the number of elements from the end of the original (unreversed) array.

Link to comment

Thanks for your reaction.

Thats indeed a good way to find the other end of the peak. I didn't thought of that.

But I need a continuous run. If its possible to isolate a single movement from a much larger array, I can perform all kinds calculations and run some filters on every movement to suppress the drift.

Andries

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.