Predicting the Future

Long before these discoveries were made about the human brain, roboticists were using various methods of predicting the future so that the movements of their robots could be smooth, precise, and executed in the proper order. Consider the Proportional, Integral, Derivative (PID) controller. The three components of PID control can be combined in various ways, with different emphasis on each component to predict the future speed of a basic carpet roamer or velocity of a military drone.

Depending on the application, the three components of PID control can be combined in various ways and with different emphasis on each component. That is, a Proportional (P) controller might be sufficient for a carpet roamer, while a Proportional-Integral (PI) controller might be best for a quadcopter. Proportional control — when used with the appropriate proportion constant and set point correction — can provide much smoother speed. A major limitation of a P controller is an initial period of instability, where predictions about future speed vary widely.

A PI control addresses the instability of the purely proportional control scheme by adding a term that represents the sum of the difference between desired and actual speed over time. Because the integral term reflects the difference between actual and desired speed over time, proportional integral control predicts future speed best when the environmental conditions are relatively constant. Like the purely proportional controller, the predictions made by a PI controller are predisposed to instability with some variable combinations. To counteract this instability, a derivative term (D) — the equivalent of a smoothing capacitor in a power supply — can be used to suppress the instability. Tuning a PID controller consists of optimizing the values of the three constants: proportion constant, integral constant, and the derivative constant.

If you’ve worked with a PID controller, you’ve no doubt discovered that there’s no guarantee that it can predict the future speed or velocity of your robot platform. Not only do you have to be smart about adjusting the constants, but the conditions must be repeatable. If you tune a PID controller for the hardwood floor in your living room, don’t expect your robot to operate smoothly on your lawn.

Of course, the PID controller isn’t the final word in predicting, say, velocity. There are numerous variations and enhancements to the basic PID algorithms, as well as more sophisticated algorithms such as various flavors of the Kalman filter. The Kalman filter has a number of potential advantages over a PID controller, including relative resistance to noise. The downside is that the computational overhead favors a Parallax Prop or Raspberry Pi over a simple Arduino or PIC.

Given the availability of low cost, high performance microcontrollers, I predict that we’ll be seeing robots with more sophisticated prediction algorithms — whether for tracking movement with a servo-based camera, the speed of a drive motor, or the relative RPM of quadcopter rotors. SV

Posted by Michael Kaudze on 11/21 at 10:27 AM


<< Back to blog