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