Our robots are designed with a very natural input to movement velocity control system. It is very similar to a First Person Shooter (FPS) game where pushing a forward button, a velocity signal (a jog signal) is sent to the base, and the robot will go forward. When the button is released, the jog signal ends, and the robot will come to a stop. From a user experience point of view, velocity control is the most intuitive and responsive approach to controlling the robot.
The velocity is calculated by an absolute encoder and controlled using a Proportional - Integral - Derivative (PID) algorithm. The proportional term is for the fast response time whenever a jog signal is sent and the Derivative term is for stability. The most important term is the Integral. The integral term ensures that the motor reaches the user’s desired velocity, meaning that the motor will be able to draw more current dependent upon the current torque applied to the wheel.