Planning is essential for agents that act in an environment. To solve a goal intelligently, an agent needs to think about what it will do now and in the future. This applet demonstrates planning using the blockworld problem domain and STRIPS representation.
In the blockworld problem, a robot gripper must arrange a set of blocks into a particular configuration on the table. A block may be on the table, or placed on top of another block. The gripper can only hold one block at a time, and can only pick up blocks that have no other blocks on top of them. The problem is modeled by the following propositions:
This applet uses the STRIPS representation to demonstrate the STRIPS, regression, and partial order planners. In the STRIPS representation, actions are represented as a set of preconditions, an add list, and a delete list. For an action to be carried out, all of its precondions must be true in the world. When the action is performed, items in the add list are added to the world's current state while items in the delete list are removed from it. The following actions are used to control the gripper in the blockworld problem:
Note that the action pickup is used to pick up a block that is sitting on another block, while pickuptable is used for a block that is sitting on the table. Likewise, putdown is used to put a block down on top of another block, while putdowntable is used to put a block on the table. In this problem, the positions of the blocks on the table is not important; the goal is to stack blocks on top of each other in particular patterns.
Please visit our feedback page and send us your comments about the applets!
This applet was written by Wesley Coehlo, Nicole Arksey, and Shinjiro Sueda, with help from David Poole, Alan Mackworth, Holger Hoos, Peter Gorniak, Kevin O'Neill, and Cristina Conati.
|Main Tools: Graph Searching | Consistency for CSP | SLS for CSP | Deduction | Belief and Decision Networks | Decision Trees | Neural Networks | STRIPS to CSP|