Maja J Mataric´

The Basics of Robot Control

Note: This introduction is written for novices. If you are not a novice, skip to the bottom of the page for more advanced background readings.

Robot control refers to the way in which the sensing and action of a robot are coordinated. There are infinitely many possible robot programs, but they all fall along a well-defined spectrum of control. Along this spectrum, there are four basic practical approaches being used today: 1) deliberative control, 2) reactive control, 3) hybrid control, and 4) behavior-based control. A good way to think about these alternatives is as follows:

  • Deliberative Control: Think hard, then act.
  • Reactive Control: Don't think, (re)act.
  • Hybrid Control: Think and act independently, in parallel.
  • Behavior-Based Control: Think the way you act.

    No single approach is "the best" for all robots; each has its strengths and weaknesses. Here is why: control requires some unavoidable trade-offs, as follows:

  • Thinking is slow.
  • Reaction must be fast.
  • Thinking allows looking ahead (planning) to avoid bad actions.
  • Thinking too long can be dangerous (e.g., falling off a cliff, being run over).
  • To think, the robot needs (a lot of) accurate information.
  • The world keeps changing as the robot is thinking, so the slower it thinks, the more inaccurate its solutions.

    As a result of these trade-offs, some robots don't think at all, while others mostly think and act very little. It all depends on the robot's task and its environment. If the task and environment require the robot to move and react very quickly, there is usually no time for thinking, such as in automated fast-moving cars, or in soccer playing robots. On the other hand, if the environment does not change much and the robot has enough time, it can plan far ahead to find the best action, such as in playing chess, monitoring a warehouse at night, or assembling a complicated object.

    We will now briefly review how each of the four different approaches to robot control addresses these trade-offs.

    "Don't think, react!" Reactive control is a technique for tightly coupling sensory inputs and effector outputs, to allow the robot to respond very quickly to changing and unstructured environments. Think of reactive control as as "stimulus-response". This is a powerful control method: many animals are largely reactive. Limitations to this approach are that such robots, because they only look up actions for any sensory input, do not usually keep much information around, have no memory, no internal representations of the world around them, and no ability to learn over time.

    "Think hard, then act." In deliberative control, the robot takes all of the available sensory information, and all of the internally stored knowledge it has, and it things ("reasons") about it in order to create a plan of action. To do so, the robot must search through potentially all possible plans until it finds one that will do the job. This requires the robot to look ahead, and think in terms of: "if I do this next, and then this happens, then what if I this next, then this happens,..." and so on. This can take a long time, which is why if the robot must react quickly, it may not be practical. However, if there is time, this allows the robot to act strategically.

    "Think and act independently, in parallel." In hybrid control, the goal is to combine the best of both Reactive and Deliberative control. In it, one part of the robot's "brain" plans, while another deals with immediate reaction, such as avoiding obstacles and staying on the road. The challenge of this approach is bringing the two parts of the brain together, and allowing them to talk to each other, and resolve conflicts between the two. This requires a "third" part of the robot brain, and as a result these systems are often called "three-layer systems."

    "Think the way you act." Behavior-Based control is based on inspiration from biology, and tries to model how animal brains may deal with hard problems of both thinking and acting. Behavior-based systems, like hybrid systems, also have different "parts" or layers, but unlike hybrid systems, they are not as different from each other. All of them are encoded as behaviors, processes that take inputs and send outputs to each other, quite quickly. So if a robot needs to plan ahead, it does so in a network of behaviors which talk to each other and send information around, rather than a single planner, as with hybrid systems. Behavior-based systems are an alternative to hybrid systems; these days, they are equally powerful and equally popular. However, they are not the same and thus are used for different types of robot applications.

    As you saw above, how (lack of) time is handled really distinguishes different approaches to robot control. Reactive systems respond to the immediate requirements of the environment, and do not look into the past or the future. Deliberative system look into the future (plan) before deciding how to act. Hybrid systems respond to some of the urgent requirements, while taking time to think about some others. This requires waiting for the thinking to finish, or interrupting the reaction based on new information. Behavior-based systems also think and act at the same time, but spread out the thinking over multiple distributed computation modules (behaviors), in an attempt to think the way they act, as quickly as possible.

    In many cases, just by observing a robot's behavior, it is impossible to tell what control approach it is using. This is similar to not knowing in what language some program is implemented, what somebody is thinking, or what exactly makes an animal do what it does. New robot control architectures for structuring robot control are being invented all the time, as novel applications for robotics are found. Sometimes, they become specialized robot programming languages. However novel they are, you can still fit them into the fundamental control spectrum we described above. Thus, once you can program a robot in all of the four approaches above, you know all possibilities at your disposal.

    For more information about behavior-based control, look here.

    For a hands-on course about robot control, look here.

    Good sources for more information about robot control include:

  • Maja J Mataric´, "Behavior-Based Robotics as a Tool for Synthesis of Artificial Behavior and Analysis of Natural Behavior", Trends in Cognitive Science, 2(3), Mar 1998, 82-87.

  • Maja J Mataric´, "Behavior-Based Robotics", in the MIT Encyclopedia of Cognitive Sciences, Robert A. Wilson and Frank C. Keil, eds., MIT Press, April 1999, 74-77.

  • Maja J Mataric´, " Behavior-Based Control: Examples from Navigation, Learning, and Group Behavior", Journal of Experimental and Theoretical Artificial Intelligence, special issue on Software Architectures for Physical Agents, 9(2-3), H. Hexmoor, I. Horswill, and D. Kortenkamp, eds., 1997, 323-336.

  • Ronald Arkin, "Behavior-Based Robotics", MIT Press, 1998.

  • Maja J Mataric´, "Integration of Representation Into Goal-Driven Behavior-Based Robots", in IEEE Transactions on Robotics and Automation, 8(3), Jun 1992, 304-312.

    Go to Maja's home page.
    Go to The Interaction Lab home page.
    Mail comments to