Route teaching data creation device, route teaching data creation method, and program
Patent Information
- Application Number
- JP2021089234
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-05-27
- Publication Date
- 2025-02-28
- Estimated Expiration
- 2041-05-27
Abstract
Description
[Technical field]
[0001] The present invention relates to a route teaching data creating device, a route teaching data creating method, and a program. [Background technology]
[0002] For example, an industrial robot is controlled by providing a path to be followed by a tool of the robot as teaching data. For example, Patent Document 1 describes that teaching data to be provided to a robot is created using two-dimensional CAD (Computer-Aided Design) data. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2005-332347 A Summary of the Invention [Problem to be solved by the invention]
[0004] Incidentally, path teaching data for controlling the drive of a robot must indicate a single path without branching. However, 3D CAD data for design contains multiple spline curves that are multiplexed together (see Fig. 4 for an example). For this reason, in the past, users had to sequentially specify the path that the robot's tool would follow in a 3D shape drawn by 3D CAD as shown in Fig. 4, which placed a heavy burden on the user.
[0005] The present invention has been made in consideration of the above circumstances, and has an object to provide a route teaching data creating device, a route teaching data creating method, and a program that can reduce the burden on a user. [Means for solving the problem]
[0006] A first aspect of the present invention is a path teaching data creation device for creating path teaching data required for driving control of a robot using design data including information on a plurality of curves, the path teaching data creation device comprising: a selection unit that selects another curve connected to an end point of a source curve, which is a curve from which a connection is made, as a destination curve, and sequentially selects curves to be the destination curves by setting the selected other curve as the next source curve; and a path creation unit that creates the path teaching data based on the plurality of curves selected by the selection unit, and when there are a plurality of other curves connected to the end point of the source curve, the selection unit selects one of the other curves as the destination curve based on the final tangent direction of the source curve and each starting tangent direction of the plurality of other curves.
[0007] A second aspect of the present invention is a path teaching data creation method for creating path teaching data required for drive control of a robot using design data including information on a plurality of curves, the path teaching data creation method being executed by a computer to determine whether there are a plurality of other curves connected to an end point of a source curve, which is a curve from which a connection is made; if there are a plurality of other curves, selecting the other curve as a destination curve; if there are a plurality of other curves, selecting one of the other curves as the destination curve based on a final tangent direction of the source curve and each starting tangent direction of the plurality of other curves; setting the selected other curve as the next source curve; and creating the path teaching data based on the selected plurality of curves.
[0008] A third aspect of the present invention is a program for causing a computer to function as the above-mentioned route teaching data generating device. Effect of the Invention
[0009] The present invention has the effect of reducing the burden on the user. [Brief description of the drawings]
[0010] [Figure 1] 1 is a system schematic diagram illustrating an overall configuration of a robot system according to an embodiment of the present invention. [Diagram 2] 1 is a schematic diagram showing an example of a hardware configuration of a route teaching data creation device according to an embodiment of the present invention; [Diagram 3] 2 is a functional block diagram showing an example of functions of a route teaching data generating device according to an embodiment of the present invention; FIG. [Figure 4] FIG. 1 is a diagram showing an example of a three-dimensional model. [Diagram 5] 11 is a diagram for explaining a selection process executed by a selection unit according to an embodiment of the present invention. FIG. [Figure 6] 11 is a diagram for explaining a selection process executed by a selection unit according to an embodiment of the present invention. FIG. [Figure 7] 11 is a diagram for explaining a selection process executed by a selection unit according to an embodiment of the present invention. FIG. [Figure 8] 11 is a diagram for explaining a selection process executed by a selection unit according to an embodiment of the present invention. FIG. [Figure 9] 4 is a flowchart showing an example of a procedure of a route teaching data creating method according to an embodiment of the present invention. [Figure 10] 4 is a flowchart showing an example of a procedure of a route teaching data creating method according to an embodiment of the present invention. [Figure 11] 4 is a flowchart showing an example of a procedure of a route teaching data creating method according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A route teaching data creating device, a route teaching data creating method, and a program according to an embodiment of the present invention will be described below with reference to the drawings.
[0012] 1 is a system schematic diagram showing an overall configuration of a robot system 100 according to an embodiment of the present invention. As shown in FIG 1, the robot system 100 includes, for example, a path teaching data generating device 1, a robot control device 2, and a robot 3.
[0013] The path teaching data creating device 1 is a device for creating path teaching data required for drive control of the robot 3 by using design data including information on a plurality of curves.
[0014] The robot control device 2 is a control device that drives and controls the robot 3. The robot control device 2 drives and controls the robot 3 based on the path teaching data created by the path teaching data creating device 1, for example. For example, the path teaching data creating device 1 and the robot control device 2 are connected via a network and configured to be able to transmit and receive data. The path teaching data created by the path teaching data creating device 1 is transmitted to the robot control device 2 via the network and used in the robot control device 2.
[0015] The robot 3 is, for example, an industrial robot, and based on the drive control by the robot control device 2, a tool (hereinafter referred to as the "robot tool") attached to the end of an arm follows a path based on path teaching data and performs various set processes such as applying adhesive, removing burrs, and tightening screws.
[0016] Fig. 2 is a schematic diagram showing an example of a hardware configuration of a route teaching data creation device 1 according to an embodiment of the present invention. As shown in Fig. 2, the route teaching data creation device 1 is a so-called computer, and includes, for example, a CPU (Central Processing Unit) 11, a main memory 12, a storage unit 13, an external interface 14, a communication interface 15, an input unit 16, and a display unit 17. These units are connected to each other directly or indirectly via a bus, and cooperate with each other to execute various processes. The input unit 16 and the display unit 17 may be connected to each other, for example, via a network.
[0017] The CPU 11 controls the entire route teaching data creation device 1 using, for example, an OS (Operating System) stored in a memory unit 13 connected via a bus, and performs various processes by executing various programs stored in the memory unit 13.
[0018] The main memory 12 is composed of writable memory such as a cache memory or a RAM (Random Access Memory), and is used as a working area for reading out execution programs of the CPU 11, writing processing data by the execution programs, and the like.
[0019] The storage unit 13 is a non-transitory computer readable storage medium, such as a ROM (Read Only Memory), an HDD (Hard Disk Drive), a flash memory, etc. The storage unit 13 stores, for example, an OS for controlling the entire route teaching data creation device 1, such as Windows (registered trademark), iOS (registered trademark), Android (registered trademark), a BIOS (Basic Input / Output System), various device drivers for operating the hardware of peripheral devices, various application software, and various data and files. The storage unit 13 also stores programs for realizing various processes and various data required for realizing various processes.
[0020] The external interface 14 is an interface for connecting to an external device. Examples of the external device include an external monitor, a USB memory, an external HDD, etc. Although only one external interface is illustrated in the example shown in FIG. 1, multiple external interfaces may be provided.
[0021] The communication interface 15 functions as an interface for connecting to a network to communicate with other devices and for transmitting and receiving information. For example, the communication interface 15 communicates with other devices by wire or wirelessly. Examples of wireless communication include Bluetooth (registered trademark), Wi-Fi, and communication using a dedicated communication protocol. An example of wired communication is a wired LAN (Local Area Network).
[0022] The input unit 16 is a user interface such as a keyboard, a mouse, a touch pad, etc., through which a user gives instructions to the route teaching data generating device 1.
[0023] The display unit 17 is, for example, a liquid crystal display, an organic EL (Electroluminescence) display, etc. Furthermore, the display unit 17 may be a touch panel display on which a touch panel is superimposed.
[0024] Fig. 3 is a functional block diagram showing an example of functions included in the route teaching data creation device 1. As shown in Fig. 3, the route teaching data creation device 1 includes, for example, a CAD data storage unit 21, a CAD data acquisition unit 22, a display control unit 23, a selection unit 24, a route creation unit 25, a route teaching data storage unit 26, and a route change unit 27.
[0025] All or part of these functions are realized, for example, by a processing circuit. For example, one As an example, the associated processing is stored in the memory unit 13 in the form of a program (e.g., a route teaching data creation program), and the CPU 11 reads this program into the main memory 12 and executes information processing and arithmetic operations to realize various functions.
[0026] The program may be pre-installed in the storage unit 13, provided in a state stored in another computer-readable storage medium, or distributed via wired or wireless communication means, etc. Computer-readable storage media include magnetic disks, magneto-optical disks, CD-ROMs, DVD-ROMs, semiconductor memories, etc.
[0027] For example, multiple pieces of three-dimensional CAD data are stored in the CAD data storage unit 21. The three-dimensional CAD data is design data related to a product to be processed by the robot 3. The design data may be design data for a final processed product or design data for an intermediate product.
[0028] The three-dimensional CAD data includes, for example, information on a plurality of curves (spline curves). Here, the concept of "curve" includes "straight line", and an example is a spline curve. The information on each curve includes coordinate information on a first end and coordinate information on a second end of the curve, and information for connecting the first end and the second end. Examples of information for connecting the first end and the second end include tangent information, vector information, etc. Each curve may also have direction information. In this case, one of the first end and the second end has information as a start point, and the other has information as an end point.
[0029] When input information specifying one of the multiple three-dimensional CAD data stored in the CAD data storage unit 21 is input from the input unit 16, the CAD data acquisition unit 22 acquires the specified three-dimensional CAD data from the CAD data storage unit 21.
[0030] The display control unit 23 causes the display unit 17 to display the three-dimensional model represented by the three-dimensional CAD data acquired by the CAD data acquisition unit 22 .
[0031] Moreover, the display control unit 23 causes the display unit 17 to display a route based on route teaching data created by a route creation unit 25 (described later). This makes it possible to visually present to the user the route to be followed by the robot tool.
[0032] When a user operates the input unit 16 to input input information specifying one of the curves and its starting point, the selection unit 24 sets the specified curve as a source curve, which is the curve from which the connection is made, and selects another curve that is connected to the end point of the source curve as a destination curve.
[0033] For example, assume that a three-dimensional model as shown in Fig. 4 is displayed on the display unit 17, and the user operates the input unit 16 to specify a point A and a curve L. In this case, as shown in Fig. 5, the selection unit 24 sets the point A as a starting point P1, and sets the curve L1 including the starting point P1 as a connection source curve.
[0034] Next, the selection unit 24 identifies another curve that is connected to the end point of the source curve from the 3D CAD data. As a result, for example, as shown in Fig. 6, a curve L2 is identified as the other curve that is connected to the end point P2 of the source curve L1. Then, when there is only one other curve identified, the selection unit 24 selects the other curve as a destination curve and selects a curve that will be the destination curve by setting the selected other curve as the next source curve.
[0035] For example, in the example shown in Fig. 6, since there is only one other curve L2 connected to the end point P2, the curve L2 is selected as the destination curve and set as the next source curve. Then, another curve connected to the end point P3 of the source curve L2 is specified. By repeating this process, for example, as shown in Fig. 6, the curves L2 to L6 are sequentially selected as destination curves and sequentially set as source curves.
[0036] In addition, when there are multiple other curves connected to the source curve, the selection unit 24 selects one of the other curves as the destination curve based on the final tangent direction (e.g., terminal vector) of the source curve and the starting tangent direction (e.g., starting vector) of each of the multiple other curves. More specifically, the selection unit 24 calculates a connection angle θ, which is the angle between the final tangent direction of the source curve and the starting tangent directions of each of the multiple other curves, and selects the other curve with the smallest calculated connection angle θ as the destination curve.
[0037] For example, in the three-dimensional model illustrated in Fig. 6, curves L7 and L8 exist as other curves connected to end point P7 of curve L6, which is the source curve. In this case, the selection unit 24 calculates, for example, the connection angle between curve L6, which is the source curve, and curve L7, and the connection angle between curve L6 and curve L8. Here, Fig. 7 is an enlarged view of the periphery of curve L6.
[0038] The connection angle θ is expressed by, for example, the following formula.
[0039]
number
[0040] The selection unit 24 selects the curve having the smallest connection angle from among the calculated connection angles as the connection destination curve. For example, the selection unit 24 selects the curve having the cos θ value expressed by the above formula (1) that is closest to 1 as the connection destination curve. As a result, in the 3D model illustrated in Fig. 7, curve L7 is selected as the connection destination curve of curve L6. Note that in the 3D model illustrated in Fig. 7, curves L6, L7, and L8 are represented as approximately straight lines, and therefore there is no distinction between the start vector and the end vector, but in the case of a spline curve, the start tangent direction and the final tangent direction of the curve may be different directions, and in that case a distinction is necessary.
[0041] Furthermore, when the connection angles between the source curve and the multiple other curves are equal, the selection unit 24 identifies a plane from the start point of the curve connected to the start point of the source curve and the start point and end point of the source curve, and then selects one of the multiple other curves as a destination curve based on this plane and the starting tangent directions of the multiple other curves.
[0042] For example, if the three-dimensional model is a rectangular parallelepiped as shown in Figure 8, the curve L, which is the source curve (a curve also includes a straight line), n The other curves connected to are the curves L n+1 and curve L n+2Since each of these curves intersects with the source curve at a right angle, the connection angles are equal. In this case, the selection unit 24 selects the source curve L n Starting point P n Curve L connected to n-1 Starting point P n-1 And the connecting curve L n Starting point P n and end point P n+1 Then, the normal vector of the specified plane and the curve L n+1 , curve L n+2 The complementary angle between each of the start tangent directions is calculated, and the curve with the smallest complementary angle is selected as the connection destination curve.
[0043] Here, if the angle between the normal vector of the plane and the starting tangent vector of the curve is D, the complementary angle E is expressed by the following equation (2).
[0044]
number
[0045] As a result, in the three-dimensional model shown in FIG. n+1 is selected as the destination curve.
[0046] In addition, in the case of a starting point, for example, when there is no curve connected to the starting point of the source curve, the normal vector of any plane (e.g., the XY plane) in the orthogonal coordinate system in which the three-dimensional model is defined may be used.
[0047] The route creation unit 25 creates route teaching data based on the multiple curves selected by the selection unit 24. Specifically, the route creation unit 25 creates route teaching data by adding connection information for sequentially connecting the curves selected by the selection unit 24 to information on each curve.
[0048] The route teaching data created by the route creation unit 25 is stored in a route teaching data storage unit 26.
[0049] For example, when a user inputs a correction instruction for the path of the robot tool displayed on the display unit 17 by the display control unit 23, the path change unit 27 changes the path teaching data based on the input correction instruction and updates the path teaching data in the path teaching data memory unit 26.
[0050] Next, a route teaching data creating method according to this embodiment will be described with reference to Fig. 9 to Fig. 11. Fig. 9 to Fig. 11 are flowcharts showing an example of a processing procedure of the route teaching data creating method according to this embodiment. The processing described below is realized, for example, by the CPU 11 reading a program (route teaching data creating program) stored in the storage unit 13 into the main memory 12 and executing it.
[0051] First, when any 3D CAD data is specified by the user, the specified 3D CAD data is obtained from the CAD data storage unit 21 (SA1), and a 3D model represented by the obtained 3D CAD data is displayed on the display unit 17 (SA2). Next, when any curve and a start point are specified by the user, the specified curve is set as a connection source curve (SA3), and another curve connected to the end point of the connection source curve is identified (SA4). Next, it is determined whether or not there are multiple other curves identified (SA5). As a result, if there is only one other curve (SA5: NO), the identified other curve is selected as a connection destination curve (SA6), and the process proceeds to step SA14.
[0052] On the other hand, if there are multiple other curves (SA5: YES), the connection angles between the final tangent direction (e.g., terminal vector) of the source curve and the starting tangent direction (e.g., start vector) of each of the other curves are calculated (SA7 in FIG. 10). Next, the other curve with the smallest angle among the calculated connection angles is identified (SA8), and it is determined whether the identified other curves are identified as one (SA9). As a result, if they are identified as one (SA9: YES), the identified other curve is selected as the destination curve (SA10), and the process proceeds to step SA14 in FIG. 9.
[0053] On the other hand, in step SA9, if the number of other curves specified is not one (SA9: NO), for example, if there are multiple other curves with the same connection angle as shown in Fig. 8, a plane specified by the start point of the curve connected to the start point of the source curve and the start point and end point of the source curve is specified (SA11). Then, the complement angle of the angle between the normal vector of the specified plane and each starting tangent direction of the multiple other curves is calculated (SA12). Next, the other curve with the smallest complement angle is selected as the destination curve (SA13), and the process proceeds to step SA14 in Fig. 9.
[0054] 9, it is determined whether the end point of the selected destination curve satisfies a processing end condition (SA14). Examples of the processing end condition include whether the end point of the selected destination curve is the start point of the initial source curve, whether the end point of the selected destination curve is the end point specified by the user, etc.
[0055] As a result, if the processing end condition is not satisfied (SA14: NO), the selected destination curve is set as the source curve (SA15), and the process returns to step SA4 to repeat the above-mentioned processing, thereby sequentially selecting a plurality of curves that form a single connection.
[0056] On the other hand, in step SA14, if the end point of the connection destination curve satisfies the processing end condition (SA14: YES), route teaching data is created based on the information of the selected curves (SA16 in FIG. 11). Then, the created route teaching data is stored in the route teaching data storage unit 26 (SA17), and the drive path of the robot tool based on the path teaching data is displayed on the display unit 17 (SA18).
[0057] Next, it is determined whether or not the user has input an instruction to correct the drive path of the robot tool (SA19). For example, the user checks whether there is an error in the movement path of the robot tool displayed on the display unit 17, and if there is an error, manually corrects it by operating the input unit 16. In this way, if the drive path has been corrected by the user (SA19: YES), the path teaching data in the path teaching data storage unit 26 is changed based on the correction instruction (SA20), and the process proceeds to step SA21.
[0058] On the other hand, if no correction instruction is input from the user in step SA19 (SA19: NO), the process proceeds to step SA21.
[0059] In step SA21, it is determined whether or not an end instruction has been input by the user. If an end instruction has not been input (SA21: NO), the process returns to step SA19 and repeats the subsequent processes. On the other hand, if an end instruction has been input by the user in step SA21 (SA21: YES), the process ends.
[0060] By executing the above process, the path teaching data created based on the three-dimensional CAD data is stored in the path teaching data storage unit 26. Then, for example, in response to a request from the robot control device 2 (see FIG. 1), predetermined path teaching data is read out from the path teaching data storage unit 26 and used by the robot control device 2 for driving control of the robot 3.
[0061] As described above, the route teaching data creating device 1 and the route teaching data creating method and program according to the present embodiment provide the following advantageous effects.
[0062] According to this embodiment, another curve connected to the end point of the source curve is selected as the destination curve, the selected other curve is set as the next source curve, and another curve connected to the source curve is further selected. By repeating this process, a plurality of curves that form a single line are selected, and route teaching data is created based on the selected plurality of curves. This makes it possible to automatically create route teaching data from three-dimensional CAD data. As a result, it is possible to reduce the burden on the user involved in creating route teaching data.
[0063] Furthermore, when there are multiple other curves connected to the end point of the source curve, in other words, when there are multiple candidates for curves to be connected to the source curve, one of the other curves is selected as the destination curve based on the final tangent direction (e.g., terminal vector) of the source curve and each starting tangent direction (e.g., starting vector) of the multiple other curves.
[0064] More specifically, a connection angle, which is the angle between the final tangent direction of the source curve and the starting tangent directions of each of the multiple other curves, is calculated, and the other curve with the smallest connection angle is selected as the destination curve.
[0065] In this way, since the destination curve is selected taking into consideration the connection angle of another curve with respect to the source curve, it is possible to select an appropriate curve as the destination curve.
[0066] Furthermore, when the connection angles of the multiple other curves that are candidates for the destination are equal, a plane is specified from the start point of the curve that is connected to the start point of the source curve and the start point and end point of the source curve. Then, based on this plane and the starting tangent directions of the multiple other curves, one of the multiple other curves is selected as the destination curve. This makes it possible to select an appropriate destination curve even when multiple other curves that are connected to the source curve at the same angle exist as candidates for the destination curve, for example, as shown in FIG.
[0067] Also provided is an input unit 16 for the user to specify the initial connection source curve and its starting point, which enables the user to specify a desired starting point and to specify the direction in which the path will proceed from the starting point.
[0068] In addition, since the driving path of the robot 3 based on the created path teaching data is displayed on the display unit 17, the user can easily check the driving path of the robot 3 based on the automatically created path teaching data. Furthermore, when the user makes corrections to the robot drive path, the path teaching data is changed based on the correction instructions. This allows the user to easily make corrections when the robot drive path based on the path teaching data is not appropriate.
[0069] Although the present invention has been described above using the embodiments, the technical scope of the present invention is not limited to the scope described in the above embodiments. Various modifications or improvements can be made to the above embodiments without departing from the gist of the invention, and the forms in which such modifications or improvements are made are also included in the technical scope of the present invention. In addition, the above embodiments may be combined as appropriate. Furthermore, the flow of the route teaching data creation method described in the above embodiment is also one example, and unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged within the scope of the present invention.
[0070] For example, in the above embodiment, the case where the initial curve and the start point are specified by the user has been described, but the setting of the curve and the start point is not limited to the above example. For example, when the initial conditions are determined in advance, the initial connection source curve and the start point may be automatically set based on the initial conditions, or other methods may be used.
[0071] In the above embodiment, a threshold value of the connection angle may be set as a judgment condition when the selection unit 24 selects a destination curve. For example, if the destination curve is connected to the source curve at an acute angle, it is highly likely that the connection is not as intended by the user. To avoid such an inappropriate connection, for example, the selection unit 24 may make the following judgment.
[0072] For example, when another curve connected to the end point of the connection source curve is specified, the selection unit 24 calculates the connection angle of the specified other curve and judges whether the calculated connection angle is equal to or greater than a threshold. Then, when the connection angle is less than the threshold, the selection unit 24 selects the specified other curve as the connection destination curve. When the connection angle is equal to or greater than the threshold, the selection unit 24 judges whether there is another curve connected to the connection source curve, and when there is another curve, the selection unit 24 may exclude the other curve from the candidates. Also, for example, the connection relationship between the connection source curve and the connection destination curve may be displayed on the display unit 17 to allow the user to select. Such a judgment process can be provided, for example, between step SA4 and step SA5 in FIG. 9, or between step SA5 and step SA6. The threshold value of the connection angle can be set to any value greater than 90°, for example.
[0073] In the above embodiment, a case where a plurality of three-dimensional CAD data are stored in the CAD data storage unit 21 has been described as an example, but the storage location of the three-dimensional CAD data is not particularly limited. For example, the three-dimensional CAD data may be stored in a specific server connected to a network, and the CAD data acquisition unit 22 may acquire the three-dimensional CAD data by downloading the three-dimensional CAD data from the server via the network. The three-dimensional CAD data may be stored in a computer-readable storage medium (e.g., a magnetic disk, a magneto-optical disk, a CD-ROM, a DVD-ROM, a semiconductor memory, etc.) that is detachable from the route teaching data creation device 1, and the CAD data acquisition unit 22 may acquire the three-dimensional CAD data in a state in which the storage medium is connected to the route teaching data creation device 1.
[0074] Similarly, in the above embodiment, the case where the route teaching data is stored in the route teaching data storage unit 26 has been exemplified, but the storage location of the route teaching data is not limited to this example. That is, like the above-mentioned three-dimensional CAD data, the route teaching data may be stored in a specific server, or may be stored in a computer-readable storage medium that is detachable from the route teaching data creation device 1.
[0075] Furthermore, in the above embodiment, the route teaching data creating device 1 and the robot control device 2 are connected via a network, and the route teaching data is transmitted and received via the network, but the transfer of the route teaching data is not limited to this example. For example, the route teaching data may be provided from the route teaching data creating device 1 to the robot control device 2 via a computer-readable recording medium.
[0076] Furthermore, the robot control device 2 may include the path teaching data creating device 1, and the path teaching data may be created in the robot control device 2. In other words, the robot control device 2 may be configured to be equipped with various functions provided in the path teaching data creating device 1. [Explanation of symbols]
[0077] 1: Route teaching data creation device 2: Robot control device 3: Robot 11: CPU 12: Main memory 13: Storage section 14: External interface 15: Communication interface 16: Input section 17:Display section 21: CAD data storage section 22: CAD data acquisition section 23: Display control section 24: Selection section 25: Route creation section 26: Route instruction data storage unit 27: Route change section 100: Robot Systems
Claims
1. A path teaching data creation device for creating path teaching data required for drive control of a robot using design data including information on a plurality of curves, comprising: a selection unit that selects another curve that is connected to an end point of the source curve as a destination curve, and sequentially selects curves to be the destination curves by setting the selected other curve as the next source curve; a route creation unit that creates the route teaching data based on the plurality of curves selected by the selection unit; Equipped with The selection unit is a route teaching data creation device that, when there are multiple other curves connected to the end point of the source curve, selects one of the other curves as the destination curve based on the final tangent direction of the source curve and the respective starting tangent directions of the multiple other curves.
2. 2. The route teaching data creation device according to claim 1, wherein, when there are a plurality of other curves connected to an end point of the source curve, the selection unit calculates a connection angle which is an angle between a final tangent direction of the source curve and a starting tangent direction of each of the plurality of other curves, and selects the other curve having the smallest connection angle as the destination curve.
3. 3. The path teaching data creation device according to claim 2, wherein, when the connection angles are equal, one of the other curves is selected as the destination curve based on a plane specified by the start point of the curve connected to the start point of the source curve and the start point and end point of the source curve, and each of the start tangent directions of the other curves.
4. 4. The route teaching data generating device according to claim 1, further comprising an input unit for allowing a user to specify the first connection source curve and its starting point.
5. a display control unit for displaying a drive path of the robot based on the path teaching data created by the path creation unit; a path change unit that changes the path teaching data based on a correction instruction inputted by a user when the user corrects the drive path of the robot; 5. The route teaching data generating device according to claim 1, further comprising:
6. A method for creating path teaching data required for drive control of a robot using design data including information on a plurality of curves, comprising the steps of: A step of determining whether there are a plurality of other curves connected to an end point of the source curve, which is a source curve; if there are not a plurality of other curves, selecting the other curve as a destination curve; if there are a plurality of other curves, selecting one of the other curves as the destination curve based on a final tangent direction of the source curve and each of the starting tangent directions of the plurality of other curves; a step of setting the selected other curve as the next connection source curve; creating the path teaching data based on the selected plurality of curves; The route teaching data creation method is executed by a computer.
7. A program for causing a computer to function as the route teaching data generating device according to any one of claims 1 to 5.