Method for motion planning of an industrial robot and path planning system for an industrial robot

By adjusting the start and target points using previously calculated candidate reference paths, an accurate initial reference path is created, solving the problem of excessively long computation time for robot motion planning in existing technologies and achieving fast convergence and efficient path planning.

CN113552877BActive Publication Date: 2025-10-24FANUC LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110357325.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-04-03
Filing Date
2021-04-01
Publication Date
2025-10-24
Estimated Expiration
2041-04-01

AI Technical Summary

Technical Problem

In the existing technology of robot motion planning, due to the significant difference between the initial straight line path and the final converged solution, multiple iterative calculations are required, resulting in excessively long calculation time and inability to be effectively applied in real-time environments.

Method used

Using previously calculated candidate reference paths, their start and target points are adjusted to create an accurate initial reference path, which serves as the starting point for optimization calculations and reduces the number of iterations.

Benefits of technology

By using a precise initial reference path, the computational efficiency of robot motion planning is significantly improved, enabling rapid convergence and meeting real-time computing requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113552877B_ABST
    Figure CN113552877B_ABST
Patent Text Reader

Abstract

Robotic motion planning techniques that use an accurate initial reference path. When using motion optimization to compute a new path, a candidate reference path is selected from memory that was previously computed and has similar start and goal points and collision avoidance environmental constraints as the new path. Taking into account the differences between the start and goal points of the new path and the start and goal points of the previously computed path, the candidate reference path is adjusted at all state points along its length to create an initial reference path. The initial reference path that has been adjusted to fit the start and goal points is then used as the start state for the motion optimization computation. By using an initial reference path that is similar to the final converged new path, the optimization computation converges faster than if a naive initial reference path is used.
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 specifically to a robot optimization motion planning technique that creates an initial reference path for an iterative optimization computation of a new path by selecting a previously computed path that has a similar start point and goal point as the new path and collision avoidance constraints, and modifying the point positions along the previously computed path based on the differences between the start point and goal point of the new path relative to the previously computed path. BACKGROUND

[0002] It is well known to use industrial robots to perform a wide variety of manufacturing, assembly, and material movement operations. In some robot applications, the start and / or goal point positions change for each robot task. This is the case, for example, when the task of the robot is to pick up a component from an inbound conveyor and place the component in an open position in a shipping tote. In these applications, a new robot motion path must be computed in real time for each task. Furthermore, in many robot work space environments, obstacles exist and can be located in the path of the robot motion. The obstacles can be permanent structures, such as machines and fixtures, or the obstacles can be temporary or movable. Collisions between the robot and any obstacles must be absolutely avoided.

[0003] A technique for robot motion planning includes modeling an optimization problem based on start / goal points, collision avoidance constraints, and other constraints, defining an initial reference path as the first iteration of the optimization computation, and running the optimization computation until it converges to a predetermined criteria. The most common prior art for defining the initial reference path is to simply define a straight line path from the start point to the goal point of the new path. However, due to the collision avoidance constraints and possibly other constraints related to robot motion limits, the final converged solution of the new path is typically significantly different from the initial straight line path.

[0004] A problem with the prior art for modeling robot optimization motion planning is that due to the significant differences from the initial straight line path, multiple iterations are required to compute the final converged solution of the new path. If multiple iterations are required to reach the converged solution, then the motion planning computation takes too long to be practical in environments where the computation must be performed in real time as the robot is operating.

[0005] In view of the above, there is a need for a robot motion planning optimization technique that uses a precise initial reference path in order to quickly converge to a solution. SUMMARY

[0006] In accordance with the teachings of the present disclosure, a robot optimization motion planning technique is disclosed that uses a precise initial reference path. When a new path is to be computed using motion optimization, a candidate reference path is selected from memory, the candidate reference path having been previously computed and having similar start and goal points and collision avoidance environment constraints as the new path. Taking into account the differences between the start and goal points of the new path compared to the start and goal points of the previously computed path, the candidate reference path is adjusted at all state points along its length to create an initial reference path. The initial reference path that has been adjusted to fit the start and goal points is then used as the start state for the motion optimization computation. By using an initial reference path that is similar to the final converged new path, the optimization computation converges faster than if a naive initial reference path is used.

[0007] Additional features of the presently disclosed devices and methods will be apparent from the following description and appended claims, taken in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF DRAWINGS

[0008] Figure 1 is a schematic diagram of an industrial robot that performs pick, move, and place operations, where a new path must be computed for each workpiece that is moved, and the workspace environment includes one or more obstacles to be avoided;

[0009] Figure 2 is a flowchart of a method of robot optimization motion planning in the scenario of Figure 1 is a flowchart of a method of robot optimization motion planning in the scenario of

[0010] Figure 3A , 3B and 3C are schematic diagrams of techniques for modifying a previously computed path based on the start and goal points of a new path to provide a precise initial reference path in accordance with embodiments of the present disclosure;

[0011] Figure 4 is a plot that depicts the motion planning optimization convergence behavior of the techniques of the present disclosure compared to the prior art;

[0012] Figure 5 is a plot that depicts the motion planning optimization computation time of the techniques of the present disclosure compared to the prior art;

[0013] Figure 6A is a schematic diagram of a robot with a trajectory having a large number of path iterations in accordance with the prior art, these path iterations being computed using a naive reference in optimization motion planning; and

[0014] Figure 6B is a schematic diagram of a trajectory robot with a small number of path iterations in accordance with embodiments of the present disclosure, these path iterations being computed using a precise initial reference in optimization motion planning. DETAILED DESCRIPTION

[0015] The following discussion of embodiments of the present disclosure directed to robotic optimized motion planning techniques using precise 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.

[0016] The use of industrial robots for various manufacturing, assembly, and material movement operations is well known. In some types of these operations, the robot must be programmed to move along a path with different starting and destination (target) points from one operation to the next. For example, in a move, pick-and-place operation, each incoming component on a conveyor may be picked up by the robot at a different location each time, and components placed in a shipping container by the robot will each be placed at a different assigned location within the container. Many other example applications exist where a new path must be calculated for each individual task or operation of the robot.

[0017] Furthermore, in many robot workspace environments, obstacles exist and may be in the path of the robot's motion, i.e., one or more obstacles may be located between the starting point and the goal point, or more generally, between the robot's current position and the robot's destination position. Obstacles may be permanent structures, such as machinery and fixtures, or they may be temporary or movable.

[0018] Figure 1 1 is a schematic diagram of an industrial robot performing pick, move, and place operations in a scenario of the type described above, where a new path must be calculated for each workpiece being moved and the workspace environment includes one or more obstacles to be avoided. A robot 100 having a gripper 102 operates within a workspace 104. The motion of the robot 100 is controlled by a controller 110, which typically communicates with the robot 100 via a cable 112. As is well known in the art, the controller 110 provides joint motion 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. Figure 1 The picking, moving and placing scenarios are merely illustrative and exemplary. The optimized motion planning technology disclosed herein can be applied to any type of robotic operation, and the gripper 102 can be replaced by any type of robotic tool.

[0019] The camera 120 is in communication with the controller 110 and provides images of the workspace 104. The images from the camera 120 can be used to identify the location and orientation of a workpiece that the robot 100 is to manipulate, or the location where the robot 100 is to place a workpiece, or even to identify moving or passing obstacles in the workspace 104. In some embodiments, the camera 120 is not needed at all, as obstacle movement is not possible, and other means are used to identify the start and target locations of a workpiece being moved by the robot 100.

[0020] A workpiece 130 enters the workspace 104 on a conveyor 140. The task of the robot 100 is to pick up 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 locations; many other examples can be envisioned. The location and orientation of the start point 160 is defined based on information about the location of the workpiece 130 on the conveyor 140 and the speed of the conveyor 140. The orientation of the workpiece 130 at the start point 160 is needed in order to determine the orientation of the gripper 102. Similarly, the location and orientation of the target point 162 is defined based on information about the next available compartment or location within the container 150. Figure 1 An intermediate point 164 is shown midway between the start point 160 and the target point 162. In actual robot motion planning calculations, 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.

[0021] An obstacle 170, shown as a wall, exists between the start point 160 and the target point 162. It is also understood that the sides of the container 150 represent obstacles that the robot 100 must avoid and that are considered in the path planning. Other obstacles can also exist.

[0022] For each workpiece 130 that arrives on the conveyor 140, a new path must be calculated by the controller 110 that causes the robot 100 to move the gripper 102 from an original or near location along a path segment 180 to pick up the workpiece 130 at the start point 160, and to move the workpiece 130 along a path segment 182 to the target point 162 while avoiding the obstacle 170, and then return the gripper 102 to the original or near location in preparation for the next workpiece 130. The new path must be calculated very quickly by the controller 110, as the path calculation must be performed in real time as fast as the robot 110 is able to move one workpiece 130 and return to pick up the next workpiece.

[0023] Optimization techniques for calculating robot motions so that a tool follows a path from a specific starting point to a specific target point while avoiding collisions with any obstacles and satisfying other types of constraints have been developed and are known in the art. However, these known techniques either do not consider computational efficiency or have investigated different optimization algorithms in an attempt to reduce computational time. According to the disclosed techniques, computational efficiency can be significantly improved by providing an accurate initial reference path to the optimization routine rather than the naive reference path used in the prior art.

[0024] Figure 2 is a method for using an accurate initial reference path in accordance with an embodiment of the present disclosure. Figure 1 Flowchart 200 of a method for performing optimized motion planning for a robot in a scenario of FIG. At box 202, the position and shape of any obstacles (obstacle 170 and any other obstacles) in the robot workspace 104 are defined. The obstacles can be defined by CAD data in a workspace coordinate system, or by data from a sensor such as the camera 120 described above. The obstacle data is typically a solid body, a surface, or a cluster of surface points, and must be sufficient to allow the modeling of collision avoidance constraints in the optimization problem. The collision avoidance constraints are modeled such that the minimum distance between any part of the robot 100 and any obstacle exceeds a predetermined threshold value for each waypoint in the calculated motion, where the minimum distance is calculated in any suitable effective manner, such as by defining geometric primitives around the robot parts and the obstacles, or by modeling the obstacles as distance field matrices.

[0025] At block 204, the start and destination points of the robot path are defined based on the task to be performed by the robot (q start ,q goal ).like Figure 1 As shown, the starting point 160 can be defined based on the location of the incoming workpiece 130 on the conveyor 140, while the target point 162 can be defined based on the assigned location of the workpiece 130 to be placed in the container 150. The intermediate point 164 is not defined as an input in the motion optimization; the intermediate point 164, along with the other path points, is the output of the optimization calculation. At 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 often naively defined as a straight line from the starting point to the target point. Using the techniques of the present disclosure, a precise initial reference path is created based on previously calculated paths with similar starting and target points. This technique will be discussed in detail below, returning to the discussion of the calculation at box 206.

[0026] At block 208, the motion optimization problem is modeled in the robot controller. Modeling the motion optimization problem includes defining an objective function and various constraint functions. In this way, the motion optimization problem can be defined to find an optimal path q that:

[0027]

[0028] such that:

[0029] g(q) < 0 (2)

[0030] h(q) = 0 (3)

[0031] where f(q) is an optimization objective function (e.g., path length of tool center point) to be minimized over the entire robot motion including poses q = {q1,..., q T}, g(q) is inequality constraints that must be satisfied (e.g., joint positions remain within limits, joint velocities, accelerations, and jerk, and tool center point velocities, accelerations, and jerk remain below limits; and, collision avoidance constraints that are typically defined in terms of a minimum robot-to-obstacle distance that must be greater than a threshold d safe for all robot poses in the motion solution), and h(q) is equality constraints that must be satisfied (e.g., start and goal point positions must be satisfied; and system dynamics or kinematics must be satisfied).

[0032] At block 210, the optimization problem is solved. Optimization solving is an iterative computation that begins with an evaluation of the constraint and objective function on an initial reference path q, where additional paths are evaluated until a solution is converged that satisfies the constraints and the objective function is at a minimum. To improve the convergence behavior of the computation, the optimization problem can be convexified prior to solving. Convexifying the optimization problem includes approximating one or more constraints as a polynomial time function, where the resulting computation can be more easily solved and only one optimal solution is produced. In one embodiment, the collision avoidance inequality constraint is linearized by approximating as a first order Taylor expansion.

[0033] After optional convexification, the optimization problem is solved at block 210, where a check is made at decision diamond 212 to determine if the solution has converged within a predetermined tolerance. At block 214, the converged optimization solution is interpolated to define a complete robot trajectory that includes all joint motions and tool motions that satisfy the constraint functions, including the collision avoidance constraint, joint motion constraints, and tool with specified start and goal points (q start , q goal ).

[0034] When a converged solution is reached at decision diamond 212, the planned path is also stored as path p in a database or data repository at block 216. According to the techniques of the present disclosure, a plurality of path points (p0, ..., p l ) can be used as the basis for a new initial reference path in a subsequent optimized motion planning sequence. Over time, for a given robot workspace setup, a large number of planned paths will be stored in the data repository.

[0035] Consider based on Figure 2 In the case of performing a new optimized action plan calculation in the flowchart 200, at block 206, no calculation is performed using a method such as q start to q goal Instead of using a naive initial reference path such as a straight line path, the disclosed technique can be used to calculate an accurate initial reference path. When block 206 is encountered to generate an initial reference path, the process moves to block 218 where a candidate path is selected from a number of planned paths stored in a data repository. The candidate path is selected based primarily on the starting point and the target point (q start ,q goal ) to the starting and target points (p0, p1) of the stored planned paths. Other factors may also be considered in selecting a candidate path, such as solution quality (convergence level), consistency of obstacles to be avoided along the path, etc. After a candidate path is selected from the storage of previously planned paths at block 218, the process returns to block 206 to calculate a refined initial reference path.

[0036] Figure 3A 、 3B 3C are schematic diagrams of a technique for modifying a previously calculated path based on a starting point and a destination point of a new path to provide an accurate initial reference path according to an embodiment of the present disclosure. The currently disclosed techniques include Figure 2 The various steps contained in area 220 are shown in dashed outline in FIG. Figure 3A 、 3B Calculation of the precise initial reference path shown in FIG. 3C occurs in block 206 within region 220 .

[0037] exist Figure 3A , a path 310 is shown. The path 310 is a candidate path selected at box 218 from the repository of previously planned paths stored at box 216. The path 310 includes a plurality of points p α , including the first point 312 (p0) and the last point 314 (p l As previously mentioned, the first point 312 (p0) and the last point 314 (p l) should be respectively close to the start point and the goal point (q start , q goal ) of the new path to be planned.

[0038] In Figure 3B , the first point 312 (p0) of the candidate path 310 is shown to be close to the first point 322 (q0) of the defined initial reference path. The first point 322 (q0) of the defined initial reference path is equivalent to the start point (q start ) of the planned path. The deviation 332 (δ0) is defined as the vectorial difference between the first point 322 (q0) of the defined initial reference path and the first point 312 (p0) of the candidate path 310. That is:

[0039] δ0= q0- p0 (4).

[0040] Similarly, the last point 314 (p l ) of the candidate path 310 is shown to be close to the last point 324 (q l ) of the defined initial reference path. The last point 324 (q l ) of the defined initial reference path is equivalent to the goal point (q goal ) of the planned path. The deviation 334 (δ l ) is defined as the vectorial difference between the last point 324 (q l ) of the defined initial reference path and the last point 314 (p l ) of the candidate path 310. That is, the deviation 334 is computed as:

[0041] δ l = q l - p l (5).

[0042] In Figure 3C , the new initial reference path 340 comprises a plurality of points q α , computed from the points p α of the candidate path 310, the deviations (δ0, δ l ) at both ends, and a proportional distance a along the path. That is, each point in the new initial reference path 340 is computed as:

[0043] q α = p α + (1 - a) δ0+ a δ l (6)

[0044] where each a is in the range from 0 to 1 (a e [0, 1]).

[0045] In Figure 3CAs can be seen, the new initial reference path 340 has a shape that is very similar to the shape of the candidate path 310. By transposing and scaling the candidate path 310 as described above, the new initial reference path 340 has end points that match the start point and goal point (q start , q goal ) of the new path to be planned. Furthermore, if the candidate path 310 is selected from storage of a previously planned path that has the same or similar obstacle environment as the new path to be planned, then the new initial reference path 340 will have a shape that is a good approximation that it is the optimal path. The new initial reference path 340 can not be optimal, i.e., it can pass slightly farther from obstacles (thus not minimizing the objective function), or it can pass slightly closer to obstacles (thus not satisfying the collision avoidance inequality constraint), but the new initial reference path 340 serves as a very good starting point (initial iteration) for the optimization computation. The new initial reference path 340 is provided to block 208 of flowchart 200 for modeling and solving the optimization problem.

[0046] Figure 4 is a plot 400 that depicts the action planning optimization convergence behavior of the techniques of the present disclosure as compared to the prior art. Plot 400 plots the value of the objective function f on the vertical axis 410 versus the value of the state variable x on the horizontal axis 420. The optimized path that is computed is represented by the state x*. Plot 400 includes a curve 430 that illustrates the iteration and convergence behavior of an optimization action planning computation that starts with a naive initial reference path. Curve 430 includes a substantial number of iterations, and as can be seen, it drifts around and includes iterations that do not uniformly and directly lead to the state x* of the optimized solution path. This is a property of the convergence behavior in complex optimization problems when the initial reference solution is far from the optimal solution.

[0047] Plot 400 also includes a curve 440 that illustrates the iteration and convergence behavior of an optimization action planning computation according to embodiments of the present disclosure that starts with a refined initial reference path. As discussed above and shown in FIGS. 1A, IB, 2A, 2B, 3A, 3B, 3C, and 3D, the refined initial reference path is computed. Curve 440 includes a small number of iterations, and as can be seen, it directly leads to the state x* of the optimized solution path. This fast convergence behavior represents a significant benefit of the presently disclosed techniques due to the similarity of the refined initial reference path to the optimal path. This fast convergence resulting from the refined initial reference path is desirable in all action planning computation applications, and is particularly desirable when the action planning computation must be performed in real-time for a robot application that has unique start and / or goal points for each task. Figure 3A 3B

[0048] Figure 5 ​​is a graph 500 depicting action planning optimization computation time for the technology of the present disclosure as compared to the prior art. The graph 500 plots optimal action planning (computation) time on the vertical axis 510 versus the number of interpolation points in the computed path (number of points a) on the horizontal axis 520. The graph 500 includes a curve 530 that shows the computation time for an optimization action planning computation on a representative robot controller starting with a naive initial reference path. The curve 530 rises sharply for a larger number of interpolation points, with computation time approaching one second. This is also a property of the convergence behavior in complex optimization problems when the initial reference solution is far from the optimal solution, and results in computation times that are too long to perform in real time.

[0049] The graph 500 also includes a curve 540 that shows the computation time for an optimization action planning computation on the same representative robot controller starting with a precise initial reference path according to an embodiment of the present disclosure. The curve 540 rises only slightly for a larger number of interpolation points, with computation time approaching or being below 0.2 seconds, three to four times less than the equivalent computation time resulting from a naive initial reference path.

[0050] When action planning computation must be performed in real time for a robot application with a unique start and / or goal point for each task, Figure 5 The difference between the action planning computation times shown in is particularly significant. The presently disclosed technology enables action planning computation to be performed fast enough to maintain full speed operation of the robot, in which case prior art action planning technology utilizing a naive initial reference path can require the robot speed to be reduced to wait for the action planning computation to complete.

[0051] Figure 6A is a schematic of a robot according to the prior art with a large number of path iterations for a trajectory, these path iterations being computed using a naive reference. In Figure 6A (and the Figure 6B discussed below), the scenario is that a robot 600 is picking up workpieces from a rack 610 and placing the workpieces in a bin 620. The rack 610 can be replaced with an inbound conveyor, and the bin 620 can have defined compartments in it, requiring a new action path to be computed for each workpiece.

[0052] In Figure 6A the optimization computation requires a large number of iterations to reach convergence to the final path 640 after starting with a naive initial reference path 630. Figure 6A The paths associated with each iteration are plotted in Figure 4on curve 430. Starting with a naive (straight line) initial reference path 630, the next few iterations produce paths that start to arch upward, but not enough to avoid collision with the obstacle represented by the side wall of the container 620. Eventually, a path 640 is found that arches high enough to clear the side wall of the container 620; however, because of the lack of similarity to the naive initial reference path 630, a large number of iterations is required to find the path 640.

[0053] Figure 6B is a schematic diagram of a trajectory robot according to an embodiment of the disclosure with a small number of path iterations computed using a precise initial reference in an optimization motion planning. In Figure 6B the optimization computation requires a small number of iterations to converge to a final path 660 after starting with a precise initial reference path 650. This small number of iterations (paths 650 and 660, and only one intermediate path) represents Figure 4 a point on curve 440. This precise initial reference path 650 is so similar to the final path 660 that the optimization computation converges in only two iterations after the initial reference. Figure 6B The efficiency associated with the optimization motion planning technique using a precise initial reference path according to the disclosure is visually illustrated. This efficiency results in much shorter computation times than prior art methods, enabling real-time motion planning for applications that must compute a new path for each workpiece.

[0054] Throughout the foregoing discussion, various computers and controllers are described and implied. It will be understood that the software applications and modules of these computers and controllers are executed on one or more computing devices having processors and memory modules. In particular, this includes the processors in the robot controller 110 discussed above. Figure 1 Specifically, the processors in the controller 110 are configured to provide a precise initial reference path for optimization path planning computations in the manner described throughout the foregoing disclosure and in particular in the flowchart 200. Another computer can also perform the optimization motion planning and provide the computed path to the controller 110, in which case the controller 110 simply controls the robot 100, and the other computer is configured to provide and use the precise initial reference path for optimization path planning computations.

[0055] As described above, the disclosed techniques for robot optimization motion planning techniques using a precise initial reference path improve the speed and reliability of robot path planning. The disclosed techniques provide faster convergence to an optimal path than experienced when using a naive initial reference path, and this fast convergence enables real-time path planning for applications that must compute a new path for each workpiece.

[0056] While several example aspects and embodiments of an optimization motion planning technique using an accurate initial reference path have been discussed above, modifications, permutations, additions and sub-combinations thereof will occur to those skilled in the art. Wherefore, the attached claims are intended to cover all such changes and modifications as fall within the true spirit and scope of these claims.

Claims

1. A method for motion planning of an industrial robot, the method comprising: providing input information for planning a path of a tool on the robot, including a start point and a target point of the path of the tool; generating an initial reference path, including selecting a candidate path from a repository of previously computed individual paths, and transposing and scaling the candidate path to generate the initial reference path, the initial reference path having a first point and a last point matching the start point and the target point, respectively, wherein transposing and scaling the candidate path to define the initial reference path includes computing a first deviation of a first point of the candidate path from the start point and a second deviation of a last point of the candidate path from the target point, and computing points on the initial reference path by applying the first deviation and the second deviation proportionally along a length of the candidate path; modeling a robot motion optimization problem using a computer having a processor and a memory, including defining an objective function, and defining the start point and target point of the path as equality constraints; solving the robot motion optimization problem with the computer to obtain the path of the tool, wherein the initial reference path is used as a first iteration in solving the optimization problem; and storing the path in the repository.

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

3. The method of claim 2, wherein, The collision avoidance inequality constraints are that a minimum robot-to-obstacle distance must exceed a predetermined threshold value for each computed pose of the robot.

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

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

6. The method of claim 1, wherein, Points on the initial reference path are computed using the following equation: q α = p α + (1 - a) δ0+ a δ l where q α is a point on the initial reference path, p α is a point on the candidate path, δ0is the first deviation, δ l is the second deviation, and a is a proportional distance along the candidate path in the range from 0 to 1.

7. The method of claim 1, wherein, Modeling a robot motion optimization problem further includes defining equality constraints based on individual system dynamics or individual kinematics equations for each joint of the robot, and defining inequality constraints including that a robot joint rotational velocity, acceleration, and jerk do not exceed predetermined threshold values, a robot tool center point velocity, acceleration, and jerk do not exceed predetermined threshold values, and a joint position does not exceed a predetermined limit.

8. The method of claim 1, wherein, Solving the motion optimization problem includes iteratively solving the motion optimization problem until a solution converges to a predetermined convergence criteria.

9. The method of claim 1, further comprising computing motions of all joints of the robot and providing joint motion commands to the robot, the motions causing the tool to follow the path.

10. A method for planning a path of an industrial robot, the method comprising providing a start point and a target point of a path of a tool on the robot, generating an initial reference path by selecting a candidate path from a repository of previously computed individual paths and transposing and scaling the candidate path to generate the initial reference path having a first point and a last point matching the start point and the target point, respectively, modeling and solving a robot motion optimization problem by using the initial reference path as a first iteration to the robot motion optimization problem to produce the path of the tool, and storing the path in the repository, wherein, Transposing and scaling the candidate path to define the initial reference path comprises computing a first deviation of a first point of the candidate path from the start point and a second deviation of a last point of the candidate path from the target point, and computing points on the initial reference path by proportionally applying the first deviation and the second deviation along a length of the candidate path.

11. The method of claim 10, wherein, Modeling the robot motion optimization problem further comprises defining equality constraints based on respective system dynamics or respective kinematics 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 robot workspace obstacle data.

12. A path planning system for an industrial robot, the system comprising: means for providing input information for planning a path of a tool on the robot, the input information including a start point and a target point of the path of the tool; and a computer in communication with the robot, the computer having a processor and a memory, the processor and the memory configured for; generating an initial reference path, including selecting a candidate path from a repository of previously computed respective paths, and transposing and scaling the candidate path to generate the initial reference path, the initial reference path having a first point and a last point matching the start point and the target point, respectively, wherein transposing and scaling the candidate path to define the initial reference path comprises computing a first deviation of a first point of the candidate path from the start point and a second deviation of a last point of the candidate path from the target point, and computing points on the initial reference path by proportionally applying the first deviation and the second deviation along a length of the candidate path; modeling a robot motion optimization problem, including defining an objective function, and defining the start point and target point of the path as equality constraints; solving the robot motion optimization problem to obtain the path of the tool, wherein the initial reference path is used as a first iteration in solving the optimization problem; and storing the path in the repository.

13. The system of claim 12, wherein, Providing input information further comprises providing obstacle data defining respective obstacles in a workspace of the robot, and modeling a robot motion optimization problem comprises using the obstacle data to define collision avoidance inequality constraints, wherein the collision avoidance inequality constraints are that a minimum robot-to-obstacle distance must exceed a predetermined threshold value for each computed pose of the robot.

14. The system of claim 12, wherein, Selecting a candidate path comprises selecting the candidate path based on a closeness of a first point and a last point of the candidate path to the start point and the target point, respectively.

15. The system of claim 14, wherein, Selecting a candidate path further comprises selecting the candidate path based on at least one of a solution quality of the candidate path and an obstacle environment used in computing the candidate path.

16. The system of claim 12, wherein, Modeling the robot motion optimization problem also includes defining equality constraints based on individual system dynamics or individual kinematics equations for each joint of the robot, and defining inequality constraints including robot joint rotational velocity, acceleration, and jerk not exceeding predetermined threshold values, robot tool center point velocity, acceleration, and jerk not exceeding predetermined threshold values, and joint position not exceeding predetermined limits.

17. The system of claim 12, wherein: Solving the motion optimization problem includes iteratively solving the motion optimization problem until a solution converges to a predetermined convergence criteria.

18. The system of claim 12, wherein, The computer is also configured for computing motions of all joints of the robot and providing joint motion commands to the robot, the motions causing the tool to follow the path.

Citation Information

Patent Citations

  • Transporting system

    JP2012206225A

  • Method for determining trajectories manipulators to avoid obstacles

    US8700307B1