Interference detection device and path generation device

The interference determination device addresses the limitations of existing path generation by registering specific conditions to accurately determine and avoid collisions with obstacles, enhancing robot path planning.

JP7831219B2Active Publication Date: 2026-03-17DENSO CORP
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-10-06
Publication Date
2026-03-17

AI Technical Summary

Technical Problem

Existing path generation devices for robots do not adequately consider the flexibility of obstacles and various error factors, leading to potential interference and inability to guarantee non-interference due to clearance amount reliance.

Method used

An interference determination device that registers interference detection conditions such as allowable interference distance, positional error, and synchronization time error, determining interference between a robot and obstacles, allowing for more accurate path generation to avoid obstacles.

Benefits of technology

Enables precise determination of interference with obstacles, ensuring robots operate without collisions by considering obstacle characteristics and error factors, generating paths that appropriately avoid interference.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007831219000001
    Figure 0007831219000001
  • Figure 0007831219000002
    Figure 0007831219000002
  • Figure 0007831219000003
    Figure 0007831219000003
Patent Text Reader

Abstract

To determine whether interference with an obstacle occurs more properly by considering characteristics of the obstacle and various error factors.SOLUTION: An interference determination device includes: an interference determination section (143) which determines whether a robot interferes with an obstacle when moving along a path from a starting point to an end point; and an interference determination condition register section (141) which registers interference determination conditions used when interference between the robot and the obstacle is determined in the interference determination part. In the interference determination condition register section, at least one of an interference tolerance distance in which interference with the obstacle is tolerated, a position error which may be contained in a relative position between the robot and the obstacle when the relative position is grasped, and a synchronous time error caused when the obstacle is a movable object which moves in a predetermined path synchronously with an operation of the robot may be registered as an interference determination condition. The interference determination section is configured to determine interference between the robot and the obstacle in consideration of the interference determination condition registered in the interference determination condition register section.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to an interference determination device that determines whether the operation of a robot interferes with an obstacle, and a path generation device including the interference determination device.

Background Art

[0002] For example, Patent Document 1 describes a path generation device in which a user can input a clearance amount with respect to at least one of each joint of a robot and an obstacle via an input unit. For example, when a clearance amount is set for a joint, it means that the thickness increases by the clearance amount in the normal direction with respect to the surface of the joint. The path generation device of Patent Document 1 generates a path of a robot that secures at least an interval corresponding to the clearance amount from an obstacle.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] However, the device described in Patent Document 1 only considers setting a clearance amount with respect to at least one of each joint of a robot and an obstacle. For this reason, for example, when an obstacle has flexibility, it is not possible to set a path of a robot that allows some interference with the obstacle. Further, since it depends only on the clearance amount, there is a possibility that it cannot be guaranteed that there is no interference with an obstacle due to the influence of errors generated by various factors.

[0005] This disclosure has been made in view of the above-mentioned points, and aims to provide an interference determination device that can more appropriately determine whether or not there is interference with an obstacle, taking into account the characteristics of the obstacle and various error factors, and a path generation device equipped with the interference determination device. [Means for solving the problem]

[0006] To achieve the above objective, the interference determination device according to this disclosure determines whether the movement of the robot (10) interferes with an obstacle (40), A registration unit (142) for registering the start and end points of the robot's movement, An interference determination unit (143) determines whether or not the robot will interfere with an obstacle as it moves along a path from the starting point to the ending point, The interference determination unit includes an interference determination condition registration unit (141) for registering interference determination conditions when determining interference between the robot and an obstacle, The interference determination condition registration unit can register at least one of the following as interference determination conditions: the allowable interference distance for interference with an obstacle, the positional error that may be included in the relative position when determining the relative position between the robot and the obstacle, and the synchronization time error when the obstacle is a movable object that moves along a predetermined path in synchronization with the robot's movement. The interference detection unit determines interference between the robot and an obstacle, taking into account the interference detection conditions registered in the interference detection condition registration unit. death, If an interference tolerance distance is registered as an interference determination condition, the interference determination unit will consider that no interference has occurred between the robot and the obstacle, even if interference occurs between the robot and the obstacle, as long as the interference is less than the interference tolerance distance. It is configured in this way.

[0007] According to the interference detection device of this disclosure, the interference detection condition registration unit can register at least one of the following as interference detection conditions: the allowable interference distance that allows interference with an obstacle, the position error that may be included in the relative position when determining the relative position between the robot and the obstacle, and the synchronization time error when the obstacle is a movable object that moves along a predetermined path in synchronization with the robot's movement. The interference detection unit then determines the interference between the robot and the obstacle by considering the interference detection conditions registered in the interference detection condition registration unit. Therefore, it becomes possible to more appropriately determine whether or not there is interference with an obstacle by taking into account the characteristics of the obstacle and various error factors.

[0008] Furthermore, the route generation device described herein is The interference detection device (100) described above, The system includes a path generation unit (145) that generates a path that allows the robot to operate without interfering with obstacles, based on the interference determination results from an interference detection device.

[0009] The path generation device according to this disclosure is equipped with the interference detection device described above, and can generate a path that allows the robot to operate without interfering with obstacles, while appropriately considering interference with obstacles.

[0010] The reference numbers in parentheses above are merely examples of correspondences with specific configurations in embodiments described later, in order to facilitate understanding of this disclosure, and are not intended to limit the scope of this disclosure in any way.

[0011] Furthermore, technical features described in each claim of the patent claims, other than those described above, will become clear from the description of the embodiments and the accompanying drawings, which will be discussed later. [Brief explanation of the drawing]

[0012] [Figure 1] This is a configuration diagram showing the configuration of the interference detection device according to the first embodiment. [Figure 2] This diagram illustrates an example of a robot for which a motion path is generated. [Figure 3] It is a block diagram showing the functions executed by the processor in FIG. 1. [Figure 4] It is a flowchart including interference determination processing executed by the interference determination device according to the first embodiment. [Figure 5] It is an explanatory diagram for explaining the processing according to the flowchart in FIG. 4. [Figure 6] It is a flowchart including interference determination processing executed by the interference determination device according to the second embodiment. [Figure 7] It is an explanatory diagram for explaining the processing according to the flowchart in FIG. 6. [Figure 8] It is a flowchart including interference determination processing executed by the interference determination device according to the third embodiment. [Figure 9] It is an explanatory diagram for explaining the processing according to the flowchart in FIG. 8. [Figure 10] It is a flowchart including interference determination processing executed by the interference determination device according to the fourth embodiment. [Figure 11] It is an explanatory diagram for explaining the processing according to the flowchart in FIG. 10. [Figure 12] It is a block diagram showing the functions of the path generation device according to the modification example.

Embodiments for Carrying Out the Invention

[0013] (First Embodiment) Hereinafter, an interference determination device according to a first embodiment of the present disclosure will be described based on the drawings. FIG. 1 is a configuration diagram showing the configuration of an interference determination device 100 according to the first embodiment. The interference determination device 100 is, for example, a device that determines whether or not there is interference with an obstacle when the robot 10 shown in FIG. 2 moves along an operation path. The operation path of the robot 10 means a path along which the robot 10 moves as the posture of the robot 10 changes over time.

[0014] The robot 10 illustrated in FIG. 2 includes two axes, namely, the first axis 11 and the second axis 12, and two joints, namely, the first joint 21 and the second joint 22. However, the configuration of the robot 10 is simplified for explaining this embodiment. The number of axes and joints of the robot 10 may each be three or more. Also, the robot 10 may include a linearly moving part.

[0015] The first joint 21 is provided at one end of the first axis 11 and enables the first axis 11 to rotate around a rotation axis orthogonal to the first axis 11. The first axis 11 is connected to the base 31 by the first joint 21 so as to be relatively rotatable with respect to the base 31. The base 31 is installed, for example, on the floor or an installation table.

[0016] The second joint 22 is provided at the other end of the first axis 11 opposite to the end where the first joint 21 is provided. The second joint 22 connects the other end of the first axis 11 and one end of the second axis 12. The second joint 22 enables the second axis 12 to be relatively rotatable with respect to the first axis 11 around a rotation axis orthogonal to the first axis 11 and the second axis 12. In FIG. 2, the shapes of the first axis 11 and the second axis 12 are rod-shaped. However, the shapes of the first axis 11 and the second axis 12 do not have to be rod-shaped and can be variously changed according to the use of the robot 10. Also, the angular range in which the first axis 11 is relatively rotatable with respect to the base 31 and the range in which the second axis 12 is relatively rotatable with respect to the first axis 11 can be variously set by a mechanical mechanism or an electrical mechanism.

[0017] Figure 2 also shows the obstacles 40. The obstacles 40 are objects that may obstruct the movement of the first axis 11 or the second axis 12. Examples of obstacles 40 include the workpiece of the robot 10 and stationary objects around the robot 10. The shape, position, and material of the obstacles 40 will vary depending on the location where the robot 10 is installed and the intended use of the robot 10. Furthermore, for example, if multiple robots 10 are placed in close proximity and cooperate to perform a predetermined task, one robot 10 may become an obstacle 40 to the other robots 10. In other words, the obstacles 40 may also be movable objects that move along a predetermined path in synchronization with the movement of the robot 10.

[0018] As shown in Figure 2, the posture of the robot 10 is controlled by the robot control device 60. The robot control device 60 may consist of a known computer equipped with a processor that performs various calculations and a memory device such as ROM and RAM. Image signals from a camera 50 that photographs the robot 10 and the obstacle 40 are input to the robot control device 60 in order to determine the posture of the robot 10 and the position of the obstacle 40. The memory device such as ROM stores the movement paths that the interference detection device 100 has determined to be non-interfering with the obstacle 40. Based on the posture of the robot 10 and the position of the obstacle 40 extracted from the image signals of the camera 50, the robot control device 60 changes the posture of the robot 10 over time to follow the stored movement paths. It is also possible for the interference detection device 100 to perform the role of the robot control device 60, or the interference detection device 100 and the robot control device 60 may be provided separately.

[0019] Referring again to Figure 1, the interference detection device 100 comprises an input device 110, a display device 120, and a control device 130. The control device 130 includes a processor 140, ROM 150, RAM 160, etc. An interference detection device 100 with such a configuration can be realized using a known computer.

[0020] The input device 110 may be a known input device such as a keyboard. The user can input, for example, the start and end points of the robot 10 via the input device 110. The input start and end points are registered with the interference determination device 100. The user can also input interference determination conditions for the interference determination device 100 to determine whether or not there is interference between the robot 10 and the obstacle 40 when the robot 10 changes its posture along the movement path from the start to the end point, that is, when the robot 10 moves along the movement path from the start to the end point. The input interference determination conditions are registered with the interference determination device 100. The interference determination conditions include at least one of the allowable interference distance that allows interference with the obstacle 40, a position error that may be included in the relative position when determining the relative position between the robot 10 and the obstacle 40, and a synchronization time error if the obstacle 40 is a movable object that moves along a predetermined path in synchronization with the movement of the robot 10. The position error and synchronization time error can also be determined by the robot control device 60 or the like and registered with the interference determination device 100.

[0021] The display device 120 can, for example, display the result of the interference determination device 100 regarding whether or not the robot 10's movement path interferes with the obstacle 40.

[0022] In the following description of the first embodiment, we will explain the case in which the interference tolerance distance for interference with the obstacle 40 is registered in the interference determination device 100 as an interference determination condition. Cases in which other interference determination conditions are registered will be explained in the second embodiment and subsequent embodiments.

[0023] The ROM 150, a non-volatile storage medium, stores the interference detection program executed by the processor 140. By executing the interference detection program stored in the ROM 150 while utilizing the temporary storage function of the RAM 160, the processor 140 performs the various functions shown in Figure 3. Figure 3 shows the various functions performed by the processor 140 as blocks. The execution of the various functions shown in Figure 3 by the processor 140 means that the interference detection method corresponding to the interference detection program is executed.

[0024] As shown in Figure 3, the processor 140 includes an interference determination condition registration unit 141, an end / start point registration unit 142, an interference determination unit 143, and an interference determination result output unit 144. The processing corresponding to the functions of each of these units will be explained using the flowchart shown in Figure 4.

[0025] The flowchart shown in Figure 4 is initiated, for example, by user instruction. In the first step S100, the user registers the allowable interference distance, taking into account the characteristics of the obstacle 40, with the interference determination device 100 via the input device 110. The processing in this step S100 corresponds to the function of the interference determination condition registration unit 141.

[0026] In step S110, the start and end points of the robot 10's motion path are registered as inspection pairs in the inspection list. The start and end points correspond to the posture of the robot 10 at each point. The posture of the robot 10 is determined by the rotational position of the movable parts, such as the rotation angles of each joint 21 and 22. For example, if the parameters representing the degrees of freedom of each axis 11 and 12 of the robot 10 are the rotation angles of each joint 21 and 22, then the posture of the robot 10 can be represented as the coordinates of a single point in a so-called configuration space, where the rotation angles of each joint 21 and 22 are the coordinate axes. The start and end points may be input by the user via the input device 110, or they may be read from all or part of a pre-generated motion path. The processing in step S110 corresponds to the function of the start / end point registration unit 142.

[0027] In step S120, it is determined whether the inspection list is empty or not. If the inspection list is empty, it means that the movement path of the robot 10 from the starting point to the ending point was not determined to interfere with the obstacle 40, as determined by the processing in steps S140 to S260 described later. Therefore, if it is determined that the inspection list is empty, the process proceeds to step S130, where it is determined that the movement path between the starting point and the ending point does not interfere with the obstacle 40. The interference determination result output unit 144 then outputs this determination result to the display device 120. On the other hand, if it is determined in step S120 that the inspection list is not empty, the process proceeds to step S140.

[0028] In step S140, a test pair is extracted from the test list, and the extracted test pair is removed from the test list. In step S150, the distance between the test pairs is calculated in the configuration space. Then, in step S160, it is determined whether the calculated distance between the test pairs is greater than or equal to the first threshold. If the calculated distance between the test pairs is less than the first threshold, the process proceeds to step S170, where it is determined that the operating path between the test pairs interferes with the obstacle 40. The interference determination result output unit 144 then outputs this determination result to the display device 120. On the other hand, if the calculated distance between the test pairs is greater than or equal to the first threshold, the process proceeds to step S180.

[0029] Step S160, described above, is intended to terminate the interference detection when the distance between an intermediate point and each point in the inspection pair falls below the first threshold, after an intermediate point has been defined between the inspection pairs in step S230, which will be described later. In other words, without step S160, the generation of intermediate points in step S230 would be repeated many times, and the loop from step S360 to step S120 could be executed indefinitely. To put it another way, the first threshold in step S160 can be said to define the minimum distance in the configuration space required to continue interference detection. When the distance between the inspection pairs in the configuration space falls below the minimum distance, the interference detection of the operating paths between the inspection pairs is terminated.

[0030] In step S180, the distance to the obstacle at each point of the inspection pair is calculated in real space, not in configuration space. In this case, the distance to the obstacle is calculated as the shortest distance between the robot 10 and the obstacle 40, given the posture of the robot 10 at each point of the inspection pair. In step S190, it is determined whether the distance between the robot 10 and the obstacle 40 at each point of the inspection pair is greater than or equal to the second threshold. If the distance between the robot 10 and the obstacle 40 is not greater than or equal to the second threshold at at least one point of the inspection pair, it is considered that the robot 10 may interfere with the obstacle 40 at the point of the inspection pair where the distance between the robot 10 and the obstacle 40 is less than the second threshold. In other words, the second threshold is a threshold used to determine whether the distance between the robot 10 and the obstacle 40 in real space is short enough to cause interference between the robot 10 and the obstacle 40.

[0031] If it is determined that the distance between the robot 10 and the obstacle 40 is less than the second threshold at at least one point in the inspection pair, the process proceeds to step S240. On the other hand, if the distance between the robot 10 and the obstacle 40 is greater than or equal to the second threshold at each point in the inspection pair, it can be assumed that the robot 10 does not interfere with the obstacle 40 at each point in the inspection pair. In this case, the process proceeds to step S200.

[0032] In step S200, the sum of the distances between the robot 10 and the obstacle 40 in real space at each point of the inspection pair is calculated. In step S210, the distance traveled by the robot 10 in real space as it moves along the motion path between the inspection pair is calculated. In this case, the distance traveled by the robot 10 is calculated as the distance traveled by the moving part of the robot 10 that moves the longest (i.e., the maximum distance traveled) while the posture of the robot 10 changes from the posture of the robot 10 at the starting point to the posture of the robot 10 at the ending point of the inspection pair.

[0033] In step S220, it is determined whether the travel distance calculated in step S210 is less than the sum of the distances calculated in step S200 plus the interference tolerance distance registered in the interference determination condition registration unit 141.

[0034] Here, the interference tolerance distance will be explained with reference to Figure 5. In Figure 5, the starting point of the inspection pair is shown as point A, and the ending point as point B. Points A and B are coordinate points in the configuration space. In Figure 5, a dotted circle is shown around the coordinate points (points A and B) in the configuration space, with a radius equal to the distance between the robot 10 and the obstacle 40 in real space. Furthermore, in Figure 5, the solid line shows the distance the robot 10 moves in real space (maximum movement distance) when the robot 10 moves from point A to point B (changes its posture).

[0035] As shown in Figure 5(a), if the distance traveled by the robot 10 calculated in step S210 is less than the sum of the distances between the robot 10 and the obstacle 40 at points A and B of the inspection pair, calculated in step S200, then it can be said that the robot 10 will not interfere with (come into) the obstacle 40 while moving (changing its posture) from point A to point B.

[0036] However, under the conditions shown in Figure 5(a), when interference between the robot 10 and the obstacle 40 is determined, only movement paths that reliably avoid the obstacle 40 can be determined as non-interfering movement paths. In other words, for example, even if the obstacle 40 is flexible and it is not a problem for the robot 10 to interfere with the obstacle 40 to some extent, a movement path for the robot 10 that allows some interference with the obstacle 40 cannot be determined as a non-interfering movement path. Therefore, there is a possibility that a movement path will be set for the robot 10 that unnecessarily avoids the obstacle 40 by a large margin.

[0037] Therefore, in the interference determination device 100 according to this embodiment, the interference tolerance distance can be registered in the interference determination device 100 (interference determination condition registration unit 141), and the interference determination unit 143 is configured to determine whether or not the path of the robots 10 between the inspection pairs interferes with the obstacle 40, taking into account the registered interference tolerance distance. Specifically, as described above, in step S220 of the flowchart in Figure 4, it is configured to determine whether or not the travel distance calculated in step S210 is less than the sum of the distances calculated in step S200 plus the interference tolerance distance registered in the interference determination condition registration unit 141.

[0038] This determination criterion will be explained with reference to Figure 5(b). As shown in Figure 5(b), if the distance traveled by the robot 10 in real space between point A and point B is greater than the sum of the distance between the robot 10 and the obstacle 40 at point A and the distance between the robot 10 and the obstacle 40 at point B, then the robot 10 may interfere with the obstacle 40 in the space between the circle around point A and the circle around point B shown in Figure 5(b). The above determination criterion determines whether the distance between the circle around point A and the circle around point B is less than the interference tolerance distance, as shown in Figure 5(b). The interference determination device 100 of this disclosure considers that if the distance between the circle around point A and the circle around point B is less than the interference tolerance distance, then no interference with the obstacle 40 will occur when the robot 10 moves along the operating path between point A and point B, regardless of whether the robot 10 and the obstacle 40 actually interfere with each other. Therefore, the interference tolerance distance can be said to indicate the upper limit of the distance the robot 10 can travel after it has come into contact with an obstacle. By having the user input an arbitrary value for the interference tolerance distance and register it with the interference determination device 100, it becomes possible to determine that the robot 10's operating path that allows interference with the obstacle 40 at a distance less than the interference tolerance distance is an operating path that does not interfere with the obstacle 40.

[0039] If, in step S220, it is determined that the travel distance calculated in step S210 is less than the sum of the distances calculated in step S200 plus the allowable interference distance registered in the interference determination condition registration unit 141, the process returns to step S120. On the other hand, if it is determined that the travel distance calculated in step S210 is greater than or equal to the sum of the distances calculated in step S200 plus the allowable interference distance registered in the interference determination condition registration unit 141, the process proceeds to step S230.

[0040] If the distance traveled calculated in step S210 is determined to be greater than or equal to the sum of the distances calculated in step S200 plus the allowable interference distance registered in the interference determination condition registration unit 141, then even considering the allowable interference distance, the distance in real space between the inspection pairs is too long to determine interference between the robot 10 and the obstacle 40, and it is not possible to properly determine whether or not there is interference between the robot 10 and the obstacle 40. Therefore, in step S230, intermediate points are generated between the inspection pairs in the configuration space, and each point of the inspection pair and the intermediate points are registered in the inspection list.

[0041] As a result, one point of the inspection pair and the midpoint become a new inspection pair. In this way, the distance between inspection pairs is shortened to a distance at which interference between the robot 10 and the obstacle 40 can be judged. If the distance between the new inspection pairs is still too long to judge interference, an additional midpoint is defined between the new inspection pairs. When one or more midpoints are defined in this way, the start point, end point, and generated midpoints all become waypoints that the robot 10's movement path passes through. Then, for all waypoints from the start point to the end point, if, in step S220 described above, it is determined that the distance traveled between adjacent inspection pairs is less than the sum of the distances between the robot 10 and the obstacle 40 at each point of the inspection pair plus the allowable interference distance, the process moves from step S120 to step S130. In step S130, it is determined that no interference between the robot 10 and the obstacle 40 occurs in the movement path between the start point and the end point.

[0042] In step S240, which is performed when it is determined in step S190 that the distance between the robot 10 and the obstacle 40 at at least one of the points in the inspection pair is less than the second threshold, the point in the inspection pair whose distance from the obstacle 40 is less than the second threshold is moved within the range of the interference tolerance distance. For example, as shown in Figure 5(c), if it is determined that the distance between the robot 10 and the obstacle 40 at point B is less than the second threshold, point B is moved to a position (point B') on the straight line connecting point A and point B, at an interference tolerance distance from the circle around point A. This movement may be performed in such a way that the distance between point A and point B increases, or in such a way that the distance between point A and point B decreases.

[0043] Furthermore, if a point in an inspection pair whose distance from the obstacle 40 is less than the second threshold is the starting point or ending point, it is preferable to move the starting point or ending point so that the distance between each point in the inspection pair increases. By doing so, by making the moved points into an inspection pair, it becomes possible to determine whether or not the interference is within the allowable interference distance, even if the robot 10 is interfering with the obstacle 40 at the starting point or ending point. Also, if a point in an inspection pair whose distance from the obstacle 40 is less than the second threshold is the midpoint, it is preferable to register the moved points in the inspection list and use those moved points as one half of a new inspection pair to determine whether or not interference is occurring.

[0044] In step S250, it is determined whether the distance between the robot 10 and the obstacle 40 at the point of movement is greater than or equal to the second threshold. If the distance between the robot 10 and the obstacle 40 is greater than or equal to the second threshold, the process proceeds to step S200. In this case, the process for determining whether interference occurs, as described in steps S200 to S220 above, is performed for the inspection pair including the point of movement. On the other hand, if the distance between the robot 10 and the obstacle 40 at the point of movement is not greater than or equal to the second threshold, the process proceeds to step S260, where it is determined that interference between the robot 10 and the obstacle 40 occurs in the path between the inspection pair. The interference determination result output unit 144 then outputs the determination result to the display device 120. Note that the determination in step S250 may be performed for multiple points of movement within the range of the allowable interference distance until the distance between the robot 10 and the obstacle 40 becomes greater than or equal to the second threshold. In this case, if the distance between the robot 10 and the obstacle 40 does not exceed the second threshold at any of the multiple movement points, it is sufficient to determine that interference between the robot 10 and the obstacle 40 occurs in the movement path between the inspection pairs.

[0045] Furthermore, the processing in steps S120 to S250, excluding steps S130 and S170, corresponds to the function of the interference determination unit 143. Also, the processing in steps S130, S170, and S260 corresponds to the function of the interference determination result output unit 144.

[0046] (Second Embodiment) Next, in the first embodiment, we will describe the case in which, when determining the relative positions of the robot 10 and the obstacle 40 as interference determination conditions, the positional error that may be included in those relative positions is registered in the interference determination device 100.

[0047] In the robot control system shown in Figure 2, the robot control device 60 determines the posture of the robot 10 and the position of the obstacle 40 based on image signals from the camera 50 that photographs the robot 10 and the obstacle 40. At this time, a coordinate transformation error (calibration error) may occur when a coordinate transformation is performed between the coordinate position in the measurement coordinate system when the positions of the robot 10 and the obstacle 40 are measured by the camera 50 and the coordinate position in the control coordinate system when the robot control device 60 controls the position of the robot 10. In addition, a control position error may occur when the robot control device 60 controls the robot 10 to the target position on the path, corresponding to the deviation from the target position. Due to these position errors, the relative position between the robot 10 and the obstacle 40 includes position errors. In addition, the relative position between the robot 10 and the obstacle 40 may include positional errors based on the mounting error of the camera 50, positional errors based on the recognition accuracy of the camera 50, and positional errors caused by the rotation of the axes 11 and 12 of the robot 10 when the robot 10's posture changes, if the axes 11 and 12 of the robot 10 are not perfectly circular.

[0048] The user can calculate and statistically process the various positional errors described above in the actual machine or simulator (robot control model). The user can then register the calculated positional errors as clearance amounts in the interference determination device 100 (interference determination condition registration unit 141) via the input device 110. Alternatively, the positional errors may be determined by the robot control device 60 or the like and registered in the interference determination device 100.

[0049] The process executed in the interference detection device 100 when a position error (clearance amount) is registered in the interference detection device 100 will be explained with reference to the flowchart in Figure 6. In the first step S300, the user registers the position error (clearance amount) in the interference detection device 100 via the input device 110. The processes from step S310 to step S410 and the process in step S430 are the same as the processes from step S110 to S210 and the process in step S230 in the flowchart in Figure 4, so their explanation will be omitted.

[0050] In step S420, it is determined whether the distance traveled in step S410 is less than the sum of the distances calculated in step S400 minus the position error (clearance) registered in the interference determination condition registration unit 141. This determination condition will be explained with reference to Figure 7.

[0051] As explained with reference to Figure 5(a), if the distance traveled by the robot 10 is less than the sum of the distances between the robot 10 and the obstacle 40 at points A and B of the inspection pair, the robot 10 will not interfere with (come into) the obstacle 40 while moving (changing its posture) from point A to point B. However, due to the various factors described above, if the relative positions of the robot 10 and the obstacle 40 are determined and a positional error is included in that relative position, even if the conditions shown in Figure 5(a) are met, the robot 10 and the obstacle 40 may interfere with each other due to that positional error.

[0052] In this embodiment, when determining the relative positions of the robot 10 and the obstacle 40, even if a positional error is included in the relative positions, the system is configured to reliably determine whether or not there is interference between the robot 10 and the obstacle 40 in the movement path between the inspection pair. Therefore, in this embodiment, in step S420, the presence or absence of interference is determined by whether or not the travel distance of the robot 10 is smaller than the value obtained by subtracting the registered positional error (clearance amount) from the sum of the distances between the robot 10 and the obstacle 40 at points A and B of the inspection pair.

[0053] As shown in Figure 7, this determination condition means that if the distance traveled in real space between point A and point B overlaps by a position error (clearance amount) or more between the circle around point A with radius equal to the distance between robot 10 and obstacle 40 at point A and the circle around point B with radius equal to the distance between robot 10 and obstacle 40 at point B, then it is determined that robot 10 and obstacle 40 do not interfere with each other in the movement path between point A and point B. This makes it possible to reliably determine whether or not robot 10 and obstacle 40 interfere in the movement path between the inspection pair, even if position errors are included in the relative positions of robot 10 and obstacle 40 when determining their relative positions.

[0054] As described above, by executing the process shown in the flowchart of Figure 6, it becomes possible to more accurately determine whether or not there is interference with the obstacle 40, taking positional errors into account.

[0055] (Third embodiment) Next, we will describe the case in the first embodiment where the synchronization time error when the obstacle 40 is a movable object that moves along a predetermined path in synchronization with the operation of the robot 10 is registered in the interference determination device 100 as an interference determination condition.

[0056] For example, if multiple robots 10 are positioned close together and work together to perform a predetermined task, the first robot 10 may become an obstacle 40 to the second robot 10. Conversely, it can also be said that the second robot 10 may become an obstacle 40 to the second robot 10.

[0057] In this case, the first robot 10 and the second robot 10 are controlled to move along their respective movement paths in synchronization at predetermined intervals in order to cooperate in performing a predetermined task. However, since the synchronization between the first robot 10 and the second robot 10 is performed at predetermined intervals, there is a possibility that their positions on the movement paths may be shifted by up to the amount of that interval.

[0058] Therefore, in this embodiment, the synchronization time error when the obstacle 40 is a movable object that moves along a predetermined path in synchronization with the operation of the robot 10 can be registered in the interference determination device 100 (interference determination condition registration unit 141). The synchronization time error can be registered in the interference determination device 100 as a time length representing the synchronization time error, a distance corresponding to the synchronization time error, or a ratio to the synchronization time period in which synchronization is performed.

[0059] The processes executed in the interference detection device 100 when a synchronization time error is registered in the interference detection device 100 will be explained with reference to the flowchart in Figure 8. In the first step S500, the user registers the time synchronization error with the interference detection device 100 via the input device 110. However, the time synchronization error may also be registered by the robot control device 60 that controls the posture of the first and second robots 10. The processes from steps S510 to S590, steps S620 and S640 are the same as the processes from steps S110 to S190, steps S610 and S230 in the flowchart of Figure 4, so their explanation will be omitted.

[0060] In step S600, the maximum travel distance of the dynamic obstacle 40 due to the synchronization time error is calculated. That is, the longest distance traveled by each part of the dynamic obstacle 40 in the time corresponding to the synchronization time error is calculated. In step S610, the sum of the distances between the robot 10 and the dynamic obstacle 40 at each point of the inspection pair is calculated, taking into account the maximum travel distance of the dynamic obstacle 40 due to the synchronization time error. The process in step S610 will be explained in more detail with reference to Figure 9.

[0061] When the points of the inspection pair are designated as points A and B, the distance between the robot 10 and the dynamic obstacle 40 at point A and the distance between the robot 10 and the dynamic obstacle 40 at point B in real space are calculated. However, as mentioned above, the position of the dynamic obstacle 40 may shift by the amount of time error. Therefore, as shown in Figure 9, the distance between the robot 10 and the dynamic obstacle 40 at point A, indicated by the dotted circle, is added to the maximum distance traveled due to time error to obtain the distance between the robot 10 and the dynamic obstacle 40 at point A, indicated by the dashed circle. Similarly, the distance between the robot 10 and the dynamic obstacle 40 at point B, indicated by the dotted circle, is added to the maximum distance traveled due to time error to obtain the distance between the robot 10 and the dynamic obstacle 40 at point B, indicated by the dashed circle. Then, by summing the calculated distances between the robot 10 and the dynamic obstacle 40 at points A and B of the inspection pair, the sum of the distances between the robot 10 and the dynamic obstacle 40 at points A and B of the inspection pair is obtained.

[0062] In step S630, it is determined whether the distance traveled calculated in step S620 is less than the sum of the distances calculated in step S610. If it is determined that the distance traveled calculated in step S620 is less than the sum of the distances calculated in step S610, the process continues. The process returns to step S520. In this way, if it is determined that the distance traveled in step S620 for all paths from the starting point to the ending point is less than the sum of the distances calculated in step S610, then when the process proceeds to step S530 via step S520, it is determined in step S530 that the path does not interfere with the dynamic obstacle 40. On the other hand, if it is determined that the distance traveled in step S620 is greater than or equal to the sum of the distances calculated in step S610, the process proceeds to step S640.

[0063] As described above, by executing the process shown in the flowchart of Figure 8, it becomes possible to more accurately determine whether or not there is interference with the obstacle 40, taking into account time synchronization errors.

[0064] (Fourth Embodiment) According to the third embodiment, by calculating the sum of the distances between the robot 10 and the dynamic obstacle 40 at each point of the inspection pair, taking into account the maximum travel distance due to the synchronization time error of the dynamic obstacle 40, it is possible to reliably determine whether or not the robot 10's operating path interferes with the dynamic obstacle 40, even if there is a positional shift due to the synchronization time error of the dynamic obstacle 40.

[0065] On the other hand, the conditions for determining non-interference in the third embodiment may result in determining that a robot 10's operating path is non-interfering if there is an excessive amount of space between the robot 10 and the dynamic obstacle 40. In other words, the conditions for determining non-interference in the third embodiment may determine that the robot 10 interferes with the dynamic obstacle 40 in its operating path, even though the robot 10 and the dynamic obstacle 40 do not actually interfere with each other.

[0066] The fourth embodiment describes an interference determination method that can more precisely determine whether or not interference with a dynamic obstacle 40 occurs in the operating path of the robot 10. The interference determination method of the fourth embodiment described below may be performed when the interference determination method of the third embodiment did not determine that there was no interference, or it may be performed in place of the interference determination method of the third embodiment.

[0067] The flowchart in Figure 10 shows the interference determination method of the fourth embodiment. The processes from step S700 to step S790 and the process in step S850 in the flowchart of Figure 10 are the same as the processes from step S500 to step S590 and the process in step S640 in the flowchart of Figure 8, which shows the interference determination method of the third embodiment, so their explanation is omitted.

[0068] In step S800 of the flowchart in Figure 10, the sum of the distances between the robot 10 and the dynamic obstacle 40 in real space at each point of the inspection pair is calculated. In step S810, the distance traveled by the robot 10 in real space (maximum travel distance) as the robot 10 moves along the motion path between the inspection pair is calculated. Similarly, the distance traveled by the dynamic obstacle 40 in real space (maximum travel distance) as the dynamic obstacle 40 moves between a pair of waypoints corresponding to the inspection pair is calculated.

[0069] In step S820, the total distance is calculated by adding the distance traveled by the dynamic obstacle 40 calculated in step S810 and the maximum distance traveled due to the synchronization time error of the dynamic obstacle 40. In step S830, the distance traveled by the robot 10 calculated in step S810 is compared with the total distance of the distance traveled by the dynamic obstacle 40 and the maximum distance traveled due to the synchronization time error calculated in step S820, and the larger distance is selected. Then, in step S840, it is determined whether the distance selected in step S830 is less than the sum of the distances calculated in step S800.

[0070] Here, the above determination conditions will be explained with reference to Figure 11. As shown in Figure 11, the distance between point A and point B, which are the inspection pair, is the larger of the following two distances: the distance traveled by the robot 10, and the sum of the distance traveled by the dynamic obstacle 40 calculated in step S820 and the maximum distance traveled due to the synchronization time error. If the selected larger distance is smaller than the sum of the distance to the dynamic obstacle 40 at point A and the distance to the dynamic obstacle 40 at point B, then even if there is a positional shift of the dynamic obstacle 40 due to the synchronization time error, the robot 10 will not interfere with (come into) the dynamic obstacle 40 while moving from point A to point B (changing its posture).

[0071] As described above, the interference determination method of the fourth embodiment makes it possible to determine more precisely whether or not interference with a dynamic obstacle 40 occurs in the operating path of the robot 10.

[0072] While preferred embodiments of this disclosure have been described above, this disclosure can be implemented in various modified forms without being limited to the embodiments described above, and without departing from the spirit of this disclosure.

[0073] For example, in each of the embodiments described above, an interference determination device 100 was described that determines whether or not the operating path of the robot 10, passing through a starting point to an ending point, interferes with an obstacle (or dynamic obstacle) 40. However, as shown in Figure 12, a path generation device 200 may be configured that includes an interference determination device 100 including an interference determination condition registration unit 141, an end / start point registration unit 142, and an interference determination unit 143, and a path generation unit 145 that generates an operating path that allows the robot 10 to operate without interfering with the obstacle 40, based on the interference determination result from the interference determination device 100.

[0074] The path generation unit 145 shown in Figure 12 generates an operating path from the starting point to the ending point. If the interference detection device 100 determines that the generated operating path interferes with an obstacle 40, the path generation unit 200 generates a new operating path based on the detection result. By repeatedly generating operating paths and determining interference in this way, the path generation device 200 can generate an operating path that allows the robot 10 to operate without interfering with the obstacle 40. The generated operating path is displayed, for example, on a display device 120 by the path generation result output unit 146.

[0075] Furthermore, in each of the embodiments described above, an example was described in which interference with the obstacle 40 is determined by considering one of the following as interference determination conditions: the allowable interference distance that allows interference with the obstacle 40, the position error that may be included in the relative position when determining the relative position between the robot 10 and the obstacle 40, and the synchronization time error when the obstacle 40 is a movable object that moves along a predetermined path in synchronization with the operation of the robot 10. However, the interference determination device 100 can register two or more interference determination conditions in the interference determination condition registration unit 141 for the same obstacle 40, by arbitrarily combining the interference determination conditions of the allowable interference distance, position error, and synchronization time error. When multiple interference determination conditions are registered, interference with the obstacle 40 can be determined by executing the interference determination methods described in each embodiment in parallel, in succession, or by combining two or more interference determination conditions into one condition. Note that if there are multiple obstacles 40 around the robot 10, one or more interference determination conditions can be registered for each obstacle 40.

[0076] Finally, this specification discloses several technical concepts and several combinations thereof, as listed below.

[0077] (Technical thought 1) An interference determination device for determining whether the movement of a robot (10) interferes with an obstacle (40), A registration unit (142) for registering the start and end points of the robot's movement, When the robot moves along the path from the starting point to the ending point, an interference determination unit (143) determines whether or not it will interfere with the obstacle, The interference determination unit includes an interference determination condition registration unit (141) for registering interference determination conditions when determining interference between the robot and the obstacle, The interference determination condition registration unit can register at least one of the following as interference determination conditions: the allowable interference distance that allows interference with the obstacle, the position error that may be included in the relative position when determining the relative position between the robot and the obstacle, and the synchronization time error when the obstacle is a movable object that moves along a predetermined path in synchronization with the robot's movement. The interference determination unit is an interference determination device that determines interference between the robot and the obstacle, taking into consideration the interference determination conditions registered in the interference determination condition registration unit.

[0078] (Technical thought 2) The aforementioned interference tolerance distance indicates the upper limit of the distance the robot can travel after it has come into contact with the obstacle. The interference determination device according to Technical Concept 1, wherein the interference determination unit does not consider that the robot and the obstacle have interfered even if the robot moves within the allowable interference distance after coming into contact with the obstacle.

[0079] (Technical Thought 3) When the interference tolerance distance is registered as the interference determination condition in the interference determination condition registration unit, the interference determination unit determines that, with respect to the waypoints on the path from the starting point to the ending point, including the starting point and the ending point, there is no interference with the obstacle if the condition that the distance traveled by the robot between two adjacent waypoints is less than the sum of the distances to the obstacle at each waypoint plus the interference tolerance distance is met at all waypoints from the starting point to the ending point is met at all waypoints from the starting point to the ending point, the path through the waypoints between the starting point and the ending point is non-interfering with the obstacle, according to technical concept 1 or 2.

[0080] (Technical Thought 4) The interference determination device according to technical concept 3, wherein if the distance traveled by the robot between two adjacent waypoints is greater than the sum of the distances to obstacles at each waypoint plus the allowable interference distance, the interference determination unit sets a new waypoint between the two adjacent waypoints, and determines whether the condition is met by setting the new waypoint and one of the two adjacent waypoints as two new adjacent waypoints.

[0081] (Technical Thought 5) The interference determination device according to technical concept 3 or 4, wherein the interference determination unit determines that the conditions are met if, at least one of the two adjacent waypoints, the distance to the obstacle is less than a predetermined threshold, the waypoint whose distance to the obstacle is less than the threshold is moved within the range of the allowable interference distance, and at the waypoint after the move, the distance to the obstacle is greater than or equal to the threshold, and the distance the robot moves between the two adjacent waypoints, including the waypoint after the move, is less than the sum of the distances to the obstacle at each waypoint plus the allowable interference distance.

[0082] (Technical Thought 6) The interference determination device according to any one of technical ideas 1 to 5, wherein the position error includes at least one of the coordinate transformation error that occurs when a coordinate transformation is performed between the coordinate position in the measurement coordinate system when the position of the obstacle is measured and the coordinate position in the control coordinate system when the position of the robot is controlled, and the control position error that corresponds to the deviation from the target position when the robot is controlled to the target position on the path.

[0083] (Technical Thought 7) When the position error is registered as an interference determination condition in the interference determination condition registration unit, the interference determination unit determines that, with respect to the waypoints on the path from the starting point to the ending point, including the starting point and the ending point, there is no interference with the obstacle if the condition that the distance traveled by the robot between two adjacent waypoints is less than the sum of the distances to the obstacle at each waypoint minus the length corresponding to the position error is met at all waypoints from the starting point to the ending point is met at all waypoints from the starting point to the ending point, the path between the starting point and the ending point via the waypoints is non-interfering with the obstacle, as described in technical concept 6.

[0084] (Technical Thought 8) The aforementioned synchronization time error is registered in the interference determination condition registration unit as a time length representing the synchronization time error, a distance corresponding to the synchronization time error, or a ratio to the synchronization time period in the interference determination condition registration unit, according to any one of the technical ideas 1 to 7 of the interference determination device.

[0085] (Technical Thought 9) The robot and the obstacle move in synchronized positions at predetermined time intervals. The interference determination device according to technical concept 8, wherein the aforementioned synchronization time error occurs within the predetermined time period.

[0086] (Technical Thought 10) When the synchronization time error is registered as the interference determination condition in the interference determination condition registration unit, the interference determination unit determines that, with respect to the waypoints on the path from the starting point to the ending point, including the starting point and the ending point, there is no interference with the obstacle if the condition that the distance traveled by the robot between two adjacent waypoints is less than the sum of the distances to the obstacle at each waypoint, taking into account the maximum distance the obstacle can travel due to the synchronization time error, is met at all waypoints from the starting point to the ending point, the path between the starting point and the ending point via the waypoints is non-interfering with the obstacle, according to technical concept 8 or 9.

[0087] (Technical Thought 11) When the synchronization time error is registered as the interference determination condition in the interference determination condition registration unit, the interference determination unit determines that, with respect to the waypoints on the path from the starting point to the ending point, including the starting point and the ending point, there is no interference with the obstacle if the larger of the distance between two adjacent waypoints and the sum of the distance the obstacle moves between two positions of the obstacle corresponding to the two adjacent waypoints plus the maximum distance the obstacle can move due to the synchronization time error is less than the sum of the distances between the robot and the obstacle at each waypoint, is satisfied at all of the waypoints from the starting point to the ending point, thus determining that there is no interference with the obstacle with respect to the path between the starting point and the ending point, according to any one of the technical ideas 8 to 10.

[0088] (Technical Thought 12) The interference determination device according to any one of technical concepts 1 to 11, wherein the interference determination condition registration unit is capable of registering two or more interference determination conditions in any combination from among the interference tolerance distance, the position error, and the synchronization time error.

[0089] (Technical Thought 13) An interference detection device (100) described in any one of the technical ideas 1 to 12, A path generation device comprising: a path generation unit (145) that generates a path that allows the robot to operate without interfering with the obstacle, based on the interference determination result from the interference determination device. [Explanation of symbols]

[0090] 10: Robot, 40: Obstacle, 50: Camera, 60: Robot control device, 100: Interference detection device, 110: Input device, 120: Display device, 130: Control device, 140: Processor, 141: Interference detection condition registration unit, 142: Start / end point registration unit, 143: Interference detection unit, 144: Interference detection result output unit, 145: Path generation unit, 146: Path generation result output unit, 150: ROM, 160: RAM, 200: Path generation device

Claims

1. An interference determination device for determining whether the movement of a robot (10) interferes with an obstacle (40), A registration unit (142) for registering the start and end points of the robot's movement, When the robot moves along the path from the starting point to the ending point, an interference determination unit (143) determines whether or not it will interfere with the obstacle, The interference determination unit includes an interference determination condition registration unit (141) for registering interference determination conditions when determining interference between the robot and the obstacle, The interference determination condition registration unit can register at least one of the following as interference determination conditions: the allowable interference distance that allows interference with the obstacle, the position error that may be included in the relative position when determining the relative position between the robot and the obstacle, and the synchronization time error when the obstacle is a movable object that moves along a predetermined path in synchronization with the robot's movement. The interference determination unit determines the interference between the robot and the obstacle, taking into consideration the interference determination conditions registered in the interference determination condition registration unit. The interference determination unit is an interference determination device that, when the allowable interference distance is registered as an interference determination condition, even if interference occurs between the robot and the obstacle, if the interference is less than the allowable interference distance, it is considered that no interference has occurred between the robot and the obstacle.

2. The aforementioned interference tolerance distance indicates the upper limit of the distance the robot can travel after it has come into contact with the obstacle. The interference determination device according to claim 1, wherein the interference determination unit does not consider that the robot and the obstacle have interfered even if the robot moves within the allowable interference distance after coming into contact with the obstacle.

3. If the interference tolerance distance is registered as the interference determination condition in the interference determination condition registration unit, the interference determination unit determines that there is no interference with the obstacle with respect to the path between the starting point and the ending point, if the condition that the distance traveled by the robot between two adjacent via points is less than the sum of the distances to the obstacle at each via point plus the interference tolerance distance is met at all via points from the starting point to the ending point, the interference determination device according to claim 1 or 2.

4. The interference determination device according to claim 3, wherein if the distance traveled by the robot between two adjacent waypoints is greater than the sum of the distances to obstacles at each waypoint plus the allowable interference distance, the interference determination unit sets a new waypoint between the two adjacent waypoints, and determines whether the condition is met by setting the new waypoint and one of the two adjacent waypoints as two new adjacent waypoints.

5. The interference determination device according to claim 3, wherein the interference determination unit determines that the conditions are met if, at least one of the two adjacent waypoints, the distance to the obstacle is less than a predetermined threshold, the waypoint whose distance to the obstacle is less than the threshold is moved within the range of the allowable interference distance, and at the waypoint after the move, the distance to the obstacle is greater than or equal to the threshold, and the distance the robot moves between the two adjacent waypoints, including the waypoint after the move, is less than the sum of the distances to the obstacle at each waypoint plus the allowable interference distance.

6. The interference determination device according to claim 1, wherein the position error includes at least one of a coordinate transformation error that occurs when a coordinate transformation is performed between the coordinate position in the measurement coordinate system when the position of the obstacle is measured and the coordinate position in the control coordinate system when the position of the robot is controlled, and a control position error that corresponds to the deviation from the target position when the robot is controlled to the target position on the path.

7. If the position error is registered as the interference determination condition in the interference determination condition registration unit, the interference determination unit determines that there is no interference with the obstacle with respect to the path between the starting point and the ending point, if the condition that the distance traveled by the robot between two adjacent via points is less than the sum of the distances to the obstacle at each via point minus the length corresponding to the position error is met at all via points from the starting point to the ending point, including the starting point and the ending point, then the interference determination device according to claim 6.

8. The interference determination device according to claim 1, wherein the synchronization time error is registered in the interference determination condition registration unit as a time length representing the synchronization time error, a distance corresponding to the synchronization time error, or a ratio to the synchronization time period.

9. The robot and the obstacle move in synchronized positions at predetermined time intervals. The interference determination device according to claim 8, wherein the synchronization time error occurs within the predetermined time period.

10. If the synchronization time error is registered as the interference determination condition in the interference determination condition registration unit, the interference determination unit determines that there is no interference with the obstacle with respect to the path between the starting point and the ending point, if the condition that the distance traveled by the robot between two adjacent via points is less than the sum of the distances to the obstacle at each via point, taking into account the maximum distance the obstacle can travel due to the synchronization time error, is met at all of the via points from the starting point to the ending point, the interference determination device according to claim 8 or 9.

11. If the synchronization time error is registered as the interference determination condition in the interference determination condition registration unit, the interference determination unit determines that, with respect to the waypoints on the path from the starting point to the ending point, including the starting point and the ending point, there is no interference with the obstacle with respect to the path via the waypoints between the starting point and the ending point, if the larger of the distance between two adjacent waypoints and the sum of the distance the obstacle moves between two positions of the obstacle corresponding to the two adjacent waypoints plus the maximum distance the obstacle can move due to the synchronization time error is less than the sum of the distances between the robot and the obstacle at each waypoint, then the interference determination device according to claim 8 or 9.

12. The interference determination device according to claim 1, wherein the interference determination condition registration unit is capable of registering two or more interference determination conditions, arbitrarily combined from among the interference determination conditions of the allowable interference distance, the position error, and the synchronization time error.

13. The interference determination device (100) according to claim 1, A path generation device comprising: a path generation unit (145) that generates a path that allows the robot to operate without interfering with the obstacle, based on the interference determination result from the interference determination device.

Citation Information

Patent Citations

  • Interference detecting device of robot

    JP2002086383A

  • Route generation device, route generation method, and route generation program

    JP2020110885A

  • Path generation device, path generation method, and path generation program

    WO2022153374A1