1 / 42

Inertial Sensors Using Accelerometers & Gyro’s for FIRST Robotics

Inertial Sensors Using Accelerometers & Gyro’s for FIRST Robotics. Jan 6, 2007 Chris Hyde (Also of Team 1073 TheForceTeam.com ). During the Game (particularly Autonomous) Things you might like to know. How far has the Robot traveled? Did it turn? How much? Where is it now?

johana
Télécharger la présentation

Inertial Sensors Using Accelerometers & Gyro’s for FIRST Robotics

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Inertial SensorsUsing Accelerometers & Gyro’sfor FIRST Robotics Jan 6, 2007 Chris Hyde (Also of Team 1073 TheForceTeam.com )

  2. During the Game (particularly Autonomous)Things you might like to know • How far has the Robot traveled? • Did it turn? How much? • Where is it now? • Where is it pointing (orientation)? • Is it level or on an incline (or on it’s side)? • Did it hit something? • Things Inertial Measurements can Answer

  3. Newtonian Mechanics Coriolis Acceleration MEMs Data Acquisition Filtering Integration zeptofarads PID Algorithm Inertial Navigation & Odometry

  4. “I LOVE THE SMELL OF PHYSICS IN THE MORNING”(with regrets to Coopola) • Newton’s 1st Law • “Every body continues in its state of rest, or uniform motion in a straight line, unless it is compelled to change that state by forces impressed on it” • Newton’s 2nd Law • “Acceleration is proportional to the resultant force and is in the same direction as this force” • Which translates to… • F = ma = mf + mg • Where f = Acceleration from force F, other than gravitational acceleration (g)

  5. Inertial Measurements • What do you need to measure? • Tilt (inclination) - Accelerometer • Acceleration (speed & distance via integration) - Accelerometer • Shock - Accelerometer • Vibration - Accelerometer • Angular rate (rotational) - Gyroscope

  6. Inertial Sensors 101 What Does an Accelerometer do? • Measurement of static gravitational force • e.g. Tilt and inclination • Measurement of dynamic acceleration • e.g. Vibration and shock measurement • Inertial measurement of velocity and position • Acceleration single integrated for velocity • Acceleration double integrated for position

  7. How Do Accelerometers Work? • Acceleration can be measured using a simple mass/spring system. • Force = Mass * Acceleration • Force = Displacement * Spring Constant • So Displacement = Mass * Acceleration / Spring Constant Change in Displacement Add Acceleration MASS MASS

  8. So What’s all this MEM’s Stuff ? Micro Electro-Mechanical Systems Silicon that Moves

  9. SPRING APPLIED MASS ACCELERATION ANCHOR TO SUBSTRATE CS1 < CS2 FIXED OUTER PLATES RESPONDING TO AN APPLIED ACCELERATION (MOVEMENT SHOWN IS GREATLY EXAGGERATED) SENSOR AT REST How Do MEM’s Accelerometers Work? • We use Silicon to make the spring and mass, and add fingers to make a variable differential capacitor • We measure change in displacement by measuring change in differential capacitance

  10. Silicon that MovesSuspended Structures

  11. MEM’s Accelerometer Source: Great MEMS education sitewww.ett.bme.hu/memsedu/

  12. C to V conversion ~100KHz CLOCK A MOVABLE BEAM ACCELERATION AMP UNIT CELL CLOCK B RECTIFIED VOLTAGE OUTPUT SYNCHRONOUS DEMODULATOR

  13. ADXL203 2D Accelerometer Die Photo

  14. ADXL 2D Proof Mass & Springs • All anchors placed close to the beam center • Stoppers at the outside of beam • Self-test elements at the outside of beam ADI Proprietary Information

  15. Determining RotationCoriolis Effect and Acceleration Acor v w Acor = 2 * (w * v) • w = applied angular rate • v = Velocity Left Image Source: Wikipedia http://en.wikipedia.org/wiki/Coriolis_effect

  16. Gyro What Does a Gyro Do? • Measures angular rate (how fast it is turning around its axis). • Measures change of inclination or change of direction by integration of angular rate.

  17. Gyro Principle of Operation • How does it measure angular rate? • By measuring the Coriolis force • What is the Coriolis force? • When an object is moving in a periodic fashion (either oscillating or rotating), rotating the object in an orthogonal plane to its periodic motion causes a translational force in the other orthogonal direction. ROTATION CORIOLIS FORCE OSCILLATION MASS

  18. MEM’s Gyro Operation Coriolis acceleration Coriolis Sense Fingers Resonator tether Resonator Resonator Drive Fingers Applied Rotation Resonator motion Accelerometer frame Accelerometer tether

  19. MEM’s Comb Drive Source: www.ett.bme.hu/memsedu/

  20. Gyro Animation Source: www.ett.bme.hu/memsedu/

  21. ADXRS150 Gyro Family Beam Structure Beam movements 16 femtometers (0.000116 Angstroms) Hydrogen 0.5 A Diameter Resolve 12 x10-21 farads(ZeptoFarads)

  22. iMEMs - Integrated IC with MEM’s

  23. Resonator Control Loop Drive  = +90° Sense Clipping Amplifier Trans-resistance Amp

  24. Coriolis Measurement Signal Chain Moving Fingers @ ~+1.5V Beam Gain proportional to temperature Trans-Capacitance Amp Fixed Finger @ +12V +12V

  25. Coriolis Measurement Signal Chain …How it really works Beam 1 Trans-Capacitance Amp Beam 2 Max Out ~ 300uV Large common mode signals (shock) are removed before amplification, so huge dynamic range is available

  26. Applying Accelerometers and Gyros in the Robot Some things to do, don’t do, etc.

  27. Placement & Mounting • Q: Does it matter where & how they are mounted? • A: Yes and No. • Best sensitivity when mounted in proper orientation • Keep level for Navigation, Mount on side for tilt • Avoid vibration & places that flex - Makes measurements easier • Doesn’t need to be at center of rotation • Keep them “electrically close” to the controller • Wire parasitic resistance will reduce performance • Keep wires short

  28. Limits on Rotation Rate • The kit gyro is an +/- 80 degree/sec device • Use in Autonomous mode is OK with slow turns • Rotation > 80 deg/s will not be shown at the output • While there is a work around if you had access to the pins of the gyro, the FIRST board doesn’t have that access. • If you did you could put a 60.4K resistor in the feedback of the on chip output amplifier (pins 1B to 1C), shich would give 320 deg/s • Buy ADXRS300EB or ADXRS150EB Evaluation boards from DigiKey and use them (300 or 150 deg/s) • www.digikey.com

  29. Getting the data into the controller • Voltage outputs need to be sampled by the controller A/D converter. • Must sample at > 2 x the highest frequency (Bandwidth) • Should sample more • Use added samples to do some averaging to reduce noise, errors • Can increase resolution by oversampling (>> 2X freq) • Supported in EZ-C • Good insight and details at Kevin Watson’s wonderful site • www.kevin.org/frc • Also www.Chiefdelphi.com • READ THE DATA SHEETS !!!

  30. What to do with the data? • To get distance traveled, integrate twice the accelerometer data. • To get rotational change, integrate gyro once. • Good white papers at www.chiefdelphi.com • Use in PID control to guide your robot

  31. PID Algorithm • P - Proportional - The amount of correction (Gain) is based on (proportional to) the error between where we are and where we want to be • I - Integral - The amount of correction (Gain) is based on the amount of time the error has gone uncorrected • D - Differential - The amount of correction (Gain) is based on how fast the error is changing - Anticipate the future

  32. What do the Gains do? • The Gain terms define how important each of the PID terms are. • Kp - Proportional Gain - Determines how fast your system reacts to error • Ki - Integral Gain - Determines how hard your system will push to overcome error. • Kd - Differential Gain - Limits the change in response to error. Helps to dampen or smooth the reactions.

  33. How do I Tune my PID Control System ? • Start by setting the Proportional gain (Kp) lowSet the Integral and Diferential gains (Ki, Kd) to zero • Increase Kp until the system starts to react quickly enough. It will overshoot if you set it too high. • Now increase Kd to compensate for overshoot. Now the system should react smoothly.

  34. How do I Tune my PID Control System ? • But you might notice that it never reaches the goal. That is because resistance in the system is holding it back and as you near the goal, the proportional term gets smaller and doesn’t provide enough force to move the mass. • Now it is time to increase Ki. Over time the error will build and the I term allows the system to overcome resistance. • You’ll probably need to go back and tune each of the terms to get the response you want in the time you have.

  35. Thanks and Good Luck ! Extra support material follows

  36. Common Questions – Accelerometer & Gyro • Why is there a maximum shock rating? • Inertial sensors have moving parts inside. If you shock them hard enough, you can break them. • What happens if I exceed the maximum shock rating • Generally nothing. Most of our inertial sensors can handle very large shocks (tens of thousands of g) several times. But do it often enough and you may cause damage. • What does the output do during high shock events? • The output may rail for a short time (time constant determined by filter bandwidth) • Occasionally output may be stuck at rail until power is cycled

  37. Common Questions – Accelerometer & Gyro • What is temperature hysteresis? • All MEMS sensors (and most sensors in general) have some degree of temperature hysteresis. • The zero point varies depending on whether the part goes from cold to hot, or hot to cold (see graph) • The amount of hysteresis for a given part depends on the magnitude of the temperature excursion. Temperature Hysteresis

  38. Common Questions - Accelerometer • Why is the output not Vdd/2 (or 50% for PWM outputs) at zero g? • Initial zero g output varies from part-to-part, and also over temperature. Each part number has a specified initial zero g output on the data sheet. • Why is the initial zero g output different on the X and Y axes? • The 2 axes are independent. Both axes zero g output will comply with the spec sheet. • Why does the zero g tempco, self test response, initial zero g output, you-name-it, vary from part-to-part? • Because it does. Sorry, you have to live with it. We offer a broad array of parts with varying levels of accuracy. Choose one that has the performance you want.

  39. Common Questions - Accelerometer • I am only interested in tilt information. Why does acceleration information corrupt the output (or vice versa – I want acceleration, but tilt disturbs me)? • Tilt and acceleration are indistinguishable to the accelerometer. They are both acceleration. They only differ in frequency content. One can use a filter (high or low pass) to remove the undesirable frequency content, but no filter is perfect. It is very hard to pick out a few mg of tilt information from dozens of g of vibration, for example.

  40. Common Questions – Gyro • Explain noise density, and how does that relate to random angle walk? • Noise on our gyros is expressed in degrees/second/root Hz because the noise is Gaussian (equivalent noise energy at all frequencies). So the total output noise depends on the bandwidth chosen by the user. • Random angle walk is expressed in degrees/second/second, so if we look at a 1 second period, the random angle walk is equivalent to the noise density • So can I reduce the bandwidth to almost zero and get virtually no noise? • No. Reducing the bandwidth below the 1/f frequency (0.3Hz) of the output amplifier offers no further improvement. • So how can I reduce the noise further? • You can average the output if several gyros. For n gyros the noise will reduce by a factor of SQRT(n).

  41. Common Questions - Gyro • If I integrate the output over time the zero position drifts. Why is this, and how much drift can I expect? • Integrating the gyro output over time allows errors to accumulate and grow. • All gyros experience this effect. It is usually referred to as Null Stability, and expressed in degrees/hour. • There are 2 sources of error that impact null stability over time • Null stability over temperature • Allen variance • Null drift due to temperature is the dominant mechanism • A 3 point temperature compensation scheme will give you about 300 degrees/hour null stability. More points will do better. • Allen variance is an expression of the average over the sum of the squares of the differences between successive readings of the null output sampled over the sampling period. • ADXRS150/300 Allen variance settles to about 75 degrees/hour • This is as good as you’ll get, even with perfect temperature compensation

  42. Common Questions - Gyro • Why is your gyro so noisy compared to …… • Our gyro might appear noisy on the bench, but… • Our design is very resistant to external shock and vibration. • Virtually all of our competitors are very sensitive to external shock and vibration. It adds a lot of noise to their output. • As a result, in the real world our noise performance is usually better than our competitors. Often by a wide margin.

More Related