Robot programming device
The robot programming device addresses posture instability by identifying and customizing settings for significant vector changes in machining lines, ensuring stable and precise robot program generation for complex machining tasks.
Patent Information
- Application Number
- PCT/JP2024/026649
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-25
- Publication Date
- 2026-01-29
AI Technical Summary
Conventional robot programming devices struggle to generate appropriate robot programs for machining operations when the robot model's posture is not constant, particularly at right-angled or arcuate corners, leading to unstable tool postures and inappropriate teaching points.
A robot programming device that extracts specific change ranges in machining lines where the direction or normal vector changes significantly, applying customized settings for teaching points to ensure stable tool operation, including normal and direction vector change ranges with adjustable settings.
Ensures stable and appropriate robot program generation for complex machining operations by addressing posture instability and generating accurate teaching points at corners, enhancing machining precision and stability.
Smart Images

Figure JP2024026649_29012026_PF_FP_ABST
Abstract
Description
Robot programming device
[0001] The present disclosure relates to a robot programming device.
[0002] There is known a robot programming device that automatically generates a robot program for performing a machining operation on a workpiece offline. For example, Patent Document 1 describes a robot programming device that extracts a plurality of shape features from a workpiece model and generates an operation program in which a tool moves between the plurality of shape features. As a technology related to robot programming, Patent Document 2 describes a simulation device configured to be able to perform an operation corresponding to a jog feed operation on an actual robot by offline simulation.
[0003] Japanese Unexamined Patent Application Publication No. 2017 - 140684, Japanese Unexamined Patent Application Publication No. 2007 - 286976
[0004] In a conventional robot programming device, based on a machining line specified on a workpiece model and setting information regarding conditions for generating teaching points, a robot program for moving a tool along the machining line to perform a machining operation is automatically generated. In such a conventional technique, when performing deburring along the contour line of a circular surface or when performing welding in a straight line, etc., when the posture of the robot model (tool model) on the machining line is constant and it is easy to determine the position of the teaching point, an appropriate robot program can be generated. However, in reality, depending on the shape properties of the machining line, there are many cases where the posture of the robot model (tool model) on the machining line does not become constant, or where appropriate teaching points are not generated at right - angled or arcuate corners, etc., and an appropriate robot program cannot be automatically generated. There is a need for a robot programming device that can solve the above problems in the conventional technology and reliably and automatically generate an appropriate robot program for the machining operation of a workpiece.
[0005] One aspect of the present disclosure is a robot programming apparatus including: a three-dimensional model placement unit that places a robot model, a tool model, and a work model in a virtual space; a change range extraction unit that extracts, as a change range, a range in which the degree of change in the direction of at least one of a direction vector representing the direction of a machining line and a normal vector of a plane including the machining line satisfies a predetermined condition on the machining line specified on the work model; and a setting application unit that applies a setting different from a setting applied to a range other than the change range on the machining line, as a setting related to a condition for generating a teaching point of a robot program, to the extracted change range.
[0006] From the detailed description of typical embodiments of the present invention shown in the accompanying drawings, these and other objects, features, and advantages of the present invention will become more apparent.
[0007] The figure shows the external configuration of a robot programming apparatus according to an embodiment. The figure is a functional block diagram of the robot programming apparatus. The figure is a flowchart showing program generation processing executed in the robot programming apparatus. The figure shows a state in which a robot model, a tool model, and a work model are arranged in a virtual space. The figure shows a state in which a machining line is specified on the work model. The figure is for explaining a situation where default settings are applied to a circular machining line on a cylindrical work model. The figure shows an example of a change range of a normal vector on a machining line of a work model. The figure is for explaining an example of a setting related to a teaching point within the change range of the normal vector. The figure is for explaining an example of a change in a setting related to a teaching point within the change range of the normal vector. The figure is for explaining a specific example of the shape of a corner of a work model and a change in the direction of a direction vector at the corner. The figure is for explaining a default setting related to a teaching point and a setting for a change range of a direction vector at a corner of a work model. The figure is for explaining an example of a change in a setting for a change range of a direction vector at a corner of a work model. The figure shows a situation where simulation is performed using the generated robot program.
[0008] Next, embodiments of the present disclosure will be described with reference to the drawings. In the drawings to be referred to, the same constituent parts or functional parts are denoted by the same reference numerals. For ease of understanding, the scales of these drawings are appropriately changed. Also, the forms shown in the drawings are one example for implementing the present invention, and the present invention is not limited to the illustrated forms.
[0009] FIG. 1 is a diagram showing an external configuration of a robot programming device 10 according to an embodiment. The robot programming device 10 has a function of automatically generating a robot program for arranging a robot model, a tool model, a work model, etc. in a virtual space and performing a predetermined machining operation with a tool.
[0010] The robot programming device 10 may be configured by 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 having a processor 11, a memory (ROM, RAM, non-volatile memory, etc.), a storage unit 12, a display unit 13, an operation unit 14, an input / output interface, a network interface, etc. (see FIGS. 1 and 2). The storage unit 12 may be composed of, for example, a non-volatile memory or a hard disk drive. The display unit 13 may include, for example, a liquid crystal display. The operation unit 14 may include a keyboard, a mouse, and other various input devices.
[0011] As will be described in detail below, the robot programming device 10 according to the present embodiment extracts, as a change range, a range in which the degree of change in the direction of at least one of a direction vector representing the direction of a machining line and a normal vector of a plane including the machining line satisfies a predetermined condition on the machining line specified on the work model. For the extracted change range, a setting different from the setting applied to the range other than the change range on the machining line can be applied as a setting related to the condition for generating the teaching points of the robot program. With this configuration, the robot programming device 10 can surely automatically generate an appropriate robot program for the machining operation of the work.
[0012] The processing line can be specified as a line on the processing target surface, such as a ridge line on the work model or a certain pattern defined on the processing target surface. In this specification, the term "ridge line" is used to mean a straight line or a curve formed at the boundary between surfaces on the work model.
[0013] As an example, in this embodiment, the settings related to the conditions for generating the teaching points of the robot program shall include the operation form, speed, position, posture, and offset amount related to the teaching points. The operation form represents the operation form of the robot, such as linear motion and axis motion, and the position is information regarding at what interval the teaching points are to be generated. The offset amount represents the amount by which the tool model is translated or rotated based on the set posture.
[0014] FIG. 2 is a functional block diagram of the robot programming device 10. As shown in FIG. 2, the robot programming device 10 includes a virtual space creation unit 121, a three-dimensional model placement unit 122, a processing line specification unit 123, a normal vector change range extraction unit 124, a normal vector change range setting definition unit 125, a normal vector change range setting application unit 126, a normal vector change range setting change unit 127, a direction vector change range extraction unit 128, a direction vector change range setting definition unit 129, a direction vector change range setting application unit 130, a direction vector change range setting change unit 131, a default setting definition unit 132, a default setting application unit 133, a robot program generation unit 134, and a simulation execution unit 135. These functional blocks may be realized by the processor 11 of the robot programming device 10 executing software. FIG. 2 shows a storage unit 12. In the storage unit 12, three-dimensional model data of various objects, information defining the settings of the teaching points, robot programs, and other various setting information are stored.
[0015] The virtual space creation unit 121 creates a virtual space on the robot programming device 10. The three-dimensional model placement unit 122 places three-dimensional models of objects that make up the robot system models, such as the robot model, tool model, and work model, in the virtual space. The three-dimensional model placement unit 122 can place these in the virtual space based on the actual placement information of the robot model, tool model, work model, etc. in the work space. The models of these objects placed in the virtual space are displayed on the display unit 13.
[0016] The machining line specifying unit 123 has a function of specifying a machining line from the work model based on a predetermined condition. The machining line specifying unit 123 can extract feature portions (shape features such as ridge lines (or contour lines), surfaces, etc.) from the work model (CAD data of the work, etc.) based on a predetermined condition and specify the machining line. The predetermined conditions for specifying the machining line include a threshold value for the length of the ridge line to be extracted, a threshold value for the area of the surface to be extracted, and the like. Thereby, the machining line specifying unit 123 can specify a machining line L on the work model WM as illustrated in FIG. 5. The machining line specified from the work model in this way includes a direction vector along the machining line and a normal vector of the surface including the machining line as components.
[0017] The normal vector change range extraction unit 124 extracts, as the normal vector change range, a range in which the degree of change in the direction of the normal vector satisfies the first condition on the machining line. As an example, the first condition is that the direction of the normal vector changes by a predetermined threshold value or more on the machining line. In this case, the threshold value may be held in advance by the normal vector change range extraction unit 124, or may be set by the user. Thereby, the normal vector change range extraction unit 124 can extract, as the normal vector change range, a curved portion, a portion that changes in a wave shape, etc. on the machining line.
[0018] The setting definition unit 125 for the normal vector change range has a function of defining settings (operation mode, speed, position, posture, offset amount, etc.) regarding teaching points to be applied to the normal vector change range. As a result, it is possible to define appropriate settings different from the normal settings (hereinafter sometimes referred to as default settings) applied to a straight machining line or the like as the settings regarding teaching points to be applied to curved portions or portions where the shape changes in a wavy manner on the machining line. Hereinafter, the settings regarding teaching points applied to the normal vector change range may sometimes be referred to as settings for the normal vector change range.
[0019] The setting application unit 126 for the normal vector change range applies the settings for the normal vector change range to the extracted normal vector change range. As an example, the setting application unit 126 for the normal vector change range may associate the data representing the normal vector change range with the defined settings for the normal vector change range, and the robot program generation unit 134 may operate so as to be able to generate teaching points by applying the settings for the normal vector change range to the normal vector change range.
[0020] The setting change unit 127 for the normal vector change range provides a function for changing the applied settings for the normal vector change range. The setting change unit 127 for the normal vector change range may be configured to receive, for example, a user operation for changing the applied settings for the normal vector change range. In this case, the setting change unit 127 for the normal vector change range may display a user interface for changing the settings for the normal vector change range on the display unit 13 and receive a user operation for changing the settings for the normal vector change range via the user interface.
[0021] Alternatively, the setting change unit 127 for the normal vector change range may have a function of automatically changing the settings for the normal vector change range according to the degree of change in the direction of the normal vector on the machining line. In this case, for example, the setting change unit 127 for the normal vector change range may vary the values of the settings for the normal vector change range between a range where the degree of change in the direction of the normal vector on the machining line is large and a range where it is small.
[0022] The direction vector change range extraction unit 128 extracts, as the direction vector change range, a range in which the degree of change in the direction of the direction vector on the processing line satisfies the second condition. As an example, the second condition is that (r1) the direction of the direction vector changes by a predetermined threshold or more on the processing line, and (r2) the change in the direction of the direction vector at regular intervals on the processing line is not uniform. By applying such conditions (r1) and (r2), it becomes possible to extract corners, curved portions, etc. on the processing line as the direction vector change range, and to avoid the situation where, as in the case of a circular ridge line, the change in the direction of the direction vector at regular intervals is uniform and the range where normal settings (default settings) such as generating teaching points at regular intervals can be applied as settings related to the teaching points is extracted as the direction vector change range. Note that the threshold for extracting the direction vector change range may be held in advance by the direction vector change range extraction unit 128, or may be settable by the user.
[0023] The setting definition unit 129 for the direction vector change range has a function of defining settings (operation mode, speed, position, posture, offset amount, etc.) related to the teaching points to be applied to the direction vector change range. Thereby, it is possible to define appropriate settings different from the normal settings (default settings) applied to a straight processing line, etc., as settings related to the teaching points to be applied to corners, curved portions, etc. on the processing line.
[0024] The setting application unit 130 for the direction vector change range applies the setting for the direction vector change range to the extracted direction vector change range. As an example, the setting application unit 130 for the direction vector change range may associate the data representing the direction vector change range with the defined setting for the direction vector change range, and the robot program generation unit 134 may operate so as to be able to generate teaching points by applying the setting for the direction vector change range to the direction vector change range.
[0025] The setting change unit 131 for the direction vector change range provides a function for changing the applied setting for the direction vector change range. The setting change unit 131 for the direction vector change range may be configured to receive, for example, a user operation for changing the applied setting for the direction vector change range. In this case, the setting change unit 131 for the direction vector change range may display a user interface for changing the setting for the direction vector change range on the display unit 13, and receive a user operation for changing the setting for the direction vector change range via the user interface.
[0026] Alternatively, the setting change unit 131 for the direction vector change range may have a function of automatically changing the setting for the direction vector change range according to the degree of change of the direction vector on the processing line. In this case, for example, the setting change unit 131 for the direction vector change range may vary the value of the setting for the direction vector change range between a range where the degree of change of the direction vector on the processing line is large and a range where it is small.
[0027] The default setting definition unit 132 has a function of defining a default setting (operation format, speed, position, posture, offset amount, etc. related to the teaching point) to be applied to a range on the processing line where the degree of change of the normal vector direction does not satisfy the first condition and the degree of change of the direction vector direction does not satisfy the second condition (that is, a range outside the normal vector change range and outside the direction vector change range, and hereinafter this range may be referred to as the default setting range for convenience of explanation).
[0028] The default setting application unit 133 applies the default setting to the default setting range. As an example, the default setting application unit 133 may associate data representing the default setting range with the defined default setting, and the robot program generation unit 134 may operate so as to be able to generate teaching points by applying the default setting to the default setting range. The default setting is a setting applicable to a straight processing line, a circular processing line with a uniform change in the direction of the direction vector at regular intervals, etc., and includes, for example, a setting for generating teaching points at regular intervals on the processing line.
[0029] The robot program generation unit 134 generates teaching points of a robot program along the machining line using the settings of the teaching points applied to the default setting range, normal vector change range, and direction vector change range on the machining line. Based on the generated teaching points, the robot program generation unit 134 can generate a robot program consisting of a group of instructions for moving the robot (tool) on the machining line. The simulation execution unit 135 has a function of executing a simulation that simulates the operation of the robot model in the virtual space according to the generated robot program.
[0030] Hereinafter, the program generation process executed in the robot programming device 10 will be described with reference to the flowchart of FIG. 3 and FIGS. 4 to 13. This program generation process is executed under the control of the processor 11 of the robot programming device 10.
[0031] When the program generation process is started, first, the virtual space creation unit 121 and the three-dimensional model placement unit 122 generate a virtual space and place a robot model, a tool model, and a work model in the virtual space (step S1). FIG. 4 shows a state in which the robot model 10M, the tool model 20M, and the work model WM are placed in the virtual space. The tool model 20M is attached to the arm tip of the robot model 10M. The state in which the robot system model including the robot model 10M, the tool model 20M, and the work model WM is placed in the virtual space is displayed on the display unit 13 of the robot programming device 10.
[0032] Next, in step S2, the machining line specifying unit 123 performs a process for specifying a machining line from the work model WM. FIG. 5 shows a situation where, by the above-described function of the machining line specifying unit 123, a ridge line corresponding to the contour line of the end face SA of the square prism-shaped portion of the work model WM is extracted, and this ridge line is specified as the machining line L. The machining line L includes, as components, a direction vector (D1 to D4) indicating the direction in which the tool model 20M advances along the ridge line, and a normal vector N indicating the normal direction with respect to the plane (end face SA) including the ridge line. The ridge line is considered to be included in the plane whose contour is defined by the ridge line.
[0033] Next, in step S3, the default setting definition unit 132 defines a default setting in which operation forms, speeds, positions, postures, offset amounts, etc. regarding teaching points are defined for a range (default setting range) outside the normal vector change range and outside the direction vector change range on the machining line L. As an example, as shown in FIG. 6, consider a situation where the ridge line of the end face of the cylindrical work model WM1 is specified as the machining line L1. Since the change in the direction vector is uniform on the machining line L1, the default setting can be applied as the setting regarding the teaching point for the machining line L1. In this case, the default setting definition unit 132 can define, as the posture at the teaching point, the posture of the tool coordinate system C based on the direction vector, the normal vector, or two vectors formed by the intersection of the direction vector and the normal vector on the machining line L1. Note that FIG. 6 shows the direction vector D and the normal vector N at one point on the machining line L1. The direction of the normal vector N is constant on the machining line L1. The tool coordinate system C is a coordinate system set on the tool model 20M such that its origin coincides with the tip of the tool model 20M and its Z-axis coincides with the central axis of the tool model 20M. As shown in FIG. 6, the posture in which the tool model 20M is tilted inward with respect to the normal vector of the machining line L1 may be defined in such a form that, at each teaching point, the X-axis of the tool coordinate system C is parallel to the direction vector, and the offset amount is set so that the Z-axis rotates by a predetermined angle around the X-axis with respect to the direction of the normal vector.
[0034] The default settings for the processing line L1 may further include settings for operating the robot along an arc-shaped trajectory as the operation mode, settings for making the intervals of the teaching points a constant value, and the like. The default setting definition unit 132 may store the default settings thus determined in the storage unit 12.
[0035] The default setting application unit 133 applies the default settings defined as above to the range (default setting range) on the processing line that is outside the normal vector change range and the direction vector change range (step S4).
[0036] Next, the normal vector change range extraction unit 124 extracts, as the normal vector change range, the range on the processing line where the degree of change in the direction of the normal vector satisfies the above first condition (step S5). Here, a work model WM2 as shown in FIG. 7 is assumed. The processing line L2 on the work model WM2 includes a range A where the shape changes in a waveform. In such a range A, if default settings such as making the posture of the tool model parallel to the normal direction of the surface SB including the ridge line as the processing line L2 are applied, the posture of the tool model becomes unstable and appropriate teaching points cannot be obtained. Therefore, in the present embodiment, the normal vector change range extraction unit 124 extracts, as the normal vector change range, the range on the processing line where the degree of change in the direction of the normal vector satisfies the above first condition. As a specific method, the normal vector change range extraction unit 124 may extract, as the normal vector change range, the range on the processing line where the direction of the normal vector changes by a threshold value or more. Thereby, the range A where the shape changes in a waveform in the processing line L2 of FIG. 7 can be extracted as the normal vector change range.
[0037] Next, the normal vector change range setting definition unit 125 defines a setting for the normal vector change range in which the operation form, speed, position, posture, offset amount, etc. related to the teaching points are defined (step S6). Here, as shown in FIG. 8, the normal vector change range setting definition unit 125 may define the posture so that the posture of the tool model 20M is always constant within the normal vector change range (range A). In the example of FIG. 8, the posture is defined so that the posture of the tool model 20M is always parallel to the vertical direction within the normal vector change range (range A).
[0038] In step S7, the normal vector change range setting application unit 126 applies the setting for the normal vector change range defined as described above to the normal vector change range. As a result, the robot program generation unit 134 can generate a robot program in which the tool operates stably even in a range where the shape of the processing line changes as in the normal vector change range (range A) shown in FIG. 8.
[0039] In step S8, the normal vector change range setting change unit 127 provides a function to change the setting of the teaching point in the normal vector change range. For example, the normal vector change range setting change unit 127 may be configured to receive a user operation for changing the setting for the normal vector change range. The setting may be changed individually for each normal vector change range that exists separately on the processing line. As a result, the user can change the operation form, speed, position, posture, offset, etc. related to the teaching point for each normal vector change range as needed. As an example, as shown in FIG. 9, the user may perform an adjustment to specify an offset amount for rotating the tool model 20M so that the tool model 20M has a posture that always inclines at a constant angle with respect to the vertical direction in the normal vector change range (range A) of the work model WM2.
[0040] The setting change unit 127 for the normal vector change range may have a function of automatically changing the setting for the normal vector change range according to the degree of change in the direction of the normal vector in the normal vector change range. For example, there may be a case where the setting for the normal vector change range is made different between a normal vector change range in which the degree of change in the direction of the normal vector is relatively large and a normal vector change range in which the degree of change in the direction of the normal vector is relatively small. In this case, the setting change unit 127 for the normal vector change range may change the setting for the normal vector change range from various viewpoints such as machining quality, operation stability, cycle time, and the like. As an example, for a normal vector change range in which the degree of change in the direction of the normal vector is relatively large, the setting change unit 127 for the normal vector change range may adopt a setting such that the interval between teaching points becomes relatively narrow and the operation speed becomes relatively low, and for a normal vector change range in which the degree of change in the direction of the normal vector is relatively small, a setting such that the interval between teaching points becomes relatively wide and the operation speed becomes relatively high may be adopted.
[0041] Next, the direction vector change range extraction unit 128 extracts, as the direction vector change range, a range in which the degree of change in the direction of the direction vector on the machining line satisfies the second condition (step S9). Here, the direction vector change range extraction unit 128 may extract the direction vector change range using the above-described conditions (r1) and (r2). Then, the setting definition unit 129 for the direction vector change range defines a setting for the direction vector change range in which the operation format, speed, position, posture, offset, and the like regarding the teaching points are defined for the extracted direction vector change range (step S10).
[0042] A specific example of the processing in steps S9 - S10 will be described with reference to FIGS. 10 - 11. On the left side of FIG. 10, a corner K where the direction of the direction vector changes significantly on the processing line L of the work model WM is shown surrounded by a broken - line circle 90. At the corner K, the direction of the direction vector changes significantly from the direction vector D11 to the direction vector D12. Enlarged views of examples of the specific shape of the corner K are shown within the broken - line circles 90a and 90b in FIG. 10. The corner K may be formed in a shape that bends at a right angle (circle 90a) or in a shape that curves sharply (circle 90b). It is considered that when the default setting regarding the teaching point is applied to such a corner K, an appropriate teaching point cannot be obtained. The direction - vector change - range extraction unit 128 can extract a certain range including such a corner K as the direction - vector change range.
[0043] The problems that may occur when the default setting regarding the teaching point is applied to the range including such a corner K, and the settings defined by the direction - vector change - range setting definition unit 129 to solve such problems will be described with reference to FIG. 11. In FIG. 11, the respective situations indicated by reference numerals 90c and 90d show examples of the generation of teaching points when the default setting regarding the teaching point is applied to the corner K shown in FIG. 10. For the sake of understanding, in FIG. 11, the state of the posture set for each teaching point is represented by the tool coordinate system C. In the situation indicated by reference numeral 90c, the teaching points P1 and P2 are generated to have the same posture. On the other hand, the posture changes by 90 degrees between the two teaching points P2 and P3 adjacent to the front and rear of the corner K. In this case, since the tool rotates sharply at the corner K, the teaching points P1 to P3 are not appropriate from the viewpoints of tool stability and the like.
[0044] In the situation indicated by reference numeral 90d, a teaching point P11 is generated on the straight - line part in front of the corner K, and a teaching point P12 whose posture is rotated 90 degrees with respect to the teaching point P11 is generated at the corner K. In this case, since the tool moves while rotating from the teaching point P11 to the teaching point P12 on the straight - line part in front of the corner K, the teaching points P11 and P12 are not appropriate from the viewpoints of tool stability, processing quality, and the like.
[0045] As shown by reference numeral 90e on the right side of FIG. 11, the setting definition unit 129 for the direction vector change range inserts a plurality of teaching points P (only some of which are labeled P in FIG. 11) into the direction vector change range (range B) including the corner K so that the change in the posture of the tool becomes smooth in the direction vector change range (range B). As an example, the setting definition unit 129 for the direction vector change range may define the setting regarding the teaching points so that the change in posture (rotation angle) between adjacent teaching points at the plurality of teaching points P set at the corner K becomes uniform.
[0046] In addition to or instead of the setting of inserting a plurality of teaching points into the direction vector change range, other types of settings such as reducing the speed to achieve operation stabilization may be applied as the setting regarding the teaching points applied to the direction vector change range.
[0047] In step S11, the setting application unit 130 for the direction vector change range applies the setting for the direction vector change range defined as above to the direction vector change range. Thereby, the robot program generation unit 134 can generate a robot program in which the tool operates stably even in the direction vector change range.
[0048] In step S12, the setting change unit 131 for the direction vector change range provides a function of changing the setting of the teaching points in the direction vector change range. For example, the setting change unit 131 for the direction vector change range may be configured to receive a user operation for changing the setting for the direction vector change range. The change of the setting may be performed in a way that is individually performed for each direction vector change range separately existing on the processing line. Thereby, the user can change the operation form, speed, position, posture, offset, etc. regarding the teaching points for each direction vector conversion range as needed. As an example, FIG. 12 shows a situation where the setting of the position of the teaching point P (how often to generate the teaching points) in the direction vector change range (range B) is set so that the density of the teaching points is sparser than in the situation illustrated by reference numeral 90e on the right side of FIG. 11.
[0049] The setting change unit 131 for the direction vector change range may have a function of automatically changing the setting for the direction vector change range according to the degree of change in the direction of the direction vector within the direction vector change range. For example, there may be a case where the setting for the direction vector change range is made different between a direction vector change range in which the degree of change in the direction of the direction vector is relatively large and a direction vector change range in which the degree of change in the direction of the direction vector is relatively small. In this case, the setting change unit 131 for the direction vector change range may change the setting for the direction vector change range from various viewpoints such as machining quality, operation stability, cycle time, etc. As an example, the setting change unit 131 for the direction vector change range adopts a setting such that the interval between teaching points becomes relatively narrow and the operation speed becomes relatively slow for a direction vector change range in which the degree of change in the direction of the direction vector is relatively large, and adopts a setting such that the interval between teaching points becomes relatively wide and the operation speed becomes relatively high for a direction vector change range in which the degree of change in the direction of the direction vector is relatively small.
[0050] Next, the robot program generation unit 134 generates teaching points of a robot program along the machining line L based on the setting for the normal vector change range, the setting for the direction vector change range, and the default setting in the machining line L generated as described above (step S13). The robot program generation unit 134 can generate a robot program based on the generated teaching points, the setting for the normal vector change range, the setting for the direction vector change range, and the default setting. As shown in FIG. 13, the simulation execution unit 135 can execute a simulation of operating the robot model 10M (tool model 20M) in a virtual space (display screen) in a simulated manner based on the generated robot program. Thereby, the user can confirm the operation of the robot program and adjust the robot program as necessary.
[0051] As described above, according to the present embodiment, in the generation of a robot program, it is possible to avoid problems such as the posture of the tool model becoming unstable on the processing line and appropriate teaching points not being generated at right-angled or arcuate corners, and it becomes possible to surely automatically generate an appropriate robot program.
[0052] It should be understood that not all of the components described in the functional block diagram (FIG. 2) and the flowchart of the program generation process (FIG. 3) described in the above-described embodiment are essential.
[0053] For example, in the above-described embodiment, a configuration example was described in which both the normal vector change range and the direction vector change range are extracted, the setting for the normal vector change range is applied to the normal vector change range, and the setting for the direction vector change range is applied to the direction vector change range. However, by extracting at least one of the normal vector change range and the direction vector change range and applying the setting for the change range to the extracted change range, an effect similar to the effect of the above-described embodiment can also be achieved. In the case of this configuration, in the functional block diagram (FIG. 2) and the flowchart (FIG. 3), the functional blocks and processing steps related to the extraction of the change range related to the normal vector and the application of the setting to the change range, or the extraction of the change range related to the direction vector and the application of the setting to the change range can be omitted.
[0054] It is also possible to configure a functional block that integrates one or more of the functional blocks described in the functional block diagram (FIG. 2). The execution order of the processes from step S3 to step S12 in the flowchart of the program generation process (FIG. 3) may be changed.
[0055] The configuration of the above-described embodiment can be applied not only to the processing line as the ridge line on the work model but also to the processing line defined on the processing target surface.
[0056] In the above-described embodiments, the settings related to the conditions for generating the teaching points of the robot program were described as including the operation form, speed, position, orientation, and offset amount regarding the teaching points. However, this is an example, and the settings related to the conditions for generating the teaching points of the robot program may be constituted by a part of the operation form, speed, position, orientation, and offset amount regarding the teaching points.
[0057] The functional blocks (FIG. 2) of the above-described robot programming device may be realized by one or more processors of the robot programming device executing various software stored in the storage device, or may be realized by a configuration mainly composed of hardware such as an ASIC (Application Specific Integrated Circuit).
[0058] The programs for executing various processes such as the program generation process (FIG. 3) in the above-described embodiments can be recorded on various computer-readable recording media (for example, semiconductor memories such as ROM, EEPROM, and flash memory, magnetic recording media, optical disks such as CD-ROM and DVD-ROM).
[0059] Although the present disclosure has been described in detail, the present disclosure is not limited to the above-described individual embodiments. These embodiments can be variously added, replaced, changed, partially deleted, etc., without departing from the gist of the present disclosure or without departing from the gist of the present disclosure derived from the content described in the claims and its equivalents. Also, these embodiments can be implemented in combination. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as an example and are not limited thereto. The same applies when numerical values or mathematical formulas are used in the description of the above-described embodiments.
[0060] The following additional remarks are further described regarding the above embodiments and modifications. (Supplementary Note 1) A three-dimensional model placement unit (122) that places a robot model, a tool model, and a work model in a virtual space, and a change range extraction unit (124, 128) that extracts, as a change range, a range in which the degree of change in the direction of at least one of a direction vector representing the direction of the processing line and a normal vector of a plane including the processing line satisfies a predetermined condition on the processing line specified on the work model, and a setting application unit (126, 130) that applies a setting different from the setting applied to a range other than the change range on the processing line as a setting related to a condition for generating teaching points of a robot program to the extracted change range. A robot programming device (10) comprising: (Supplementary Note 2) The change range extraction unit (124, 128) extracts, as the change range of the normal vector, a range in which the degree of change in the direction of the normal vector satisfies a first condition on the processing line, and extracts, as the change range of the direction vector, a range in which the degree of change in the direction of the direction vector satisfies a second condition on the processing line. The setting application unit (126, 130) applies, to each of the change range of the normal vector and the change range of the direction vector, a setting different from the setting applied to a range that is outside the change range of the normal vector and outside the change range of the direction vector on the processing line as a setting related to the setting of teaching points of the robot program. The robot programming device (10) according to Supplementary Note 1. (Supplementary Note 3) The first condition is that the direction of the normal vector changes by a predetermined threshold or more on the processing line. The robot programming device (10) according to Supplementary Note 2. (Supplementary Note 4) The second condition is that the direction of the direction vector changes by a predetermined threshold or more on the processing line, and the change in the direction of the direction vector at regular intervals on the processing line is not uniform. The robot programming device (10) according to Supplementary Note 2 or 3.(Supplementary Note 5) The robot programming device (10) according to any one of Supplementary Notes 1 to 4, further comprising a setting change unit (127) that changes the setting applied to the change range of the normal vector according to the degree of change in the direction of the normal vector within the change range of the normal vector. (Supplementary Note 6) The robot programming device (10) according to any one of Supplementary Notes 1 to 4, further comprising a setting change unit (127) that receives a user operation for changing the setting applied to the change range of the normal vector. (Supplementary Note 7) The robot programming device (10) according to any one of Supplementary Notes 1 to 4, further comprising a setting change unit (131) that changes the setting applied to the change range of the direction vector according to the degree of change in the direction of the direction vector within the change range of the direction vector. (Supplementary Note 8) The robot programming device (10) according to any one of Supplementary Notes 1 to 4, further comprising a setting change unit (131) that receives a user operation for changing the setting applied to the change range of the direction vector. (Supplementary Note 9) The setting related to the conditions for generating the teaching points of the robot program includes the operation form, speed, position, posture, and offset amount related to the teaching points. The robot programming device (10) according to any one of Supplementary Notes 1 to 8. (Supplementary Note 10) The robot programming device (10) according to any one of Supplementary Notes 1 to 9, further comprising a robot program generation unit (134) that generates teaching points of the robot program along the processing line based on the setting applied to the change range on the processing line and the setting applied to the range other than the change range on the processing line.
[0061] 10 Robot programming device 11 Processor 12 Memory unit 13 Display unit 14 Operation unit 121 Virtual space creation unit 122 Three-dimensional model placement unit 123 Processing line designating unit 124 Normal vector change range extraction unit 125 Normal vector change range setting definition unit 126 Normal vector change range setting application unit 127 Normal vector change range setting change unit 128 Direction vector change range extraction unit 129 Direction vector change range setting definition unit 130 Direction vector change range setting application unit 131 Direction vector change range setting change unit 132 Default setting definition unit 133 Default setting application unit 134 Robot program generation unit 135 Simulation execution unit L, L1, L2 Processing lines
Claims
1. A robot programming device comprising: a three-dimensional model placement unit that places a robot model, a tool model, and a workpiece model in a virtual space; a change range extraction unit that extracts, for a processing line specified on the workpiece model, a range in which the degree of change in the direction of at least one of a direction vector representing the direction of the processing line and a normal vector of a face including the processing line satisfies a predetermined condition, as a change range; and a setting application unit that applies, to the extracted change range, settings that differ from settings that are applied to ranges other than the change range on the processing line, as settings related to conditions for generating teaching points for a robot program.
2. The robot programming device of claim 1, wherein the change range extraction unit extracts a range in which the degree of change in the direction of the normal vector on the processing line satisfies a first condition as the change range of the normal vector, and extracts a range in which the degree of change in the direction of the direction vector on the processing line satisfies a second condition as the change range of the direction vector, and the setting application unit applies, to each of the change range of the normal vector and the change range of the direction vector, settings related to setting of teaching points of the robot program that are different from settings applied to a range outside the change range of the normal vector on the processing line and outside the change range of the direction vector.
3. A robot programming device according to claim 2, wherein the first condition is that the direction of the normal vector on the processing line changes by more than a predetermined threshold value.
4. A robot programming device as described in claim 2 or 3, wherein the second condition is that the direction of the direction vector on the processing line changes by more than a predetermined threshold value, and the change in the direction of the direction vector at regular intervals on the processing line is not uniform.
5. A robot programming device as described in any one of claims 1 to 4, further comprising a setting change unit that changes the setting applied to the change range of the normal vector depending on the degree of change in the direction of the normal vector within the change range of the normal vector.
6. A robot programming device according to any one of claims 1 to 4, further comprising a setting change unit that accepts a user operation for changing the setting to be applied to the range of change of the normal vector.
7. A robot programming device as described in any one of claims 1 to 4, further comprising a setting change unit that changes the setting applied to the change range of the direction vector depending on the degree of change in the orientation of the direction vector within the change range of the direction vector.
8. A robot programming device according to any one of claims 1 to 4, further comprising a setting change unit that accepts a user operation for changing the setting to be applied to the change range of the direction vector.
9. A robot programming device according to any one of claims 1 to 8, wherein the settings relating to the conditions for generating teaching points of the robot program include the motion type, speed, position, posture, and offset amount for the teaching points.
10. A robot programming device as described in any one of claims 1 to 9, further comprising a robot program generation unit that generates teaching points for the robot program along the processing line based on the settings that are applied to the change range in the processing line and the settings that are applied to a range other than the change range in the processing line.
Citation Information
Patent Citations
Robot grinding and polishing track correction method and system based on coordinate system integration
CN116984993A
Robot programming device
JP2013099815A
Weld robot programming device and programming method of weld robot
JP2019048358A
Machining condition setting device and three-dimensional laser machining system
JP2020069492A
Processing path creation device
WO2021230237A1