[go: up one dir, main page]

WO1999001805A1 - Method of conversion of robot teaching program - Google Patents

Method of conversion of robot teaching program Download PDF

Info

Publication number
WO1999001805A1
WO1999001805A1 PCT/JP1998/003018 JP9803018W WO9901805A1 WO 1999001805 A1 WO1999001805 A1 WO 1999001805A1 JP 9803018 W JP9803018 W JP 9803018W WO 9901805 A1 WO9901805 A1 WO 9901805A1
Authority
WO
WIPO (PCT)
Prior art keywords
teaching
speed
arc
point
teaching program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP1998/003018
Other languages
English (en)
French (fr)
Inventor
Ryo Nihei
Toru Shirahata
Toshihiko Inoue
Ryuji Takikawa
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Priority to EP98929835A priority Critical patent/EP0930554A1/en
Publication of WO1999001805A1 publication Critical patent/WO1999001805A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/41Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/425Teaching successive positions by numerical control, i.e. commands being entered to control the positioning servo of the tool head or end effector
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34175Overlap, between two blocks, continuous, smooth speed change, movement
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Definitions

  • the present invention relates to a method of converting a teaching program for an industrial robot (hereinafter, simply referred to as “robot j”), and more specifically, to a teaching program describing movement of a path including a circular arc of the robot.
  • robot j an industrial robot
  • the present invention relates to a technology for optimizing from the viewpoint of converting vibration and avoiding generation of vibration and increase in cycle time.
  • the robot When a robot that is teaching the path movement including the arc movement is regenerated, the robot may vibrate due to the centrifugal force depending on the teaching speed (command speed) for the arc movement. is there. Such vibration is more likely to occur as the teaching speed is higher and as the arc radius is smaller. Therefore, in order to avoid the occurrence of vibration, it is necessary to set the teaching speed to an appropriate value in consideration of the radius of the arc.
  • the acceleration / deceleration area associated with the transition When making a transition (without positioning), the acceleration / deceleration area associated with the transition will be formed over both the straight line and the arc, and the effect of the acceleration / deceleration operation and the centrifugal force of the arc movement will be affected.
  • the vibrations are particularly likely to occur due to the overlap.
  • a new teaching point is additionally set in the straight path before the start position of the arc path, and the added teaching
  • An object of the present invention is to solve the above-mentioned problems of the prior art. That is, the present invention automatically determines the appropriate teaching speed for the arc path movement specified by the robot teaching program, and reduces the vibration caused by the arc movement without unnecessarily reducing the arc movement speed. O To suppress the occurrence
  • the acceleration / deceleration operation and the arc movement can be performed without causing an unnecessary increase in the cycle time in relation to the shift from the linear movement to the arc movement specified by the robot teaching program without positioning.
  • the purpose of the present invention is to prevent the generation of vibration due to the overlapping of operations.
  • the present invention intends to reduce the burden of teaching work through these matters.
  • the teaching program comprises:
  • the software processing includes an operation command for moving the arc path, and the software processing includes a process of setting the teaching speed to a predetermined value according to the radius of the arc for the arc path movement.
  • the teaching program in a method of converting a robot teaching program by software processing using a conversion processing device having software processing capability, includes: Movement and circle
  • the software processing includes an operation command that smoothly connects the path movement of the arc.
  • ADVANTAGE OF THE INVENTION According to this invention, generation
  • the deceleration operation of the linear path movement may occur when entering the arc path without causing unnecessary increase in cycle time.
  • a certain vibration can be prevented.
  • the burden of teaching work is reduced through these things.
  • FIG. 1 is a block diagram showing a main part of a system including a robot control device used when carrying out the method of the present invention.
  • FIG. 2A is a diagram illustrating a route assumed in the first embodiment.
  • FIG. 2B is a diagram showing a route assumed in the second embodiment.
  • FIG. 3 is a diagram showing an outline of the acceleration / deceleration operation of the original teaching program at the time of transition from a straight path to an arc part.
  • FIG. 4 is a diagram showing an outline of an acceleration / deceleration operation at the time of transition from a straight path to an arc when the original teaching program of FIG. 3 is converted according to the first embodiment.
  • FIG. 5 is a diagram showing an outline of the acceleration / deceleration operation of the original teaching program at the time of transition from a straight path to an arc part.
  • FIG. 6 is a diagram showing an outline of the acceleration / deceleration operation at the time of transition from a straight path to an arc when the original teaching program of FIG. 5 is converted according to the second embodiment.
  • FIG. 7 is a flowchart outlining the conversion processing according to the first embodiment.
  • FIG. 8 is a flowchart outlining the conversion processing according to the second embodiment.
  • FIG. 9 is a flowchart for explaining the procedure when the conversion process for optimizing the original teaching program is executed concurrently with the regenerating operation.
  • FIG. 10 is a flowchart for explaining a procedure in a case where the conversion process for optimizing the original teaching program is executed prior to the regeneration operation.
  • the robot control device 10 has a central processing unit (hereinafter referred to as a CPU) 11.
  • the CPU 11 has a memory 12 consisting of ROM, RAM , Non-volatile memory 14, external device input / output device 15, interface 16 for teaching operation panel 30 and robot axis controller 17 are connected. ing.
  • the robot axis control section 17 controls the operation of each axis of the robot mechanism section 20 via a servo circuit 18.
  • a known offline programming device 40 including a CPU, a memory, and the like can be connected to the input / output device 15.
  • a personal computer may be used as the offline programming device 40 in some cases.
  • the original teaching program to be converted is prepared in the memory of the off-line programming device 40 or the non-volatile memory 14 in the robot control device 10.
  • the conversion processing by the software according to the present invention may be executed in either the robot controller 10 or the offline programming device 40.
  • the software (including various setting values) for the conversion process includes the memory of the device responsible for the conversion process (the non-volatile memory 14 of the robot controller 10 and the offline program). It is pre-loaded to the memory of the mining device 40).
  • the required data transfer is executed between the robot controller 10 and the off-line programming device 40.
  • the data of the original teaching program is prepared in the memory of the off-line programming device 40, the conversion processing according to the present invention is executed in the off-line programming device 40, and then the Copy teaching program data
  • the data can be transferred from the flying programming device 40 to the robot controller 10 and stored in the non-volatile memory 14.
  • the ROM 12 stores a program for controlling the entire system including the robot controller 10 itself.
  • RAM 13 is used for temporary storage of data for processing performed by CPU 11.
  • the nonvolatile memory 14 stores various setting values related to the operation of each part of the system and data of the above-described original teaching program or the converted teaching program.
  • the moving path specified in the teaching program before conversion is as shown in Fig. 2A. That is, the movement path is composed of a straight path from point P1 to point P2, an arc path from point P2 to point P4, and a straight path from point P4 to point P5.
  • the straight path from point P1 to point P2 is referred to as a straight line portion Ls
  • the arc path from point P2 to point P4 is Called the arc Cs. It is assumed that the length of the linear portion L s is L 1.
  • the transition from the linear portion s to the circular arc portion C s are defined in the jar by intends line in the "smoothness 1 OOO / o (positioning ratio 00/0)".
  • “smoothness 1 00 00/0” This means that the acceleration of the next operation command is started while the deceleration area of one operation command remains at 100 o / o.
  • Operation command 1 relates to the movement of the linear section L s, and the teaching speed specified in the original teaching program is set to v 1 (see the straight line AB).
  • the operation command 2 relates to the arc portion C s, and the teaching speed specified in the original teaching program is v 2 (see the straight line CD). In the normal case, a lower speed is taught to the arc portion C s than to the linear portion L s (V 1> V 2).
  • the deceleration operation of the operation command 1 (see the broken line BN) and the acceleration operation of the operation command 2 (see the broken line MC) are started simultaneously and completed at the same time.
  • the combination of the deceleration operation of operation command 1 and the acceleration operation of operation command 2 is the speed transition indicated by the solid line BC.
  • the speed v 2 is, of course, the moving speed of the arc portion C s. Even if the degree itself is reasonable, the robot's motion may be over-vibrated and vibrate in response to the excessive speed indicated by the triangle JCK. obtain.
  • Step S1 Load the original teaching program, search for an arc path, and calculate the radius of each arc path.
  • the value of the radius of the arc path can be calculated from the position data of the teaching points (3 points) that define the arc path. For example, for the arc portion C s shown in FIG. 2A, the arc radius is calculated from the point P 2 which is the start point of the arc portion C s, the point P 4 which is the end point, and the point P 3 which is the intermediate point. You can ask for it. In this process, it is not assumed that the original teaching program does not include any circular path.
  • Step S2 Find the teaching speed value corresponding to the arc radius found in Step S1 from the speed table, and find the teaching speed of the arc path specified in the original teaching program from the speed table. Overwrite the teaching speed value.
  • This speed table is used to reduce the radius of the arc path from the viewpoint of preventing vibration.
  • the maximum permissible value of the teaching speed that can be operated for each sensor is determined. The specific value can be determined as the maximum permissible value that can avoid vibration by experiments and the like.
  • Step S 3 It is determined whether or not two or more adjacent arc paths exist. If yes, proceed to step S4; if no (for example, FIG. 2A) proceed to step S5.
  • Step S 4 For each of the arc radii of a plurality of adjacent arc paths, refer to the above-mentioned speed table to obtain the teaching speed values, and then determine the minimum value among them to teach the plurality of arc paths. Rewrite it to be the speed value.
  • Step S 5 The teaching speed value of the circular path rewritten in step S 2 or step S 4 (hereinafter, this speed is referred to as ⁇ 2 ') and the specified linear path before the circular path Compare with the teaching speed (hereinafter, this speed is referred to as v 1).
  • the time t1 required for the acceleration / deceleration operation is determined for the point where the arc path of V2 'is adjacent. This time t1 is calculated by the following equation (1), where a is the allowable acceleration value (absolute value).
  • t 1 (v 1-v 2 ') / a--(1)
  • the allowable acceleration value a is set in advance as the maximum allowable value that does not cause the robot to vibrate.
  • Travel distance ⁇ 1 is as follows
  • Step S 8 Whether or not the distance ⁇ 1 can be secured on the straight path with the teaching speed v 1 To check. That is, assuming that the distance of this linear path (linear part L s) is L 1 (see FIG. 2A), it is determined whether L 1> j 1.
  • Step S 9 If L 1> j 1 in the judgment of step S 8, the distance j 1 part (hereinafter, this distance ⁇ 1 is referred to as the acceleration / deceleration distance) in the straight path of distance 1 In this case, proceed to step S 10.
  • the length of the distance j 1 is the square enclosed by the points E EH ⁇ P 2 Area.
  • Step S 10 Define the “transient region” described later
  • the distance j 2 is calculated.
  • the distance ⁇ 2 is set so that the start time of the operation command 2 of the arc portion C s (the acceleration start point of the arc movement) coincides with the teaching point P 2, and the transition from the linear portion L s to the arc portion C s is performed. It is calculated under the condition that the completion point of the accompanying acceleration / deceleration also coincides with the teaching point P2.
  • This distance ⁇ 2 is equal to the distance required by the acceleration region of the arc movement (corresponding to the area of the triangle G ⁇ P2 ⁇ U in Fig. 4), and is obtained by the following equation (4).
  • Step SI 1 The additional teaching point Pad is added to the point where the straight line part Ls is traced back from the teaching point P2, which is the start point of the operation command 2 of the circular arc part Cs, by the distance j2 obtained by the above equation (4).
  • the data of the operation command 3 for the linear movement connecting the point Pad and the point P2 is written in the teaching program.
  • the teaching speed of this operation command 3 is equal to the teaching speed V2 'of the arc Cs.
  • the area (distance J 2) from the teaching point P 2 to the additional teaching point Pad on the straight line portion L s is called a transition area.
  • the acceleration / deceleration operation is completed at the connection point between the straight line portion s and the arc portion C s, and the acceleration / deceleration in the arc portion C s is performed. Avoiding operation.
  • Step S1 2 If L1 ⁇ j1 in the determination in step S8 described above, it means that the acceleration / deceleration distance j1 cannot be secured within the straight line portion Ls. In this case, the process proceeds to step S13.
  • step S 1 3 (2 X a XL 1 + v 2' 2) 1/2 -
  • Step S15 A process is performed so that the acceleration of the deceleration operation from the linear path of the teaching speed v 1 (or ⁇ ⁇ ) to the arc path of the teaching speed V 2 ′ becomes the allowable acceleration a described above. That is, the deceleration distance ⁇ 1 is calculated from the teaching speed V 1 (or V ;;) of the finally determined operation command 1 using the equation (3) or the equation (5), and the acceleration / deceleration portion EF in FIG. Let the slope (absolute value) be a, and find a point H such that the area of the quadrilateral E EF ⁇ P2 ⁇ H is the deceleration distance j1. Then, the operation command 1 is such that the deceleration operation starts at the point H and ends at the point P2. That is, the time constant is set to a length corresponding to the distance H-P2.
  • the movement path specified in the teaching program before conversion is as shown in Fig. 2B. That is, the movement route is composed of a straight route from the point Q1 to the point Q2, an arc route from the point Q2 to the point Q4, and a straight route from the point Q4 to the point Q5.
  • the straight path from point Q1 to point Q2 is referred to as a straight line part Ls
  • the arc path from point Q2 to point Q4 is an arc. Called the part C s. It is assumed that the length of the straight line portion L s is L 2.
  • the original teaching program converts the linear part Ls to the circular part Cs It is stipulated that the transition be performed with “smoothness 50% (positioning ratio 50 o / o)”.
  • “smoothness of 50% J” means that acceleration of the next operation command is started in a state where 50 o / o of the deceleration area of a certain operation command remains.
  • Operation command 4 relates to the movement of the linear portion Ls, and the teaching speed specified in the original teaching program is V4 (see straight line AB).
  • the operation command 5 relates to the arc portion C s, and the teaching speed specified in the original teaching program is V5 (see the straight line CD). In the normal case, a lower speed is taught to the circular arc portion C s than to the linear portion I s (V 4> V 5).
  • the deceleration operation of the operation command 4 (see the broken line BZ) is started prior to the acceleration operation of the operation command 5 (see the broken line MC).
  • a speed transition is obtained by combining the deceleration operation of the operation command 4 and the acceleration operation of the operation command 5, and is as shown by a solid line BYKRC.
  • an acceleration / deceleration region surrounded by K'Q2'N'C'R'K is formed in the arc portion Cs.
  • the speed V5 is the speed of movement of the arc Cs. Even if the degree itself is reasonable, the movement of the mouth bot will not be able to cope with the acceleration / deceleration area enclosed by K'Q2 ⁇ N ⁇ C ⁇ R ⁇ K. Vibration may occur.
  • the conversion process outlined in the flowchart of FIG. 8 is performed in the robot control device 10 or the offline programming device 40 to provide a teaching program that suppresses the generation of vibration. Modify.
  • the main points of the processing executed in each step of the flowchart in FIG. 8 are as follows.
  • Step T 1 Load the original teaching program, search for an arc path, and calculate the radius for each arc path.
  • the value of the radius of the arc path can be calculated from the position data of the teaching points (3 points) that define the arc path. For example, for the arc portion C s shown in FIG. 2B, the arc radius is determined from the point Q 2 which is the start point of the arc portion C s, the point Q 4 which is the end point, and the point Q 3 which is an intermediate point. Can be requested. Note that this process does not assume that the original teaching program does not include any circular path.
  • Step T2 The teaching speed value corresponding to the arc radius found in Step T1 is found from the speed table, and the teaching speed of the arc path specified in the original teaching program is found from the speed table. Rewrite with the speed value.
  • This speed table specifies the maximum permissible teaching speed for each range of the radius of the circular arc path from the viewpoint of preventing vibration. Thus, a specific value can be determined as a maximum allowable value by which vibration can be avoided by experiments and the like.
  • Step T 3 It is determined whether two or more adjacent arc paths exist. If yes, proceed to Step T4; if no (eg, example in FIG. 2B) Step
  • Step T 4 For each of the arc radii of a plurality of adjacent arc paths, refer to the above speed table to obtain the indicated speed values, and determine the minimum value among them to teach the plurality of arc paths. Rewrite to be the speed value.
  • Step T 5 The teaching speed value of the circular path rewritten in step T 2 or step T 4 (hereinafter, this speed is referred to as ⁇ 5 ′) and the specified linear path before the circular path Compare with the teaching speed (hereinafter, this speed is referred to as V 4).
  • step T 6 If V 4> V 5 ′, the process proceeds to step T 6.
  • Step T 6 A movement distance j 3 required for the acceleration / deceleration operation is calculated at a position where the linear path of the teaching speed v 4 and the arc path of the teaching speed V 5 ′ are adjacent to each other.
  • the moving distance 3 is expressed by the following equation (7).
  • t 2 is the time required for acceleration / deceleration of operation command 4 and operation command 5, and is a time constant calculated from the teaching speed and other conditions.
  • Step T7 It is checked whether or not the above-mentioned moving distance ⁇ 3 can be secured in the linear path of the teaching speed v4. That is, assuming that the distance of this straight route (straight line portion L s) is L 2 (see FIG. 2B), it is determined whether or not L 2> j 3.
  • the movement distance j 3 is a region surrounded by points E ⁇ H 2Q 2 FF ⁇ O ⁇ I ⁇ S ⁇ E ⁇ H.
  • Step T 8 If L 2> j 3 in the judgment of step T 7, the portion of distance j 3 in the straight path of distance L 2 (hereinafter, this distance ⁇ 3 is referred to as “acceleration / deceleration distance”) Can be provided. In this case, the process proceeds to step T9.
  • Step T 9 Find the distance j 4 for defining the “transient region”.
  • the distance ⁇ 4 is set so that the start time of the operation command 5 of the circular arc portion C s coincides with the teaching point Q2, and
  • Step T 10 The additional teaching point Q ad is obtained by going back from the teaching point Q 2, which is the start point of the operation command 5 of the circular arc section C s, by the distance j 4 obtained by the above equation (8) from the teaching point Q 2.
  • the position data of the additional teaching point Q ad is added to the teaching program.
  • the data of the operation command 6 for the linear movement connecting the point Pad and the point P2 is written into the teaching program.
  • the smooth ratio of the operation command 4 that is, the teaching point Qad is set to 50%
  • the smooth ratio of the operation command 6, that is, the teaching point Q2 is changed to 100.
  • Step T11 If L2 ⁇ j3 in the above step (T17), it becomes impossible to secure the acceleration / deceleration distance j3 within the linear portion Ls. And. In this case, proceed to the next step T12.
  • Step T1 2 When L2 ⁇ j3, the teaching speed of the operation command 4 of the linear part Lp is set so that the acceleration / deceleration distance j3 is equal to the distance L2 of the linear part Ls. Rewrite from v4 to V4 '.
  • step T12 When the processing in step T12 is completed, the conversion processing ends in step T14.
  • Step No. 14 With the above, the conversion process of the original teaching program is completed.
  • the transition from the circular arc portion C s to the linear portion L s ′ is performed in the same manner as necessary, if necessary, in the same manner as in the “Transient area ”Is set, so that acceleration to a large speed is not performed in the arc path, as in the case of the first embodiment.
  • the smooth ratio is 100% ⁇ 1 ⁇ 2 and 50% has been described.
  • the present invention is applied to the case where the smooth ratio is specified by another ratio.
  • the acceleration / deceleration operation can be completed at the start point of the arc.
  • the conversion process for optimizing the original teaching program may be performed (1) in parallel with the regeneration operation, or (2) may be performed prior to the regeneration operation.
  • the outline of the procedure in the former case is shown in the flowchart of Fig. 9, and the outline of the procedure in the former case is shown in the flowchart of Fig. 10.
  • Step Y4 in the flowchart of FIG. 9 and steps Z2 and Z3 in the flowchart of FIG. 10 correspond to the conversion processing described above.
  • the key points of each step in both flow charts are as follows.
  • Step Y3 Pre-read n lines from the m-th line of the original teaching program. However, if the last line is reached before n lines are prefetched, the last line is prefetched.
  • Step Y 4 A conversion process is performed so as to optimize the amount read ahead in step Y 3.
  • Step Y5 Output the operation command (nth line from the mth line) for the converted value.
  • Step Y 6 Perform the operation (n lines from the m-th line) corresponding to the conversion processing.
  • the robot operates based on the teaching program obtained by converting n lines from the m-th line.
  • Step Z1 Transfer the original teaching program to the device that executes the conversion process as necessary.
  • the parsing of the original teaching program created on the robot control device or the offline programming device is required.
  • Transfer to Sonal Computer An original teaching program may be created on a personal computer by using a personal computer as an offline programming device. In that case, no transfer is necessary.
  • Step Z 2 If the original teaching program is prepared on the robot controller (NC controller), the conversion process can be executed on the robot controller (NC controller). .
  • Step Z3 Execute conversion process of original teaching program on personal computer.
  • Step Z 4 Transfer the converted teaching program data to the mouth pot controller (NC controller) ⁇

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Description

明 細 害
ロボッ 卜の教示プログラムの変換方法
技 術 分 野
本発明は、 産業用ロボッ ト (以下、 単に 「ロボッ ト j と言う。 ) の教示プログラムの変換方法に関し、 更に詳 し く 言えば、 ロボッ トの円弧を含む経路の移動を記述し た教示プログラムを変換し、 振動の発生とサイクルタイ ムの増大を回避する観点から最適化するための技術に関 する。
背 景 技 術
円弧移動を含む経路移動が教示されているロボッ 卜の 再生運転を行なった場合、 円弧移動についての教示速度 (指令速度) によっては、 遠心力の影響を受けてロボッ 卜が振動を起すこ とがある。 このような振動は、 教示速 度が大きい程、 また、 円弧半径が小さい程発生し易い。 従って、 振動発生を回避ためには、 円弧の半径を勘案し て教示速度を適度の大きさに設定する必要がある。
しかし、 個々のケースについて、 サイクルタイムの無 用な増大を招く こ となく 同時に振動発生を回避出来るよ うな教示速度を設定する ことは、 熟練した教示者にも簡 単なこ とではなく、 適正値を見い出すまでに試行錯誤的 な調整を繰り返すことも少なく ない。
更に、 直線の経路移動と円弧の経路移動を位置決めな し (滑らかに移行) で繋ぐ場合に生じる加減速に関連し て、 別の振動発生要因が加わる。 即ち、 比較的高速の動 作が教示されていることが多い直線部からそれよ り低速 の動作が教示されていることが多い円弧部へ滑らかに
(位置決めなしに) 移行する際には、 移行に伴う加減速 領域が直線と円弧の双方にまたがって形成されることに なり、 加減速動作に伴う力と円弧移動動作の遠心力の影 響が重なり合って特に振動が発生し易く なる。
このようなケースに対しては、 円弧移動の教示速度を 円弧半径を考慮して設定しても振動が解消出来ないこ と がある。 場合によっては、 直線経路の教示速度をも下方 調整しなければ振動を回避出来ないこと も起こ り得る。 そのため、 教示速度を適正に設定する作業はよ り難し く なる。
移行時の減速動作が円弧移動に重なり合う こ とを回避 するための一つの方法と して、 円弧経路の開始位置 の 手前の直線経路中に新たに教示点を追加設定し、 追加さ れた教示点を利用して加減速を完了させるための領域を 確保し、 この領域内で加減速を完了させて しまう方法が ある。
しかし、 この方法を適用する場合、 教示者が上記領域 (直線区間) の長さ (追加設定される教示点の位置で決 まる。 ) を過不足なく適正に定めることは、 実際上は非 常に難しい。 即ち、 この領域を不用意に長く とれば、 サ ィクルタイムが長く なリ作業効率が低下する。 逆に、 短 か過ぎると減速を円弧経路の運動の開始前に完了させる ことが出来ない。 018
発 明 の 開 示
本発明の目的は、 上記従来技術の問題点を解決するこ とにある。 即ち、 本発明は、 ロボッ トの教示プログラム で指定されている円弧の経路移動について適正な教示速 度を自動的に定め、 円弧移動の速度を無用に低下させる ことなく、 円弧移動に伴う振動の発生を抑制することに る o
更に本発明は、 ロボッ トの教示プログラムで指定され ている直線移動から円弧移動への位置決めな しの移行に 関連して、 サイクルタ イムの無用な増大を招く ことなく、 加減速動作と円弧移動の動作の重なりに起因する振動発 生を防止することにある。 また、 本発明はこれらのこと を通して教示作業の負担を軽減しょ う とするものである。
上記目的を達成するため、 本発明による方法の 1 形態 では、 ソフ トウェア処理能力を有する変換処理装置を用 いたソ フ トウエア処理によってロボッ 卜の教示プログラ ムを変換する方法において、 前記教示プログラムは、 円 弧の経路移動の動作命令を含むものであり、 また、 前記 ソフ トウェア処理は、 前記円弧の経路移動について、 円 弧の半径に応じて予め定められた値に教示速度を設定す る処理を含んでいる。
また、 本発明による方法の別の形態では、 ソ フ トゥェ ァ処理能力を有する変換処理装置を用いたソ フ トウエア 処理によってロボッ 卜の教示プログラムを変換する方法 において、 前記教示プログラムは、 直線の経路移動と円 弧の経路移動を滑らかに繋ぐ動作命令を含むものであり、 また、 前記ソフ トウェア処理は、 前記円弧の経路移動に ついて、 円弧の半径に応じて予め定められた最大許容速 度値に教示速度を設定する処理と、 前記直線の経路移動 から円弧の経路移動へ移行するための加減速動作が円弧 移動の開始時点に合わせて完了されるよ うにする処理を 含んでいる。
本発明によれば、 ロボッ トの円弧経路移動の速度を無 用に低下させることな く、 振動の発生を抑制することが 出来る。 特に、 直線経路移動から円弧経路移動への位置 決めなしの移行に際しては、 サイクルタ イムの無用な増 大を招く ことなく、 直線経路移動の減速動作が円弧経路 内に入り込むことにと つて生じるおそれのある振動発生 を防止するこ とが出来る。 また、 これらのことを通して 教示作業の負担が軽減される。
図 面 の 簡 単 な 鋭 明
図 1 は、 本発明の方法を実施するときに使用するロボ ッ 卜制御装置を含むシステムの要部をブロ ック図で示し たものである。
図 2 Aは、 実施形態 1 で想定する経路を示した図であ る。
図 2 Bは、 実施形態 2で想定する経路を示した図であ る。
図 3は、 原教示プログラムの、 直線経路から円弧部へ の移行時の加減速動作の概要を示した図である。 図 4は、 図 3の原教示プログラムを実施形態 1 によ り 変換したときの、 直線経路から円弧部への移行時の加減 速動作の概要を示した図である。
図 5は、 原教示プログラムの、 直線経路から円弧部へ の移行時の加減速動作の概要を示した図である。
図 6 は、 図 5の原教示プログラムを実施形態 2によ り 変換したときの、 直線経路から円弧部への移行時の加減 速動作の概要を示した図である。
図 7 は、 実施形態 1 による変換処理の概要を記したフ ローチャー トである。
図 8 は、 実施形態 2 による変換処理の概要を記したフ ローチャー 卜である。
図 9は、 原教示プログラムを最適化する変換処理を再 生運転と併行的に実行する場合の手順を説明するフ ロー チヤ一卜である。 さ らに、
図 1 0は、 原教示プログラムを最適化する変換処理を 再生運転に先行して実行する場合の手順を説明するフロ 一チヤ一トである。
発明 を実施す る た めの最良の 形態 まず、 本発明の方法を実施するときに使用するロボッ 卜制御装置を含むシステムの要部を図 1 のブロ ック図を 用いて説明する。
ロボッ ト制御装置 1 0は、 中央演算処理装置 (以下、 C P U とし、う。 ) 1 1 を有している。 C P U 1 1 には、 ノくス 1 9 を介して、 R O Mからなるメ モ リ 1 2、 R A M からなるメ モ リ 1 3、 不揮発性メ モ リ 1 4、 外部装置用 の入出力装置 1 5、 教示操作盤 3 0の為のイ ンターフエ イス 1 6 及びロボッ 卜軸制御部 1 7 が接続されている。 ロポッ 卜軸制御部 1 7 はロボッ 卜機構部 2 0の各軸の動 作をサーボ回路 1 8 を介 して制御する。
入出力装置 1 5 には、 外部装置の一つと して、 C P U、 メ モ リ等を備えた公知のオフライ ンプログラ ミ ング装置 4 0 を接続する こ とが出来る。 オフライ ンプログラ ミ ン グ装置 4 0 と してパーソナルコ ンピュータが利用される こ と も ある。 変換対象と される原教示プログラムは、 ォ フライ ンプログラ ミ ング装置 4 0のメ モ リ あるいはロボ ッ 卜制御装置 1 0 内の不揮発性メ モ リ 1 4内に準備され る。 そ して、 本発明に従ったソフ トウェアによる変換処 理は、 ロボッ ト制御装置 1 0 内あるいはオフライ ンプロ グラ ミ ング装置 4 0内のいずれで実行されても良い。 変 換処理のためのソ フ 卜ウ ェア (諸設定値を含む) は、 変 換処理を担当する機器のメ モ リ (ロボッ ト制御装置 1 0 の不揮発性メ モ リ 1 4、 オフライ ンプログラ ミ ング装置 4 0 のメ モ リ ) に予めローデイ ングされる。
また、 所要のデータの転送がロボッ ト制御装置 1 0 と オフライ ンプログラ ミ ング装置 4 0 の間で実行される。 例えば、 原教示プログラムのデータ をオフライ ンプログ ラ ミ ング装置 4 0 内のメ モ リ 内に準備 し、 本発明による 変換処理をオフライ ンプログラ ミ ング装置 4 0 内で実行 し、 次いで、 変換処理後の教示プログラムのデータ をォ フライ ンプログラ ミ ング装置 4 0から ロボッ 卜制御装置 1 0へ転送し、 不揮発性メ モ リ 1 4内に格納するこ とが 出来 。
R O M 1 2 にはロボッ 卜制御装置 1 0 自身を含むシス テム全体を制御するプログラムが格納される。 R A M 1 3 は C P U 1 1 が行な う処理のためのデータの一時記憶 に使用される。 不揮発性メ モ リ 1 4 には、 システム各部 の動作に関連 した諸設定値や上述した原教示プログラム あるいは変換後の教示プログラムのデータが格納される。
以下、 ロボッ ト制御装置 1 0 内あるいはオフライ ンプ ログラ ミ ング装置 4 0 内のいずれかで実行される変換処 理の例を (実施形態 1 及び実施形態 2 ) を説明する。
(実施形態 1 : 滑らかさ 1 0 00/0 )
変換される前の教示プログラム (原教示プログラム) に指定されている移動経路は図 2 Aに示すものとする。 すなわち、 移動経路は、 点 P 1 から点 P 2 までの直線経 路と、 点 P 2 から点 P 4 までの円弧経路と、 点 P4 から 点 P 5 までの直線経路とから成る。 なお、 以下では、 こ の図 2 Aの移動経路のう ち、 点 P 1 から点 P 2 までの直 線経路を直線部 L s と呼び、 点 P 2 から点 P 4 までの円 弧経路を円弧部 C s と呼ぶ。 また、 直線部 L s の長さは L 1 である とする。
原教示プログラムは、 直線部し s から円弧部 C s への 移行が 「滑らかさ 1 O O O/o (位置決め割合 00/0 ) 」 で行 う よ う に規定されている。 こ こで、 「滑らかさ 1 0 00/0」 とは、 ある動作指令の減速領域部分が 1 0 0 o/o残ってい る状態にて、 次の動作指令の加速が開始される こ とを意 味する。
こ こで、 原教示プログラムに基づく 直線部 L s から円 弧部 C s への移行時の加減速動作の概要を図 3 を用いて 説明する。
図 3 において、 横軸は時間を、 縦軸は速度を表わ して いる。 動作指令 1 は直線部 L s の移動に関するもので、 原教示プログラムで指定されている教示速度を v 1 とす る (直線 A B参照) 。 また、 動作指令 2 は円弧部 C s に 関するもので、 原教示プログラムで指定されている教示 速度は v 2 とする (直線 C D参照) 。 通常のケースでは、 円弧部 C s には直線部 L s よ り も低い速度が教示される ( V 1 > V 2 ) 。
この実施形態では、 滑らか 1 0 0 %と いう条件から、 動作指令 1 の減速動作 (破線 B N参照) と動作指令 2の 加速動作 (破線 M C参照) は同時に開始され、 同時に完 了する。 動作指令 1 の減速動作と動作指令 2の加速動作 と を合成したものが実線 B Cで示す速度推移となる。 そ の結果、 三角形 J C Kで示されているよ うに、 直線部
L s と円弧部 C s の接続点を形成する教示点 P 2 を通過 した後にも しばら く の間、 円弧部 C s に指定された教示 速度 v 2 よ り も大きな速度が指令される こ と になる。
従って、 円弧部 C s に指定された教示速度 V 2 が大き すぎる場合はもち ろん、 速度 v 2 が円弧部 C s の移動速 度自体と しては無理がない値であっても、 上記三角形 J C Kで示されている過大速度部分に対応 して、 ロボッ 卜 の運動に無理が生 じて振動が発生する こ と も有 り得る。
そこで直線部 し s から円弧部 C s に移行したときに (すなわち、 点 P 2 を通過した直後に) 円弧部 C s に指 定された教示速度 V 2 以上にならないよ う に、 原教示プ ログラムを改変する手順を図 7 のフ ローチヤ一 トを用い て説明する。 このプログラムの改変作業はロボッ ト制御 装置 1 0 内であるいはオフライ ンプログラ ミ ング装置 4 0内で行なわれる。 図 7 のフ ローチャー トの各ステッ プ で実行される処理の要点は、 以下の通り である。
[ステッ プ S 1 ] 原教示プログラムを読み込んで円弧 経路を探 し、 各円弧経路についてその半径を算出する。 円弧経路の半径の値は、 円弧経路を定める教示点 ( 3 点) の位置データから算出する こ とが出来る。 例えば、 図 2 Aに示 した円弧部 C s については、 円弧部 C s の始点で ある点 P 2 と終点である点 P 4 と、 さ らに中間点である 点 P 3 とから円弧半径を求めるこ とができる。 なお、 こ の処理では原教示プログラムに円弧経路が 1 つも含まれ ていない場合は想定しない。
[ステッ プ S 2 ] ステッ プ S 1 で求めた円弧半径に対 応する教示速度値を速度テーブルから求め、 原教示プロ グラムで指定されていた円弧経路の教示速度を、 速度テ 一ブルから求めた教示速度値に書き換える。 この速度テ —ブルは、 振動発生防止の観点から円弧経路の半径の レ ンジ毎に動作可能な教示速度の最大許容値を定めたもの で、 具体的な値は、 実験等によ り振動を回避出来る最大 許容値と して定めることが出来る。
[ステップ S 3 ] 2個以上の隣接した円弧経路が存在 しているか否かを判断する。 イエスであればステップ S 4へ進み、 ノーであれば (たとえば図 2 Aの例) ステツ プ S 5へ進む。
[ステップ S 4 ] 隣接している複数の円弧経路の各円 弧半径に対して上記速度テーブルを参照してそれぞれ教 示速度値を求め、 そのうちの最小の値をそれら複数の円 弧経路の教示速度値とするよ う書き換える。
[ステップ S 5 ] ステップ S 2またはステップ S 4で 書き換えられた円弧経路の教示速度値 (以下、 この速度 を ν 2' とする) と、 円弧経路の前にある直線経路に指 定されている教示速度 (以下、 この速度を v 1 とする) とを比較する。
こ こで、 ν 1 ≤ ν 2' とすると、 直線経路 (直線部
L s ) から円弧経路 (円弧部 C s ) への移行時の加減速 動作において、 図 3に示す三角形 J C Kに相当する部分 が発生しないことを意味するから、 ステップ S 1 6へ進 んで本処理を終了する。
一方、 ν 1 > ν 2' の場合は、 直線経路から円弧経路 への移行時の加減速動作において、 図 3 に示す三角形 J C Kに相当する部分が発生するこ と を意味する。 そこで, この場合にはステップ S 6 に移行する。 [ステッ プ S 6 ] 教示速度 v 1 の直線経路と教示速度
V 2' の円弧経路が隣接 した個所について、 加減速動作 に要する時間 t 1 を求める。 この時間 t 1 は、 許容加速 度値 (絶対値) を a と して、 下記 ( 1 ) 式で算出される。
t 1 = ( v 1 - v 2' ) / a —— ( 1 ) 許容加速度値 a は、 ロボッ トに振動等を生 じ させない 最大許容値と して予め設定される。
[ステップ S 7 ] 教示速度 V 1 の直線経路と教示速度
V 2' の円弧経路が隣接 した個所について、 加減速動作 に要する移動距離 〗 1 を算出する。 移動距離 〗 1 は下記
( 2 ) 式で表わされる。
j 1 = ( V 1 + 2' ) X t 1 / 2. —— ( 2 )
( 1 ) 式と ( 2 ) 式によ り、
j = ( ν 1 2- ν 2' 2) / ( 2 X a ) —— ( 3 ) [ステッ プ S 8 ] 教示速度 v 1 の直線経路で、 上記距 離 〗 1 を確保出来るか否かをチェ ックする。 すなわち、 この直線経路 (直線部 L s ) の距離を L 1 と して、 (図 2 A参照) 、 L 1 > j 1 であるかどうかを判断する。
[ステッ プ S 9 ] ステッ プ S 8 の判断で、 L 1 > j 1 で あれば、 距離し 1 の直線経路の中に距離 j 1 の部分 (以 下、 この距離 〗 1 を 「加減速距離 j と いう) を設ける こ とができる。 この場合、 ステッ プ S 1 0 に進む。 なお、 距離 j 1 の長さは図 4 において、 点 E ■ H ■ P 2 · 「で 囲まれた四辺形の面積に相当する。
[ステッ プ S 1 0 ] 後述する 「過渡領域」 を定めるた めの距離 j 2 を算出する。 この距離 〗 2 は、 円弧部 C s の動作指令 2の開始時点 (円弧移動の加速開始点) を教 示点 P 2 と一致させ、 且つ、 直線部 L s から円弧部 C s への移行に伴う加減速の完了点を同じ く 教示点 P 2 に一 致させる条件で算出される。 この距離 〗 2 は、 円弧移動 の加速領域が必要とする距離 (図 4において、 三角形 G ■ P 2 ■ Uの面積に相当) と等し く、 下記の式 ( 4 ) に よ り求められる。
j 2 = 2' X t 1 / 2 ( 4 ) さ らに、 式 ( 4 ) と式 ( 1 ) から、
j 2 = ( V 1 X v 2' - V 2' 2) Z ( 2 a )
· ·■■ ( 4 ' )
[ステップ S I 1 ] 円弧部 C s の動作指令 2の開始点 である教示点 P 2 から直線部 L s を上記 ( 4 ) 式で求め た距離 j 2 だけ遡ったと ころに追加教示点 P adを設定し、 その追加教示点 P adの位置データ を教示プログラムに追 記する。 さ らに、 点 P adと点 P 2 とを結ぶ直線移動の動 作指令 3のデータ を教示プログラムに書き込む。 この動 作指令 3の教示速度は円弧部 C sの教示速度 V 2' と等 し く する。
直線部 L s 上の、 教示点 P 2 から追加教示点 P adまで の領域 (距離 J 2 ) を過渡領域という。 本発明ではこの 直線部 L S にこの過渡領域を設けるこ と によ って、 直線 部し s と円弧部 C s との接続点で加減速動作を完了させ て円弧部 C s での加減速動作を回避している。 本ステップ S 1 1 の処理が完了 したら、 ステップ S 1 5へ進む o
[ステップ S 1 2 ] 上述のステップ S 8の判断で L 1 < j 1 であれば、 直線部 L s 内で加減速距離 j 1 を確保 することができないことを意味する。 この場合、 ス亍ッ プ S 1 3 に移行する。
[ステップ S 1 3 ] L 1 < j 1 の場合、 加減速距離 j 1 を直線部 L s の距離 L 1 に等し く なるように、 直線 部 L s の動作指令 1 の教示速度を v 1 から ν 1' に書き 直す。 この場合、 式 ( 3 ) において j 1 = L 1 、 V 1 = 1 ' とおいた下記の式、
L 1 = ( V Γ 2 - V 2' 2) / ( 2 X a )
■ · · · ( 5 ) から、 新教示速度 ν Γ を以下の式で求める。
V 1 ' = ( 2 X a X L 1 + v 2' 2) 1 /2 —— ( 6 ) このステップ S 1 3の処理が完了 したら、 ステップ S 1 5へ進む。
[ステップ S 1 4 ] ; 上述のステッ プ S 8の判断で L 1 = j 1 であれば、 直線部し s全体が加減速距離 j 1 距離 となることを意味する。 この場合は追加教示点の設定は 不要であり、 このステップから S 1 1 からステップ S 1 5に移行する。
[ステップ S 1 5 ] 教示速度 v 1 (または ν Γ 、 の 直線経路から教示速度 V 2' の円弧経路への減速動作の加 速度が前述の許容加速度 a になるよ うな処理を行なう。 すなわち、 最終的に定められた動作指令 1 の教示速度 V 1 (または V Γ ;) から式 ( 3 ) または式 ( 5 ) を用 いて減速距離 〗 1 を計算し、 図 4において加減速部分 E Fの傾き (絶対値) を a と して四辺形 E ■ F ■ P 2 · H の面積がその減速距離 j 1 となるような点 H を求める。 そ して、 動作指令 1 は、 その減速動作が点 Hで開始され 点 P 2 で終了するものにする。 すなわち、 時定数を距離 H - P 2に相当する長さ とする。
[ステップ S 1 6 ] 以上で、 原教示プログラムの変換 処理は完了する。 なお、 円弧部 C sから他の直線部
L s ' への移行に関しても、 必要に応じて同様の手順で 大きな教示速度が指定された直線経路への加速のための 「過渡領域 J を設定し、 円弧経路内では大きな速度への 加速が行なわれないようにすることも出来る。
(実施形態 2 : 滑らかさ 5 0 %)
変換される前の教示プログラム (原教示プログラム) に指定されている移動経路は図 2 Bに示すものとする。 すなわち、 移動経路は、 点 Q 1 から点 Q 2 までの直線経 路と、 点 Q 2 から点 Q 4 までの円弧経路と、 点 Q4 から 点 Q 5 までの直線経路とから成る。 なお、 以下では、 こ の図 2 Bの移動経路のうち、 点 Q 1 から点 Q 2 までの直 線経路を直線部 L s と呼び、 点 Q 2 から点 Q 4 までの円 弧経路を円弧部 C s と呼ぶ。 また、 直線部 L s の長さは L 2 であるとする。
原教示プログラムは、 直線部 L sから円弧部 C sへの 移行が 「滑らかさ 5 0 % (位置決め割合 5 0 o/o ) 」 で行 うよ うに規定されている。 こ こで、 「滑らかさ 5 0 % J とは、 ある動作指令の減速領域部分が 5 0 o/o残っている 状態にて、 次の動作指令の加速が開始されることを意味 する。
こ こで、 原教示プログラムに基づく直線部 L sから円 弧部 C sへの移行時の加減速動作の概要を図 5 を用いて 説明する。
図 5 において、 横軸は時間を、 縦軸は速度を表わして いる。 動作指令 4は直線部 L sの移動に関するもので、 原教示プログラムで指定されている教示速度を V 4 とす る (直線 A B参照) 。 また、 動作指令 5 は円弧部 C s に 関するもので、 原教示プログラムで指定されている教示 速度は V 5 とする (直線 C D参照) 。 通常のケースでは、 円弧部 C s には直線部 I s よ り も低い速度が教示される ( V 4 > V 5 ) 。
この実施形態では、 滑らか 5 0 %という条件から、 動 作指令 4の減速動作 (破線 B Z参照) が動作指令 5 の加 速動作 (破線 M C参照) に先行して開始される。 動作指 令 4の減速動作と動作指令 5の加速動作とを合成したも のが速度推移となり、 実線 B Y K R Cで示したようなも のとなる。 その結果、 K ' Q 2 ' N ' C ' R ' Kで囲ま れた加減速領域が円弧部 C s 内に形成される。
従って、 円弧部 C s に指定された教示速度 V 5 が大き すぎる場合はもちろん、 速度 V 5 が円弧部 C s の移動速 度自体と しては無理がない値であっても、 上記 K ' Q 2 ■ N ■ C ■ R ■ Kで囲まれた加減速領域に対応して、 口 ボッ 卜の運動に無理が生じて振動が発生することが有り 《守る。
そこで、 本実施形態では図 8のフローチャー トに概要 を記した変換処理をロボッ 卜制御装置 1 0内あるいはォ フライ ンプログラ ミ ング装置 4 0内で行ない、 振動の発 生を抑制した教示プログラムに改変する。 図 8のフロー チャー トの各ステップで実行される処理の要点は、 以下 の通りである。
[ステップ T 1 ] 原教示プログラムを読み込んで円弧 経路を探し、 各円弧経路について半径を算出する。 円弧 経路の半径の値は、 円弧経路を定める教示点 ( 3点) の 位置データから算出することが出来る。 例えば、 図 2 B に示した円弧部 C s については、 円弧部 C s の始点であ る点 Q 2 と終点である点 Q 4 と、 さ らに中間点である点 Q 3 とから円弧半径を求めることができる。 なお、 この 処理では原教示プログラムに円弧経路が 1 つも含まれて いない場合は想定しない。
[ステップ T 2 ] ステップ T 1 で求めた円弧半径に対 応する教示速度値を速度テーブルから求め、 原教示プロ グラムで指定されていた円弧経路の教示速度を、 速度テ 一ブルから求めた教示速度値に書き換える。 この速度テ 一ブルは、 振動発生防止の観点から円弧経路の半径のレ ンジ毎に動作可能な教示速度の最大許容値を定めたもの で、 具体的な値は、 実験等によ り振動を回避出来る最大 許容値と して定めることが出来る。
[ステップ T 3 ] 2個以上の隣接した円弧経路が存在 しているか否かを判断する。 イエスであればステップ T 4へ進み、 ノーであれば (例えば図 2 Bの例) ステップ
T 5へ進む。
[ステップ T 4 ] 隣接している複数の円弧経路の各円 弧半径に対して上記速度テーブルを参照してそれぞれ教 示速度値を求め、 そのうちの最小の値をそれら複数の円 弧経路の教示速度値とするよう書き換える。
[ステップ T 5 ] ステップ T 2 またはステップ T 4で 書き換えられた円弧経路の教示速度値 (以下、 この速度 を ν 5' とする) と、 円弧経路の前にある直線経路に指 定されている教示速度 (以下、 この速度を V 4 とする) とを比較する。
比較の結果、 ν 4 ≤ ν 5' とすると、 円弧経路内では 加減速が行われないか ( V 4 = V 5 ' ) か、 あるいは加 減速が行われても ロボッ 卜に振動を与える虞はないので, ステップ T 1 4 に進んでこの処理を終了する。 一方、
V 4 > V 5' の場合には、 ステップ T 6 に移行する。
[ステップ T 6 ] 教示速度 v 4の直線経路と教示速度 V 5' の円弧経路が隣接した個所について、 加減速動作 に要する移動距離 j 3 を算出する。 移動距離 』 3 は下記 ( 7 ) 式で表わされる。
j 3 = ( v 4 + v 5' ) x t 2 Z 2 ( 7 ) こ こで、 t 2 は動作指令 4、 動作指令 5の加減速に 要する時間であり、 教示速度並びにその他の条件から計 算される時定数である。
[ステップ T 7 ] 教示速度 v 4の直線経路で、 上記移 動距離 〗 3 を確保出来るか否かをチェ ックする。 すなわ ち、 この直線経路 (直線部 L s ) の距離を L 2 と して (図 2 B参照) 、 L 2 > j 3 であるかどうかを判断する。 なお、 移動距離 j 3 は、 図 6 においては、 点 E · H ■ Q 2 ■ F ■ O ■ I ■ S ■ E ■ Hで囲まれた領域となる。
[ステップ T 8 ] ステップ T 7の判断で、 L 2 > j 3 であれば、 距離 L 2 の直線経路の中に距離 j 3 の部分 (以下、 この距離 〗 3 を 「加減速距離」 という) を設け ることができる。 この場合はステップ T 9に移行する。
[ステップ T 9 ] 「過渡領域」 を定めるための距離 j 4 を求める。 この距離 〗 4 は、 円弧部 C sの動作指令 5の開始時点を教示点 Q 2 と一致させ、 且つ、 直線部
L s から円弧部 C sへの移行に伴う加減速の完了点を同 じ く教示点 Q 2 に一致させる条件で算出される。 この距 離 j 4 は、 円弧移動の加速領域が必要とする距離 (図 6 において、 三角形 Z ' Q 2 ' Fの面積に相当) と等しく . 下記の式 ( 8 ) によ り求められる。
j 4 = v 5' x t 2 2 ( 8 )
[ステップ T 1 0 ] 円弧部 C sの動作指令 5の開始点 である教示点 Q 2 から直線部 L s を上記 ( 8 ) 式で求め た距離 j 4 だけ遡ったと ころに追加教示点 Q adを設定し. その追加教示点 Q adの位置データ を教示プログラムに追 記する。 さ らに、 点 P adと点 P 2 とを結ぶ直線移動の動 作指令 6 のデータ を教示プロ グラムに書き込む。 そして、 動作指令 4、 つま り教示点 Q adの滑らか割合を 5 0 %と し、 動作指令 6、 つま り教示点 Q 2 の滑らか割合を 1 0 0 に変更する。
図 6 のおいて斜線で示す、 I ■ Q ad . Q 2 ■ F ■ O ■ I で囲まれた領域の面積が距離 j 4 に相当する。
[ステッ プ T 1 1 ] 上述のステッ プ ( T一 7 ) の判断 で L 2 < j 3 であれば、 直線部 L s 内で加減速距離 j 3 を確保する こ とができな く なる こ と を意味する。 この場 合には、 次のステッ プ T 1 2 に移行する。
[ステッ プ T 1 2 ] L 2 < j 3 の場合、 加減速距離 j 3 を直線部 L s の距離 L 2 に等 し く するよ う に、 直線 部 L p の動作指令 4の教示速度を v 4から V 4' に書き 直す。 この新教示速度 V 4' は、 前記式 ( 7 ) において j 3 = L 2 、 V 4 = V 4' と おいた下記の式、
L 2 = ( V 4' + 5' ) t 2 / 2 ( 9 ) によ り、 以下のよ う に求まる。
v 4' = 2 X L 2 Z t 2 — v 5' · · · · ( 1 0 ) ステッ プ T 1 2の処理が完了 したら、 ステッ プ T 1 4 で変換処理を終了する。
[ステッ プ T 1 3 ] 上述のステップ T 8の判断で 】 3 = L 2 であれば、 直線部 L s 全体が加減速距離 j 3 とな る こ と を意味する。 この場合は追加教示点の設定は不要 とな り、 ステッ プ T 1 4でこの処理を終了する。
[ステップ Τ 1 4 ] 以上で、 原教示プログラムの変換 処理は完了する。 なお、 円弧部 C s から直線部 L s ' へ の移行に関 しても、 必要に応 じて同様の手順で大きな教 示速度が指定された直線経路への加速のための 「過渡領 域」 を設定 し、 円弧経路内では大きな速度への加速が行 なわれないよ う にする こ とも出来るこ と は、 実施形態 1 の場合と同様である。
以上、 滑らか割合 1 0 0 <½と 5 0 %の例について説明 したが、 一般には、 本発明の適用は滑らか割合が他の割 合で指定されている場合にも、 図 8のフ ローチャー トに 示 したと同様の変換処理によ って、 加減速動作を円弧部 の開始点で完了 させるよ う にする こ とが可能である。
最後に、 上記説明 した変換処理の実行タ イ ミ ングにつ いて説明する。 原教示プログラムを最適化する変換処理 は、 ( 1 ) 再生運転と併行的に実行しても、 ( 2 ) 再生 運転に先行して実行しても良い。 前者の場合の手順の概 要を図 9のフ ローチャー トを示し、 前者の場合の手順の 概要を図 1 0のフ ローチャー トを示 した。 図 9のフ ロー チャー トにおけるステッ プ Y 4及び図 1 0のフ ローチヤ 一卜におけるステッ プ Z 2、 ステッ プ Z 3 が、 上記説明 した変換処理に相当 している。 両フ ローチヤ一 卜におけ る各ステッ プの要点は次の通りである。
(図 9 のフ ローチヤ一 卜)
[ステップ Y 1 ] 原教示プログラムの実行指令を入力 する。
[ステッ プ Y 2 ] 行指定指標 mを 1 とする ( m = 1 ) 。
[ステッ プ Y 3 ] 原教示プログラムの m行目から n行 分を先読みする。 但し、 n行分を先読みする前に最終行 に到達 した場合には、 最終行までを先読みする。
[ステ ッ プ Y 4 ] ステップ Y 3 で先読みされた分を最 適化するよ う に、 変換処理を実行する。
[ステ ッ プ Y 5 ] 変換処理された分の動作指令 ( m行 目から n 行分) を出力する。
[ステ ッ プ Y 6 ] 変換処理された分の動作 ( m行目か ら n 行分) を実行する。 これによ り、 ロボッ トが m行目 から n 行分を変換された教示プログラムに基づいて動作 する。
[ステ ッ プ Y 7 ] ステッ プ Y 5、 Υ 6 のフ ローと併行 して次の η 行分を変換するために、 行指定指標 mを m = m + n にアッ プとする。
以上の処理サイ クルを原教示プログラムの全行につい て実行する こ とで、 原教示プログラムの変換処理と再生 運転が併行的に実行されるこ とになる。
(図 1 0のフ ローチャー ト)
[ステッ プ Z 1 ] 原教示プログラムを変換処理を実行 する機器に必要に応じて転送する。 例えば、 パーソナル コ ンピュータ上で原教示プログラムの変換処理を実行す る場合には、 ロボッ ト制御装置あるいはオフライ ンプロ グラ ミ ング装置の上で作成した原教示プログラムのパー ソナルコンピュータ に転送する。 パーソナルコ ンピュー タ をオフライ ンプログラ ミ ング装置と して用いてパーソ ナルコ ンピュータ上で原教示プログラムが作成されても 良い。 その場合には転送は不要である。
[ステッ プ Z 2 ] ロボッ ト制御装置 ( N C制御装置) 上に原教示プログラムが用意されている場合には、 その ロボッ 卜制御装置 ( N C制御装置) 上で変換処理を実行 する こ とが出来る。
[ステッ プ Z 3 ] パーソナルコ ンピュータ上で原教示 プログラムの変換処理を実行する。
[ステッ プ Z 4 ] 変換処理されたの教示プログラムの データ を口ポッ ト制御装置 ( N C制御装置) に転送する <
[ステッ プ Z 5 ] 以上の手順を実行する こ とで、 原教 示プログラムの変換処理が再生運転に先行して実行され る こ と になる n

Claims

請 求 の 範 囲
1 . ソフ トウェア処理能力を有する変換処理装置を用い たソフ 卜ウェア処理によってロボッ 卜の教示プログラ ムを変換する方法において、
前記教示プログラムは、 円弧の経路移動の動作命令 を含むものであり、 また、
前記ソ フ トゥ: Lァ処理は、 前記円弧の経路移動につ いて、 円弧の半径に応じて予め定められた値に教示速 度を設定する処理を含んでいる、 前記方法。
2 . 前記ソフ トウェア処理は、 前記原教示プログラムが 連続する二つ以上の円弧を滑らかな動作で接続する経 路移動の動作命令を含む場合に、 それら円弧の各々に ついての前記定められ速度に代えて、 それら円弧の前 記速度の中で最小のものをそれら円弧に共通の教示速 度値と して設定する処理を含んでいる、 請求の範囲第
1 項に記載のロボッ 卜の教示プログラムを変換する方 法。
3 . ソフ トウェア処理能力を有する変換処理装置を用い たソフ 卜ウェア処理によってロボッ 卜の教示プログラ 厶を変換する方法において、
前記教示プログラムは、 直線の経路移動と円弧の経 路移動を滑らかに繋ぐ動作命令を含むものであり、 前記ソフ トウェア処理は、 前記円弧の経路移動につ いて、 円弧の半径に応 じて予め定められた速度に教示 速度を設定する処理と、 前記直線の経路移動から円弧の経路移動へ移行する ための加減速動作が円弧移動の開始時点に合わせて完 了されるよ うにする処理を含んでいる、 前記方法。
前記ソフ トウェア処理は、 前記原教示プログラムが 連続する二つ以上の円弧を滑らかな動作で接続する経 路移動の動作命令を含む場合に、 それら円弧の各々に ついて前記定められた速度に代えて、 それら円弧の前 記速度の中で最小のものをそれら円弧に共通の教示速 度と して設定する処理を含んでいる、 請求の範囲第 3 項に記載のロボッ 卜の教示プログラムを変換する方法 <. 前記直線の経路移動から円弧の経路移動へ移行する ための加減速動作が円弧移動の開始時点に合わせて完 了されるようにする処理は、 前記直線の経路内に追加 教示点を追加設定する処理を含んでいる、 請求の範囲 第 3項または第 4項に記載のロボッ 卜の教示プログラ ムを変換する方法。
PCT/JP1998/003018 1997-07-03 1998-07-03 Method of conversion of robot teaching program Ceased WO1999001805A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP98929835A EP0930554A1 (en) 1997-07-03 1998-07-03 Method of conversion of robot teaching program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP9192045A JPH1124720A (ja) 1997-07-03 1997-07-03 ロボットの教示プログラムの変換方法
JP9/192045 1997-07-03

Publications (1)

Publication Number Publication Date
WO1999001805A1 true WO1999001805A1 (en) 1999-01-14

Family

ID=16284704

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1998/003018 Ceased WO1999001805A1 (en) 1997-07-03 1998-07-03 Method of conversion of robot teaching program

Country Status (3)

Country Link
EP (1) EP0930554A1 (ja)
JP (1) JPH1124720A (ja)
WO (1) WO1999001805A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114310921A (zh) * 2022-03-16 2022-04-12 珞石(北京)科技有限公司 一种最小曲率的直线过渡路径生成方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3951049B2 (ja) * 2002-07-26 2007-08-01 オークマ株式会社 加工時間見積もり方法および装置
CN101551654B (zh) * 2009-04-29 2011-01-26 深圳市众为兴数控技术有限公司 一种基于表格编程的开放式机器人控制方法及其系统
JP6360301B2 (ja) * 2013-12-25 2018-07-18 川崎重工業株式会社 動作プログラム作成方法およびロボットの制御方法
CN107249805B (zh) * 2015-02-25 2019-07-26 本田技研工业株式会社 打点位置修正方法及装置
CN106078753A (zh) * 2016-06-30 2016-11-09 珠海格力智能装备有限公司 一种机器人示教器、及机器人示教器的信息处理方法
CN106737857B (zh) * 2016-11-22 2020-02-04 云南电网有限责任公司电力科学研究院 一种机械臂末端的抑振方法
JP6661676B2 (ja) * 2018-01-18 2020-03-11 ファナック株式会社 ロボット制御装置
JP7327550B1 (ja) * 2022-03-08 2023-08-16 株式会社安川電機 ロボットコントローラ、及び制御方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02195409A (ja) * 1989-01-25 1990-08-02 Fanuc Ltd 数値制御装置の送り速度制御方法
JPH02219107A (ja) * 1989-02-20 1990-08-31 Mitsubishi Electric Corp 数値制御装置
JPH0488510A (ja) * 1990-07-31 1992-03-23 Mitsubishi Electric Corp 軌跡制御装置
JPH07210225A (ja) * 1994-01-25 1995-08-11 Okuma Mach Works Ltd 数値制御装置
JPH08339222A (ja) * 1995-06-14 1996-12-24 Matsushita Electric Ind Co Ltd ロボットの軌道の生成装置
JPH0944225A (ja) * 1995-07-28 1997-02-14 Fanuc Ltd ロボットの制御方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02195409A (ja) * 1989-01-25 1990-08-02 Fanuc Ltd 数値制御装置の送り速度制御方法
JPH02219107A (ja) * 1989-02-20 1990-08-31 Mitsubishi Electric Corp 数値制御装置
JPH0488510A (ja) * 1990-07-31 1992-03-23 Mitsubishi Electric Corp 軌跡制御装置
JPH07210225A (ja) * 1994-01-25 1995-08-11 Okuma Mach Works Ltd 数値制御装置
JPH08339222A (ja) * 1995-06-14 1996-12-24 Matsushita Electric Ind Co Ltd ロボットの軌道の生成装置
JPH0944225A (ja) * 1995-07-28 1997-02-14 Fanuc Ltd ロボットの制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114310921A (zh) * 2022-03-16 2022-04-12 珞石(北京)科技有限公司 一种最小曲率的直线过渡路径生成方法
CN114310921B (zh) * 2022-03-16 2022-06-10 珞石(北京)科技有限公司 一种最小曲率的直线过渡路径生成方法

Also Published As

Publication number Publication date
JPH1124720A (ja) 1999-01-29
EP0930554A1 (en) 1999-07-21

Similar Documents

Publication Publication Date Title
US11000949B2 (en) Robot for controlling learning in view of operation in production line, and method of controlling the same
JP6585666B2 (ja) 速度一定が要求されるアプリケーションにおいて学習制御を行うロボット及びその制御方法
JPH11175130A (ja) ロボットの制御装置
JP3537229B2 (ja) ロボットの制御方法
WO1999001805A1 (en) Method of conversion of robot teaching program
JP2005052913A (ja) ロボット制御装置
JP2004237364A (ja) ロボットのティーチングデータの作成方法
JP2003330517A (ja) 数値制御装置、工具制御方法および工具制御用プログラム
JPH09305213A (ja) ロボット制御装置
JP3682562B2 (ja) 出力制御可能型言語生成方法及び装置
JP2002082705A (ja) ロボット制御装置
JPH07256578A (ja) ハンドリングロボットのオフラインプログラムシステム
JPH03242703A (ja) モータ制御でのフィードフォアードゲインの学習方法
JPS58182708A (ja) ロボツトの経路変更方式
WO2023119348A1 (ja) プログラム教示支援装置
JP2003058217A (ja) ロボットコントローラおよびロボットの制御方法
JP2005234862A (ja) モーションコントローラ装置
JPH0736532A (ja) 産業用ロボットの教示データ作成法
JPS6121506A (ja) 作業機械の制御装置
JPH01295778A (ja) ロボットシステム
JPH1063329A (ja) 加減速制御方法
JP2912056B2 (ja) 溶接トーチのウィービング制御方法
JPS63180485A (ja) 組立ロボツトの制御方法
JPH1133953A (ja) ロボット制御装置
JPH04300183A (ja) ロボットの制御方法

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

WWE Wipo information: entry into national phase

Ref document number: 1998929835

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 09254287

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 1998929835

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1998929835

Country of ref document: EP