WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Control system for robot    
United States Patent5481652   
Link to this pagehttp://www.wikipatents.com/5481652.html
Inventor(s)Sasaki; Motonobu (Nagoya, JP)
AbstractA control system for a robot including a teaching box provided with a hand alignment command section and a control unit for the robot. A hand-alignment movement-amount computing section computes an amount of movement along each axis of the robot in a hand alignment operation. A drive section drives the robot. A present-position data memory section stores data for a present position of a hand. A present-pose data memory section stores data for the present pose of the hand of the robot. A pose memory section stores deserved pose data of the hand which data is, required for a teaching operation. A pose-data modifying section modifies the data of the pose memory section. A pose memory command section instructs the modifying to modify the pose data.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Inventor     Sasaki; Motonobu (Nagoya, JP)
Owner/Assignee     Mitsubishi Denki Kabushiki Kaisha (Tokyo, JP)
Patent assignment
All assignments
Publication Date     January 2, 1996
Application Number     08/004,062
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     January 13, 1993
US Classification     700/262
Int'l Classification     B25J 015/00 B25J 009/16 B25J 013/02 G05B 019/18
Examiner     Downs; Robert W.
Assistant Examiner    
Attorney/Law Firm     Seas, Turner; Richard C. Sughrue, Mion, Zinn, Macpeak & Cruskin; Steven M. ,
Address
Parent Case    
Priority Data     Jan 14, 1992[JP]4-004773
USPTO Field of Search     395/86 395/92 395/97 395/99 395/80 318/568.11 318/568.17
Patent Tags     control robot
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5308221
Shimokoshi
414/734
May,1994

[0 after 0 votes]
5129044
Kashiwagi
700/251
Jul,1992

[0 after 0 votes]
4887222
Miyake
700/262
Dec,1989

[0 after 0 votes]
4763276
Perreirra
700/262
Aug,1988

[0 after 0 votes]
4529921
Moribe
318/568.13
Jul,1985

[0 after 0 votes]
4433382
Cunningham
700/192
Feb,1984

[0 after 0 votes]
4402052
Stone
700/159
Aug,1983

[0 after 0 votes]
4305130
Kelley
700/259
Dec,1981

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. A control system for a robot having a hand and a hand alignment function for automatically adjusting a present position and pose of the hand to a desired position and pose without first moving the hand of the robot, said control system comprising:

a drive means for driving said hand;

a present-position data memory means for storing data corresponding to the present position of the hand;

a present-pose data memory means for storing data corresponding to the present pose of the hand;

a pose memory means for storing data corresponding to the desired pose;

a pose data modifying means for modifying a format of the data stored in said pose memory means to coincide with a format of the data stored in said present-pose data memory means;

a pose memory command means for instructing said pose data modifying means to modify the format of the data stored in said pose memory means to coincide with the format of the data stored in said present-pose data memory means; and

a hand-alignment movement-amount computing means for computing data corresponding to the desired position and pose, and for outputting the computed data corresponding to the desired position and pose to said drive means.

2. A control system for a robot having a hand and a hand alignment function for automatically adjusting a present position and pose of the hand to a desired position and pose without first moving the hand of the robot, said control system comprising:

a drive means for driving said hand;

a present-position data memory means for storing data corresponding to the present position of the hand;

a present-pose data memory means for storing data corresponding to the present pose of the hand;

a pose memory means for storing data corresponding to the desired pose;

a pose data modifying means for modifying a format of the data stored in said pose memory means to coincide with a format of the data stored in said present-pose data memory means;

a pose memory command means for instructing modification of said data stored in said pose memory means by said pose data modifying means;

a hand-alignment movement-amount computing means, responsive to said pose data modifying means, for computing an amount of movement of the hand from the present position and pose to the desired position and pose, and for outputting the computed amount of movement to said drive means; and

a hand alignment command means for instructing said hand-alignment movement-amount computing means to compute the amount of movement of the hand and to output the computed amount of movement to said drive means.

3. A control system for a robot having a hand and a hand alignment function for automatically adjusting a present position and pose of the hand to a desired position and pose without first moving the hand of the robot, said control system comprising:

a drive means for driving said hand;

a present-position data memory means for storing data corresponding to the present position of the hand;

a present-pose data memory means for storing data corresponding to the present pose of the hand;

a plurality of pose memory means for storing data corresponding to a plurality of desired poses;

a pose identifier number memory means for storing data indicating which of said plurality of pose memory means contains data corresponding to a desired pose;

a pose identifier number command means for instructing said pose identifier number memory means to select desired pose data from said plurality of pose memory means;

a pose data modifying means for modifying a format of the data stored in a selected one of said plurality of pose memory means to coincide with a format of the data stored in the present-pose data memory means;

a pose memory command means for instructing said pose data modifying means to modify the format of the data stored in the selected one of said plurality of pose memory means;

a hand-alignment movement-amount computing means, responsive to said pose data modifying means, for computing an amount of movement of the hand from the present position and pose to the desired position and pose, and for outputting the computed amount of movement to said drive means; and

a hand alignment command means for instructing said hand-alignment movement-amount computing means to compute the amount of movement and to output the computed amount of movement to said drive means.

4. A control system for a robot having a hand and a hand alignment function for automatically adjusting a present position and pose of the hand to one of a desired position and pose and an optional position and pose without first moving the hand of the robot, said control system comprising:

a drive means for driving said hand;

a present-position data memory means for storing data corresponding to the present position of the hand;

a present-pose data memory means for storing data corresponding to the present pose of the hand;

a pose memory means for storing data corresponding to the desired pose and the optional pose;

a working coordinate system memory means for storing data in a working coordinate system format;

a coordinate transformation means for transforming data stored in said pose memory means and said present-pose data memory means from a base coordinate system format to a working coordinate system format, the transformed data being stored in said working coordinate system memory means;

a coordinate transformation means for transforming data stored in said pose memory means and said present-pose data memory means from the working coordinate system format to the base coordinate system format;

a hand-alignment movement-amount computing means for determining whether the data transformed from said present-pose data memory means is the same as the data transformed from said pose memory means, for computing an amount of movement of the hand from the present position and pose to one of the desired position and pose and the optional position and pose, and for outputting the computed amount of movement of the hand to said drive means; and

a hand alignment command means for instructing the hand-alignment movement-amount computing means to compare the data transformed from the present-pose data memory means and the pose memory means, to compute the amount of movement of the hand, and to output the computed amount of movement.

5. A control system for a robot having a hand and a hand alignment function for automatically adjusting a present position and pose of the hand to one of a desired position and pose and an optional position and pose without first moving the hand of the robot, said control system comprising:

a drive means for driving said hand;

a present-position data memory means for storing data corresponding to the present position of the hand;

a present-pose data memory means for storing data corresponding to the present pose of the hand;

a pose memory means for storing data corresponding to the desired pose and the optional pose;

a working coordinate system memory means for storing data in a working coordinate system format;

a coordinate transformation means for transforming data stored in said pose memory means and said present-pose data memory means from a base coordinate system format to the working coordinate system format, the transformed data being stored in said working coordinate system memory means;

a coordinate transformation means for transforming data stored in the working coordinate system format to the base coordinate system format;

a hand-alignment system memory means for storing data indicating whether the present pose in the working coordinate system is the same as the desired pose and for storing data indicating whether the optional pose in the working coordinate system is the same as the desired pose;

a hand-alignment system command means for instructing said hand-alignment system memory means to store data indicating whether the present pose and the optional pose are the same as the desired pose;

a hand-alignment movement-amount computing means for determining whether the present pose in the working coordinate system is the same as the desired pose, for determining whether the optional pose in the working coordinate system is the same as the desired pose, for computing an amount of movement of the hand to the desired position and pose, and for outputting the computed amount of movement to said drive means; and

a hand alignment command means for instructing said hand-alignment movement-amount computing means to determine whether the present pose and the optional pose are the same as the desired pose, to compute the amount of movement of the hand, and to output the computed amount of movement to said drive means.

6. A method of controlling a robot having a hand, said hand being moveable automatically to a desired pose and position without first moving the robot hand, said method comprising the steps of:

storing in a present memory means a first set of data representing a present position of the robot hand and a second set of data representing a present pose of the robot hand;

retrieving said second set of data from the present memory means and storing said second set of data as a third set of data in a pose memory means;

retrieving said first set of data from the present memory means in response to a command;

calculating data representing the desired position and pose from said first set of data and said third set of data;

outputting the calculated data corresponding to the desired position and pose; and

driving the robot hand in response to the data output in said outputting step.

7. A method of controlling a robot having a hand, as set forth in claim 6, further comprising the steps of:

creating a plurality of pose memory sections, each of said plurality of pose memory sections being operative to store the third data set for a corresponding one of a plurality of poses; and

in response to the specification of a particular one of said plurality of poses, storing said second data set in a corresponding one of said plurality of pose memory sections.

8. A method of controlling a robot having a hand, as set forth in claim 7, further comprising the steps of:

in response to a hand alignment command, identifying a desired pose; and

retrieving said third data set from a corresponding one of said plurality of pose memory sections,

wherein said calculating step is performed using said third data set from a corresponding one of said plurality of pose memory sections.

9. A method of controlling a robot having a hand, as set forth in claim 8, further comprising the step of:

specifying each of said plurality of poses by a unique identifier, wherein said identifying and retrieving steps are conducted on the basis of said identifier.

10. A method of controlling a robot having a hand, said hand being moveable automatically to a predetermined pose without first moving the robot hand, said method comprising the steps of:

storing in memory a first data set representing a present position of the hand and a second data set representing a present pose of the hand, wherein both data sets are in a base coordinate system;

storing a third data set corresponding to an operation coordinate system;

storing a fourth data set representing one of a desired and optional pose;

retrieving data from at least one of said third and fourth data sets in response to a hand alignment command;

determining whether or not a present pose is aligned on the operation coordinate system;

in response to a determination that the present pose is aligned on the operation coordinate system, retrieving data from said first and second data sets and executing the following steps:

calculating a first set of desired position and pose data using the data from said first and second data sets;

outputting the first set of desired position and pose data; and

driving the robot hand in response to the first set of desired position and pose data; and

in response to a determination that the present pose is not aligned on the operation coordinate system, retrieving data from said first data set, said second data set and said third data set, and executing the following processing steps:

converting said first data set and second data set on the base coordinate system into a fifth data set on the operation coordinate system;

calculating a second set of desired position and pose data on said operation coordinate system from the fifth data set;

converting the second set of desired position and pose data in the operation coordinate system to a third set of desired position and pose data in the base coordinate system;

outputting the third set of desired position and pose data; and

driving the robot hand in response to the third set of desired position and pose data.
 Description Submit all comments and votes
 


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