U.S. patent application number 14/607120 was filed with the patent office on 2015-05-28 for robot control device, robot control method, robot control program, and robot system.
The applicant listed for this patent is Seiko Epson Corporation. Invention is credited to Kentaro KAMEI, Kazuhiro KOSUGE, Takashi NAMMOTO.
Application Number | 20150148950 14/607120 |
Document ID | / |
Family ID | 48957161 |
Filed Date | 2015-05-28 |
United States Patent
Application |
20150148950 |
Kind Code |
A1 |
NAMMOTO; Takashi ; et
al. |
May 28, 2015 |
ROBOT CONTROL DEVICE, ROBOT CONTROL METHOD, ROBOT CONTROL PROGRAM,
AND ROBOT SYSTEM
Abstract
A robot control device of a vertical articulated robot having
seven axes and an offset structure includes: a storage unit which
stores a condition of a status of the vertical articulated robot
including a position of an elbow in the vertical articulated robot
and control information for controlling the vertical articulated
robot such that the condition is satisfied to match each other; an
input unit to which the condition of the status of the vertical
articulated robot including the position of the elbow is input; and
a robot control unit which controls the vertical articulated robot
such that the input condition is satisfied on the basis of the
control information stored in the storage unit to match the same
condition as the condition input to the input unit.
Inventors: |
NAMMOTO; Takashi; (Sendai,
JP) ; KOSUGE; Kazuhiro; (Sendai, JP) ; KAMEI;
Kentaro; (Sendai, JP) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Seiko Epson Corporation |
Tokyo |
|
JP |
|
|
Family ID: |
48957161 |
Appl. No.: |
14/607120 |
Filed: |
January 28, 2015 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
13768518 |
Feb 15, 2013 |
8977392 |
|
|
14607120 |
|
|
|
|
Current U.S.
Class: |
700/245 |
Current CPC
Class: |
G05B 2219/39414
20130101; B25J 9/1643 20130101; G05B 2219/40367 20130101 |
Class at
Publication: |
700/245 |
International
Class: |
B25J 9/16 20060101
B25J009/16 |
Foreign Application Data
Date |
Code |
Application Number |
Feb 16, 2012 |
JP |
2012-031848 |
Claims
1-7. (canceled)
8. A robot comprising: a robot body that includes an elbow, wherein
the robot body has a vertical structure with an offset section and
a plurality of rotatable axes arranged along the vertical structure
of the robot body; and a robot control device that controls the
body and includes: a storage unit that stores a condition of a
status including a position of the elbow and control information
that satisfies the condition of the status to match each other, an
input unit to which the condition of the status is input, and a
robot control unit that controls the robot body based on the
control information such that the condition inputted via the input
unit is satisfied.
9. The robot according to claim 8 wherein: the robot body includes
a hand, and the condition of the status stored in the storage unit
includes a condition that designates a position and a posture of
the hand and the position of the elbow in the robot body.
10. The robot according to claim 8 wherein the control information
is information for controlling at least one rotating axis and at
least one turning axis of the robot body, the at least one rotating
axis and the at least one turning axis are among the plurality of
rotatable axes.
11. The robot according to claim 8, wherein the plurality of axes
includes a first rotatable axis and a second rotatable axis, the
second rotatable axis is disposed between the first rotatable axis
and the elbow, and the offset section of the robot body is between
the first rotatable axis and the second rotatable axis.
12. The robot according to claim 8 wherein: the plurality of axes
includes a first rotatable axis, a second rotatable axis, a third
rotatable axis, a fourth rotatable axis, a fifth rotatable axis, a
sixth rotatable axis, and a seventh rotatable axis, the elbow is
disposed at the fourth rotatable axis, and the offset section of
the robot body is between the sixth rotatable axis and the seventh
rotatable axis.
13. The robot according to claim 8 wherein the robot body includes
a shoulder and a hand, the elbow is disposed between the shoulder
and the hand, and the offset section is at the shoulder of the
robot body.
14. The robot according to claim 8 wherein the robot body includes
a shoulder and a hand, the elbow is disposed between the shoulder
and the hand, and the offset section is between the hand and the
elbow of the robot body.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This is a continuation patent application of U.S.
application Ser. No. 13/768,518 filed Feb. 15, 2013 which claims
priority to Japanese Patent Application No. 2012-031848 filed Feb.
16, 2012 all of which are expressly incorporated by reference
herein in their entireties.
BACKGROUND
[0002] 1. Technical Field
[0003] The present invention relates to a robot control device, a
robot control method, a robot control program, and a robot
system.
[0004] 2. Related Art
[0005] In order to control an arbitrary position and a posture of a
hand of a robot, the robot needs to have at least 6 axes of motion.
Moreover, the robot needs to include at least 7 axes of motion to
avoid a singular point or an obstacle when an arbitrary position
and a posture of the hand of the robot are controlled.
[0006] JP-A-2005-193311 discloses a method of controlling a robot
including 7 axes. The control method includes numerically obtaining
a redundant axis that is rotated to avoid a singular point and the
rotational amount thereof is controlled using an iterative
method.
[0007] JP-A-7-132474 discloses another method of controlling a
robot including 7 axes. This control method includes automatically
selecting at least one of the 7 axes as an axis for avoiding a
singular point (so as to be regarded as a 6-axis robot), and
solutions that define joint angles corresponding to the position
and the posture of the hand are analytically obtained by inverse
kinematics. Thus, the amount of calculations is reduced and the
robot may be operated at high speed.
[0008] However, in the method of controlling a robot described in
JP-A-2005-193311, since the iterative method is used, there are
problems in that there is a large amount of calculations and thus
it is difficult to operate the robot at high speed.
[0009] In addition, in the method of controlling a robot described
in JP-A-7-132474, there are problems in that the position
corresponding to an elbow may not be explicitly designated and
instructions for an operation of intuitively avoiding an obstacle
may not be performed. Further, an axis corresponding to the
shoulder may not be defined, and thus there is a problem in that
the method may not be applied to a robot including an offset
structure between, for example, a first axis and a second axis.
SUMMARY
[0010] An advantage of some aspects of the invention is that it
provides a robot control device capable of controlling a vertical
articulated robot having seven axes and an offset structure by
explicitly designating the position of an elbow, a robot control
method, a robot control program, and a robot system.
[0011] An aspect of the invention is directed to a robot control
device including: a storage unit which stores a condition of a
status of a vertical articulated robot including a position of an
elbow in the vertical articulated robot having 7 axes and an offset
structure and control information for controlling the vertical
articulated robot such that the condition is satisfied to match
each other; an input unit to which the condition of the status of
the vertical articulated robot including the position of the elbow
is input; and a robot control unit which controls the vertical
articulated robot such that the input condition is satisfied on the
basis of the control information stored in the storage unit to
match the same condition as the condition input to the input
unit.
[0012] In this configuration, the robot control unit controls the
vertical articulated robot according to instructions for the
condition of the status including the position of the elbow for the
vertical articulated robot (hereinafter, simply referred to as a
"robot") having the 7 axes and the offset structure such that the
condition is satisfied. Accordingly, it is possible for the robot
control device to control the vertical articulated robot having the
7 axes and the offset structure by explicitly designating the
position of the elbow.
[0013] In the robot control device, the condition of the status of
the vertical articulated robot including the position of the elbow
may be a condition that designates a position and a posture of a
hand and the position of the elbow in the vertical articulated
robot.
[0014] In this configuration, the robot control unit controls the
vertical articulated robot according to the instructions for the
condition that designates the position and the posture of the hand
and the position of the elbow for the vertical articulated robot
having the 7 axes and the offset structure such that the condition
is satisfied. Accordingly, it is possible for the robot control
device to control the vertical articulated robot having the 7 axes
and the offset structure by explicitly designating the position of
the elbow.
[0015] In the robot control device, the control information may be
information for controlling each of the rotating axes and each of
the turning axes of the vertical articulated robot.
[0016] In this configuration, the robot control unit controls each
of the rotating axes and each of the turning axes of the vertical
articulated robot according to the instructions for the condition
of the status including the position of the elbow for the vertical
articulated robot having the 7 axes and the offset structure such
that the condition is satisfied. Accordingly, it is possible for
the robot control device to control the vertical articulated robot
having the 7 axes and the offset structure by explicitly
designating the position of the elbow.
[0017] In the robot control device, the vertical articulated robot
may include the offset structure between a first axis of the
vertical articulated robot and a second axis of the vertical
articulated robot.
[0018] In this configuration, the robot control unit controls the
vertical articulated robot according to the instructions for the
condition of the status including the position of the elbow for the
vertical articulated robot having the 7 axes and the offset
structure between the first axis and the second axis such that the
condition is satisfied. Accordingly, it is possible for the robot
control device to control the vertical articulated robot having the
7 axes and the offset structure by explicitly designating the
position of the elbow.
[0019] In the robot control device, the vertical articulated robot
may include the offset structure between a sixth axis of the
vertical articulated robot and a seventh axis of the vertical
articulated robot.
[0020] In this configuration, the robot control unit controls the
vertical articulated robot according to the instructions for the
condition of the status including the position of the elbow for the
vertical articulated robot having the 7 axes and the offset
structure between the sixth axis and the seventh axis such that the
condition is satisfied. Accordingly, it is possible for the robot
control device to control the vertical articulated robot having the
7 axes and the offset structure by explicitly designating the
position of the elbow.
[0021] Another aspect of the invention is directed to a robot
control method including: with reference to control information
stored in a storage unit which stores a condition of a status of a
vertical articulated robot including a position of an elbow in the
vertical articulated robot having 7 axes and an offset structure
and the control information for controlling the vertical
articulated robot such that the condition is satisfied so as to
match each other, controlling the vertical articulated robot such
that the input condition is satisfied according to the condition
input to an input unit to which the condition of the status of the
vertical articulated robot including the position of the elbow is
input, on the basis of the control information stored in the
storage unit to match the same condition as the input condition, by
a robot control unit.
[0022] In this method, the robot control unit controls the vertical
articulated robot according to instructions for the condition of
the status including the position of the elbow for the vertical
articulated robot having the 7 axes and the offset structure such
that the condition is satisfied. Accordingly, it is possible for
the robot control device to control the vertical articulated robot
having the 7 axes and the offset structure by explicitly
designating the position of the elbow.
[0023] Still another aspect of the invention is directed to a robot
control program which causes a computer to execute: with reference
to control information stored in a storage unit which stores a
condition of a status of a vertical articulated robot including a
position of an elbow in the vertical articulated robot having 7
axes and an offset structure and the control information for
controlling the vertical articulated robot such that the condition
is satisfied so as to match each other, controlling the vertical
articulated robot such that the input condition is satisfied
according to the condition input to an input unit to which the
condition of the status of the vertical articulated robot including
the position of the elbow is input, on the basis of the control
information stored in the storage unit to match the same condition
as the input condition, by a robot control unit.
[0024] In this program, the robot control unit controls the
vertical articulated robot according to instructions for the
condition of the status including the position of the elbow for the
vertical articulated robot having the 7 axes and the offset
structure such that the condition is satisfied. Accordingly, it is
possible for the robot control device to control the vertical
articulated robot having the 7 axes and the offset structure by
explicitly designating the position of the elbow.
[0025] Yet another aspect of the invention is directed to a robot
system including: a vertical articulated robot having 7 axes and an
offset structure; and a robot control device which controls the
vertical articulated robot, wherein the robot control device
includes a storage unit which stores a condition of a status of the
vertical articulated robot including a position of an elbow in the
vertical articulated robot and control information for controlling
the vertical articulated robot such that the condition is satisfied
to match each other, an input unit to which the condition of the
status of the vertical articulated robot including the position of
the elbow is input, and a robot control unit which controls the
vertical articulated robot such that the input condition is
satisfied on the basis of the control information stored in the
storage unit to match the same condition as the condition input to
the input unit.
[0026] In this system, the robot control unit of the robot control
device controls the vertical articulated robot according to
instructions for the condition of the status including the position
of the elbow for the vertical articulated robot having the 7 axes
and the offset structure such that the condition is satisfied.
Accordingly, it is possible for the robot control device to control
the vertical articulated robot having the 7 axes and the offset
structure by explicitly designating the position of the elbow.
[0027] Still yet another aspect of the invention is directed to a
robot control device including: an input unit to which a condition
of a status of a vertical articulated robot including a position of
an elbow in the vertical articulated robot having 7 axes and an
offset structure is input; and a robot control unit which controls
the vertical articulated robot such that the condition input to the
input unit is satisfied.
[0028] In this configuration, the robot control unit controls the
vertical articulated robot according to instructions for the
condition of the status including the position of the elbow for the
vertical articulated robot having the 7 axes and the offset
structure such that the condition is satisfied. Accordingly, it is
possible for the robot control device to control the vertical
articulated robot having the 7 axes and the offset structure by
explicitly designating the position of the elbow.
[0029] Further another aspect of the invention is directed to a
robot control method including: controlling a vertical articulated
robot such that a condition input to an input unit to which the
condition of a status of the vertical articulated robot including a
position of an elbow in the vertical articulated robot having 7
axes and an offset structure is input is satisfied, by a robot
control unit.
[0030] In this method, the robot control unit controls the vertical
articulated robot according to instructions for the condition of
the status including the position of the elbow for the vertical
articulated robot having the 7 axes and the offset structure such
that the condition is satisfied. Accordingly, it is possible for a
robot control device to control the vertical articulated robot
having the 7 axes and the offset structure by explicitly
designating the position of the elbow.
[0031] Still further another aspect of the invention is directed to
a robot control program which causes a computer to execute:
controlling a vertical articulated robot such that a condition
input to an input unit to which the condition of a status of the
vertical articulated robot including a position of an elbow in the
vertical articulated robot having 7 axes and an offset structure is
input is satisfied, by a robot control unit.
[0032] In this method, the robot control unit controls the vertical
articulated robot according to instructions for the condition of
the status including the position of the elbow for the vertical
articulated robot having the 7 axes and the offset structure such
that the condition is satisfied. Accordingly, it is possible for a
robot control device to control the vertical articulated robot
having the 7 axes and the offset structure by explicitly
designating the position of the elbow.
[0033] Yet further another aspect of the invention is directed to a
robot system including: a vertical articulated robot having 7 axes
and an offset structure; and a robot control device which controls
the vertical articulated robot, wherein the robot control device
includes an input unit to which a condition of a status of the
vertical articulated robot including a position of an elbow in the
vertical articulated robot is input, and a robot control unit which
controls the vertical articulated robot such that the condition
input to the input unit is satisfied.
[0034] In this system, the robot control unit controls the vertical
articulated robot according to instructions for the condition of
the status including the position of the elbow for the vertical
articulated robot having the 7 axes and the offset structure such
that the condition is satisfied. Accordingly, it is possible for
the robot control device to control the vertical articulated robot
having the 7 axes and the offset structure by explicitly
designating the position of the elbow.
[0035] As described above, according to the aspects of the
invention, the robot control device controls the vertical
articulated robot according to the instructions for the condition
of the status including the position of the elbow for the vertical
articulated robot having the 7 axes and the offset structure such
that the condition is satisfied. Accordingly, it is possible for
the robot control device to control the vertical articulated robot
having the 7 axes and the offset structure by explicitly
designating the position of the elbow.
BRIEF DESCRIPTION OF THE DRAWINGS
[0036] The invention will be described with reference to the
accompanying drawings, wherein like numbers reference like
elements.
[0037] FIG. 1 is a schematic block diagram illustrating a
configuration example of a robot system including a robot control
device according to an embodiment of the invention.
[0038] FIG. 2 is a schematic block diagram illustrating a
configuration example of a 7-axis robot having an offset structure
according to the first embodiment.
[0039] FIG. 3 is a diagram illustrating an offset angle value which
is a variable.
[0040] FIG. 4 is a schematic block diagram illustrating a
configuration example of a 7-axis robot having an offset structure
according to a second embodiment.
[0041] FIG. 5 is a diagram illustrating an example of the external
form of a robot system according to a modification example of the
embodiment of the invention.
[0042] FIG. 6 is a diagram illustrating a calculation order in
inverse kinematics.
DESCRIPTION OF EXEMPLARY EMBODIMENTS
First Embodiment
[0043] A first embodiment of the invention will be described in
detail with reference to the drawings.
[0044] FIG. 1 is a schematic block diagram illustrating a
configuration example of a robot system including a robot control
device 1001 according to an embodiment of the invention.
[0045] The robot system according to this embodiment includes the
robot control device 1001, a robot 1002, and a wire cable 1003.
[0046] The robot control device 1001 and the robot 1002 are
connected via the wire cable 1003 so as to communicate with each
other. If desired, instead of the wire cable 1003, a wireless
connection may also be used.
[0047] The robot control device 1001 includes a control unit 1011,
a storage unit 1012, an input unit 1013, and an output unit
1014.
[0048] The control unit 1011 includes a robot control unit
1021.
[0049] The input unit 1013 is configured using, for example, a
keyboard or a mouse operated by a user (person) and receives
contents through operation by the user.
[0050] The output unit 1014 is configured using, for example, a
liquid crystal screen that displays information and displays and
outputs various types of information for the user.
[0051] The storage unit 1012 stores various types of information.
The storage unit 1012 stores, for example, information such as
programs used by the control unit 1011 and information such as
numerical values used for various processes.
[0052] The control unit 1011 is configured using, for example, a
CPU (Central Processing Unit) and controls various processes in the
robot control device 1001. The control unit 1011 has, for example,
a function of executing a process in response to the contents of
the operation by the user received by the input unit 1013, a
function of allowing the screen of the output unit 1012 to display
various types of information, a function of reading information
stored in the storage unit 1012, and a function of writing
information (to be stored) to the storage unit 1012.
[0053] The robot control unit 1021 corresponds to a part of the
functions included in the control unit 1011.
[0054] The robot control unit 1021 controls the robot 1002 by
transmitting a signal for control (control signal) to the robot
1002 via the cable 1003.
[0055] In addition, the robot control unit 1021 is able to receive
a signal transmitted from the robot 1002 via the cable 1003.
[0056] In this embodiment, as the robot 1002, a manipulator which
is an example of a vertical articulated robot is used.
[0057] The robot 1002 receives the control signal transmitted from
the robot control unit 1021 of the robot control device 1001 via
the cable 1003 and is controlled by the received control
signal.
[0058] In addition, the robot 1002 may also have a function of
transmitting a signal indicating its own status to the robot
control unit 1021 of the robot control device 1001 via the cable
1003.
[0059] Here, specifically, the robot 1002 may be applied to various
fields. For example, the robot 1002 is able to not only be
configured as an industrial robot but may also be applied to robots
in various fields including aerospace applications, play tools, and
the like.
[0060] FIG. 2 is a schematic block diagram illustrating a
configuration example of the 7-axis (7 degrees of freedom) robot
1002 having an offset structure according to this embodiment.
[0061] The robot 1002 according to this embodiment is configured by
connecting a base a0, a rotating axis A1 corresponding to a first
joint, a first link a1, a turning axis A2 corresponding to a second
joint, a second link a2, a rotating axis A3 corresponding to a
third joint, a third link a3, a turning axis A4 corresponding to a
fourth joint, a fourth link a4, a rotating axis A5 corresponding to
a fifth joint, a fifth link a5, a turning axis A6 corresponding to
a sixth joint, a sixth link a6, a rotating axis A7 corresponding to
a seventh joint, a seventh link a7, and a hand 12.
[0062] The first joint, the second joint, and the third joint
constitute a part of the shoulder.
[0063] The fourth joint constitutes a part of the elbow.
[0064] The fifth joint, the sixth joint, and the seventh joint
constitute a part of the wrist.
[0065] In this embodiment, apart from the root of the shoulder to
the hand 12 is referred to as an "arm".
[0066] Here, the base a0 and each of the links a1 to a7 are
stationary.
[0067] In addition, the base a0, the second link a2, the third link
a3, the fourth link a4, the fifth link a5, the sixth link a6, and
the seventh link a7 have linear shapes.
[0068] In addition, in this embodiment, the first link a1 has a
shape bent at approximately 90 degrees at one point. This part is
an offset portion 11 having an offset structure. The offset
structure is a structure in which the rotation center axis lines of
a rotating axis and a turning axis which are adjacent to each other
do not intersect each other. As in the configuration described
above, the shape is not limited to the shape bent at 90
degrees.
[0069] Each of the rotating axes A1, A3, A5, and A7 is able to
rotate about a straight line connecting the links above and below
in FIG. 2 as a center axis.
[0070] Each of the turning axes A2, A4, and A6 is able to turn
(rotate) about a straight line from the front to the rear (or a
straight line from the rear to the front) in FIG. 2 as a center
axis.
[0071] In addition, the center axis (turning axis) of each of the
turning axes A2, A4, and A6 is orthogonal to the center axis
(rotational axis) of each of the rotating axes A1, A3, A5, and
A7.
[0072] When all the angles (7 angles) of the rotating axes A1, A3,
A5, and A7 and the turning axes A2, A4, and A6 are determined, the
entire status of the robot 1002 is determined.
[0073] Here, variables (parameters) that control the robot 1002 are
not necessarily the 7 angles, and arbitrary variables that directly
or indirectly specify all the 7 angles may be used.
[0074] In this embodiment, a control method of controlling the
angles of the rotating axes A1, A3, A5, and A7 and the turning axes
A2, A4, and A6 of the robot 1002 to meet instructions for the
position and the posture (6 variables) of the hand 12 of the robot
1002 and instruction for the position (a single variable)
corresponding to the elbow is used.
[0075] Here, the vertical articulated robot including the offset
structure according to this embodiment has 7 joints like humans do.
In addition, the fourth joint constitutes the elbow. In this
embodiment, the position corresponding to an elbow of a human in
the vertical articulated robot is regarded as the position of the
elbow in the corresponding vertical articulated robot.
[0076] Specifically, in the robot control device 1001, in advance,
conditions of the status of the vertical articulated robot in
accordance with the instructions for the position and the posture
of the hand 12 of the robot 1002 and the instructions for the
position corresponding to the elbow, and information (control
information) for controlling the angles of the rotating axes A1,
A3, A5, and A7 and the turning axes A2, A4, and A6 of the robot
1002 to meet the conditions are stored in the storage unit 1012 to
match each other.
[0077] The robot control unit 1021 controls the angles of the
rotating axes A1, A3, A5, and A7 and the turning axes A2, A4, and
A6 of the robot 1002 according to the instructions for the position
and the posture of the hand 12 of the robot 1002 and the
instructions for the position corresponding to the elbow on the
basis of the control information stored in the storage unit 1012 so
as to meet the conditions of the status of the vertical articulated
robot in accordance with the instructions.
[0078] In addition, as an example, in the storage unit 1012, for
each of a plurality of different statuses of the vertical
articulated robot, the conditions of the statuses of the vertical
articulated robot and the information (control information) for
controlling the robot 1002 such that the conditions are met are
stored to match each other. In addition, the robot control unit
1021 selects control information that meets the conditions of the
status of the vertical articulated robot according to the
instructions from among the group of the control information items
stored in the storage unit 1012 and uses the selected control
information to control the robot 1002.
[0079] Here, the instructions for the position and the posture of
the hand 12 of the robot 1002 and the instructions for the position
corresponding to the elbow are received from the user by the input
unit 1013, as an example. Accordingly, the input unit 1013 receives
the conditions of the status of the vertical articulated robot in
accordance with the instructions from the user. The instructions
may be received, for example, using numerical values, or a joystick
or the like for operating the robot 1002 may be included in the
input unit 1013 to receive the instructions on the basis of the
movement of the corresponding joystick or the like operated by the
user.
[0080] In addition, as another example, regarding the instructions
for the position and the posture of the hand 12 of the robot 1002
and the instructions for the position corresponding to the elbow, a
part or the entirety thereof may be automatically acquired by the
robot control device 1001. Specifically, in the robot control
device 1001, for example, the position or the like of a component
or the like that is an object of operation performed by the robot
1002 is detected by a sensor, and on the basis of the detection
result, a part or the entirety of the instructions for the position
and the posture of the hand 12 of the robot 1002 and the
instructions for the position corresponding to the elbow may be
generated.
[0081] Here, the entire status of the robot 1002 may be
analytically calculated and determined from the position and the
posture of the hand 12 of the robot 1002 and the position
corresponding to the elbow by inverse kinematics.
[0082] The summary of the order of calculation in inverse
kinematics (a calculation order 1 in inverse kinematics to a
calculation order 4 in inverse kinematics) will be described.
[0083] In this embodiment, base coordinates are expressed as
coordinates (x, y, z) of an XYZ coordinate system which is an
orthogonal right-handed coordinate system. In addition, a position
vector p (p is provided with an arrow indicating a vector in the
figures and formulas, and the same applies hereinafter) of the hand
12 is designated at a position in the X-axis, the Y-axis, and the
Z-axis in the base coordinates.
[0084] The posture of the hand 12 is represented by a unit vector b
(b is provided with an arrow indicating a vector in the figures and
formulas, and the same applies hereinafter) having the same
direction as the rotational axis of the seventh axis, a unit vector
n (n is provided with an arrow indicating a vector in the figures
and formulas, and the same applies hereinafter) orthogonal to the
vector b, and a unit vector t (t is provided with an arrow
indicating a vector in the figures and formulas, and the same
applies hereinafter) that is orthogonal to the vector b and the
vector n and constitutes the right-handed coordinate system with
the vectors.
[0085] Moreover, an offset angle value .delta. which is a variable
that designates the posture of the entirety of the robot 1002 (in
this embodiment, a manipulator) is designated. The offset angle
value .delta. designates the position corresponding to the
elbow.
[0086] In addition, the angle of each of the joints is calculated
from the position and the posture of the hand 12 and the offset
angle value .delta..
[0087] Hereinafter, the calculation order will be described in
detail with reference to FIG. 6. In FIG. 6, L.sub.0, L.sub.1,
L.sub.2, L.sub.3, L.sub.4, L.sub.5, L.sub.6, and L.sub.7 are links
that connect joints and joints and a joint and a hand. In addition,
J.sub.1, J.sub.2, J.sub.3, J.sub.4, J.sub.5, J.sub.6, and J.sub.7
are joints that cause the links to rotate. Furthermore, a.sub.1 is
the length from a perpendicular line that comes down from the
extension line of the rotating axis of the first joint J.sub.1 to
the center of the rotating axis of the second joint J.sub.2,
d.sub.1 is the distance between a point of intersection between the
extension line of the rotating axis of the first joint J.sub.1 to a
perpendicular line that comes out from the center of the rotating
axis of the second joint J.sub.2 to the extension line of the
rotating axis of the first joint J.sub.1 and the origin, d.sub.3 is
the distance between the second joint J.sub.2 and the fourth joint
J.sub.4, d.sub.5 is the distance between the fourth joint J.sub.4
and the sixth joint J.sub.6, and d.sub.7 is the distance from the
sixth joint J.sub.6 to the hand 12.
[0088] Here, as illustrated in FIG. 6, the position vector p of the
hand 12 is expressed by Expression (1), and each joint angle when
the vector n, the vector t, and the vector b are at a predetermined
posture is assumed to be 0 degrees.
{right arrow over (p)}=[a.sub.1+d.sub.5+d.sub.70+d.sub.3].sup.T
(1)
Calculation Order 1 in Inverse Kinematics
[0089] Initially, the center of the sixth joint is defined as the
wrist, and a position vector w (w is provided with an arrow
indicating a vector in the figures and formulas, and the same
applies hereinafter) of the wrist in the base coordinates is
calculated by Expression (2) from the designated position of the
hand 12 and the relative position and posture between the hand 12
and the sixth joint J.sub.6.
{right arrow over (w)}={right arrow over (p)}+d.sub.7{right arrow
over (b)} (2)
[0090] Subsequently, an angle from the X axis is obtained from the
x component and the y component of the calculated position of the
wrist, and the angle of the first joint is calculated by Expression
(3) by adding the offset angle value .delta. thereto.
[0091] Here, from the geometrical symmetry, Expression (4) may also
express the angle of the first joint J.sub.1. Here, in an actual
control process, the angle is appropriately selected to command the
robot.
.theta. 1 [ 1 ] = arctan w y w x + .delta. ( 3 ) .theta. 1 [ 2 ] =
arctan w y w x + .delta. + .pi. ( 4 ) ##EQU00001##
Calculation Order 2 in Inverse Kinematics
[0092] Using the obtained angle of the first joint, a position
vector w' (w' is provided with an arrow indicating a vector in the
figures and formulas, and the same applies hereinafter) of the
wrist in a case where the angle of the first joint J.sub.1 is
assumed to be 0 degrees and the center of the second joint J.sub.2
is assumed to be the origin is calculated by Expression (5).
w .fwdarw. ' = ( cos ( - .theta. 1 ) - sin ( - .theta. 1 ) 0 sin (
- .theta. 1 ) cos ( - .theta. 1 ) 0 0 0 1 ) ( w x w y w z ) + ( - a
1 0 - d 1 ) = ( w x cos .theta. 1 + w y sin .theta. 1 - a 1 - w x
sin .theta. 1 + w y cos .theta. 1 w z - d 1 ) ( 5 )
##EQU00002##
[0093] Next, the angles of the second joint J.sub.2, the third
joint J.sub.3, and the fourth joint J.sub.4 are calculated to
reproduce the calculated position w' of the wrist.
[0094] First, the angle of the fourth joint J.sub.4 is obtained by
Expression (6) under the condition in which the vector w', d.sub.3,
and d.sub.5 form a triangle.
w .fwdarw. ' 2 = ( d 5 sin ( .pi. 2 - .theta. 4 ) ) 2 + ( d 3 + d 5
cos ( .pi. 2 - .theta. 4 ) ) 2 = d 5 2 + d 3 2 + 2 d 3 d 5 sin
.theta. 4 ( 6 ) .theta. 4 [ 1 ] = arcsin ( w ' 2 - d 3 2 - d 5 2 2
d 3 d 5 ) ##EQU00003##
[0095] Next, the angle of the second joint J.sub.2 is given by
Expression (8) using the angle of the fourth joint J.sub.4 in
Expression (7).
.phi. = arctan w z ' w x ' cos ( .pi. - .phi. - ( .pi. 2 - .theta.
2 ) ) = - sin ( .theta. 2 - .phi. ) = d 3 + d 5 cos ( .pi. 2 -
.theta. 4 ) w x '2 + w z ' 2 sin ( .theta. 2 - .phi. ) = - d 3 - d
5 sin .theta. 4 w x ' 2 + w z ' 2 ( 7 ) .theta. 2 [ 1 ] = .phi. -
arctan ( d 3 + d 5 sin .theta. 4 w x ' 2 + w z ' 2 ) ( 8 )
##EQU00004##
[0096] Furthermore, the angle of the third joint J.sub.3 is given
by Expression (9) using the angle of the second joint J.sub.2.
.theta. 3 [ 1 ] = arctan ( w y ' w x ' cos .theta. 2 + w z ' sin
.theta. 2 ) ( 9 ) ##EQU00005##
[0097] In addition, regarding .theta..sub.2, .theta..sub.3, and
.theta..sub.4, from the geometrical symmetry, the joint angles of
the second joint J.sub.2, the third joint J.sub.3, and the fourth
joint J.sub.4 may be obtained also by Expressions (10) to (12),
Expressions (13) to (15), and Expressions (16) to (18). Here, in
the actual control process, the joint angles are appropriately
selected to command the robot.
.theta..sub.2[2]=.theta..sub.2[1] (10)
.theta..sub.3[2]=.theta..sub.3[1]-.pi. (11)
.theta..sub.4[2]=.pi.-.theta..sub.4[1] (12)
.theta..sub.2[3]=2.phi.-.theta..sub.2[1]-.pi. (13)
.theta..sub.3[3]=-.theta..sub.3[1] (14)
.theta..sub.4[3]=.pi.-.theta..sub.4[1] (15)
.theta..sub.2[4]=.theta..sub.2[3] (16)
.theta..sub.3[4]=.theta..sub.3[3]-.pi. (17)
.theta..sub.4[4]=.pi.-.theta..sub.4[3] (18)
Calculation Order 3 in Inverse Kinematics
[0098] Using the obtained angles of the first joint J.sub.1, the
second joint J.sub.2, the third joint J.sub.3, and the fourth joint
J.sub.4, the position of the hand 12 in a case where the angles of
the first joint J.sub.1, the second joint J.sub.2, the third joint
J.sub.3, and the fourth joint J.sub.4 are assumed to be 0 degrees
and the center of the sixth joint J.sub.6 is assumed to be the
origin is calculated by Expression (19).
p .fwdarw. ' = [ sin .theta. 4 0 sin .theta. 4 0 1 0 - sin .theta.
4 0 cos .theta. 4 ] { [ cos ( - .theta. 3 ) - sin ( .theta. 3 ) 0
sin ( - .theta. 3 ) cos ( - .theta. 3 ) 0 0 0 1 ] [ cos .theta. 2 0
sin .theta. 2 0 1 0 - sin .theta. 2 0 cos .theta. 2 ] [ p x cos
.theta. 1 + p y sin .theta. 1 - a 1 - p x sin .theta. 1 + p y cos
.theta. 1 p z - d 1 ] + [ 0 0 - d 3 ] } + [ - d 5 0 0 ] = [ cos
.theta. 4 [ cos .theta. 3 { cos .theta. 2 ( p x cos .theta. 1 + p y
sin .theta. 1 - a 1 ) + sin .theta. 2 ( p z - d 1 ) } + sin .theta.
3 ( - p x sin .theta. 1 + p y cos .theta. 1 ) ] + sin .theta. 4 [ {
- sin .theta. 2 ( p x cos .theta. 1 + p y sin .theta. 1 - a 1 ) +
cos .theta. 2 ( p z - d 1 ) } - d 3 ] - d 5 - sin .theta. 3 { cos
.theta. 2 ( p x cos .theta. 1 + p y sin .theta. 1 - a 1 ) + sin
.theta. 2 ( p z - d 1 ) } + cos .theta. 3 ( - p x sin .theta. 1 + p
y cos .theta. 1 ) - sin .theta. 4 [ cos .theta. 3 { cos .theta. 2 (
p x cos .theta. 1 + p y sin .theta. 1 - a 1 ) + sin .theta. 2 ( p z
- d 1 ) } + sin .theta. 3 ( - p x sin .theta. 1 + p y cos .theta. 1
) ] + cos .theta. 4 [ { - sin .theta. 2 ( p x cos .theta. 1 + p y
sin .theta. 1 - a 1 ) + cos .theta. 2 ( p z - d 1 ) } - d 3 ] ] (
19 ) ##EQU00006##
[0099] Next, the angle of the fifth joint J.sub.5 is calculated by
Expression (20) from the calculated y component and the z component
of the hand 12, and the angle of the sixth joint J.sub.6 is
calculated by Expression (21) from the x, y, and z components.
.theta. 5 = arctan ( p y ' p z ' ) ( 20 ) .theta. 6 = arccos ( p x
' p .fwdarw. ' ) = arccos ( p x ' p x ' 2 + p y ' 2 + p z ' 2 ) (
21 ) ##EQU00007##
[0100] In addition, regarding .theta..sub.5 and .theta..sub.6,
Expressions (22) to (23) may also express the joint angles of the
fifth joint J.sub.5 and the sixth joint J.sub.6. Here, in the
actual control process, the joint angles are appropriately selected
to command the robot.
.theta. 5 = arctan ( p y ' p z ' ) - .pi. ( 22 ) .theta. 6 = -
arccos ( p x ' p ' ) = - arccos ( p x ' p x '2 + p y ' 2 + p z ' 2
) ( 23 ) ##EQU00008##
Calculation Order 4 in Inverse Kinematics
[0101] Using the obtained angles of the first joint J.sub.1, the
second joint J.sub.2, the third joint J.sub.3, the fourth joint
J.sub.4, the fifth joint J.sub.5, and the sixth joint J.sub.6, a
unit vector n.sub.0 (n.sub.0 is provided with an arrow indicating a
vector in the formulas, and the same applies hereinafter) when the
seventh joint J.sub.7 is at 0 degrees is calculated by Expression
(24).
n .fwdarw. 0 = [ ( ( - ( c 1 c 2 c 3 - s 1 s 3 ) s 4 - c 1 s 2 c 4
) c 5 + ( - c 1 c 2 c 3 - s 1 c 3 ) s 5 ) c 6 + ( - ( c 1 c 2 c 3 -
s 1 s 3 ) s 4 + c 1 s 2 s 4 ) s 6 ( ( - ( s 1 c 2 c 3 - c 1 s 3 ) s
4 - s 1 s 2 c 4 ) c 5 + ( - s 1 c 2 s 3 - c 1 c 3 ) s 5 ) c 6 + ( -
( s 1 c 2 c 3 - c 1 s 3 ) c 4 + s 1 s 2 s 4 ) s 6 ( ( - s 2 c 3 s 4
+ c 2 c 4 ) c 5 - s 2 s 3 s 5 ) c 6 + ( - s 2 c 3 s 4 + c 2 c 4 ) s
6 ] ( 24 ) ##EQU00009##
[0102] In Expression (24), s.sub.1, c.sub.1, s.sub.2, c.sub.2,
s.sub.3, c.sub.3, s.sub.4, c.sub.4, s.sub.5, c.sub.5, s.sub.6,
c.sub.6 are the abbreviations for sin .theta..sub.1, cos
.theta..sub.1, sin .theta..sub.2, cos .theta..sub.2, sin
.theta..sub.3, cos .theta..sub.3, sin .theta..sub.4, cos
.theta..sub.4, sin .theta..sub.5, cos .theta..sub.5, sin
.theta..sub.6, cos .theta..sub.6, respectively. In addition,
Expression (24) is obtained from forward kinematics.
[0103] Next, the outer product of the calculated vector n.sub.0 and
the designated vector n is obtained by Expression (25), and the
rotational direction is determined by whether the inner product of
the obtained outer product and the designated vector b, which is
obtained by Expression (26), is positive or negative.
v .fwdarw. p = n .fwdarw. 0 .times. n .fwdarw. = [ n 0 y n z - n 0
z n y n 0 z n x - n 0 x n z n 0 x n y - n 0 y n x ] ( 25 ) s pp = v
.fwdarw. p b .fwdarw. = v px b x + v py b y + v pz b z ( 26 )
##EQU00010##
[0104] Last, from the inner product of the vector n.sub.0 just
calculated and the designated vector n, which is obtained by
Expression (27), an angle therebetween is obtained as the angle of
the seventh joint J.sub.7 by Expression (28).
s p = n .fwdarw. 0 n .fwdarw. = n 0 x n x + n 0 y n y + n 0 z n z (
27 ) .theta. 7 [ 1 ] = { arccos ( s p ) ( s pp .gtoreq. 0 ) -
arccos ( s p ) ( s pp < 0 ) ( 28 ) ##EQU00011##
[0105] In addition, regarding .theta..sub.7, from the geometrical
symmetry, Expression (29) may also express the joint angle of the
seventh joint J.sub.7. Here, in the actual control process, the
angle is appropriately selected to command the robot.
.theta..sub.7[2]=.theta..sub.7[1]-.pi. (29)
[0106] In the above-described manner, 16 versions of the entire
status of the robot 1002 shown in Table 1 may be analytically
calculated and determined by inverse kinematics from the position
and the posture of the hand 12 of the robot 1002 and the position
(the offset angle value .delta.) corresponding to the elbow.
TABLE-US-00001 TABLE 1 No. of solution .theta..sub.1 .theta..sub.2
.theta..sub.3 .theta..sub.4 .theta..sub.5 .theta..sub.6
.theta..sub.7 1 (3) (8) (9) (6) (20) (21) (28) 2 (3) (8) (9) (6)
(22) (23) (29) 3 (3) (10) (11) (12) (20) (21) (28) 4 (3) (10) (11)
(12) (22) (23) (29) 5 (3) (13) (14) (15) (20) (21) (28) 6 (3) (13)
(14) (15) (22) (23) (29) 7 (3) (16) (17) (18) (20) (21) (28) 8 (3)
(16) (17) (18) (22) (23) (29) 9 (4) (8) (9) (6) (20) (21) (28) 10
(4) (8) (9) (6) (22) (23) (29) 11 (4) (10) (11) (12) (20) (21) (28)
12 (4) (10) (11) (12) (22) (23) (29) 13 (4) (13) (14) (15) (20)
(21) (28) 14 (4) (13) (14) (15) (22) (23) (29) 15 (4) (16) (17)
(18) (20) (21) (28) 16 (4) (16) (17) (18) (22) (23) (29)
[0107] In the actual control process, from the joint angles of the
16 ways shown in Table 1, the joint angles are appropriately
selected to command the robot in consideration of the movable
ranges of the joints, the positional relationship between an
obstacle and the robot, and the like. The calculation order
described here is an example, and which one of case classifications
and arc cosine, arc sine, and arc tangent of trigonometric
functions is used to obtain the joint angles is not limited to the
above-described order.
[0108] In addition, calculation through such inverse kinematics may
be performed, for example, whenever the robot control unit 1021
controls the robot 1002, and typically, inverse kinematics
calculation is performed in every control process. However, the
calculation is performed in advance and is stored in a memory to
allow reading of the results in every control process.
[0109] As an example, analysis expressions are obtained off-line in
advance by inverse kinematics and are stored in the storage unit
1012, and the robot control unit 1021 may calculate the angle of
each of the joints using the analysis expressions.
[0110] FIG. 3 is a diagram illustrating the offset angle value
.delta. which is a variable.
[0111] The XYZ coordinate system shown in FIG. 3 is a coordinate
system of the base coordinates.
[0112] In FIG. 3, a point 201 (in the example of FIG. 3, the origin
O) represents a root point of the base a0 included in the robot
1002.
[0113] In FIG. 3, a point 202 represents the wrist included in the
robot 1002.
[0114] In FIG. 3, a robot status 101 represents the robot status
when it is assumed that there is no offset in a case where the
point 201 and the point 202 are fixed. Here, the angle of the first
joint is .theta.1.
[0115] In FIG. 3, a robot status 102 represents the robot status
when it is assumed that an offset angle value .delta. is present in
the case where the point 201 and the point 202 are fixed. Here, the
angle of the first joint is (.theta.1+.delta.).
[0116] In this embodiment, the angle .delta. between a straight
line obtained by projecting a straight line connecting the origin
and the fourth axis (the turning axis A4) onto the base coordinates
and a straight line obtained by projecting a straight line
connecting the origin and the sixth axis (the turning axis A6) onto
the base coordinates is used as a variable (the offset angle value
.delta.) that explicitly designates the position of the fourth axis
(the turning axis A4) corresponding to the elbow.
[0117] In addition, in this embodiment, the offset angle value
.delta. is used as the variable that designates the position
corresponding to the elbow (the position of the elbow). However,
for example, a variable defined by other methods may also be used
as long as the same thing is indirectly specified.
[0118] As described above, in the robot control device 1001 of the
robot system according to this embodiment, for the 7-axis robot
1002 that includes the offset structure (the offset portion 11)
between the first axis (the rotating axis A1) and the second axis
(the turning axis A2), conditions of the status of the vertical
articulated robot in accordance with the instructions for the
position and the posture of the hand 12 of the robot 1002 and the
instructions for the position (the offset angle value .delta.)
corresponding to the elbow, and information (control information)
for controlling the entire status of the robot 1002 (in this
embodiment, the angles of the rotating axes A1, A3, A5, and A7 and
the turning axes A2, A4, and A6 of the robot 1002) such that the
conditions are met are stored in the storage unit 1012 to match
each other. The robot control unit 1021 controls the entire status
of the robot 1002 according to the instructions for the position
and the posture of the hand 12 of the robot 1002 and the
instructions for the position corresponding to the elbow (the
offset angle value .delta.) on the basis of the control information
stored in the storage unit 1012 so as to meet the conditions of the
status of the vertical articulated robot in accordance with the
instructions.
[0119] As such, in the robot control device 1001 of the robot
system according to this embodiment, for the vertical articulated
robot having 7 axes and the offset structure, conditions (a total
of 7 variables) of the status of the vertical articulated robot
including the position of the elbow (a single variable) in the
vertical articulated robot and control information for controlling
the robot 1002 such that the conditions are satisfied are stored in
the storage unit 1012 to match each other, the conditions of the
status of the vertical articulated robot including the position of
the elbow are input to the input unit 1013, and the robot control
unit 1021 controls the robot 1002 such that the input conditions
are satisfied on the basis of the control information stored in the
storage unit 1012 to match the same conditions as the conditions
input to the input unit 1013.
[0120] According to the robot control device 1001 of the robot
system according to this embodiment, by introducing and using the
variable (the offset angle value .delta.) that explicitly
designates the position corresponding to the elbow, a wide movable
range is ensured, avoiding a singular point or an obstacle is
performed, and a high-speed operation may be realized in a state
where an arbitrary position and a posture of the hand 12 of the
robot 1002 are controlled.
[0121] In the robot control device 1001 of the robot system
according to this embodiment, by using the variable (the offset
angle value .delta.) that explicitly designates the position
corresponding to the elbow, for example, the status of the robot
1002 may be intuitively instructed by the user, and thus the ease
of controlling may be enhanced.
[0122] In the robot control device 1001 of the robot system
according to this embodiment, the robot 1002 that has 7 joints like
humans do is controlled. Therefore, in the robot control device
1001 of the robot system according to this embodiment, for the
robot 1002, for example, the position of the elbow may be changed
while, for example, the hand 12 and the shoulder are stopped, and
accordingly, it is possible to perform an operation while avoiding
an obstacle by adjusting the position of the elbow.
[0123] In the robot control device 1001 of the robot system
according to this embodiment, the robot 1002 having the offset
structure (the offset portion 11) is controlled. Therefore, in the
robot control device 1001 of the robot system according to this
embodiment, for the robot 1002, for example, an operation region is
made asymmetric by the offset structure, and operability of a
particular region may be increased. In addition, the degree of
freedom may be increased when the structure of an arm is designed.
In the robot 1002 having the offset structure, generally, compared
to a robot that does not have an offset structure, there are
advantages that a posture that exerts a force while unfolding the
elbow to extend to hold a distant object is realized, and the
like.
Second Embodiment
[0124] A second embodiment of the invention will be described in
detail with reference to the drawings.
[0125] In the first embodiment, as illustrated in FIG. 2, the case
of controlling the robot having the offset structure (the offset
portion 11) between the first axis (rotating axis A1) and the
second axis (turning axis A2) has been described. However, in this
embodiment, as illustrated in FIG. 4, a case of controlling a robot
having an offset structure (offset portion 21) between a sixth axis
(turning axis A6) and a seventh axis (rotating axis A7) will be
described.
[0126] Here, the schematic configurations and operations of a robot
system according to this embodiment are the same as the
configurations and operations of the robot system illustrated in
FIG. 1 according to the first embodiment. Therefore, this
embodiment will be described using reference numerals shown in FIG.
1.
[0127] FIG. 4 is a schematic block diagram illustrating a
configuration example of a 7-axis (7 degrees of freedom) robot 1002
having an offset structure according to this embodiment.
[0128] The robot 1002 according to this embodiment is configured by
connecting a base b0, a rotating axis B1 corresponding to a first
joint, a first link b1, a turning axis B2 corresponding to a second
joint, a second link b2, a rotating axis B3 corresponding to a
third joint, a third link b3, a turning axis B4 corresponding to a
fourth joint, a fourth link b4, a rotating axis B5 corresponding to
a fifth joint, a fifth link b5, a turning axis B6 corresponding to
a sixth joint, a sixth link b6, a rotating axis B7 corresponding to
a seventh joint, a seventh link b7, and a hand 22.
[0129] The first joint, the second joint, and the third joint
constitute a part of the shoulder.
[0130] The fourth joint constitutes a part of the elbow.
[0131] The fifth joint, the sixth joint, and the seventh joint
constitute a part of the wrist.
[0132] Here, the base b0 and each of the links b1 to b7 are
stationary.
[0133] In addition, the base b0, the first link b1, the second link
b2, the third link b3, the fourth link b4, the fifth link b5, and
the seventh link b7 have linear shapes.
[0134] In addition, in this embodiment, the sixth link b1 has a
shape bent at approximately 90 degrees at one point. This part is
an offset portion 21 having an offset structure.
[0135] Each of the rotating axes B1, B3, B5, and B7 is able to
rotate about a straight line connecting the links connected above
and below in FIG. 4 as a center axis.
[0136] Each of the turning axes B2, B4, and B6 is able to turn
(rotate) about a straight line from the front to the rear (or a
straight line from the rear to the front) in FIG. 4 as a center
axis.
[0137] In addition, the center axis (turning axis) of each of the
rotating axes B2, B4, and B6 is orthogonal to the center axis
(rotational axis) of each of the rotating axes B1, B3, B5, and
B7.
[0138] When all the angles (7 angles) of the rotating axes B1, B3,
B5, and B7 and the turning axes B2, B4, and B6 are determined, the
entire status of the robot 1002 is determined.
[0139] Here, variables (parameters) that control the robot 1002 are
not necessarily the 7 angles, and arbitrary variables that directly
or indirectly specify all the 7 angles may be used.
[0140] In this embodiment, a control method of controlling the
angles of the rotating axes B1, B3, B5, and B7 and the turning axes
B2, B4, and B6 of the robot 1002 to meet instructions for the
position and the posture (6 variables) of the hand 22 of the robot
1002 and instructions for the position (a single variable)
corresponding to the elbow is used.
[0141] Specifically, in the robot control device 1001, in advance,
conditions of the status of the vertical articulated robot in
accordance with the instructions for the position and the posture
of the hand 22 of the robot 1002 and the instructions for the
position corresponding to the elbow, and information (control
information) for controlling the angles of the rotating axes B1,
B3, B5, and B7 and the turning axes B2, B4, and B6 of the robot
1002 to meet the conditions are stored in the storage unit 1012 to
match each other.
[0142] The robot control unit 1021 controls the angles of the
rotating axes B1, B3, B5, and B7 and the turning axes B2, B4, and
B6 of the robot 1002 according to the instructions for the position
and the posture of the hand 22 of the robot 1002 and the
instructions for the position corresponding to the elbow on the
basis of the control information stored in the storage unit 1012 so
as to meet the conditions of the status of the vertical articulated
robot in accordance with the instructions.
[0143] In addition, in this embodiment, a variable (offset angle
value .delta.) that explicitly designates the position
corresponding to the elbow is defined for the robot 1002 having the
offset structure on the wrist side as illustrated in FIG. 4. For
this, for example, by applying the same method as in the case of
the first embodiment to the case of this embodiment, it is possible
to define the variable (offset angle value .delta.) that explicitly
designates the position corresponding to the elbow. In addition, in
the second embodiment, the shoulder and the position are exchanged
with those of the first embodiment. Therefore, the offset angle
value .delta. is also changed to the position of the elbow with
respect to the wrist from the position of the elbow with respect to
the shoulder.
[0144] In addition, in this embodiment, as illustrated in FIG. 4,
inverse kinematics is applied to the robot 1002 having the offset
structure on the wrist side. For this, for example, by applying the
same method as in the case of the first embodiment to the case of
this embodiment, it is possible to obtain a solution by inverse
kinematics.
[0145] Specifically, in the structure of the 7-axis robot having
the offset structure (the offset portion 11) on the shoulder side
as illustrated in FIG. 2 according to the first embodiment and in
the structure of the 7-axis robot having the offset structure (the
offset portion 21) on the wrist side as illustrated in FIG. 4
according to the this embodiment, schematically, the first to
seventh joints illustrated in FIG. 2 respectively correspond to the
seventh to first joints illustrated in FIG. 4.
[0146] As described above, in the robot control device 1001 of the
robot system according to this embodiment, for the 7-axis robot
1002 that includes the offset structure (the offset portion 21)
between the sixth axis (the turning axis B6) and the seventh axis
(the rotating axis B7), conditions of the status of the vertical
articulated robot in accordance with the instructions for the
position and the posture of the hand 22 of the robot 1002 and the
position (the offset angle value .delta.) corresponding to the
elbow, and information (control information) for controlling the
entire status of the robot 1002 (in this embodiment, the angles of
the rotating axes B1, B3, B5, and B7 and the turning axes B2, B4,
and B6 of the robot 1002) to meet the conditions are stored in the
storage unit 1012 to match each other. The robot control unit 1021
controls the entire status of the robot 1002 according to the
instructions for the position and the posture of the hand 22 of the
robot 1002 and the instructions for the position corresponding to
the elbow (the offset angle value .delta.) on the basis of the
control information stored in the storage unit 1012 so as to meet
the conditions of the status of the vertical articulated robot in
accordance with the instructions.
[0147] As such, in the robot control device 1001 of the robot
system according to this embodiment, for the vertical articulated
robot having 7 axes and the offset structure, conditions (a total
of 7 variables) of the status of the vertical articulated robot
including the position of the elbow (a single variable) in the
vertical articulated robot and control information for controlling
the robot 1002 such that the conditions are satisfied are stored in
the storage unit 1012 to match each other, the conditions of the
status of the vertical articulated robot including the position of
the elbow are input to the input unit 1013, and the robot control
unit 1021 controls the robot 1002 such that the input conditions
are satisfied on the basis of the control information stored in the
storage unit 1012 to match the same conditions as the conditions
input to the input unit 1013.
[0148] According to the robot control device 1001 of the robot
system according to this embodiment, the same effects as those in
the case of the first embodiment may be obtained for the robot 1002
having the offset structure on the wrist side.
[0149] For example, according to the robot control device 1001 of
the robot system according to this embodiment, by introducing and
using the variable (the offset angle value .delta.) that explicitly
designates the position corresponding to the elbow, a wide movable
range is ensured, avoiding a singular point or an obstacle is
performed, and a high-speed operation may be realized in a state
where an arbitrary position and a posture of the hand 22 of the
robot 1002 are controlled.
[0150] In the robot control device 1001 of the robot system
according to this embodiment, by using the variable (the offset
angle value .delta.) that explicitly designates the position
corresponding to the elbow, for example, the status of the robot
1002 may be intuitively instructed by the user, and thus ease of
controlling may be enhanced.
[0151] Embodiments according to Modification Examples of the above
embodiments will now be described.
[0152] FIG. 5 is a diagram illustrating an example of the external
form of a robot system according to a modification example of the
embodiment of the invention.
[0153] FIG. 5 illustrates the example of the external form of the
robot system according to this modification example viewed from the
front. Therefore, the right side of FIG. 5 corresponds to the left
of the robot system according to this modification example, and the
left side of FIG. 5 corresponds to the right of the robot system
according to this modification example.
[0154] The robot system according to this modification example
includes abase unit 2001, members (torso members) 2002, 2003, and
2004 that constitute the torso, robots 2011 and 2012 that
constitute the arm, and wheels 2021 and 2022.
[0155] The robot system according to this modification example is
constituted by mounting the torso member 2002, the torso member
2003, and the torso member 2004 to the upper surface of the base
unit 2001 in this order on the upper side, mounting the robot 2011
that constitutes the left arm to the left of the torso member 2004
which is the uppermost portion, mounting the robot 2012 that
constitutes the right arm to the right of the torso member 2004
which is the uppermost portion, mounting the wheel 2021 to the left
of the bottom surface of the base unit 2001, and mounting the wheel
2022 to the right of the bottom surface of the base unit 2001.
[0156] Here, the robot system according to this modification
example includes the robot 2011 that constitutes the left arm and
the robot 2012 that constitutes the right arm, that is, includes
both arms as such.
[0157] Each of the robots 2011 and 2012 that constitutes the
corresponding arm is configured from, for example, the robot having
the vertical articulated robot illustrated in FIG. 2 and the robot
having the vertical articulated robot illustrated in FIG. 4.
[0158] In addition, the robot system according to this modification
example includes the left wheel 2021 and the right wheel 2022, that
is, includes both wheels.
[0159] In addition, the robot system according to this modification
example is able to be moved by rotating the wheels 2021 and 2022
using man power.
[0160] In the robot system according to this modification example,
a robot control device is stored and included inside the base unit
2001.
[0161] The robot control device has the same function as that of,
for example, the robot control device 1001 illustrated in FIG. 1
and controls the robot 2011 of the left arm corresponding to the
robot 1002 illustrated in FIG. 1 and the robot 2012 of the right
arm corresponding to the robot 1002 illustrated in FIG. 1.
[0162] Here, for example, the robot control device may
simultaneously control the robot 2011 of the left arm and the robot
2012 of the right arm in association with each other, or may
control the robot 2011 of the left arm and the robot 2012 of the
right arm separately from each other.
[0163] As described above, in the robot system according to this
modification example, for example, the robot control device 1001
illustrated in FIG. 1 and those corresponding to the robot 1002 (in
the robot system according to this modification example, the robot
control device included in the base unit 2001 and the two robots
2011 and 2012) are configured in one body.
[0164] In addition, the robot control device included in the base
unit 2001 and each of the robots 2011 and 2012 are connected to be
able to communicate with each other through control signals or the
like via, for example, a wire cable or wirelessly.
[0165] Here, as another configuration example, it is possible to
provide a part of the functions of the robot control device
included in the base unit 2001 to a controller separate from the
robot system illustrated in FIG. 5.
[0166] As a specific example, the same functions as the functions
of the input unit 1013 and the output unit 1014 included in the
robot control device 1001 illustrated in FIG. 1 are included in a
controller separate from the robot system illustrated in FIG. 5,
and a function for causing the robot control device included in the
base unit 2001 and the controller to wirelessly communicate with
each other is provided, thereby realizing the same functions as the
functions of the input unit 1013 and the output unit 1014 included
in the robot control device 1001 illustrated in FIG. 1 as a remote
controller.
CONCLUSION OF THE ABOVE EMBODIMENTS
[0167] While the embodiments of the invention have been described
above in detail with reference to the drawings, specific
configurations are not limited to the embodiments, and designs in a
range that does not depart from the gist of the invention and the
like are also included.
[0168] In addition, programs for realizing the functions of
arbitrary configuration units in the robot control device 1001
described above may be recorded in a computer-readable recording
medium, and the programs may be read and executed by a computer
system. In addition, the "computer system" mentioned here includes
an OS (Operating System) or hardware such as peripheral devices. In
addition, the "computer-readable recording medium" referred to is a
storage device including portable media such as a flexible disk, a
magneto-optical disk, a ROM (Read Only Memory), or a CD (Compact
Disc)-ROM, hard disks embedded in a computer system, and the like.
Moreover, the "computer-readable recording medium" also includes
those that hold programs for a predetermined time like a RAM
(Random Access Memory) in a computer system that is a server or a
client in a case where programs are transmitted via a network such
as the Internet or a communication line such as a telephone
line.
[0169] In addition, the programs may also be transmitted from a
computer system that stores the programs in a storage device or the
like to another computer system via a transmission medium or
transmission waves in the transmission medium. Here, the
"transmission medium" that transmits the programs is referred to as
a medium having a function of transmitting information like a
network (communication network) such as the Internet or a
communication line such as a telephone line.
[0170] In addition, the programs may be programs for realizing a
part of the above-described functions. Moreover, the programs may
be those that are realized by a combination with programs that
record the above-described functions in a computer system in
advance, that is, a so-called differential file (differential
program).
* * * * *