WO2021177313A1 - ロボットプログラミング装置及びロボットプログラミング方法 - Google Patents

ロボットプログラミング装置及びロボットプログラミング方法 Download PDF

Info

Publication number
WO2021177313A1
WO2021177313A1 PCT/JP2021/007978 JP2021007978W WO2021177313A1 WO 2021177313 A1 WO2021177313 A1 WO 2021177313A1 JP 2021007978 W JP2021007978 W JP 2021007978W WO 2021177313 A1 WO2021177313 A1 WO 2021177313A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
model
robot model
axis
predetermined
Prior art date
Application number
PCT/JP2021/007978
Other languages
English (en)
French (fr)
Inventor
寛之 米山
Original Assignee
ファナック株式会社
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 ファナック株式会社 filed Critical ファナック株式会社
Priority to DE112021001427.7T priority Critical patent/DE112021001427T5/de
Priority to JP2022504407A priority patent/JP7469457B2/ja
Priority to CN202180018888.XA priority patent/CN115244480A/zh
Priority to US17/789,515 priority patent/US20230046827A1/en
Publication of WO2021177313A1 publication Critical patent/WO2021177313A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1658Programme controls characterised by programming, planning systems for manipulators characterised by programming language
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • 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
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40392Programming, visual robot programming language

Definitions

  • the present invention relates to a robot programming device and a robot programming method.
  • a robot model equipped with a tool model, a work model, and a peripheral device model are arranged in a virtual space that three-dimensionally represents a work space and displayed on a display screen to teach a robot program.
  • a robot programming device, the robot model moving unit that moves a predetermined movable part of the robot model from a first position to a second position according to the teaching contents, and the predetermined movable part of the robot model.
  • Arm reversal detection that detects whether or not any of the axes constituting the robot model rotates 180 ° ⁇ the first predetermined value from the reference rotation angle when moved to the position 2.
  • a robot model equipped with a tool model, a work model, and a peripheral device model are arranged in a virtual space that three-dimensionally expresses a work space and displayed on a display screen to teach a robot program.
  • a predetermined movable part of the robot model is moved from a first position to a second position according to the teaching contents, and the predetermined movable part of the robot model is moved to the second position. It is detected whether or not any of the axes constituting the robot model is rotated by 180 ° ⁇ the first predetermined value from the reference rotation angle when the robot is moved, and the robot model is configured.
  • the posture of the robot model when the predetermined movable part is in the second position is corrected so that the axis does not become the predetermined state.
  • a robot model equipped with a tool model, a work model, and a peripheral device model are arranged in a virtual space representing a work space in three dimensions and displayed on a display screen to teach a robot program.
  • This is a robot programming method in which the robot model is simulated according to an operation program, and during the simulation operation, any axis constituting the robot model is 180 ° ⁇ first predetermined from a reference rotation angle.
  • a first warning is displayed, and the rotation angle of any of the axes constituting the robot model during the simulation operation is the predetermined operating range of the axis.
  • a second warning is displayed, and during the simulation operation, before the robot model moves on any axis constituting the robot model.
  • a third warning is displayed when it is detected that the amount of rotation based on the rotation position in the posture of the robot exceeds the preset rotation angle set for the axis, and the tool model is displayed during the simulation operation.
  • This is a robot programming method for displaying a fourth warning when it is detected that an interference has occurred between the robot model, the work model, and the peripheral device model.
  • FIG. 1 is a functional block of the robot programming device 10 according to the embodiment.
  • the robot programming device 10 is a programming device that teaches a robot (robot program) offline while simulating a 3D model of a robot, a work, or the like.
  • the robot programming device 10 includes a virtual space creation unit 11, a model arrangement unit 12, a movement position designation unit 13, a robot model movement unit 14, an arm reversal detection unit 21, and an arm reversal warning.
  • Unit 22, arm reversal correction unit 23 operation range limit detection unit 31, operation range limit warning unit 32, operation range limit correction unit 33, over-rotation detection unit 41, over-rotation warning unit 42, and rotation.
  • the robot programming device 10 may have a configuration as a general computer having a CPU, ROM, RAM, a storage device, an operation unit (keyboard, mouse), a display unit, an input / output interface, a network interface, and the like.
  • the functional block configuration shown in FIG. 1 may be realized by the CPU of the robot programming device 10 executing various software stored in the storage device, or hardware such as an ASIC (Application Specific Integrated IC). It may be realized by a configuration mainly composed of.
  • the virtual space creation unit 11 creates a virtual space that three-dimensionally expresses the work space.
  • the model arranging unit 12 arranges the robot model 101, the work model W, and the peripheral device models (103, 104) equipped with the tool model 102 in the virtual space and simultaneously displays them on the display screen 61 of the display device 60.
  • a robot model 101, a work model W, and a storage shelf for the work W, in which the tool model 102 is virtually mounted by the model arrangement unit 12 are mounted on the virtual space (display screen) created by the virtual space creation unit 11. It shows a state in which the mobile table model 103 and the machine tool model 104 are arranged.
  • the robot model 101 is a 6-axis vertical articulated robot, but other types of robot models may be used.
  • the configuration of the robot model 101 will be described with reference to FIG. 4A.
  • the robot model 101 has six axes, J1 axis, J2 axis, J3 axis, J4 axis, J5 axis, and J6 axis, in order from the base side.
  • the J1 axis rotates the first link 121 around an axis perpendicular to the installation surface.
  • the J2 axis rotates the second link 122.
  • the J3 axis rotates the third link 123.
  • the J4 axis rotates the fourth link 124.
  • the J5 axis rotates the fifth link 125.
  • the J6 axis rotates the tip of the wrist.
  • a tool model 102 is mounted on the tip of the wrist of the robot model 101.
  • the tool model 102 is a hand device having two chucks in this embodiment, but other types of tool models may be used.
  • the coordinate axes of the tool coordinate system 211 may be displayed at the tool tip position P 0.
  • the movement position designation unit 13 accepts the designation of the movement destination of a predetermined movable part (referred to as the tool tip position in this embodiment) of the robot model 101 in the virtual space.
  • the robot model moving unit 14 moves the tool tip of the robot model 101 from the pre-movement position (first position) to the moving destination position (second position) according to the teaching contents.
  • the teaching content includes a teaching position designated by the operator via the moving position designation unit 13, and also includes an operation program prepared in advance. That is, the robot model moving unit 14 has a function of moving the robot model 101 or the like to a teaching position designated by the operator via the moving position designating unit 13, and is prepared in advance and stored in the robot programming device 10. It has a function of simulating a robot model 101 or the like according to an operation program.
  • the arm reversal detection unit 21 rotates 180 ° ⁇ first predetermined value from a reference rotation angle on any axis constituting the robot model 101 when the tool tip portion of the robot model 101 is moved to the movement destination position. Detects whether or not a predetermined state (hereinafter referred to as an inverted state) is occurring.
  • the first predetermined value is assumed to be 10 °, 20 °, 30 °, etc., but may be set in advance in the robot programming device 10, or the operator may set the robot programming device 10 (arm reversal detection unit). It may be configured so that settings can be input for 21).
  • the arm reversal warning unit 22 displays a warning on the display screen 61 when the arm reversal detection unit 21 detects a reversal state on any of the axes constituting the robot model 101.
  • the arm reversing correction unit 23 is a robot model when the tool tip is in the moving destination position so that the reversing state is not detected in any of the axes constituting the robot model 101. Correct the posture of 101.
  • the rotation angle of any of the axes constituting the robot model 101 is from the upper limit or the lower limit of the predetermined operation range of the axis. Detects whether or not it is within the second predetermined value.
  • the second predetermined value is a threshold value for determining that the operating range is approaching the upper limit or the lower limit. For example, 5 °, 10 °, and 15 ° are assumed, but the robot programming device 10 is in advance. It may be set, or the operator may be able to input the setting to the robot programming device 10 (operating range limitation detection unit 31).
  • the operation range limitation warning unit 32 displays when it is detected that the rotation angle of any of the axes constituting the robot model 101 is within the second predetermined value from the upper limit or the lower limit of the predetermined operation range of the axis. A warning is displayed on the screen 61.
  • the operation range limitation correction unit 33 corresponds to the operation range limitation correction unit 33. The posture of the robot model 101 is corrected so that the rotation angle of the shaft does not fall within the second predetermined value from the upper limit or the lower limit of the predetermined operating range.
  • the rotation excess detection unit 41 rotates with reference to the rotation position in the posture before the movement of the robot model 101 of any axis constituting the robot model 101. Detects whether or not the amount exceeds the set rotation angle preset for the axis. It is assumed that the operator can set and input the set rotation angle for each axis to the robot programming device 10. For example, if the operator does not want the robot to move too much, the set rotation angle can be set to a relatively small value.
  • the amount of rotation based on the rotation position of the robot model 101 in the posture before movement of any of the axes constituting the robot model 101 exceeds the set rotation angle preset for the axis.
  • a warning is displayed on the display screen 61.
  • the rotation overcorrection unit 43 the amount of rotation based on the rotation position of the robot model 101 in the posture before movement of any of the axes constituting the robot model 101 exceeds the set rotation angle preset for the axis.
  • the posture of the robot model 101 is corrected so that the rotation angle of the axis does not exceed the set rotation angle.
  • the interference detection unit 51 is between the robot model 101 equipped with the tool model 102, the work model W, and the peripheral device models (103, 104). Detects whether or not interference occurs.
  • the interference warning unit 52 displays a warning on the display screen 61 when it is detected that interference occurs.
  • the interference avoidance unit 53 corrects the posture of the robot model 101 so that interference does not occur.
  • FIG. 2 is a flowchart showing an offline teaching process (robot programming method) executed under the control of the CPU of the robot programming device 10.
  • the virtual space creation unit 11 first creates a virtual space that three-dimensionally represents the work space (step S1).
  • the model arranging unit 12 arranges the robot model 101, the work model W, and the peripheral device model on which the tool model 102 is mounted in the virtual space (step S2).
  • the robot model 101, the work model W, the moving table model 103, and the machine tool model 104 equipped with the tool model 102 are simultaneously displayed in the virtual space.
  • the operation of designating the moving destination position of the tool tip of the robot model 101 is received via the moving position designating unit 13 (step S3).
  • the first example of the operation of designating the movement destination of the robot model 101 is a drag operation by a mouse.
  • the operator aligns the mouse cursor 201 with the tip of the tool of the robot model 101 and presses the mouse button.
  • the operator moves the mouse cursor 201 to a desired destination position while dragging the mouse.
  • the operator moves the tip of the tool of the robot model 101 to the vicinity of the work storage shelf.
  • the robot model moving unit 14 moves the robot model 101 so as to follow the movement of the mouse cursor 201 by performing an inverse kinematics calculation based on the tool tip position (step S4).
  • the second example of the operation of specifying the movement destination of the robot model 101 is an example of designating the movement destination of the tip of the tool by clicking the mouse.
  • the operator moves the mouse cursor 201 to a position where he / she wants to move the tip of the tool and clicks the mouse.
  • the robot model moving unit 14 calculates the inverse kinematics based on the moving destination position specified by clicking the mouse, and moves the tool tip portion of the robot model 101 to the moving destination position. (Step S5).
  • FIGS. 6A-6C an operation example of moving the robot model 101 by designating the work to be gripped will be described with reference to FIGS. 6A-6C.
  • the operator specifies the position P 1 of the work model W arranged inside the machine tool model 104 by, for example, a mouse click operation.
  • the robot model moving unit 14 moves the tool tip portion of the robot model 101 to the designated position P 1 (FIG. 6B).
  • the robot model moving portion 14 moves the tool tip of the robot model 101 to the specified position. Move (Fig. 6C).
  • the arm reversal detection unit 21 is an arm on which any axis constituting the robot model 101 becomes a reference. It is detected whether or not it is in the inverted state with respect to the rotation angle (step S5).
  • the reference rotation angle may be, for example, 0 °, a position before movement, or a set angle set by the user.
  • the tip of the tool of the robot model 101 is moved to a designated position, so that the J4 axis (fourth link 124) is inverted (rotated by 180 °) with respect to the reference posture at a rotation angle of 0 °. ) Represents the state.
  • the arm reversal warning unit 22 displays a warning message 301 indicating that the J4 axis is reversed on the display screen 61 (step S6).
  • the arm reversal warning unit 22 further displays a mark A so as to surround the reversing axis (link) so that the operator can quickly grasp the reversing axis (link). Is also good. If the inverted state is not detected (S5: NO), the process proceeds to step S8.
  • the arm reversal correction unit 23 When such a reversal is detected, the arm reversal correction unit 23, as shown in FIG. 7B, has a robot model 101 at the movement destination position of the arm tip portion so that J4, which is the axis on which the reversal is detected, does not reverse.
  • Correct the posture of step S7.
  • the correction of the posture at the moving destination position of the robot model 101 is (A1) Do not move the tool tip position as much as possible (a2) Basically, correct only the angle of the axis (a3) If the above (a1) and (a2) cannot be performed, move the tool tip by parallel movement or the like. Correct the posture, You may follow the rule of. Calculations according to these rules can be performed by appropriately applying kinematic or inverse kinematic calculations.
  • the robot model 101 can take the same posture even if it is rotated 180 °. Therefore, in the example of FIG. 7B, the J4 axis is corrected to a rotation angle of 0 ° while maintaining the position of the tool tip. ..
  • the arm reversal correction unit 23 may be configured to perform correction according to predetermined correction conditions so that the posture of the robot model 101 does not change significantly before and after the correction.
  • the correction angle range may be set from ⁇ 30 ° to + 30 ° for the J4 axis, ⁇ 30 ° to + 30 ° for the J5 axis, and ⁇ 360 ° to + 360 ° for the J6 axis. These correction conditions may be set and input to the robot programming device 10 (arm reversal correction unit 23) by the operator.
  • the robot may move unnaturally, the robot may accelerate rapidly, the cycle time may be affected, and the robot may be attached to the robot. It is possible to avoid a situation such as an increase in the load on the cable.
  • the operation range limitation detection unit 31 determines the rotation angle of any of the axes constituting the robot model 101. Detects whether or not the axis is near the limit of a predetermined operating range (step S8).
  • the operating range limitation detection unit 31 detects whether or not the angle of the axis is within the second predetermined value from the upper limit or the lower limit of the predetermined operating range, so that the axis is in the vicinity of the predetermined operating range. Detects whether or not.
  • FIG. 8A shows the posture of the robot model 101 at the moving destination, and a display box 402 showing the posture (angle of each axis) at the moving destination position of the robot model 101 is displayed on the screen of FIG. 8A.
  • the operating range limitation detection unit 31 determines that the J6 axis is near the limitation of the operating range (S8: YES), and a warning message indicating that. 302 is displayed on the display screen (step S9).
  • the movement range limitation correction unit 33 corrects the posture of the robot model 101 so that the angle of the axis detected to be near the movement range limitation does not become near the movement range limitation (step S10). ).
  • the modification in this case may also be performed according to the rules (a1) to (a3) above.
  • FIG. 8B shows that the position and posture of the robot model 101 do not change before and after the correction by setting the rotation angle of J6 to 0 ° from the posture in which J6 is rotated substantially once in FIG. 8A (display box 403).
  • the correction range of the axis may be set in the operation range limitation correction unit 33 so that the posture of the robot model 101 does not change significantly before and after the correction.
  • the correction angle range may be set from ⁇ 30 ° to + 30 ° for the J4 axis, ⁇ 30 ° to + 30 ° for the J5 axis, and ⁇ 360 ° to + 360 ° for the J6 axis. Since the position and posture of the robot model 101 may not change even if the J6 axis is rotated once, ⁇ 360 ° is allowed as the correction range.
  • These correction conditions may be set and input to the robot programming device 10 (operating range limitation correction unit 33) by the operator. If it is not detected in step S8 that the rotation angle of any of the axes constituting the robot model 101 is near the limit of the predetermined operating range of the axis (S8: NO), the process proceeds to step S11. ..
  • the rotation over-detection unit 41 moves the robot model 101 on any axis constituting the robot model 101 when the robot model 101 moves to a designated movement destination position via the movement position designation unit 13. It is detected whether or not the amount of rotation based on the rotation position in the previous posture exceeds the set rotation angle preset for the axis (step S11). That is, here, it is detected whether or not the rotation of the shaft is excessive.
  • FIG. 9A shows the posture in which the robot model 101 has moved to the destination, and in the upper right of the display screen, changes in the positions of each axis relative to the current posture of the robot model 101 before movement. The quantity is shown in the display box 404.
  • the set rotation angle is -30 ° to + 30 ° for the J4 axis, -30 ° to + 30 ° for the J5 axis, and -90 ° to + 90 ° for the J6 axis.
  • the excessive rotation detection unit 41 detects that the rotation of the J6 axis is excessive (S11: YES). ).
  • the excessive rotation warning unit 42 displays a warning message 303 indicating that the rotation of the J6 axis is excessive on the display screen 61 (step S12).
  • the rotation overcorrection unit 43 corrects the posture of the robot model 101 so that the relative rotation angle does not exceed the set rotation angle for the axis that exceeds the set rotation angle (step S13).
  • the axis correction range may be set in the over-rotation correction unit 43 so that the posture of the robot model 101 does not change significantly before and after the correction.
  • the correction angle range may be set from ⁇ 30 ° to + 30 ° for the J4 axis, ⁇ 30 ° to + 30 ° for the J5 axis, and ⁇ 90 ° to + 90 ° for the J6 axis.
  • the modification in this case may also be performed according to the rules (a1) to (a3) above.
  • These correction conditions may be set and input by the operator to the robot programming device 10 (excessive rotation correction unit 43). As shown in the display box 405 in FIG.
  • step S11 the rotation angle of J6 is corrected to the posture of 5.786 ° within the set rotation angle by correcting the angle of the J6 axis by ⁇ 90 °.
  • step S11 the amount of rotation based on the rotation position of the robot model 101 in the posture before movement of any of the axes constituting the robot model 101 exceeds the set rotation angle preset for the axis. If is not detected (S11: NO), the process proceeds to step S14.
  • the interference detection unit 51 includes the robot model 101 equipped with the tool model 102, the work model W, and the periphery. Detects whether or not interference occurs with the device model (103, 104) (step S14).
  • FIG. 10A shows the posture of the robot model 101 in a state of being moved to the destination.
  • the interference between the tool model 102 and the machine tool model 104 is detected at the position indicated by the circle B.
  • the interference warning unit 52 displays a warning message 304 indicating that the interference has occurred (step S15).
  • the interference warning unit 52 may further display the mark B at the position where the interference is occurring so that the operator can quickly grasp the position where the interference is occurring.
  • the interference avoidance unit 53 corrects the position of the robot model 101 so as to avoid the interference (step S16).
  • the position of the robot model 101 is corrected without changing the position of the tool tip by rotating the tool model 102 around the X axis of the tool coordinate system set at the tool tip from the state of FIG. 10A. It shows an operation example that avoids interference. If interference is not detected in step S14 (S14: NO), the teaching process ends.
  • the interference detection and correction includes the detection and correction of axis inversion (S5-S7) and the detection and correction of the vicinity of the shaft operation limit (S8-S10). ), Excessive rotation of the shaft may be detected and corrected (S11-S13).
  • the simulation execution unit 54 simulates the 3D model of the robot, work, etc. according to the operation program created in advance, and confirms the above-mentioned inversion state, operation range limitation, rotation beyond the set angle, and interference. Execute a simulation that displays a warning when it occurs. In these simulation operations, the simulation execution unit 54 performs the virtual space creation unit 11, the model arrangement unit 12, the arm inversion detection unit, the arm inversion warning unit 22, the operation range limitation detection unit 31, the operation range limitation warning unit 32, and the excessive rotation. This is performed in cooperation with the detection unit 41, the over-rotation warning unit 42, the interference detection unit 51, and the interference warning unit 52.
  • FIG. 11 is a flowchart of a simulation operation (robot programming method) executed by the simulation execution unit 54.
  • step 101 the robot model 101 is simulated according to the operation program.
  • step S102 it was detected that during the simulation operation, one of the axes constituting the robot model 101 was rotated by 180 ° ⁇ the first predetermined value from the reference rotation angle.
  • a warning to that effect is displayed on the display screen 61. That is, it is detected whether an inverted state occurs when moving from one teaching point specified in the operation program to the next teaching point.
  • step S103 when it is detected during the simulation operation that the rotation angle of any of the axes constituting the robot model 101 is within the second predetermined value from the upper limit or the lower limit of the predetermined operation range of the axis.
  • a warning to that effect (second warning) is displayed on the display screen 61. That is, it is detected that the axis is in the vicinity of the operation range when moving from one teaching point specified in the operation program to the next teaching point.
  • step S104 during the simulation operation, the amount of rotation based on the rotation position of the robot model 101 in the posture before movement of any of the axes constituting the robot model 101 is set in advance on the axis.
  • a warning to that effect (third warning) is displayed on the display screen 61. That is, it is detected that the amount of rotation of the shaft becomes excessive when moving from one teaching point specified in the operation program to the next teaching point.
  • step S104 when it is detected that interference has occurred between the robot model 101 equipped with the tool model 102, the work model W, and the peripheral device models (103, 104) during the simulation operation.
  • a warning to that effect (fourth warning) is displayed on the display screen.
  • the simulation execution unit 54 may record a history of warnings (history indicating what kind of warning occurred for which teaching point).
  • the operator can execute the operation program from the beginning to the end and grasp that the inverted state or the like has occurred. The operator can correct the teaching points according to the simulation result.
  • the robot programming device may be configured by the virtual space creation unit 11, the model arrangement unit 12, the movement position designation unit 13, the robot model movement unit 14, the arm inversion detection unit 21, and the arm inversion correction unit 23.
  • the robot programming device detects the inverted state of the axis, the robot programming device corrects the posture of the robot model so that the inverted state does not occur in the axis.
  • the teaching process illustrated in FIG. 2 does not necessarily include all the illustrated processing steps.
  • a teaching process (teaching process for the purpose of detecting an inverted state) including steps S1 to S5 and S7 can be realized.
  • the program that executes various processes such as teaching process and simulation operation in the above-described embodiment is a computer-readable recording medium (for example, a semiconductor memory such as ROM, EEPROM, flash memory, etc.). It can be recorded on a magnetic recording medium, an optical disk such as a CD-ROM or a DVD-ROM).
  • Robot programming device 11
  • Virtual space creation unit 12
  • Model placement unit 13
  • Movement position specification unit 14
  • Robot model movement unit 21
  • Arm reversal detection unit 22
  • Arm reversal warning unit 23
  • Arm reversal correction unit 31
  • Operation range limitation detection unit 32
  • Operation range limitation warning unit 33
  • Operating range limit correction unit 41
  • Over-rotation detection unit 42
  • Excessive rotation warning unit 43
  • Excessive rotation correction unit 51
  • Interference detection unit 52
  • Interference avoidance unit 54
  • Simulation execution unit 60
  • Display device 61
  • Display screen 101
  • Robot model 102
  • Tool model 103
  • Mobile platform model 104
  • Machine tool model 104

Abstract

ロボットの不自然な動きや急加速が生じることを回避することのできるロボットプログラミング装置を提供する。 教示内容にしたがってロボットモデルの所定の可動部位を第1の位置から第2の位置に移動させるロボットモデル移動部14と、ロボットモデルの所定の可動部位を第2の位置に移動させた場合にロボットモデルを構成するいずれかの軸が、基準となる回転角度から180°±第1所定値回転する所定状態が生じているか否かを検出するアーム反転検出部21と、ロボットモデルを構成するいずれかの軸に所定状態が検出された場合に、当該軸が所定状態とならないように、所定の可動部位が第2の位置にある場合におけるロボットモデルの姿勢を修正するアーム反転修正部23と、を具備するロボットプログラミング装置である。

Description

ロボットプログラミング装置及びロボットプログラミング方法
 本発明は、ロボットプログラミング装置及びロボットプログラミング方法に関する。
 産業用ロボットをはじめとする各種ロボットの教示を行う手法として、コンピュータ上でロボット、ワーク等の3Dモデルをシミュレーション動作させながら教示を行う、いわゆるオフラインプログラミングが知られている(例えば、特許文献1及び特許文献2参照)。
特開2009-166172号公報 特開平05-289730号公報
 オフラインプログラミングによる教示を行う場合、一般には各軸位置の確認までは行われないため、オフラインプログラミングにより得られた動作プログラムでロボットを実際に動作させた場合、ロボットの不自然な動きや急加速を招く場合がある。オフラインプログラミングによる教示においてこのような事態が生じないようにすることが望まれる。
 本開示の一態様は、作業空間を三次元的に表現した仮想空間に、ツールモデルを搭載したロボットモデル、ワークモデル、及び周辺機器モデルを配置して表示画面に表示しロボットプログラムの教示を行うロボットプログラミング装置であって、教示内容にしたがって前記ロボットモデルの所定の可動部位を第1の位置から第2の位置に移動させるロボットモデル移動部と、前記ロボットモデルの前記所定の可動部位を前記第2の位置に移動させた場合に前記ロボットモデルを構成するいずれかの軸が、基準となる回転角度から180°±第1所定値回転する所定状態が生じているか否かを検出するアーム反転検出部と、前記ロボットモデルを構成するいずれかの軸に前記所定状態が検出された場合に、当該軸が前記所定状態とならないように、前記所定の可動部位が前記第2の位置にある場合における前記ロボットモデルの姿勢を修正するアーム反転修正部と、を具備するロボットプログラミング装置である。
 本開示の別の態様は、作業空間を三次元的に表現した仮想空間に、ツールモデルを搭載したロボットモデル、ワークモデル、及び周辺機器モデルを配置して表示画面に表示しロボットプログラムの教示を行うロボットプログラミング方法であって、教示内容にしたがって前記ロボットモデルの所定の可動部位を第1の位置から第2の位置に移動させ、前記ロボットモデルの前記所定の可動部位を前記第2の位置に移動させた場合に前記ロボットモデルを構成するいずれかの軸が、基準となる回転角度から180°±第1所定値回転する所定状態が生じているか否かを検出し、前記ロボットモデルを構成するいずれかの軸に前記所定状態が検出された場合に、当該軸が前記所定状態とならないように、前記所定の可動部位が前記第2の位置にある場合における前記ロボットモデルの姿勢を修正する、ロボットプログラミング方法である。
 本開示の更に別の態様は、作業空間を三次元的に表現した仮想空間に、ツールモデルを搭載したロボットモデル、ワークモデル、及び周辺機器モデルを配置して表示画面に表示しロボットプログラムの教示を行うロボットプログラミング方法であって、動作プログラムに従って前記ロボットモデルをシミュレーション動作させ、前記シミュレーション動作中に、前記ロボットモデルを構成するいずれかの軸が、基準となる回転角度から180°±第1所定値回転する所定状態が生じていることが検出された場合に第1の警告を表示し、前記シミュレーション動作中に前記ロボットモデルを構成するいずれかの軸の回転角度が当該軸の所定の動作範囲の上限又は下限から第2所定値以内にあることが検出された場合に第2の警告を表示し、前記シミュレーション動作中に、前記ロボットモデルを構成するいずれかの軸の前記ロボットモデルの移動前の姿勢における回転位置を基準とする回転量が、当該軸に予め設定された設定回転角を超えたことが検出された場合に第3の警告を表示し、前記シミュレーション動作中に、前記ツールモデルを搭載した前記ロボットモデルと、前記ワークモデルと、前記周辺機器モデルとの間に干渉が生じたことが検出された場合に第4の警告を表示する、ロボットプログラミング方法である。
 上記構成によれば、ロボットの不自然な動作、ロボットの急加速、サイクルタイムへの影響が生じること、ロボットに取り付けられたケーブルへの負荷の増大といった事態が生じるのを回避することが可能となる。
 添付図面に示される本発明の典型的な実施形態の詳細な説明から、本発明のこれらの目的、特徴および利点ならびに他の目的、特徴および利点がさらに明確になるであろう。
一実施形態に係るロボットプログラミング装置の機能ブロックである。 オフライン教示処理を表すフローチャートである。 ロボットモデル、ワークモデル及び周辺機器モデルを仮想空間(表示画面)に配置して表示した状態を表す図である。 マウスのドラッグによるロボットの移動先の指定を表す図である。 マウスのドラッグによるロボットの移動先の指定を表す図である。 マウスのクリックによるロボットの移動先の指定を表す図である。 マウスのクリックによるロボットの移動先の指定を表す図である。 マウスのクリック(ワークの位置の指定)によるロボットの移動先の指定を表す図である。 マウスのクリック(ワークの位置の指定)によるロボットの移動先の指定を表す図である。 マウスのクリック(収納棚の位置の指定)によるロボットの移動先の指定を表す図である。 軸の反転状態の検出及び修正について説明するための図である。 軸の反転状態の検出及び修正について説明するための図である。 軸が動作範囲の制限の近傍にある状態の検出及び修正について説明するための図である。 軸が動作範囲の制限の近傍にある状態の検出及び修正について説明するための図である。 軸の回転過大状態の検出及び修正について説明するための図である。 軸の回転過大状態の検出及び修正について説明するための図である。 干渉状態の検出及び修正について説明するための図である。 干渉状態の検出及び修正について説明するための図である。 シミュレーション実行部によるシミュレーション動作のフローチャートである。
 次に、本開示の実施形態について図面を参照して説明する。参照する図面において、同様の構成部分または機能部分には同様の参照符号が付けられている。理解を容易にするために、これらの図面は縮尺を適宜変更している。また、図面に示される形態は本発明を実施するための一つの例であり、本発明は図示された形態に限定されるものではない。
 図1は一実施形態に係るロボットプログラミング装置10の機能ブロックである。ロボットプログラミング装置10は、ロボット、ワーク等の3Dモデルを模擬的に動作させながらロボット(ロボットプログラム)の教示をオフラインで行うプログラミング装置である。図1に示すように、ロボットプログラミング装置10は、仮想空間作成部11と、モデル配置部12と、移動位置指定部13と、ロボットモデル移動部14と、アーム反転検出部21と、アーム反転警告部22と、アーム反転修正部23と、動作範囲制限検出部31と、動作範囲制限警告部32と、動作範囲制限修正部33と、回転過大検出部41と、回転過大警告部42と、回転過大修正部43と、干渉検出部51と、干渉警告部52と、干渉回避部53と、シミュレーション実行部54と、表示装置60とを含む。ロボットプログラミング装置10は、CPU、ROM、RAM、記憶装置、操作部(キーボード、マウス)、表示部、入出力インタフェース、ネットワークインタフェース等を有する一般的なコンピュータとしての構成を有していても良い。図1に示した機能ブロック構成は、ロボットプログラミング装置10のCPUが、記憶装置に格納された各種ソフトウェアを実行することで実現されても良く、或いは、ASIC(Application Specific Integrated IC)等のハードウェアを主体とした構成により実現されても良い。
 仮想空間作成部11は、作業空間を三次元的に表現した仮想空間を作成する。モデル配置部12は、ツールモデル102を搭載したロボットモデル101、ワークモデルW、及び周辺機器モデル(103、104)を仮想空間に配置して同時に表示装置60の表示画面61上に表示する。図3は、仮想空間作成部11が作成した仮想空間(表示画面)に、モデル配置部12によりツールモデル102を仮想的に搭載したロボットモデル101、ワークモデルW、ワークWの収納棚を搭載した移動台モデル103、及び工作機械モデル104が配置された状態を示している。
 本実施形態においてロボットモデル101は6軸の垂直多関節ロボットであるものとするが、他のタイプのロボットモデルが用いられても良い。ロボットモデル101の構成について図4Aを参照して説明する。図4Aに示すように、ロボットモデル101は、基部側から順にJ1軸、J2軸、J3軸、J4軸、J5軸、J6軸の6つの軸を有する。J1軸は、第1リンク121を設置面に垂直な軸回りに回転させる。J2軸は、第2リンク122を回転させる。J3軸は、第3リンク123を回転させる。J4軸は、第4リンク124を回転させる。J5軸は、第5リンク125を回転させる。J6軸は、手首部先端を回転させる。ロボットモデル101の手首部先端にはツールモデル102が搭載されている。ツールモデル102は、本実施形態では2つのチャックを有するハンド装置であるが、他のタイプのツールモデルが用いられても良い。図4Aに示すように、ツール先端位置P0に、ツール座標系211の座標軸を表示するようにしても良い。
 移動位置指定部13は、仮想空間内でロボットモデル101の所定の可動部位(本実施形態ではツール先端位置とする)の移動先の指定を受け付ける。ロボットモデル移動部14は、教示内容にしたがってロボットモデル101のツール先端部を移動前位置(第1の位置)から移動先位置(第2の位置)に移動させる。ここで、教示内容とは、移動位置指定部13を介して操作者によって指定された教示位置を含む他、予め準備された動作プログラムを含む。すなわち、ロボットモデル移動部14は、移動位置指定部13を介して操作者により指定された教示位置にロボットモデル101等を移動させる機能を有すると共に、予め準備されてロボットプログラミング装置10内に記憶されている動作プログラムに従ってロボットモデル101等を模擬動作させる機能を有する。
 アーム反転検出部21は、ロボットモデル101のツール先端部を移動先位置に移動させた場合にロボットモデル101を構成するいずれかの軸に、基準となる回転角度から180°±第1所定値回転する所定状態(以下、反転状態と記載する)が生じているか否かを検出する。ここで第1所定値は、10°、20°、30°等が想定されるが、予めロボットプログラミング装置10に設定されていても良く、或いは、操作者がロボットプログラミング装置10(アーム反転検出部21)に対して設定入力できるように構成されていても良い。アーム反転警告部22は、アーム反転検出部21によりロボットモデル101を構成するいずれかの軸に反転状態が検出された場合に、表示画面61に警告を表示する。アーム反転修正部23は、ロボットモデル101を構成するいずれかの軸に反転状態が検出された場合に、当該軸が反転状態とならないように、ツール先端部が移動先位置にある場合におけるロボットモデル101の姿勢を修正する。
 動作範囲制限検出部31は、ロボットモデル101に移動先位置での姿勢をとらせた場合にロボットモデル101を構成するいずれかの軸の回転角度が当該軸の所定の動作範囲の上限又は下限から第2所定値以内にあるか否かを検出する。ここで、第2所定値とは動作範囲の上限又は下限に近付いていることを判定するための閾値であり、例えば5°、10°、15°が想定されるが、予めロボットプログラミング装置10に設定されていても良く、或いは、操作者がロボットプログラミング装置10(動作範囲制限検出部31)に対して設定入力可能であっても良い。
 動作範囲制限警告部32は、ロボットモデル101を構成するいずれかの軸の回転角度が当該軸の所定の動作範囲の上限又は下限から第2所定値以内にあることが検出された場合に、表示画面61に警告を表示する。動作範囲制限修正部33は、ロボットモデル101を構成するいずれかの軸の回転角度が当該軸の所定の動作範囲の上限又は下限から第2所定値以内にあることが検出された場合に、当該軸の回転角度が所定の動作範囲の上限又は下限から第2所定値以内とならないようにロボットモデル101の姿勢を修正する。
 回転過大検出部41は、ロボットモデル101に移動先位置における姿勢をとらせた場合に、ロボットモデル101を構成するいずれかの軸のロボットモデル101の移動前の姿勢における回転位置を基準とする回転量が、当該軸に予め設定された設定回転角を超えたか否かを検出する。この各軸毎の設定回転角は、操作者がロボットプログラミング装置10に設定入力可能であるものとする。例えば、操作者はロボットのあまり大きな動きを望まない場合は、設定回転角度を比較的小さな値に設定することができる。
 回転過大警告部42は、ロボットモデル101を構成するいずれかの軸のロボットモデル101の移動前の姿勢における回転位置を基準とする回転量が、当該軸に予め設定された設定回転角を超えたことが検出された場合に、表示画面61に警告を表示する。回転過大修正部43は、ロボットモデル101を構成するいずれかの軸のロボットモデル101の移動前の姿勢における回転位置を基準とする回転量が、当該軸に予め設定された設定回転角を超えたことが検出された場合に、当該軸の回転角度が設定回転角を超えないようにロボットモデル101の姿勢を修正する。
 干渉検出部51は、ロボットモデル101に移動先位置における姿勢をとらせた場合に、ツールモデル102を搭載したロボットモデル101と、ワークモデルWと、周辺機器モデル(103、104)との間に干渉が生じるか否かを検出する。干渉警告部52は、干渉が生じることが検出された場合に、表示画面61に警告を表示する。干渉回避部53は、干渉が生じることが検出された場合に、干渉が生じないようにロボットモデル101の姿勢を修正する。
 図2は、ロボットプログラミング装置10のCPUによる制御の下で実行されるオフライン教示処理(ロボットプログラミング方法)を表すフローチャートである。以下、図2のフローチャート及び図3以降のシミュレーション画面例を参照して教示処理について説明する。この教示処理が開始されると、はじめに仮想空間作成部11により、作業空間を三次元的に表現した仮想空間が作成される(ステップS1)。次に、モデル配置部12により仮想空間内にツールモデル102を搭載したロボットモデル101、ワークモデルW、及び周辺機器モデルが配置される(ステップS2)。ここでは、図3に例示するように、ツールモデル102を搭載したロボットモデル101、ワークモデルW、移動台モデル103、工作機械モデル104が仮想空間内に同時に表示される。
 次に、移動位置指定部13を介してロボットモデル101のツール先端部の移動先位置を指定する操作の受付が行われる(ステップS3)。ロボットモデル101のツール先端部の移動先を指定する操作を受け付ける例について説明する。ロボットモデル101の移動先を指定する操作の第1の例はマウスによるドラッグ動作である。この場合、図4Aに示すように、操作者は、マウスカーソル201をロボットモデル101のツール先端部に合わせてマウスのボタンを押す。そして、図4Bに示すように、操作者は、マウスをドラッグしながら、マウスカーソル201を所望の移動先位置に移動させる。図4Bの例では、操作者は、ロボットモデル101のツール先端部をワーク収納棚近辺に移動させている。マウスがドラッグされている間、ロボットモデル移動部14は、ツール先端位置に基づく逆運動学計算を行うことで、マウスカーソル201の移動に追従するようにロボットモデル101を移動させる(ステップS4)。
 ロボットモデル101の移動先を指定する操作の第2の例は、マウスのクリック操作でツール先端部の移動先を指定する例である。例えば、図5Aに示すように、操作者は、ツール先端部を移動させたい位置にマウスカーソル201を移動させてマウスをクリックする。この場合、ロボットモデル移動部14は、図5Bに示すように、マウスクリックにより指定された移動先位置に基づき逆運動学の計算を行い、移動先位置にロボットモデル101のツール先端部を移動させる(ステップS5)。
 次に、把持対象のワークを指定してロボットモデル101を移動させる動作例について図6A-図6Cを参照して説明する。図6Aに示すように、操作者は、工作機械モデル104の内部に配置されているワークモデルWの位置P1を例えばマウスクリック操作により指定する。それに応じてロボットモデル移動部14は、ロボットモデル101のツール先端部を、指定位置P1に移動させる(図6B)。或いは、操作者が、ロボットモデル101のツール先端部の移動先としてワークWの収納棚103Aの位置を指定した場合、ロボットモデル移動部14は、ロボットモデル101のツール先端部を指定された位置まで移動させる(図6C)。
 次に、アーム反転検出部21は、ロボットモデル101が、移動位置指定部13を介して指定された移動先位置に移動した場合に、ロボットモデル101を構成するいずれかの軸が基準となるアーム回転角度に対して反転状態となっているか否かを検出する(ステップS5)。ここで基準となる回転角度は、例えば0°、移動前の位置、或いは、ユーザが設定した設定角度としても良い。
 図7Aは、ロボットモデル101のツール先端部を指定位置に移動させたことによって、J4軸(第4リンク124)が基準となる回転角度0°の姿勢に対し反転している(180°回転している)状態を表している。この場合(S5:YES)、図7Aに示すように、アーム反転警告部22は、J4軸が反転していることを表す警告メッセージ301を表示画面61に表示する(ステップS6)。アーム反転警告部22は、更に、操作者が、反転状態となっている軸(リンク)を迅速に把握できるように、反転が生じている軸(リンク)を囲むようにマークAを表示しても良い。反転状態が検出されない場合(S5:NO)、処理はステップS8に進む。
 このような反転が検出されると、アーム反転修正部23は、図7Bに示すように、反転が検出された軸であるJ4が反転しないように、アーム先端部の移動先位置におけるロボットモデル101の姿勢を修正する(ステップS7)。ロボットモデル101の姿勢を修正する場合には、できるだけツール先端位置が変化しないように修正を行う。ここで、ロボットモデル101の移動先位置における姿勢の修正は、
(a1)可能な限りツール先端位置を動かさない
(a2)軸の角度のみの修正を基本とする
(a3)上記(a1)、(a2)ができない場合、ツール先端を並行移動等により移動させて姿勢の修正を行う、
とのルールにしたがって行っても良い。なお、これらルールに沿った計算は、運動学的或いは逆運動学的計算を適宜適用することで行うことができる。
 J4軸の場合180°回転させてもロボットモデル101が同等の姿勢をとることができるため、図7Bの例ではツール先端部の位置を維持しつつJ4軸を回転角度0°に修正している。なお、アーム反転修正部23は、修正前後でロボットモデル101の姿勢が大きく変化しないように、所定の修正条件に従って修正を行うように構成されていても良い。例えば、修正角度範囲を、J4軸は-30°から+30°、J5軸は-30°から+30°、J6軸は-360°から+360°に設定しても良い。これら修正条件は、操作者が、ロボットプログラミング装置10(アーム反転修正部23)に設定入力可能になっていても良い。
 このように軸(すなわち、アームを構成する各リンク)の反転が生じないようにすることで、ロボットの不自然な動作、ロボットの急加速、サイクルタイムへの影響が生じること、ロボットに取り付けられたケーブルへの負荷の増大といった事態が生じるのを回避することが可能となる。
 次に、動作範囲制限検出部31は、ロボットモデル101が移動位置指定部13を介して指定された移動先位置に移動した場合に、ロボットモデル101を構成するいずれかの軸の回転角度が当該軸の所定の動作範囲の制限の近傍にあるか否かを検出する(ステップS8)。ここでは、動作範囲制限検出部31は、軸の角度が所定の動作範囲の上限又は下限から第2所定値以内にあるか否かを検出することによって、軸が所定の動作範囲の近傍にあるか否かを検出する。
 例えば、J6軸の動作範囲が-360°から+360°であり、第2所定値が10°であるとする。図8Aは、ロボットモデル101の移動先における姿勢を表しており、また、図8Aの画面中にはロボットモデル101の移動先位置における姿勢(各軸の角度)を表す表示ボックス402が表示されている。この姿勢においてJ6の回転角度は355°となっているため、動作範囲制限検出部31は、J6軸が動作範囲の制限の近傍にあると判断し(S8:YES)、そのことを示す警告メッセージ302を表示画面に表示する(ステップS9)。
 次に、動作範囲制限修正部33は、動作範囲の制限の近傍にあると検出された軸の角度が、動作範囲の制限の近傍とならないように、ロボットモデル101の姿勢を修正する(ステップS10)。この場合の修正も上記(a1)から(a3)のルールにしたがって行っても良い。図8Bは、図8AにおいてJ6がほぼ1回転している姿勢から、J6の回転角度を0°として修正前後でロボットモデル101の位置及び姿勢が変化しないようにしている(表示ボックス403)。修正条件として、修正前後でロボットモデル101の姿勢が大きく変化しないように、動作範囲制限修正部33において、軸の修正範囲が設定されていても良い。例えば、修正角度範囲を、J4軸は-30°から+30°、J5軸は-30°から+30°、J6軸は-360°から+360°に設定しても良い。J6軸は1回転させてもロボットモデル101の位置及び姿勢が変化しない場合があるため、修正範囲として±360°を許容している。これら修正条件は、操作者が、ロボットプログラミング装置10(動作範囲制限修正部33)に設定入力可能になっていても良い。なお、ステップS8において、ロボットモデル101を構成するいずれかの軸の回転角度が当該軸の所定の動作範囲の制限の近傍にあることが検出されない場合(S8:NO)、処理はステップS11に進む。
 このように軸が動作範囲の制限の近傍とならないようにすることで、ロボットの不自然な動作、ロボットの急加速等を回避することが可能となる。
 次に、回転過大検出部41は、ロボットモデル101が移動位置指定部13を介して指定された移動先位置に移動した場合に、ロボットモデル101を構成するいずれかの軸のロボットモデル101の移動前の姿勢における回転位置を基準とする回転量が、当該軸に予め設定された設定回転角を超えたか否かを検出する(ステップS11)。すなわち、ここでは、軸の回転が過大になっているか否かを検出している。図9Aには、ロボットモデル101が移動先に移動した状態の姿勢が表されると共に、表示画面右上には、ロボットモデル101の現在の姿勢に対する移動前の姿勢から相対的な各軸位置の変化量が表示ボックス404内に示されている。
 ここでは、一例として、設定回転角は、J4軸が-30°から+30°、J5軸が-30°から+30°、J6軸が-90°から+90°であるとする。この場合、J6軸の相対回転角度(95.786°)が設定回転角度を超えているため、回転過大検出部41は、J6軸の回転が過大になっていることを検出する(S11:YES)。そして、回転過大警告部42は、J6軸の回転が過大になっている旨の警告メッセージ303を表示画面61に表示する(ステップS12)。次に、回転過大修正部43は、相対的な回転角度が設定回転角度を超えた軸について、設定回転角度を超えないようにロボットモデル101の姿勢を修正する(ステップS13)。
 修正前後でロボットモデル101の姿勢が大きく変化しないように、回転過大修正部43において、軸の修正範囲が設定されていても良い。例えば、修正角度範囲を、J4軸は-30°から+30°、J5軸は-30°から+30°、J6軸は-90°から+90°に設定しても良い。この場合の修正も上記(a1)から(a3)のルールにしたがって行っても良い。これら修正条件は、操作者が、ロボットプログラミング装置10(回転過大修正部43)に設定入力可能になっていても良い。図9Bにおいて表示ボックス405に示されるように、ここでは、J6軸の角度を-90°修正することでJ6の回転角度が設定回転角度内の5.786°の姿勢に修正されている。なお、ステップS11において、ロボットモデル101を構成するいずれかの軸のロボットモデル101の移動前の姿勢における回転位置を基準とする回転量が、当該軸に予め設定された設定回転角を超えたことが検出されない場合(S11:NO)、処理はステップS14に進む。
 このように前の姿勢からの軸の回転が過大になることを回避することで、ロボットの不自然な動作、ロボットの急加速、サイクルタイムへの影響が生じること、ロボットに取り付けられたケーブルへの負荷の増大といった事態を回避することが可能となる。
 次に、干渉検出部51は、ロボットモデル101が移動位置指定部13を介して指定された移動先位置に移動した場合に、ツールモデル102を搭載したロボットモデル101と、ワークモデルWと、周辺機器モデル(103、104)との間に干渉が生じるか否かを検出する(ステップS14)。図10Aは、ロボットモデル101が移動先に移動した状態の姿勢が示されている。ここでは、円Bで示した位置にツールモデル102と工作機械モデル104との干渉が検出されている。このように干渉が検出された場合(S14:YES)、干渉警告部52は、干渉が生じたことを示す警告メッセージ304を表示する(ステップS15)。干渉警告部52は、更に、操作者が干渉が生じている位置を迅速に把握できるように、干渉が生じている位置にマークBを表示しても良い。
 このように干渉が検出された場合、干渉回避部53は、干渉を回避するようにロボットモデル101の位置を修正する(ステップS16)。図10Bは、図10Aの状態からツール先端に設定されたツール座標系のX軸回りにツールモデル102を回転させることで、ツール先端の位置を変化させることなくロボットモデル101の位置を修正して干渉を回避した動作例を表している。なお、ステップS14において干渉が検出されない場合(S14:NO)、本教示処理を終了する。
 このようにツールモデル102を搭載したロボットモデル101、ワークモデルW、及び周辺機器モデル(103、104)間に干渉が生じることを回避することが可能となる。なお、図2のフローに示されるように、干渉の検出及び修正(S14-S16)は、軸の反転の検出及び修正(S5-S7)、軸の動作制限近傍の検出及び修正(S8-S10)、軸の回転過大の検出及び修正(S11-S13)が行われた状態で行うようにしても良い。
 次に、シミュレーション実行部54による動作について説明する。シミュレーション実行部54は、予め作成された動作プログラムに従ってロボット、ワーク等の3Dモデルを模擬動作させながら上述した反転状態、動作範囲の制限、設定角度以上の回転、干渉を確認しながらこれらの状態が生じた場合に警告を表示させるシミュレーションを実行する。これらのシミュレーション動作は、シミュレーション実行部54が、仮想空間作成部11、モデル配置部12、アーム反転検出部、アーム反転警告部22、動作範囲制限検出部31、動作範囲制限警告部32、回転過大検出部41、回転過大警告部42、干渉検出部51、及び干渉警告部52と連携して行う。図11は、シミュレーション実行部54により実行されるシミュレーション動作(ロボットプログラミング方法)のフローチャートである。
 はじめに、ステップ101では、動作プログラムに従ってロボットモデル101をシミュレーション動作させる。次に、ステップS102では、シミュレーション動作中に、ロボットモデル101を構成するいずれかの軸が、基準となる回転角度から180°±第1所定値回転する反転状態が生じていることが検出された場合にその旨の警告(第1の警告)を表示画面61に表示する。すなわち、動作プログラムで指定されている1つの教示点から次の教示点に移動する際に反転状態が生じるかを検出している。
 次に、ステップS103では、シミュレーション動作中にロボットモデル101を構成するいずれかの軸の回転角度が当該軸の所定の動作範囲の上限又は下限から第2所定値以内にあることが検出された場合にその旨の警告(第2の警告)を表示画面61に表示する。すなわち、動作プログラムで指定されている1つの教示点から次の教示点に移動する際に軸が動作範囲の近傍にあることを検出している。次に、ステップS104では、シミュレーション動作中に、ロボットモデル101を構成するいずれかの軸のロボットモデル101の移動前の姿勢における回転位置を基準とする回転量が、当該軸に予め設定された設定回転角を超えたことが検出された場合にその旨の警告(第3の警告)を表示画面61に表示する。すなわち、動作プログラムで指定されている1つの教示点から次の教示点に移動する際に軸の回転量が過大になったことを検出している。
 次にステップS104では、シミュレーション動作中に、ツールモデル102を搭載したロボットモデル101と、ワークモデルWと、周辺機器モデル(103、104)との間に干渉が生じたことが検出された場合にその旨の警告(第4の警告)を表示画面に表示する。
 図11に示すシミュレーション動作を実行する過程で、シミュレーション実行部54は、警告の履歴(どのような警告がどの教示点に対して生じたかを示す履歴)を記録するようにしても良い。図11に示すシミュレーション動作を実行することで、操作者は、動作プログラムを最初から最後まで通して実行させ、反転状態等が生じていることを把握することができる。操作者は、シミュレーション結果に応じて教示点の修正を行うことができる。
 以上、典型的な実施形態を用いて本発明を説明したが、当業者であれば、本発明の範囲から逸脱することなしに、上述の各実施形態に変更及び種々の他の変更、省略、追加を行うことができるのを理解できるであろう。
 図1に示したロボットプログラミング装置の機能ブロックの全てが必ずしも備えられていなくても良い。例えば、仮想空間作成部11、モデル配置部12、移動位置指定部13、ロボットモデル移動部14、アーム反転検出部21、及びアーム反転修正部23によりロボットプログラミング装置を構成しても良い。この場合、ロボットプログラミング装置は、軸の反転状態を検出した場合に、当該軸に反転状態が生じないようにロボットモデルの姿勢の修正を行う。
 図2に例示した教示処理では、必ずしも図示したすべての処理ステップが含まれていなくても良い。例えば、ステップS1からS5、及びS7を含む教示処理(反転状態の検出を目的とする教示処理)を実現することもできる。
 上述した実施形態における教示処理、シミュレーション動作等の各種の処理(図2、図11)を実行するプログラムは、コンピュータに読み取り可能な各種記録媒体(例えば、ROM、EEPROM、フラッシュメモリ等の半導体メモリ、磁気記録媒体、CD-ROM、DVD-ROM等の光ディスク)に記録することができる。
 10  ロボットプログラミング装置
 11  仮想空間作成部
 12  モデル配置部
 13  移動位置指定部
 14  ロボットモデル移動部
 21  アーム反転検出部
 22  アーム反転警告部
 23  アーム反転修正部
 31  動作範囲制限検出部
 32  動作範囲制限警告部
 33  動作範囲制限修正部
 41  回転過大検出部
 42  回転過大警告部
 43  回転過大修正部
 51  干渉検出部
 52  干渉警告部
 53  干渉回避部
 54  シミュレーション実行部
 60  表示装置
 61  表示画面
 101  ロボットモデル
 102  ツールモデル
 103  移動台モデル
 104  工作機械モデル

Claims (11)

  1.  作業空間を三次元的に表現した仮想空間に、ツールモデルを搭載したロボットモデル、ワークモデル、及び周辺機器モデルを配置して表示画面に表示しロボットプログラムの教示を行うロボットプログラミング装置であって、
     教示内容にしたがって前記ロボットモデルの所定の可動部位を第1の位置から第2の位置に移動させるロボットモデル移動部と、
     前記ロボットモデルの前記所定の可動部位を前記第2の位置に移動させた場合に前記ロボットモデルを構成するいずれかの軸が、基準となる回転角度から180°±第1所定値回転する所定状態が生じているか否かを検出するアーム反転検出部と、
     前記ロボットモデルを構成するいずれかの軸に前記所定状態が検出された場合に、当該軸が前記所定状態とならないように、前記所定の可動部位が前記第2の位置にある場合における前記ロボットモデルの姿勢を修正するアーム反転修正部と、
     を具備するロボットプログラミング装置。
  2.  前記仮想空間内で前記ロボットモデルの前記所定の可動部位が前記第1の位置にある場合において、前記所定の可動部位の移動先として前記第2の位置の指定を受け付ける移動位置指定部を更に備え、
     前記ロボットモデル移動部は、前記移動先として指定された前記第2の位置に前記ロボットモデルの前記所定の可動部位を移動させる、請求項1に記載のロボットプログラミング装置。
  3.  前記アーム反転検出部により前記ロボットモデルを構成するいずれかの軸に前記所定状態が検出された場合に、前記所定状態が発生したことを示す警告を前記表示画面に表示するアーム反転警告部を更に備える、請求項1又は2に記載のロボットプログラミング装置。
  4.  前記アーム反転修正部は、修正を行う軸、及び当該軸の修正角度範囲を含む所定の修正条件にしたがって前記ロボットモデルの姿勢の修正を行う、請求項1から3のいずれか一項に記載のロボットプログラミング装置。
  5.  前記ロボットモデルに前記第2の位置における姿勢をとらせた場合に前記ロボットモデルを構成するいずれかの軸の回転角度が当該軸の所定の動作範囲の上限又は下限から第2所定値以内にあるか否かを検出する動作範囲制限検出部と、
     前記ロボットモデルを構成するいずれかの軸の回転角度が当該軸の前記所定の動作範囲の上限又は下限から前記第2所定値以内にあることが検出された場合に、前記表示画面に警告を表示する動作範囲制限警告部と、
     前記ロボットモデルを構成するいずれかの軸の回転角度が当該軸の前記所定の動作範囲の上限又は下限から前記第2所定値以内にあることが検出された場合に、当該軸の回転角度が前記所定の動作範囲の上限又は下限から前記第2所定値以内とならないように前記ロボットモデルの前記第2の位置における姿勢を修正する動作範囲制限修正部と、を更に備える請求項1から4のいずれか一項に記載のロボットプログラミング装置。
  6.  前記動作範囲制限修正部は、修正を行う軸、及び当該軸の修正角度範囲を含む所定の修正条件にしたがって前記ロボットモデルの姿勢の修正を行う、請求項5に記載のロボットプログラミング装置。
  7.  前記ロボットモデルに前記第2の位置における姿勢をとらせた場合に前記ロボットモデルを構成するいずれかの軸の前記ロボットモデルの移動前の姿勢における回転位置を基準とする回転量が、当該軸に予め設定された設定回転角を超えたか否かを検出する回転過大検出部と、
     前記ロボットモデルを構成するいずれかの軸の前記ロボットモデルの移動前の姿勢における回転位置を基準とする回転量が、当該軸に予め設定された前記設定回転角を超えたことが検出された場合に、前記表示画面に警告を表示する回転過大警告部と、
     前記ロボットモデルを構成するいずれかの軸の前記ロボットモデルの移動前の姿勢における回転位置を基準とする回転量が、当該軸に予め設定された前記設定回転角を超えたことが検出された場合に、当該軸の回転角度が前記設定回転角を超えないように前記ロボットモデルの前記第2の位置における姿勢を修正する回転過大修正部と、を備える請求項1から6のいずれか一項に記載のロボットプログラミング装置。
  8.  前記回転過大修正部は、修正を行う軸、及び当該軸の修正角度範囲を含む所定の修正条件にしたがって前記ロボットモデルの姿勢の修正を行う、請求項7に記載のロボットプログラミング装置。
  9.  前記ロボットモデルに前記第2の位置における姿勢をとらせた場合に、前記ツールモデルを搭載した前記ロボットモデルと、前記ワークモデルと、前記周辺機器モデルとの間に干渉が生じるか否かを検出する干渉検出部と、
     前記干渉が生じることが検出された場合に、前記表示画面に警告を表示する干渉警告部と、
     前記干渉が生じることが検出された場合に、前記干渉が生じないように前記ロボットモデルの前記第2の位置における姿勢を修正する干渉修正部と、を備える請求項1から8のいずれか一項に記載のロボットプログラミング装置。
  10.  作業空間を三次元的に表現した仮想空間に、ツールモデルを搭載したロボットモデル、ワークモデル、及び周辺機器モデルを配置して表示画面に表示しロボットプログラムの教示を行うロボットプログラミング方法であって、
     教示内容にしたがって前記ロボットモデルの所定の可動部位を第1の位置から第2の位置に移動させ、
     前記ロボットモデルの前記所定の可動部位を前記第2の位置に移動させた場合に前記ロボットモデルを構成するいずれかの軸が、基準となる回転角度から180°±第1所定値回転する所定状態が生じているか否かを検出し、
     前記ロボットモデルを構成するいずれかの軸に前記所定状態が検出された場合に、当該軸が前記所定状態とならないように、前記所定の可動部位が前記第2の位置にある場合における前記ロボットモデルの姿勢を修正する、ロボットプログラミング方法。
  11.  作業空間を三次元的に表現した仮想空間に、ツールモデルを搭載したロボットモデル、ワークモデル、及び周辺機器モデルを配置して表示画面に表示しロボットプログラムの教示を行うロボットプログラミング方法であって、
     動作プログラムに従って前記ロボットモデルをシミュレーション動作させ、
     前記シミュレーション動作中に、前記ロボットモデルを構成するいずれかの軸が、基準となる回転角度から180°±第1所定値回転する所定状態が生じていることが検出された場合に第1の警告を表示し、
     前記シミュレーション動作中に前記ロボットモデルを構成するいずれかの軸の回転角度が当該軸の所定の動作範囲の上限又は下限から第2所定値以内にあることが検出された場合に第2の警告を表示し、
     前記シミュレーション動作中に、前記ロボットモデルを構成するいずれかの軸の前記ロボットモデルの移動前の姿勢における回転位置を基準とする回転量が、当該軸に予め設定された設定回転角を超えたことが検出された場合に第3の警告を表示し、
     前記シミュレーション動作中に、前記ツールモデルを搭載した前記ロボットモデルと、前記ワークモデルと、前記周辺機器モデルとの間に干渉が生じたことが検出された場合に第4の警告を表示する、ロボットプログラミング方法。
PCT/JP2021/007978 2020-03-05 2021-03-02 ロボットプログラミング装置及びロボットプログラミング方法 WO2021177313A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE112021001427.7T DE112021001427T5 (de) 2020-03-05 2021-03-02 Roboterprogrammiervorrichtung und roboterprogrammierverfahren
JP2022504407A JP7469457B2 (ja) 2020-03-05 2021-03-02 ロボットプログラミング装置及びロボットプログラミング方法
CN202180018888.XA CN115244480A (zh) 2020-03-05 2021-03-02 机器人编程装置和机器人编程方法
US17/789,515 US20230046827A1 (en) 2020-03-05 2021-03-02 Robot programming device and robot programming method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020038051 2020-03-05
JP2020-038051 2020-03-05

Publications (1)

Publication Number Publication Date
WO2021177313A1 true WO2021177313A1 (ja) 2021-09-10

Family

ID=77612642

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/007978 WO2021177313A1 (ja) 2020-03-05 2021-03-02 ロボットプログラミング装置及びロボットプログラミング方法

Country Status (5)

Country Link
US (1) US20230046827A1 (ja)
JP (1) JP7469457B2 (ja)
CN (1) CN115244480A (ja)
DE (1) DE112021001427T5 (ja)
WO (1) WO2021177313A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04268607A (ja) * 1991-02-25 1992-09-24 Matsushita Electric Works Ltd ロボットのオフライン教示方法
JP2006190228A (ja) * 2005-01-07 2006-07-20 Kobe Steel Ltd 動作プログラムの作成方法
JP2007125670A (ja) * 2005-11-07 2007-05-24 Advanced Telecommunication Research Institute International ロボット用表現動作変換システム
JP2015174185A (ja) * 2014-03-14 2015-10-05 三菱重工業株式会社 ロボットのシミュレーション装置及び方法、制御装置、及びロボットシステム
JP2019042375A (ja) * 2017-09-06 2019-03-22 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05289730A (ja) 1992-04-08 1993-11-05 Kobe Steel Ltd ロボットの教示データ修正装置
JP2009166172A (ja) 2008-01-16 2009-07-30 Seiko Epson Corp ロボットのシミュレーション方法及びロボットのシミュレーション装置
JP7046531B2 (ja) 2017-09-04 2022-04-04 キヤノン株式会社 ロボットの制御方法、ロボットの制御装置、情報処理方法、情報処理装置、教示方法、教示装置、ロボットの制御方法を用いた物品の製造方法、プログラムおよび記録媒体

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04268607A (ja) * 1991-02-25 1992-09-24 Matsushita Electric Works Ltd ロボットのオフライン教示方法
JP2006190228A (ja) * 2005-01-07 2006-07-20 Kobe Steel Ltd 動作プログラムの作成方法
JP2007125670A (ja) * 2005-11-07 2007-05-24 Advanced Telecommunication Research Institute International ロボット用表現動作変換システム
JP2015174185A (ja) * 2014-03-14 2015-10-05 三菱重工業株式会社 ロボットのシミュレーション装置及び方法、制御装置、及びロボットシステム
JP2019042375A (ja) * 2017-09-06 2019-03-22 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム

Also Published As

Publication number Publication date
JPWO2021177313A1 (ja) 2021-09-10
DE112021001427T5 (de) 2023-01-12
US20230046827A1 (en) 2023-02-16
JP7469457B2 (ja) 2024-04-16
CN115244480A (zh) 2022-10-25

Similar Documents

Publication Publication Date Title
JP5729404B2 (ja) ティーチングシステムおよびティーチング方法
JP6924145B2 (ja) ロボット教示方法及びロボットアーム制御装置
US9149931B2 (en) Robot system, robot control device and method for controlling robot
JP6343353B2 (ja) ロボットの動作プログラム生成方法及びロボットの動作プログラム生成装置
US20070242073A1 (en) Robot simulation apparatus
US10599135B2 (en) Offline teaching device for robot
JP2006048244A (ja) 加工プログラム作成装置
JP4917252B2 (ja) アーク溶接用装置
JP2013240849A (ja) ロボットシステムの動作シミュレーション装置
JP2018020412A (ja) シミュレーション装置、ロボット制御装置およびロボット
US11865697B2 (en) Robot system and method for operating same
CN102218735B (zh) 作业机械手的传感动作生成方法及传感动作生成装置
JP2009119589A (ja) ロボットシミュレータ
JP7087632B2 (ja) ロボット制御装置
WO2021177313A1 (ja) ロボットプログラミング装置及びロボットプログラミング方法
JP5813931B2 (ja) 教示データの修正システム
JP4829151B2 (ja) ロボットプログラム評価・修正方法及びロボットプログラム評価・修正装置
US20220395985A1 (en) Information processing apparatus, information processing method, display apparatus, display method, robot system, article production method, program, and storage medium
JP7046531B2 (ja) ロボットの制御方法、ロボットの制御装置、情報処理方法、情報処理装置、教示方法、教示装置、ロボットの制御方法を用いた物品の製造方法、プログラムおよび記録媒体
JP2015100874A (ja) ロボットシステム
WO2023002624A1 (ja) 機構データに基づいてロボットを制御するロボットの制御装置および動作プログラムの修正装置
WO2023135762A1 (ja) 制御装置、教示装置、及び機械システム
JPH0778017A (ja) 動作物体間の干渉チェック方法及びその装置
JP2021070096A (ja) 制御方法、制御装置、ロボット装置、物品の製造方法、動作プログラム作成方法、動作プログラム作成装置、表示装置、制御プログラムおよび記録媒体
JP3705045B2 (ja) ロボット教示データの作成方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21765249

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022504407

Country of ref document: JP

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 21765249

Country of ref document: EP

Kind code of ref document: A1