Using accelerometer for shaking and swaying of robot arm - accuracy issues
beckerwv
Posts: 7
Hi All,
I am looking for help in determining what I can use to find the average shake/vibration of an object in X,Y,Z directions as well as the tilt/swaying of that object. Think of trying to track the accuracy of movement on a robotic arm - I want to know if the bots' arm is getting vibrations or if it is swaying back and forth (i.e. when held upright into the air) and I want to know the intensity of these as well. I was attempting to do this with the MMA7455 accelerometer (with the "MMA74553-AxisSpinDemos" code) but so far I am getting values that jump around quite a bit. Maybe I just need a more accurate accelerometer (suggestions please)?
I am new to using accelerometers and frankly I am not sure if I should be using something else (maybe a gyroscope or even multiple devices)? I honestly don't know what I should be using...
Code wise, I was taking 10-20 readings, then summing the changes between these readings to find my shake intensity. Again, I am open to any thoughts or opinions in this area too.
I am using the propeller BOE and spin code.
[FONT=&]Thank you for any help you are able to provide!![/FONT]
I am looking for help in determining what I can use to find the average shake/vibration of an object in X,Y,Z directions as well as the tilt/swaying of that object. Think of trying to track the accuracy of movement on a robotic arm - I want to know if the bots' arm is getting vibrations or if it is swaying back and forth (i.e. when held upright into the air) and I want to know the intensity of these as well. I was attempting to do this with the MMA7455 accelerometer (with the "MMA74553-AxisSpinDemos" code) but so far I am getting values that jump around quite a bit. Maybe I just need a more accurate accelerometer (suggestions please)?
I am new to using accelerometers and frankly I am not sure if I should be using something else (maybe a gyroscope or even multiple devices)? I honestly don't know what I should be using...
Code wise, I was taking 10-20 readings, then summing the changes between these readings to find my shake intensity. Again, I am open to any thoughts or opinions in this area too.
I am using the propeller BOE and spin code.
[FONT=&]Thank you for any help you are able to provide!![/FONT]
Comments
If the arms motion is constrained then you will need to model the kinematics in order to use that fact and interpret the accelerometer readings.
For fully general motion 6 DoF (3 accel, 3 gyro) are required - but even then you have the problem of double-integration of the accelerometer readings leading to rapid drift (and somewhat slower drift with the rate gyro output). For quadcopter IMUs the 6DoF gives you basic flight stability, but not position stability (barometer + GPS can fill that gap, or a pilot!).
For the case of very little actual acceleration then accelerometers are really useful in measuring angle w.r.t. local gravity - a low-pass-filtered version of the acceleration vector might have to be used to reconstruct this information in the face of real accelerations but fast angular changes usually require gyros to track (balancing robots for instance).
At the points where these sensor readings are needed there should be no movement of the robot or its arm - everything "should" be still. But I am worried about ground or motor vibrations as well as swaying from wind the settling of the platform itself. So I guess there is not be any "planned" degrees of freedom, but I am not sure what that means for your question as I know there will be some movement, even if it is only a few millimeters.
I do not currently know anything about kinematics; if you feel I would need this, do you happen to have any references I would be able use make a model and explain how I would use that data?
I think there will be some fast angular changes (swaying of the arm along the vertical plane), so it does sound like I will need gyros - something else I know nothing about yet.
Thanks again for you help with this!
Mark_T, When you say 3 accel and 3 gyro are required, do you mean a 3 axis accel and a 3 axis gyro (i.e. I don't need three 3-axis accels, right)? I am very new to this so I want to be sure I understand.
Also, when trying to determine the shaking/bouncing along the Z-axis (up & down), the reading are greatly inflated in relation to similar X & Y axis movement. Is there a standard way to normalize these readings?
Thanks for your help!!