As I started making the Differential Drive page, I realized that it could be predicated with an article about some fundamental concepts to keep that article on target.
Calculus | Differential Equations | Linear Algebra |
Control Systems | Data Collection and Processing | Basic Electrical Engineering |
Sensors
Encoders
Rotary, Linear
- Incremental
- Absolute
*Magnetic Encoders can be made as Incremental and Absolute; they just use magnetic fields as the trigger*
Encoder Math Basics
is wheel circumference, the distance traveled in one revolution.
is the current internal time of the robot since the start of the mission.
is the previous time saved since the last encoder reading was captured.
is the number of encoder ticks per revolution.
is the number of encoder ticks for the wheel at time .
is the previous number of encoder ticks at time .
We can implement this data collection with the ticks of the encoder attached to interrupt pins on our processing unit, such that, if we know how far the wheel has moved, the formula for velocity can be applied and we can know how fast the motors are moving and use this feedback to maintain a set velocity and match the wheels together to maintain the motion we want.
Encoder resolution can be calculated by knowing the max RPM and encoder operating frequency. Specifying resolution starts with determining the smallest increment that needs to be seen. If we need to measure a minimum of 2°.
Need to complete this
The number of points to measure per revolution is given by:
IMUs
The next step in sensor feedback is an inertial measurement unit or I.M.U. This device can be used to measure how much the robot is rotating in degrees. With this information we can tell if the robot is going straight or not, and with some basic geometry we can tell what sort of arc it is taking when we want it to be turning and even better control the motion.
Up Next: Differential Drive