Artificial Intelligence for Robotics
上QQ阅读APP看书,第一时间看更新

Soft real-time control

The basic concept of how a robot works, especially one that drives, is fairly simple.  There is a master control loop that does the same thing over and over; it reads data from the sensors and motor controller,  looks for commands from the operator (or the robot's autonomy functions), makes any changes to the state of the robot based on those commands, and then sends instructions to the motors or effectors to make the robot move:

The preceding diagram illustrates how we have instantiated the OODA loop into the software and hardware of our robot. The robot can either act autonomously, or accept commands from a control station connected via a wireless network. 

What we need to do is perform this control loop in a consistent manner all of the time.  We need to set a base frame rate, or basic update frequency, in our control loop.  This makes all of the systems of the robot perform better.  Without some sort of time manager, each control cycle of the robot takes a different amount of time to complete, and any sort of path planning, position estimate, or arm movement becomes more complicated. 

If you have used a PID controller before to perform a process, such as driving the robot at a consistent speed, or aiming  a camera at a moving target, then you will understand that having even-time steps is important to getting good results.