Initial reference generation for robot optimized motion planning.

JP7635055B2Active Publication Date: 2025-02-25FANUC LTD
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
JP2021063281
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-04-03
Filing Date
2021-04-02
Publication Date
2025-02-25
Estimated Expiration
2041-04-02

Smart Images

  • Figure 0007635055000007
    Figure 0007635055000007
  • Figure 0007635055000008
    Figure 0007635055000008
  • Figure 0007635055000009
    Figure 0007635055000009
Patent Text Reader

Abstract

To provide a robot operation plan optimization technology of using a refined initial stage reference path for quickly converging in a resolution when requiring a large number of repetitions for attaining to the final convergence resolution.SOLUTION: When a new path is to be computed using motion optimization, a candidate reference path is selected from storage which was previously computed and which has similar start and goal points and collision avoidance environment constraints to the new path. The candidate reference path is adjusted at all state points along its length to account for the difference between the start and goal points of the new path compared to those of the previously-computed path, to create the initial reference path. The initial reference path, adjusted to fit the start and goal points, is then used as a starting state for the motion optimization computation. By using an initial reference path which is similar to the final converged new path, the optimization computation converges more quickly than if a naive initial reference path is used.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to the field of industrial robot motion control, and more particularly to a robot optimization motion planning technique that generates an initial reference path for iterative optimization calculation of a new path by selecting a previously calculated path having similar start and end points and collision avoidance constraints as a new path, and modifying the positions of points along the previously calculated path based on the difference between the start and end points of the new path relative to the previously calculated path. [Background technology]

[0002] The use of industrial robots to perform a wide range of manufacturing, assembly, and material handling operations is well known. In some robotic applications, the start and / or destination locations change for each robot task. For example, a robot's task may be to pick parts from an incoming conveyor and place them into an open location in a shipping container. In these applications, a new robot motion path must be calculated for each task in real time. Furthermore, in many robot workspace environments, obstacles may exist and be located in the robot's motion path. The obstacles may be permanent structures such as machines or fixtures, or the obstacles may be temporary or mobile. Collisions between the robot and any obstacles must be avoided at all costs.

[0003] One technique for robot motion planning involves modeling an optimization problem based on start / target points, collision avoidance constraints, and other constraints, defining an initial reference path as the first iteration of the optimization calculation, and running the optimization calculation until it converges to a predefined criterion. The most common prior art technique for defining the initial reference path simply defines a straight line path from the start point to the target point of the new path. However, due to collision avoidance constraints and possibly other constraints on the robot motion limits, the final converged solution of the new path often differs significantly from the initial straight line path.

[0004] A problem with prior art robot optimization motion planning modeling is that it takes many iterations to calculate a final converged solution for a new path due to significant deviations from the initial straight line path. If many iterations are required to reach a converged solution, the motion planning calculations take too long to be practical in an environment where the calculations must be performed in real time as the robot moves.

[0005] In light of the above situation, there is a demand for a robot motion planning optimization technique that uses a refined initial reference path to quickly converge to a solution. Summary of the Invention

[0006] In accordance with the teachings of the present disclosure, a robot optimization motion planning technique using a refined initial reference path is disclosed. When calculating a new path using motion optimization, a previously calculated candidate reference path with similar start and goal points and collision avoidance environmental constraints for the new path is selected from storage. The candidate reference path is adjusted to account for differences in the start and goal points of the new path compared to the start and goal points of the previously calculated path at all state points along its length to generate an initial reference path. The initial reference path adjusted to match the start and goal points is used as the starting state for the motion optimization calculation. By using an initial reference path similar to the final converged new path, the optimization calculation converges faster than if a simple initial reference path was used.

[0007] Further features of the disclosed apparatus and methods will become apparent from the following description and appended claims, considered in conjunction with the accompanying drawings. [Brief description of the drawings]

[0008] [Figure 1] FIG. 1 is a diagram of an industrial robot performing pick, move, and put away operations where the workspace environment includes one or more obstacles to avoid and a new path must be calculated each time a workpiece is moved. [Diagram 2]2 is a flowchart illustrating a robot optimization motion planning method for the scenario of FIG. 1 using a refined initial reference path in accordance with one embodiment of the present disclosure. [Figure 3A-C] FIG. 13 illustrates a technique for modifying a previously calculated path based on a start point and a destination point of a new path to provide a refined initial reference path, according to one embodiment of the present disclosure. [Figure 4] 11 is a graph plotting the motion planning optimization convergence behavior of the disclosed technique compared to the prior art. [Diagram 5] 1 is a graph plotting motion plan optimization calculation time of the disclosed technique compared to the prior art. [Figure 6A] FIG. 1 is a diagram of a robot that iteratively calculates multiple path trajectories with an optimized motion plan using a simple initial reference, according to techniques known in the art. [Figure 6B] FIG. 13 is a diagram of a robot iteratively calculating a small number of path trajectories with an optimized motion plan using a refined initial reference, according to an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] The following discussion of embodiments of the present disclosure directed to robotic optimization motion planning techniques using refined initial references is merely exemplary in nature and is in no way intended to limit the disclosed apparatus and techniques or their applications or uses.

[0010] It is well known to use industrial robots for a variety of manufacturing, assembly, and material handling operations. In some types of these operations, the robot must be programmed to move along paths that have different start and destination points from one operation to the next. For example, in a move, pick, and eject operation, incoming parts on a conveyor may be picked by the robot at different locations each time, and parts ejected by the robot into a shipping container will each be ejected to a different assigned location within the container. There are many other example applications in which a new path must be calculated for each individual task or operation of the robot.

[0011] Furthermore, in many robot workspace environments, obstacles may exist and be in the robot's motion path, i.e., one or more obstacles may be located between the start point and the goal point, or more generally, between the robot's current position and the robot's destination position. The obstacles may be permanent structures such as machines, fixtures, etc., or the obstacles may be temporary or mobile.

[0012] FIG. 1 is a diagram of an industrial robot performing pick, move, and pick-up operations in a scenario of the type described above, where the workspace environment includes one or more obstacles to avoid and a new path must be calculated each time a workpiece is moved. A robot 100 having a gripper 102 operates within a workspace 104. The operation of the robot 100 is generally controlled by a controller 110 that communicates with the robot 100 via a cable 112. As known in the art, the controller 110 provides joint operation commands to the robot 100 and receives joint position data from encoders in the joints of the robot 100. The controller 110 also provides commands to control the operation of the gripper 102. The pick, move, and pick-up scenario of FIG. 1 is exemplary and representative only. The optimization motion planning techniques of the present disclosure are applicable to any type of robot operation, and the gripper 102 may be replaced by any type of robot tool.

[0013] The camera 120 communicates with the controller 110 and provides images of the workspace 104. Images from the camera 120 may be used to identify the position and orientation of a workpiece to be manipulated by the robot 100, or a location from which a workpiece is to be removed by the robot 100, or to identify moving or temporary obstacles within the workspace 104. In some embodiments, the camera 120 is not required at all, and other means are used to identify the start and target positions of a workpiece to be moved by the robot 100 when there is no possibility of moving obstacles.

[0014] The workpiece 130 arrives on the conveyor 140 in the workspace 104. The task of the robot 100 is to retrieve the workpiece 130 from the conveyor 140, move the workpiece 130, and place it in a container 150 (such as a shipping container). Again, this is just one example of variable start and target positions, and many other examples can be envisioned. The position and pose of the start point 160 is defined based on information about the position of the workpiece 130 on the conveyor 140 and the speed of the conveyor 140. The pose of the workpiece 130 at the start point 160 is needed to determine the orientation of the gripper 102. Similarly, the position and pose of the target point 162 is defined based on information about the next available compartment or location in the container 150. One intermediate point 164 is shown in FIG. 1 midway between the start point 160 and the target point 162. In an actual robot motion planning calculation, multiple intermediate path points are calculated to satisfy all path constraints, and a smooth tool path is calculated that passes through the multiple path points.

[0015] Obstacles 170, shown as walls, exist between the start point 160 and the target point 162. It can also be seen that the sides of the container 150 represent obstacles that must be avoided by the robot 100 and taken into account in path planning, and other obstacles may also be present.

[0016] For each workpiece 130 that arrives on the conveyor 140, a new path must be calculated by the control unit 110 for the robot 100 to move the gripper 102 from the home or approach position along path segment 180, pick up the workpiece 130 at the start point 160, move the workpiece 130 along path segment 182 to the target point 162 while avoiding obstacles 170, and return the gripper 102 to the home or approach position for the next workpiece 130. The new path must be calculated very quickly by the control unit 110 because the path calculation must be performed in real time as fast as the robot 110 can move one workpiece 130 and return to pick up the next workpiece.

[0017] Optimization techniques have been developed and are known in the art to calculate robot motions such that the tool follows a path from a specific start point to a specific target point while avoiding collisions of the robot with any obstacles and satisfying other types of constraints. However, these known techniques have not considered computational efficiency or have considered different optimization algorithms to reduce computation time. According to the techniques disclosed herein, computational efficiency can be substantially improved by providing the optimization routine with an initial reference path that is more sophisticated than the simple reference path used in the prior art.

[0018] FIG. 2 is a flowchart 200 illustrating a robot optimization motion planning method using the refined initial reference path in the scenario of FIG. 1 according to one embodiment of the present disclosure. In box 202, the location and shape of any obstacles (obstacle 170 and any other obstacles) in the robot workspace 104 are specified. The obstacles may be specified by CAD data in the workspace coordinate system or by data from a sensor such as the camera 120 mentioned above. The obstacle data is typically a solid, surface, or surface point cloud, which should be sufficient to model the collision avoidance constraints in the optimization problem. The collision avoidance constraints are modeled such that the shortest distance between any part of the robot 100 and any obstacle exceeds a predefined threshold for each path point in the computed motion, and the shortest distance is calculated in any suitable efficient manner, such as by specifying a geometric primitive around the robot parts and obstacles, or by modeling the obstacles as a distance field matrix.

[0019] In box 204, the start and end points of the robot path (q start , q goal) is defined based on the task to be performed by the robot. As shown in FIG. 1, a start point 160 may be defined based on the position of the incoming workpiece 130 on the conveyor 140, and a target point 162 may be defined based on the assigned position of the outgoing workpiece 130 in the container 150. The intermediate point 164 is not defined as an input in the motion optimization, and the intermediate point 164 is an output of the optimization calculation along with other path points. In box 206, an initial reference path is generated. The initial reference path provides a starting point (initial solution) for the iterative motion optimization calculation. In prior art motion optimization techniques, the initial reference path is generally simply defined as a straight line from the start point to the target point. Using the techniques of the present disclosure, a refined initial reference path is generated based on a previously calculated path with similar start and target points. This technique is discussed in more detail below, returning to the discussion of the calculation of box 206.

[0020] In box 208, a motion optimization problem is modeled in the robot controller. Modeling the motion optimization problem involves specifying an objective function and various constraint functions. Thus, the motion optimization problem can be defined as finding an optimal path q such that:

[0021]

number

[0022]

number

[0023]

number

[0024] where f(q) is the pose q={q1,…,q T}, g(q) is the optimization objective function to be minimized for the entire robot motion including the tool center point path length, and g(q) is the inequality constraint that must be satisfied (joint positions must be within the constraints, joint velocities, accelerations, and jerk, as well as the tool center point velocity, acceleration, and jerk must be below the constraints, and the shortest distance between the robot and obstacles for all robot postures in the motion solution must be less than or equal to the threshold d safe h(q) is an equality constraint that must be satisfied (such as the start and target points being aligned and the system dynamics or kinematic equations being satisfied).

[0025] In box 210, the optimization problem is solved. The optimal solution is an iterative computation that begins with evaluation of the constraints and the objective function for an initial reference path q, and further paths are evaluated until the computation converges to a solution where the constraints are satisfied and the objective function is minimized. To improve the convergence behavior of the computation, the optimization problem may be convexified before being solved. Convexifying an optimization problem involves approximating one or more constraints as polynomial-time functions, resulting in a computation that is easier to solve and yields only one optimal solution. In one embodiment, the collision avoidance inequality constraints are linearized by approximating them to a first-order Taylor expansion.

[0026] After selective convexification, the optimization problem is solved in box 210 and a check at decision diamond 212 determines whether the solution has converged within a predefined error tolerance. In box 214, the converged optimization solution is determined as a solution that satisfies the collision avoidance constraints, the articulation constraints, and the tool's positioning constraints for a particular starting and target point (q start , q goal ) and are interpolated to define the complete robot trajectory, including all joint and tool motions.

[0027] When a converged solution is reached at decision diamond 212, the planned path is also stored in a database or data repository as path p in box 216. In accordance with the techniques of this disclosure, the stored path p, which includes multiple path points (p0, ..., p1), may be used as a reference for a new initial reference path in a subsequent optimization motion planning sequence. Over time, a large number of planned paths are stored in the data repository for a given robot workspace configuration.

[0028] Consider the case where a new optimized motion plan is calculated according to the flowchart 200 of FIG. start From q goal Rather than using a simple initial reference path, such as a straight line path to, a sophisticated initial reference path may be calculated using the disclosed techniques. When box 206 is reached to generate an initial reference path, the process moves to box 218 where a candidate path is selected from a number of planned paths stored in a data repository. The candidate path is primarily a function of the start and end points (q start , q goal ) similarity or proximity. Other factors may also be considered when selecting a candidate path, such as the quality of the solution (convergence level), identification of obstacles along the path to avoid, etc. After selecting a candidate path from the memory of previously planned paths in box 218, the process returns to box 206 to calculate a refined initial reference path.

[0029] 3A-C are diagrams illustrating a technique for modifying a previously calculated path based on a start point and a destination point of a new path to provide a refined initial reference path, according to one embodiment of the present disclosure. The technique of the present disclosure includes steps in region 220 shown in dashed outline in FIG 2. The calculation of the refined initial reference path, shown in FIG 3A-C, occurs in box 206 within region 220.

[0030] 3A shows a route 310. Route 310 is a candidate route selected in box 218 from a repository of previously planned routes stored in box 216. Route 310 includes a number of points p, including a start point 312 (p0) and a finish point 314 (p1). α As mentioned above, the initial point 312 (p0) and the final point 314 (p1) of the candidate path 310 are the starting point and the end point (q start , q goal ) should have very close proximity to each of the

[0031] In FIG. 3B, the first point 312 of the candidate path 310 (p0) is shown near the first point 322 (q0) of the initial reference path being defined. The first point 322 (q0) of the initial reference path being defined is the starting point q of the planned path. start The deviation 332 (δ0) is defined as the vector difference between the first point 322 (q0) of the initial reference path being defined and the first point 312 (p0) of the candidate path 310.

[0032]

number

[0033] Similarly, the final point 314 (p1) of the candidate path 310 is shown near the final point 324 (q1) of the initial reference path being defined. The final point 324 (q1) of the initial reference path being defined is the destination point (q goal ) The deviation 334 (δ1) is defined as the vector difference between the final point 324 (q1) of the initial reference path being defined and the final point 314 (p1) of the candidate path 310. That is, the deviation 334 is calculated as follows:

[0034]

number

[0035] In FIG. 3C, a new initial reference path 340 is formed by dividing the candidate path 310 by a point p αand multiple points q calculated from the deviations (δ0, δ1) at the two end points and the proportional distance α along the path. α That is, each point in the new initial reference path 340 is calculated as follows:

[0036]

number

[0037] where each α ranges from 0 to 1 (α∈[0, 1]).

[0038] It can be seen in FIG. 3C that the new initial reference path 340 has a shape very similar to that of the candidate path 310. By replacing and scaling the candidate path 310 as described above, the new initial reference path 340 is aligned with the start and end points (q start , q goal ) in the case where the candidate path 310 is selected from a memory of previously planned paths with the same or similar obstacle environment as the new path to be planned, the new initial reference path 340 has a shape that is a good approximation of the optimal path. The new initial reference path 340 may not be very optimal, i.e., it may pass a little farther from the obstacles (and thus not minimize the objective function) or it may pass a little closer to the obstacles (and thus not satisfy the collision avoidance inequality constraints). However, the new initial reference path 340 serves as a very good starting point (first iteration) for the optimization calculation. The new initial reference path 340 is provided to box 208 of the flowchart 200 to model and solve the optimization problem.

[0039] 4 is a graph 400 depicting the motion planning optimization convergence behavior of the disclosed technique compared to the prior art. Graph 400 plots the value of the objective function f on the vertical axis 410 against the value of the state variable x on the horizontal axis 420. *The graph 400 includes a curve 430 that illustrates the iteration and convergence behavior of an optimization motion plan calculation that starts with a simple initial reference path. The curve 430 includes a fairly large number of iterations, wandering, and the optimal solution path state x * It can be seen that the iterations involved do not uniformly and directly lead to . This is the nature of the convergence behavior in complex optimization problems when the initial reference solution is far from the optimal solution.

[0040] Graph 400 also includes a curve 440 that illustrates the iteration and convergence behavior of an optimization motion plan calculation starting with a refined initial reference path according to an embodiment of the present disclosure. The refined initial reference path is calculated as shown in Figures 3A, 3B, and 3C and as described above. Curve 440 ... * It can be seen that this leads directly to the refined initial reference path. This rapid convergence behavior is due to the similarity of the refined initial reference path to the optimal path and represents a significant advantage of the disclosed techniques. Rapid convergence from a refined initial reference path is desirable in all motion planning computation applications, and is especially desirable when motion planning computations must be performed in real time for robotic applications with unique start and / or goal points for each task.

[0041] FIG. 5 is a graph 500 depicting motion plan optimization computation time in the disclosed technique compared to the prior art. Graph 500 plots optimization motion plan (computation) time on vertical axis 510 against the number of interpolation points (number of points α) in the path being calculated on horizontal axis 520. Graph 500 includes a curve 530 showing the computation time of an optimization motion plan computation starting with a simple initial reference path for a representative robot controller. Curve 530 rises dramatically for a large number of interpolation points, with computation times approaching one second. This is again the nature of convergence behavior in complex optimization problems when the initial reference solution is far from the optimal solution, resulting in computation times that are too long to run in real time.

[0042] Graph 500 also includes a curve 540 that illustrates the computation time for an optimized motion plan computation, also for a representative robot controller, starting with a refined initial reference path according to an embodiment of the present disclosure. Curve 540 only rises slightly due to the large number of interpolation points, and the computation time is about 0.2 seconds or less, which is one-third to one-quarter of the equivalent computation time resulting from a simple initial reference path.

[0043] The difference in motion plan calculation times shown in Figure 5 is especially noticeable when motion plan calculations must be performed in real time for robotic applications with unique start and / or target points for each task. The techniques of the present disclosure can perform motion plan calculations quickly enough to maintain full speed operation of the robot, whereas prior art motion planning techniques with simple initial reference paths may need to slow down the robot speed to complete the motion plan calculations.

[0044] Figure 6A is a diagram of a robot 600 that has iterated through multiple path trajectories with an optimized motion plan using a simple initial reference, according to techniques known in the art. In Figure 6A (and Figure 6B, discussed below), the scenario is one in which the robot 600 picks up a workpiece from a stand 610 and places the workpiece in a container 620. The stand 610 can be replaced by an incoming conveyor, and the container 620 can define compartments therein, thus requiring a new motion path to be planned for each workpiece.

[0045] In FIG. 6A, the optimization calculation requires multiple iterations to reach convergence on a final path 640 after starting with a simple initial reference path 630. The paths associated with each iteration are depicted in FIG. 6A. The multiple iterations (paths 630, 632, 634, etc.) represent dots on the curve 430 in FIG. 4. From the simple (straight) initial reference path 630, the next few iterations generate a path that arches upwards but not far enough to avoid collision with an obstacle represented by the side wall of the container 620. Eventually a path 640 is found that arches high enough to pass over the side wall of the container 620. However, due to the lack of similarity to the simple initial reference path 630, multiple iterations are required to find the path 640.

[0046] FIG. 6B is a diagram of a robot 600 that has iterated a small number of path trajectories in an optimized motion plan using a refined initial reference, according to an embodiment of the present disclosure. In FIG. 6B, the optimization calculation requires very few iterations to reach convergence on the final path 660 after starting with the refined initial reference path 650. The small number of iterations (only paths 650, 660, and one intermediate) represent dots on the curve 440 in FIG. 4. Because the refined initial reference path 650 is very similar to the final path 660, the optimization calculation converges in only two iterations after the initial reference. FIG. 6B visually illustrates the efficiency associated with the optimization motion plan technique using the refined initial reference path according to the present disclosure. This efficiency results in significantly shorter computation times than prior art methods, enabling real-time motion planning for applications where a new path must be calculated for each workpiece.

[0047] Various computers and controllers have been described and implied throughout the above discussion. It is to be understood that the software applications and modules of these computers and controllers are executed on one or more computing devices having a processor and memory modules. In particular, this includes the processor in the robot controller 110 of FIG. 1 described above. Specifically, the processor in the controller 110 is configured to provide a refined initial reference path for the optimized path plan calculation in the manner described throughout the above disclosure, and in particular in the flowchart 200. It is also possible for another computer to execute the optimized motion plan and provide the calculated path to the controller 110, where the controller 110 is simply configured to control the robot 100 and the other computer is configured to provide and use the refined initial reference path for the optimized path plan calculation.

[0048] As previously discussed, the disclosed techniques for robot optimization motion planning using sophisticated initial reference paths improve the speed and reliability of robot path planning. The disclosed techniques provide much faster convergence to an optimal path than experienced when using simple initial reference paths, and the rapid convergence allows path planning to be performed in real time in applications where a new path must be calculated for each workpiece.

[0049] Although numerous exemplary aspects and embodiments of the robot optimization motion planning technique using refined initial reference paths have been described above, those skilled in the art will recognize modifications, permutations, additions, and subcombinations thereof. Accordingly, it is intended that the following appended claims and hereafter presented claims be construed to include all such modifications, permutations, additions, and subcombinations as fall within their true spirit and scope. [Configuration 1] 1. A motion planning method for an industrial robot, the method comprising: providing input information for planning a path of the robotic tool, the input information including a start point and a destination point of the path of the tool; generating an initial reference path, comprising selecting a candidate path from a repository of previously computed paths and permuting and scaling the candidate path to generate an initial reference path whose first and last points respectively coincide with the start point and the destination point; modeling a robot motion optimization problem using a computer having a processor and memory, the problem including defining an objective function and defining the start point and the end point of the path as equality constraints; solving, by the computer, the robot motion optimization problem to generate the path of the tool using the initial reference path as a first iteration in solving the optimization problem; storing the path in the repository; A method comprising: [Configuration 2] 2. The method of claim 1, wherein providing input information further includes providing obstacle data defining obstacles in a workspace of the robot, and modeling the robot motion optimization problem includes defining collision avoidance inequality constraints using the obstacle data. [Configuration 3] 3. The method of claim 2, wherein the collision avoidance inequality constraint is that the minimum distance between the robot and an obstacle for each calculated pose of the robot must exceed a predefined threshold. [Configuration 4] 2. The method of claim 1, wherein selecting a candidate path comprises selecting the candidate path based on proximity of a first point and a last point of the candidate path to the start point and the destination point, respectively. [Configuration 5] 5. The method of claim 4, wherein selecting the candidate route further comprises selecting the candidate route based on at least one of a solution quality of the candidate route and an obstacle environment used in calculating the candidate route. [Configuration 6] 2. The method of claim 1, wherein permuting and scaling the candidate path to define the initial reference path includes calculating a first deviation from the start point to a first point of the candidate path and a second deviation from the target point to a final point of the candidate path, and calculating a point on the initial reference path by proportionally applying the first deviation and the second deviation along a length of the candidate path. [Configuration 7] The points on the initial reference path are calculated using the formula: q α =p α +(1-α)δ 0 +αδ 1 Here, q α is a point on the initial reference path, and p α is a point on the candidate path, and δ 0 is the first deviation, and δ 1 7. The method of claim 6, wherein: α is the second deviation, and α is a proportional distance along the candidate path ranging from 0 to 1. [Configuration 8] 2. The method of claim 1, wherein modeling the robot motion optimization problem further includes defining equality constraints based on system dynamics or kinematic equations for each joint of the robot, and defining inequality constraints including robot joint rotational velocities, accelerations, and jerk not exceeding predefined thresholds, robot tool center point velocities, accelerations, and jerk not exceeding predefined thresholds, and joint positions not exceeding predefined limits. [Configuration 9] 2. The method of claim 1, wherein solving the motion optimization problem includes iteratively solving the motion optimization problem until a solution converges to a predefined convergence criterion. [Configuration 10] 2. The method of claim 1, further comprising: calculating the motions of all joints of the robot that cause the tool to follow the path; and providing joint motion commands to the robot. [Configuration 11] 1. A path planning method for an industrial robot, the method comprising: providing a start point and a destination point of a path of a tool of the robot; selecting a candidate path from a repository of previously computed paths and generating an initial reference path by permuting and scaling the candidate path to generate an initial reference path whose first and final points respectively coincide with the start point and the destination point; modeling and solving a robot motion optimization problem using the initial reference path as a first iteration to generate the path of the tool; and storing the path in the repository. [Configuration 12] 12. The method of claim 11, wherein modeling the robot motion optimization problem further includes defining equality constraints based on system dynamics or kinematic equations for each joint of the robot, defining inequality constraints based on joint position, velocity, acceleration, and jerk limits, and defining collision avoidance inequality constraints based on obstacle data of the robot workspace. [Configuration 13] 1. A path planning system for an industrial robot, the system comprising: means for providing input information for planning a path of the robotic tool, the input information including a start point and a destination point of the path of the tool; a computer in communication with the robot, the computer comprising: generating an initial reference path, comprising selecting a candidate path from a repository of previously computed paths and permuting and scaling the candidate path to generate an initial reference path whose first and last points respectively coincide with the start point and the destination point; Modeling a robot motion optimization problem, comprising: defining an objective function; and defining the start point and the end point of the path as equality constraints; solving the robot motion optimization problem to generate the path of the tool using the initial reference path as a first iteration in solving the optimization problem; storing the path in the repository; A system having a processor and memory configured to: [Configuration 14] 14. The system of claim 13, wherein providing input information further includes providing obstacle data defining obstacles in a workspace of the robot, and modeling the robot motion optimization problem includes defining collision avoidance inequality constraints using the obstacle data, the collision avoidance inequality constraints being such that for each calculated pose of the robot, a minimum distance between the robot and an obstacle must exceed a predefined threshold. [Configuration 15] 14. The system of claim 13, wherein selecting a candidate path includes selecting the candidate path based on proximity of a first point and a last point of the candidate path to the start point and the destination point, respectively. [Configuration 16] 16. The system of claim 15, wherein selecting a candidate route further comprises selecting the candidate route based on at least one of a solution quality of the candidate route and an obstacle environment used in calculating the candidate route. [Configuration 17] 14. The system of claim 13, wherein permuting and scaling the candidate path to define the initial reference path includes calculating a first deviation from the start point to a first point of the candidate path and a second deviation from the destination point to a final point of the candidate path, and calculating a point on the initial reference path by proportionally applying the first deviation and the second deviation along a length of the candidate path. [Configuration 18] 14. The system of configuration 13, wherein modeling the robot motion optimization problem further includes defining equality constraints based on system dynamics or kinematic equations for each joint of the robot, and defining inequality constraints including robot joint rotational velocities, accelerations, and jerk not exceeding predefined thresholds, robot tool center point velocities, accelerations, and jerk not exceeding predefined thresholds, and joint positions not exceeding predefined limits. [Configuration 19] 14. The system of claim 13, wherein solving the motion optimization problem includes iteratively solving the motion optimization problem until a solution converges to a predefined convergence criterion. [Configuration 20] 14. The system of claim 13, wherein the computer is further configured to calculate motions of all joints of the robot that cause the tool to follow the path, and to provide joint motion commands to the robot.

Claims

1. 1. A method for planning a motion of an industrial robot, the method comprising the steps of: providing input information for planning a path of a tool of the industrial robot, the input information including a start point and a destination point of the path of the tool; generating an initial reference path, comprising selecting a candidate path from a repository of previously computed paths and permuting and scaling the candidate path to generate an initial reference path whose first and last points respectively coincide with the start point and the destination point; modeling a robot motion optimization problem using a computer having a processor and memory, the problem including defining an objective function and defining the start point and the end point of the path as equality constraints; solving, by the computer, the robot motion optimization problem to generate the path of the tool using the initial reference path as a first iteration in solving the robot motion optimization problem; storing the path in the repository; Including, The method, wherein solving the robot motion optimization problem includes iteratively solving the robot motion optimization problem until a solution converges to a predefined convergence criterion.

2. 2. The method of claim 1, wherein providing input information further comprises providing obstacle data defining obstacles in a workspace of the industrial robot, and modeling a robot motion optimization problem comprises defining collision avoidance inequality constraints using the obstacle data.

3. The method of claim 2 , wherein the collision avoidance inequality constraint is that for each calculated pose of the industrial robot, the minimum distance between the industrial robot and an obstacle must exceed a predefined threshold.

4. The method of claim 1 , wherein selecting a candidate path comprises selecting the candidate path based on proximity of a first point and a last point of the candidate path to the start point and the destination point, respectively.

5. 5. The method of claim 4, wherein selecting the candidate route further comprises selecting the candidate route based on at least one of a solution quality of the candidate route and an obstacle environment used in computing the candidate route.

6. 2. The method of claim 1, wherein permuting and scaling the candidate path to define the initial reference path comprises: calculating a first deviation from the start point to a first point of the candidate path and a second deviation from the destination point to a final point of the candidate path; and calculating a point on the initial reference path by proportionally applying the first deviation and the second deviation along a length of the candidate path.

7. The points on the initial reference path are calculated using the formula: q α =p α + (1-a) d 0 +ad 1 Here, q α is a point on the initial reference path, and p α is a point on the candidate path, and δ 0 is the first deviation, and δ 1 7. The method of claim 6, wherein: x is the second deviation, and α is a proportional distance along the candidate path ranging from 0 to 1.

8. 2. The method of claim 1, wherein modeling a robot motion optimization problem further comprises: defining equality constraints based on system dynamics or kinematic equations for each joint of the industrial robot; and defining inequality constraints including robot joint rotational velocities, accelerations, and jerks not exceeding predefined thresholds, robot tool center point velocities, accelerations, and jerks not exceeding predefined thresholds, and joint positions not exceeding predefined limits.

9. A method for planning the motion of an industrial robot, the method comprising: providing input information for planning a path of a tool of the industrial robot, the input information including a start point and a destination point of the path of the tool; generating an initial reference path, comprising selecting a candidate path from a repository of previously computed paths and permuting and scaling the candidate path to generate an initial reference path whose first and last points respectively coincide with the start point and the destination point; modeling a robot motion optimization problem using a computer having a processor and memory, the problem including defining an objective function and defining the start point and the end point of the path as equality constraints; solving, by the computer, the robot motion optimization problem to generate the path of the tool using the initial reference path as a first iteration in solving the robot motion optimization problem; storing the path in the repository; Including, Providing input information further includes providing obstacle data defining obstacles in a workspace of the industrial robot, and modeling a robot motion optimization problem includes defining collision avoidance inequality constraints using the obstacle data; The method, wherein the collision avoidance inequality constraint is that for each calculated pose of the industrial robot, the minimum distance between the industrial robot and an obstacle must exceed a predefined threshold.

10. The method of claim 1 , further comprising: calculating movements of all joints of the industrial robot that cause the tool to follow the path; and providing joint movement commands to the industrial robot.

11. 1. A method for planning a path for an industrial robot, the method comprising: providing a start point and a destination point of a path of a tool of the industrial robot; selecting a candidate path from a repository of previously calculated paths and generating an initial reference path by permuting and scaling the candidate path to generate an initial reference path whose first and last points respectively coincide with the start point and the destination point; modeling and solving a robot motion optimization problem using the initial reference path as a first iteration to generate the path of the tool using a computer having a processor and memory; and storing the path in the repository; The method, wherein modeling a robot motion optimization problem further includes defining equality constraints based on system dynamics or kinematic equations for each joint of the industrial robot; defining inequality constraints based on joint position, velocity, acceleration, and jerk limits; and defining collision avoidance inequality constraints based on obstacle data of the robot workspace.

12. 1. A system for planning a path for an industrial robot, the system comprising: means for providing input information for planning a path of a tool of said industrial robot, said input information including a start point and a destination point of said path of said tool; a computer in communication with the industrial robot, the computer comprising: generating an initial reference path, comprising selecting a candidate path from a repository of previously computed paths and permuting and scaling the candidate path to generate an initial reference path whose first and last points respectively coincide with the start point and the destination point; Modeling a robot motion optimization problem, comprising: defining an objective function; and defining the start point and the end point of the path as equality constraints; solving the robot motion optimization problem to generate the path of the tool using the initial reference path as a first iteration in solving the robot motion optimization problem; storing the path in the repository; a processor and memory configured to The system, wherein selecting a candidate route includes selecting the candidate route based on proximity of a first point and a last point of the candidate route to the start point and the destination point, respectively.

13. 13. The system of claim 12, wherein providing input information further comprises providing obstacle data defining an obstacle in a workspace of the industrial robot, and modeling the robot motion optimization problem comprises defining a collision avoidance inequality constraint using the obstacle data, the collision avoidance inequality constraint being such that for each calculated pose of the industrial robot, a minimum distance between the industrial robot and an obstacle must exceed a predefined threshold.

14. 13. The system of claim 12, wherein selecting a candidate route further comprises selecting the candidate route based on at least one of a solution quality of the candidate route and an obstacle environment used in calculating the candidate route.

15. 13. The system of claim 12, wherein permuting and scaling the candidate path to define the initial reference path comprises calculating a first deviation from the start point to a first point of the candidate path and a second deviation from the destination point to a final point of the candidate path, and calculating a point on the initial reference path by proportionally applying the first deviation and the second deviation along a length of the candidate path.

16. 13. The system of claim 12, wherein modeling a robot motion optimization problem further comprises: defining equality constraints based on system dynamics or kinematic equations for each joint of the industrial robot; and defining inequality constraints including robot joint rotational velocities, accelerations, and jerks not exceeding predefined thresholds, robot tool center point velocities, accelerations, and jerks not exceeding predefined thresholds, and joint positions not exceeding predefined limits.

17. The system of claim 12 , wherein solving the robot motion optimization problem comprises iteratively solving the robot motion optimization problem until a solution converges to a predefined convergence criterion.

18. 13. The system of claim 12, wherein the computer is further configured to calculate movements of all joints of the industrial robot that cause the tool to follow the path, and to provide joint movement commands to the industrial robot.

Citation Information

Patent Citations

  • Collision-free motion planning with closed kinematics

    DE102017129665B3

  • Conveying device

    JP2011167828A

  • Transporting system

    JP2012206225A

  • Track generating apparatus, moving body, track generating method, and program

    JP2013193194A

  • Robot control device with learning facilitation function, and robot control method

    JP2018094677A