Classic "Top-Down" Robots

[NOTE: The Basic curriculum is in BLACK text. There are supplementary materials in RED text.]

The earliest and still commonly used means of determining a robot's behavior is through a "top-down" architecture. This means that the human programmer decides what capabilities the robot will have and then writes a computer program or set of programs to endow the robot with these capabilities. The result is typically some logical reasoning engine that imposes total control over the entire robot. This control might be farmed out to various subsystems that operate in parallel, but there is usually an executive controller maintaining high-level control over what these subsystems are doing.

A top-down robot has an intelligent control system -- usually in the form of an AI ("artificial intelligence") computer program -- that "sits on the thrown," as it were, and tells all of the other parts of the robot what to do. Sensors gather information about the environment, but it is the intelligent control system that determines what to do with that information. Effectors give the robot the ability to "do things" in the world, but it is the control system that determines what to do and when. When the control system (the "brain") is an AI program, it can be designed in two fundamentally different ways.

I. Choosing a "Brain" for Your Top-Down Robot

While there are many ways to build a control system to guide the behavior of a robot, there are two different kinds of AI (artificial intelligence) programs that are capable of doing the job. One is designed around the way that we reason when we are writing down a formal argument or proof; the other is designed around the way the neurons in our brain function. These are the two most famous kinds of AI programs and they produce "intelligent" behavior in very different ways. First, explore two interactive animations which help to demonstrate fundamental differences between these two types of computer, described here as "classical" and "non-classical" computers:

Two Types of Computer

Virtually all computers that exist on the planet today are "classical computers" as just described. That doesn't include your brain, however. If it turns out that your brain is a computer (many but not all scientists believe that it is) then it is a "non-classical" computer. When it comes to creating computer programs as the central control system of a robot, the earliest and most popular type of program is one that takes advantage of the fundamental characteristics of a digital computer -- these are examples of "good ole fashioned AI". More recently, computer scientists have created artificial neural nets (ANN) which are mathematical models of the connectionist networks that are formed by the neurons in our brains. These programs attempt to model (in a digital computer) those "non-classical" features of the brain which are quite different from the standard properties of a digital computer.

[To explore EXTRA materials on this topic, take time to study both types of AI programs further].

  1. GOFAI ("Good 'Ole Fashioned AI")

    • The first, most common type of AI program is often referred to as "Good 'Ole Fashioned AI" or GOFAI. These programs attempt to model the human mind's ability to represent the world with symbols and to "reason" by way of manipulating those symbols according to logical patterns.

    • GO HERE to interact with an animated robot that is controlled by a GOFAI program:

  2. Connectionist Networks

    • A major innovation in AI programs during the 20th Century was the development of artificial neural nets -- which are computer programs that implement connectionist networks. These are designed on the model of neurons in the brain. Connectionist networks are pattern-recognition systems that are used frequently in computer vision systems but can also be used as the control system for some types of top-down robots. Since the "intelligent" output of connectionist networks emerges from the combined activity of many smaller units (nodes), the internal structure of this computer program has something of a "bottom-up" structure. However, looking only at the ROLE the computer program plays within the robotics system, it exerts its influence in a "top-down" manner just as GOFAI programs do.

II. A Virtual "Top-Down" Robotics Lab

At the center of this module is an extended virtual robotics lab in which YOU build a robot, write scripts to control the robot arms and wheels, and program the software that controls the behavior of the robot. This was originally an interactive Flash lab, much like a video game. However, browsers stopped supporting Flash in 2021 so we have created a "video" version of the lab, which allows you to learn all of the same content as with the original lab. You will find it here.

Enter the Virtual Robotics Lab ("Video Version")

Now that you have finished the lab . .

Have you finished the Virtual ("Top-Down") Robotics Lab? You will know that you have completed the lab because you will see a final animation where the robot will move across the room, pick up the Coke bottle on the table and drop it into the recycling bin. If you have finished, it is time to hit the back button on this browser window and go to the next section: "II. Behavior-Based ("bottom-up") Robotics".

[To explore EXTRA materials on this topic, take time to study more of the foundations of classic robots].

III. More on the Foundations of "Top-Down" Robots

For those interested in further study of the foundations of classic, top-down robots. These sections are NOT required to complete the comprehensive introduction.

  1. ProtoThinker
    • ProtoThinker is a very impressive artificial agent. It is a Windows AI program, written in Prolog. The agent, PT, remembers what you tell it, can answer questions about what it believes, has moral commitments, and can simulate deception, autism, and other interesting cognitive states. The responses that the mobile robot gives in the Virtual Robotics Lab are modeled on the PT software
    • ProtoThinker is available free for download on our website and is an effective tool in the classroom for students to get a sense of the strengths (and weaknesses) of traditioanl AI programs.
    • View a video of a small robot named "Iris" which consists of ProtoThinker as the artificial intelligence controlling a robotic arm: Iris 1 Video
    • Create your own (mock) Turing Test. A classroom can be split in two, with one half of the class creating one artificial agent (by giving it beliefs to make it more intelligent) and the other half creating a different version of PT. Then the two versions can go head-to-head. Here is a record of previous "PT-Contests".

  2. McCulloch-Pitts Neurons
    • The more complex Artificial Neural Nets used today are advanced versions of the simpler "McCulloch-Pitts Neurons" -- the first attempt to give a computational model of biological neurons. You will find an extensive introduction to the development of the MCP Neurons, written by a mathematician, that carefully works through the mathematics behind this important contribution to artificial intelligence.

  3. Introduction to Chain Codes
    • Chain Codes are a GOFAI type of AI program which can be used to represent the shape of an object -- for example, the shape of an object that a robot's visual system had acquired data about.

  4. Introduction to Neurons and Neurotransmission
    • This provides an introduction to biological neurons, which will give a richer understanding of the motivation behind the creation of the artificial neural nets described in the section on "Connectionist Networks" (in Section I.2. Connectionist Networks on this page).