Route generation device, route generation method, and route generation program
Patent Information
- Application Number
- JP2021172581
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-10-21
- Publication Date
- 2025-03-05
- Estimated Expiration
- 2041-10-21
Smart Images

Figure 0007639650000001 
Figure 0007639650000002 
Figure 0007639650000003
Abstract
Description
[Technical field]
[0001] This relates to a technology for generating a path for a robot having multiple parts that are connected so that they can rotate relative to each other. [Background technology]
[0002] Patent Document 1 discloses a technique for calculating an evaluation value for each arrangement of robots and devices using an avoidance interference trajectory generated by a path search algorithm such as RRT (Rapidly-exploring Random Trees). In this way, it is possible to adopt an arrangement of robots and devices with a good evaluation value. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2018-20410 A Summary of the Invention [Problem to be solved by the invention]
[0004] The interference avoidance trajectory is a path along which a robot moves from a starting point to an end point while avoiding interference. Hereinafter, the interference avoidance trajectory will be referred to as a path. Even if a path is searched for using a path search device, there are cases where no path can be generated. Patent Document 1 does not disclose how to deal with the case where no path can be generated.
[0005] There are various reasons why a route cannot be generated, such as interference between a via point and equipment, interference between via points and equipment, no solution for inverse kinematics at a via point, singularity errors during CP (Continuous Path) operation, etc. If a route cannot be generated, the user should change the equipment layout or the via points of the robot, and then run the route generation process again.
[0006] As mentioned above, there are various reasons why a route cannot be generated. Furthermore, identifying the cause requires knowledge of robot mechanisms and experience in facility design. For this reason, users often do not know what to do and end up resorting to trial and error. As a result, route generation is a time-consuming task.
[0007] The present disclosure has been made based on these circumstances, and its purpose is to provide a route generation device, a route generation method, and a route generation program that make it easy to identify the cause of a route not being able to be generated when a route cannot be generated. [Means for solving the problem]
[0008] The above object is achieved by the combination of features recited in the independent claims, and the subclaims define further advantageous specific examples. The reference characters in parentheses in the claims correspond to specific aspects described in the following embodiment as one aspect, and are not intended to limit the disclosed technical scope.
[0009] One disclosure of a route generation device for achieving the above object is: A path generation device that generates a path for a robot having a plurality of parts that are connected to each other so as to be capable of relative rotation, a waypoint registration unit (141) for registering a plurality of waypoints, each of which includes a start point and an end point and represents one posture of the robot; a via point condition determination unit (142) that determines whether a registered via point, which is a via point registered by the via point registration unit, is possible as a posture of the robot based on a previously set condition; a route generation unit (143) that generates a route connecting the added route points with the existing route points while adding the route points; a route condition determination unit (144) that determines whether the route generated by the route generation unit satisfies the conditions for the robot to be able to operate, and adds the via point added by the route generation unit to the sequence of via points constituting the route if the route satisfies the conditions for the robot to be able to operate, and does not add the via point added by the route generation unit to the sequence of via points constituting the route if the route does not satisfy the conditions for the robot to be able to operate, The route generating unit and the route condition determining unit repeat the process until the route reaches the end point if the processing continuation condition is satisfied. The method further includes a determination result display processing unit (145, 245, 345, 445) for displaying, on a display device, the determination results determined by the via point condition determination unit and the route condition determination unit, and conditions that are determined not to be satisfied in the determination, If the route generating unit determines that the route point to be added interferes with an obstacle, the route generating unit does not add the route point and re-adds the route point. The judgment result display processing unit is If the via point condition determination unit and the route condition determination unit determine that the conditions are not satisfied and the route cannot be generated, Judgment results and , judgment The route generation device displays on a display device the conditions that are determined to be not satisfied in the determination. Another disclosure of a route generation device for achieving the above object is: A path generation device that generates a path for a robot having a plurality of parts that are connected to each other so as to be capable of relative rotation, a waypoint registration unit (141) for registering a plurality of waypoints, each of which includes a start point and an end point and represents one posture of the robot; a via point condition determination unit (142) that determines whether a registered via point, which is a via point registered by the via point registration unit, is possible as a posture of the robot based on a previously set condition; a route generation unit (143) that generates a route connecting the added route points with the existing route points while adding the route points; a path condition determination unit (144) that determines whether the path generated by the path generation unit satisfies a condition that enables the robot to operate; The route generating unit and the route condition determining unit repeat the process until the route reaches the end point if the processing continuation condition is satisfied. The method further includes a determination result display processing unit (145, 245, 345, 445) for displaying, on a display device, the determination results determined by the via point condition determination unit and the route condition determination unit, and conditions that are determined not to be satisfied in the determination, The determination result display processing unit (245) is a path generating device that displays on a display device the proportion of interference occurring to the robot, which is one of the states in which the path does not satisfy the conditions, for each interfering object.
[0010] This route generation device includes a determination result display processing unit, and displays the conditions that are determined to be not satisfied on a display device. Therefore, a user of the route generation device can easily identify the cause of the inability to generate a route by checking the conditions that are determined to be not satisfied and displayed on the display device.
[0011] One disclosure relating to a route generation method for achieving the above object is: A path generation method for generating a path for a robot having a plurality of parts connected to each other so as to be capable of relative rotation, comprising the steps of: Register multiple waypoints, each of which includes a start point and an end point and represents one posture of the robot. determining whether the registered waypoint is a possible posture of the robot based on a preset condition; While adding a waypoint, generate a route connecting the added waypoint with the existing waypoint; determining whether the generated route satisfies the conditions for the robot to be able to operate, and if the route satisfies the conditions for the robot to be able to operate, adding a via point to a sequence of via points constituting the route, whereas if the route does not satisfy the conditions for the robot to be able to operate, not adding a via point to a sequence of via points constituting the route; If the processing continuation condition is satisfied, the addition of intermediate points and the generation of routes are repeated until the route reaches the end point. Displaying on a display device the judgment result for the registered via points, the judgment result for the generated route, and the conditions that are judged not to be satisfied in the judgment; If the waypoint you want to add is interfering with an obstacle, do not add it and try adding the waypoint again. If it is determined that the registered waypoint does not meet the conditions and the route cannot be generated, or if it is determined that the generated route does not meet the conditions and the route cannot be generated, Judgment results and , judgment In the method, a condition that is determined not to be satisfied in the determination is displayed on a display device. Another disclosure relating to a route generation method for achieving the above object is: A path generation method for generating a path for a robot having a plurality of parts connected to each other so as to be capable of relative rotation, comprising the steps of: Register multiple waypoints, each of which includes a start point and an end point and represents one posture of the robot. determining whether the registered waypoint is a possible posture of the robot based on a preset condition; While adding a waypoint, generate a route connecting the added waypoint with the existing waypoint; Determine whether the generated path satisfies the conditions for the robot to operate; If the processing continuation condition is satisfied, the addition of intermediate points and the generation of routes are repeated until the route reaches the end point. Displaying on a display device the judgment result for the registered via points, the judgment result for the generated route, and the conditions that are judged not to be satisfied in the judgment, and This is a path generation method in which, for interference that occurs to a robot, which is one of the states in which the path does not satisfy the conditions, the percentage of interference is displayed on a display device for each interfering object.
[0012] One disclosure of a route generation program for achieving the above object is: A path generation program that is executed by a processor and causes the processor to generate a path along which a robot having a plurality of parts that are connected to each other so as to be capable of rotating relative to each other moves, The processor: Register multiple waypoints, each of which includes a start point and an end point and represents one posture of the robot. determining whether the registered waypoint is a possible posture of the robot based on a preset condition; While adding a waypoint, generate a route connecting the added waypoint with the existing waypoint; determining whether the generated route satisfies the conditions for the robot to be able to operate, and if the route satisfies the conditions for the robot to be able to operate, adding a via point to a sequence of via points constituting the route, whereas if the route does not satisfy the conditions for the robot to be able to operate, not adding a via point to a sequence of via points constituting the route; If the processing continuation condition is satisfied, the addition of intermediate points and the generation of routes are repeated until the route reaches the end point. Displaying on a display device the judgment result for the registered via points, the judgment result for the generated route, and the conditions that are judged not to be satisfied in the judgment; If the waypoint you want to add is interfering with an obstacle, do not add it and try adding the waypoint again. If it is determined that the registered waypoint does not meet the conditions and the route cannot be generated, or if it is determined that the generated route does not meet the conditions and the route cannot be generated, Judgment results and , judgment and a display device that displays the conditions that are determined to be not satisfied in the determination. Another disclosure relating to a route generation program for achieving the above object is: A path generation program that is executed by a processor and causes the processor to generate a path along which a robot having a plurality of parts that are connected to each other so as to be capable of rotating relative to each other moves, The processor: Register multiple waypoints, each of which includes a start point and an end point and represents one posture of the robot. determining whether the registered waypoint is a possible posture of the robot based on a preset condition; While adding a waypoint, generate a route connecting the added waypoint with the existing waypoint; Determine whether the generated path satisfies the conditions for the robot to operate; If the processing continuation condition is satisfied, the addition of intermediate points and the generation of routes are repeated until the route reaches the end point. Displaying on a display device the judgment result for the registered via points, the judgment result for the generated route, and the conditions that are judged not to be satisfied in the judgment; This is a path generation program that displays on a display device the percentage of interference that occurs to a robot for each interfering object, which is one of the states in which the path does not satisfy the conditions. [Brief description of the drawings]
[0013] [Figure 1] FIG. 1 is a diagram showing the configuration of a route generating device 100 according to a first embodiment. [Diagram 2] FIG. 1 is a diagram showing a configuration of a robot 10. [Diagram 3] FIG. 2 is a block diagram showing the functions of a processor 140. [Figure 4] FIG. 4 is a diagram showing the processing executed by the processor 140 when the robot 10 performs PTP operation. [Diagram 5] FIG. 4 is a diagram showing the process executed by the processor 140 when the robot 10 performs CP operation. [Figure 6] FIG. 11 is a diagram showing functions executed by a processor 240 in the second embodiment. [Figure 7] FIG. 13 is a diagram showing an environment in which a route generation device according to a second embodiment calculates a route. [Figure 8] FIG. 13 is a diagram showing an environment in which a route generation device according to a second embodiment calculates a route. [Figure 9] FIG. 2 is a diagram illustrating an example of a posture figure 20 when it is determined that paths interfere with each other. [Figure 10] 13 is a diagram showing a posture diagram 20 indicating the posture of the robot 10 when it interferes with the environment B. [Figure 11] 13 is a diagram showing the posture of the third arm 12c when it interferes with the environment A as a posture diagram 20. FIG. [Figure 12] FIG. 13 is a diagram showing an example of a display of a rate of interference. [Figure 13] 11 is a diagram showing the rate of interference by interfering object and by interfering portion. [Figure 14] 11 is a diagram showing the rate of interference by interfering object and by interfering portion. [Figure 15] FIG. 13 is a diagram showing functions executed by a processor 340 according to the third embodiment. [Figure 16]The figure shows the judgment results for each via point when the position of the robot 10 is changed. [Figure 17] FIG. 13 is a diagram showing an example display of a summary of determination results when the state setting value is changed. [Figure 18] FIG. 13 is a diagram showing functions executed by a processor 440 in the fourth embodiment. [Figure 19] FIG. 13 is a diagram for explaining a possible movement amount d when there are no constraints. [Figure 20] FIG. 13 is a diagram for explaining a possible movement amount d when there is a constraint. [Figure 21] FIG. 13 is a diagram showing the process executed by a possible variation calculation unit 447. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0014] First Embodiment Hereinafter, an embodiment will be described with reference to the drawings. FIG. 1 is a diagram showing the configuration of a path generating device 100 of a first embodiment. The path generating device 100 is a device that generates a path for a robot 10 shown in FIG. 2, for example. A path means a change in the posture of the robot 10 over time. A path is indicated by a set of waypoints from a start point to an end point. Each waypoint is a set of parameters that specify the posture of the robot. Note that the posture of the robot 10 is also specified by the start point and the end point. The start point and the end point are also included in the waypoints.
[0015] The robot 10 shown in Fig. 2 is configured to include a base 11, five arms 12, and one hand 13. The base 11 is installed on a workbench or the like. The five arms 12 are a first arm 12a, a second arm 12b, a third arm 12c, a fourth arm 12d, and a fifth arm 12e. When there is no need to distinguish between these, they will be referred to as arms 12.
[0016] The base 11 and the first arm 12a are configured to be relatively rotatable by a built-in motor. Similarly, the second arm 12b and the third arm 12c, the third arm 12c and the fourth arm 12d, the fourth arm 12d and the fifth arm 12e, and the fifth arm 12e and the hand 13 are also configured to be relatively rotatable. The robot 10 configured in this manner is configured to have six rotation axes. The six rotation axes cause seven parts, namely the base 11, the five arms 12, and the hand 13, to rotate relative to the parts connected by the rotation axes. Since the robot 10 has six rotation axes, the posture of the robot 10, i.e., the via point, is determined by the rotation angles of the six axes. The rotation axes are sometimes called joints. Note that the number of rotation axes may be one or more and is not limited to six.
[0017] Returning to Fig. 1 for explanation, the route generation device 100 includes an input device 110, a display device 120, and a control device 130. The control device 130 includes a processor 140, a ROM 150, and a RAM 160. The route generation device 100 having such a configuration can also be realized by a general-purpose computer.
[0018] The input device 110 is a keyboard or the like, and is used to input the structure of the robot 10, via points, and other simulation conditions. The display device 120 can display a route generated by the control device 130. Furthermore, when a route is not generated, the display device 120 also displays the determination results regarding the via points, etc.
[0019] A route generation program executed by the processor 140 is stored in the ROM 150, which is a non-volatile storage medium. The processor 140 executes the route generation program stored in the ROM 150 while utilizing the temporary storage function of the RAM 160, whereby the processor 140 executes each unit shown in Fig. 3. The processor 140 executing each unit shown in Fig. 3 means that a route generation method corresponding to the route generation program is executed.
[0020] As shown in Fig. 3, the processor 140 includes a way point registration unit 141, a way point condition determination unit 142, a path generation unit 143, a path condition determination unit 144, and a determination result display processing unit 145. The processes executed by these units will be described with reference to the flowcharts shown in Figs. 4 and 5. Fig. 4 shows the processes executed when the robot 10 performs a PTP (Point to Point) operation, and Fig. 5 shows the processes executed when the robot 10 performs a CP operation. The CP operation is an operation in which the position and orientation of the hand 13 are linearly interpolated in the working space when the robot 10 moves between way points. On the other hand, the PTP operation is an operation in which the joint angle is linearly interpolated in the joint space.
[0021] The flowchart shown in Fig. 4 is started by a start operation by a user of the path generation device 100. The path generation device 100 searches for a path by executing the flowchart shown in Fig. 4. Note that, before executing Fig. 4, information necessary for path calculation other than the information input in S10, such as information specifying the structure of the robot 10 and information specifying the range in which an obstacle exists, is stored in a storage unit provided in the path generation device 100.
[0022] Step (hereinafter, step will be omitted) S10 is a process executed by the via point registration unit 141. In S10, the user registers via points including at least a start point and an end point. Hereinafter, the via points registered by the user are referred to as registered via points. Information for registering the registered via points is the rotation angles of all the rotation axes of the robot 10, or the tip position and posture of the hand 13. The via points are determined by the rotation angles of all the rotation axes of the robot 10. However, it may be difficult for the user to input the rotation angles of all the rotation axes. On the other hand, once the tip position and posture of the hand 13 are determined, the posture of the robot 10, i.e., the via points, may be identified by inverse kinematics. Therefore, in S10, the via points can be registered even with the tip position and posture of the hand 13.
[0023] In addition, in S10, in addition to the registered way points, a control method between the registered way points may also be registered, and path generation conditions may also be registered. The control method between the registered way points includes an interpolation method between the registered way points. The interpolation method is the PTP operation or CP operation described above. The interpolation method between the registered way points may also include a moving speed, whether or not to execute high-trajectory control, and the like. High-trajectory control is a control that increases the trajectory accuracy of the tip of the hand 13 compared to normal control. The path generation conditions include a timeout time, i.e., the time to end the path search, and a distance to be secured between obstacles.
[0024] S20, S30, and S40 are executed by the via point condition determination unit 142. By executing S20, S30, and S40, the via point condition determination unit 142 determines whether the registered via point is possible as a posture of the robot. In S20, it is determined whether inverse kinematics is necessary. If the position of the tip of the hand 13 is registered in S10, the determination result of S20 becomes YES. If the determination result of S20 is YES, proceed to S30.
[0025] In S30, it is determined whether the position of the hand 13 registered in S10 can be solved by inverse kinematics. If there is an inverse kinematics solution for all registered via points, the process proceeds to S40, and if there is no inverse kinematics solution for even one of the registered via points, the process proceeds to S100.
[0026] S40 is executed when it is determined in S30 that there is a solution of the inverse kinematics for all the registered via points, or when the determination result in S20 is NO. In S40, it is determined whether or not the posture of the robot 10 indicated by each registered via point interferes with an obstacle. Whether or not the robot 10 interferes with an obstacle is determined by determining whether or not a three-dimensional model of the robot 10 interferes with a three-dimensional model of the obstacle. Interference may also be determined when the distance between the robot 10 and the obstacle is equal to or less than a preset threshold value (for example, several millimeters). A convex hull model may be used instead of the three-dimensional model of the robot 10. Also, the distance between the robot 10 and the obstacle may be calculated by expanding one of the three-dimensional model of the robot 10 and the three-dimensional model of the obstacle and determining whether or not there is interference. If all the registered via points are non-interfering, the process proceeds to S50. If one or more registered via points interfere with an obstacle, the process proceeds to S100.
[0027] S50 and S90 are processes executed by the path generation unit 143. In S50, a via point is added. The via point can be added by a method of randomly generating via points, such as RRT (Rapidly Exploring Random Tree). In RRT, random sampling is performed in a six-axis space consisting of six rotation axis coordinates, and a new via point is added at a position that is a certain distance away from the existing via point that is closest to the sampling point. However, the via point to be added must not interfere with an obstacle, just like the registered via point. If the via point to be added interferes with an obstacle, sampling is redone. Also, if the distance between the latest via point and the registered via point is shorter than a specified value, the via point added in S50 is treated as the registered via point.
[0028] Furthermore, in S50, a route is calculated that connects the newly added via point with an existing via point. The existing via point is a via point that is extended a certain distance toward the sampling point. In FIG. 4, the route is calculated assuming that the robot 10 performs PTP operation between the via points.
[0029] S60, S70, and S80 are processes executed by the path condition determination unit 144. By executing S60, S70, and S80, the path condition determination unit 144 determines whether the path satisfies the conditions under which the robot 10 is operable.
[0030] In S60, it is determined whether or not there is interference in the path calculated in S50. In addition to the interference between the robot 10 and an obstacle, the presence or absence of self-interference is also determined in S60. Self-interference means that a part of the robot 10 interferes with another part of the robot 10.
[0031] If it is determined in S50 that there is interference in the route calculated, the process proceeds to S90. On the other hand, if it is determined that there is no interference, the process proceeds to S70. In S70, the way point added in S50 is added to the way point string. The way point string is a collection of registered way points registered in S10 and way points added successively in S70. After S70 is executed, the process proceeds to S80. In S80, it is determined whether the end point has been reached. If the end point has not been reached, the process proceeds to S90, and if the end point has been reached, the process proceeds to S100.
[0032] In S90, it is determined whether or not to interrupt the route search process. If the timeout time has elapsed, the process is interrupted. In addition, the process is interrupted if the user performs a forced termination operation. If the conditions for interrupting the process are not met, the process continues. S90 can also be considered as continuing the process if the processing continuation conditions are met. One of the processing continuation conditions is that the timeout time has not been reached. Another processing continuation condition is that a forced termination operation has not been performed. If the processing is to be continued, the process returns to S50 and a new waypoint is added. If the processing is to be interrupted, the process proceeds to S100.
[0033] S100 is executed by the judgment result display processing unit 145. In S100, the judgment result is output to the display device 120. The judgment result includes under what condition the processing was terminated. Therefore, if the judgment result in S30 is that there is no inverse kinematics solution, a message indicating that there is no inverse kinematics solution for the registered via point is displayed on the display device 120. If it is judged in S80 that the end point has been reached, a message is displayed indicating that a route that has reached the end point has been generated, and a sequence of via points that constitute the route from the start point to the end point is displayed.
[0034] When the route search process is determined to be interrupted in S90 and the process proceeds to S100, the display device 120 displays the fact that the process has been terminated due to interruption. When interference has occurred on the route, the route on which interference has occurred, i.e., the registered via points specified by the route determined not to satisfy the conditions, are also displayed on the display device 120. The registered via points displayed include the registered via points at the rear end of the route determined not to satisfy the conditions. In addition, the registered via points at the front of the route determined not to satisfy the conditions may also be included. For example, when there are three registered via points and the order of registered via points 1, 2, and 3 is registered, and it is determined that interference exists on the route between registered via points 1 and 2, registered via point 2 or registered via point 2 and registered via point 1 are displayed.
[0035] Next, FIG. 5 will be described. In FIG. 5, S51, S52, S53, and S54 are added to FIG. 4. These S51, S52, S53, and S54 are executed by the path condition determination unit 144. S51 is executed following S50. In S51, it is determined whether the forms match between the determination via points. The determination via points are the via points added in S50 and the existing via points connected to the via points. The form is the form that other parts of the robot 10 can take when the position and posture of the hand 13, which is the tip of the robot 10, is determined. Even if the via points added in S50 and the existing via points are feasible, there are combinations of forms that cannot be changed. Therefore, this determination in S51 is performed. Which combinations of forms cannot be changed are registered in advance. A form that can be changed is said to match the form.
[0036] If the determination result in S51 is YES, the process proceeds to S52. In S52, a route is generated such that the tip of the hand 13 moves along a line of a pre-set shape from an existing way point to the way point added in S50. Then, it is determined whether or not the route has a singular point. Note that a singular point means a posture where the robot 10 cannot be controlled in terms of a mathematical formula. If it is determined that the route does not have a singular point, the process proceeds to S60. S60 and subsequent steps are the same as those in FIG. 4.
[0037] In S51, if it is determined that the shapes do not match, the process proceeds to S53. Also, if it is determined in S52 that there is a singular point between the via points, the process proceeds to S53. S53 is the same as S80, and determines whether or not the end point has been reached. If it is determined that the end point has been reached, the process proceeds to S54.
[0038] In S54, errors during route generation are updated. An error is registered for each pair of registered waypoints. If it is determined that there is a singular point at the time S53 is executed, the error is determined to be a singular point in S54. On the other hand, if the end point is reached without executing S52 even once, the error is determined to be a form mismatch. After executing S54, the process proceeds to S90. Also, if it is determined in S53 that the end point has not been reached, the process proceeds to S90 without executing S54. This is because there is no need to consider form mismatch or singular point errors if the end point cannot be reached.
[0039] After executing S54, if it is determined in S90 that processing should be interrupted and the process proceeds to S100, the error content updated in S54 and the registered way point determined by the route where the error occurred are displayed on display device 120 in S100. If it is determined in S90 that processing should be interrupted without executing S54 and the process proceeds to S100, the determination result explained in Fig. 4 is output in S100. For example, if interference has occurred on the route, the fact that there is an interference error and the registered way point specified by the route where the interference has occurred are displayed on display device 120.
[0040] [Summary of the first embodiment] In the route generation device 100 of the first embodiment described above, the judgment result display processing unit 145 displays, on the display device 120, the judgment results determined by the via point condition judgment unit 142 and the route condition judgment unit 144, and the conditions that are determined to be not satisfied (S100).
[0041] In the first embodiment, the via point condition determination unit 142 determined the following conditions. That is, the via point condition determination unit 142 determined a condition that the registered via point has a solution of inverse kinematics (S30) and a condition that the registered via point does not interfere with an obstacle (S40). The route condition determination unit 144 determined the following conditions. That is, the route condition determination unit 144 determined a condition that the route to the added via point does not interfere (S60), a condition that the processing continuation condition is satisfied (S90), a condition that the shapes between the via points match (S51), and a condition that there is no singular point between the via points (S52).
[0042] When the waypoint condition determination unit 142 and the route condition determination unit 144 determine that the conditions are not satisfied, the determination result display processing unit 145 displays the determination result and the conditions that are determined to be not satisfied on the display device 120. Thus, a user of the route generation device 100 can easily identify the cause of the inability to generate a route by checking the conditions that are determined to be not satisfied and displayed on the display device 120.
[0043] In the case of CP operation, when the route condition determination unit 144 determines that there is a singular point between the way points, even if it has previously determined that the forms between the way points are inconsistent, it does not output that the forms are inconsistent. Therefore, the fact that the forms are inconsistent is not displayed on the display device 120. In this way, it is possible to prevent a form inconsistency from being displayed even if a route with a matching form is possible.
[0044] When the determination result display processing unit 145 displays a condition that the via point condition determination unit 142 has determined not to be satisfied, the determination result display processing unit 145 also displays the registered via points that have been determined not to be satisfied on the display device 120. When the determination result display processing unit 145 displays a condition that the route condition determination unit 144 has determined not to be satisfied, the determination result display processing unit 145 also displays the registered via points specified by the route that has been determined not to be satisfied on the display device 120. In this way, the user can more specifically identify the reason why the route cannot be generated.
[0045] <Second embodiment> Next, a second embodiment will be described. In the following description of the second embodiment, elements having the same reference numbers as those used up to that point are the same as those in the previous embodiment unless otherwise specified. In addition, when only a part of the configuration is described, the previously described embodiment can be applied to the other parts of the configuration.
[0046] 6 shows functions executed by a processor 240 included in the path generating device of the second embodiment. In the processor 240, the process executed by a determination result display processing unit 245 differs from that of the determination result display processing unit 145 of the first embodiment.
[0047] The judgment result display processing unit 245 displays on the display device 120, in addition to the contents displayed on the display device 120 by the judgment result display processing unit 145, a posture figure 20 indicating the waypoint, i.e., the posture of the robot 10, when the route condition judgment unit 144 judges that the conditions are not satisfied.
[0048] It is not necessary to display the posture when it is determined that all conditions are not satisfied. It is possible to set in advance which posture of the robot 10 when a condition is not satisfied is to be displayed on the display device 120.
[0049] An example of display displayed by the determination result display processing unit 245 will be described with reference to Fig. 7 to Fig. 10. Fig. 7 and Fig. 8 show environments for which a path generation device of the second embodiment calculates a path. The robot 10 starts from a posture of grabbing an object placed in environment A, and ends from a posture of placing the grabbed object in environment B. The shapes of environments A, B, and C, which are obstacles, are registered in advance in the processor 240.
[0050] Fig. 9 shows an example of a posture figure 20 when it is determined that the paths interfere. The posture figure 20 shown in Fig. 9 has a linear shape. However, the posture figure 20 is not limited to a linear shape, and may be the shape of the robot 10 as it is, or a figure obtained by simplifying the robot 10 using a primitive shape.
[0051] Furthermore, when the path does not satisfy the conditions due to interference with an obstacle, the determination result display processing unit 245 may display a posture graphic 20 for each obstacle interfering with the robot 10. Fig. 10 shows a posture graphic 20 indicating the posture of the robot 10 when it interferes with the environment B.
[0052] Furthermore, the determination result display processing unit 245 may display a posture graphic 20 of the robot 10 interfering with an obstacle for each part of the robot 10 interfering with the obstacle. In Fig. 11, the posture of the third arm 12c when interfering with the environment A is shown as the posture graphic 20.
[0053] Furthermore, the determination result display processing unit 245 may display on the display device 120 the percentage of interference caused by each interfering object with respect to interference with the robot 10. The objects here include the robot 10 itself as well as obstacles. Fig. 12 shows an example of a display of the percentage of interference. In the example of Fig. 12, it is shown that the percentage of interference caused by each object with which the robot 10 interferes is 80% or more for environment A.
[0054] The determination result display processing unit 245 may display the rate of interference for each interfering object and each interfering part on the display device 120. FIG. 13 shows an example of such a display. In FIG. 13 and FIG. 14 described next, J1 means the first arm 12a, J2 means the second arm 12b, J3 means the third arm 12c, J4 means the fourth arm 12d, and J5 means the fifth arm 12e. FIG. 13 shows that each part has a high rate of interference with environment A. By looking at this, the user can see that changing the shape or position of environment A seems to be effective in finding a route.
[0055] FIG. 14 is another example of displaying the percentage of interference by interfering object and by interfering part. FIG. 13 shows the percentage of objects with which each part interferes. In contrast, FIG. 14 shows the percentage of parts with which each object interferes. As shown in FIG. 14, the interference in environment A is about 50% due to J2 and J3, i.e., the second arm 12b and the third arm 12c. By looking at this, the user can see that the interference rate at the base of the robot 10 is large. If there is interference at the base, the joint on the tip side will interfere at any angle, so the closer the interfering part is to the base, the smaller the non-interfering operating range will be. Therefore, in order to find a path, it is possible to consider making the opening of environment A larger. The user can select which of the diagrams shown in FIG. 9 to FIG. 14 to display on the display device 120.
[0056] [Summary of the second embodiment] In the second embodiment, the determination result display processing unit 245 displays the posture figure 20 indicating the posture of the robot 10 when the path condition determination unit 144 determines that the conditions are not satisfied, and the rate of interference, on the display device 120. This makes it easier to identify the cause of the inability to generate a path.
[0057] <Third embodiment> 15 shows functions executed by a processor 340 included in the route generation device of the third embodiment. The processor 340 differs from the processors 140 and 240 in that it includes a route generation condition change unit 346, and the process executed by a determination result display processing unit 345 differs from that of the determination result display processing units 145 and 245.
[0058] The path generation condition change unit 346 changes the state setting value indicating the state that affects the path within a range set by the user. The state setting value is a value indicating the state of the robot 10 or the state of an obstacle. The state setting value indicating the state of the robot 10 refers to a value other than the path that can be changed when considering a path in the robot 10. The state setting value indicating the state of the robot 10 includes the arrangement of the robot 10. In addition, the state setting value indicating the state of the robot 10 can include whether or not the hand 13 grasps a workpiece, and the shape of the workpiece. The state setting value indicating the state of an obstacle includes the arrangement of the obstacle. In addition, the state setting value indicating the state of an obstacle can include the shape of the obstacle if the shape of the obstacle can be changed, such as if a door can be opened and closed.
[0059] The path generation condition change unit 346 changes the state setting value at a predetermined change interval within a range set by the user. The change interval may be set in advance or may be set by the user each time. The path generation unit 143 generates a path every time the path generation condition change unit 346 changes the state setting value. When the path generation unit 143 generates a path, the path condition determination unit 144 determines whether the path satisfies the conditions that allow the robot 10 to operate. Therefore, the path condition determination unit 144 also makes a determination every time the path generation condition change unit 346 changes the state setting value.
[0060] Fig. 16 shows the judgment results for each registered way point when the position of the robot 10 is changed. Registered way point 0 means the start point. The position of the robot 10 is an example of a state setting value. In Fig. 16, "Enable" means that the path generation was successful, i.e., the robot is operable, "IKFailed" means that there is no inverse kinematics solution, "IKSuccess" means that there is an inverse kinematics solution and there is no interference, and "CollisionPoint" means that there is interference.
[0061] The judgment result display processing unit 345 displays the tabulated result of tallying up the judgment results when the status setting value is changed on the display device 120. FIG. 17 shows an example of the display of the tabulated result. The display example shown in FIG. 17 shows the ratio of each type of judgment result for three registered via points. When "no error" is displayed in FIG. 17, it means that it is operable. For via point 3, which means the third registered via point, the ratio of no error is almost zero. Therefore, a user who sees the display example in FIG. 17 can see that it is necessary to reconsider the third registered via point.
[0062] <Fourth embodiment> 18 shows functions executed by a processor 440 included in the path generation device of the fourth embodiment. The processor 440 differs from the processors 140, 240, and 340 in that it includes a variable amount calculation unit 447, and the process executed by a determination result display processing unit 445 differs from that of the determination result display processing units 145, 245, and 345.
[0063] The possible variation amount calculation unit 447 calculates the possible variation amount by which the tip position of the robot 10 can move while satisfying the conditions for a route that has been determined to satisfy both the conditions by the via point condition determination unit 142 and the route condition determination unit 144.
[0064] The variation amount will be explained using Figs. 19 and 20. Fig. 19 shows the movement amount d when there are no constraints. The movement amount d means the maximum movement amount that the via point Pn can move while satisfying the conditions in the joint space that indicates the posture by the joint angle. The variation amount is the movement amount of the tip of the hand 13, which is calculated from the movement amount d. In Fig. 19, the via point is indicated by P. It is assumed that a path from the via point Pm to the via point Pn has been calculated. Note that n and m are natural numbers indicating the number of the via point P. In Fig. 19, the limit via point PL is a point obtained by moving the via point Pn, which is the subject of calculation of the movement amount d, in a direction that results in an error by the movement amount d.
[0065] FIG. 20 shows the possible movement amount d when there is a constraint. The constraint is determined for the movement of some or all of the parts of the robot 10. An example of a constraint is a constraint on the position and posture of the tip of the hand 13. More specifically, an example of a constraint is that the tip of the hand 13 needs to move vertically up and down in a posture that allows it to grasp a workpiece. The constraint is input by the user. Due to the constraint, there are cases where it is necessary to move the via point Pn, which is the target of the calculation of the possible movement amount d, as well as the via point Pm connected to the via point Pn. In FIG. 20, there are two limit via points PLm and PLn. These two limit via points PLm and PLn are limit via points corresponding to the via points Pm and Pn, respectively.
[0066] 21 shows the process executed by the possible change amount calculation unit 447. In S110, a via point Pn for which the possible movement amount d is calculated is selected. The via points Pn that need to be selected in S110 are, for example, all via points included in the route from the start point to the end point. When multiple via points Pn need to be selected, they are selected one by one in order. The via point Pn selected here may be specified by the user. When specified by the user, some or all of the registered via points will be specified.
[0067] In S112, the amount of movement d is set to a preset initial value. In S114, a via point Pm is selected that is connected to the via point Pn selected in S110 in the route that is determined to be able to reach from the start point to the end point. In S116, a via point Pt that indicates a posture closest to the obstacle or singular point between the via points Pn and Pm selected in S110 and S114 is calculated. In S118, a direction vector v toward the obstacle or singular point is calculated from the via point Pt calculated in S116. This direction vector v is shown in FIG. 19. However, FIG. 19 is an explanatory diagram showing the direction vector v on a two-dimensional plane. The direction vector v is actually a direction vector toward the obstacle or singular point in a six-axis space. Like FIG. 19, FIG. 20 is also an explanatory diagram.
[0068] In S120, in the case of PTP operation, the via point Pn is moved by the movable amount d in the direction of the directional vector v calculated in S118. In the case of CP operation, the position of the via point Pn after the movement is determined by the following formulas 1 and 2. The function f is a function that obtains the tip position and posture of the hand 13 from the joint angle by forward kinematics. Formula 1 is an equation that indicates the movement amount of the tip of the hand 13 in three-dimensional space when the via point Pt moves by dv in the joint space. Formula 2 is an equation that calculates the position of the via point Pn in the joint space when the tip of the hand 13 moves by δt in the three-dimensional space. Note that if there is a constraint, the via point Pm also moves by the same amount.
[0069] (Formula 1) δt=f(Pt)-f(Pt+dv) (Formula 2) Pn←f -1 (f(Pn)+δt) In S122, it is determined whether the way point Pn after the movement passes through an obstacle or a singular point. If the result of this determination is YES, the process proceeds to S124. In S124, the way point Pn is returned to the position of the previous step, and the movable amount d is reduced by half. Then, the process returns to S118.
[0070] If the determination result of S124 is NO, the process proceeds to S126. In S126, it is determined whether or not the distance between the way point Pn and the obstacle or the singular point is equal to or less than a preset threshold value. If the determination result of S126 is NO, the process returns to S116. By repeating S116 to S126, the possible movement amount d shown in Figs. 19 and 20 can be determined. If the determination result of S126 is YES, the process proceeds to S128.
[0071] In S128, the amount of change in the tip position and posture of the hand 13 before and after the movement of the via point Pn is calculated. In the following S130, it is determined whether or not the calculation has been completed for all via points Pm connected to the via point Pn selected in the current S110. If the determination result in S130 is NO, the process returns to S116. If the determination result in S130 is YES, the process proceeds to S132.
[0072] In S132, it is determined whether or not the calculation is to be ended. This determination is made to determine whether or not all of the way points Pn have been selected. If the determination result in S132 is NO, the process returns to S110, the next way point Pn is selected, and S110 and subsequent steps are executed. If the determination result in S132 is YES, the process in FIG. 21 is ended. The minimum value among the amounts of change calculated in S128 that have been repeatedly executed until the process in FIG. 21 is ended is the amount of possible fluctuation.
[0073] The judgment result display processing unit 445 also displays the possible variation calculated by the possible variation calculation unit 447 on the display device 120. When the robot 10 is installed in the real environment, it is considered that there will be a small amount of error between the installation position of the robot 10 at the time of calculation. Also, it is considered that the operation of the robot 10 in the real environment has a small amount of error each time compared to the time of calculation. The user operating the path generation device can consider these errors and the possible variation displayed on the display device 120 to determine whether the robot 10 can operate reliably in the real environment.
[0074] Although the embodiments have been described above, the disclosed technology is not limited to the above-described embodiments, and the following modifications are also included in the scope of the disclosure. Furthermore, in addition to the modifications described below, various modifications can be made without departing from the spirit of the invention.
[0075] <Variation 1> The determination result display processing unit may display on the display device 120 the distance between the registered way point and the obstacle, in addition to the contents displayed in the above-described embodiment.
[0076] <Variation 2> When displaying the posture figure 20, the interfering portion may be displayed in a color different from that of the other portions.
[0077] <Variation 3> When displaying the posture diagram 20 for each obstacle interfering with the robot 10, one obstacle may be divided into multiple parts. To divide one obstacle into multiple parts, an automatic clustering method such as the k-means method or the mean shift method can be used.
[0078] <Modification 4> When the possible variation amount is equal to or less than the threshold value, the path condition determination unit may determine that the robot 10 is incapable of operating.
[0079] <Variation 5> The control device 130 and the methods described herein may be implemented by a special purpose computer having a processor programmed to perform one or more functions embodied in a computer program. Alternatively, the control device 130 and the methods described herein may be implemented by a special purpose hardware logic circuit. Alternatively, the control device 130 and the methods described herein may be implemented by one or more special purpose computers configured by a combination of a processor executing a computer program and one or more hardware logic circuits. The hardware logic circuits may be, for example, ASICs or FPGAs.
[0080] In addition, the storage medium for storing the computer program is not limited to a ROM, and may be any non-transitory computer-readable storage medium as long as the program is stored as instructions executed by the computer. For example, the program may be stored in a flash memory. [Explanation of symbols]
[0081] 10: Robot 11: Base 12: Arm 13: Hand 20: Posture diagram 100: Path generation device 110: Input device 120: Display device 130: Control device 140: Processor 141: Way point registration unit 142: Way point condition determination unit 143: Path generation unit 144: Path condition determination unit 145: Determination result display processing unit 150: ROM 160: RAM 240: Processor 245: Determination result display processing unit 340: Processor 345: Determination result display processing unit 346: Path generation condition change unit 440: Processor 445 Determination result display processing unit 447: Variable amount calculation unit
Claims
1. A path generation device that generates a path for a robot having a plurality of parts that are connected to each other so as to be capable of relative rotation, a waypoint registration unit (141) for registering a plurality of waypoints including a start point and an end point and each of which represents one posture of the robot; a way point condition determination unit (142) that determines whether a registered way point, which is the way point registered by the way point registration unit, is possible as a posture of the robot based on a preset condition; a route generating unit (143) that generates a route connecting the added route point and the existing route point while adding the route point; a route condition determination unit (144) that determines whether the route generated by the route generation unit satisfies the conditions under which the robot can operate, and adds the via point added by the route generation unit to a sequence of via points constituting the route if the route satisfies the conditions under which the robot can operate, and does not add the via point added by the route generation unit to the sequence of via points constituting the route if the route does not satisfy the conditions under which the robot can operate, the route generating unit and the route condition determining unit, when a processing continuation condition is satisfied, repeat the processing until the route reaches the end point; a determination result display processing unit (145, 245, 345, 445) that displays, on a display device, the determination results determined by the via point condition determination unit and the route condition determination unit, and conditions that are determined not to be satisfied in the determination, the route generation unit, if the way point to be added interferes with an obstacle, does not add the way point and adds the way point again; A route generation device, wherein the judgment result display processing unit displays, on the display device, the judgment result and the conditions that are determined to be not satisfied in the judgment when the via point condition judgment unit and the route condition judgment unit judge that the conditions are not satisfied and the route cannot be generated.
2. The path generation device according to claim 1, The judgment result display processing unit (245) is a path generating device that displays on the display device the percentage of interference that occurs to the robot when the path does not satisfy the conditions, for each interfering object.
3. A path generation device that generates a path for a robot having a plurality of parts that are connected to each other so as to be capable of relative rotation, a waypoint registration unit (141) for registering a plurality of waypoints including a start point and an end point and each of which represents one posture of the robot; a way point condition determination unit (142) that determines whether a registered way point, which is the way point registered by the way point registration unit, is possible as a posture of the robot based on a preset condition; a route generating unit (143) that generates a route connecting the added route point and the existing route point while adding the route point; a path condition determination unit (144) that determines whether the path generated by the path generation unit satisfies a condition that enables the robot to operate; the route generating unit and the route condition determining unit, when a processing continuation condition is satisfied, repeat the processing until the route reaches the end point; a determination result display processing unit (145, 245, 345, 445) that displays, on a display device, the determination results determined by the via point condition determination unit and the route condition determination unit, and conditions that are determined not to be satisfied in the determination, The judgment result display processing unit (245) is a path generating device that displays on the display device the percentage of interference that occurs to the robot when the path does not satisfy the conditions, for each interfering object.
4. A path generation device according to claim 2 or 3, The determination result display processing unit is a path generating device that displays, on the display device, a rate of interference for each interfering object and for each interfering portion.
5. The route generating device according to any one of claims 1 to 4, A path generation device, wherein the conditions determined by the via point condition determination unit include the existence of a solution for inverse kinematics and the absence of interference with an obstacle.
6. The route generating device according to any one of claims 1 to 5, A route generation device, wherein the conditions determined by the route condition determination unit include a condition that the route does not interfere with an obstacle.
7. The route generating device according to claim 6, When the path generation unit generates a path along which a position of a tip end of the robot moves in a straight line in a working space between the start point and the end point, A path generation device, wherein the conditions determined by the path condition determination unit include that the forms that the robot can take when the position and posture of the tip of the robot is determined are consistent with each other at a set of determined via points, which are the via point added by the path generation unit and the via point connected to the added via point, and that there are no singular points between the determined via points.
8. The route generating device according to any one of claims 1 to 7, A route generation device, wherein when the judgment result display processing unit displays a condition that the way point condition judgment unit judges not to be satisfied, the judgment result display processing unit also displays the registered way points that are judged not to be satisfied on the display device.
9. The route generating device according to any one of claims 1 to 8, A route generation device in which, when displaying a condition that the route condition determination unit has determined not to be satisfied, the judgment result display processing unit also displays on the display device the registered via points identified by the route that has been determined not to be satisfied.
10. The route generating device according to any one of claims 1 to 9, The determination result display processing unit (245) displays, on the display device, a posture diagram (20) indicating the posture of the robot when the route condition determination unit determines that the conditions are not satisfied.
11. The route generating device according to claim 10, The determination result display processing unit is a path generating device that displays the posture diagram for each obstacle interfering with the robot when the path does not satisfy the conditions due to interference with an obstacle.
12. The route generating device according to claim 11, The determination result display processing unit is a path generating device that displays the posture figure of the robot that is interfering with the obstacle for each part of the robot that is interfering with the obstacle.
13. The route generating device according to any one of claims 1 to 12, a path generation condition change unit (346) for changing a state setting value indicating at least one of a state of the robot and a state of an obstacle that affects a path within a range set by a user; the route generating unit generates the route each time the route generation condition changing unit changes the state set value; The determination result display processing unit (345) displays, on the display device, a compilation result of the determination results when the state setting value is changed.
14. The route generating device according to any one of claims 1 to 13, a variable amount calculation unit (447) that calculates a variable amount by which the position of the tip of the robot can move while satisfying the conditions for a path that is determined to satisfy the conditions by both the via point condition determination unit and the path condition determination unit, The determination result display processing unit (445) also displays the possible variation amount on the display device.
15. A path generation method for generating a path for a robot having a plurality of parts connected to each other so as to be capable of relative rotation, comprising the steps of: A plurality of waypoints including a start point and an end point and representing one posture of the robot are registered; determining whether the registered via point is a possible posture of the robot based on a preset condition; While adding the waypoint, a route is generated that connects the added waypoint with the existing waypoint; determining whether the generated route satisfies the conditions under which the robot can operate, and if the route satisfies the conditions under which the robot can operate, adding the via point to a sequence of via points constituting the route, whereas if the route does not satisfy the conditions under which the robot can operate, not adding the via point to a sequence of via points constituting the route; If the processing continuation condition is satisfied, the addition of the via point and the generation of the route are repeated until the route reaches the end point; Displaying on a display device the result of the judgment regarding the registered via points, the result of the judgment regarding the generated route, and the conditions that are judged not to be satisfied in the judgment; If the way point to be added interferes with an obstacle, the way point is not added and the way point is added again; A route generation method, in which if it is determined that the registered via point does not satisfy the conditions and the route cannot be generated, and if it is determined that the generated route does not satisfy the conditions and the route cannot be generated, the determination result and the conditions that are determined not to be satisfied in the determination are displayed on the display device.
16. A path generation method for generating a path for a robot having a plurality of parts connected to each other so as to be capable of relative rotation, comprising the steps of: A plurality of waypoints including a start point and an end point and representing one posture of the robot are registered; determining whether the registered via point is a possible posture of the robot based on a preset condition; While adding the waypoint, a route is generated that connects the added waypoint with the existing waypoint; determining whether the generated path satisfies a condition that enables the robot to operate; If the processing continuation condition is satisfied, the addition of the via point and the generation of the route are repeated until the route reaches the end point; Displaying on a display device the judgment result for the registered via points, the judgment result for the generated route, and the conditions that are judged not to be satisfied in the judgment, and A path generation method, comprising: displaying, on the display device, a proportion of interference occurring to the robot for each interfering object when the path is in one of the states not satisfying the conditions.
17. A path generation program executed by a processor to cause the processor to generate a path along which a robot having a plurality of parts connected to each other so as to be capable of rotating relative to each other moves, The processor, A plurality of waypoints including a start point and an end point and representing one posture of the robot are registered; determining whether the registered via point is a possible posture of the robot based on a preset condition; While adding the waypoint, a route is generated that connects the added waypoint with the existing waypoint; determining whether the generated route satisfies the conditions under which the robot can operate, and if the route satisfies the conditions under which the robot can operate, adding the via point to a sequence of via points constituting the route, whereas if the route does not satisfy the conditions under which the robot can operate, not adding the via point to a sequence of via points constituting the route; If the processing continuation condition is satisfied, the addition of the via point and the generation of the route are repeated until the route reaches the end point; Displaying on a display device the result of the judgment regarding the registered via points, the result of the judgment regarding the generated route, and the conditions that are judged not to be satisfied in the judgment; If the way point to be added interferes with an obstacle, the way point is not added and the way point is added again; A route generation program that displays, on the display device, the judgment result and the conditions that are judged not to be satisfied in the judgment when it is determined that the registered via point does not satisfy the conditions and the route cannot be generated, and when it is determined that the generated route does not satisfy the conditions and the route cannot be generated.
18. A path generation program executed by a processor and causing the processor to generate a path along which a robot having a plurality of parts connected to each other so as to be capable of relative rotation moves, comprising: The processor, A plurality of waypoints including a start point and an end point and representing one posture of the robot are registered; determining whether the registered via point is a possible posture of the robot based on a preset condition; While adding the waypoint, a route is generated that connects the added waypoint with the existing waypoint; determining whether the generated path satisfies a condition that enables the robot to operate; If the processing continuation condition is satisfied, the addition of the via point and the generation of the route are repeated until the route reaches the end point; Displaying on a display device the judgment result for the registered via points, the judgment result for the generated route, and the conditions that are judged not to be satisfied in the judgment; A path generation program that displays, on the display device, a rate of interference occurring to the robot when the path is in one of the states not satisfying the conditions, for each interfering object.
Citation Information
Patent Citations
Operation program composing method and composing device for robot
JP1998128684A
Robot program creation method, robot program creation device, program, and recording medium
JP2015098076A
Layout setting method, and layout setting device
JP2018020410A
Interference determination method, interference determination system, and computer program
JP2019025621A
Simulator device, and control method for simulator device
JP2019123052A