Press "Enter" to skip to content

Basics of Robotics (in progress)

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.

CalculusDifferential Equations Linear Algebra
Control SystemsData Collection and ProcessingBasic 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

c is wheel circumference, the distance traveled in one revolution.

t is the current internal time of the robot since the start of the mission.

t_p is the previous time saved since the last encoder reading was captured.

n is the number of encoder ticks per revolution.

N_c is the number of encoder ticks for the wheel w at time t.

N_p is the previous number of encoder ticks at time t_p.

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 N to measure per revolution is given by:

N = \frac{2}{360}

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