Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Tracking

Status
Not open for further replies.

ashfsk

New Member
Hello all. Im working on a 6-DOF tracking system using MEMS sensors. I have identified ADXRS150 to determine yaw and ADXL103 to determine acceleration along one axis which would be integrated to obtain position.

Now I need to find position along 2axes & pitch, roll. I had identified ADXL203 for this purpose. It can be used as a tilt sensor. My question is can it be used to find roll, pitch and acceleration along 2 axes simultaneously???

For example: assume my object is moving along say y axis and simultaneously rolling, how will that be detected?? I guess I would need two such sensors. Please give ur suggestions on this.

Thank You.
 
PARTS:

You need 6-axis to track 6 DOF. 3 of those axis can be acceleration and 3 can be rotation, or all 6 can be acceleration. You can use the normal acceleration formulas to figure out the rotation in different axis if you position the accelerometers right. I suggest you use two 3-axis acceleromters like the ADXL330 (is that what it is? there's onyl one from Analog Devices).

You place it one accelerometer at one corner of the board, and you place the second accelerometer at the opposite corner of the board (across the diagonal from the first).

That way if the board rotates in any direction, the ICs are arranged so you can pick up the acceleration around the center of the board. You take the accelerations that are common to each axis between the two accelerometers to get the linear accelerations. You then can then subtract out the linear accelerations of the two accelerometers to get the accelerations purely due to rotation (the normal acceleration). If you know the distance between the ICs (which gives you the radius of rotation about the center between the two ICs) you can use the normal acceleration in a simple equation A_normal = (V_tangent^2)/r and V_tangent=wr to determine the angular velocity- which is what a gyroscope will do. I know of no 3-axis IC gyros though and it's nice to nto have to mount boards 90 degrees to each other, and although it's equally easy to get the calibrate for bias drift between an accel and gyro, it's much easier to calibrate for the scaling factor drift in an accelerometer (you need spinning tables with speed-control to calibrate gyros). I would go with 2 3-axis gyros just for the reason that 3-axis gyro ICs do not exist and I like to keep everything flat on the board (none of this mounting a PCB 90 degrees to another PCB garbage).

PROBLEMS:
You need to double-integrate acceleration to get position, which will amplify unbounded errors VERY quickly. The same thing happens when you use a gyro to track orientation since you must integrate the rotation velocity to get rotational position. It's not as severe since it's onyl single integration isntead of double, but it's still quite severe. For getting speed from acceleration, you also need to integrate once but if you can stop, you canreset the speed to zero and correct for drift in tilt (pitch & roll). This does not work with position or heading/yaw for obvious reasons.

So...gyros or two accels used as a gyro can track dynamic tilt (roll and pitch) but they drift since you need to integrate and will cause unbounded errors. YOu either need to be able to stop frequently enough to reset the error to zero.

Obviously this does not work with position or heading (yaw) so you should add a 3-axis magnetic compass to bound the error on your heading/yaw, and maybe GPS too to bound error on your position. THis is best for outdoors use obviously since indoors magnetic anomalies and interference can prevent GPS or compass from working. Since GPS/compass is more reliable long term but inertial sensors are more reliable short term, you make the compass and GPS readings slowly affect the overall readings over time. THis lets you take advantage of the short-term accuracy of inertial readings and long term accuracy of the compass readigns. If you are in an area of magnetic anomaly or lose sight of the GPS for a while, it's not a big problem since their effect on the overall readings are slow. Only when you lose sight of the sky or are in a magnetic anomaly for too long will your readings be very skewed. Even then, all you have to do is get sight of the sky and the earth's magnetic for long enough and everything will be corrected (since those are absolute readings rather than the relative readings the inertial sensors give for position and heading).

Static pitch and roll are no problem for inertials sensorsto zero. YOu use the accels to get absolute tilt every time you stop and use the gyros to keep track if dynamic tilt. And every time you stop the accels will find the absolute tilt again and reset the gyro errors to zero. The static tilt of the accelerometers are more accurate than the compass and GPS- in fact the tilt from the compass readings are requierd for the GPS to function in 3-axis mode. So I'd rely on the inertial sensors exclusively for tilt (as long as you can stop frequently enough).

Good luck! Good IMUs are a #$*@#$# to build.
 
Last edited:
Status
Not open for further replies.

New Articles From Microcontroller Tips

Back
Top