This page (revision-25) was last changed on 2021-11-08 09:09 by Murray Altheim

This page was created on 2019-12-22 08:01 by Murray Altheim

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
25 2021-11-08 09:09 8 KB Murray Altheim to previous
24 2021-06-24 22:52 8 KB Murray Altheim to previous | to last
23 2021-01-23 22:25 8 KB Murray Altheim to previous | to last
22 2020-09-27 01:11 8 KB Murray Altheim to previous | to last
21 2020-09-27 01:11 8 KB Murray Altheim to previous | to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 1 changed one line
!!! (PID) Controller
It's surprisingly difficult to drive a wheeled robot in a straight line. No two motors are exactly the same, and there may also be differences in the floor surface. If we want a robot to follow a more complicated trajectory or to have some indication of where it has traveled, we need to be able to measure the distance each motor has traveled, that is, how many times the left and right wheels have rotated. This is called __[odometry]__.
At line 3 changed one line
It's surprisingly difficult to drive a wheeled robot in a straight line. No two motors are exactly the same, and the floor surface may differ as well. If we want a robot to follow a more complicated trajectory, or to have some indication of where it has traveled, we need to be able to measure how many times the left and right wheels have turned. This is called __odometry__.
But besides the distance traveled, we also want to control the motors in such as way that the robot's movements are both accurate and smoothly executed. That means that regardless of whether the robot is traveling in a straight line, a gradual curve, or turning around, we want to set the left and right motors to operate at a specified speed and maintain that speed.
At line 5 changed one line
But we also want to be able to control those motors in such as way that the robot's movements are both accurate and smoothly executed. We can measure the speed of the motors themselves using the motor encoders, then use that to determine the difference between the intended and actual motor speeds.
Additionally, we want to gradually change the motor speeds rather than make very sudden changes. This reduces the wear and tear on the motor and gear train, and the robot's movements also appear smoother. This is called slewing the speed: we set a slew rate, which is the maximum speed at which the speed of the motors are permitted to change.
At line 7 added 3 lines
We can measure the speed of the motors themselves using the motor encoders, then use that to determine the difference between the intended and actual motor speeds.