Study Material - Robotics
CIS447
One of the earliest examples of robotics was Shakey built, in the late 60’s and early 70’s at the Artificial Intelligence Center of Stanford Research Institute (SRI), closely associated with Stanford University.
The control system was based on STRIPS (Stanford Research Institute Problem Solver), a robot action planning system developed by Fikes & Nilsson, having been influenced by GPS (General Problem Solver) of Newell & Simon (Carnegie Mellon) in the mid 50’s.
The central part of this system was a set of operators (describing the actions a robot can take). Each operator had a set of preconditions, which had to be true in order for the operator to be applied, and a set of postconditions, statements about the world that became true after the operator was applied.
In 1985 Rodney Brooks, who studied at Stanford (and taught briefly) and conducted research at Carnegie Mellon, introduced a strikingly different approach to the control system of a robot, as described in two research papers: A Layered Intelligent Control System for a Mobile Robot and A Robust Layered Control System For a Mobile Robot.
He called his approach subsumption architecture.
It had two key features.
In order to make the control system more reactive to its environment it decomposition was horizontal rather than vertical.
And the control system was built in layers.
The layers represented behaviors.
The lower level layers were simpler and represented more basic behaviors, such as avoid walls.
The higher level layers were designed to meet more abstract goals. Thus they represented a higher level of intelligence. Moreover, the higher levels subsumed the lower ones. I.e., they could suppress inputs to a lower level component or substitute its own output for that of a lower level component.
Additionally, Brooks purposely did not explicitly store a great deal of information about the world in the robot’s control system, as many previous approaches to robotics had done. His dictum was: “The world is its own best representation.”
Thus, Brooks specifically did not rely on the precondition/action/postcondition format of the STRIPS operators. To determine the result of an action, the robot would employ its system of sensors, and then only as part of the continuous input stream provided by them.