This application claims priority under 35 U.S.C. §119 and/or §365 to Japanese Application No. 2007-209913, filed Aug. 10, 2007, the entire contents of which are incorporated herein by reference.
1. Field of the Invention
The present invention relates to a robot program adjusting system adjusting the operating program of a robot arm having a plurality of axes.
2. Description of the Related Art
In general, a robot operating program prepared off line is almost never used on the work floor as it is, but is used after correction. This is because in the off-line world and the on-line (work floor) world, the relative positional relationship between the workpiece and robot, the posture of the robot, etc. finely differ and cause deviations.
Japanese Unexamined Patent Publication No. 2007-054942 discloses using simulation to correct an operating program during which calculating the load of each axis of the robot.
However, in Japanese Unexamined Patent Publication No. 2007-054942, even when it was possible to calculate the loads of the different axes of the robot off line, it was not possible to judge if such loads or the speeds and reduction gear lifetimes of the axes would have a detrimental effect on the robot operation. That is, since this did not consider the loads, speeds, and reduction gear lifetimes of the different axes of the robots off line, it was not possible to estimate the robot operation at a high precision and there was a limit to accurately correcting the operating program.
Furthermore, as disclosed in Japanese Unexamined Patent Publication No. 2007-054942, even when it was possible to calculate the loads of axes of the robot, trial and error were required for reducing the load for an axis with a relatively large load.
In other words, in the prior art, to lighten the load acting on an axis, it was necessary to actually operate the robot while changing the teaching points in the operating program and investigate if the load was lightened and then change the teaching points until the load was lightened. This meant tremendous time was required for constructing the robot system.
The present invention was made in consideration of this situation and has as its object the provision of a robot program adjusting system able to lighten the load for an axis with a large load without trial and error.
To achieve this object, according to a first aspect of the invention, there is provided a robot program adjusting system adjusting an operating program of a robot arm having a plurality of axes, which robot program adjusting system is provided with an overload identifying means for successively reading operational instructions from said operating program of said robot arm to run simulations and thereby identify an axis where overload is acting from said plurality of axes, an additional operation generating means for generating an additional operation for an axis other than the axis identified by said overload identifying means to lighten the load of said identified axis, and a program adjusting means for adjusting the operating program of said robot arm based on the additional operation generated by said additional operation generating means.
In other words, in a first aspect of the invention, the load of the axis identified by the overload identifying means is dispersed to axes other than that axis by the additional operation generating means. For this reason, it is possible to lighten the load of the identified axis without trial and error.
According to a second aspect of the invention, as in the first aspect of the invention, said axis other than the identified axis is positioned at a front end side of said robot arm from said identified axis.
In other words, in a second aspect of the invention, the load of the identified axis can be lightened by a relatively simple operation.
According to a third aspect of the invention, as in the first aspect of the invention, said axis other than the identified axis is positioned at the base end side of said robot arm from said identified axis.
In other words, in the third aspect of the invention, even when there is no axis at the front end side from the identified axis or the axis at the front end side from the identified axis cannot be moved, the load of the identified axis can be lightened.
According to a fourth aspect of the invention, as in any one of the first to third aspects of the invention, when two or more of said additional operations are generated, at least two of these additional operations are combined.
In other words, in the fourth aspect of the invention, it is possible to combine a plurality of additional operations to shorten the robot operating time.
According to a fifth aspect of the invention, as in the second aspect of the invention, said additional operation includes making an axis positioned at a front end side of said robot arm from said identified axis move so that the center of gravity of the workpiece gripped by a hand of said robot arm is positioned on an extension of the center of rotation or movement direction of the identified axis.
In other words, in the fifth aspect of the invention, by positioning the center of gravity of the workpiece on the extension of the center of rotation or movement direction of the identified axis, it is possible to minimize the load acting on the identified axis.
According to a sixth aspect of the invention, as in the third aspect of the invention, said additional operation includes making an axis positioned at a front end side of said robot arm from said identified axis move so that a horizontal direction distance between a center of rotation or a movement direction of an axis of a base end side of said robot arm from said identified axis and a center of gravity of a workpiece gripped by a hand of said robot arm becomes the minimum.
In other words, in the sixth aspect of the invention, the force acting on the workpiece is made not to include any horizontal direction component so as to enable the load acting on the identified axis to be minimized.
According to a seventh aspect of the invention, as in any one of the first to sixth aspects of the invention, said additional operation generating means includes an interference checking means for checking if said robot arm interferes with peripheral equipment based on the additional operation.
In other words, in the seventh aspect of the invention, interference of the robot arm with peripheral equipment can be predicted in advance and the robot program readjusted.
These objects, features, and advantages of the present invention and other objects, features, and advantages will become clearer from the following description of the preferred embodiments of the present invention shown in the attached drawings.
a is a view showing the relationship between time and the load torque of each axis;
b is a first view of a robot operating program;
c is a second view of a robot operating program;
a is another view of a first example shown in
b is a view similar to
Below, embodiments of the present invention will be explained with reference to the attached drawings. In the following drawings, similar members are assigned similar reference numerals. To facilitate understanding, the scales in these figures are suitable changed.
Furthermore, the robot system 10 includes a robot control system 11 for controlling the handling robot 25, a personal computer or other input device 20 connected to the robot control system 11, an LCD display or other display means 24, and a teaching operation panel 22 connected to the robot control system 11 for a teaching operation of the robot 25.
The robot control system 11 is a digital computer and includes an overload identifying means 12 for identifying an axis to which overload is applied among the six axes J1 to J6, an additional operation generating means 13 for generating an additional operation for an axis other than the axis identified by the overload identifying means 12 for lightening the load on the identified axis, and a program adjusting means 15 for adjusting an operating program of the robot arm based on an additional operation generated by the additional operation generating means 13.
Furthermore, as shown in
Further, as illustrated, the robot control system 11 includes a storage unit 17 storing the operating program and various types of data of the robot 25. Further, the overload identifying means 12, additional operation generating means 13, program adjusting means 15, calculating means 16, and storage unit 17 are connected by a bidirectional bus 18 with each other.
Then, at step 102, the evaluation standards of the robot 25 are set. The evaluation standards of the robot 25 are the load torques and speeds of the axes J1 to J6 and the lifetimes of the reduction gears provided at the axes. The operator uses the input device 20 shown in
Alternatively, the evaluation standards (load torques, speeds, and reduction gear lifetimes) may for example be selected from maps found in advance as functions of the axis no. i of the robot and type of the workpiece W etc. For reference, a map of the evaluation standard of the load torque T is shown in
Further, the evaluation standards need only be set for one of the load torques, speeds, and reduction gear lifetimes. However, when setting all of the load torques, speeds, and reduction gear lifetimes, it is possible to estimate the operation of the robot with a higher precision needless to say.
Then, at step 103, the operating program of the robot 25 is read from the storage unit 17 and a simulation is run on the display means 24. Due to this, the positions and torques (Newton Euler torques) of the axes J1 to J6 are calculated for each unit time.
Then, at step 104, the load torques and speeds of the axes J1 to J6 and the lifetimes of the reduction gears (not shown) at the axes J1 to J6 are calculated. First, the load torques of the axes J1 to J6, strictly speaking the load torques of the servo motors, are calculated by the following equation (1) from the relationship between the position of the axes J1 to J6 and time at the simulation results.
Load torque=Newton Euler torque+frictional force+rotor inertia drive force (1)
Here, the frictional force and rotor inertia drive force are predetermined values depending on the robot 25 and servo motor. These predetermined values are stored in advance in the storage unit 17. The load torques of the servo motors at the axes J1 to J6 calculated from equation (1) are stored in the storage unit 17 linked with lines of the operating program.
Then, the lifetime L10 of the reduction gears (not shown) provided at the axes J1 to J6 of the robot 25 is calculated from the following equation (2) to equation (5).
Here, Ti (1≦i≦n) expresses the load torque acting on each axis Ji (1≦i≦n). Ni (1≦i≦n) expresses the speed of each axis Ji. Further, the time ti (1≦i≦n) is a predetermined unit time, for example, 8 msec, in the operating program. Note that in the embodiment shown in
Further, T0, N0 are initial values of the load torque and speed, respectively. Furthermore, the lifetime L10 expresses the time until 10% of the plurality of reduction gears can not longer be used when using a plurality of reduction gears under the same conditions.
Furthermore, the speed Ni of each axis J1 to J6 is calculated from the position of each axis J1 to J6 calculated for each unit time at step 103. The calculated load torques, speeds, and reduction gear lifetimes are stored in the storage unit 17.
Then, at step 105, the overload identifying means 12 identifies any operation in the operating program where the load torque, speed, and reduction gear lifetime exceed their evaluation standards.
Then, the overload identifying means 12 identifies the line in the operating program corresponding to the time zone Z1 where the load torque Ti exceeds the evaluation standard (see operating program for certain axis Ji shown at right of
The overload identifying means 12 similarly identifies the time zone where the speeds and reduction gear lifetimes of the axes J1 to J6 exceed their evaluation standards. By using the speeds and reduction gear lifetimes of the axes J1 to J6, it becomes possible to estimate the operation of the robot 25 by a high precision. However, for at least the load torque Ti, the axis where the evaluation standard is exceeded and the corresponding line in the operating program are identified.
Then, at step 106, the operating program is improved. This step is specifically shown in the flowchart of
At step 201 of
When the identified axis Ji is not the front end side axis, that is, when i<5, the routine proceeds to step 203. At step 203, an axis positioned at the front end side from the identified axis Ji is moved to lighten the load of the identified axis Ji.
a is another view of a first example shown in
In such a case, due to the additional operation generating means 13, an additional operation is generated making the axis J5 positioned at the front end side of the robot 25 from the axis J4 rotationally move in the direction of the arrow B1 of
Due to this, as can be seen from
By such rotational movement, at least part of the load acting on the axis J4 is dispersed to the other axes J5, J6. For this reason, when making the robot 25 rotate about the axis J4 (arrow A1), the load acting on the axis J4 can be reduced.
In
Due to this, as can be seen from
In such a case, due to the additional operation generating means 13, an additional operation is generated making the axis J2 and axis J3 positioned at the front end side of the robot 25 from the axis J1 rotationally move in the arrow B3, B4 directions, respectively. Due to this, the center of gravity of the workpiece W is positioned on the extension of center of rotation of the identified axis J1.
By this rotational movement, at least part of the load acting on the axis J1 is dispersed to the other axis J2 and axis J3. Therefore, when making the robot 25 rotate about the axis J1 (arrow A2), the load acting on the axis J1 is reduced. In other words, in the case shown in
Referring again to
In such a case, due to the additional operation generating means 13, an additional operation is generated making the axis J5 positioned at the base end side of the robot 25 from the axis J6 rotationally move in the arrow B5 direction. Due to this, the horizontal direction distance between the center of gravity of the workpiece W and the axis J5 becomes shorter or becomes zero.
By making the axis J5 move in this way, at least part of the load acting on the axis J6 is dispersed to the other axis J5. Therefore, when making the robot 25 rotate about the axis J6 (arrow A3), the load acting on the axis J6 is reduced. In other words, in the case shown in
Referring again to
When it is judged at step 205 or 206 that the load has been lightened, the routine proceeds to step 209. On the other hand, when it is judged that the load has not been lightened or the load has almost not been lightened, the routine proceeds to step 207. At step 207, the axes other than the identified axis Ji are made to rotationally move by just a predetermined fine amount.
The axis rotationally moved at step 207 is preferably different from the axis rotationally moved at steps 203, 204. Due to this, similar processing as performed at the steps 203 and 204 is avoided from being performed again.
For example, as explained with reference to
Then, the routine proceeds to step 208 where a simulation is run again and it is judged if the load acting on the identified axis Ji has been lightened. Further, when it is judged at step 208 that the load has not been lightened, the routine returns to step 207. Further, the axis made to rotationally move at the previous step 207 is made to further rotationally move by exactly a predetermined fine amount or furthermore another axis is made to rotationally move by exactly a predetermined fine amount. After that, the routine proceeds again to step 208 where it is judged if the load has been lightened. The processing is repeated until it is judged that the load at the identified axis Ji has been lightened.
When it is judged that the load at the identified axis Ji is lightened, additional operational instructions of the other axes for lightening the load of the identified axis Ji are stored in the storage unit 17, then the routine proceeds to step 209. At step 209, the program adjusting means 15 inserts operational instructions of the other axes into an existing operating program.
For example, as shown in
Then, at step 210 of
On the contrary, when combining operations at step 210, the load acting on the identified axis Ji, for example, the axis J4, is not reduced that much. Therefore, this step 210 is not necessarily required. This is limited to the case where the operator gives priority to shortening the operating time of the robot 25.
Further, while not shown in
In this way, in the present invention, by the additional operation generating means 13 preparing additional operations for other axes, the load of the identified axis Ji can be dispersed to the other axes. Therefore, in the present invention, it becomes possible to lighten the load of the identified axis the load of which is large, without trial and error.
Furthermore, in the present invention, teaching and starting up a robot system able to simply improve the operation of the axis with a large load can be realized and as a result reduction of the work steps also becomes possible. Further, even when a problem occurs in the robot operation due to an overload, the cause can be examined and investigated and the robot operation can be easily improved.
Typical embodiments were used to explain the present invention, but it will be understood that a person skilled in the art could make the above changes and various other changes and deletions and additions without departing from the scope of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
2007-209913 | Aug 2007 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
4819184 | Jonsson et al. | Apr 1989 | A |
4828451 | Mikoshi et al. | May 1989 | A |
4873476 | Kurakake et al. | Oct 1989 | A |
4970448 | Torii et al. | Nov 1990 | A |
5130632 | Ezawa et al. | Jul 1992 | A |
5550577 | Verbiest et al. | Aug 1996 | A |
5562843 | Yasumoto | Oct 1996 | A |
5659779 | Laird et al. | Aug 1997 | A |
5764731 | Yablon | Jun 1998 | A |
6230079 | Brogårdh et al. | May 2001 | B1 |
6292713 | Jouppi et al. | Sep 2001 | B1 |
6343243 | Brogårdh et al. | Jan 2002 | B1 |
6346950 | Jouppi | Feb 2002 | B1 |
6604021 | Imai et al. | Aug 2003 | B2 |
7710415 | Jennings et al. | May 2010 | B2 |
20010037163 | Allard | Nov 2001 | A1 |
20020057279 | Jouppi | May 2002 | A1 |
20020063726 | Jouppi | May 2002 | A1 |
20050125098 | Wang et al. | Jun 2005 | A1 |
20050179416 | Iribe et al. | Aug 2005 | A1 |
20050224479 | Watanabe et al. | Oct 2005 | A1 |
20060071625 | Nakata et al. | Apr 2006 | A1 |
20070021868 | Nagatsuka et al. | Jan 2007 | A1 |
20070050091 | Nagatsuka et al. | Mar 2007 | A1 |
20070265731 | Merk et al. | Nov 2007 | A1 |
20070288124 | Nagata et al. | Dec 2007 | A1 |
Number | Date | Country |
---|---|---|
1 584 999 | Oct 2005 | EP |
1 752 847 | Feb 2007 | EP |
1-237703 | Sep 1989 | JP |
5-261691 | Oct 1993 | JP |
7-78014 | Mar 1995 | JP |
2005-293332 | Oct 2005 | JP |
2007-054942 | Mar 2007 | JP |
Number | Date | Country | |
---|---|---|---|
20090043425 A1 | Feb 2009 | US |