|
Description  |
|
|
FIELD OF THE INVENTION
The present invention relates to a control system for a robot and, more
particularly, to a system for teaching position and pose to a hand of the
robot.
BACKGROUND OF THE INVENTION
In a "jog operation", an operator operates a movement instructing device to
manually move a robot actually to certain position and pose. The jog
operation is used when the operator manually moves the robot optionally in
an optional coordinate system such as a joint coordinate system or an
orthogonal coordinate system. Further, a coordinate system set at an
acting point of an actuator which is mounted on a mechanical interface is
called "a tool coordinate system". The jog operation in the tool
coordinate system is called "a tool jog". Moreover, in a "hand alignment
operation", instructions are practiced from a movement instructing device
by the operator, to move a pose of a hand of a robot so as to
automatically be brought to a predetermined pose, without a change of a
present position of the hand of the robot. The hand alignment operation is
chiefly used together with the tool jog and is utilized when the operator
moves the tool to a position close to an operation objective article to
teach position and pose to the hand.
Here, a coordinate system set on a base mounting surface of the robot is
called "a base coordinate system". A position of the hand of the robot is
expressed by a position of an origin of the tool coordinate system on the
base coordinate system, and is mentioned as (X, Y, Z). Further, a pose of
the hand of the robot is expressed by rotation of the tool coordinate
system on the base coordinate system. Generally, the pose of the hand of
the robot is expressed by (A, B, C), using an Euler's angle inscription.
Accordingly, the position and pose of the hand of the robot are expressed
by (X, Y, Z, A, B, C).
FIG. 34 of the attached drawings is a block diagram showing hand alignment
operation of a conventional control system for a robot. In FIG. 34, a
teaching box 1 is provided with a hand alignment command section 2. The
reference numeral 3 denotes a control unit for the robot. A hand-alignment
movement-amount computing section 4 computes an amount of movement of each
axis of the robot at the hand alignment operation. A drive section 5
commands operation directly to a robot body 8. A current-position or
present-position data memory section 6 stores therein a present position
of the hand of the robot, which results from driving of the robot. A
present-pose data memory section 7 stores therein a present pose of the
hand of the robot, which results from driving of the robot. FIGS. 35 and
36 describe FIG. 34 from the viewpoint of software. FIG. 35 illustrates a
data structure, while FIG. 36 illustrates a flow (F36) of a program.
Operation of the conventional control system for the robot will next be
described. In FIG. 34, the drive section 5 always stores a current or
present position (35-1) of the hand of the robot into the present-position
data memory section 6, and stores the present pose (35-3) of the hand of
the robot into the present-pose data memory section 7, as shown in step
S36-1. First, in step S36-2, an operator instructs the hand alignment
operation by means of the teaching box 1. The hand alignment command
section 2 outputs a hand alignment command (35-4) to the hand-alignment
movement-amount computing section 4. In step S36-3, the hand-alignment
movement-amount computing section 4 fetches pose data (35-3) out of the
present-pose data memory section 7, and fetches position data (35-1) out
of the present-position data memory section 6. In step S36-4, the
hand-alignment movement-amount computing section 4 draws up or prepares
movement-destination position and pose data (35-2) on the basis of the
fetched position data and pose data, such that the pose of the hand is
brought to parallel with or perpendicularity to each axis of X, Y and Z in
the base coordinate system. The prepared movement-destination position and
pose data (35-2) are outputted to the drive section 5.
That is, assuming that the present position is (Xc, Yc, Zc), the present
pose is (Ac, Bc, Cc), and the movement-destination position and pose due
to the computing results are (X, Y, Z, A, B, C), the following relations
are produced: In this connection, is an operator expressing an integer
division.
X=Xc
Y=Yc
Z=Zc
In case of Ac.gtoreq.0: A=90.degree..times.((Ac+45.degree.) 90.degree.)
In case of Ac<0: A=90.degree..times.((Ac-45.degree.) 90.degree.)
In case of Bc.gtoreq.0: B=90.degree..times.((Bc+45.degree.) 90.degree.)
In case of Bc<0: B=90.degree..times.((Bc-45.degree.) 90.degree.)
In case of Cc.gtoreq.0: C=90.degree..times.((Cc+45.degree.) 90.degree.)
In case of Cc<0: C=90.degree..times.((Cc-45.degree.) 90.degree.)
Lastly, in step s36-5, the drive section 5 drives the robot 8 to the
movement-destination position and pose.
The conventional control system for the robot is arranged as described
above. Accordingly, in the case where it is desired to teach a plurality
of positions and poses at the same pose, if the pose of the hand is not in
parallel with or perpendicular to each axis of X, Y and Z in the base
coordinate system, it is required that an operator regulates or adjusts
the pose of the hand by the jog operation after the hand alignment
operation.
Further, it is difficult to accurately set an operation surface of the
robot so as to be brought in parallel with or perpendicular to each axis
of X, Y and Z in the base coordinate system. Only execution of the hand
alignment operation by the operator makes it possible to bring the hand to
the pose of the hand required for teaching.
SUMMARY OF THE INVENTION
It is therefore an object of the invention to provide a control system for
a robot, which is capable of bringing a hand of the robot to a destination
pose of hand alignment operation even if the hand is not a pose which is
in parallel with or perpendicular to each axis of X, Y and Z in a base
coordinate system.
It is also an object of the second invention to provide a control system
for a robot, which is capable of optionally modifying the destination pose
of the hand alignment operation.
It is a further object of the invention to provide a control system for a
robot, which has a plurality of destination poses of the hand alignment
operation, making it possible to optionally select the destination pose of
the hand alignment.
It is also an object of the invention to provide a control system for a
robot, which is capable of practicing such a hand alignment operation that
the pose of the hand of the robot is brought in parallel with or
perpendicular to each axis of X, Y and Z in the working coordinate system.
It is yet another an object of the invention to provide a control system
for a robot, which has a plurality of working coordinate systems, making
it possible to optionally select the working coordinate system which is
the subject of hand alignment.
It is an object of the invention to provide a control system for a robot,
which is capable of selecting a hand alignment operation in which an
optionally set pose is brought to a movement destination pose, and hand
alignment operation in which the pose of the hand of the robot is brought
in parallel with or perpendicular to each of the axis (X, Y and Z) in the
working coordinate system.
According to a first embodiment, there is provided a control system for a
robot having a hand, the control system having a hand alignment function
of moving a pose of the hand of the robot automatically to a predetermined
pose, without changing a present position of the hand of the robot, the
control system comprising:
a drive means;
a present-position data memory means for storing therein the present
position of the hand of the robot;
a pose memory means for storing therein data brought to a movement
destination pose in case where hand alignment is instructed; and
a hand-alignment movement-amount computing means for computing movement
destination position and pose in which an optional stored pose is brought
to a destination pose in case where the hand alignment is instructed, to
output the computed movement-destination position and pose to the drive
means.
In the first embodiment, the pose data of the hand required for the
teaching operation are stored in the pose memory means. Further, the
hand-alignment movement-amount computing means prepares the
movement-destination position and pose data with the data in the
present-position data memory means as the movement destination position
and with the data of the pose memory means as the movement destination
pose, in the case where the hand alignment is instructed. The
movement-destination position and pose data are outputted to the drive
means.
That is, assuming that a present position is (Xc, Yc, Zc), a stored pose is
(Am, Bm, Cm), and movement-destination position and pose due to the
computing results are (X, Y, Z, A, B, C), the following relations are
produced:
X=Xc
Y=Yc
Z=Zc
A=Am
B=Bm
C=Cm
Accordingly, even if the pose is not a pose which is in parallel with or
perpendicular to each axis of X, Y and Z in the base coordinate system, it
is possible to bring the pose to the destination pose of the hand
alignment operation.
As described above, in the first embodiment, the control system for the
robot makes it possible that even the pose, which is not in parallel with
or perpendicular to each axis of X, Y and Z in the base coordinate system,
is brought to the destination pose of the hand alignment operation. Thus,
the hand alignment function can effectively be utilized during the
teaching operation.
According to the second embodiment, there is provided a control system for
a robot, further comprising a present-pose data memory means for storing
therein a present pose of the hand of the robot, a pose data modifying
means for modifying data of the pose memory means to data of the
present-pose data memory means, and a pose memory command means for
instructing modification of the data to the pose data modifying means.
In the second embodiment, the pose data of the hand required for the
teaching operation are stored in the pose memory means. Furthermore, the
pose data modifying means modifies the data of the pose memory means to
the data of the present-pose data memory means by instructions of the pose
memory command means. Moreover, the hand-alignment movement-amount
computing means prepares the movement-destination position and pose data
with the data of the present-position data memory means as the movement
destination position and with the data of the pose memory means as the
movement destination pose, in the case where the hand alignment is
instructed. The movement-destination position and pose data are outputted
to the drive means.
That is, assuming that a present position is (Xc, Yc, Zc), a stored pose is
(Am, Bm Cm), and movement-destination position and pose due to the
computing results are (X, Y, Z, A, B, C), the following relations are
produced:
X=Xc
Y=Yc
Z=Zc
A=Am
B=Bm
C=Cm
Accordingly, even if the pose is not a pose which is in parallel with or
perpendicular to each axis of X, Y and Z in the base coordinate system, it
is possible to bring the pose to the destination pose of the hand
alignment operation. Further, the operator stores the optional pose during
the teaching operation, and it is possible to reproduce or revive the pose
which is stored at the optional position.
The second embodiment makes it possible that the destination pose of a hand
alignment operation is modified optionally. Thus, in addition to the
advantages of the first embodiment, there are produced such advantages
that it is possible that the operator stores the optional pose during the
teaching operation, and the pose stored at the optional position can be
reproduced or revived. This makes it possible to make the teaching
operation easy.
According to the third embodiment, there is provided a control system for a
robot having a hand, the control system having a hand alignment function
of moving a pose of the hand of the robot automatically to a predetermined
pose, without changing a present position of the hand of the robot, the
control system comprising:
a drive means;
a present-position data memory means for storing therein the present
position of the hand of the robot;
a present-pose data memory means for storing therein a present pose of the
hand of the robot;
a pose memory means for storing therein data brought to a movement
destination pose in case where hand alignment is instructed;
a pose data modifying means for modifying the data of the designated pose
memory means to data of the present-pose data memory means;
a pose memory command means for instructing modification of the data to the
pose data modifying means;
a hand-alignment movement-amount computing means for computing
movement-destination position and pose with an optional stored pose
brought to a destination pose in case where the hand alignment is
instructed, to output the computed movement-destination position and pose
to the drive means; and
a hand alignment command means for instructing the hand alignment to the
hand-alignment movement-amount computing means.
In the third embodiment, the pose data of the hand required respectively
for the teaching operations are stored in the plurality of pose memory
means. Further, there are provided the plurality of pose memory command
means and the plurality of hand alignment command means for the respective
pose memory means. Furthermore, the pose data modifying means modifies the
data of the corresponding pose memory means to the data of the
present-pose data memory means by instructions of the optional pose memory
command means. Moreover, the hand-alignment movement-amount computing
means prepares the movement-destination position and pose data by the
instructions from the optional hand alignment command means with the data
of the present-position data memory means as the movement destination
position and with the data of the corresponding pose memory means as the
movement destination pose. The movement-destination position and pose data
are outputted to the drive means.
That is, assuming that a present position is (Xc, Yc, Zc), a stored pose is
(Am, Bm Cm), and movement-destination position and pose due to the
computing results are (X, Y, Z, A, B, C), the following relations are
produced:
X=Xc
Y=Yc
Z=Zc
A=Am
B=Bm
C=Cm
Accordingly, even if the pose is not a pose which is in parallel with or
perpendicular to each axis of X, Y and Z in the base coordinate system, it
is possible to bring the pose to the destination pose of the hand
alignment operation. Further, the operator stores the optional pose during
the teaching operation, and it is possible to reproduce or revive the pose
which is stored at the optional position. Furthermore, it is made possible
that the operator stores a plurality of optional poses during the teaching
operation, and optionally selects and reproduces the pose stored at the
optional position.
According to the fourth embodiment, there is provided a control system for
a robot having a hand, the control system having a hand alignment function
of moving a pose of the hand of the robot automatically to a predetermined
pose, without changing a present position of the hand of the robot, the
control system comprising:
a drive means;
a present-position data memory means for storing therein the present
position of the hand of the robot;
a present-pose data memory means for storing therein a present pose of the
hand of the robot;
a pose memory means for storing therein data brought to a movement
destination pose in case where hand alignment is instructed;
a pose number memory means for storing therein data indicating the pose
memory means which corresponds to a pose memory command and a hand
alignment command;
a pose number command means for instructing a pose number to the pose
number memory means;
a pose data modifying means for modifying the data of the designated pose
memory means to data of the present-pose data memory means;
a pose memory command means for instructing modification of the data to the
pose data modifying means;
a hand-alignment movement-amount computing means for computing
movement-destination position and pose with an optional stored pose
brought to a destination pose in case where the hand alignment is
instructed, to output the computed movement-destination position and pose
to the drive means; and
a hand alignment command means for instructing the hand alignment to the
hand-alignment movement-amount computing means.
In the fourth embodiment, the pose data of the hand required for the
respective teaching operations are stored in the plurality of pose memory
means. Further, the pose number command means stores the pose number into
the pose-number memory means. Furthermore, the pose data modifying means
fetches the pose number out of the pose-number memory means, and modified
the data of the corresponding pose memory means to the data of the
present-pose memory means, by the instructions of the pose memory means.
Moreover, the hand-alignment movement-amount computing means fetches the
pose number out of the pose number memory means, and prepares the
movement-destination position and pose data with the data of the
corresponding pose memory means as the movement destination pose and with
the data of the present-position data memory means as the movement
destination position. The movement-destination position and pose data are
outputted to the drive means.
That is, assuming that a present position is (Xc, Yc, Zc), a stored pose is
(Am, Bm Cm), and movement-destination position and pose due to the
computing results are (X, Y, Z, A, B, C), the following relations are
produced:
X=Xc
Y=Yc
Z=Zc
A=Am
B=Bm
C=Cm
Accordingly, even if the pose is not a pose which is in parallel with or
perpendicular to each axis of X, Y and Z in the base coordinate system, it
is possible to bring the pose to the destination pose of the hand
alignment operation. Further, the operator stores the optional pose during
the teaching operation, and it is possible to reproduce or revive the pose
which is stored at the optional position. Furthermore, the operator stores
the plurality of optional poses during the teaching operation, and it is
possible to optionally selects and reproduce or revive the pose which is
stored at the optional position.
Each of the third and fourth embodiments has a plurality of destination
poses of a hand alignment operation. The destination pose of the hand
alignment can optionally be selected. In addition to the advantages of the
second embodiment, there is produced such an advantage that the operator
stores a plurality of optional poses during the teaching operation, and
the poses stored at the optional position can optionally be selected and
reproduced. This makes it possible to make the teaching operation further
easy.
According to the fifth embodiment, there is provided a control system for a
robot having a hand, the control system having a hand alignment function
of moving a pose of the hand of the robot automatically to a predetermined
pose, without changing a present position of the hand of the robot, the
control system comprising:
a drive means;
a present-position data memory means for storing therein the present
position of the hand of the robot;
a present-pose data memory means for storing therein a present pose of the
hand of the robot;
a working coordinate system memory means;
a coordinate transformation means from a base coordinate system to a
working coordinate system;
a coordinate transformation means from the working coordinate system to the
base coordinate system; and
a hand-alignment movement-amount computing means for computing
movement-destination position and pose such that a pose of the hand is
aligned on the working coordinate system in case where the hand alignment
is instructed, to output the computed movement-destination position and
pose to the drive means.
In the fifth embodiment, the data indicating the working coordinate system
on the base coordinate system are stored in the working coordinate system
memory means. Further, the hand-alignment movement-amount computing means
executes computation such that the pose of the hand is brought to parallel
with or perpendicularity to each axis of X, Y and Z in the working
coordinate system, and prepares the movement-destination position and pose
data. The movement-destination position and pose data are outputted to the
drive means.
A computing method of the above will be described below. Generally, a
position can be expressed by a matrix having three rows and one column,
and a pose can be expressed by a rotating matrix having three rows and
three columns, while position and pose can be expressed by a matrix having
four rows and four columns. Here, it is assumed that the present position
and pose expressed by the base coordinate system are (Xbc, Ybc, Zbc, Abc,
Bbc, Cbc), the movement-destination position and pose expressed by the
base coordinate system are (Xbd, Ybd, Zbd, Abd, Bbd, Cbd), the present
position and pose expressed by the working coordinate system are (Xsc,
Ysc, Zsc, Asc, Bsc, Csc), the movement-destination position and pose
expressed by the working coordinate system are (Xsd, Ysd, Zsd, Asd, Bsd,
Csd), the data indicating the working coordinate system on the base
coordinate system are (Xs, Ys, Zs, As, Bs, Cs), the above elements
expressed respectively by matrixes are Mbc, Mbd, Msc, Msd and Ms in order,
is an operator expressing an integer division, * is an operator
indicating a product of the matrix, and a matrix (M).sup.-1 indicates an
inverse matrix of a matrix M.
The present position and pose Msc expressed by the working coordinate
system are obtained on the basis of the following equation, by the
coordinate transformation means from the base coordinate system to the
working coordinate system:
Msc=(Ms).sup.-1 * Mbc
Subsequently, the movement-destination position and pose expressed by the
working coordinate system are computed from the present position and pose
expressed by the working coordinate system, on the basis of the following
equations:
Xsd=Xsc
Ysd=Ysc
Zsd=Zsc
In case of Asc.gtoreq.0: Asd=90.degree..times.((Asc+45.degree.) 90.degree.)
In case of Asc<0: Asd=90.degree..times.((Asc-45.degree.) 90.degree.)
In case of Bsc.gtoreq.0: Bsd=90.degree..times.((Bsc+45.degree.) 90.degree.)
In case of Bsc<0: Bsd=90.degree..times.((Bsc-45.degree.) 90.degree.)
In case of Csc.gtoreq.0: Csd=90.degree..times.((Csc+45.degree.) 90.degree.)
In case of Csc<0: Csd=90.degree..times.((Csc-45.degree.) 90.degree.)
Subsequently, the movement-destination position and pose Mbd expressed by
the base coordinate system are obtained by the coordinate transformation
means from the working coordinate system to the base coordinate system, on
the basis of the following equation:
Mbd=Ms * Msd
Accordingly, the hand alignment operation is made possible in which the
pose of the hand of the robot is in parallel with or perpendicular to each
axis of X, Y and Z in the working coordinate system.
In the fifth embodiment, the hand alignment operation is made possible in
which the pose of the hand is in parallel with or perpendicular to each
axis of X, Y and Z in the working coordinate system. Thus, the hand
alignment function can effectively be utilized during the teaching
operation in the working coordinate system.
According to the sixth embodiment, there is provided a control system for a
robot having a hand, the control system having .a hand alignment function
of moving a pose of the hand of the robot automatically to a predetermined
pose, without changing a present position of the hand of the robot, the
control system comprising:
a drive means;
a present-position data memory means for storing therein the present
position of the hand of the robot;
a present-pose data memory means for storing therein a present pose of the
hand of the robot;
a working coordinate system memory means;
a coordinate transformation means from a base coordinate system to a
working coordinate system;
a coordinate transformation means from the working coordinate system to the
base coordinate system;
a hand-alignment movement-amount computing means for computing
movement-destination position and pose such that a pose of the hand is
aligned on the designated working coordinate system in case where the hand
alignment is instructed, to output the computed movement-destination
position and pose to the drive means; and
a hand alignment command means for instructing the hand alignment to the
hand-alignment movement-amount computing means.
In the sixth embodiment, the data indicating the working coordinate system
on the base coordinate system, required respectively for the teaching
operations are stored in the plurality of working coordinate system memory
means. Further, there are the plurality of hand alignment command means
correspondingly to the respective working coordinate system memory means.
Furthermore, the hand-alignment movement-amount computing means executes
computation such that the pose of the hand is brought to parallel with or
perpendicularity to each axis of X, Y and Z in the designated working
coordinate system, and prepares the movement-destination position and pose
data. The movement-destination position and pose data are outputted to the
drive means.
A computing method of the above will be described below. Generally, a
position can be expressed by a matrix having three rows and one column,
and a pose can be expressed by a rotating matrix having three rows and
three columns, while position and pose can be expressed by a matrix having
four rows and four columns. Here, it is assumed that the present position
and pose expressed by the base coordinate system are (Xbc, Ybc, Zbc, Abc,
Bbc, Cbc), the movement-destination position and pose expressed by the
base coordinate system are (Xbd, Ybd, Zbd, Abd, Bbd, Cbd), the present
position and pose expressed by the working coordinate system are (Xsc,
Ysc, Zsc, Asc, Bsc, Csc), the movement-destination position and pose
expressed by the working coordinate system are (Xsd, Ysd, Zsd, Asd, Bsd,
Csd), the data indicating the working coordinate system on the base
coordinate system are (Xs, Ys, Zs, As, Bs, Cs), the above elements
expressed respectively by matrixes are Mbc, Mbd, Msc, Msd and Ms in order,
is an operator expressing an integer division, * is an operator
indicating a product of the matrix, and a matrix (M).sup.-1 indicates an
inverse matrix of a matrix M.
The present position and pose Msc expressed by the working coordinate
system are first obtained on the basis of the following equation, by the
coordinate transformation means from the base coordinate system to the
working coordinate system:
Msc=(Ms).sup.-1 * Mbc
Subsequently, the movement-destination position and pose expressed by the
working coordinate system are computed from the present position and pose
expressed by the working coordinate sys | | |