Decomposition-Based Assembly Planning
By using local search methods to define local samples at the beginning of the target arrangement, the RRT method is solved inefficiency problem in severely restricted component assembly planning, and efficient assembly path planning is achieved.
Patent Information
- Application Number
- JP2021068937
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-04-09
- Filing Date
- 2021-04-15
- Publication Date
- 2025-02-07
- Estimated Expiration
- 2041-04-15
AI Technical Summary
Existing computer-based component assembly planning techniques, especially the fast search random tree (RRT) method, are difficult to effectively deal with component assembly planning under severely limited target arrangements, resulting in inefficiency.
Using the decomposition of assembly planning method based on local search, by randomly selecting waypoints and defining local samples at the beginning of the target arrangement, gradually escape from the tightly constrained area and finding a collision-free path.
It significantly improves the efficiency and accuracy of assembly operations for complex shape components, reduces invalid waypoint evaluation, and achieves fast and efficient assembly path planning.
Smart Images

Figure 0007628052000001 
Figure 0007628052000002 
Figure 0007628052000003
Abstract
Description
[Technical field]
[0001] (CROSS REFERENCE TO RELATED APPLICATIONS) This application claims the benefit of the filing date of U.S. Provisional Application No. 63 / 010724, filed April 16, 2020, and entitled "DISASSEMBLY BASED ASSEMBLY PLANNING."
[0002] The present disclosure relates generally to the field of industrial robot motion planning, and more specifically to a robot motion planning technique for component assembly operations that starts from a tightly constrained target configuration and plans in the direction of a loosely constrained initial configuration, in which randomly sampled configurations are followed by a local search that generates nodes that extend a path toward the initial configuration while sliding through a tightly constrained region. [Background technology]
[0003] The use of industrial robots to perform a wide variety of manufacturing, assembly, and material transfer operations is well known. One such application is the use of one or more robots to assemble individual components into a product. In component assembly operations, it is very common for two-part assembly configurations to involve multiple contact points and surfaces, such as tabs in slots, pins in holes, or direct contact of adjacent surfaces, to hold the two parts in the proper relative orientation. These contact points and surfaces represent constraints that require the assembly motion to be very precise when the two parts are mated.
[0004] Humans are adept at using vision and touch, along with intuition, to assemble components in the manner described above. However, it is desirable to use robots for such repetitive tasks, especially for reasons of cost-effectiveness and consistent quality. Using humans to teach a robot the proper assembly sequence is time-consuming and costly, as precise motion sensing environments must be set up to enable accurate motion capture of the assembly sequence. Furthermore, human assembly of parts often involves a lot of trial and error characterized by minute movements to bring parts into proper engagement, and capturing those minute and irrelevant movements in the robot's motion program is undesirable. For these reasons, computer-based assembly motion planning techniques have been evaluated as an alternative to human teaching. Summary of the Invention [Problem to be solved by the invention]
[0005] A prior art technique for computer-based assembly motion planning is disclosed that is based on a Rapid Searching Random Tree (RRT) method. RRT rapidly and randomly builds a space-filling tree of nodes until it finds a path from the initial placement to the final placement. If the mathematical models (surface or solid models) of two components to be assembled and their initial and final placements are interrelated, the RRT can be used to find an assembly motion sequence. However, since the target placements of the two components are severely constrained, it becomes highly unlikely that the RRT will find a path waypoint that defines a movement sequence with the exact and correct relative positions and orientations of the parts. Thus, the RRT-based approach for assembly planning of severely constrained components has been found to be inefficient.
[0006] Other known computer-based assembly planning systems are rule-based and use geometric constraints and rules, such as planar and cylindrical constraints on relative part placement. Although this type of system can be more efficient than RRT-based approaches, it typically can only handle simple part geometries, since it requires defining rules for each potential interface.
[0007] In light of the above, an improved robot motion planning approach for component assembly operations is desired that can handle the complex geometries typical of real-world components and efficiently plan assembly movements for highly constrained components. [Means for solving the problem]
[0008] The method includes disposing a plurality of markers throughout a workspace such that a plurality of pairs of two adjacent markers are visible within a field of view of the AR device. The method further includes determining a distance relationship between the two markers in all pairs of markers, and using the distance relationship between the two markers in all pairs of markers to determine a distance relationship between all pairs of non-adjacent markers. The method also includes identifying a distance relationship between one of the plurality of markers and an augmentation in the workspace, and using the distance relationship between the adjacent and non-adjacent markers to identify a distance relationship between the other marker and the augmentation. In one embodiment, the workspace includes a robot, and the augmentation is a point on the robot.
[0009] Additional features of the disclosed apparatus and methods will become apparent from the following description and claims, taken in conjunction with the accompanying drawings. [Brief description of the drawings]
[0010] [Figure 1A] A diagram of the two components during assembly, showing how traditional robot motion planning methods are highly inefficient and highlighting the need for improved motion planning methods. [Figure 1B] A diagram of the two components during assembly, showing how traditional robot motion planning methods are highly inefficient and highlighting the need for improved motion planning methods. [Figure 1C] A diagram of the two components during assembly, showing how traditional robot motion planning methods are highly inefficient and highlighting the need for improved motion planning methods. [Figure 1D] A diagram of the two components during assembly, showing how traditional robot motion planning methods are highly inefficient and highlighting the need for improved motion planning methods. [Diagram 2] FIG. 2D diagram of a simple assembly of balls into slots, illustrating the loosely constrained nature of the initial configuration and the tightly constrained nature of the target configuration as typically found in component assembly operations. [Diagram 3] FIG. 3 is a diagram of the ball and slot assembly layout of FIG. 2, where, according to techniques known in the art, random tree motion planning methods have difficulty finding paths into tightly constrained regions. [Figure 4] FIG. 4 is a diagram of the ball and slot assembly configuration of FIGS. 2-3. According to an embodiment of the present disclosure, the motion plan starts with a target configuration, a randomly selected waypoint configuration is selected, and multiple local samples are defined. [Diagram 5] FIG. 5 is a diagram of the ball and slot assembly configuration of FIG. 4, where local sample configurations are evaluated to identify which samples are collision-free and closest to a randomly selected configuration, according to an embodiment of the present disclosure. [Figure 6] FIG. 6 is a diagram of the ball and slot assembly configuration of FIGS. 4-5. According to an embodiment of the present disclosure, additional local sample configurations are evaluated against the same previously selected random configuration, resulting in waypoints that gradually move the planned path out of the tightly constrained region. [Figure 7]7 is a diagram of the ball and slot assembly configuration of FIGS. 4-6, where, according to an embodiment of the present disclosure, additional randomly selected configurations and local search find a complete path to escape the tightly constrained region and return to the initial configuration. [Figure 8A] 1A-1D are diagrams of the two components shown in FIG. 1A-D when assembled, showing the motion planning results according to RRT techniques known in the art. [Figure 8B] 1A-1D are diagrams of the two components shown in FIG. 1A-D when assembled, showing the results of motion planning with RRT connection techniques known in the art. [Figure 8C] 1A-1D are diagrams of the two components shown in FIGS. 1A-1D when assembled, illustrating the results of motion planning according to the techniques of the present disclosure. [Figure 9] FIG. 13 is a flowchart diagram of a method for robotic component assembly motion planning using a decomposition-based process with local search to escape highly constrained regions according to an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] The following description of embodiments of the present disclosure directed to disassembly-based assembly motion planning techniques using local constraint escape search is merely exemplary in nature and is not intended to limit the disclosed apparatus and techniques or their applications or uses.
[0012] Humans are adept at assembling components into finished products, using vision and touch along with intuition to put components together even when the fits are tight and the required motions are complex. However, for reasons of cost-effectiveness and consistent quality of the product, it is desirable to use robots for such repetitive tasks and eliminate the tedious and repetitive motions of human workers. It is well known to use humans to teach robots proper assembly sequences and motions. Unfortunately, human teaching of assembly motions is time consuming and costly because an accurate motion sensing environment must be set up to enable accurate motion capture of the assembly sequence. Furthermore, human assembly of parts often involves many trial and error steps characterized by minute movements to properly engage parts. It is undesirable to include these minute trial and error human movements in the robot's motion program. For these reasons, computer-based assembly motion planning techniques have been developed to replace human teaching.
[0013] 1A, 1B, 1C, and 1D are diagrams of two components during assembly, illustrating that traditional robotic motion planning techniques are highly inefficient and highlighting the need for improved motion planning techniques. Many products are composed of multiple components with integral features that are used to ensure proper mating and alignment with mating components. These features, such as pins and holes, tabs and slots, nesting geometries, etc., require that the assembly of the components follow a very precise motion sequence. This type of situation is illustrated in FIGS. 1A, 1B, 1C, and 1D.
[0014] A first component 110 is assembled onto a second component 120. Components 110 and 120 can be any two parts, such as the two parts of a computer chassis as shown. During assembly, component 120 is fixed in place and component 110 is moved along a path to fit into a final position that mates with component 120. Finding the motion path of component 110 relative to the fixed position of component 120 is the goal of the motion planning calculations. The geometries of components 110 and 120 are known and provided as input to the motion planning calculations, typically in the form of CAD solid or surface models.
[0015] FIG. 1A shows components 110 and 120 in an initial position before assembly. FIG. 1D shows components 110 and 120 in a final position after assembly. FIG. 1B and 1C show two different views of components 110 and 120 in intermediate positions during assembly, demonstrating the movement of component 110 along a path 130 with a specific approach angle. FIG. 1A illustrates a three-dimensional space grid 140, showing that the shape and configuration of components during movement are calculated in a common fixed coordinate frame. Throughout the following description, the "configuration" of a component should be understood to mean the position and attitude (orientation) of the component in a defined coordinate frame. That is, the configuration of component 110 relative to fixed component 120 includes all six degrees of freedom (DOF), i.e., three positions and three rotation angles, which may be defined as yaw / pitch / roll, Euler angles, or other suitable angular orientation conventions about a local coordinate frame.
[0016] Components 110 and 120 include several integral features that ensure the parts are properly aligned and fit securely together. Tab 112 on one end of component 110 must fit into slot 122 on component 120. Similarly, tab 124 on component 120 must fit into slot 114 on component 110. Tab 116 on the other end of component 110, visible in FIG. 1C, must fit into slot 126 on component 120.
[0017] As is apparent from the drawings, assembly of component 110 onto component 120 requires following a precise sequence of motions that include tilting component 110 to a particular angle, moving component 110 so that at least one tab 112 begins to engage one of the slots 122, and tilting component 110 back to horizontal while sliding it forward. This type of precise six degree of freedom motion planning presents significant challenges to known motion planning techniques for the purpose of having a robot perform assembly operations.
[0018] A prior art for computer-based assembly motion planning based on the Rapid Searching Random Tree (RRT) method has been disclosed. The RRT rapidly and randomly builds a space-filling tree of nodes until it finds a path from the initial configuration to the final configuration. If the mathematical models (surface or solid models) of two components to be assembled and their initial and final configurations are interrelated, the RRT can be used to find an assembly motion sequence. Each node in the RRT motion plan needs to be evaluated and determined to be collision-free in order to be included as a valid or feasible waypoint. However, since the target configurations of the two components are severely constrained, it becomes highly unlikely that the RRT will find a path waypoint that defines a movement sequence with the exact and correct relative positions and orientations of the parts. Thus, the RRT-based approach for assembly planning of severely constrained components has proven to be inefficient.
[0019] Other known computer-based assembly planning systems are rule-based and use geometric constraints and rules, such as planar and cylindrical constraints of relative part configurations. Although this type of system can be more efficient than RRT-based approaches, it typically can only handle simple part geometries, since it requires defining rules for each potential interface.
[0020] To more intuitively explain the challenges of known RRT-based motion planning techniques and the advantages of the techniques of the present disclosure, several diagrams are used below to explain several important concepts of motion planning and constraint compliance in two dimensions.
[0021] 2 is a two-dimensional view of a simple assembly of a ball in a slot, illustrating the loosely constrained nature of the initial configuration and the tightly constrained nature of the target configuration as typically found in component assembly operations. Ball 210 is shown in initial configuration 210A at the top left and in target configuration 210B at the bottom center. In target configuration 210B, ball 210 is positioned within slot 220 of structure 230. Ball 210 fits within slot 220 with very little clearance.
[0022] Workspace 240 (the entire grid) is defined as the configuration space in which ball 210 can move relative to structure 230. Near initial configuration 210A and elsewhere above slot 220, workspace 240 is characterized by a loosely constrained region 250. In region 250, ball 210 is free to move without interfering with structure 230. In contrast, near target configuration 210B and elsewhere near slot 220, workspace 240 is characterized by a tightly constrained region 260. In region 260, ball 210 must be almost perfectly centered in slot 220 to avoid interfering with structure 230. A phantom (dot-drawn) image of ball 210 in FIG. 2 shows the only feasible position of ball 210 within tightly constrained region 260.
[0023] Figure 3 is a diagram of the ball and slot assembly arrangement of Figure 2, showing how it is difficult to find a path to a tightly constrained region by a random tree motion planning method, according to techniques known in the art. Figure 3 shows the same workspace 240 as Figure 2, but now includes a horizontal axis 310 and a vertical axis 320 such that the motion of the ball 210 and the workspace 240 are geometrically mapped in two dimensions.
[0024] A conventional RRT motion planning routine starts with an initial configuration 210A and attempts to find a path to a target configuration 210B. As will be appreciated by those skilled in the art, the RRT selects random waypoints in the configuration space and evaluates each point for feasibility (i.e., not colliding with structures 230). Feasible waypoints are stored as nodes in a tree 330, and a branch grows from each node, terminating when an infeasible waypoint is evaluated.
[0025] 3, it can be seen that the tree 330 grows to completely fill the loosely constrained region 250. However, after many iterations, the RRT technique was unable to find a path from the initial configuration 210A to the target configuration 210B. To find a path to the target configuration 210B, a node on the tree 330 must reach the slot centerline 340 exactly in the loosely constrained region 250, and then a waypoint on the slot centerline 340 must be tried in the tightly constrained region 260. Even with the rapid growth of the tree 330, the RRT motion planning technique is very slow because the probability of each individual branch falling into the slot 220 is very low.
[0026] In light of the inefficiencies of the RRT techniques discussed above, improved robotic motion planning techniques for component assembly operations are desirable that can handle the complex geometries typical of real-world components and efficiently plan assembly movements for highly constrained components.
[0027] 4 is a diagram of the ball and slot assembly configuration of FIG. 2-FIG. 3, and according to one embodiment of the present disclosure, the motion planning starts with the target configuration 210B, a randomly selected waypoint configuration is selected, and multiple local samples are defined. Compared to the RRT-based method shown in FIG. 3, the technique of the present disclosure dramatically reduces the number of unproductive configurations evaluated when building a set of waypoints. Considering the need to perform collision avoidance calculations for each potential waypoint configuration in the motion planning sequence, the dramatic reduction in the number of configurations evaluated makes the motion planning process much more efficient.
[0028] FIG. 4 (and FIGS. 5-7 below) illustrates the disclosed motion planning technique for the same ball and slot assembly and workspace 240 of FIGS. 2-3. The ball 210 is shown in both an initial location 210A and a target location 210B, along with the slot 220 in the structure 230 discussed above. In the disclosed method, the motion planning sequence begins with the target location 210B. By starting in a tightly constrained region (here, inside the slot 220), the disclosed method avoids building a tree of nodes and branches in many unproductive locations (as is done in the RRT-based prior art shown in FIG. 3).
[0029] The method starts with a target configuration 210B and randomly proposes waypoints 410 in the configuration space. Although the configuration space in Figures 4-7 is a two-dimensional workspace 240 and the rotation of ball 210 is not shown since it is a round ball, in general the configuration space is three-dimensional and each configuration is defined with all six degrees of freedom (DOF): three translations and three rotations.
[0030] According to the random definition of the waypoint 410, a set of local samples 420 is evaluated in the local neighborhood of the existing waypoint closest to the proposed waypoint (here the target configuration 210B). The set of local samples 420 can be configured in terms of quantity (16 of them are shown in FIG. 4) and distance in the configuration space from the existing waypoint (configuration 210B). The maximum distance in the configuration space for the general three-dimensional case includes a maximum translation distance (e.g., 10% of the size of the workspace 240) and a maximum rotation angle (e.g., 10°). These maximum extents in the configuration space of the local samples are merely exemplary and can be set to any suitable value. The configurations in the set 420 are randomly defined within the constraints of the maximum extent of the local configuration space. Then, each configuration in the set of local samples 420 is evaluated to determine whether it meets the requirement of being collision-free. The idea is to start with a tightly constrained region and evaluate many local samples at close range, thereby increasing the likelihood of finding one or more feasible (collision-free) configurations and using the feasible configurations to generate a motion plan.
[0031] 5 is a diagram of the ball and slot assembly configuration of FIG. 4, where, according to one embodiment of the present disclosure, the local sample configurations are evaluated to identify which sample is collision-free and closest to the randomly selected configuration. FIG. 5 illustrates the next step of the disclosed method, which is to evaluate each configuration in the set of local samples 420, eliminate any configurations in the set 420 that have collisions (i.e., are infeasible), and then select the feasible configuration that is closest to the proposed waypoint 410.
[0032] A subset 510 of configurations in the set 420 is not feasible because the ball 210 interferes with the structure 230 to the left of the slot 220. Similarly, a subset 520 of configurations in the set 420 is not feasible because the ball 210 interferes with the structure 230 to the right of the slot 220. Of the remaining configurations in the set 420, configuration point 530 is identified as the closest to the proposed waypoint 410 in the configuration space. Thus, configuration point 530 becomes a confirmed waypoint in the motion plan. In the two-dimensional space of FIG. 5, "closest" simply means the smallest distance in a plane. In the three-dimensional configuration space of a real part, the closest point can be identified using a predefined formula that includes the translation distance (the square root of the sum of the squares of the difference in x / y / z coordinates) and the rotational "distance" (such as the square root of the sum of the squares of the difference in the orientation angles) and appropriate weighting factors.
[0033] FIG. 6 shows the ball and slot assembly arrangement of FIGS. 4-5, and according to one embodiment of the present disclosure, an additional local sample arrangement is evaluated for the same random arrangement previously selected, resulting in a waypoint that gradually moves the planned path out of the tightly constrained region. FIG. 6 shows the next step of the disclosed method, in which the evaluation of local samples is repeated as shown in FIGS. 4-5, but the local samples are defined around the existing waypoint (here point 530) that is closest to the proposed waypoint. Thus, a new set of local samples (e.g. 16 as before (not shown to maintain visual clarity)) is defined around point 530, and one point is selected from the new set of local samples that is both feasible (collision-free) and closest to the same proposed waypoint 410 as before. This results in a new confirmed waypoint 610.
[0034] A new set of local samples (e.g., 16 as described above) is then defined around the new confirmed waypoint 610, and one point from the new set of local samples is selected that is both feasible (collision-free) and closest to the same proposed waypoint 410. This results in another new confirmed waypoint 620. This process (evaluating the set of local samples and selecting one that is feasible and moves towards the proposed waypoint) can be repeated multiple times using the same proposed waypoint 410 before a new proposed waypoint is randomly defined. The number of times local samples are evaluated before defining a new proposed waypoint is configurable and could take values such as 3, 5, 10, or other numbers. The distances of waypoints 530, 610, and 620 from the centerline of slot 220 are exaggerated for visual effect.
[0035] The idea behind evaluating a series of local samples and selecting a viable one to move towards the proposed waypoint and doing this multiple times for the proposed waypoint is to "slide" the moving part (ball 210) out of the tightly constrained region (slot 220) of the fixed part (structure 230). In Fig. 6, we can see that waypoints (points 530, 610 and 620) are accumulated in the direction of moving from the slot 220 towards the open space. The objective of this motion planning method is to escape the tightly constrained region 260 and enter the loosely constrained region 250, so that the path back to the initial configuration 210A can be easily found due to the lack of constraints.
[0036] After the waypoint 620 is added to the motion plan, a new random waypoint configuration may be proposed to replace the proposed waypoint 410. The new proposed waypoint may be anywhere in the configuration space of the workspace 420. A set of local samples around the waypoint 620 is then defined and evaluated to determine which local samples are both feasible and closest to the new proposed waypoint.
[0037] FIG. 7 illustrates the ball and slot assembly configuration of FIGS. 4-6, where, according to one embodiment of the present disclosure, a randomly selected additional configuration and local search finds a perfect path to escape the tightly constrained region and return to the initial configuration. In the manner described above, a proposed waypoint is defined, multiple sets of local samples are evaluated, and the process is repeated multiple times to accumulate feasible confirmed waypoints that move away from the target configuration 210B. This process is repeated as many times as necessary to escape the tightly constrained region 260 (to escape the slot 220), resulting in a set of confirmed waypoints 710 moving up the slot 220. Finally, a waypoint 720 is confirmed within the loosely constrained region 250. Then, a proposed waypoint is defined and local samples are evaluated that can be placed anywhere within the loosely constrained region 250 and easily find a path back to the initial configuration 210A. This is shown at the top of FIG. 7 and corresponds to additional waypoints 730, 732, 734, and 736.
[0038] As can be seen from FIG. 7, the defined motion plan moves the ball 210 from the target location 210B upward along a set of points in a slot 710 to point 720, then back through waypoints 730, 732, 734, and 736 to the initial location 210A. This motion plan needs to be reversed to execute the desired action of moving the ball 210 from the initial location 210A to the target location 210B. Furthermore, it is advantageous to remove unnecessary actions from the action sequence. For example, it can be readily determined that the motion sequence can proceed from the initial location 210A to waypoint 720 in the loosely constrained region 250 without collision, thereby eliminating the wasted movement through waypoints 730-736.
[0039] A final movement sequence 740 can be used to efficiently move the ball 210 from the initial location 210A to the waypoint 720 and then through some (but not necessarily all) of the waypoints in the slot 220 until it reaches the target location 210B.
[0040] The above discussion of Figures 4-7 has illustrated the motion planning techniques of the present disclosure with respect to a two-dimensional ball and slot assembly and workspace 240. The use of a two-dimensional example to illustrate the disclosed techniques has been merely for clarity and ease of understanding. It should be understood that the techniques applied to each of the waypoints and placements shown in Figures 4-7 in two dimensions (x and y positions) can be applied to placement of one 3D component relative to another in three dimensions and six degrees of freedom (x / y / z positions and three rotation angles). Similarly, the simple collision avoidance calculations in Figures 4-7 (whether ball 210 interferes with structure 230) correspond to minimum distance and collision avoidance calculations between two 3D geometric models. These techniques provide an efficient and effective method of planning a motion sequence for assembly of one component with another.
[0041] 8A, 8B, and 8C are diagrams of two components assembled as shown in FIGS. 1A, 1B, 1C, and 1D, where FIG. 8A shows a motion planning result according to the RRT technique known in the art, FIG. 8B shows a motion planning result according to the RRT connection technique known in the art, and FIG. 8C shows a motion planning result according to the technique of the present disclosure. In head-to-head computations, the technique of the present disclosure provided valid motion plans much faster and more efficiently than either the RRT technique or the RRT connection technique.
[0042] 8A shows the initial placement of parts 110 and 120 and partial computation results using the RRT method. The RRT method was the slowest because it evaluates a huge number of non-productive waypoints and each branch of the tree has a very low probability of reaching the tightly constrained assembly area. This is indicated by the tree nodes and branches labeled with reference numeral 810.
[0043] 8B shows the initial placement of parts 110 and 120 and a partial computation using the RRT connection method, which performs tree construction from both the initial placement and the target placement until they connect, and is more efficient than RRT but still much slower than the disclosed method. This is indicated by the tree nodes and branches, designated by reference numeral 820.
[0044] 8C shows parts 110 and 120 in a partially assembled configuration. A motion plan 830 has already been calculated by the techniques of this disclosure and is being executed by the robot, while the RRT method and the RRT connection method are still being calculated. These figures reflect the results of the actual direct calculations described above, with the RRT method and the RRT connection method taking much longer to find an assembly motion sequence than the methods of this disclosure.
[0045] FIG. 9 is a flow chart diagram 900 of a method for robotic component assembly motion planning using a decomposition-based process with local search to escape a tightly constrained region according to one embodiment of the present disclosure. In box 902, geometric models of two components are prepared with initial and target configurations. As mentioned above, the geometric models may be solid or surface models of the components in a CAD system, and the initial and target configurations define the location and orientation of the components in a common fixed coordinate frame. Typically, one of the components does not move, and the other component is moved from its initial configuration to the target configuration where it is assembled with the fixed component. This is consistent with the ball-in-slot example of FIGS. 2-7 and the computer chassis component assembly example of FIGS. 1 and 8.
[0046] In box 904, starting from the target configuration, a random waypoint is proposed in the configuration space. The random waypoint and all other samples and waypoints represent the movement of one component (being moved by the robot) relative to other components (fixed in place). In box 906, a set of local samples is defined around the existing waypoint closest to the proposed waypoint (initially the target configuration). The amount of local samples and their range in the configuration space from the current working point are parameters definable in the computational implementation of the method.
[0047] In box 908, each local sample is evaluated by placing a geometric model of the component according to the sample configuration and checking for interference to determine whether each local sample has a collision. In box 910, one of the local samples placed in the configuration space that is feasible (no collisions) and closest to the randomly proposed waypoint is selected. In decision diamond 912, it is determined whether the waypoint or local sample point matches (or is within a tolerance of) the initial configuration. If no waypoint is defined in the initial configuration, the process proceeds to decision diamond 914.
[0048] In decision diamond 914, it is determined whether a predefined local sample loop threshold has been reached. If the number of local sample loops has not been reached, the process loops back to box 906, where a new set of local samples is defined around the existing waypoint closest to the proposed waypoint (here corresponding to the local sample point selected in box 910). This new set of local samples is then evaluated for feasibility and proximity to the same waypoint as previously proposed in box 904. The predefined local sample loop threshold is a configurable parameter to achieve best results, and can be set to a number ranging from 3 to 10, for example.
[0049] If the number of local sample loops is reached in decision diamond 914, the process loops back to box 904 where a new random waypoint is proposed. A new set of local samples is then defined around the existing waypoint closest to the proposed waypoint. Each local sample point selected in box 910 becomes part of the saved path of the waypoint. The loop back from decision diamond 914 to boxes 904 or 906 continues until the path of the waypoint finds its way back to the initial configuration provided in box 902. Once the initial configuration is reached in decision diamond 912, the process moves to box 916. In box 916, the motion sequence is trimmed to eliminate wasteful motions and reversed to provide a final motion sequence from the initial configuration to the target configuration (i.e., the final motion sequence is in the direction of assembling the components, but the planning calculations are performed in the direction of disassembly). The process ends at endpoint 918.
[0050] Trimming the motion sequence in box 916 includes shortcutting path points that unnecessarily increase the path distance (when not necessary to avoid collision with an obstacle). Trimming the motion sequence also includes reducing the number of path points in areas with very dense point spacing, as described in FIG. 7. The final motion sequence is then made available to the robot controller, which grasps one component (i.e., part 110) and moves it along the final motion sequence to assemble it with another component (i.e., part 120). The computational steps of the flowchart 900 can be performed by any suitable computer / processor, and the final motion sequence is provided to the robot controller for execution. Alternatively, the computational steps of the flowchart 900 may be performed by the robot controller itself.
[0051] It is important to remember that the final motion sequence for moving one component relative to another is not just a series of points, but a series of three positions and three poses in the configuration space. That is, each waypoint, random sample, and saved point described above is a complete 6-DOF configuration (pose) of the moving parts in the workspace coordinate frame. The assembly robot manipulates the moving parts with the translations and rotations necessary to fit each sequential configuration of the motion sequence.
[0052] Various computers and controllers have been described or implied throughout the preceding description. It should be understood that the software applications and modules of these computers and controllers execute on one or more computing devices having processors and memory modules. In particular, this includes the processors of each of the robot controllers and other computers (if used) discussed above. In particular, the processors of the controllers and / or other computers are configured to execute decomposition-based assembly motion planning techniques using local constraint avoidance search in the manner described and illustrated throughout the disclosure above.
[0053] As outlined above, the disclosed technique for decomposition-based assembly motion planning using local constraint avoidance search offers important advantages over prior art methods: By starting from a target configuration and using a local search loop to avoid tightly constrained regions, the disclosed technique is much faster and more efficient than prior art RRT-based assembly motion planning techniques, and, unlike prior art rule-based assembly motion planning techniques, is adaptable to complex component geometries.
[0054] While several exemplary aspects and embodiments of the decomposition-based assembly motion planning technique using local constraint avoidance search have been described, those skilled in the art will recognize modifications, permutations, additions, and subcombinations thereof, and therefore the appended claims and claims should be construed to include all such modifications, permutations, additions, and subcombinations that are within their true spirit and scope. [Configuration 1] 1. A method for planning assembly operations of components using a robot, comprising the steps of: providing geometric models of first and second components to be assembled and an initial and target configuration of the first component relative to the second component; Defining the target configuration as a first stored waypoint; Randomly selecting a proposed waypoint within a configuration space; defining a set of local sample configurations around a stored waypoint that is closest to the proposed waypoint; evaluating each of the local sample configurations to identify one local sample configuration in the configuration space that is collision-free and closest to the proposed waypoint, and adding the identified local sample configuration as a saved waypoint; inverting a plurality of stored waypoints to provide the assembly operation when a stored waypoint is added to the initial configuration; if the predetermined local sample loop count has not been reached, returning to the step of defining the set of local sample configurations; returning to the step of randomly selecting a proposed waypoint placement; The method includes: [Configuration 2] 2. The method of claim 1, further comprising removing from the assembly operation any of the stored waypoints that can be removed without causing a component interference condition during the assembly operation. [Configuration 3] 2. The method of claim 1, further comprising providing the assembly operations to an industrial robot by a robot controller, and assembling the first and second components with the robot using the assembly operations. [Configuration 4] 2. The method of claim 1, wherein each waypoint and each sample configuration in the configuration space includes a three-dimensional position and three attitude angles of the first component relative to the second component. [Configuration 5] 2. The method of claim 1, wherein the local sample placement is within a distance and rotation angle of a closest stored waypoint to the proposed waypoint. [Configuration 6] 2. The method of claim 1, wherein evaluating each of the local sample configurations to identify one collision-free local sample configuration includes performing a mathematical interference check of geometric models of the first and second components. [Configuration 7] 2. The method of claim 1, wherein evaluating each of the local sample configurations to identify one local sample configuration in the configuration space that is closest to the proposed waypoint includes using a weighted sum of a translation difference term and a rotation difference term. [Configuration 8] 8. The method of claim 7, wherein the translation difference term is the sum of squares of differences in x, y and z positions of the sample configuration relative to the proposed waypoint, and the rotation difference term is the sum of squares of differences in multiple angular positions of the sample configuration relative to the proposed waypoint. [Configuration 9] 2. The method of claim 1, wherein the size of the set of local sample configurations is in the range of 10 to 30 local sample configurations. [Configuration 10] 2. The method of claim 1, wherein the predetermined local sample loop count is predefined and has a value within the range of 3 to 10. [Configuration 11] 2. The method of claim 1, wherein the stored waypoints added to the initial configuration include stored waypoints added within a predefined range of distance and rotation angle of the initial configuration. [Configuration 12] 2. The method of configuration 1, wherein the assembly operation includes a sequence of waypoints starting from the initial configuration and ending at the target configuration, each waypoint being a six degree of freedom configuration of the first component relative to the second component. [Configuration 13] 1. A method for planning assembly operations of components using a robot, comprising the steps of: Providing geometric models of first and second components in the initial and target configurations; Defining the target configuration as a first stored waypoint; evaluating a set of local samples around a stored waypoint that is closest to a randomly selected proposed waypoint, and identifying and storing as a waypoint one sample that is collision-free and closest to the proposed waypoint; repeating the evaluation of local samples against the same waypoint as the randomly selected proposed waypoint and against new random proposed waypoints until a stored waypoint is located within a tolerance of the initial location; reversing a sequence of a plurality of said stored waypoints to provide said assembly operation; The method includes: [Configuration 14] 14. The method of claim 13, further comprising removing from the assembly operation any of the stored waypoints that can be eliminated without causing a component interference condition during the assembly operation. [Configuration 15] 14. The method of claim 13, wherein each waypoint and each sample configuration includes a three-dimensional position and three attitude angles of the first component relative to the second component. [Configuration 16] 14. The method of claim 13, wherein the local sample is within a predefined range of distance and rotation angle of a closest stored waypoint to the proposed waypoint. [Configuration 17] 14. The method of claim 13, wherein evaluating a set of local samples to identify one collision-free local sample includes performing a mathematical interference check of geometric models of the first and second components. [Configuration 18] 14. The method of claim 13, wherein evaluating the set of local samples to identify one local sample that is closest to the random proposed waypoint includes using a weighted sum of a translation difference term and a rotation difference term. [Configuration 19] 19. The method of claim 18, wherein the translation difference term is a sum of squares of differences in x, y, and z positions of the sample relative to the proposed waypoint, and the rotation difference term is a sum of squares of differences in multiple angular positions of the sample relative to the proposed waypoint. [Configuration 20] 14. The method of configuration 13, wherein the assembly operation includes a sequence of waypoints starting from the initial configuration and ending at the target configuration, each waypoint being a six degree of freedom configuration of the first component relative to the second component.
Claims
1. 1. A method for planning assembly operations of components using a robot, comprising the steps of: providing geometric models of first and second components to be assembled and an initial and target configuration of the first component relative to the second component; Defining the target configuration as a first saved waypoint; Randomly selecting a proposed waypoint within a configuration space; defining a set of local sample configurations around a stored waypoint that is closest to the proposed waypoint; evaluating each of the local sample configurations to identify one local sample configuration in the configuration space that is collision-free and closest to the proposed waypoint, and adding the identified local sample configuration as a saved waypoint; inverting a plurality of stored waypoints to provide the assembly operation when a stored waypoint is added to the initial configuration; if the predetermined local sample loop count has not been reached, returning to the step of defining the set of local sample configurations; returning to the step of randomly selecting a proposed waypoint placement; The method includes:
2. The method of claim 1 , further comprising removing from the assembly operation any of the stored waypoints that can be eliminated without creating a component interference condition during the assembly operation.
3. 2. The method of claim 1, further comprising providing the assembly operations to an industrial robot by a robot controller, and assembling the first and second components with the robot using the assembly operations.
4. The method of claim 1 , wherein each waypoint and each local sample configuration in the configuration space includes a three-dimensional position and three attitude angles of the first component relative to the second component.
5. The method of claim 1 , wherein the local sample placement is within a distance and rotation angle of a closest stored waypoint to the proposed waypoint.
6. 2. The method of claim 1, wherein evaluating each of the local sample configurations to identify one collision-free local sample configuration comprises performing a mathematical interference check of geometric models of the first and second components.
7. 2. The method of claim 1, wherein evaluating each of the local sample configurations to identify one local sample configuration in the configuration space that is closest to the proposed waypoint includes using a weighted sum of translational and rotational difference terms.
8. 8. The method of claim 7, wherein the translation difference term is a sum of squares of differences in x, y, and z positions of the local sample configuration relative to the proposed waypoint, and the rotation difference term is a sum of squares of differences in multiple angular positions of the local sample configuration relative to the proposed waypoint.
9. The method of claim 1 , wherein the size of the set of local sample configurations is in the range of 10 to 30 local sample configurations.
10. The method of claim 1 , wherein the predetermined local sample loop count is predefined and has a value within a range of 3 to 10.
11. The method of claim 1 , wherein the saved waypoints added to the initial configuration include saved waypoints added within predefined ranges of distance and rotation angle of the initial configuration.
12. 2. The method of claim 1, wherein the assembly motion includes a sequence of waypoints starting from the initial configuration and ending at the target configuration, each waypoint being a six degree of freedom configuration of the first component relative to the second component.
13. 1. A method for planning assembly operations of components using a robot, comprising the steps of: Providing geometric models of first and second components in the initial and target configurations; Defining the target configuration as a first saved waypoint; evaluating a set of local samples around a stored waypoint that is closest to a randomly selected proposed waypoint, and identifying and storing as a waypoint one sample that is collision-free and closest to the proposed waypoint; repeating the evaluation of local samples against the same waypoint as the randomly selected proposed waypoint and against new random proposed waypoints until a stored waypoint is located within a tolerance of the initial location; reversing a sequence of a plurality of said stored waypoints to provide said assembly operation; The method includes:
14. 14. The method of claim 13, further comprising removing from the assembly operation any of the stored waypoints that can be excluded without creating a component interference condition during the assembly operation.
15. The method of claim 13 , wherein each waypoint and each local sample includes a three-dimensional position and three attitude angles of the first component relative to the second component.
16. The method of claim 13 , wherein the local sample is within a predefined range of distance and rotation angle of a closest stored waypoint to the proposed waypoint.
17. 14. The method of claim 13, wherein evaluating a set of local samples to identify a collision-free local sample comprises performing a mathematical interference check of geometric models of the first and second components.
18. The method of claim 13 , wherein evaluating the set of local samples to identify one local sample that is closest to the random proposed waypoint includes using a weighted sum of translational and rotational difference terms.
19. 20. The method of claim 18, wherein the translation difference term is a sum of squares of differences in x, y, and z positions of the sample relative to the proposed waypoint, and the rotation difference term is a sum of squares of differences in multiple angular positions of the sample relative to the proposed waypoint.
20. 14. The method of claim 13, wherein the assembly movement includes a sequence of waypoints starting from the initial configuration and ending at the target configuration, each waypoint being a six degree of freedom configuration of the first component relative to the second component.
Citation Information
Patent Citations
Generation and control method of working track of robot hand
JP2003280710A
Robot teaching device and robot control device
JP2011110688A
Path searching method, path searching device, robot control device, robot, and program
JP2014073550A
Teaching method for component inserting operation of robot, and operation method of robot using the same
JP2015142952A
Article manufacturing method and robot system
JP2019093504A