Introduction
Modern real-time digital control systems are a fusion of two qualitatively different components: real-time servo loops and discrete-state logical decision-makers. This combination is a practical one. Automatic control theory provides the foundation on which the servo loops are built. It is used to analyze and modify the response of the dynamic system under control-the plant-to meet some desired behaviors. Though powerful, automatic control theory does not contain decision-making logic as an integral component. To provide this deliberative capability-and thus provide additional flexibility to the control system-the servo loops are surrounded by logical structures which make decisions about how and when to change these loops to achieve the desired performance in the presence of changing plant dynamics, system configurations, and control goals. This integration of real-time and discrete-logic components into a control system, also known as a hybrid control system, is often done in an ad hoc manner: control loops are independently developed for each of the interesting operating modes of the plant, and then these individual loops are amalgamated with an array of computer programs or other types of sequencing/decision-making logic without much regard to the structure of the entire control system. The logic component of even a simple control system can be quite complex, and the design task can easily become unwieldy if care is not taken during its design.
This article waspresented at the 1994 IEEE/IFAC Joint Symposium on Computer-Aided Control System Design, Tucson, AZ, March 7-9, 1994. The authors are with the Information Systems Laboraton, Department of Electrical Engineering, Stanford Universih, Stanford, CA 94305-4055. This research was supported in part by ARPA and the U.S. Army Research, Development, and Engineering Center (ARDEC),under contract DAAA21-92-C-0028 to TeknowdedgeFederal Systems, Palo Alto, CA.
Other researchers, such as Kohn and Nerode [I J have proposed unified intelligent controller architectures which are heavily based on theorem-proving techniques in which the servo loops are subsumed into the reasoning structure. Here, we propose a design methodology, motivated by control engineering practice, in which the real-time control loops and the logical decision-making components can be brought together in a uniform, structured way. The overall control system design task is separated into three subtasks: 1) design of real-time control loops; 2) synthesis of control logic, or a meta-controller, for the real-time loops; and 3) design of the translators that allow these two elements to communicate and interact in a stable fashion. Two example control systems are cast into this proposed framework to show the power and flexibility of our approach. Though not described here, control of complex electromechanical systems that involve human operators can benefit greatly from such hybrid control systems [2].
80
0272- 1708/95/$04.00O1995IEEE
Controller r
Plant
I
C Y
G -
g
If not
formalism was chosen here for its simplicity, expressiveness, and flow-oriented structure. 3. Design of a real-time-to-Booleantranslator. A translator is developed to convert continuous-time plant data into discrete plant status events and the reverse. This translator must provide the FSM with all data needed to infer the state of operation of the plant on which the FSM bases its decisions. This block is custom-tailored to specific needs and goals of the overall control system. For example, it may contain timers, levelkange detectors, system identification algorithms, and so on-all directed by the FSM. In this methodology, the design of the real-time control loops and the supervising control logic are separated; each block is designed individually and then joined by the real-timeBoolean translator; these operations are represented graphically in Fig. 3. Two control system implementations will be described below and then cast into this framework to illustrate the design technique.
Logic-Based Decision-Makers Generally, real-time controllers are embedded in a larger control system, such as in a factory assembly operation, where many logic-based decisions are essential for the proper operation of the system. The addition of an analysis and decision-making capability to a control system greatly increases its flexibility; many individual controllers can be designed for different plant operating points and then can be switched in and out when needed as the operating point changes. The decision-making structures used in hybrid control systems typically can be cast into if-then structures, which can be represented as a finite state machine (FSM) or a discrete-event system (DES) without loss of generality; see Fig. 2. The FSM operates on Boolean (true/false) data; thus, to be useful in a control loop, information about the plant and its controllers needs to be available in a Boolean form. Given these Boolean measures of state of the plant, control logic can then be designed to provide coordinating meta-control for the real-time loops.
Boolean Data
April 1995
81
--*
/
I
f
Adaptive
Controller 1
f
0
+
Adaptive
Controller 2
The Plant. The plant consists of four steel disks equally spaced on a small-gauge steel wire which serves as a torsional spring. (see Fig. 4; the disks are numbered 1 to 4 from the bottom) The plant is driven by a DC brushless motor at disk 3. Sensors measure the angular displacements of disks 1 and 3. The plants dynamics can be changed during a run by changing the moment of inertia of the topmost disk. Control Goals. The control goals are twofold: first, the system is to control the angular position of disk 1 from drive signals to the motor at disk 3 via the flexible springs between disks 112 and 213. Second, the system is to provide high-performance and stable controllers for the plant when the plants dynamics vary due to inertia changes of disk 1 . This is a serious issue; a well-functioning controller operating in any single plant configuration may be wildly unstable in another. Therefore, the control system must be able to identify changing dynamics and switch controllers to compensate. Given the plant and the control goals, a controller now must be designed. Sidmans design is easily separated into the three functional blocks of our proposed design method: 1. Real-time control loop structure. The structure of the real-time control loops is shown in Fig. 5. It contains two high performance adaptive controllers which leapfrog each other during operation; one actively controls the plant while the other makes a plant model and then redesigns itself. The third is a robust controller that provides low performance control but is guaranteed stable over all operating modes of the plant. Any one of these three controllers can be selected to drive the plant; controller switching is under the command of a higher-level decision-making process. 2. Decision-making. The decision-making requirements of this controller are fairly trivial here, though the FSM does provide significant sequencing control. The basic controller tuning process is: 1. Wach for changes in plant dynamics. If change is small, goto ( 3 ) ,else if large goto ( 2 ) . 2. Switch to low-performance controller. 3. Do a plant ID, then design controller. 4. Load design into inactive controller block. 5 . Switch to new controller; goto (1).
Real-timemoolean interface. This interface provides the computational and auxiliary functions that the control system needs to operate, primarily the plant dynamics identification algorithm, the controller design routine, and the plant dynamics change detector. The plant identification algorithm consists of a modified filtered least-squares (MFLS) algorithm which operates on measured plant inputloutput data sequences and uses a pseudo-random binary sequence (PRBS) stimulus signal to excite all plant modes during identification. The controller designer is a combination of two well-known control design methodologies, tailored to the task at hand. An initial Linear Quadratic Gaussian (LQG) design is done on a reduced-order (simplified) model of the plant, which consists of the rigid-body modes; this sets the dynamic response of the rigid body mode of the plant [3]. Next, the poles associated with the resonant modes are radially projected toward the origin to increase damping. From these pole positions, a state-feedback controller and estimator is generated [6]. Changes in the plant dynamics are inferred from the magnitude of the estimation error, a natural byproduct of the real-time control calculation. A threshold detector on this error was found to be sufficient for this task. The above is a complete partitioning of Sidmans four-disk control system into our proposed hybrid controller design framework. Here, all decision-making is done by the FSM block, the servo loop is implemented in the real-time control block, and support processing is provided by the real-timeBoolean translator.
Dynamic and Strategic Control of Cooperating Robotic Manipulators Sidmans control system contained an almost trivial amount of decision-making logic; it consisted of a single test and a small, sequential set of procedures to run if the test was true. In this example, however, the decision-making logic is a major component of the controller structure. Schneider investigated the control of two cooperating robotic manipulators [7]. This system is designed to simulate a remote, robotic object manipulatiodassembly space or hazardous earth-bound environments. The Plant. The plant consists of a pair of two-link arms mounted to a rigid base; see Fig. 6. The shoulder and elbow joints are driven by torque motors. The end effectors consist of a
82
Trajectory complete:
l-l
T w o n ilk a r m --
Gripper tip-
Controlled objectScooter
Fig. 6. Two robotic arms with tip grippers and manipulated object or scooter
solenoid-actuated plunger instrumented with strain gauges for force sensing and control. The arms move in a horizontal plane parallel to the base, while the grippers move vertically either toward or away from the table. These grippers allow the arms to catch and manipulate objects with suitable gripper ports (holes) on their upper surfaces. The manipulated objects, or scooters, float on a thin film of air above the granite table thus closely simulating-in two dimensions-a gravity-free space environment. Control Goals. The primary task of the control system is to manipulate an object grasped by the arms and regulate any contact forces between the object and its environment. Implicit in this specification is that the control system should provide drive commands to the arms to bring them to desired positions, regulate internal stresses within the object generated by the manipulators, and provide an interface to a supervisory system which directs their activity. This system fits well into our controller design structure and a mapping of selected components of the system into our structure is given below. 1. Real-time control loop structure. The real-time control algorithm is identical in all operating modes of this plant, whether the arms are manipulating an object or slewing independently. Motor drive signals are calculated from arm position commands via the inverse dynamics of the arm system (also known as computed torque control), a method common in the robotics field. For a complete discussion, see [7, 81. 2. Decision-making. Though the underlying real-time control law is the same throughout, a number of higher-level decisions need to be made to drive the arms properly on their assigned tasks. Complex arm coordination procedures, such as catch object, require a number of run-time decisions and subsequent control steps to achieve the desired result. See Fig. 7 for a representation of the catch object FSM. A set of other FSMs are used to coordinate different operations, such the insertion of the end of an object into a docking port. During operation, the FSM receives Boolean status events from the lower-level control system, as well as commands from an even higher-level system (i.e., the user) and produces activation commands through a set of supporting functions as it steps through transitions and decisions encoded into its structure.
3. Real-timemoolean interface. It is this interface that accepts the activation commands from the FSM and returns Boolean status signals to it. This block takes the track object command from the FSM and produces the endpoint control trajectory which is then fed to the real-time control loops. It also generates all the plant status information, such as object in range, tracking OK, or command time-out. This block translates tasks generated by the FSM into commands for the real-time controller as well as converting the continuously valued state of the arms into Boolean variables for the FSM. From the above, it is apparent that this complex robotic control task fits within our proposed framework. Here, the emphasis is on the decision-making component of the control system; the real-time controller, though complex, is fixed. All variation in the behavior of the system is determined by the different execution sequences of the FSM. Though these two examples are of functional control systems that have been recast into our hybrid control framework, the structure is not limited to pre-existing designs; it is clear that this structure can be used to develop hybrid control systems for a wide range of plants. This is the intended purpose of our hybrid controller design methodology.
April 1995
83
ment, and 2) Varaiyas Intelligent Vehicle/Highway System (IVHS) [ 141 whose vehicle coordinator and supervisor state machine contains 500,000 states and 3 million transitions. The design and synthesis of such highly complex state machines are possible because the machines can be formally specified, automatically synthesized, and subsequently verified to be correct-they can be proven to exhibit only the desired (specified) behaviors. Computer codes are beginning to appear with which the designer can verify the correctness of a candidate design [ 15, 161. In a similar way, modern computer-aided control system design (CACSD) packages, such as MATLAB and MATRIX-XKMATH provide a powerful environment for the design and simulation of continuous- and discrete-time control systems. While the specification and design of the real-time control loops and their associated Boolean meta-controllers are well understood, the specification and generation of the realtimemoolean translator are not so clear. In practice, the development of this translator i s a heuristic, iterative process; one where the designer uses his intuition and experience to partition the continuous-time and smooth-valued real world into a set of logical states on which the meta-controller can operate as well as build a translator to convert logical commands into real-valued signals the control loops can use. Also, because of this heuristic design process, very little can be rigorously said about the stability properties of such systems. Stability is typically tested via extensive computer simulation, a technique which is generally effective, but may not reveal the full range of operating behaviors of the complete system. The controls community has begun to realize that the interface between the real-time loops and their meta-controllers is an important one; significant research is now underway in this area [8, 171. Consequently, current releases of commercial CACSD tools do not specifically address the need to model the interaction of FSMs and real-time loops in an integrated simulation. Most packages provide for some small-scale Boolean function evaluation, though at level inadequate for complex expert system implementations. Anumber of new tools are appearing, however, such as Pangs MEDAL (Matrix and Expert System Development and Aid Language) package, which tightly integrates complex numeric processing functions with an expert system and fuzzy logic inference engine [18]. Taylor is also developing a Standard Hybrid Systems Modeling Language (SHSML) to provide a rigorous modeling and simulation environment for hybrid systems studies [19].
methodology is also compatible with expert-system-based intelligent controls techniques; an expert system can easily be used as the decision-making component in this framework when an expert systems power and flexibility are needed.
References
[ 11 A. Nerode and W. Kohn, An Autonomous Systems Control Theory: An Overview, Proc. o f IEEE Symposium on Computer-Aided Control System
Design, pp. 204-210, Napa, CA, March 1992. [2] F. Hayes-Roth, L. Erman, A. Terry, andB. Hayes-Roth, Domain-Specific Software Architectures: Distributed Intelligent Control and Management, Proc. o f IEEE Symposium on Computer-Aided Control System Design, pp. I 17-128, Napa, CA, March 1992. [3] G. Franklin, J. Powell, and A. Emami-Naeini, Control of Dynamic Systems, Addison-Wesley, Reading, MA, 1986. [4] M.D. Sidman, Adaptive Control of a Flexible Structure, Ph.D. thesis, Stanford University, Stanford, CA 94305, 1986.
[SI M.D. Sidman and G.F. Franklin, Adaptive Control of a Flexible Structure, Proc. ofAdaptive Svsterns in Control and Signal Processing, IFAC 2nd Workhhop, pp. 277-282, Lund, Sweden, July 1986. Oxford, U.K.
[61 K.J. Astrom and B. Wittenmark, Adaptive Control, Addison Wesley, Reading, MA, 1989. 171 S.A. Schneider, Experiments in the Dynamic and Strategic Control of Cooperating Manipulators, Ph.D. thesis, Stanford University, Stanford, CA 94305, 1989. [8] S.A. Schneider and R.H. Cannon Jr., Experimental Object-Level Strategic Control with Cooperating Manipulators, Proc. of ASME Winter Annual Meeting, San Francisco, CA, December 1989. [9] K.J. Astrom, J.J Anton, and K.-E. Arzen, Expert Control, Automuticu, vol. 22, no. 3, pp. 227-86, Mar. 1986.
[ 101 J.R. James, J.H. Taylor, and D.K. Frederick, An Expert System Architecture for Coping with Complexity in Computer-Aided Control Engineering, Proc. of IFAC Computer Aided Design in Control and Engineering Systems, pp. 47-52, Lyngby, Denmark, 1985.
[ I 1 I J.H. Taylor and P.G. Stringer, An Autosynthesizing Non-Linear Control System Using a Rule-Based Expert System, International Journal ofAdaprive Control and Signal Processing, vol. 5 , pp. 21-39, 1991. [ 121 F. Hayes-Roth, D. Waterman, and D. Lenat. Building Expert SystemA, Addison Wesley, Reading, MA, 1983.
11 31 G. Hoffmann, Discrete Event System Theory Applied to Manufacturing, Ph.D. thesis, Stanford University, Stanford, CA 94305, 1992.
[14] P. Varaiya, Smart Cars on Smart Roads: Problems of Control, IEEE Trans. on Automatic Control, vol. 38, no. 2, pp. 195-207, Feb. 1993.
[IS] Proc. IEEE: Special Issue on Dynamic Discrete Event Systems, vol. 77, Jan. 1989.
[ 161 Software for Analytical Development of Communications Protocols, AT&T Technical Journal, pp. 45-59, Jan./Feb. 1990.
Conclusions
We presented here a hybrid control system design methodology, based on controls engineering practice, which brings together the design of the real-time control loops and their meta-control logic into a uniform framework. The method focuses on the separation of the design of the complete control system into three parts: 1) the design of the real-time control loops, 2) the synthesis of the meta-control logic, and 3) the construction of translators to permit the discrete-logic system to interact with the continuous-time servo loops, and vice versa. Two complex control systems-a controller for a flexible structure and a robotic arm coordination and manipulation task-were cast into this framework to show the power and wide range of applicability of this controller design approach. This design
[I71 M.D. Lemmon and P.J. Antsaklis, Event Identification in Hybrid Control Systems, P roc. 23rd Con$ Decision & Control, San Antonio, TX, pp. 2323-2382. Dec. 1993.
[ 181 G.K.H. Pang, A Knowledge Environment for an Interactive Control System Design Package, Automarica, vol. 28, no. 3, pp. 483-491, 1992.
[I91 J.H. Taylor, Toward a Modeling Language Standard for Hybrid Dynamical Systems, Proc. 23rd Conf Decision & Control, San Antonio, TX. pp. 2317-2322, Dec. 1993.
84
William J. Bencze is a Ph.D. candidate in electrical engineering at Stanford University, Stanford, CA, from which he also received the B.S. and M.S degrees in electrical engineering in 1989 and 1991, respectively. He is currently a member of the NASA/Stanford Gravity Probe B project, in which he investigates the suspension and torque control of the probe's component gyroscopes. Research interests include the fields of hybrid control, digital systems, and adaptivehntelligent control.
There were errors in two of the figures accompanying Gregory Hager's article in out last issue ("Robot Hand-Eye Coordination Based on Stereo Vision," February 1995 CS, p. 30). Figs. 3 and 7 are reproduced correctly here. We regret the error.-Ed.
Visual Control System
Correction
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Robot System
r
t
r. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
I ' C I
Estimator
1
I
I
I I I
Fig. 3. A block diagram of the implemented system indicating the portions which execute on the robot controller and those which execute on the workstation performing tracking and visual control. The mapping K deletes the fourth component of the observation vector: The vector q represents robot joint angles.
Robot Position, Gaik0.5
y
(mm)
190 00 188 00 186 00 184 00 182 00 18000 178 00
("1
19000 18800 18600 18400 18200 18000 17800
176 00
/
36500 37000
" ("1
36000
X (mm) 37500
Fig. 7. The performance of point-to-point positioning rrfrer rotating the cameras inward I O degrees.
April 1995
85