Robot programming device and robot programming method
By configuring the robot model in the three-dimensional virtual space and detecting the corrected axis rotation and motion range, the problem of unnatural movement and acute acceleration of the robot in offline programming is solved, and the accuracy and safety of robot programming is improved.
Patent Information
- Application Number
- CN202180018888.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-03-05
- Filing Date
- 2021-03-02
- Publication Date
- 2025-08-15
- Estimated Expiration
- 2041-03-02
AI Technical Summary
In robot teaching based on offline programming, robots are prone to unnatural movements and rapid acceleration problems.
By configuring the workpiece, tool and robot model in the three-dimensional virtual space, the robot arm reversal detection unit detects the rotation angle of the shaft, and the robot arm reversal correction unit corrects the posture of the robot model to avoid the state where the shaft rotates more than 180°± the first specified value, and at the same time detects and corrects the action range limit and interference.
It effectively avoids unnatural movements, sudden acceleration and increased cable load of the robot, and improves the accuracy and safety of robot programming.
Smart Images

Figure CN115244480B_ABST
Abstract
Description
Technical Field
[0001] The invention relates to a robot programming device and a robot programming method. Background Art
[0002] As a method for teaching various robots including industrial robots, so-called off-line programming is known, in which teaching is performed while simulating the operation of 3D models of the robot, workpiece, etc. on a computer (see, for example, Patent Documents 1 and 2).
[0003] Prior art literature
[0004] Patent Literature
[0005] Patent Document 1: Japanese Patent Application Laid-Open No. 2009-166172
[0006] Patent Document 2: Japanese Patent Application Laid-Open No. 05-289730 Summary of the Invention
[0007] Problems to be solved by the invention
[0008] When teaching using offline programming, the positions of each axis are generally not verified. Therefore, when the robot is actually operated using the motion program obtained through offline programming, unnatural movements and sudden acceleration may occur. It is desirable to prevent such situations from occurring during teaching using offline programming.
[0009] Solutions for solving problems
[0010] One embodiment of the present disclosure is a robot programming device for arranging a workpiece model, a peripheral equipment model, and a robot model equipped with a tool model in a virtual space that represents a workspace in three dimensions and displaying them on a display screen to teach a robot program, the robot programming device comprising: a robot model moving unit that moves a specified movable part of the robot model from a first position to a second position according to teaching content; a robot arm reversal detection unit that detects whether any axis constituting the robot model has entered a specified state rotated by 180°±a first specified value from a reference rotation angle when the specified movable part of the robot model is moved to the second position; and a robot arm reversal correction unit that, when the specified state is detected for any axis constituting the robot model, corrects the posture of the robot model when the specified movable part is in the second position so that the axis is not in the specified state.
[0011] Another embodiment of the present disclosure is a robot programming method for configuring a workpiece model, a peripheral equipment model, and a robot model equipped with a tool model in a virtual space that represents a working space in three dimensions and displaying them on a display screen to teach a robot program, the robot programming method comprising: moving a specified movable part of the robot model from a first position to a second position in accordance with the teaching content; when moving the specified movable part of the robot model to the second position, detecting whether any one of the axes constituting the robot model has undergone a specified state of being rotated by 180°±a first specified value from a rotation angle serving as a reference; and when the specified state is detected for any one of the axes constituting the robot model, correcting the posture of the robot model when the specified movable part is in the second position so that the axis is not in the specified state.
[0012] Yet another aspect of the present disclosure is a robot programming method for teaching a robot program by arranging a workpiece model, a peripheral device model, and a robot model equipped with a tool model in a virtual space representing a three-dimensional workspace and displaying the workpiece model on a display screen. The robot programming method includes: causing the robot model to perform a simulated motion according to an motion program; displaying a first warning when it is detected during the simulated motion that any axis constituting the robot model has rotated to a predetermined state of 180°±a first predetermined value from a reference rotation angle; displaying a second warning when it is detected during the simulated motion that the rotation angle of any axis constituting the robot model is within a second predetermined value from an upper limit or a lower limit of a predetermined motion range of the axis; displaying a third warning when it is detected during the simulated motion that the amount of rotation of any axis constituting the robot model, based on a rotational position of the robot model before movement, exceeds a predetermined rotation angle previously set for the axis; and displaying a fourth warning when interference is detected between the robot model equipped with the tool model, the workpiece model, and the peripheral device model during the simulated motion.
[0013] Effects of the Invention
[0014] According to the above configuration, it is possible to avoid situations such as unnatural movement of the robot, influence of rapid acceleration of the robot on the cycle time, and increase in the load on the cables attached to the robot.
[0015] These objects, features and advantages of the present invention and other objects, features and advantages will become more apparent from the detailed description of typical embodiments of the present invention shown in the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] Figure 1 This is a functional block of a robot programming device according to one embodiment.
[0017] Figure 2 : is a flowchart showing the offline teaching process.
[0018] Figure 3 This is a diagram showing a state where a robot model, a workpiece model, and peripheral device models are arranged in a virtual space (display screen) and displayed.
[0019] Figure 4A This is a diagram showing how to designate a movement destination of a robot by dragging a mouse.
[0020] Figure 4B This is a diagram showing how to designate a movement destination of a robot by dragging a mouse.
[0021] Figure 5A This is a diagram showing how to designate a movement destination of a robot by clicking a mouse.
[0022] Figure 5B This is a diagram showing how to designate a movement destination of a robot by clicking a mouse.
[0023] Figure 6A This is a diagram showing how the robot's movement destination is designated by clicking a mouse (designating the position of a workpiece).
[0024] Figure 6B This is a diagram showing how the robot's movement destination is designated by clicking a mouse (designating the position of a workpiece).
[0025] Figure 6C This is a diagram showing how the robot's movement destination is designated by clicking a mouse (designating the position of a storage rack).
[0026] Figure 7A This is a diagram for explaining detection and correction of the reverse rotation state of the shaft.
[0027] Figure 7B This is a diagram for explaining detection and correction of the reverse rotation state of the shaft.
[0028] Figure 8A This is a diagram for explaining detection and correction of a state in which an axis is near the limit of its operating range.
[0029] Figure 8B This is a diagram for explaining detection and correction of a state in which an axis is near the limit of its operating range.
[0030] Figure 9A This is a diagram for explaining detection and correction of an excessive rotation state of a shaft.
[0031] Figure 9B This is a diagram for explaining detection and correction of an excessive rotation state of a shaft.
[0032] Figure 10A This is a diagram for explaining the detection and correction of an interference state.
[0033] Figure 10B This is a diagram for explaining the detection and correction of an interference state.
[0034] Figure 11 This is a flowchart of the simulation operation performed by the simulation execution unit. DETAILED DESCRIPTION
[0035] Next, embodiments of the present disclosure will be described with reference to the accompanying drawings. In the accompanying drawings, identical components or functional components are denoted by the same reference numerals. For ease of understanding, the scales of these drawings have been appropriately altered. Furthermore, the embodiments shown in the accompanying drawings are merely examples for implementing the present invention, and the present invention is not limited to the illustrated embodiments.
[0036] Figure 1 This is a functional block of a robot programming device 10 according to one embodiment. The robot programming device 10 is a programming device that teaches the robot (robot program) offline while simulating the operation of a 3D model of a robot, a workpiece, etc. Figure 1 As shown, the robot programming device 10 includes a virtual space creation unit 11, a model configuration unit 12, a movement position designation unit 13, a robot model movement unit 14, a robot arm reversal detection unit 21, a robot arm reversal warning unit 22, a robot arm reversal correction unit 23, a motion range limit detection unit 31, a motion range limit warning unit 32, a motion range limit correction unit 33, an excessive rotation detection unit 41, an excessive rotation warning unit 42, an excessive rotation correction unit 43, an interference detection unit 51, an interference warning unit 52, an interference avoidance unit 53, a simulation execution unit 54, and a display device 60. The robot programming device 10 may also 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. Figure 1 The functional block configuration shown may be realized by the CPU of the robot programming device 10 executing various software stored in a storage device, or may be realized by a configuration mainly based on hardware such as an ASIC (Application Specific Integrated IC).
[0037] The virtual space creation unit 11 creates a virtual space that represents the workspace in three dimensions. The model placement unit 12 places the workpiece model W, peripheral equipment models (103, 104), and the robot model 101 equipped with the tool model 102 in the virtual space and displays these models on the display screen 61 of the display device 60. Figure 3 The figure shows that the workpiece model W, the machine tool model 104, the robot model 101 on which the tool model 102 is virtually mounted, and the mobile stage model 103 of the storage rack on which the workpiece W is mounted are arranged in the virtual space (display screen) created by the virtual space creation unit 11 using the model configuration unit 12.
[0038] In this embodiment, the robot model 101 is a six-axis vertical multi-joint robot, but other types of robot models may also be used. Figure 4A The structure of the robot model 101 is described below. Figure 4A As shown, the robot model 101 has six axes, namely, J1 axis, J2 axis, J3 axis, J4 axis, J5 axis and J6 axis, which are arranged in sequence from the base side. The J1 axis rotates the first link 121 around an axis perpendicular to the setting 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 front end of the wrist. A tool model 102 is mounted on the front end of the wrist of the robot model 101. In this embodiment, the tool model 102 is a manipulator device with two clamps, but other types of tool models can also be used. As Figure 4A As shown, the coordinate axes of the tool coordinate system 211 can also be displayed at the tool tip position P0.
[0039] The moving position designation unit 13 receives a designation of a moving destination for a predetermined movable portion (in this embodiment, the tool tip position) 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) in accordance with the teaching content. Here, the teaching content includes not only the teaching position designated by the operator via the moving position designation unit 13 but also a pre-prepared motion program. That is, the robot model moving unit 14 has the function of moving the robot model 101, etc., to the teaching position designated by the operator via the moving position designation unit 13, and has the function of causing the robot model 101, etc., to perform simulated motions in accordance with the pre-prepared motion program stored in the robot programming device 10.
[0040] When the tool tip of the robot model 101 is moved to the destination position, the arm reversal detection unit 21 detects whether any axis of the robot model 101 has entered a predetermined state (hereinafter referred to as a reversal state) rotated by 180° ± a first predetermined value from a reference rotation angle. The first predetermined value is assumed to be 10°, 20°, 30°, etc. This first predetermined value can be pre-set in the robot programming device 10 or can be input and set by the operator into the robot programming device 10 (arm reversal detection unit 21). If the arm reversal detection unit 21 detects a reversal state for any axis of the robot model 101, the arm reversal warning unit 22 displays a warning on the display screen 61. If a reversal state is detected for any axis of the robot model 101, the arm reversal correction unit 23 corrects the posture of the robot model 101 when the tool tip is at the destination position so that the axis is not in a reversal state.
[0041] When the robot model 101 assumes the posture at the destination position, the motion range limit detection unit 31 detects whether the rotation angle of any axis constituting the robot model 101 is within a second predetermined value from the upper or lower limit of the predetermined motion range of that axis. The second predetermined value is a threshold value used to determine whether the rotation angle is approaching the upper or lower limit of the motion range, and is assumed to be, for example, 5°, 10°, or 15°. This second predetermined value can be pre-set in the robot programming device 10 or can be input and set by the operator to the robot programming device 10 (motion range limit detection unit 31).
[0042] When the rotation angle of any axis constituting the robot model 101 is detected to be within a second predetermined value from the upper limit or lower limit of the predetermined motion range of the axis, the motion range limit warning unit 32 displays a warning on the display screen 61. When the rotation angle of any axis constituting the robot model 101 is detected to be within a second predetermined value from the upper limit or lower limit of the predetermined motion range of the axis, the motion range limit correction unit 33 corrects the posture of the robot model 101 so that the rotation angle of the axis is no longer within the second predetermined value from the upper limit or lower limit of the predetermined motion range.
[0043] When the robot model 101 assumes the posture at the movement destination, the excessive rotation detection unit 41 detects whether the amount of rotation of any axis constituting the robot model 101, based on the rotational position of the robot model 101 before the movement, exceeds a preset rotation angle for that axis. The set rotation angle for each axis can be input and set by the operator into the robot programming device 10. For example, if the operator does not want to cause the robot to move excessively, the set rotation angle can be set to a relatively small value.
[0044] When the excessive rotation warning unit 42 detects that the amount of rotation of any axis constituting the robot model 101, based on the rotational position of the robot model 101 before movement, exceeds the preset rotation angle for that axis, the excessive rotation warning unit 42 displays a warning on the display screen 61. When the excessive rotation correction unit 43 detects that the amount of rotation of any axis constituting the robot model 101, based on the rotational position of the robot model 101 before movement, exceeds the preset rotation angle for that axis, the excessive rotation correction unit 43 corrects the posture of the robot model 101 so that the rotation angle of that axis does not exceed the preset rotation angle.
[0045] When the robot model 101 is positioned at the destination position, the interference detection unit 51 detects whether interference occurs between the robot model 101 equipped with the tool model 102, the workpiece model W, and the peripheral device models (103, 104). If interference is detected, the interference warning unit 52 displays a warning on the display screen 61. If interference is detected, the interference avoidance unit 53 corrects the posture of the robot model 101 to prevent interference.
[0046] Figure 2 This is a flowchart showing an off-line teaching process (robot programming method) executed under the control of the CPU of the robot programming device 10. Figure 2 Flowchart and Figure 3 and Figure 3 The teaching process will be described using the following simulation screen example. When the teaching process starts, the virtual space creation unit 11 first creates a virtual space that represents the workspace in three dimensions (step S1). Then, the model configuration unit 12 configures the workpiece model W, the peripheral equipment model, and the robot model 101 equipped with the tool model 102 in the virtual space (step S2). Figure 3 As illustrated, the workpiece model W, the moving stage model 103 , the machine tool model 104 , and the robot model 101 equipped with the tool model 102 are simultaneously displayed in the virtual space.
[0047] Next, an operation of designating the moving destination position of the tool tip portion of the robot model 101 is accepted via the moving position designation unit 13 (step S3). An example of accepting an operation of designating the moving destination of the tool tip portion of the robot model 101 will be described. A first example of an operation of designating the moving destination of the robot model 101 is a dragging operation using a mouse. In this case, Figure 4A As shown, the operator places the mouse cursor 201 on the tool tip of the robot model 101 and presses the mouse button. Figure 4B As shown in FIG. 1 , the operator moves the mouse cursor 201 to the desired destination position while dragging the mouse. Figure 4B In the example shown in FIG. 1 , the operator moves the tool tip of the robot model 101 near the workpiece storage rack. While the mouse is being dragged, the robot model moving unit 14 performs inverse kinematics calculations based on the tool tip position, thereby moving the robot model 101 to follow the movement of the mouse cursor 201 (step S4 ).
[0048] A second example of the operation of designating the movement destination of the robot model 101 is an example of designating the movement destination of the tool tip portion by a click operation of a mouse. Figure 5A As shown, the operator moves the mouse cursor 201 to the position where the tool tip is desired to be moved and clicks the mouse. Figure 5B As shown, the robot model moving unit 14 performs inverse kinematics calculation based on the movement destination position designated by the mouse click, and moves the tool tip of the robot model 101 to the movement destination position (step S5 ).
[0049] Next, refer to Figures 6A to 6C An example of an operation in which a workpiece is designated as a gripping object and the robot model 101 is moved will be described. Figure 6A As shown, the operator specifies the position P1 of the workpiece model W disposed inside the machine tool model 104 by, for example, clicking a mouse. In response to this operation, the robot model moving unit 14 moves the tool tip of the robot model 101 to the specified position P1 ( Figure 6B Alternatively, when the operator specifies the position of the storage rack 103A of the workpiece W as the moving destination of the tool tip of the robot model 101, the robot model moving unit 14 moves the tool tip of the robot model 101 to the specified position ( Figure 6C ).
[0050] Next, when the robot model 101 moves to the destination position specified by the movement position specifying unit 13, the arm reversal detection unit 21 detects whether any axis constituting the robot model 101 has entered a reversed state relative to the reference arm rotation angle (step S5). The reference rotation angle may be, for example, 0°, the position before the movement, or a user-set angle.
[0051] Figure 7A This indicates that the J4 axis (fourth link 124) is reversed (rotated 180°) relative to the reference rotation angle of 0° due to the tool tip of the robot model 101 being moved to the specified position. In this case (S5: "Yes"), Figure 7A As shown, the arm reversal warning unit 22 displays a warning message 301 on the display screen 61 indicating that the J4 axis has reversed (step S6). The arm reversal warning unit 22 may also display a mark A surrounding the reversed axis (connecting rod) to allow the operator to quickly identify the reversed axis (connecting rod). If a reversal state is not detected (S5: No), the process proceeds to step S8.
[0052] When such a reversal is detected, Figure 7B As shown, the robot arm reversal correction unit 23 corrects the posture of the robot model 101 at the destination position of the robot arm tip so that the axis J4, which was detected to have reversed, does not reverse (step S7). When correcting the posture of the robot model 101, the correction is performed in a manner that minimizes the change in the tool tip position. Here, the posture correction of the robot model 101 at the destination position can also be performed according to the following rules:
[0053] (a1) Do not move the front end of the tool as much as possible;
[0054] (a2) The basic principle is to correct only the angle of the axis;
[0055] (a3) When the above-mentioned (a1) and (a2) cannot be achieved, the tool tip is moved by parallel movement or the like to correct the posture.
[0056] Furthermore, calculations performed according to these rules can be performed by appropriately applying kinematics or inverse kinematics calculations.
[0057] In the case of the J4 axis, the robot model 101 can be made to take the same posture by rotating it 180 degrees. Figure 7BIn the example, the J4 axis is corrected to a rotation angle of 0° while maintaining the position of the tool tip. Furthermore, the arm reversal correction unit 23 may be configured to perform corrections according to predetermined correction conditions so that the posture of the robot model 101 does not change significantly before and after the corrections. For example, the correction angle ranges may be set to: -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 also be input and set by the operator into the robot programming device 10 (arm reversal correction unit 23).
[0058] By preventing the axes (i.e., the links constituting the robot arm) from reversing in this manner, it is possible to avoid unnatural movements of the robot, the impact of rapid acceleration of the robot on the cycle time, and increased load on the cables attached to the robot.
[0059] Next, when the robot model 101 moves to the destination position designated by the movement position designation unit 13, the motion range limit detection unit 31 detects whether the rotation angle of any axis constituting the robot model 101 is near the limit of the prescribed motion range of that axis (step S8). Here, the motion range limit detection unit 31 detects whether the axis is near the prescribed motion range by detecting whether the angle of the axis is within a second prescribed value from the upper limit or lower limit of the prescribed motion range.
[0060] For example, it is assumed that the operating range of the J6 axis is -360° to +360°, and the second predetermined value is 10°. Figure 8A represents the posture of the robot model 101 at the destination of movement. Figure 8A A display frame 402 indicating the posture (angles of each axis) of the robot model 101 at the destination position is displayed on the screen. In this posture, the rotation angle of J6 is 355°. Therefore, the motion range limit detection unit 31 determines that the J6 axis is near the limit of the motion range (S8: Yes) and displays a warning message 302 indicating this on the display screen (step S9).
[0061] Next, the motion range limit correction unit 33 corrects the posture of the robot model 101 so that the angle of the axis detected as being near the motion range limit is no longer near the motion range limit (step S10). Alternatively, the correction in this case may also be performed according to the above rules (a1) to (a3). Figure 8B In the example, the rotation angle of J6 is changed from Figure 8AThe posture of J6 after approximately one rotation is set to 0°, so that the position and posture of the robot model 101 do not change between before and after the correction (display box 403). As correction conditions, the motion range limit correction unit 33 may set axis correction ranges so that the posture of the robot model 101 does not change significantly between before and after the correction. For example, the correction angle ranges may be set to -30° to +30° for the J4 axis, -30° to +30° for the J5 axis, and -360° to +360° for the J6 axis. In some cases, the position and posture of the robot model 101 do not change even after a full rotation of the J6 axis, so a correction range of ±360° is permitted. Alternatively, these correction conditions may be input and set by the operator into the robot programming device 10 (motion range limit correction unit 33). If, in step S8, it is not detected that the rotation angle of any axis constituting the robot model 101 is near the limit of the prescribed motion range of that axis (S8: No), the process proceeds to step S11.
[0062] By preventing the axis from being located near the limit of the motion range in this manner, unnatural motion of the robot, sudden acceleration of the robot, and the like can be avoided.
[0063] Next, when the robot model 101 moves to the destination position designated by the movement position designation unit 13, the excessive rotation detection unit 41 detects whether the rotation amount of any axis constituting the robot model 101, based on the rotation position of the robot model 101 before the movement, exceeds the preset rotation angle of the axis (step S11). In other words, here, it is detected whether the rotation of the axis is excessive. Figure 9A The posture of the robot model 101 when it has moved to the destination is shown in the middle, and the relative change in the position of each axis corresponding to the current posture of the robot model 101 from the posture before the movement is shown in the display frame 404 in the upper right corner of the display screen.
[0064] As an example, assume that the set rotation angles are: -30° to +30° for the J4 axis, -30° to +30° for the J5 axis, and -90° to +90° for the J6 axis. In this case, the relative rotation angle of the J6 axis (95.786°) exceeds the set rotation angle, so the excessive rotation detection unit 41 detects that the J6 axis has rotated too much (S11: Yes). The excessive rotation warning unit 42 then displays a warning message 303 on the display screen 61 indicating that the J6 axis has rotated too much (step S12). Next, the excessive rotation correction unit 43 corrects the posture of the robot model 101 for the axis whose relative rotation angle exceeds the set rotation angle so that the relative rotation angle of the axis does not exceed the set rotation angle (step S13).
[0065] The correction range of the axis can also be set in the excessive rotation correction unit 43 so that the posture of the robot model 101 does not change significantly before and after the correction. For example, the correction angle range can also be set to: J4 axis is -30° to +30°, J5 axis is -30° to +30°, and J6 axis is -90° to +90°. Alternatively, the correction in this case is also performed according to the above rules (a1) to (a3). Alternatively, these correction conditions can be input and set by the operator to the robot programming device 10 (excessive rotation correction unit 43). As in Figure 9B As shown in display box 405, the J6 axis angle is corrected by -90°, so that the J6 rotation angle is corrected to a position within 5.786° of the set rotation angle. Furthermore, if, in step S11, no rotation amount of any axis constituting the robot model 101, based on the rotational position of the robot model 101 before movement, exceeds the set rotation angle previously set for that axis (S11: No), the process proceeds to step S14.
[0066] By preventing the axis from rotating too much from the previous posture in this manner, it is possible to avoid unnatural robot movements, the impact of rapid acceleration of the robot on cycle time, and increased load on cables attached to the robot.
[0067] Next, when the robot model 101 moves to the destination position designated by the movement position designation unit 13 , the interference detection unit 51 detects whether interference occurs between the robot model 101 equipped with the tool model 102 , the workpiece model W, and the peripheral equipment models ( 103 , 104 ) (step S14 ). Figure 10A This represents the posture of the robot model 101 as it moves to its destination. Here, interference between the tool model 102 and the machine tool model 104 is detected at the position indicated by circle B. If interference is detected (S14: Yes), the interference warning unit 52 displays a warning message 304 indicating the occurrence of interference (step S15). The interference warning unit 52 may also display a mark B at the location where the interference has occurred, allowing the operator to quickly identify the location of the interference.
[0068] When interference is detected in this manner, the interference avoidance unit 53 corrects the position of the robot model 101 so as to avoid the interference (step S16 ). Figure 10B The following example shows the operation: By changing the tool model 102 from Figure 10A The position of the robot model 101 is corrected without changing the position of the tool tip by rotating around the X-axis of the tool coordinate system set at the tool tip, thereby avoiding interference. In addition, if no interference is detected in step S14 (S14: "No"), this teaching process is terminated.
[0069] In this way, interference between the robot model 101 equipped with the tool model 102, the workpiece model W, and the peripheral equipment models (103, 104) can be avoided. Figure 2 As shown in the process, interference detection and correction (S14-S16) can also be performed while detecting and correcting the axis reversal (S5-S7), detecting and correcting the axis near its movement limit (S8-S10), and detecting and correcting the axis excessive rotation (S11-S13).
[0070] Next, the operation of the simulation execution unit 54 will be described. The simulation execution unit 54 performs the following simulation: while causing the 3D model of the robot, workpiece, etc. to simulate motion according to a pre-created motion program, it checks for the aforementioned inversion states, motion range limits, rotations exceeding a set angle, and interference, and displays warnings when these states occur. These simulation operations are performed by the simulation execution unit 54 in collaboration with the virtual space creation unit 11, the model configuration unit 12, the robot inversion detection unit, the robot inversion warning unit 22, the motion range limit detection unit 31, the motion range limit warning unit 32, the excessive rotation detection unit 41, the excessive rotation warning unit 42, the interference detection unit 51, and the interference warning unit 52. Figure 11 This is a flowchart of the simulation operation (robot programming method) executed by the simulation execution unit 54 .
[0071] First, in step 101, the robot model 101 is caused to perform a simulated motion according to the motion program. Next, in step S102, if any axis constituting the robot model 101 is detected during the simulated motion to have reversed by 180°±a first predetermined value from a reference rotation angle, a warning (first warning) indicating this is displayed on the display screen 61. Specifically, the system detects whether a reversed state has occurred while moving from one teaching point specified in the motion program to the next.
[0072] Next, in step S103, if it is detected during the simulation that the rotation angle of any axis constituting the robot model 101 is within a second predetermined value from the upper or lower limit of the predetermined motion range of that axis, a warning to that effect (a second warning) is displayed on the display screen 61. Specifically, it is detected whether the axis is within the vicinity of the motion range when moving from one teaching point specified by the motion program to the next teaching point. Next, in step S104, if it is detected during the simulation that the rotation amount of any axis constituting the robot model 101, based on the rotational position of the robot model 101 before the movement, exceeds a predetermined rotation angle set for that axis, a warning to that effect (a third warning) is displayed on the display screen 61. Specifically, it is detected that the rotation amount of the axis becomes excessive when moving from one teaching point specified by the motion program to the next teaching point.
[0073] Next, in step S104 , if interference is detected between the robot model 101 equipped with the tool model 102 , the workpiece model W, and the peripheral equipment models ( 103 , 104 ) during the simulation operation, a warning (fourth warning) to that effect is displayed on the display screen.
[0074] In execution Figure 11 During the simulation operation shown, the simulation execution unit 54 may also record the warning history (a history indicating what kind of warning was generated for which teaching point). Figure 11 The simulated action shown here allows the operator to execute the action program from the beginning to the end and understand the occurrence of reverse states, etc. The operator can correct the teaching points based on the simulation results.
[0075] The present invention has been described above using typical embodiments. However, those skilled in the art will appreciate that changes to the above embodiments and various other changes, omissions, and additions may be made without departing from the scope of the present invention.
[0076] Figure 1 The robot programming device does not necessarily need to include all of the functional blocks shown. For example, the robot programming device may include the virtual space creation unit 11, the model placement unit 12, the movement position specification unit 13, the robot model movement unit 14, the robot arm reversal detection unit 21, and the robot arm reversal correction unit 23. In this case, upon detecting a reversal of an axis, the robot programming device corrects the posture of the robot model so that the axis does not reversal.
[0077] exist Figure 2The teaching process illustrated does not necessarily need to include all the processing steps shown in the figure. For example, a teaching process including steps S1 to S5 and S7 (teaching process for detecting the reverse state) can also be implemented.
[0078] Execute various processes such as teaching process and simulation operation in the above-mentioned embodiment ( Figure 2 、 Figure 11 ) can be recorded on various computer-readable recording media (for example, semiconductor memories such as ROM, EEPROM, and flash memories, magnetic recording media, and optical disks such as CD-ROM and DVD-ROM).
[0079] Description of Reference Numerals
[0080] 10: Robot programming device; 11: Virtual space creation unit; 12: Model configuration unit; 13: Moving position designation unit; 14: Robot model moving unit; 21: Robot arm reversal detection unit; 22: Robot arm reversal warning unit; 23: Robot arm reversal correction unit; 31: Motion range limit detection unit; 32: Motion range limit warning unit; 33: Motion range limit correction unit; 41: Excessive rotation detection unit; 42: Excessive rotation warning unit; 43: Excessive rotation correction unit; 51: Interference detection unit; 52: Interference warning unit; 53: Interference avoidance unit; 54: Simulation execution unit; 60: Display device; 61: Display screen; 101: Robot model; 102: Tool model; 103: Moving platform model; 104: Machine tool model.
Claims
1. A robot programming device for teaching a robot program by arranging a workpiece model, a peripheral equipment model, and a robot model equipped with a tool model in a virtual space representing a three-dimensional workspace and displaying the workpiece model on a display screen, the robot programming device comprising: a robot model moving unit that moves a predetermined movable portion of the robot model from a first position to a second position according to teaching contents; a robot arm reversal detection unit configured to detect whether any one axis constituting the robot model has been rotated by 180°±a first predetermined value from a reference rotation angle when the predetermined movable portion of the robot model is moved to the second position; as well as a robot arm reversal correction unit that, when the predetermined state is detected for any axis constituting the robot model, corrects the posture of the robot model when the predetermined movable part is in the second position so that the axis is not in the predetermined state; in, The robot arm reversal correction unit corrects the posture of the robot model according to the following rule: Rule 1: Do not move the position of the specified movable part; Rule 2: The basic principle is to only correct the angle of the axis; as well as Rule 3: When the above-mentioned Rule 1 and Rule 2 cannot be applied, the above-mentioned predetermined movable portion is moved in parallel.
2. The robot programming device according to claim 1, wherein: further comprising a moving position designating unit for accepting designation of a second position as a moving destination of the predetermined movable part when the predetermined movable part of the robot model is at the first position in the virtual space; The robot model moving unit moves the predetermined movable portion of the robot model to the second position designated as the movement destination.
3. The robot programming device according to claim 1, wherein: The robot further includes an arm reversal warning unit configured to display a warning indicating that the predetermined state has occurred on the display screen when the arm reversal detection unit detects the predetermined state for any axis constituting the robot model.
4. The robot programming device according to any one of claims 1 to 3, wherein: The robot arm reversal correction unit corrects the posture of the robot model according to predetermined correction conditions, wherein the predetermined correction conditions include an axis to be corrected and a correction angle range of the axis.
5. The robot programming device according to any one of claims 1 to 3, further comprising: a motion range limit detection unit configured to detect whether a rotation angle of any one axis constituting the robot model is within a second predetermined value from an upper limit or a lower limit of a predetermined motion range of the axis when the robot model is caused to assume the posture at the second position; a motion range limit warning unit configured to display a warning on the display screen when detecting that the rotation angle of any axis constituting the robot model is within the second predetermined value from the upper limit or lower limit of the predetermined motion range of the axis; and A motion range limit correction unit, when detecting that the rotation angle of any axis constituting the robot model is within the second prescribed value from the upper limit or lower limit of the prescribed motion range of the axis, corrects the posture of the robot model at the second position so that the rotation angle of the axis is not within the second prescribed value from the upper limit or lower limit of the prescribed motion range.
6. The robot programming device according to claim 5, wherein: The motion range limit correction unit corrects the posture of the robot model according to predetermined correction conditions, wherein the predetermined correction conditions include an axis to be corrected and a correction angle range of the axis.
7. The robot programming device according to any one of claims 1 to 3, further comprising: an excessive rotation detection unit configured to detect, when the robot model is caused to assume the posture at the second position, whether a rotation amount of any one axis constituting the robot model, based on the rotational position of the robot model in the posture before the movement, exceeds a preset rotation angle set for the axis; an excessive rotation warning unit configured to display a warning on the display screen when detecting that the amount of rotation of any axis constituting the robot model, based on the rotational position of the robot model in the posture before movement, exceeds the set rotation angle preset for the axis; as well as The over-rotation correction unit corrects the posture of the robot model at the second position so that the rotation angle of the axis does not exceed the set rotation angle when it detects that the rotation amount of any axis constituting the robot model, based on the rotation position in the posture before the robot model moves, exceeds the set rotation angle preset for the axis.
8. The robot programming device according to claim 7, wherein: The excessive rotation correction unit corrects the posture of the robot model according to predetermined correction conditions, wherein the predetermined correction conditions include an axis to be corrected and a correction angle range of the axis.
9. The robot programming device according to any one of claims 1 to 3, further comprising: an interference detection unit configured to detect whether interference occurs between the robot model carrying the tool model, the workpiece model, and the peripheral device model when the robot model is positioned at the second position; an interference warning unit, which displays a warning on the display screen when the interference is detected; as well as The interference correction unit corrects the posture of the robot model at the second position so that the interference does not occur when the interference is detected.
10. A robot programming method for teaching a robot program by arranging a workpiece model, a peripheral equipment model, and a robot model equipped with a tool model in a virtual space representing a three-dimensional workspace and displaying the model on a display screen, the method comprising: moving a predetermined movable portion of the robot model from a first position to a second position according to teaching content; When the predetermined movable portion of the robot model is moved to the second position, detecting whether any one axis constituting the robot model has reached a predetermined state rotated by 180°±a first predetermined value from a reference rotation angle; as well as When the predetermined state is detected for any axis constituting the robot model, the posture of the robot model when the predetermined movable part is in the second position is corrected according to the following rule so that the axis is not in the predetermined state, wherein the rule is: Rule 1: Do not move the position of the specified movable part; Rule 2: The basic principle is to only correct the angle of the axis; as well as Rule 3: When the above-mentioned Rule 1 and Rule 2 cannot be applied, the above-mentioned predetermined movable portion is moved in parallel.
Citation Information
Patent Citations
Robot teaching data correction device
JP1993289730A
Simulation method and simulator for robot
JP2009166172A
Monitored control system and real -time supervision appearance of robot
CN206906829U
Abnormal operation prevention method for moving robot
JP1998240323A
Operation program creating method
JP2006190228A