Robot programming device
The robot programming device addresses the issue of misaligned tool reference points by setting a tool contact point coordinate system at the actual contact point, allowing for accurate teaching point and program generation, thereby ensuring proper tool-workpiece interaction.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- FANUC LTD
- Filing Date
- 2024-10-31
- Publication Date
- 2026-05-07
Smart Images

Figure JP2024038897_07052026_PF_FP_ABST
Abstract
Description
Robot programming device
[0001] This disclosure relates to a robot programming device.
[0002] A robot programming device is known that can place models of each object constituting a robot system, such as a robot model and a workpiece model, in a virtual space and teach the robot model to perform machining operations on the workpiece model. Patent Document 1 describes a robot programming device that creates a robot program to perform machining on a workpiece model using a tool model mounted on a robot model. Patent Document 2 describes a robot programming device that creates a robot program to perform coating operations using a tool model mounted on a robot model.
[0003] Japanese Patent Publication No. 2013-099815 Japanese Patent Publication No. 2022-190235
[0004] In the robot programming devices described above, a tool reference point coordinate system is typically set at a predetermined reference point on the tool model mounted on the robot model, which serves as the reference for defining the position and orientation of the tool model. When this tool reference point coordinate system is set at the tip of the tool model, an appropriate robot program can be generated for operations where the tip of the tool model contacts a machining area on the workpiece model to perform machining. However, there are situations where the tool reference point coordinate system is not set at the position where the tool model actually contacts the workpiece model. In this case, it is not possible to calculate teaching points based on the position where the tool model contacts the machining area on the workpiece model, and an appropriate robot program cannot be generated. There is a need for a robot programming device that can resolve these problems in conventional technology and generate an appropriate robot program.
[0005] One aspect of the present disclosure is a robot programming device comprising: a three-dimensional model placement unit for arranging a robot model, a tool model, and a work model in a virtual space; a work location designation unit for designating a work location on the work model; a tool contact point coordinate system setting unit for setting a tool contact point coordinate system at a location on the tool model that contacts the work location; a tool contact point position and orientation calculation unit for calculating the position and orientation of the tool contact point coordinate system relative to the robot model coordinate system when the origin of the tool contact point coordinate system contacts the work location; a tool reference point position and orientation calculation unit for calculating the position and orientation of the tool reference point coordinate system relative to the robot model coordinate system when the origin of the tool contact point coordinate system contacts the work location, based on the position and orientation of the tool contact point coordinate system relative to the robot model coordinate system and the position and orientation of the tool reference point coordinate system set as the reference point of the tool model relative to the tool contact point coordinate system; and a teaching point generation unit for generating teaching points for a robot program based on predetermined operating conditions and the calculated position and orientation of the tool reference point coordinate system.
[0006] These and other objects, features, and advantages of the present invention will become even clearer from the detailed description of typical embodiments of the present invention shown in the accompanying drawings.
[0007] This is a diagram showing the external configuration of a robot programming device according to one embodiment. This is a functional block diagram of the robot programming device. This is a flowchart of the teaching point generation process performed in the robot programming device. This is a diagram showing the state in which a robot model, tool model, work model, and peripheral device model are arranged in a virtual space. This is a diagram showing the state in which a machining line is specified on the work model. This is a diagram showing the state in which a tool contact point coordinate system is set on the tool model. This is a diagram showing a state in which no interference occurs when the tool model is in contact with the work area. This is a diagram showing a state in which interference occurs between the tool model and the peripheral device model when the tool model is in contact with the work area. This is a diagram showing the state in which the position and orientation of the tool contact point coordinate system relative to the robot model coordinate system are determined when the origin of the tool contact point coordinate system is in contact with the work area. This is a diagram for explaining the interference avoidance operation by the interference avoidance unit. This figure shows the situation where the position and orientation of the tool contact point coordinate system relative to the robot model coordinate system are determined when the origin of the tool contact point coordinate system contacts the work area without interference. This figure shows the situation where the position and orientation of the tool reference point coordinate system relative to the robot model coordinate system are determined when the origin of the tool contact point coordinate system contacts the work area without interference. This figure schematically shows the situation where the motion type is specified for the teaching points. This figure schematically shows the situation where the simulation is executed.
[0008] Next, embodiments of the present disclosure will be described with reference to the drawings. In the drawings, similar components or functional parts are given the same reference numerals. For ease of understanding, the scale of these drawings has been appropriately changed. Furthermore, the embodiments shown in the drawings are just one example of how to carry out the present invention, and the present invention is not limited to the illustrated embodiments.
[0009] Figure 1 shows the external configuration of a robot programming device 10 according to one embodiment. The robot programming device 10 has the function of arranging a robot model, tool model, workpiece model, peripheral device model, etc. in a virtual space and generating teaching points for performing a predetermined machining operation by the tool model (i.e., the function of generating a robot program).
[0010] The robot programming device 10 may be composed of a PC (personal computer), a tablet terminal, or other various information processing devices. The robot programming device 10 may have a hardware configuration as a general computer, including a processor 11, memory (ROM, RAM, non-volatile memory, etc.), storage unit 12, display unit 13, operation unit 14, input / output interface, network interface, etc. (see Figures 1 and 2). The storage unit 12 may be composed of, for example, non-volatile memory or a hard disk drive. The display unit 13 may be equipped with, for example, a liquid crystal display. The operation unit 14 may be equipped with a keyboard, mouse, or other various input devices.
[0011] Generally, when teaching a robot model to perform a predetermined machining operation, a coordinate system is set on the tool model to serve as a reference for determining the position and orientation of the tool model. In this specification, such a coordinate system will also be referred to as the tool reference point coordinate system. The origin of the tool reference point coordinate system may be set at the tip of the tool model or at the base of the tool model. If the tool reference point coordinate system is set at a position that does not actually contact the work area on the work model, it becomes impossible to calculate teaching points based on the position where the tool model contacts the work area on the work model, and it becomes impossible to generate an appropriate robot program. In view of this, the robot programming device 10 according to this embodiment provides a function to set a coordinate system (hereinafter also referred to as the tool contact point coordinate system) at a position where the tool model actually contacts the work model, separate from the tool reference point coordinate system. This makes it possible to generate appropriate teaching points and an appropriate robot program even when the tool reference point coordinate system is set at a position that does not actually contact the work model.
[0012] Figure 2 is a functional block diagram of the robot programming device 10. The robot programming device 10 includes a virtual space creation unit 111, a three-dimensional model placement unit 112, a work location specification unit 113, a tool contact point coordinate system setting unit 114, a tool contact point position and orientation calculation unit 115, a tool reference point position and orientation calculation unit 116, an interference detection unit 117a, an interference avoidance unit 117b, an operation condition specification unit 118, a teaching point generation unit 119, and a simulation execution unit 120. These functional blocks may also be realized by the processor 11 of the robot programming device 10 executing software. Figure 2 illustrates the storage unit 12. The storage unit 12 is a storage device consisting of, for example, non-volatile memory or a hard disk drive. The storage unit 12 stores three-dimensional model data of various objects, placement position information of the three-dimensional models, information defining teaching points, robot programs, and various other setting information.
[0013] The virtual space creation unit 111 creates a virtual space on the robot programming device 10. The three-dimensional model placement unit 112 places three-dimensional models of each object that constitutes the robot system model, such as the robot model, tool model, work model, and peripheral device model, within the virtual space. The three-dimensional model placement unit 112 can place these objects in the virtual space based on the actual placement position information of the robot model, tool model, work model, peripheral device model, etc., in the workspace. The models of these objects placed in the virtual space are displayed on the display unit 13.
[0014] The work location designation unit 113 provides a function for designating work locations (lines, faces, points, etc.) on the work model based on user operation or automatically. For example, the work location designation unit 113 may have a function to automatically identify work locations by extracting feature parts (shape features such as edges, faces, and vertices) from the work model (CAD data of the workpiece, etc.) based on predetermined conditions. The predetermined conditions for identifying work locations include, for example, a threshold for the length of the edges to be extracted or a threshold for the area of the faces to be extracted. This allows the work location designation unit 113 to designate a machining line L on the work model WM as illustrated in Figure 5. Alternatively, the work location designation unit 113 may have a function to accept lines drawn freehand by the user on the display screen as machining lines, or a function to accept any point specified by the user on the display screen as a work location.
[0015] The tool contact point coordinate system setting unit 114 provides a function to set the tool contact point coordinate system on the tool model at the position where the tool model actually contacts the work model. The tool contact point coordinate system setting unit 114 may also have a function to accept user operations to set the tool contact point coordinate system on an image of the tool model displayed on a display screen, for example. Alternatively, the tool contact point coordinate system setting unit 114 may have a function to set the tool contact point coordinate system on the tool model according to information pre-set in the robot programming device 10 or information from an external device.
[0016] The tool contact point position and orientation calculation unit 115 calculates the position and orientation of the tool contact point coordinate system as seen from the reference coordinate system (hereinafter also referred to as the robot model coordinate system) set at the reference position of the robot model when the tool model contacts the work location of the work model.
[0017] The tool reference point position and orientation calculation unit 116 calculates the position and orientation of the tool reference point coordinate system as seen from the robot model coordinate system when the tool model contacts the work location of the work model.
[0018] The interference detection unit 117a detects the presence or absence of interference between the robot model or the tool model and the work model or the peripheral device model. The interference avoidance unit 117b has a function of moving the robot model or the tool model so as to avoid interference when interference is detected.
[0019] The operation condition specification unit 118 provides a function of specifying the operation conditions to be applied to the teaching points. The operation conditions include, for example, the operation mode (each axis, linear), the positioning mode (accurate, smooth), the speed, etc. The operation condition specification unit 118 may have a function of receiving a user operation for specifying the operation conditions for the teaching points. Alternatively, the operation condition specification unit 118 may have a function of setting the operation conditions for the teaching points according to information preset in the robot programming device 10 or information input from an external device.
[0020] The teaching point generation unit 119 has a function of generating teaching points of a robot program for performing machining at the work location based on the calculated position and orientation of the tool reference point coordinate system and the specified operation mode. The simulation execution unit 120 has a function of executing a simulation of operating the robot model virtually in a virtual space according to the generated robot program.
[0021] Hereinafter, the teaching point generation process executed in the robot programming device 10 will be described with reference to the flowchart of FIG. 3 and FIGS. 4 to 15. This teaching point generation process is executed under the control of the processor 11 of the robot programming device 10.
[0022] When the program generation process starts, first, a virtual space is generated on the robot programming device 10 by the virtual space creation unit 111 and the three-dimensional model placement unit 112, and a robot model, a tool model, a work model, and a peripheral device model are placed in the virtual space (step S1). FIG. 4 shows a state where a robot model 30M, a tool model 35M, a work model WM, and a peripheral device model 80M are placed in the virtual space. These models are placed in the virtual space according to the actual placement position information in the work space. The tool model 35M is attached to a predetermined position at the tip of the arm of the robot model 30M. The state where a robot system model including the robot model 30M, the tool model 35M, the work model WM, and the peripheral device model 80M is placed in the virtual space is displayed on the display unit 13 of the robot programming device 10.
[0023] Next, in step S2, a process for designating a work location on the work model WM is performed by the work location designation unit 113. FIG. 5 shows, as an example, a situation where the contour line of the upper surface of the rectangular prism shape on the upper side of the work model WM is designated as the processing line L by the above-described function of the work location designation unit 113.
[0024] Next, in step S3, a tool contact point coordinate system is set through the function of the tool contact point coordinate system setting unit 114. As shown in FIG. 6, the tool model 35M is a model of a tool for performing deburring. The tool model 35M has a processing part 35a that contacts the work model and a non-processing part (base part) 35b. Here, it is assumed that the tool reference point coordinate system C1 serving as a reference for defining the teaching point is set in the non-processing part 35b of the tool model 35M. The origin of the tool reference point coordinate system C1 is not set at the position where the tool model 35M contacts the work model WM. In this case, as described above, there is a problem that the teaching point based on the position where the tool model 35M contacts the work model WM cannot be calculated.
[0025] In this regard, the tool contact point coordinate system setting unit 114 provides a function to set the tool contact point coordinate system C2 at the position K where the tool model 35M actually contacts the machining line L of the workpiece model WM. The robot programming device 10 can calculate the teaching points using this tool contact point coordinate system C2 as a reference.
[0026] The tool contact point coordinate system setting unit 114 may have a function to set the tool contact point coordinate system C2 according to user operation. For example, the tool contact point coordinate system setting unit 114 may have a function to accept an operation to specify the tool contact point coordinate system C2 on a user interface screen that displays an image of the tool model 35M as shown in Figure 6 on the display screen. Alternatively, the tool contact point coordinate system setting unit 114 may have a function to set the tool contact point coordinate system C2 by accepting numerical information input of the tool contact point coordinate system C2 from the user. Alternatively, the tool contact point coordinate system setting unit 114 may be configured to automatically set the tool contact point coordinate system C2 according to information indicating the contact points with the work model when the tool model 35M is accompanied by such information. Alternatively, the tool contact point coordinate system setting unit 114 may be configured to automatically set the tool contact point coordinate system C2 according to information input from an external device.
[0027] As an example, the tool reference point coordinate system C1 may be set so that its Z axis is parallel to the center line of the tool model 35M, and the tool contact point coordinate system C2 may be set so that its Z axis is parallel to the center line of the tool model 35M.
[0028] Next, in step S4, the robot model 30M (tool model 35M) is moved to the work area (the position where it contacts the machining line L) and the presence or absence of interference is detected. That is, the interference detection unit 117a detects whether or not there is interference between the robot model 30M or tool model 35M and the workpiece model WM or peripheral device model 80M when the origin of the tool contact point coordinate system C2 is in contact with the machining line L.
[0029] Here, the position and orientation of the tool model 35M (the origin of the tool contact point coordinate system C2) when it is brought into contact with the machining line L may be specified by user operation, or it may be automatically set based on the position information of the machining line L. The position and orientation of the tool model 35M (tool contact point coordinate system C2) may be specified by specifying the axes (X axis, Y axis, Z axis) along the machining line L and the offset amount (rotation around each axis, translation of the origin position, etc.). In the case of automatic setting, for example, the positions of the tool model 35M (tool contact point coordinate system C2) on the machining line L may be defined to be at equal intervals, and the orientation of the tool model 35M may be defined to be in the vertical direction.
[0030] Figure 7 shows a situation where no interference occurs when the tool model 35M is in contact with the work area (i.e., the origin of the tool contact point coordinate system C2 is in contact with the machining line L). On the other hand, Figure 8 shows a situation where interference occurs between the tool model 35M and the peripheral device model 80M when the tool model 35M is in contact with the work area (i.e., the origin of the tool contact point coordinate system C2 is in contact with the machining line L).
[0031] If no interference is detected (S4: NO), the process proceeds to step S7. In step S7, the tool contact point position and orientation calculation unit 115 determines the position and orientation of the tool contact point coordinate system C2 relative to the robot model coordinate system C0 when the origin of the tool contact point coordinate system C2 contacts the work area (machining line L). Figure 9 shows the position and orientation P1(X) of the tool contact point coordinate system C2 relative to the robot model coordinate system C0 when the origin of the tool contact point coordinate system C2 contacts the work area (machining line L). 1 , Y 1 , Z 1 , W 1 , P 1 , R 1)(0) indicates the situation that is required. In this case, the position and orientation P1 of the tool contact point coordinate system C2 can be determined based on the position information of the processing line L and the information (the axis arranged along the processing line L and the offset amount) specifying the position and orientation of the tool model 35M (tool contact point coordinate system C2) with respect to the processing line L, which was described above with respect to step S4.
[0032] Next, in step S8, the tool reference point position and orientation calculation unit 116 calculates the position and orientation of the tool reference point coordinate system C1 based on the robot model coordinate system C0 when the origin of the tool contact point coordinate system C2 contacts the work location (processing line L). The position and orientation P1 of the tool contact point coordinate system C2 are known from the above step S7. Also, the position and orientation P2 (X 2 , Y 2 , Z 2 , W 2 , P 2 , R 2 ) of the tool reference point coordinate system C1 with respect to the tool contact point coordinate system C2 are known. Therefore, as shown in FIG. 10, the position and orientation P3 (X 3 , Y 3 , Z 3 , W 3 , P 3 , R 3 ) of the tool reference point coordinate system C1 based on the robot model coordinate system C0 when the origin of the tool contact point coordinate system C2 contacts the work location (processing line L) can be calculated according to the position and orientation P1 and the position and orientation P2.
[0033] Therefore, the teaching point in the state where the tool model 35M contacts the work model WM can be obtained as the position and orientation P3 of the tool reference point coordinate system C1 based on the robot model coordinate system C0.
[0034] On the other hand, when interference is detected in step S4 (S4: YES), the process proceeds to step S5.
[0035] In step S5, the tool contact point position and orientation calculation unit 115 works in conjunction with the interference avoidance unit 117b to calculate the position and orientation of the tool contact point coordinate system C2 such that when the origin of the tool contact point coordinate system C2 comes into contact with the work area (machining line L), the robot model 30M or tool model 35M does not interfere with the workpiece model WM or peripheral device model 80M.
[0036] Figure 11 illustrates the interference avoidance operation of the tool model 35M by the interference avoidance unit 117b. The interference avoidance unit 117b detects a state in which the tool model 35M does not interfere with the peripheral device model 80M by causing the tool model 35M to perform either rotational movement, translational movement, or both, using the tool contact point coordinate system C2 as a reference. Figure 11 shows a situation in which interference between the tool model 35M and the peripheral device model 80M is avoided by rotating the tool model 35M around the origin of the tool contact point coordinate system C2. The interference detection unit 117a and the interference avoidance unit 117b can perform interference detection and interference avoidance calculations based on information regarding the shape and placement of each object model such as the robot model 30M, tool model 35M, workpiece model WM, and peripheral device model 80M, as well as the position information of the machining line L and the position and orientation information of the tool model 35M before and after translation or rotation.
[0037] Furthermore, the interference detection unit 117a and the interference avoidance unit 117b may have a function to accept settings for whether or not to include object models or parts on object models placed in virtual space in the interference calculation. In this case, for example, the machined part 35a of the tool model 35M, which is a part that is in direct contact with the work model, can be excluded from interference detection, while the non-machined part 35b can be included in the interference detection. This function enables more appropriate interference detection to be performed efficiently.
[0038] When a state is achieved in which the robot model 30M or tool model 35M and the workpiece model WM or peripheral device model 80M do not interfere with each other, the tool contact point position and orientation calculation unit 115 can obtain the position and orientation of the tool contact point coordinate system C2 relative to the robot model coordinate system C0 when the origin of the tool contact point coordinate system C2 contacts the work area (machining line L) in a state in which interference has been avoided by the interference avoidance unit 117b. Figure 12 shows the position and orientation P4(X) of the tool contact point coordinate system C2 relative to the robot model coordinate system C0 when the origin of the tool contact point coordinate system C2 contacts the work area (machining line L) in a state in which the robot model 30M or tool model 35M and the workpiece model WM or peripheral device model 80M do not interfere with each other. 4 , Y 4 , Z 4 , W 4 , P 4 , R 4 This indicates a situation where such a thing is needed.
[0039] Next, in step S6, the tool reference point position and orientation calculation unit 116 calculates the position and orientation of the tool reference point coordinate system C1 relative to the robot model coordinate system C0 such that when the origin of the tool contact point coordinate system C2 contacts the work area (machining line L), the robot model 30M or tool model 35M does not interfere with the work model WM or peripheral device model 80M. The position and orientation P4 of the tool contact point coordinate system C2 are known from step S5 described above. Also, the position and orientation P2(X) of the tool reference point coordinate system C1 relative to the tool contact point coordinate system C2 2 , Y 2 , Z 2 , W 2 , P 2 , R 2 ) is known. Therefore, as shown in Figure 13, when the robot model 30M or tool model 35M and the workpiece model WM or peripheral device model 80M do not interfere with each other, the position and orientation P5(X) of the tool reference point coordinate system C1 relative to the robot model coordinate system C0 when the origin of the tool contact point coordinate system C2 contacts the work area (machining line L) 5 , Y 5 , Z 5 , W5 , P 5 , R 5 ) can be calculated according to position and orientation P4 and position and orientation P2.
[0040] Next, in step S9, the operating conditions at the teaching point of the robot program are specified by the function of the operating condition specification unit 118. As described above, the operating conditions include the type of operation (each axis, linear), the positioning type (single-point, smooth), the speed, etc. Figure 14 schematically shows the situation in which the operating type is specified for the teaching point (position and orientation P3 or P5). Note that 'single-point' in the positioning type represents a control type that includes the operation of stopping the robot's control part at the teaching point, and 'smooth' represents a control type that ensures the trajectory of the robot's control part is smoothly connected before and after the teaching point.
[0041] Next, in step S10, the teaching point generation unit 119 generates teaching points based on the position and orientation P3 or P5 of the tool reference point coordinate system C1 obtained in step S6 or step S8 as described above, and the specified operation type. Here, generating teaching points means, for example, the position and orientation P3(X) of the tool reference point coordinate system C1 obtained as described above. 3 , Y 3 , Z 3 , W 3 , P 3 , R 3 ) or P5(X 5 , Y 5 , Z 5 , W 5 , P 5 , R 5 This corresponds to generating information about the state in which the operation mode is specified for the tool model. Therefore, the information about each teaching point generated so that the tool model follows the machining line L corresponds to a robot program that performs machining along the machining line L.
[0042] Based on the teaching point information (robot program) generated by the above teaching point generation process, the simulation execution unit 120 causes the robot model 30M to simulate the operation of machining on the machining line L in a virtual space (display screen) according to the robot program, as schematically shown in Figure 15. This allows the user to confirm the movement of the robot model according to the robot program.
[0043] As described above, according to this embodiment, even when the tool reference point coordinate system is not set to a position on the tool model that actually contacts the work model, it is possible to appropriately generate teaching points based on the position on the tool model that contacts the work model and to generate an appropriate robot program.
[0044] The embodiments described above can be applied to the programming of various types of robot programs that perform operations on a work model using a tool model mounted on a robot model.
[0045] It should be understood that not all of the functional blocks in the functional block diagram of the robot programming device shown in Figure 2 are essential. Furthermore, the functional arrangement in the functional block diagram of Figure 2 is illustrative, and various modifications to the functional arrangement are possible. For example, the functions of the interference detection unit 117a and the interference avoidance unit 117b may be represented as a single functional block, or the functions of the interference detection unit 117a and the interference avoidance unit 117b may be integrated into the tool contact point position and attitude calculation unit 115.
[0046] In the functional block diagram shown in Figure 2, each functional block described as a function of the robot programming device may be realized by one or more processors of the robot programming device executing various software stored in a memory device, or in this case, part of the function may be made up of hardware such as discrete circuits (i.e., the functional block may be realized by a combination of a processor and discrete circuits), or the functions shown in the functional block diagram may be realized by a hardware-based configuration such as an ASIC (Application Specific Integrated Circuit).
[0047] The program that performs various processes such as the teaching point generation process in the above-described embodiment, or the computer program for performing the processes of each part of the processor 11, may be provided in the form of a program product recorded on various recording media that can be read by a computer (for example, semiconductor memory such as ROM, EEPROM, flash memory, magnetic recording media, or optical recording media such as CD-ROM, DVD-ROM).
[0048] While this disclosure has been described in detail, it is not limited to the individual embodiments described above. These embodiments can be added, replaced, modified, partially deleted, etc., in any way that does not depart from the gist of this disclosure or from the spirit of this disclosure derived from the claims and their equivalents. Furthermore, these embodiments can be implemented in combination. For example, the order of operations and processes in the embodiments described above are given as examples only and are not limited thereto. The same applies when numerical values or mathematical formulas are used in the description of the embodiments described above.
[0049] The following additional notes are provided with respect to the above embodiments and modified examples. (Addendum 1) A three-dimensional model placement unit (112) for arranging a robot model, a tool model, and a work model in a virtual space; a work location designation unit (113) for designating a work location on the work model; a tool contact point coordinate system setting unit (114) for setting a tool contact point coordinate system at a location on the tool model that contacts the work location; a tool contact point position and orientation calculation unit (115) for calculating the position and orientation of the tool contact point coordinate system relative to the robot model coordinate system when the origin of the tool contact point coordinate system contacts the work location; a tool reference point position and orientation calculation unit (116) for calculating the position and orientation of the tool reference point coordinate system relative to the robot model coordinate system when the origin of the tool contact point coordinate system contacts the work location, based on the position and orientation of the tool contact point coordinate system relative to the robot model coordinate system, and the position and orientation of the tool reference point coordinate system set as the reference point of the tool model relative to the tool contact point coordinate system; A robot programming device (10) comprising: a teaching point generation unit (119) that generates teaching points for a robot program based on predetermined operating conditions and the calculated position and orientation of the tool reference point coordinate system;(Note 2) The three-dimensional model placement unit (112) further places peripheral device models in the virtual space, and includes an interference detection unit (117a) that detects whether or not there is interference between the robot model or the tool model and the work model or the peripheral device model when the origin of the tool contact point coordinate system contacts the work location, and an interference avoidance unit (117b) that, when interference is detected, moves the tool model by rotational movement, translational movement, or both, with respect to the tool contact point coordinate system to avoid the interference, and the tool contact point position and orientation calculation unit (115) calculates the position and orientation of the tool contact point coordinate system with respect to the robot model coordinate system when the origin of the tool contact point coordinate system contacts the work location in a state where the interference has been avoided. The robot programming device (10) according to Appendix 1, wherein the tool reference point position and orientation calculation unit (116) calculates the position and orientation of the tool reference point coordinate system relative to the robot model coordinate system when the origin of the tool contact point coordinate system contacts the work area, in the state in which interference is avoided, from the position and orientation of the tool contact point coordinate system relative to the robot model coordinate system in the state in which interference is avoided, and the position and orientation of the tool reference point coordinate system relative to the tool contact point coordinate system. (Appendix 3) The robot programming device (10) according to Appendix 1 or 2, wherein the work area is a surface, line, or point on the work model. (Appendix 4) The robot programming device (10) according to any one of Appendix 1 to 3, wherein the tool contact point coordinate system setting unit (114) sets the tool contact point coordinate system according to user operation or input from an external device.
[0050] 10 Robot programming device 11 Processor 12 Memory unit 13 Display unit 14 Operation unit 30M Robot model 35M Tool model 80M Peripheral device model WM Work model 111 Virtual space creation unit 112 Three-dimensional model placement unit 113 Work location specification unit 114 Tool contact point coordinate system setting unit 115 Tool contact point position and attitude calculation unit 116 Tool reference point position and attitude calculation unit 117a Interference detection unit 117b Interference avoidance unit 118 Operation condition specification unit 119 Teaching point generation unit 120 Simulation execution unit C0 Robot model coordinate system C1 Tool reference point coordinate system C2 Tool contact point coordinate system
Claims
1. A robot programming device comprising: a three-dimensional model placement unit for arranging a robot model, a tool model, and a work model in a virtual space; a work location designation unit for designating a work location on the work model; a tool contact point coordinate system setting unit for setting a tool contact point coordinate system at a location on the tool model that contacts the work location; a tool contact point position and orientation calculation unit for calculating the position and orientation of the tool contact point coordinate system relative to the robot model coordinate system when the origin of the tool contact point coordinate system contacts the work location; a tool reference point position and orientation calculation unit for calculating the position and orientation of the tool reference point coordinate system relative to the robot model coordinate system when the origin of the tool contact point coordinate system contacts the work location, based on the position and orientation of the tool contact point coordinate system relative to the robot model coordinate system and the position and orientation of the tool reference point coordinate system set as the reference point of the tool model relative to the tool contact point coordinate system; and a teaching point generation unit for generating teaching points for a robot program based on predetermined operating conditions and the calculated position and orientation of the tool reference point coordinate system.
2. The three-dimensional model placement unit further places peripheral device models in the virtual space, and includes an interference detection unit that detects whether or not there is interference between the robot model or the tool model and the work model or the peripheral device model when the origin of the tool contact point coordinate system contacts the work area, and an interference avoidance unit that, when interference is detected, moves the tool model by rotational movement, translational movement, or both, with respect to the tool contact point coordinate system, and the tool contact point position and orientation calculation unit calculates the position and orientation of the tool contact point coordinate system with respect to the robot model coordinate system when the origin of the tool contact point coordinate system contacts the work area in the state in which the interference has been avoided. The robot programming device according to claim 1, wherein the tool reference point position and orientation calculation unit calculates the position and orientation of the tool reference point coordinate system relative to the robot model coordinate system when the origin of the tool contact point coordinate system contacts the work area, in the state in which interference is avoided, from the position and orientation of the tool contact point coordinate system relative to the robot model coordinate system in the state in which interference is avoided, and the position and orientation of the tool reference point coordinate system relative to the tool contact point coordinate system.
3. The robot programming device according to claim 1 or 2, wherein the work area is a surface, line, or point on the work model.
4. The robot programming device according to any one of claims 1 to 3, wherein the tool contact point coordinate system setting unit sets the tool contact point coordinate system according to user operation or input from an external device.
Citation Information
Patent Citations
Method for achieving industrial robot off-line programming based on three-dimensional modeling software
CN103085072A
Teaching method of robot track
JP1994134684A
Copying control method / Device for machining / Assembling device
JP1994138930A
Teaching system, robot system and teaching method
JP2016049601A
Robot programming unit for teaching robot program
JP2017140684A