Robot Control: Everything You Need to Know

domestic robot

In the near future, robots will increasingly enter our lives as assistants and collaborators. As this happens, we need to be sure that their control and operation is safe and reliable. In this article, we will explore the basics of robot control theory and how it can be used in practice. We will also discuss some of the challenges involved in robot control, and offer possible solutions. Let’s get started!

Equipment Required

A kitchen counter

Arduino microcontroller • Joystick module (optional) • Breadboard and jumper wire • Steel robot chassis with motors, wheels, battery pack, etc.

(Everything except the Arduino can be found in our Educator’s Ultimate Microcontroller Pack , which also includes an Arduino IDE installation disc.)

Theory of Robot Control

To begin, let’s take a look at the factors that influence robot motion.

The motion of the robot is determined by the applied control input(s). The method in which these inputs are encoded and used to generate motion can vary widely depending on the application. For example, in applications where accuracy is critical, the input(s) will be encoded in a precise format that takes into account both location and velocity. In applications where accuracy is less important, an approximate encoding of the control inputs may be sufficient to achieve the desired motion.

There are two primary architectures used for robot control: open-loop and closed-loop. In an open-loop architecture, the control input(s) are applied directly to the robot actuators in a continuous manner. With this type of design, there is no mechanism for measuring any aspects of the system’s state.

Figure 1: Open-Loop Motion Controller

Closed-loop architectures monitor some aspect of the system’s state in order to measure its performance. This measurement is then used to adjust the applied control inputs in order to maximize or minimize some cost function based on system requirements. It typically takes into account both location and velocity when encoding the control inputs.

Figure 2: Closed-Loop Motion Controller

In most real-world applications, the robot will have both open- and closed-loop controllers that work together to achieve the desired motion. In the next section we will discuss some of the challenges involved in designing such a system.

Figure 3: Dead Band in an Encoder Signal

Dead-bands are typically generated by the controller architecture and implemented in hardware. If allowed to grow too large it can cause the robot to “drift” in one direction or another. This is known as resonance and can cause serious problems in many applications.

Figure 4: Resonant Robot Motion

To avoid the effects of dead-band and resonance it is best practice to design controllers that minimize its impact on actuator motion. Often this will involve encoding the control sequence in a way that avoids the area of the encoder’s total possible travel that is most susceptible to dead-band resonance.

Robot Control: Challenges and Solutions

As we’ve discussed, the motion of a robot is determined by its control input(s). If we can accurately specify these inputs then we will achieve the desired robot behavior. However, there are many factors that make such an easy task difficult.

A dead-band is a range of input values around the middle of an encoder’s total possible travel where no motion is generated by the actuator. The size of this range depends on both the encoder and its operating environment, but is usually between +/- 1/4 and +/- 1/2 of the encoder’s total possible travel. Because of this, input values that fall within the dead-band will not affect actuator motion.

Dead-band is an undesirable feature of any control system, but it can be minimized by proper encoder selection. There are several encoder types that have been designed to minimize the effects of dead-band including optical, magnetic, and various incremental rotary encoders.

Subscribe to our monthly Newsletter
Subscribe to our monthly Newsletter