The concept of Petri net controllers for automatic error recovery is discussed, and their adaptive design is studied. The Petri net controller aims at the control of a manufacturing system and execution of the error recovery plan. Four basic Petri net augmentation methods are investigated. When these methods are used to augment the Petri net controller, some important structural properties of the controller are guaranteed to be preserved by developing and proving four theorems. In the present Petri net controller, a place that represents an operation or a state of a machine is attached to two functions and a constant so that a system can work with both normal states and abnormal states. In addition, it is possible to detect an error with the controller. An example concerning a robotic assembly cell with two robots and two types of parts is given. A number of future research directions are indicated.