Sensor data analysis

OM222O

New member
Joined
Mar 18, 2020
Messages
2
Hello
I would like to analyze the data from an IMU (returns acceleration and gyroscope data) in order to achieve positioning data for my robot.

For the test setup I just connected the sensor and micro controller to a linear actuator and wrote a program that repeated this steps 25 times:
photo_2020-03-19_02-12-53.jpg
photo_2020-03-19_02-12-57.jpg
1) move backwards for 1 second
2) stop and wait for 1 second
3) move forwards for 1 second
4) stop and wait for 1 second, then repeat

I'm recording the state and the accelerometer data during the 100second period (4 steps, each one second, repeated 25 times) which looks like below:

State:
state.png
(the 0 state is just a very small initialization step and can be considered the same as state 1 or the end of state 4)

X axis acceleration:
x axis.png
y and z axis acceleration will be attached in the next post (since I'm only allowed 4 attachments per post).

As you can see there are some spikes in the data which obviously don't exist in the real world and can throw off measurements by a lot! what is the best way of deleting these spikes from the data?
 
Y axis data:
y axis.png
Z axis:
z axis.png

As you can see these spikes are random and not predictable. Once I find them, I can set them to zero to remove their effect, but as I mentioned before, I'm not sure how I can do that without removing useful data as well.
 
Even if you filter out the spikes, your data doesn't look good enough for working out the position. I'd expect to see something like this, from the accelerometer, during a movement cycle:-

Code:
        --------
        |      |
---------      ----------------------      --------
                                    |      |
                                    --------

still   accelerate    top speed     slowing   still

However your data seems like there's constant signal noise during the movement phase, with no discernable acceleration or slowing period.

What is the reason for this? Is there a lot of vibration while the motor is running? Does the unit slide well, or does it move in "jumps" (if so then maybe try some light oil on the tracks). Perhaps put the motor on some rubber mounts to stop it shaking the platform. Or maybe there is electrical noise?

If you can't clean up this data then perhaps a change of plan will be necessary. Maybe switch to a different sensor that can measure the displacement directly?
 
Top