Robot programming device

CN117043696BActive Publication Date: 2026-10-23FANUC LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202180096028.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-04-09
Publication Date
2026-10-23
Estimated Expiration
2041-04-09

AI Technical Summary

Benefits of technology

[0013]根据本发明,能够提高机器人的嵌合作业中的动作程序的示教的效率。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117043696B_ABST
    Figure CN117043696B_ABST
Patent Text Reader

Abstract

A robot programming device capable of improving teaching efficiency of a motion program in a fitting work of a robot is provided. The robot programming device includes a model arrangement unit that arranges a robot model of a robot, a first work object model having a shaft, and a second work object model having a hole in a virtual space that three-dimensionally represents a work space; a feature extraction unit that acquires shape features of the first work object model and the second work object model; a teaching point setting unit that sets a teaching point for fitting the shaft of the first work object model with the hole of the second work object model by the robot model based on the shape features; and a program generation unit that generates a motion program for causing the robot to perform a fitting work of fitting the shaft of the first work object model with the hole of the second work object model using the set teaching point.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a robot programming device. Background Technology

[0002] In the past, when teaching a robot to perform the action program for fitting workpieces, the robot was taught the action program while the operator made minor adjustments to the robot manually, so that the axis of the workpiece held by the robot was aligned with the hole of the object to be fitted.

[0003] Alternatively, for teaching the motion program, CAD (Computer-Aided Design) models of the robot, its hands, and the workpiece are configured in a virtual space. Furthermore, the motion program is taught while the operator manually fine-tunes the robot, ensuring that the axes of the workpiece's CAD model held by the robot's CAD model align with the holes in the mating object's CAD model.

[0004] On the other hand, a technique for automatically teaching robot programs for processes such as deburring and welding has been proposed (for example, see Patent Document 1).

[0005] Existing technical documents

[0006] Patent documents

[0007] Patent Document 1: Japanese Patent Application Publication No. 2017-140684 Summary of the Invention

[0008] The problem that the invention aims to solve

[0009] However, in previous technologies, motion program teaching in robot interlocking operations involved operators manually fine-tuning the robot's CAD model or a virtual model, thus relying heavily on operator skill and resulting in longer operation times. Therefore, there is a desire to improve the efficiency of motion program teaching in robot interlocking operations.

[0010] Methods for solving problems

[0011] One aspect of the robot programming apparatus disclosed herein includes: a model configuration unit that configures a robot model, a first work object model having an axis, and a second work object model having a hole in a virtual space that three-dimensionally represents a work space; a feature extraction unit that acquires shape features of the first work object model and the second work object model; a teach point setting unit that sets teach points based on the shape features for engaging the axis of the first work object model with the hole of the second work object model through the robot model; and a program generation unit that uses the set teach points to generate an action program for causing the robot to perform an engagement operation that engages the axis of the first work object model with the hole of the second work object model.

[0012] Invention Effects

[0013] According to the present invention, the efficiency of teaching motion programs in robot integration operations can be improved. Attached Figure Description

[0014] Figure 1 This is a block diagram illustrating the structure of the robot programming device according to this embodiment.

[0015] Figure 2 It is a diagram representing the robot model, hand model, first task object model, and second task object model in virtual space.

[0016] Figure 3A This is a diagram representing the structure of the object model of the first task.

[0017] Figure 3B This is a diagram showing the structure of the object model for the second task.

[0018] Figure 3C This is a diagram showing the structure of the object model for the second task.

[0019] Figure 4A This is a diagram representing the structure of the object model of the first task.

[0020] Figure 4B This is a diagram representing the structure of the object model of the first task.

[0021] Figure 4C This is a diagram representing the structure of the object model of the first task.

[0022] Figure 5 This is a diagram showing the setting of teaching points.

[0023] Figure 6A This is a diagram showing the setting of teaching points.

[0024] Figure 6BThis is a diagram showing the setting of teaching points.

[0025] Figure 7 This is a diagram showing the settings of near and far teaching points.

[0026] Figure 8A This is a diagram illustrating an example of a robot model having multiple poses.

[0027] Figure 8B This is a diagram illustrating an example of a robot model having multiple poses.

[0028] Figure 9A This is a diagram illustrating an example of a robot model having multiple poses.

[0029] Figure 9B This is a diagram illustrating an example of a robot model having multiple poses.

[0030] Figure 10 It is a diagram representing other structural examples of the robot model, hand model, first task object model, and second task object model in virtual space.

[0031] Figure 11 This is a diagram illustrating a structural example with two robot models in a virtual space.

[0032] Figure 12 This is a flowchart illustrating the processing of the robot programming device. Detailed Implementation

[0033] Hereinafter, an example of an embodiment of the present invention will be described.

[0034] Figure 1 This is a block diagram showing the structure of the robot programming device 1 according to this embodiment. For example... Figure 1 As shown, the robot programming device 1 includes a control unit 11, a storage unit 12, a display unit 13, and an operation unit 14. The purpose of the robot programming device 1 is to teach the robot's motion program, which includes tools for processing workpieces arranged in a workspace.

[0035] The control unit 11 is a processor such as a CPU (Central Processing Unit) that performs various functions by executing programs stored in the storage unit 23. The control unit 11 includes a virtual space generation unit 111, a model configuration unit 112, a feature extraction unit 113, a teaching point setting unit 114, and a program generation unit 115.

[0036] Storage unit 12 is a storage device such as ROM (Read Only Memory), RAM (Random Access Memory) for storing OS (Operating System), applications, etc., and hard disk drives, SSDs (Solid State Drives) for storing other various information.

[0037] The storage unit 12 stores, for example, CAD (Computer-Aided Design) model data related to the robot model 20, hand model 30, first work object model 40 of the first work object, and second work object model 50 of the second work object, as described later.

[0038] The display unit 13 is composed of LCD (Liquid Crystal Display), CRT (Cathode Ray Tube), etc., and displays various images.

[0039] The operation unit 14 consists of a mouse, keyboard, etc., and accepts various inputs.

[0040] The virtual space generation unit 111 generates a three-dimensional virtual space that represents the work space. Figure 2 It is a diagram representing the robot model 20, hand model 30, first task object model 40, and second task object model 50 in the virtual space.

[0041] like Figure 2 As shown, the model configuration unit 112 configures the robot model 20, the hand model 30 of the manipulator, the first work object model 40 with an axis, and the second work object model 50 with a hole in the virtual space.

[0042] Specifically, the model configuration unit 112 configures the robot model 20, hand model 30, first work object model 40, and second work object model 50 in a virtual space based on the CAD model data stored in the storage unit 12. Furthermore, Figure 2 In the example shown, the first work object model 40 is held by the robot model 20, and the second work object model 50 is fixed.

[0043] The feature extraction unit 113 obtains the shape features of the first work object model 40 and the second work object model 50 based on CAD model data of the first work object model 40 and the second work object model 50.

[0044] The teaching point setting unit 114 sets a teaching point based on the shape features obtained by the feature extraction unit 113, for fitting the axis of the first work object model 40 with the hole of the second work object model 50 through the robot model 20.

[0045] The program generation unit 115 uses the teaching points set by the teaching point setting unit 114 to generate an action program for the robot to perform a fitting operation that engages the axis of the first work object model 40 with the hole of the second work object model 50.

[0046] Figure 3A This is a diagram showing the structure of the first work object model 40. For example... Figure 3A As shown, the first work object model 40 has an elliptical cylinder with an elliptical base. That is, the first work object model 40 has an axial shape, and the cross-section 41 when the first work object model 40 is cut in a direction parallel to its base has a uniform elliptical shape.

[0047] The feature extraction unit 113 obtains multiple first edges 42 in the cross section 41 formed by dividing the axis of the first work object model 40 at a predetermined interval as shape features.

[0048] Figure 3B This is a diagram showing the structure of the object model 50 for the second task. (Example) Figure 3B As shown, the second work object model 50 has an elliptical cylinder shape with an elliptical base and a hole in the center. The cross-section 51 of the second work object model 50, when cut along its length through the hole, has a uniform elliptical shape. Furthermore, the hole in the second work object model 50 is a through hole.

[0049] The feature extraction unit 113 obtains multiple second ridges 52 in the cross section 51 formed by dividing the holes of the second work object model 50 at predetermined intervals as shape features.

[0050] In addition, after obtaining the first ridge line 42 and the second ridge line 53, the feature extraction unit 113 confirms that the first ridge line 42 in each section 41 of the first work object model 40 is consistent with the second ridge line 52 in each section 51 of the second work object model 50.

[0051] Figure 3C This is a diagram showing the structure of the second work object model 50A. For example... Figure 3C As shown, the second work object model 50A has a shape formed by overlapping elliptical cylinders with elliptical bases, and has a hole in the center.

[0052] The holes in the second work object model 50A are not penetrated, but the feature extraction unit 113 obtains multiple second ridges 52A in the cross section 51A formed by dividing the holes of the second work object model 50A at a predetermined interval as shape features.

[0053] Figure 4A This is a diagram showing the structure of the first work object model 40A. For example... Figure 4A As shown, the first work object model 40A has a shape formed by overlapping elliptical cylinders with elliptical bases. In this case, the feature extraction unit 113 obtains a plurality of first edges 42A in a cross section 41A formed by dividing the axis of the first work object model 40A at predetermined intervals as shape features.

[0054] Figure 4B This is a diagram showing the structure of the first work object model 40B. For example... Figure 4B As shown, the first work object model 40B has an elliptical base and a conical shape. In this case, the feature extraction unit 113 obtains a plurality of first edges 42B in the cross section 41B formed by dividing the axis of the first work object model 40B at predetermined intervals as shape features.

[0055] Figure 4C This is a diagram showing the structure of the first work object model 40C. For example... Figure 4C As shown, the first work object model 40C is an elliptical cylinder with an elliptical base and a chamfer near the base. In this case, the feature extraction unit 113 obtains a plurality of first edges 42C in a cross section 41C formed by dividing the axis of the first work object model 40C at predetermined intervals as shape features.

[0056] Figure 5 This is a diagram showing the setting of the teaching point P1. For example... Figure 5 As shown, the teach point setting unit 114 sets a teach point P1 for interlocking operations at a position where the robot model 20 is moved so that the first ridge 42 aligns with the second ridge 52. The teach point P1 is set, for example, at the tool tip point of the hand model 30.

[0057] Furthermore, the teaching point setting unit 114 checks for interference between the axis of the first work object model 40 and the hole of the second work object model 50 at teaching point P1, confirming that the axis of the first work object model 40 and the hole of the second work object model 50A at teaching point P1 are completely aligned. Moreover, since the axis of the first work object model 40 and the hole of the second work object model 50A at teaching point P1 have the same shape, they essentially do not interfere.

[0058] Figure 6A This is a diagram showing the setting of the teaching point P1. For example... Figure 6AAs shown, the teaching point setting unit 114 can also set an offset D1 for the engagement distance in a straight line direction passing through the axis of the first work object model 40 and the center 60 of the hole of the second work object model 50. Therefore, the teaching point setting unit 114 can set a teaching point P1 in a state where the axis of the first work object model 40 is suspended relative to the hole of the second work object model 50.

[0059] Figure 6B This is a diagram showing the setting of the teaching point P1. For example... Figure 6B As shown, the teaching point setting unit 114 can also set an offset D2 for the fitting distance in a straight line direction along the axis of the first work object model 40 and the center 60 of the hole of the second work object model 50. Therefore, the teaching point setting unit 114 can set a teaching point P1 in a state where the axis of the first work object model 40 passes through the hole of the second work object model 50.

[0060] Figure 7 This is a diagram showing the settings for near and far teaching points. For example... Figure 7 As shown, the teaching point setting unit 114 can also set an offset D3 for approaching and moving away in a straight line direction through the axis of the first work object model 40 and the center 60 of the hole of the second work object model 50.

[0061] Then, the teach point setting unit 114 sets nearby and distant teach points at positions where the robot model 20 is moved along a straight line through the center of the graph 60. Specifically, as follows... Figure 7 As shown, the teaching point setting unit 114 sets the near teaching point and the far teaching point at the offset D3 where the cross section 41 and the cross section 51 are separated by a distance.

[0062] Therefore, the action program after setting the teaching point makes the robot model 20 move in the order of the approaching teaching point, the teaching point used for interlocking operations, and the teaching point far away.

[0063] Figure 8A as well as Figure 8B This diagram illustrates an example of robot model 20 having multiple poses. In the case where the cross-sectional shape of the axis of the first working object model 40 and the hole of the second working object model 50 is elliptical, as shown... Figure 8B As shown, robot model 20 is capable of adopting a posture that reverses the orientation of the first working object model 40 by 180°. That is, robot model 20 is capable of adopting multiple postures at the teaching point P1 used for engagement.

[0064] In this way, when there are multiple desirable poses for the robot model 20 at the teaching point P1, the teaching point setting unit 114 selects and sets one pose from the multiple poses. Specifically, the teaching point setting unit 114 selects and sets the pose of the robot model 20 with fewer pose variations.

[0065] Figure 9A as well as Figure 9B This is a diagram illustrating an example of robot model 20 having multiple poses. (Example) Figure 9A and Figure 9B As shown, when the cross-sectional shape of the axis of the first working object model 40D and the hole of the second working object model 50D is square, the robot model 20 can adopt four postures that rotate the orientation of the first working object model 40 by 90° each time.

[0066] In this case, the teach point setting unit 114 selects and sets the posture of the robot model 20 that causes less posture change. Alternatively, the teach point setting unit 114 may also select and set the posture that moves the robot model 20 so that the edge specified in the terminal face 43D of the first working object model 40D coincides with the edge specified in the terminal face 53D of the second working object model 50D.

[0067] Figure 10 This is a diagram illustrating other structural examples of the robot model 20, hand model 30, first task object model 40, and second task object model 50 within the virtual space. (Example) Figure 10 As shown, the first work object model 40 may be fixed, and the second work object model 50 may be held by the robot model 20. In this case, similar to the example above, the teaching point setting unit 114 can set a teaching point based on shape features to engage the axis of the first work object model 40 with the hole of the second work object model 50 through the robot model 20.

[0068] Figure 11 This is a diagram illustrating a structural example with two robot models, 20A and 20B, in a virtual space. (Example) Figure 11 As shown, the model configuration unit 112 configures the robot models 20A and 20B of the two robots in the same virtual space. The two robot models 20A and 20B respectively hold the first work object model 40 and the second work object model 50.

[0069] In this case, similar to the example above, the teaching point setting unit 114 can set a teaching point based on shape features for fitting the axis of the first work object model 40 with the hole of the second work object model 50 through the robot models 20A and 20B.

[0070] Figure 12 This is a flowchart illustrating the processing of the robot programming device 1.

[0071] In step S11, the virtual space generation unit 111 generates a virtual space that represents the work space in three dimensions.

[0072] In step S12, the model configuration unit 112 configures the robot model 20, the manipulator hand model 30, the first work object model 40 with an axis, and the second work object model 50 with a hole in the virtual space.

[0073] In step S13, the feature extraction unit 113 obtains the shape features of the first work object model 40 and the second work object model 50.

[0074] In step S14, the teaching point setting unit 114 sets a teaching point based on shape features for fitting the axis of the first work object model 40 with the hole of the second work object model 50 through the robot model 20.

[0075] In step S15, the program generation unit 115 uses the set teaching points to generate an action program for the robot to perform a fitting operation that engages the axis of the first work object model 40 with the hole of the second work object model 50.

[0076] According to this embodiment, the robot programming device 1 includes: a virtual space generation unit 111 that generates a virtual space that three-dimensionally represents the work space; a model placement unit 112 that places a robot model 20, a manipulator hand model 30, a first work object model 40 having an axis, and a second work object model 50 having a hole in the virtual space; a feature extraction unit 113 that acquires the shape features of the first work object model 40 and the second work object model 50; a teaching point setting unit 114 that sets teaching points based on the shape features for fitting the axis of the first work object model 40 with the hole of the second work object model 50 through the robot model 20; and a program generation unit 115 that uses the set teaching points to generate an action program for causing the robot to perform a fitting operation that fits the axis of the first work object model 40 with the hole of the second work object model 50.

[0077] Therefore, the robot programming device 1 can automatically generate motion programs for the robot to perform interlocking operations. As a result, the robot programming device 1 can significantly reduce the burden and time previously required for manual operation by the operator to fine-tune the CAD model of the robot or the robot in virtual space while simultaneously teaching it.

[0078] Furthermore, the feature extraction unit 113 acquires multiple first edges in a cross-section formed by dividing the axis of the first work object model 40 at predetermined intervals and multiple second edges in a cross-section formed by dividing the holes of the second work object model 50 at predetermined intervals as shape features. The teach point setting unit 114 sets a teach point at a position where the robot model 20 is moved so that the first edges and second edges are aligned. Thus, the robot programming device 1 can generate, with high precision and automatically, the teaching points for mating in the motion program of the robot performing the mating operation.

[0079] Furthermore, the teach point setting unit 114 sets approaching and distant teach points at positions where the robot model 20 moves along a straight line through the center of the cross-section of the shaft and the hole. Thus, the robot programming device 1 can automatically generate approaching and distant teach points in the motion program of the robot performing the interlocking operation.

[0080] Furthermore, when there are multiple possible poses for the robot model 20 at the teach point, the teach point setting unit 114 selects and sets one pose from the multiple poses. Thus, the robot programming device 1 can automatically generate teach points at appropriate poses for the robot model 20.

[0081] Alternatively, the first object model 40 can be held by the robot model 20, while the second object model 50 can be fixed. Alternatively, the first object model 40 can be fixed, while the second object model 50 can be held by the robot model 20. Thus, the robot programming device 1 can generate an action program while one of the first object model 40 and the second object model 50 is fixed and the other is held by the robot model 20.

[0082] In addition, the model configuration unit 112 configures the robot models 20A and 20B of the two robots in the virtual space. The two robot models 20A and 20B respectively hold the first work object model 40 and the second work object model 50.

[0083] Thus, the robot programming device 1 can use two robot models 20A and 20B to generate motion programs.

[0084] Furthermore, the model configuration unit 112 configures the robot's hand model 30 together with the robot model 20 in a virtual space. As a result, the robot programming device 1 can automatically generate teaching points in the appropriate posture of the hand model 30.

[0085] The embodiments of the present invention have been described above, but the robot programming device 1 described above can be implemented by hardware, software, or a combination thereof. Furthermore, the control method performed by the robot programming device 1 described above can also be implemented by hardware, software, or a combination thereof. Here, implementation by software means implementation by reading and executing a program using a computer.

[0086] Programs can be stored and provided to a computer using various types of non-transitory computer-readable media. Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (e.g., hard disk drives), optical-magnetic recording media (e.g., optical discs), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs (Random Access Memory)).

[0087] Furthermore, the above-described embodiments are preferred embodiments of the present invention, but the scope of the present invention is not limited to the above-described embodiments. Various modifications can be made without departing from the spirit of the present invention.

[0088] Symbol Explanation

[0089] 1 Robot Programming Device

[0090] 11 Control Department

[0091] 12 Storage Units

[0092] 13 Display Section

[0093] 14 Operations Department

[0094] 111 Virtual Space Generation Department

[0095] Model Configuration Department 112

[0096] 113 Feature Extraction Department

[0097] 114 Teaching Point Setting Department

[0098] 115 Program Generation Department.

Claims

1. A robot programming device, characterized in that, have: The model configuration unit is capable of configuring the robot model, the first work object model with axes, and the second work object model with holes in a virtual space that represents the work space in three dimensions. The feature extraction unit acquires the shape features of the first work object model and the second work object model; The teaching point setting unit sets a teaching point based on the shape features for engaging the axis of the first work object model with the hole of the second work object model through the robot model. as well as The program generation unit uses the set teach points to generate motion programs for the robot to perform a fitting operation, wherein the fitting operation is to fit the axis of the first work object model with the hole of the second work object model. The feature extraction unit obtains a plurality of first edges in a cross-section formed by dividing the axis of the first work object model at predetermined intervals, and a plurality of second edges in a cross-section formed by dividing the holes of the second work object model at predetermined intervals, as the shape features. The teaching point setting unit sets the teaching point at a position where the robot model is moved so that the plurality of first edges align with the plurality of second edges.

2. The robot programming device according to claim 1, characterized in that, The teaching point setting unit sets nearby and distant teaching points at positions where the robot model moves along a straight line through the center of the cross section passing through the axis and the hole.

3. The robot programming device according to claim 1 or 2, characterized in that, When the robot model can take multiple poses at the teaching point, the teaching point setting unit selects and sets one pose from the multiple poses.

4. The robot programming device according to claim 1 or 2, characterized in that, The first object model is held by the robot model. The second work object model is fixed.

5. The robot programming device according to claim 1 or 2, characterized in that, The first work object model is fixed. The second work object model is held by the robot model.

6. The robot programming device according to claim 1 or 2, characterized in that, The model configuration unit configures the robot models of the two robots within the virtual space. The two robot models respectively hold the first task object model and the second task object model.

7. The robot programming device according to claim 1 or 2, characterized in that, The model configuration unit configures the hand model of the robot's hand together with the robot model in the virtual space.

Citation Information

Patent Citations

  • Robot programming unit for teaching robot program

    JP2017140684A

  • Robot and robot control method

    JP2014188640A

  • Robot program execution device, robot program execution method and program

    JP2019171498A