|Chapter 1: Introduction to Robotics|
|Robots & AI|
If you were to poll a dozen people and ask them to define the word "robot," you'd get a dozen different answers. Some people think of robots as advanced, human-looking computers that can speak a natural language, recite a dictionary, and sprint as fast as an cheetah. Some think of remote-controlled combat vehicles, as seen on the television shows, "Robot Wars", or "Battlebots." Others think of pre-programmed manufacturing robots that perform a specific task repeatedly on an assembly line of sorts. Still others imagine tiny little nanobots that are currently the substance of science fiction, but are actively being developed in labs around the world. All of these ideas are correct, and so a proper introduction to robots must develop a system for categorizing robots to act as a framework for understanding them.
The first feature with which we classify robots hinges upon robot control mechanisms. That is, we must consider if a robot is pre-programmed, remotely controlled, or autonomous. While the lines between these categories blur, we can come up with useful definitions. Pre-programmed robots are defined as robots that have a script, or a specific set of instructions, coded into their computer hardware such that the robot can perform only a finite set of operations, each of which is pre-programmed. Thus the robot's actions are generally pre-determined. By example, a robot on an automobile assembly line that spray paints the hoods of cars as they pass by is generally pre-programmed to perform the task. Such a robot is limited. For instance, if a car on the line were replaced with a motorcycle, the robot would carry out its usual, pre-coded script and just spray paint all over the motorcycle, not realizing that the motorcycle is not a car hood.
An equally mindless, but still valuable, robot is the remotely controlled robot. Remote-control robots may have small amounts of autonomy, and may run pre-written scripts, but at the highest level, it is a person (or even another robot!) that controls them. A perfect example is a remote-control Battlebot. A Battlebot is a small robot designed to engage in combat other robots under the guidance of a human controller. It is the person holding the controls who determines where the robot moves to, and what it does when it gets there; thus it is remotely controlled.
The autonomous robot, on the other hand, relys on its own intellect to generate a course of action and see it through. At some point, even the autonomous robot is programmed by a human, but what sets it apart from the pre-programmed robot is the type of computer software it runs. The autonomous robot's software can be designed to recognize features and changes in its environment, adapt to new situations, learn better ways of doing things, and solve problems in novel ways. All of this suggests a dynamic, self-controlled robot and that is exactly what an autonomous robot is. Ficticious, but accurate examples of autnomous robots are the Terminators seen in any of Arnold Schwarzenegger's popular Terminator movies.
A second feature we can use to classify robots is that of "top-down" versus "bottom-up" designs. Bottom-up robots are designed such that a set of very simple mechanical or software devices, each doing nothing impressive on its own, can interact with one another to make a robot perform in intelligent ways. However, intelligent behavior is not programmed into the robot, rather, it emerges from simple beginnings. For instance, Rodney Brooks, a famous roboticist, developed a small, ant-like bottom-up robot named Genghis that, using the simplest of computer circuitry and mechanical devices, can traverse complicated environments and approach moving targets. By contrast, getting a top-down robot to perform this feat is quite complicated. Genghis is able to perform this task because the motors and circuitry of the robot, though simple, incrementally adjust and improve in small steps while getting constant feedback from the environment, and eventually they sink in to a rythm that allows them to accomplish their task.
Top-down robots are distinguished by the level of complexity and modularity of their software, hardware, and mechanical systems. A top-down robot is usually created to perform a specific set of tasks, and the elements comprising it are designed in advance to complete these tasks; there is no emergent behavior. For example, if we want to adapt a humanoid robot that has two controllable, mechanical legs, to walk up a flight of stairs, a top-down approach may start off by identifying the various modules, or components, necessary to complete the task. We may decide that the robot needs a vision system to "see" the stairs, a leg control program that tells the robot's legs to take turns stepping up the stairs, and a monitor program that computes the robot's balance and makes fine adjustments to to the leg control program. For each program, a team of people is required to design, code, and test it. Finally, the programs must be installed on the robot's computer and executed. If all goes well, the complex software will manipulate the humanoid robot up a flight of stairs.
By contrast, if Rodney Brooks had wanted to make Genghis perform a new task, such as to leap straight up in the air and land evenly on all six legs, he wouldn't begin by assessing the various software programs that could be built to complete this task. Instead, he would simply redefine the meaning of improvement for Genghis's various elements, and let the robot teach itself to perform the task; eventually, the ability to jump straight up and land flat on all six legs would emerge from this "trial, error, and correction" process. Brooks' effort is relatively modest compared to that of a a top-down programmer trying to tackle this project.
Yet, despite the virtues of bottom-up robotics, most researchers concentrate on top-down robotics. This focus has occurred because, generally, bottom-up robots, while intriguing, are useful in only limited situations. Specifically, bottom-up robots have proven useful for solving problems whose solutions can be found by performing an action, assessing its success, slightly modifying the action, and repeating the process until the robot is "good enough", which varies from problem to problem. The top-down approach, though cumbersome and messy, can be applied to a much greater set of situations. In fact, some researchers believe that the human mind can and will be completely reproduced by a top-down design method.
In the Virtual Robot Lab, you will learn about and build a virtual replica of Iris.4, a real, top-down robot that is under development by The Mind Project. Iris.4 is the fourth iteration of the Iris project, an effort by college undergraduates to develop a mobile, semi-autonomous robot that can perform a variety of functions including playing and learning Tic Tac Toe, speaking English, and interacting with physical objects using a robotic arm.
Your overarching goal during the course of this lab is to enable Iris to complete the Environmentalist Activity. Doing so will require a lot of work! To complete the Environmentalist Activity, Iris must identify an empty soda bottle on an Activities Table in the virtual lab, decide to recycle the bottle, drive up to the table, pick up the bottle, and place it in the recycing bin. It is your job to make this happen. You are responsible for:
Reading about the various hardware and software components of the robot
Writing a script that drives the robot across the virtual laboratory and up to the Activities Table
Building and programming a robotic arm to pick up an empty bottle from the Activities Table and place it in the lab's recycling bin
Learning about and the Central Control Program, which ties all of the robot's software together
Learning about and programming AI software, which will determine what conditions are necessary for Iris to drive up to the Activities Table and recycle the empty bottle
Putting the pieces together, powering-up Iris, and watching her perform the Environmentalist Activity
You are now ready to resume your work in the Virtual Robot Lab. More instructions await you there.