U.S. patent number RE36,929 [Application Number 08/912,240] was granted by the patent office on 2000-10-31 for robot control system.
This patent grant is currently assigned to Fujitsu Limited. Invention is credited to Hiroyuki Kano, Kuniharu Takayama.
United States Patent |
RE36,929 |
Takayama , et al. |
October 31, 2000 |
Robot control system
Abstract
A robot control system includes: an end effector for acting upon
an object to be worked; a manipulator mechanically supporting the
end effector to apply predetermined movements to the end effector;
a plurality of sensors mounted on the end effector to detect a
position (x) of the end effector and a force (f) between the end
effector and the object and to obtain an acceleration speed (x"), a
speed (x') and a work rate (-x'f) of the end effector; a
pre-controller for controlling movement of the end effector and the
manipulator; a plurality of selection function units connected in
parallel to the pre-controller and at least one of the selection
function units being selected in accordance with the acceleration
speed (x"), the speed (x') and the work rate (-x'f); and a
plurality of control units each connected to a corresponding
selecting function unit for inputting a target trajectory (x.sub.d)
of the end effector and for outputting a control signal (u) to the
pre-controller to control movement of the end effector and the
manipulator; wherein, the selection function unit is selected in
accordance with a value of either "0" or "other than 0" of the
acceleration speed, the speed and the work rate; and the control
signal from the control unit corresponding to the selection
function unit is input to the pre-controller to control movement of
the end effector and the manipulator through the selection function
unit.
Inventors: |
Takayama; Kuniharu (Chiba,
JP), Kano; Hiroyuki (Hatoyama-machi, JP) |
Assignee: |
Fujitsu Limited (Kawasaki,
JP)
|
Family
ID: |
12909015 |
Appl.
No.: |
08/912,240 |
Filed: |
August 15, 1997 |
Related U.S. Patent Documents
|
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
Issue Date |
|
Reissue of: |
118747 |
Sep 10, 1993 |
05442269 |
Aug 15, 1995 |
|
|
Foreign Application Priority Data
|
|
|
|
|
Mar 12, 1993 [JP] |
|
|
5-052233 |
|
Current U.S.
Class: |
318/568.11;
318/568.13; 318/568.16; 318/568.21 |
Current CPC
Class: |
B25J
9/1602 (20130101); G05B 2219/36521 (20130101) |
Current International
Class: |
B25J
9/16 (20060101); B25J 009/18 () |
Field of
Search: |
;318/568.11,568.21,568.13,568.16 |
References Cited
[Referenced By]
U.S. Patent Documents
Primary Examiner: Masih; Karen
Attorney, Agent or Firm: Staas & Halsey LLP
Claims
We claim:
1. A robot control system, comprising:
an end effector for acting upon an object to be worked;
a manipulator which mechanically supports the end effector and
thereby is operative to move the end effector;
a plurality of sensors mounted on the end effector and operative to
detect, and to produce corresponding outputs representative of, a
position (x) of the end effector, a force (f) between the end
effector and the object and an acceleration (x"), a speed (x') and
a work rate (-x'f) of the end effector;
a pre-controller which controls movement of the end effector by the
manipulator;
a plurality of selection function means having respective outputs
connected in parallel to the pre-controller and at least one of the
selection function means being selected in accordance with the
sensor outputs representative of the acceleration (x"), the speed
(x') and the work rate (-x'f);
a plurality of control means respectively connected to the
plurality of selection function means and individually operative,
for receiving and inputting, in common, a target trajectory
(x.sub.d) of the end effector and for outputting respective control
signals (u) to the pre-controller to control movement of the end
effector and the manipulator; and
each said selected one of the selection function means being
selected in accordance with respective values, each value being one
of "0" and "other than 0", of the acceleration, the speed and the
work rate sensor outputs; and the respective control signal (u),
from each control means corresponding to a selected one of the
selection function means, is input to the pre-controller thereby to
control movement of the end effector .[.by.]. .Iadd.and
.Iaddend.the manipulator.
2. A robot control system as claimed in claim 1, wherein each of
the plurality of selection function means utilizes one of a
Kronecher delta function and an enlarged Kronecher delta
function.
3. A robot control system as claimed in claim 1, wherein movement
of the manipulator is defined by the following formula for one
direction component;
wherein, "x" denotes the position of the end effector, "x'" denotes
the speed of the end effector, "x"" denotes the acceleration of the
end effector, "f" denotes the force applied from the object to the
end effector, "u" denotes the control signal generated by the
control means, "m" denotes a weight, "b" denotes a viscosity, and
"k" denotes an elasticity and, further, each of these values is a
.[."scaler".]. .Iadd."scalar" .Iaddend.value.
4. A robot control system as claimed in claim 1, wherein the
plurality of selection function means comprise respective ones of
eight kinds of Kronecher delta functions. .Iadd.5. A robot control
system, comprising:
an acting device for acting upon an object to be worked;
a plurality of sensors mounted on the acting device and operative
to detect, and to produce corresponding outputs representative of,
a position (x) of the acting device, a force (f) between the acting
device and the object and an acceleration (x"), a speed (x') and a
work rate (-x'f) of the acting device;
a pre-controller which controls movement of the acting device;
a plurality of selection function devices having respective outputs
connected in parallel to the pre-controller and at least one of the
selection function devices being selected in accordance with the
sensor outputs representative of the acceleration (x"), the speed
(x') and the work rate (-x'f);
a plurality of control devices respectively connected to the
plurality of selection function devices and individually operative
for receiving and inputting, in common, a target trajectory
(x.sub.d) of the acting device and for outputting respective
control signals (u) to the pre-controller to control movement of
the acting device; and
each said selected one of the selection function devices being
selected in accordance with the respective values, each value being
one of "0" and "other than 0", of the acceleration, the speed and
the work rate sensor outputs; and the respective control signal
(u), from each controller corresponding to a selected one of the
selection function devices, is input to the pre-controller thereby
to control movement of the acting
device. .Iaddend..Iadd.6. A system as claimed in claim 5, wherein
each of the plurality of selection function devices utilizes one of
a Kronecher delta function and an enlarged Kronecher delta
function. .Iaddend..Iadd.7. A system as claimed in claim 5, wherein
movement of the acting device is defined by the following formula
for one direction component;
wherein, "x" denotes the position of the acting device, "x'"
denotes the speed of the acting device, "x"" denotes the
acceleration of the acting device, "f" denotes the force applied
from the object to the acting device, "u" denotes the control
signal generated by the controller, "m" denotes a weight, "b"
denotes a viscosity, and "k" denotes an elasticity and, further,
each of these values is a "scalar" value. .Iaddend..Iadd.8. A
system as claimed in claim 5, wherein the plurality of selection
function devices comprise respective ones of eight kinds of
Kronecher
delta functions. .Iaddend..Iadd.9. A controller controlling an
acting device for acting upon an object to be worked,
comprising:
a receiving unit receiving an output from a plurality of sensors
mounted on the acting device and operative to detect, and to
produce corresponding outputs representative of information
concerning the acting device and the object;
a pre-controller which controls movement of the acting device;
a plurality of selection function devices having respective outputs
connected in parallel to the pre-controller and at least one of the
selection function devices being selected in accordance with the
sensor outputs representative of the information concerning the
acting device and the object;
a plurality of control devices respectively connected to the
plurality of selection function devices and individually operative
for receiving and inputting, in common, a target trajectory
(x.sub.d) of the acting device and for outputting respective
control signals (u) to the pre-controller to control movement of
the acting device; and
each said selected one of the selection function devices being
selected in accordance with respective values of the information
concerning the acting device and each said selected one of the
selection function devices being selected in accordance with
respective values of the information concerning the acting device
and the object, which information from said sensors; and the
respective control signal (u), from each control means
corresponding to a selected one of the selection function means, is
input to the pre-controller thereby to control movement of the
acting device. .Iaddend..Iadd.10. A controller as claimed in claim
9, wherein each of the plurality of selection function devices
utilizes one of a Kronecher delta
function and an enlarged Kronecher delta function.
.Iaddend..Iadd.11. A controller as claimed in claim 9, wherein
movement of the acting device is defined by the following formula
for one direction component;
wherein, "x" denotes the position of the acting device, "x'"
denotes the speed of the acting device, "x"" denotes the
acceleration of the acting device, "f" denotes the force applied
from the object to the acting device, "u" denotes the control
signal generated by the controller, "m" denotes a weight, "b"
denotes a viscosity, and "k" denotes an elasticity and, further,
each of these values is a "scalar" value. .Iaddend..Iadd.12. A
controller as claimed in claim 9, wherein the plurality of
selection function devices implement respective ones of eight kinds
of Kronecher delta functions. .Iaddend..Iadd.13. A controller
apparatus, comprising:
a pre-controller controlling a dynamic relationship of an element
to an object in response to an element control signal;
plural sensors producing respective, plural sensor outputs, each
sensor output having differing values representing differing sensed
relationships of the element to the object;
plural function selector devices, one or more thereof being
selected in accordance with combinations of the sensor outputs;
plural controllers respectively associated with the plural
selection function units, each controller processing a desired
target trajectory of the element relative to the object and
outputting a respective component element control signal to the
respectively associated selection function device; and
the selected, selection function devices outputting the respective
component element control signals received thereby, a composite
thereof comprising the element control signal. .Iaddend..Iadd.14.
The controller recited in claim 13, wherein the plural controllers
receive a common, desired target trajectory and output the
respective component element control signals in parallel to the
respectively associated selection function devices.
.Iaddend..Iadd.15. A method of controlling an element relative to
an object, comprising:
controlling a dynamic relationship of an element to an object in
response to an element control signal;
producing plural sensor outputs, each sensor output having
differing values representing differing sensed relationships of the
element to the object;
processing a desired target trajectory of an element relative to
the object in accordance with plural different functions and
outputting, in parallel, respective component element control
signals; and
selecting and outputting one or more of the parallel component
element control signals, responsive to sensed relationships of the
element to the object, a composite thereof comprising the element
control signal. .Iaddend.
Description
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a robot control system and more
particularly, it relates to a robot control system which selects a
suitable set of functions in accordance with a force, an
acceleration, a velocity and a work rate. The robot control system
according to the present invention can control an end effector and
a manipulator of a robot for a suitable operation based on a
control signal from a control means which is provided in
correspondence with a selection function device. The work rate is
given by a product of speed and force.
2. Description of the Related Art
In general, a robot is formed of an end effector (or, hand)
provided at the end of an arm (a manipulator) to grasp/push an
object, a plurality of sensors mounted at the end effector for
detecting a force, a position, and an orientation of the end
effector, and a control unit for controlling the operation of the
manipulator.
There are three different control methods well-known in the
conventional art, i.e., a force control method, a position control
method, and a stiffness/dumping control method, in accordance with
the relationship between the end effector and the object. That is,
these methods are distinguished in accordance with the following
states, i.e., first, a contacting state (or, non-contacting state)
between the end effector and the object, second, characteristics of
the object (i.e., rigid or non-rigid body), and third, the state of
the object (i.e., fixed or not fixed).
Concretely, the force control method is used for a contacting state
between the end effector and a fixed and rigid object. The position
control method is used for a non-contacting state between the end
effector and an object. The stiffness/damping control method is
used for a contacting state between the end effector and a not
fixed or non-rigid object.
Furthermore, the force control method and the position control
method can be combined with each other, and this combination is
called a hybrid position/force control method. Also, the position
control method and the stiffness/dumping control method can be
combined with each other, and this combination is called an
impedance control method.
As is obvious from the above, the hybrid control method is only
used for contacting or non-contacting state between the end
effector and the fixed and rigid object, and the impedance control
method is only used for contacting or non-contacting state between
the end effector and the not fixed or non-rigid object.
However, there is no general method which is able to cover both of
these two methods in the conventional art.
SUMMARY OF THE INVENTION
The object of the present invention is to provide a robot control
system which is able to adapt to control of all states of an end
effector and a manipulator including contacting/non-contacting
states, rigid/non-rigid states and fixed/not fixed states.
In accordance with the present invention, there is provided a robot
control system including: an end effector for acting on an object
to be worked; a manipulator mechanically supporting the end to
apply predetermined movements to the end effector; a plurality of
sensors mounted on the end effector to detect a position (x) of the
end effector and a force (f) between the end effector and the
object and to obtain an acceleration (x"), a velocity (x') and a
work rate (-x'f) of the end effector; a pre-controller for
controlling movement of the end effector and the manipulator; a
plurality of selection function units connected in parallel to the
pre-controller and at least one of the selection function units
being selected in accordance with the acceleration (x"), the
velocity (x') and the work rate (-x'f); and a plurality of control
units each connected to a corresponding selection function unit for
inputting a target trajectory (x.sub.d) of the end effector and for
respectively outputting corresponding control signals which in the
composite comprise a total
control signal (u) to the pre-controller to control movement of the
end effector and the manipulator;
wherein, each of the selection function unit s is selected or
selectively enabled thereby to select the respectively
corresponding control unit in accordance with a varying combination
of the respective values of the acceleration, the velocity and the
work rate being zero, or not zero; and the control signal from the
respective control unit corresponding to the enabled selection
function unit is input to the pre-controller, to control movement
of the end effector and the manipulator, through the thus enabled
selection function unit.
As a preferred embodiment, the selection function unit utilizes a
Kronecker delta function.
As another preferred embodiment, the movement of the manipulator is
defined by the following formula for one direction component,
where, "x" denotes the position of the end effector, "x'" denotes
the velocity of the end effector, "x"" denotes the acceleration of
the end effector, "f" denotes the force applied from the object to
the end effector, "u" denotes the control signal generated by the
control unit, "m" denotes a weight, "b" denotes a viscosity, and
"k" denotes an elasticity. Further, each of these values is defined
by a "scalar".
As still another preferred embodiment, eight kinds of Kronecker
delta functions are given as the selection function means.
BRIEF DESCRIPTION OF THE DRAWING
In the drawings:
FIG. 1 is a basic block diagram of a robot control system according
to the present invention;
FIG. 2 is a block diagram of a robot control system according to an
embodiment of the present invention;
FIG. 3 shows the case of a contacting state between an end effector
and a fixed and rigid object;
FIG. 4 shows the case of a non-contacting state between the end
effector and the object; and
FIG. 5 shows the case of a contacting state between the end
effector and a not fixed or non-rigid object.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
FIG. 1 is a basic block diagram of a robot control system according
to the present invention. This new control method according to the
present invention is called a "selective control method". In FIG.
1, "A" denotes an object to be acted upon, "E" denotes an end
effector to act on the object, "S" denotes sensors for detecting
various forces from the object and a position of the end effector,
"M" denotes a manipulator for mechanically supporting the end
effector, "P" denotes a pre-controller for controlling operation of
the manipulator, 1a to In denote selection function devices, and
11a to 11n denote control units.
Where acceleration is expressed by x", velocity is expressed by x',
and a work rate is expressed by -x'f.
Each selection function devices 1a to 1n is selected by each value
of the acceleration x" the velocity x', and the work rate -x'f as
explained in detail below.
The control units 11a to 11n are provided for the respective
selection function devices 1a to 1n. A target trajectory "x.sub.d "
for the position of the end effector E is input in parallel to each
control unit, and the control units generate a control signal "u"
through the selection function devices 1a to 1n.
As explained in detail below, any one of the selection function
devices is selected in accordance with a value of either "0" or
"other than 0" (indicated by "?" in the drawings) of the
acceleration x", the velocity x' and the work rate -x'f.
When a given one of the selection function devices is selected, the
control signal "u" is input from the corresponding control unit and
the respective selection function device to the pre-controller P to
control the manipulator M. In this embodiment, a so-called
Kronecker delta function or an enlarged Kronecker delta function is
used as the selection function devices.
Further operation of the manipulator is defined by the following
formula.
where, "x" denotes the position of the end effector, "x'" denotes
the velocity of the end effector which is obtained from the
differential of the position "x", and "x"" denotes the acceleration
which is obtained from the differential of the velocity "x'", "f"
denotes a force applied from the object to the end effector, "u"
denotes the control signal, "m" denotes a weight, "b" denotes a
viscosity, and "k" denotes an elasticity. In this embodiment, all
these values are given by scalar values.
The end effector E is mounted at the end of the manipulator M, and
executes various operations by contacting the object A. The
pre-controller P is provided at the manipulator M to control the
operation thereof. The outputs of all of the selection function
devices 1a to 1n are input to the pre-controller P, and each
selection function device receives the information of the
acceleration x" the velocity x' and the work rate -x'f which are
detected by the sensors S.
An individual one of the selection function devices is selected in
accordance with the acceleration speed x" the speed x' and the work
rate -x'f. The control signal "u" of the corresponding control unit
connected to the selected one of the selection function devices, is
output to the pre-controller P thereby to control the manipulator
M.
Before explaining preferred embodiments, the basic theory of the
present invention will be explained in detail below.
First, an explanation will be given for the case where the end
effector E contacts or does not contact the object A. The following
explanation is given for a unidirectional component of the
manipulator M, thereby to simplify the explanation.
A basic formula is explained as follows.
The formula indicating a component of one optional direction of the
manipulator is given as follows:
wherein, "x" denotes the position of the end effector, "x'" denotes
the velocity of the end effector which is obtained from the
differential of the position "x", and "x"" denotes the acceleration
which is obtained from the differential of the velocity "x'", "f"
denotes the force applied from the object to the end effector, "u"
denotes the control signal, "m" denotes the weight, "b" denotes the
viscosity, and "k" denotes the elasticity. In this case, all these
values are given by scalar values.
Case (1) When the end effector contacts a fixed and rigid object,
the formula is explained as follows.
When the end effector contacts a fixed and rigid object, the end
effector enters a static state. Accordingly, the speed x' of the
end effector is given as zero:
When the position x is "x.sub.c ", from the formula (2):
wherein, x.sub.c is a constant scalar value.
From formulas (1) and (3):
Case (2) When the end effector does not contact the object, the
formula is explained as follows.
When the end effector does not contact the object, it does not take
a force from the object A. Accordingly, the force f of the end
effector is given as zero:
From formulas (1) and (5):
Case (3) When the end effector contacts a not fixed or non-rigid
object, the formula is expressed approximately as follows:
wherein, m.sub.e, b.sub.e, and k.sub.e denotes constant scalars
indicating impedance of the object A.
From formulas (1) and (7):
FIG. 2 is a block diagram of a robot control system according to an
embodiment of the present invention. The same reference letters as
used in FIG. 1 are attached to the same components in this
drawings. As shown in the drawing, eight selection function devices
1 to 8 are provided in this embodiment. Accordingly, eight
controllers 11 to 18 are provided for the respective, corresponding
selection function devices 1 to 8. Each of the selection function
devices 1 to 8 is defined based on three kinds of values which are
input from sensors S, i.e., the acceleration x" of the end
effector, the velocity x' of the end effector, and the work rate
-x'f indicating the work from the end effector E to the object A.
That is, when these three values are given by a value of either "0"
or "other than 0", the selection function value becomes "1" or "0"
so that following eight sets of selection function devices can be
obtained.
Where, .delta. denotes the Kronecker delta function, "*" denotes an
inverted value of the function .delta.. Further, for example, the
function of the first row (*.delta..sub.1 *.delta..sub.2
.delta..sub.3) denotes a product of *.delta..sub.1, *.delta..sub.2,
and .delta..sub.3. As is obvious, the above eight selection
functions correspond to the selection function devices 1 to 8 of
FIG. 2, respectively.
Further, the function .delta..sub.i (i=1, 2 3) is defined as
follows:
Still further, the function .delta.(a, b) is defined as
follows:
The formula (12) shows an ideal form mathematically to simplify the
explanation. In actuality, the following formula is defined as an
enlarged Kronecker delta function instead of the formula (12).
wherein, "e" denotes a small positive constant scalar.
The operation of each of the controllers 11 to 18 in FIG. 2 is
explained below. As explained above, in the present invention, the
suitable controller is selected in accordance with
contacting/not-contacting, rigid/non-rigid, and fixed/not fixed
states between the end effector and the object. By using the set of
selection functions in the formula (9), the total control signal
"u" is defined as follows. ##EQU1## wherein, "x.sub.d " denotes a
target trajectory of the position x of the end effector. The
successive rows of the above formulas correspond to the respective
control means 11 to 18 of FIG. 2. In the above formula (14), the
first row corresponds to the impedance control method, the second
row corresponds to the position control method, and the eighth row
corresponds to the force control method.
The formula (14) can be simplified as follows: ##EQU2##
The formula (16) shows an ideal form mathematically to simplify the
explanation. In actuality, the function .delta. is substituted by
the functions .delta..sub.e1, .delta..sub.e2 and .delta..sub.e3 in
formula (16) as follows. ##EQU3##
FIG. 3 shows the Case (1) of a contacting state between the end
effector and a fixed and rigid object. As is obvious, since the end
effector E contacts the object A, the position x is constant so
that the velocity x' also becomes zero (i.e., x'=0). In this case,
the force applied to the object is unknown (i.e., f=?).
In the formula (10), when x'=0, .delta..sub.2 is given by
.delta.(0, 0). Further, in the formula (12), when a=b, .delta.(a,
b) is given by "1" so that .delta..sub.2 becomes "1". Still
further, when x'=0, the acceleration x" becomes "0" and the work
force -x'f also becomes "0". Accordingly, from the formula (12) and
since a=b, .delta..sub.1, .delta..sub.2, and .delta..sub.3 become
"1" (i.e., .delta..sub.1 =.delta..sub.2 =.delta..sub.3 =1). In the
formula (11), when .delta..sub.1 =.delta..sub.2 =.delta..sub.3 =1,
*.delta..sub.1, *.delta..sub.2 and *.delta..sub.3 become "0" (i.e.,
*.delta..sub.1 =*.delta..sub.2 =*.delta..sub.3 =0).
Accordingly, the selection function devices 1 to 7 become "0", and
only the selection function devices 8 is selected. In this case,
the control signal "u" is given by "kx.sub.d " and this signal is
input to the precontroller P.
Since x"=x'=x'f=0, from the formulas (4) and (16), the following
formulas are obtained.
From these formulae, the following formula is obtained.
Accordingly, and as is obvious from the above formula (19), the
force "-f", which the end effector applies to the object, can be
controlled by using the target trajectory x.sub.d.
FIG. 4 shows the Case (2) of a non-contacting state between the end
effector and the object. In this case, since the end effector E
does not contact the object A, the speed is unknown (i.e., x'=?)
and the force is given by "0" (i.e., f=0).
When f=0, the work rate -x'f is given by "0" so that .delta..sub.3
becomes "1" (i.e., .delta..sub.3 =1) from the formula (10) and
(12). Further, when .delta..sub.3 =1, *.delta..sub.3 becomes "0"
(i.e., *.delta..sub.3 =0) from the formula (11).
Accordingly, since .delta..sub.3 =1 and *.delta..sub.3 =0, the
selection function devices 2, 4, 6 and 8 are selected and the
selection function device 1, 3, 5 and 7 are not selected.
Since f=0, from the formulas (6) and (16), the following formulas
are given.
From the formula (20),
From the formula (21),
wherein, lim .lambda.=0 (.lambda.: a homogeneous solution of the
formula (21)) when m, b, and k<0. That is, the position x of the
end effector E can follow the target trajectory x.sub.d.
FIG. 5 shows the Case (3) of a contacting state between the end
effector and a not fixed or non-rigid object.
In this case, the velocity x' is unknown, and the force f is given
approximately by (-m.sub.e x"-b.sub.e x'-k.sub.e x). In the formula
(12), when a.noteq.b, .delta..sub.3 =0 and *.delta..sub.3 =1 from
the formula (11).
Accordingly, the selection function devices 1, 3, 5, and 7 are
selected because of *.delta..sub.3 =1, and the selection function
devices 2, 4, 6 and 8 are not selected because of .delta..sub.3
=0.
From formulas (8) and (16),
From the formula (23),
From the formula (24),
wherein, lim .mu.=0 (.mu.: a homogenous solution of the formula
(24)) when (m+m.sub.e), (b+b.sub.e), and (k+k.sub.e)>0. That is,
the position x of the end effector E can follow to the target
trajectory x.sub.d.
* * * * *