Nothing Special   »   [go: up one dir, main page]

Academia.eduAcademia.edu

Intelligent control of robotic systems with application in industrial processes

1997

ELSEVIER Robotics and Autonomous Systems 21 (1997) 221-237 Robotics and Autonomous Systems Intelligent control of robotic systems with application in industrial processes C l a r e n c e W. de Silva 1 Department of Mechanical Engineering, The University of British Columbia, Vancouver, BC, Canada V6T124 Abstract Intelligent control can significantly improve the performance of a robotic manipulator. The paper will review some ways of incorporating intelligence into a robotic control system. Specific attention will be given to techniques of approximate reasoning, particularly fuzzy-logic-based control. First, several concepts of approximation will be explored and their application in approximate reasoning will be discussed. A general model for knowledge-based decision making will be presented, and the special cases as applicable to some common concepts of approximation will be studied. Practical example considered will include sensor-based manipulation in fish processing tasks, which employs on-line measurement of task impedance; tuning of parameters of a robotic motion controller; and intelligent restructuring of a flexible production system that consists of multiple, robotic workcells. Other trends and possibilities will be indicated. Keywords: Intelligent robotics; Fuzzy logic; Process automation I. Introduction Robots are used both individually and in groups to perform useful tasks. In groups such as workcells or distributed systems, robots may work cooperatively and even competitively with other robots and machinery [14]. Fast, accurate, and cost-effective control of these devices is pararnount to properly carrying out tasks in order to achieve the desired goals. Programmability and associated task flexibility are necessary characteristics for a robot. Autonomous operation would be desirable under special circumstances, for example, in space-based or extremely hazardous activities. Furthermore, a robotic task might be complex and the environment might be unstructured and incompletely known to the extent that 1E-mail: desilva@mech.ubc.ca. some degree of "intelligence" would be required for satisfactory performance of the task. There is an increased awareness of this, and the trend has been to include intelligence, which would encompass abilities to perceive, reason, learn, and infer from incomplete information, as a requirement in characterizing a robot. Machine intelligence and robotics are two related and complementary fields of study. Computer scientists are active in the development of software that can make computers perform tasks in an apparently intelligent manner. Engineers in the robotics field have achieved satisfactory results in integrating tactile sensing, vision, voice actuation, automatic ranging, and even the sense of smell into robotic systems. In short, there has been a significant effort in making robots more intelligent and human-like. Sensing, actuation, and control are the three components of "robot intelligence". 0921-8890/97/$17.00 © 1997 Elsevier Science B.V. All rights reserved PII S0921-8890(97)00076-0 222 C.W. de Silva~Robotics and Autonomous @stems 21 (1997) 221-237 Most industrial robots, however, follow preprogrammed procedures, and do not possess the ability to cope with unplanned or unexpected situations. In this sense, they are neither intelligent nor autonomous, and hardly flexible. When unexpected or emergency conditions occur, the system may stop and seek operator assistance. Self-diagnosis, selfreorganization, and fault tolerance will not take place. In flexible manufacturing or production systems and associated workcells, the flexibility provides the ability of easy reconfiguration so as to efficiently manufacture small batches of a variety of products. Ideally, much of the reconfiguration should be achievable through software means without requiring costly and time-consuming hardware changes. This will require some level of autonomy within the system. In distributed machine-tool environments where there are multiple robots and machinery that work toward a common goal, the agents will work cooperatively with the possibility of some degree of competition. Here, not only an effective means of inter-agent communication is crucial, but also a system controller that will coordinate, prioritize, select, and eliminate various agents (robots, machine tools, etc.) would be essential. In robotic applications of this type, the conventional, preprogrammed approach to task execution would not be appropriate. The systems that control the individual agents and the overall group have to be "intelligent" in these non-traditional applications of robots. Specifically, intelligent control will be an important requirement for these applications. The main purpose of this paper is to investigate some approaches, prospects, and benefits of intelligent control in robotic applications. First, the concept of intelligence will be examined. Intelligent or knowledgebased control relies on techniques for representation and processing of knowledge. Several types of "approximation" that are used in representing and processing knowledge will be outlined. It will be argued that the ability to approximate is a characteristic of intelligence. A general model will be described for knowledge-based decision making, which makes use of various concepts of approximation. Next, a practical architecture for implementing intelligent control in a robot will be presented. Several applications of intelligent control in robotics will be described, including a fish-processing robot, self-tuning of a robot controller, and automated restructuring of robotic work- cells. Some trends and possibilities of intelligent control in robotics will be discussed and conclusions will be drawn. 2. Modeling of intelligence In an attempt to make a robotic system "intelligent", it is useful to first explore the meaning of the term itself. A complete yet simple definition of intelligence is not available. It is the outward characteristic of a system that qualifies it to be classified as being intelligent. Such characteristics are many. For example, possession of a memory, ability to learn and thereby gain knowledge and expertise, ability to satisfactorily deal with unexpected and unfamiliar situations, and ability to reason, deduce and infer from incomplete information are all characteristics of intelligence, to varying degrees. In particular, pattern recognition and classification play an important role in intelligent processing of information. For example, an intelligent system may be able to recognize and acquire useful information from an object that is aged or distorted, having been previously familiar with the original, undistorted object. Somewhat related are the concepts of approximation, and that may lead one to treat the ability to approximate also as a characteristic of intelligence [8]. A simplified model for the dynamics of intelligence is shown in Fig. 1. This model shows the hierarchical I Levelof Intelligence ~ Intelligence Dynamics I / ~ Levelof P~pertlse Expertise I v Preprocessor Intelligent r Knowledge I Levelof Knowledge PI K owledge B namics =1I Preprocessor Intelligent I ~I Information Fig. 1.Aschematicmodelforthedynamicsofintelligence. C.W. de Silva~Robotics and Autonomous Systems 21 (1997) 221-237 nature of the associated processes as well. In the model of Fig. 1, intelligent preprocessing is identified as the operation that converts information into knowledge and knowledge into expertise. A degree of intelligence is needed to carry out these preprocessing operations, and simultaneously the intelligence itself will be broadened or enhanced through preprocessing, as indicated by the bi-directional activity lines. Knowledge may be interpreted as "structured information" and expertise as "specialized knowledge". In this sense, then, preprocessing operations will carry out structuring of information in gaining knowledge, and will specialize knowledge in gaining expertise. Note that knowledge and expertise can depreciate, and be outdated or lost, in the absence of continuous usage, learning and updating (i.e., intelligent preprocessing). The blocks of "Knowledge Dynamics" and "Expertise Dynamics" account for such appreciation and depreciation, in the present simplified model. Similarly, the block of "Intelligence Dynamics" allows for variations in the level of intelligence. Knowledge and expertise form the "Knowledge Base" of an intelligent system. Then, with any new information that may arrive from external sources such as sensors and human interfaces, the knowledgebased system can make new inferences or decisions by interpreting the meaning and implications of the information within the capabilities of the existing knowledge base. The associated decision making task is an intelligent processing activity which in tum may lead to enhancement:, refinement, and updating of the knowledge base. 3. Concepts of approximation The ability to approximate a particular condition or object is useful in recognition, representation, and decision making. Approximation will require some form of preprocessing of information, such as illtering, interpolation, extrapolation, compression and other morphological operators, pattern recognition, matching, classification, and learning, and may employ memory, knowledge, expertise, intelligence, common sense, and heuristics in addition to external information regarding the object of approximation. It may be argued then, that the process of approxima- 223 tion is a task of "intelligent preprocessing" and the ability to approximate is a character of intelligence. A robot may encounter unfamiliar and unexpected environments and situations. To satisfactorily deal with that condition, the robot will have to quickly recognize the situation and understand it. As another example, the performance of a robot or several of its components, both hardware and software, may be evaluated by first representing the current state of performance and comparing that with some specifications. Both these examples may involve searching and matching the knowledge base of the problem with available data on the condition, which may be an inherent procedure of approximation. In this manner, an intelligent system should be able to represent and process approximate knowledge, thereby learning new knowledge, refining the knowledge base and making correct inferences. There are many concepts of approximation. Several common ones are listed in Table 1. It is important to recognize the characteristic features of these concepts so that one could avoid using them incorrectly and inappropriately. In Table 1, the main characteristic that differentiates each concept from the others is indicated, and an example to illustrate that characteristic is also given. In representing and analyzing these concepts, one may treat a condition as membership in a set. The set itself may be either fuzzy or crisp depending on the concept. In particular, it should be noted that both uncertainty and imprecision deal with crisp sets and fuzziness uses fuzzy sets. Belief and plausibility are applicable to both crisp and fuzzy sets. A fuzzy set A is represented by a membership function, or a "possibility function" [ 11,13] of the form Fz[x ~ A] : IZA(X) : ~ ----->[0, 1] (l) in which each element of A, as denoted by a point x on the real line R, is mapped to a value u which may lie anywhere in the real interval of 0 to 1. This value is the "grade of membership" of x in A. If the membership grade is greater than 0 but less than 1, then the membership is not crisp (i.e., it is fuzzy), and the element has some possibility of being within the set and also some complementary possibility of being outside the set. In this case, the element falls on the fuzzy boundary of the set. The conventional binary logic is crisp, and allows for only two states, represented by 0 and 1, of set membership; an element is 224 C.W. de Silva~Robotics and Autonomous Systems 21 (1997) 221-237 Table 1 Some useful concepts of at-proximation and their characteristics Concept Property Example Ambiguity The condition has a finite number of different possibilities The condition is not precisely (clearly) defined The condition may apply to many (finite or infinite) situations depending on the specific context Condition can assume a state within a clearly defined (crisp) tolerance interval There is a degree of probability associated with occurrence of the condition The robot "may or may not" reach the target The robot "may have" reached the target The robot is within "x" of the target Vagueness Generality Imprecision Uncertainty Fuzziness Belief Plausibility The membership of the condition is not crisply defined. (Set boundary of the condition is not crisp) (Subjective probability) The level of belief on the condition (membership of a crisp or fuzzy set) through knowledge and evidence The dual condition of belief. The belief of membership and the plausibility of non-membership is full. Bl(x A) + PI(x ¢ A) = 1 either completely inside or completely outside a set. This logic cannot handle fuzzy descriptors, examples of which are "fast" which is a fuzzy quantifier and "weak" which is a fuzzy predicate. They are generally qualitative, descriptive, and subjective, and may contain some degree of a neighboring quantity such as "slow" in the case of the fuzzy quantity "fast". Through the use of membership grades that lie between 0 and 1, fuzzy sets and associated fuzzy logic allow for a realistic extension of binary, crisp logic to qualitative, subjective, and approximate situations that often exist in problems where techniques of artificial intelligence and intelligent control are appropriate. Suppose that the intersection (N) of fuzzy sets is represented by a T-norm such as min(x, y) and xy, and the union (U) of fuzzy sets is represented by an S-norm such as max(x, y) and x + y - xy. Then, for two fuzzy sets A and B, the following axiom holds: F z ( A U B) = F z ( A ) + F z ( B ) - F z ( A n B) (2) in which, F z ( ) denotes the grade of membership of an element x in the set that is specified within ( ) . The concept of approximation, uncertainty deals with the "probability of membership" in a crisp set, The robot is "within 4-5.0 mm" of the target There is a "90% probability" that the robot has reached the target The robot is "near" the target It is believed at a level of 90% that the robot is at the target It is plausible at a level of 95% that the robot is at the target not a fuzzy set. In this case, a probability function p ( x ) may be defined, for a crisp set A, as follows: P r [ x E A] = p ( x ) : ~[0, 1]. (3) The axiom that describes the probability of combined sets is analogous to Eq. (2). Specifically, P r ( A U B) = P r ( A ) + P r ( B ) - P r ( A n B) (4) in which, A and B are crisp (non-fuzzy) sets, and P r ( S ) is interpreted as the probability that an element x belongs to set S. From Eqs. (1)-(4), some form of analytical similarity between fuzziness and uncertainty may be established. But, clearly, these two concepts o f approximation are not identical. Nevertheless, probabilistic and statistical techniques may be employed in fuzzy logic and similarly, probabilistic approaches may be augmented with fuzzy-logic techniques. Specifically, a membership function of a fuzzy set may be estimated by using statistical data of membership and non-membership of the set, as determined by, say, polling a set of experts. For example, a set of trials may be conducted among a group of experts to determine whether a particular state is "fast" or not. Then the grade of membership may be estimated as C.W. de Silva~Robotics and Autonomous Systems 21 (1997) 221-237 225 the ratio of the number of positive polls to the total number of polls. By repeating this experiment for different conditions of speed, an entire membership function could be estimated. This practical link between fuzziness and uncertainty may be extended to an analytical link as well, but without disregarding the dissimilarity between the two concepts [9]. To further establish a link of this form, another interpretation for fuzziness that is somewhat akin to probability, is also available [ 11]. Here, a crisp set A is considered. Then, the level of fuzziness of an element x is interpreted as the truth value, level of belief, or level of certainty that x 6 A. Another common way of jointly exploiting the concepts of fuzziness and uncertainty is through the use of fuzzy modifiers. An example would be, "fast with a certainty leve]l of 90%". Yet another useful concept of approximation is belief, as listed in Table., 1. Here, Bl(A) denotes the level of belief that the element x belongs to set A. A belief value may represent the subjective level of confidence (or belief) that a particular object is a member of a given set, and may be based on available knowledge, experience, commonsense, experimentation, and other evidence. A belief may be defined regardless of whether the set is crisp or fuzzy. The axiom of combination for belief is In view of inequalities (1 l) and (12) one could argue that, on the basis of a given body of knowledge (including evidence, experience, and commonsense), the level of plausibility that a particular situation occurs is greater than the level of belief of occurrence of the situation. Hence, plausibility is a more liberal, weaker, or more flexible form of belief. As for belief, plausibility may be applicable to both crisp sets and fuzzy sets. The complement relationship for plausibility is given by B l ( a U B) >_ BI(A) + B l ( B ) - Bl(a n B). 1 < Pl(A) + Pl(A'), (5) Also, BI(X) = 1; Bl(~) = 0, (6) in which X denotes the universal set and q~ denotes the null set. When A and B are disjoint sets, then, one has BI(A U B) >_ BI(A) + Bl(B). (7) It follows that the level of belief can improve when two sets are considered jointly within a common context, over when they are considered separately and independently. Also, it follows from (7) that 1 >_ B l ( a ) + Bl(a'), (8) where, A' is the negation (complement) of A. Expression (8) states that the belief of a nonoccurrence of A is less than the complement of belief of A. In other words, the belief of occurrence of A and the belief of non-occurrence of A are not full, and there exists some level of belief that is indecisive. This deficiency is compensated for by introducing the concept of plausibility which satisfies, e l ( A ' ) = 1 - Bl(A). (9) From Eq. (9) it also holds that P l ( A ) = 1 - BI(A') (10) Furthermore, it can be shown that P l ( A ) > BI(A) (ll) and Pl(A') > S l ( A ' ) (12) (13) which further supports the weaker or more liberal nature of plausibility over belief (inequality (8)). Analogous to the manner in which fuzziness and uncertainty are jointly applied to a condition by the use of fuzzy modifiers, fuzziness may be applied jointly with either belief or plausibility as well. In this context fuzzy beliefs or fuzzy plausibilities may be employed which are akin to fuzzy truth values [8,13]. This combination of approximators may be achieved, for example, by using expressions of the form "fast with a 90% level of belief". Some useful properties of four common concepts of approximation are summarized in Table 2. Note that all these concepts can be described in terms of an "inexactness" of set membership. Nature and origin of the inexactness are, however, quite unique to the particular concept itself. The type of set used is also not the same for all four concepts. Specifically, uncertainty concerns crisp sets and fuzziness deals with fuzzy sets, whereas belief and plausibility are applicable to both 226 C.W. de Silva~Robotics and Autonomous Systems 21 (1997) 221-237 Table 2 A comparison of several useful concepts of approximation Concept Qualitative definition Combination axiom Complement relation Uncertainty Probabilistic/statistical inexact- P r ( A U B) = P r ( A ) + P r ( B ) - P r ( A n B) P r ( A ) + P r ( A r) = 1 F z ( A U B) = F z ( A ) + F z ( B ) - F z ( A n B) Fz(A) + Fz(A') = 1 BI(A U B) >_ BI(A) + BI(B) - BI(A n B) BI(A) q- BI(A') < 1 P I ( A U B) < P I ( A ) + P I ( B ) - P I ( A n B) PI(A) + PI(A') > 1 ness of occurrence of an event (crisp set) Fuzziness Belief Plausibility Inexactness in human perception about a situation (set boundary is non-crisp) Inexactness in human belief or confidence about a condition (crisp or fuzzy set) A more liberal form of belief. Level is higher than belief, with the same amount of evidence (Crisp or fuzzy set) crisp and fuzzy sets. All four concepts are useful in knowledge-based intelligent control, when representing and processing knowledge [8]. Even though the mathematical formulations are somewhat similar and the physical characteristics would be lost in the procedures of numerical computations, it is important to understand the differences in meaning of these concepts when employing them in practical applications. In knowledge-based systems, particularly intelligent control systems, a knowledge base is represented by a set of if-then rules of the form A =¢, B. Each rule may be "modified" by introducing "approximators" or modifiers. To illustrate the use of such modifiers consider a knowledge base with rules of the form: • IfAthenB; • If A then B with certainty p; • If A then B with truth value m; • If A then B with belief b. In each case, the antecedent A and consequent B can be either crisp or fuzzy quantities. In the fuzzy case the level of fuzziness of the knowledge base is determined by the membership functions of the associated fuzzy sets. Apart from that, a level of certainty p, a truth value m, a level of belief b, etc. may be associated with each rule, so as to qualify the exactness of each rule on the basis of additional statistical information, perception, evidence, and so on. In this manner, the concepts of approximation, as discussed in the present section, may be used in a complementary manner, to more realistically and authentically represent a knowledge base and to make valid inferences using it. 4. Knowledge-based decision making Typically, intelligent control relies on a knowledge base and a suitable reasoning procedure for arriving at a control decision, which will in turn initiate a corresponding control action. It follows that knowledge-based decision making is the basis of intelligent control. This aspect is explored now, with particular emphasis to approximate reasoning. First, two formal definitions are given. Definition 1 (Knowledge-based decision making). Consider a knowledge base K that is represented in some form, concerning a system, and a set of data or information D on a particular context of the system. Then, the knowledge-based decision making involves arriving at an inference I corresponding to the context as I = M[P(D), K], (14) in which the preprocessing operator P(.) converts the context operand into a representation that is compatible with K, and the matching operator M[-, .] matches the first operand with the second operand, thereby arriving at an inference that is dictated by the matched segment of K. Definition 2 (Approximate reasoning). Approximate reasoning is a general form of the knowledge-based decision making as given by operation (14), where the knowledge base K is represented in an approximate form, the preprocessing operation P(.) is a process C.W. de Silva~Robotics and Autonomous Systems 21 (1997) 221-237 227 of approximate representation of information that is compatible with K, and the operation M[., .] involves approximate matching of preprocessed information with K, thereby arriving at an approximate inference. From the above two definitions it follows that approximate reasoning encompasses a more general situation of knowledge-based decision making, and is the basis of intelligent control. The type of approximate reasoning that is applicable will depend on the concept of approximation that is considered and the corresponding techniques of representation and processing of knowledge. Also, the supremum (sup) and minimum (min) operations are given by the usual definitions. Usually a crisp control action ~ is needed in practice, and may be determined by the centroid method; thus, 4.1. Fuzzy predicate approximate reasoning In probabilistic approximate reasoning, the concept of approximation that is applicable is uncertainty. Here, probability distribution/density functions are employed in place of membership functions. The formula of knowledge-based decision making which corresponds to Eq. (14), in this case, depends on the specific type of probabilistic reasoning that is employed. The Bayesian approach [1,16] is commonly used. This may be interpreted as a classification problem. Suppose that an observation d is made, and it may belong to one of several classes ci • The Bayes relation states [8] When the knowledge base is represented by a set of if-then rules with condition and action variables that are fuzzy descriptors, and knowledge processing is done using fuzzy-logic-based reasoning, Eq. (14) will correspond to fuzzy predicate approximate reasoning [18]. Specifically, suppose that a set of data D is available. Its fuzzy representation is given by FD = F P ( D ) . (15) In most practical situations, Eq. (15) corresponds to a "fuzzification" procedure of determining a membership function that corresponds to D. This may be accomplished, for example, by selecting an appropriate membership function for the fuzzy variable that generates data D and then reading off the membership grades corresponding to D [8]. Suppose that the fuzzy knowledge base is denoted by FK. Then the fuzzy inference Fx is obtained by FI = FK o FD, (16) in which the fuzzy matching operator F M which should be used in place of M in Eq. (14), is in fact the composition operator "o" [8,11]. Specifically, the compositional rule of inference /~l = sup min(/zK, jzO) (17) X is used, in which, /JK is the multidimensional membership function of the fuzzy rule base; /zo the membership function of the fuzzified data; /Zl the membership function of the fuzzy inference and X is the common set of context variables used in knowledge base matching. _ fs c u t (c) dc fs tzx(c) dc ' (18) where c is the independent (control) variable of the control inference I, and S is the support set (or, the region of interest) of the control membership function. 4.2. Probabilistic approximate reasoning max P(cild) = i P(dlci) • P(ci) , P(d) (19) where P (ci Id) is the probability that it belongs to class ci given that the observation is d, (this is the a posteriori conditional probability); P(dlci) the probability that the observation is d given that the observation belongs to the class ci, (this is the class conditional probability); P(ci) the probability that a particular observation belongs to class ci, without knowing the observation itself (this is the a priori probability) and P(d) is the probability that the observation is d without any knowledge of the class. In the Bayes decision making approach, for a given observation (data) d, a posteriori probabilities P (ci Id) are computed for all possible classes (i = 1, 2 . . . . . n), using Eq. (19). The class that corresponds to the largest of these a posteriori probability values is chosen as the class of d, thereby solving the classification problem. The remaining n - 1 a posteriori probabilities represent the error in this decision. Note the analogy of Eq. (19) to (14). Specifically, P (d) represents the "preprocessed" probabilistic data 228 c.w. de Silva~Robotics and Autonomous Systems 21 (1997) 221-237 that corresponds to the observation d. The knowledge base itself constitutes the two sets of probabilities: (1) P ( d l c i ) of occurrence of data d if the class (decision) is ci, i = 1, 2 . . . . . n; and (2) P ( c i ) of class (decision) ci, i = 1, 2 . . . . . n without any knowledge of the observation (data) itself. The knowledge base matching is carried out, in this case, by computing the expression on the right-hand side of (19) for all possible i and then picking out the maximum value. Formulas for knowledge-based decision making that correspond to Eq. (14) may be identified for other concepts of approximation (e.g., belief, plausibility, truth value) as well. For example, in the case of belief, the knowledge base may constitute a set of belief values for a set of rules. Then, knowing the belief value of an observation, the decision making problem will become a matter of picking the segment of the rule base that matches the data and also has the highest belief. More often, however, such concepts of approximation are used as modifiers within a knowledge base of different category (e.g., fuzzy or probabilistic) rather than stand-alone tools of decision making, as alluded to in the previous section. ProduCllOnPlanning.SobtaskAllocation. Schedul~g,8rl(ISystemMonitonng - . . J Io Wc~kcell• WorkcefiMonitonng,DeviceCoordlrtatm¢l, andInlell~lentControl "'-°[ 1 Estimation SensorGeneralization and Fusion • Sensor • FaultTolera • Geometric (e g. CCD carm~as,lasers,uHrasonk;) • Load • Hydraulic • Pnl~matic • DC Motors (eg., aCl~lor current,pmsure,slip) • SlePperMotors • AC MoIors (eg, e~oders, potemiometers,optical) a Thermal • Material • FIowNalves (e.g, ullrasoundimaging,infrared,mcrowave) • Mor~on • Robot Joints • Grippers • Platlorms • Cutter/Material Removers • Conveyors ProcessWorkcell 1 P ~ woltcell r Fig. 2. A Multiworkcell process system. ........... High-Level ~....~,' Interpretation ~ ',.............. ; Intelligent Task Control ............. ~...a,' ; Knowledge Base for Task i..O.pyra!~. °n. ..... Commanding Intslli gent i Extraction of ! . Image Features; Prepro c e s s i n g T Position, Impedance, etc 5. Intelligent control of robotic workcells Several projects that incorporate robotic processes are being carried out at the Industrial Automation Laboratory of the University of British Columbia [5]. In the remainder of the present paper, a few representative activities will be outlined with the primary objective of pointing out practical applications of intelligent control in robotics. 5.1. A R o b o t i c w o r k c e l l Consider the workcell of a fish-processing system as schematically shown in Fig. 2, which is being developed in the Industrial Automation Laboratory. The system uses a variety of sensors. The information from some of the sensors may be used directly in the lowlevel direct controllers. Furthermore, high-resolution signals from the sensors may be preprocessed (interpreted) to yield high-level information, which would provide the context for system monitoring, tuning, device coordination, and task control purposes. Each of these high-level modules may use knowledge-based , r- ............. i i Ultrasound/ ', : Vision . ! ', ,-:..... -$....... : : / i, [.~ LowSensing Sen~ , Low-Levelr I Low.e, Contrail t Process (End-Effector, Object, and Environment) Fig. 3. The hierarchical control structure of a robotic workcell. decision making and intelligent control. The overall fish-processing system may contain several workcells, with a top-level system controller carrying out such tasks as production planning, task allocation, scheduling, and system supervision. The hierarchical nature of the workcell control system is depicted in Fig. 3. Preprocessing and interpretation that are needed in different layers of the hierarchical system will involve various types of approximation [8], as discussed in Sections 3 and 4. For example, signals such as joint motions and interaction forces may be filtered and analyzed [3] for peak values, averages, root-mean-square values, standard deviations, and associated grades of fuzzy membership. C. W. de Silva~Robotics and Autonomous Systems 21 (1997) 221-237 Furthermore, the low-level signals from sensors may be used to identify (estimate) membership functions and system models, and to compute statistical distributions. Sensory information such as images (optical, ultrasound, etc.) may be used in object recognition, identification, representation, and classification [16]. The associated techniques will involve pattern analysis and approximation, making use of probabilistic, fuzzy-logic, belief, and plausibility concepts. Information that is preprocessed (intelligent) and interpreted in this manner, will form the context for a knowledge-based decision making system [15]. A high-level knowledge-based system of this type may employ fuzzy logic tor knowledge representation and processing, and may carry out activities like intelligent process control, tuning of controller parameters, process monitoring and fault diagnosis, self-organization, task control and coordination, and intelligent restructuring of the system. A robotic workcell of this type has been developed for automated fish processing, as schematically shown in Fig. 4. In the robotic fish processor, conveyors, active holding and positioning mechanisms, and other standard ProductioDemand n :r User interface I Monl tntel Tunint(t Intelligent T~csk a~ System Supervision Control F ToOther l Workcel Component s ~Vis~k Robot Direct Co~troller Fror Arm -ncoders )tentiometers its i 229 devices are utilized. A properly designed robotic end effector performs cutting operations. Images from CCD cameras are used both in computing low-level geometric information for positioning the holding and cutting devices, and in assessing the "quality" of processed fish [8]. Ultrasound probes are used to determine such features as "firmness" and "freshness" [9]. These measurements are qualitative and subjective in general, and will require intelligent processing and assessment. 5.2. Mechanical impedance considerations When processing a fish, the robotic cutter will encounter material of various physical characteristics; skin, fat, cartilage, meat, bone, etc. Local instrumentation of the cutter to detect these material regions and to properly process a fish on that basis is not a trivial task. Measurements have to be made rapidly and accurately, and the associated instrumentation should not be prohibitively expensive and should not make the cutting system bulky and sluggish. Mechanical impedance at the cutter-object interface has been found to provide an acceptable measurement of the material characteristics of various regions of a fish. Consider the dynamic interaction model shown in Fig. 5. The drive motor at each joint of the robot feels the external force Fe that is present at the end effector, properly transformed by taking into account the robot configuration. Also, the motor will feel the internal load of robot dynamics, again properly transformed. The net force/torque component of the drive motor, after supporting these two load components, will excite the motor dynamics, thereby generating the motor (joint) motion. The joint motions are transformed to the end effector, which results in the end effector velocity Ve, as shown. The force applied by the end CCD Camera To Holding sm Mechani Fig. 4. Schematicdiagram of a robotic fish processing workcell, Fig. 5. Dynamic interaction model for mechanical impedance sensing in robotic process control. 230 C.W. de Silva~Robotics and Autonomous Systems 21 (1997) 221-237 PC-bus exp. GPB Enc AD DA & DO 1 To host computer Logic Control Bus _E PUMA 560 & End-effector CCD Camem Fig. 6. Hardware configuration of the retrofitted robotic controller. effector on the processed object (fish) is reacted back on the end effector itself, as given by Fe. Mechanical impedance at the process interface, then, is given by Fe(j°9) Zp(jOg)- Ve(jOg)' (20) where both Fe and Ve are defined in the frequency domain using the independent frequency variable w. This impedance consists of the three primary components: inertial impedance, dissipative (resistive) impedance, and elastic (capacitive) impedance. In the linear case, these components may be approximated as mjw, b, and k/jw, respectively. Here, m, b, an~d k are the equivalent mass, equivalent viscous damping constant, and equivalent stiffness, respectively. In the local, linear case, impedance sensing may be interpreted as the determination of these three parameters. Rather than using force sensors to directly compute impedance, which may result in a bulky, noisy and costly cutter that is less robust and reliable, an indirect impedance sensor is being developed for process monitoring and control [10]. It uses sensed motor current along with motion measurements from an optical encoder, for on-line estimation of mechanical impedance. To accommodate this sensing procedure, a PC-based controller has been developed, as schematically shown in Fig. 6, for the PUMA 560 laboratory robot, in which the VAL II controller of the robot has been bypassed. The incremental motions at the robot joints are measured using optical encoders and read into the controller through an encoder board (Enc). The absolute motion, as sensed by the joint potentiometers, and the currents drawn by the motor amplifiers of the joints are read through an analog-todigital (AD) converter board. A CCD camera monitors the process, and the resulting images are grabbed and processed using a SHARP GPB board within the controller. Also, there is a combined digital-to-analog (DA) and digital output (DO) board. The DA provides control signals from the digital controller to the drive amplifiers of the robot joints. The DO provides logic control signals to various hardware components of the robot. Fig. 7 gives a plot of the profile of mechanical impedance, as a function of time, obtained from an 231 C.W. de Silva~Robotics and Autonomous Systems 21 (1997) 221-237 m , , , I ', l I I ,' I I so . . . . . . . ~-. . . . . . . ~........ ~. . . . . . . . '~. . . . . . . ;-~--~| ', / o~ 30 g I ', ....... 4- ....... i , ,..m., ~o .-- ÷--A (] -I0 t obJt~ ia~r 4 ....... ~ ........ EIHtlC Impedance (i,dll,i ~nno,~ i dud'lo ', ', impedlm(:~ mob Imp..=, I I Frictional/: ~ 1 ' i- ....... i i '\ I \ ', ',1 - Lo-- I -'J'~*-~ +I ; i .. . . . . . . . : r: The gap =twllen 2 4 a~ i~i~i! i:I ~!~:ii~ii!~~ii~ ii~ It 'l ] ^/i ....... . . . I1 | ) ~---,- ~. : " : : CutllnR l:~gins 3 Time (sec) fill II | , oble¢l .~-mi<m.r~i----,--,---,',-,,--,', ,, Imp,i,.~i ~ 3,__/v..-,,.a.,-\ i .... 1- . . . . f i Motion be~in, ', ii i i _ ] ,, ...... . . . . . t-i ..... i 5 Fig. 8. The laboratory robotic system in a fish slicing experiment. Fig. 7. Interpretationof lhe mechanical impedanceprofile from a cutting experimentof a two-layeredobject. experiment where a soft layer and a hard layer of material were cut in sequence, using the robotic fish cutter. The impedance was determined by measuring the amplifier currents and the end effector motion and then locally estimating the impedance parameters. Fig. 7 shows how various stages of the process operation may be identified simply by observing the impedance profile. Specifically, initial acceleration of the robot generates a ripple of inertial impedance. The subsequent impedance prior to the start of actual cutting is primarily due to internal energy dissipation (friction) of the robot. In the beginning of the cut, the cutter presses against the soft layer, creating an elastic impedance. Subsequent impedance includes what is caused by energy dissipation due to the cutting process. Also, there is a clear drop in impedance at the interface between the two layers of the processed object. Finally, the impedance increases rapidly as the harder layer is cut, and then drops back to the free impedance value at the end of the cutting task. A photograph of the laboratory robot in a fish slicing experiment is shown in Fig. 8. In an application of this nature, sensing and utilization of mechanical impedance will result in many advantages. A controller based on motion sensing alone can result in large and damaging forces, even with a slight error, for example, in the direction against a hard constraint. Also, direct sensing of force has disadvantages such as high cost, sensor weight and the associated sluggishness and payload reduction, practical difficulties of mounting a sensor at the object-cutter interface, and noise problems. Furthermore, force-based control may lead to instability problems [3]. Mechanical impedance will provide a satisfactory compromise between the two extremes given by motion control and force Control, and is termed impedance control [12]. This may be particularly useful in fine-manipulation tasks such as robotic surgery. In such situations, it may be possible to separate gross dynamics of the robotic ann and the fine manipulations of the end effector. Analytical criteria and conditions may be established for dynamic decoupling of the two types of tasks, thereby simplifying the associated control problem. A higher level use of impedance information is also appropriate. Here, an impedance profile, "measured" as before, may be interpreted using a relatively simple knowledge-based system. The robotic process may be guided on this basis by a softer version of impedance-based control, that makes use of the interpreted information. The same, high-level impedance information may be useful in monitoring the process performance and assessing the product quality. For example, suppose that inertial, dissipative, and elastic impedance components are estimated and represented using some concept of approximation (e.g., fuzzy description), as zm, zb, and zk, respectively. Also, suppose that each descriptor may assume one of the three approximate states: low (lo), medium (md), and high (hi). Then, a knowledge 232 c.W. de Silva~Robotics and Autonomous Systems 21 (1997) 221-237 base of the following form may be used for process evaluation: z m --+ hi N zb --+ m d n z k --+ lo ~ free with 0.85 z m --+ 1o O z b -+ m d n z k --+ hi ~ skin with 0.80 z m --+ lo n zb -+ m d n z k --+ m d ~ meat with 0.75 z m --+ m d N z b -+ m d n z k ---* Io ~ fat with 0.70 z m ---* lo n z b -+ hi n z k --+ lo ~ bone with 0.85 The five rules given here identify free motion of the end effector, and cutting of regions that are predominantly skin, meat, fat, and bone, respectively. Each rule has a numerical value attached to it, which may be interpreted as a level of belief or a level of confidence for that rule. I Controller J Attribute I Updates KnowledgeBaseof TuningRules inference Mechanism Performance ContextData Pe~ormance Indicators Tuning Parameter Wapp ng Control Paramq Tuning Operating Inputs itroI ResponseFeedback Fig. 9. An intelligent tuning system for robot controllers. 6. Intelligent tuning of robots Much knowledge and experience are available in tuning servo-controllers. Techniques are available for both manual and automated self-tuning [17]. Since robots employ servo-actuators as their driving devices, then, it is reasonable to use some of the same techniques in tuning the controllers of robot actuators. Furthermore, since the tuning knowledge may be expressed as a knowledge base, usually containing approximate and fuzzy descriptors, it would be appropriate to use intelligent tuning techniques for robot controllers, particularly fuzzy-logic approaches. Several such procedures are available. One approach is schematically shown in Fig. 9. What is shown is a three-layer hierarchy. The lowest layer has the robot sensors, actuators, and direct controllers; typically, servo-controllers. The intermediate layer performs intelligent interpretations of the measured signals, and determines the context or present status of the joint controllers of the robot. The top layer decides on the tuning actions corresponding to the particular context. In the specific approach shown in Fig. 9, the desired response of the robot is specified by means of a reference model. Note that, typically, this would be a simple linear model consisting of a series of well-behaved simple oscillators, and not a model of the robot itself. A test signal is applied simultaneously to both the reference model and the robot. The robot is considered to be in an acceptable state of tuning if its response is sufficiently close to that of the reference model. If the tuning is carried out during the normal operation of the robot, the test input would be incremental, and applied during a quiescent period of operation. Otherwise a high-magnitude test input could be applied during an interval when the robot is not carrying out its normal tasks. The outputs of both the robot and the reference model are supplied to a performance evaluator. It processes the two outputs, and processing may include approximation, parameter estimation, comparison, and pattern matching. In this manner, the performance evaluator arrives at a set of attribute values which represents the present performance status of the robot controllers. The attributes employed for this purpose are those that are commonly used by control engineers to represent the performance level of a controller [4,6,8]. In the specific laboratory implementation that is the focus of the present section, the controller is of proportional-plus-integral (PI) type, together with a lead compensator, and the following attributes have been used: • 95% rise time, • damped natural frequency, • damping ratio, • percentage overshoot, • steady-state error (offset), • precision. 233 C.W. de Silva/Robotics and Autonomous Systems 21 (1997) 221-237 In the tuning rulebase at the top layer of the system, these context attribute.s are related to a set of controller parameters that are commonly used by control engineers in performance specification. Specifically, the following parameters are used: • compensator phase lead at regular crossover frequency, • regular crossover frequency, • compensator gain at crossover frequency, • low-frequency level of integrator, for achieving steady-state accuracy. The choice of condition and action variables of this particular form, for the tuning knowledge base, is quite realistic in view of the fact that the knowledge base is representative of an existing practice of controller tuning by experts. The inference mechanism within the intelligent tuner determines a set of controller parameters that is expected to generate the desired response, under the present conditions (context) of the robot. The controller parameters are not necessarily the tuner parameters, as clear from the previously stated list. Often, analytical relations would exist between these two sets of parameters. For more complex situations, either qualitative or approximate relations could be used. These relations have to be expressed within the mapping module for tuning parameters, and the module will be responsible for determining the set of tuning parameters that correspond to the controller parameters. In the present example, the tuning parameters used are: • ratio of lead/lag time constants of the compensator, • lead time constant of the compensator, • compensator gain, • gain of the integral controller. From basic control theory it is well known that unique analytical relations exist between these tuning parameters and the previously specified controller parameters. The advantage of using a separate set of mapping relations rather than directly relating the tuning parameters themselves to the context, within the tuning knowledge base, should be clear. Specifically, experience in contreller design usually relates a specified system performance to a set of controller design parameters rather than direct tuning parameters, and consequently, establishing the knowledge base would be more convenient and realistic in the former case. The response of a joint of the PUMA 560 robot in the Industrial Automation Laboratory, during tuning 2 4 6 Time (second) 110 12 Fig. 10. Response during intelligent tuning of a joint of the PUMA 560 robot. with the approach outlined in the present section, is shown in Fig. 10. Notice that, initially the joint response was quite oscillatory. In less than 10 s the system has satisfactorily tuned the joint. 7. Intelligent restructuring of robotic workceils A flexible production system may be structured as a cooperative group of workcells. A typical arrangement is schematically shown in Fig. 11. Each workcell will consist of several processing tools, including robots, whose operation is coordinated and controlled by a cell controller. Flexibility of the system is made possible through programmability and ease of reconfiguration, reorganization, and restructuring without needing costly and time-consuming hardware modifications to the workcells. Robots can provide many such features of flexibility, enabling quick changes of products and production schedules, and also making possible efficient and cost effective production of small batches of items. Intelligence can complement flexible automation of production systems. As discussed in the previous sections, knowledge-based control of robots can provide a degree of intelligence to a flexible production system. But, in addition to the robot controller, the cell controller and also the system controller have to be made intelligent, for achieving a truly intelligent production system. 234 C.W. de Silva~Robotics and Autonomous Systems 21 (1997) 221-237 FlexibleSystem I Production Controller Plant LocalAreaNetwork Fig. 11. Configurationof a flexibleproduction system. For optimal operation of a workcell, each component of the workcell should operate at its rated capacity. But, this is an unrealistic expectation since the activity level of a workcell may not equal its capacity at all times, due to reasons such as; poorly matched workcell components as a result of design limitations, need for non-standard components for exact matching, restrictions in commissioning timeframes and costs; and also due to variations in production demands. As a result, at a given time, some components of a workcell may operate below their capacity and some others may be overloaded. An intelligent production system should be able to restructure its workcells so that each overloaded component would release its excess load into a similar component that is operating below its capacity and available, according to some desirable scheme. This may be achieved by means of an intelligent structuring system [7]. Several basic types of actions are desirable during system restructuring. For example, overloaded components may be matched with the "best" feasible components of the same type that operate below capacity for load sharing. As another type of action, components that operate below capacity may be matched with other feasible components of the same type that also operate below capacity, so that load transferring between components would eventually result in completely releasing some components which could be either removed from the system or transferred into some other workcell. Schemes for carrying out these various types of load transfer actions can be quite similar. In this section, a procedure is outlined for intelligent sharing of components. Other actions like component releasing may be performed using essentially similar procedures. The main steps of the procedure are as follows: 1. Establish groups of shareable components within the flexible production system such that it is feasible to share any two components within each such group regardless of whether the two components belong to the same workcell or not. 2. Develop a knowledge base of component sharing within each group. Typically, it would consist of fuzzy-logic rules that dictate priorities of sharing. 3. Determine the membership functions of various fuzzy descriptors of the rules. 4. Establish feasibility levels of sharing for each pair of components in a group. This may be based on such factors as proximity, age, repair state, operating cost, and complexity of the components. A level of approximation (uncertainty, belief, truth value, etc.) for each rule may be integrated as well, into the feasibility level, even though the physical concepts themselves are quite different. 5. Determine the capacities and measure the activity levels of the components. 6. Apply the compositional inference to the knowledge base, with component overloads and undercapacities as the context, and compute priority levels of sharing. 7. Implement load sharing between the top priority component pairs. A rulebase for accomplishing a procedure of this type is given in Fig. 12. Note, in the rulebase of Fig. 12, that higher priorities are given for more compatible pairs of overloads and undercapacities. Also, higher overloads are given higher priorities. Sharing with a component that has been stopped (no-activity, na) is given a lower priority because it is more economical and convenient to release an overload into an already active component that operates below capacity. The decision of component sharing is made in two steps. First, a membership function of the priority C.W. de Silva~Robotics and Autonomous Systems 21 (1997) 221-237 Ngmendature: Decision Levels Context Levels Overloaded Components Undercapacity Components (OC) Matching Priority (UC) (PR) ho = highly overloaded n,:t = no activity v h : very high mo = moderately overloaded h~ = high undercapacity mdhi lo = lightly overloaded n:,u = moderate undercapacity /u = light undercapacity high 235 in which S is the support set of the membership function of the priority decision PD. The values (pd) of the priority decisions are arranged in the descending order and executed in that order, during each cycle of component restructuring. moderate w low 8. Concluding remarks Rulebase: If O C is ho and UC is na then PR is md else i f O C is ho a n d UC is hu then PR is vh else if O C is ho and UC is mu then PR is hi else if O C is ho a n d UC is lu then PR is md else if OC is mo a n d UC ia na then PR is Iw else if O C is mo a n d UC is hu then PR is hi else If O C is mo a n d UC is mu then PR is hi else if O C is mo a n d UC is lu then PR is tr~l else if O C is Io a n d UC is na then PR is Iw else if O C is Io and UC is hu then PR is Iw else if O C is k~ a n d UC i~; mu then PR is rnd else if O C is lo a n d UC is lu then PR is md e n d if. Fig. 12. A rulebase of component matching for load sharing. decision is obtained by applying a compositional inference of the form IZpD(y) ----- max {min[#'oc(Loc i,j,k(i,j) - Aoc), tXJuc(Cuc - AUC)]txkpR(y)}f(OC, UC), (21) in which,/zba(-) : N --+ [0, 11 is the membership function of bth fuzzy level of fuzzy set A; f(c, d) the feasibility level of sharing the load of c with d; L the workload assigned to component; C the capacity of component and A is the actual activity level of component. As mentioned before, any known inexactness of the rulebase may be incorporated as well into the parameter f ( ) , in the form of uncertainty, belief, or truth value. Next, a crisp value pd of the priority decision is computed using the centroid method as pd = f s ylZpD(y) dy // S tzpD(y) dy, (22) It is difficult to give a precise definition for intelligence. What is usually done in the practice of artificial intelligence is to identify a set of intelligent characteristics, and then classify a system as "intelligent" if it exhibits some of these characteristics. Possession of memory, ability to acquire knowledge and expertise from information (learning) and to enhance and expand that knowledge through further processing, ability to make meaningful decisions using approximate and incomplete information, and the ability to adapt to unfamiliar situations are such characteristics. Approximation is crucial in intelligent processing of information. In particular, pattern recognition and classification which are used in intelligent processing, commonly use techniques of approximation. It follows that concepts of approximation such as uncertainty, fuzziness, and belief are quite useful in intelligent systems. By incorporating knowledge-based techniques into the control system of a robotic process it is possible to make the process more autonomous, flexible, adaptable, self-organizing, and "intelligent". If the control system is organized into a hierarchical structure, it is at the upper layers that the intelligent decision making and intelligent control are more appropriate. Typically, the sensor signals and other information from lower layers have to be preprocessed and properly interpreted before using them as the context for decision making within upper layers. These preprocessors themselves have to be "intelligent". Knowledge representation and processing form the foundation of intelligent decision making and control. In general, the knowledge-based decision making, in which intelligent control is a special case, may be interpreted as a procedure of first preprocessing a set of data so as to interpret and represent it in a form that is compatible with an available knowledge base, and then matching the preprocessed data with the knowledge base, thereby arriving at appropriate inferences. 236 C.w. de Silva~Robotics and Autonomous Systems 21 (1997) 221-237 The paper described this general, knowledge-based decision making procedure. Many approaches are available for this. Fuzzy logic is one such approach, which is particularly suitable when the robotic system is complex, poorly defined, and when analytical modeling is difficult. In this approach, it is also necessary to develop a knowledge base in the form of linguistic protocols that contain fuzzy descriptors. Human experience and expertise are quite useful in establishing such a knowledge base. Even though fuzzy logic has been applied in direct control of robot joints, the technique is known to be more appropriate for high-level tasks like monitoring, supervisory control, and tuning. Other concepts of approximation such as uncertainty, belief, and plausibility were also described in the paper. Their use in a knowledge-based decision making problem, within the general framework presented in the paper, was also indicated. Intelligence may be distributed among various tasks within a robotic system. The paper outlined several such tasks as, information preprocessing and interpretation, tuning of direct controllers, and selfrestructuring of production workcells. In fact, the present trend is to include intelligence as an integral component within a robot or robotic system. In particular, the control system has to be developed in such a manner that the traditional, "crisp" or "bard" algorithmic techniques of control are integrated with "soft" and knowledge-based "intelligent" techniques, since one category of techniques is not uniformly suitable for all types of control requirements, but may complement the other category. A mechatronic approach where concurrent and unified design of all aspects of a robotic system, with intelligent control included where necessary, would be desirable for future applications of robotics. Sensor and actuator fusion, multiagent architectures with both cooperative and competitive agents [2], self-configurable manipulation, and autonomous systems are several areas where intelligent control would become increasingly useful, in future applications of robotic systems. Acknowledgements The work summarized in this paper has been supported by a Natural Sciences and Engineering Research Council (NSERC) Chair, and through grants from the Institute of Robotics and Intelligent Systems (IRIS) of the Canadian Networks of Centres of Excellence, from the Advanced Systems Institute of British Columbia, and also from the Garfield Weston Foundation and B.C. Packers, Ltd. The author is thankful to Mr. Scott Gu for preparing several of the figures included in the paper. References [ 1] T.W. Anderson, An Introduction to Multivariate Statistical Analysis (Wiley, New York, 1984). [2] A. Buller, Society of agents and fuzzy control, Proc. lASTED Int. Conf. on Modeling and Simulation (1995) 185-188. [3] C.W. de Silva, Control Sensors and Actuators (Prentice Hall, Englewood Cliffs, NJ, 1989). [4] C.W. de Silva and S. Barlev, Experiments with an Intelligent Servomotor System, Winter Annual Meeting, Intelligent Control Systems, DSC-Vol. 45, ASME, New York (1992) 17-23. [5] C.W. de Silva, Research laboratory for fish processing automation International, Journal of Robotics and Computer-Aided Manufacturing (1992) 49-60. [6] C.W. de Silva, Q.M. Wu and Y. Zhou, Intelligent control experiments using a retrofitted industrial robot, Winter Annual Meeting, Intelligent Control Systems, DSC-Vol. 48, ASME, New York (1993) 47-56. [7] C.W. de Silva and J. Gu, An intelligent system for dynamic sharing of workcell components in process automation, International Journal of Engineering Applications of Artificial Intelligence 7 (1994) 571-586. [8] C.W. de Silva, INTELLIGENT CONTROL: Fuzzy Logic Applications (CRC Press, Boca Raton, FL, 1995). 19] C.W. de Silva, L.B. Gamage and R.G. Gosine, An intelligent firmness sensor for an automated Herring Roe Grader, International Journal of Intelligent Automation and Soft Computing 1 (1995) 99-114. [lO] C.W. de Silva and J. Gu, On-line sensing and modeling of mechanical impedance in robotic food processing, Proc. 1995 1EEE Int. Conf. on Systems, Man, and Cybernetics 2 (1995) 1693-1698. [111 D. Dubois and H. Prade, Fuzz), Sets and Systems: Theory and Applications (Academic Press, Orlando, FL, 1980). [12] N. Hogan, Application of impedance control to automated deburring, Proc. 4th Yale Workshop on Applications of Adaptive Systems Theory, Center for Systems Science, Yale University (1985) 203-207. [131 G.J. Klir and T.A. Folger, Fuzzy Sets, Uncertainty, and Information (Prentice Hall, Englewood Cliffs, NJ, 1988). [14] S. Murngesan, Collaborative intelligent systems for control and monitoring applications, Proc. IEEE Singapore Int. Conf. on Intelligent Control and Instrumentation (1995) 347-352. C. W. de Silva~Robotics and Autonomous Systems 21 (1997) 221-237 [15] H.T. Nguyen, M. Sugeno, R. Tong and R.R. Yager, Theoretical Aspects of Fuzzy Control (Wiley, New York, 1995). [16] Y.H. Pao, Adaptive Pattern Recognition and Neural Networks (Addison-Wesley, Reading, MA, 1989). [17] PROTUNER 1100, Instruction Manual Set (Techmation Tempe, 1984). [18] L.A. Zadeh, Fuzzy Logic and Approximate Reasoning, Synthese 30 (1975) 407-428. Clarence W. de Silva is a fellow of the American Society of Mechanical Engineers (ASME). He received his Ph.D. degree in dynamic systems and control from the Massachusetts Institute of Technology, Cambridge, MA, in 1978. S.ince 1988, he has been a Professor c,f Mechanical Engineering and holder of the NSERC-BC Packers Chair in Industrial Automation at the University of British Columbia, Vancouver, Canada. He has authored 13 books and over 100 journal papers, the most recent being INTELLIGENT CONTROL: Fuzzy Logic Applications (CRC Press, 1995). His research areas include intelligent control, robotics, and process automation. He has held fellowships from Lilly Foundation; NASA/ASEE; Fulbright Program; ASI; and Killan Program, and is a recipient of the Meritorious Achievement Award from the Association of Professional Engineers of British Columbia. He has lead the design, development, and testing of five prototype machines for industrial use. He serves on editorial boards of eight international journals including IEEE Transactions on Control Systems Technology, and the Journal of Dynamic Systems, Measurement, and Control (Trans. ASME). 237