Robot motion trajectory determination method and device, computer device and storage medium
By creating joint position spline paths and combining them with spatial constraints in robot motion trajectory planning, the problems of dynamic constraints and motion smoothness in high-degree-of-freedom robot systems are solved, thereby improving operational efficiency and smoothness.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHANGHAI FLEXIV ROBOTICS TECH CO LTD
- Filing Date
- 2023-02-06
- Publication Date
- 2026-04-14
AI Technical Summary
Traditional methods for determining robot motion trajectories cannot effectively address the dynamic constraints and motion smoothness issues of high-degree-of-freedom robot systems, resulting in low robot operating efficiency.
By acquiring joint position waypoints, determining transition waypoints, and creating joint position spline paths, and combining joint space and Cartesian space constraints, the relationship between path parameters and time is optimized to enable the robot to complete the movement in the shortest time.
It improves the efficiency and smoothness of robot movement, ensuring that trajectory planning is completed in the shortest time under constraints.
Smart Images

Figure CN116175565B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robot control technology, and in particular to a method, apparatus, computer equipment, storage medium and computer program product for determining robot motion trajectory. Background Technology
[0002] Robot joint space motion trajectory planning has advantages such as being able to consider the robot's own structural interference, avoiding collisions with external objects, and ensuring that the motion has no singularities. Therefore, joint space motion trajectory planning is an essential function for robots.
[0003] Traditional trapezoidal programming or S-curve programming can generally only generate trajectories for single-degree-of-freedom systems and can only consider kinematic constraints. They cannot solve for robot systems with higher degrees of freedom or dynamic constraints such as torque. At the same time, traditional methods for determining robot motion trajectories are not smooth when the robot moves through joints, resulting in low robot operating efficiency. Summary of the Invention
[0004] Therefore, it is necessary to address the problem of low robot operation efficiency in existing robot trajectory determination methods by providing a robot trajectory determination method, device, computer equipment, computer-readable storage medium, and computer program product that can improve the efficiency of robot trajectory determination.
[0005] Firstly, this application provides a method for determining the motion trajectory of a robot. The method includes:
[0006] Get the given joint position waypoints, which include the current joint position waypoint, the previous joint position waypoint, and the next joint position waypoint.
[0007] Determine a first transition waypoint between the current joint position waypoint and the previous joint position waypoint, and determine a second transition waypoint between the current joint position waypoint and the next joint position waypoint;
[0008] Based on the given joint position waypoints, the first transition waypoint, and the second transition waypoint, create a joint position spline path; wherein, at the first transition waypoint, the joint path between the previous joint position waypoint and the first transition waypoint is tangent to the joint position spline path; at the second transition waypoint, the joint path between the second transition waypoint and the next joint position waypoint is tangent to the joint position spline path.
[0009] With the goal of minimizing the time taken to traverse the joint position spline path, and constrained by joint space constraints and Cartesian space constraints, the relationship between the path parameters and time of the joint position spline path is obtained.
[0010] Based on the relationship between the path parameters and time of the joint position spline path, the robot's joint position trajectory planning is obtained.
[0011] In one embodiment, a joint position spline path is created based on given joint position waypoints, a first transition waypoint, and a second transition waypoint, including:
[0012] Determine the first tangential unit vector of the joint path at the first transition waypoint, and the second tangential unit vector of the joint path at the second transition waypoint;
[0013] Based on the spline basis function, the first tangential unit vector, and the second tangential unit vector, the fitting curve between the first transition path point and the second transition path point is determined, and the fitting curve is used as the spline path of the joint position. The spline basis function is a cubic spline function.
[0014] In one embodiment, with the objective of minimizing the time taken to traverse the joint position spline path, and using joint space constraints and Cartesian space constraints as constraints, the relationship between the path parameters and time of the joint position spline path is obtained, including:
[0015] Based on the path parameters, construct the time cost function corresponding to the spline path at the joint position;
[0016] With the goal of minimizing the time taken to traverse the joint position spline path, and constrained by joint space constraints and Cartesian space constraints, the time cost function is solved to obtain the relationship between the path parameters and time of the joint position spline path.
[0017] In one embodiment, the joint space constraints include joint velocity constraints, joint acceleration constraints, joint jerk constraints, joint torque constraints, joint velocity continuity constraints, and joint acceleration continuity constraints; the Cartesian space constraints include Cartesian linear velocity constraints, Cartesian linear acceleration constraints, Cartesian angular velocity constraints, and Cartesian angular acceleration constraints.
[0018] With the objective of minimizing the time taken to traverse the joint position spline path, and constrained by joint space and Cartesian space conditions, the time cost function is solved to obtain the relationship between the path parameters and time of the joint position spline path, including:
[0019] With the goal of minimizing the time taken to traverse the spline path at the joint position, and constrained by joint velocity constraints, joint acceleration constraints, joint torque constraints, joint velocity continuity constraints, joint acceleration continuity constraints, and Cartesian space constraints, a linear programming solution is performed on the time cost function to obtain the initial linear programming solution result.
[0020] Based on the initial linear programming solution results, the joint jerk constraints are adjusted.
[0021] With the goal of minimizing the time to traverse the spline path at the joint position, and with the adjusted joint jerk constraints as constraints, a linear programming solution is performed on the time cost function to obtain the objective linear programming solution result.
[0022] Based on the solution results of the objective linear programming, the relationship between the path parameters and time of the spline path at the joint position is obtained.
[0023] In one embodiment, the joint position trajectory planning is calculated based on an expression for a joint position spline path; the expression for the joint position spline path is:
[0024] h 00 (u)=(6u 2 +3u+1)(1-u) 3
[0025] h 10 (u)=(3u 2 +u)(1-u) 3
[0026] h 01 (u)=u 3 (6u 2 -15u+10)
[0027] h 11 (u)=u 3 (-3u 2 +7u-4)
[0028] Where u is the path parameter of the joint position spline path;
[0029] The expression for the time cost function corresponding to the spline path at the joint position is:
[0030]
[0031] in, And the expression for q(u) using B-spline description is:
[0032]
[0033] Where N(u) is the cubic B-spline basis function, and a is the B-spline control point parameter to be solved;
[0034] Joint space constraints include:
[0035] Joint velocity constraints:
[0036] Joint acceleration constraints:
[0037] Joint acceleration constraints:
[0038] Joint moment constraints:
[0039] Joint velocity continuity constraint: p′ i-1 (1)q i-1 (1)=p′ i (0)q i (0)
[0040] Joint acceleration continuity constraint:
[0041]
[0042] Where p′, p″, p″′ are the derivatives of the joint position spline path with respect to the path parameter u, A(q) is the robot mass matrix, and B(q) and C(q) are the Coriolis force and centrifugal force matrices, respectively.
[0043] Cartesian space constraints include:
[0044] Cartesian linear velocity constraint: ν max ≥(J′) T S v (J′p′)q
[0045] Cartesian angular velocity constraint: ω max ≥(J′) T S ω (Jp′)q
[0046] Cartesian acceleration constraints:
[0047] Cartesian angle acceleration constraint conditions:
[0048] Among them, J l and J o These are 3*n linear Jacobians and 3*n rotational Jacobians, respectively;
[0049] Based on the results of the objective linear programming solution, the relationship between the path parameters and time of the joint position spline path is obtained, including:
[0050] The path parameter u at the (k+1)th control cycle is obtained by using the Taylor expansion of q(u). k+1 Value:
[0051]
[0052] Among them, u k This represents the path parameters for the current control cycle, where the current control cycle refers to the control cycle corresponding to the sampling point in the current segment, u. k+1 The path parameters for the next control cycle are represented by q(u). Δt represents the duration of the current control cycle. k ) and q'(u k ) is the Taylor expansion expression of the time cost function.
[0053] In one embodiment, with the objective of minimizing the time taken to traverse the joint position spline path, and using joint space constraints and Cartesian space constraints as constraints, the relationship between the path parameters and time of the joint position spline path is obtained, including:
[0054] According to the sliding step size, the window is slid along the spline path at the joint position to obtain the segment intercepted by the window on the spline path at the joint position after each window slide;
[0055] For each segment, with the goal of minimizing the time taken to traverse the spline path through the joint position, and with joint space constraints and Cartesian space constraints as constraints, the relationship between the path parameters and time for the corresponding segment is determined.
[0056] Based on the relationship between the path parameters and time for all segments, determine the relationship between the path parameters and time for the joint position spline path.
[0057] In one embodiment, each segment includes at least one path segment; determining the relationship between the path parameters and time for the corresponding segment includes:
[0058] If the current segment is not the last segment, for the first path segment in the current segment, with the goal of minimizing the time of the joint position spline path, and with joint space constraints and Cartesian space constraints as constraints, determine the relationship between the path parameters and time of the first path segment.
[0059] The relationship between the path parameters and time corresponding to the first path segment is used as the relationship between the path parameters and time for the current segment.
[0060] In one embodiment, determining a first transition waypoint between the current joint position waypoint and the previous joint position waypoint includes:
[0061] Obtain the joint path consisting of given joint location waypoints;
[0062] On the joint path, determine the midpoint between the current joint position waypoint and the previous joint position waypoint;
[0063] Determine the distances in Cartesian space between the intermediate point and the current joint position waypoint of the end effector;
[0064] If the difference between the distance and the preset distance is greater than the preset threshold and the distance is greater than the preset distance, determine the first position adjustment degree, and move the intermediate point toward the current joint position waypoint according to the first position adjustment degree to obtain the intermediate point again, and return to the step of determining the distance between the position of the end effector corresponding to the intermediate point and the current joint position waypoint in Cartesian space and continue to execute until the difference between the distance and the preset distance is not greater than the preset threshold, and take the finally obtained intermediate point as the first transition waypoint.
[0065] Secondly, this application also provides a robot motion trajectory determination device. The device includes:
[0066] The given waypoint acquisition module is used to acquire the given joint position waypoints, which include the current joint position waypoint, the previous joint position waypoint, and the next joint position waypoint.
[0067] The transition waypoint determination module is used to determine a first transition waypoint between the current joint position waypoint and the previous joint position waypoint, and to determine a second transition waypoint between the current joint position waypoint and the next joint position waypoint.
[0068] A creation module is used to create a joint position spline path based on a given joint position waypoint, a first transition waypoint, and a second transition waypoint; wherein, at the first transition waypoint, the joint path between the previous joint position waypoint and the first transition waypoint is tangent to the joint position spline path; at the second transition waypoint, the joint path between the second transition waypoint and the next joint position waypoint is tangent to the joint position spline path.
[0069] The relation acquisition module is used to obtain the relationship between the path parameters and time of the joint position spline path with the goal of minimizing the time taken to traverse the spline path through the joint position, and with joint space constraints and Cartesian space constraints as constraints.
[0070] The trajectory acquisition module is used to obtain the robot's joint position trajectory planning based on the relationship between the path parameters of the joint position spline path and time.
[0071] Thirdly, this application also provides a computer device. The computer device includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to perform the following steps:
[0072] Get the given joint position waypoints, which include the current joint position waypoint, the previous joint position waypoint, and the next joint position waypoint.
[0073] Determine a first transition waypoint between the current joint position waypoint and the previous joint position waypoint, and determine a second transition waypoint between the current joint position waypoint and the next joint position waypoint;
[0074] Based on the given joint position waypoints, the first transition waypoint, and the second transition waypoint, create a joint position spline path; wherein, at the first transition waypoint, the joint path between the previous joint position waypoint and the first transition waypoint is tangent to the joint position spline path; at the second transition waypoint, the joint path between the second transition waypoint and the next joint position waypoint is tangent to the joint position spline path.
[0075] With the goal of minimizing the time taken to traverse the joint position spline path, and constrained by joint space constraints and Cartesian space constraints, the relationship between the path parameters and time of the joint position spline path is obtained.
[0076] Based on the relationship between the path parameters and time of the joint position spline path, the robot's joint position trajectory planning is obtained.
[0077] Fourthly, this application also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program thereon, which, when executed by a processor, performs the following steps:
[0078] Get the given joint position waypoints, which include the current joint position waypoint, the previous joint position waypoint, and the next joint position waypoint.
[0079] Determine a first transition waypoint between the current joint position waypoint and the previous joint position waypoint, and determine a second transition waypoint between the current joint position waypoint and the next joint position waypoint;
[0080] Based on the given joint position waypoints, the first transition waypoint, and the second transition waypoint, create a joint position spline path; wherein, at the first transition waypoint, the joint path between the previous joint position waypoint and the first transition waypoint is tangent to the joint position spline path; at the second transition waypoint, the joint path between the second transition waypoint and the next joint position waypoint is tangent to the joint position spline path.
[0081] With the goal of minimizing the time taken to traverse the joint position spline path, and constrained by joint space constraints and Cartesian space constraints, the relationship between the path parameters and time of the joint position spline path is obtained.
[0082] Based on the relationship between the path parameters and time of the joint position spline path, the robot's joint position trajectory planning is obtained.
[0083] Fifthly, this application also provides a computer program product. The computer program product includes a computer program that, when executed by a processor, performs the following steps:
[0084] Get the given joint position waypoints, which include the current joint position waypoint, the previous joint position waypoint, and the next joint position waypoint.
[0085] Determine a first transition waypoint between the current joint position waypoint and the previous joint position waypoint, and determine a second transition waypoint between the current joint position waypoint and the next joint position waypoint;
[0086] Based on the given joint position waypoints, the first transition waypoint, and the second transition waypoint, create a joint position spline path; wherein, at the first transition waypoint, the joint path between the previous joint position waypoint and the first transition waypoint is tangent to the joint position spline path; at the second transition waypoint, the joint path between the second transition waypoint and the next joint position waypoint is tangent to the joint position spline path.
[0087] With the goal of minimizing the time taken to traverse the joint position spline path, and constrained by joint space constraints and Cartesian space constraints, the relationship between the path parameters and time of the joint position spline path is obtained.
[0088] Based on the relationship between the path parameters and time of the joint position spline path, the robot's joint position trajectory planning is obtained.
[0089] The aforementioned robot motion trajectory determination method, apparatus, computer equipment, storage medium, and computer program product obtain given joint position waypoints, including the current joint position waypoint, the previous joint position waypoint, and the next joint position waypoint. A first transition waypoint is determined between the current and previous joint position waypoints, and a second transition waypoint is determined between the current and next joint position waypoints. Based on the given joint position waypoints, the first transition waypoint, and the second transition waypoint, a joint position spline path is created. At the first transition waypoint, the joint path between the previous and first transition waypoints is tangent to the joint position spline path; at the second transition waypoint, the joint path between the second and next joint position waypoints is tangent to the joint position spline path. With the goal of minimizing the time taken to traverse the joint position spline path, and constrained by joint space constraints and Cartesian space constraints, the relationship between the path parameters and time of the joint position spline path is obtained. Based on this relationship, the robot's joint position trajectory is planned. The above scheme creates a joint position spline path by giving joint position waypoints. With the goal of minimizing the time to traverse the joint position spline path, it comprehensively considers the constraints of joint space and Cartesian space to determine the robot's joint position trajectory planning. This ensures that the robot traverses the joint position spline path in the shortest possible time, thus improving the robot's operating efficiency. Attached Figure Description
[0090] Figure 1 This is a diagram illustrating the application environment of a robot motion trajectory determination method in one embodiment.
[0091] Figure 2 This is a flowchart illustrating a robot trajectory determination method in one embodiment;
[0092] Figure 3 This is a schematic diagram of a sub-process of S203 in one embodiment;
[0093] Figure 4 This is a schematic diagram of a sub-process of S204 in one embodiment;
[0094] Figure 5 This is a schematic diagram of a sub-process of S404 in one embodiment;
[0095] Figure 6 This is a schematic diagram of a sub-process of S204 in another embodiment;
[0096] Figure 7 This is a schematic diagram of a sub-process of S202 in one embodiment;
[0097] Figure 8 This is a schematic diagram of the overall process of a robot motion trajectory determination method in one embodiment;
[0098] Figure 9 This is a schematic diagram of the joint position spline path mapping to Cartesian space in one embodiment;
[0099] Figure 10 This is a schematic diagram of spline path segmentation at joint positions in one embodiment;
[0100] Figure 11 This is a structural block diagram of a robot motion trajectory determination device in one embodiment;
[0101] Figure 12 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation
[0102] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0103] The robot motion trajectory determination method provided in this application embodiment can be applied to, for example, Figure 1In the application environment shown, terminal 102 communicates with server 104 via a network. A data storage system can store the data that server 104 needs to process. The data storage system can be integrated on server 104 or placed on a cloud or other network server. The robot motion trajectory determination method provided in this application embodiment can be executed by terminal 102 or server 104 alone, or by terminal 102 and server 104 collaboratively. Taking execution by terminal 102 alone as an example: Obtain given joint position waypoints, including the current joint position waypoint, the previous joint position waypoint, and the next joint position waypoint; determine a first transition waypoint between the current joint position waypoint and the previous joint position waypoint, and determine a second transition waypoint between the current joint position waypoint and the next joint position waypoint; based on the given joint position waypoints, the first transition waypoint, and the second transition waypoint... Waypoints are used to create joint position spline paths. At the first transition waypoint, the joint path between the previous joint position waypoint and the first transition waypoint is tangent to the joint position spline path. At the second transition waypoint, the joint path between the second transition waypoint and the next joint position waypoint is tangent to the joint position spline path. With the goal of minimizing the time taken to traverse the joint position spline path, and constrained by joint space and Cartesian space constraints, the relationship between the path parameters and time of the joint position spline path is obtained. Based on this relationship, the robot's joint position trajectory is planned. The terminal 102 can be, but is not limited to, various personal computers, laptops, smartphones, tablets, IoT devices, and portable wearable devices. IoT devices can include smart speakers, smart TVs, smart air conditioners, and smart vehicle devices. Portable wearable devices can include smartwatches, smart bracelets, and head-mounted devices. The server 104 can be implemented using a standalone server or a server cluster consisting of multiple servers.
[0104] In one embodiment, such as Figure 2 As shown, a method for determining the motion trajectory of a robot is provided, which can be applied to a computer device (the computer device can be...). Figure 1 Taking terminal 102 or server 104 as an example, the following steps are included:
[0105] S201, obtain the given joint position waypoints, which include the current joint position waypoint, the previous joint position waypoint, and the next joint position waypoint.
[0106] Here, a joint position waypoint is a waypoint in the robot's joint space. For example, a given joint position waypoint is at least one waypoint in the joint space of the target object input. Joint space is the space composed of all joint vectors. For a robot with N degrees of freedom, the positions of all links can be determined by a set of N joint variables, typically referred to as an N*1 joint vector. The dimension of each given joint position waypoint is equal to the number of robot degrees of freedom.
[0107] The current joint location waypoint is any one of the given joint location waypoints. Based on the positional order of all given joint location waypoints, the computer determines the previous and next joint location waypoints among all given joint location waypoints.
[0108] S202, determine a first transition waypoint between the current joint position waypoint and the previous joint position waypoint, and determine a second transition waypoint between the current joint position waypoint and the next joint position waypoint.
[0109] The joint path is formed by all given joint location waypoints. Connecting all given joint location waypoints in their positional order yields the joint path. The first and second transition waypoints are waypoints on the joint path. On the joint path, the first transition waypoint is determined between the current joint location waypoint and the previous joint location waypoint, and the second transition waypoint is determined between the current joint location waypoint and the next joint location waypoint.
[0110] S203, Based on the given joint position waypoints, first transition waypoints, and second transition waypoints, create a joint position spline path; wherein, at the first transition waypoint, the joint path between the previous joint position waypoint and the first transition waypoint is tangent to the joint position spline path; at the second transition waypoint, the joint path between the second transition waypoint and the next joint position waypoint is tangent to the joint position spline path.
[0111] The computer device creates a joint position spline path based on given joint position waypoints, a first transition waypoint, and a second transition waypoint. The joint position spline path can use spline functions as path basis functions, and is obtained by fitting curves. The first and second transition waypoints are the two endpoints of the joint position spline path. At the first transition waypoint, the joint path between the previous joint position waypoint and the first transition waypoint is tangent to the joint position spline path; at the second transition waypoint, the joint path between the second transition waypoint and the next joint position waypoint is tangent to the joint position spline path.
[0112] The computer device generates a joint position spline path by fitting a curve based on given joint position waypoints, a first transition waypoint, and a second transition waypoint. To improve robot operating efficiency and prevent the robot from stopping at each given joint position waypoint, this application proposes setting transition waypoints and establishing joint position spline paths between transition waypoints to achieve smooth transitions for the robot at each given joint position waypoint.
[0113] S204 aims to minimize the time required to traverse the joint position spline path, using joint space constraints and Cartesian space constraints as constraints, to obtain the relationship between the path parameters and time of the joint position spline path.
[0114] Joint space constraints reflect the constraints in the robot's joint space on the planned trajectory, such as velocity in joint space. Cartesian space constraints reflect the constraints in the robot's Cartesian space on the planned trajectory, such as linear velocity in Cartesian space. In robot path planning, under the same conditions, the plan that minimizes the time required to complete the same path can be considered the optimal plan. Therefore, this application aims to minimize the time required to traverse the joint position spline path, and combines joint space constraints and Cartesian space constraints to obtain the relationship between path parameters and time for the joint position spline path.
[0115] S205: Based on the relationship between the path parameters and time of the joint position spline path, the robot's joint position trajectory is planned.
[0116] The computer equipment obtains the relationship between path parameters and time through optimization. Since the path parameters correspond to the values on the joint position spline path, the robot's joint position trajectory can be planned based on the relationship between path parameters and time on the joint position spline path. The computer equipment then controls the robot's movement according to the planned joint position trajectory.
[0117] In the above-mentioned method for determining the robot's motion trajectory, given joint position waypoints are obtained, including the current joint position waypoint, the previous joint position waypoint, and the next joint position waypoint. A first transition waypoint is determined between the current joint position waypoint and the previous joint position waypoint, and a second transition waypoint is determined between the current joint position waypoint and the next joint position waypoint. Based on the given joint position waypoints, the first transition waypoint, and the second transition waypoint, a joint position spline path is created. At the first transition waypoint, the joint path between the previous joint position waypoint and the first transition waypoint is tangent to the joint position spline path. At the second transition waypoint, the joint path between the second transition waypoint and the next joint position waypoint is tangent to the joint position spline path. With the goal of minimizing the time taken to traverse the joint position spline path, and using joint space constraints and Cartesian space constraints as constraints, the relationship between the path parameters and time of the joint position spline path is obtained. Based on the relationship between the path parameters and time of the joint position spline path, the robot's joint position trajectory is planned. The above scheme creates a joint position spline path by giving joint position waypoints. With the goal of minimizing the time to traverse the joint position spline path, it comprehensively considers the constraints of joint space and Cartesian space to determine the robot's joint position trajectory planning. This ensures that the robot traverses the joint position spline path in the shortest possible time, thus improving the robot's operating efficiency.
[0118] In one embodiment, such as Figure 3 As shown, based on the given joint position waypoints, the first transition waypoint, and the second transition waypoint, a joint position spline path is created, including:
[0119] S302, determine the first tangential unit vector of the joint path at the first transition waypoint and the second tangential unit vector of the joint path at the second transition waypoint.
[0120] The first tangential unit vector refers to the tangential unit vector of the joint path at the first transition waypoint. The second tangential unit vector refers to the tangential unit vector of the joint path at the second transition waypoint. The computer device divides the difference in joint position between the first transition waypoint and the previous joint position waypoint by the straight-line distance between the first transition waypoint and the previous joint position waypoint to obtain the first tangential unit vector. The computer device divides the difference in joint position between the next joint position waypoint and the second transition waypoint by the straight-line distance between the next joint position waypoint and the second transition waypoint to obtain the second tangential unit vector.
[0121] S304. Based on the spline basis function, the first tangential unit vector, and the second tangential unit vector, determine the fitting curve between the first transition path point and the second transition path point, and use the fitting curve as the joint position spline path, wherein the spline basis function is a cubic spline function.
[0122] Here, the spline basis function refers to a piecewise defined polynomial parametric curve function. The spline basis function can be a cubic spline function, ensuring continuous jerk of the robot's motion in joint space. The computer device determines the fitting curve between the first and second transition path points based on the spline basis function, the first tangential unit vector, and the second tangential unit vector, and uses the fitted curve as the spline path for the joint position. In some embodiments, the spline basis function P... b The expression for (u) is:
[0123] P b (u)=P m h 00 (u)+t0h 10 (u)+P n h 01 (u)+t1h 11 (u)
[0124] t0=(P m -P i-1 ) / ‖P m -P i-1 ||
[0125] t1=(P i+1 -P n ) / ‖P i+1 -P n ||
[0126] Among them, P m P represents the first transition point. n P represents the second transition point. i-1 P represents the waypoint of the previous joint. i+1 The next joint position waypoint is indicated by t0, where t0 represents the first tangential unit vector and t1 represents the second tangential unit vector.
[0127] In this embodiment, the method of obtaining the joint position spline path by fitting a curve between the first transition point and the second transition point using the first tangential unit vector of the joint path at the first transition point and the second tangential unit vector of the joint path at the second transition point, based on spline basis functions, the first tangential unit vector, and the second tangential unit vector, can improve the efficiency of determining the joint position spline path, thereby improving the robot's operating efficiency.
[0128] In one embodiment, such as Figure 4 As shown, with the objective of minimizing the time taken to traverse the joint position spline path, and using joint space constraints and Cartesian space constraints as constraints, the relationship between the path parameters and time of the joint position spline path is obtained, including:
[0129] S402, based on path parameters, construct the time cost function corresponding to the spline path of the joint position.
[0130] Here, the path parameters refer to the path parameters of the joint position spline path. For example, Where q(u) represents the joint position spline path, u represents the path parameters of the joint position spline path, and the time cost function corresponding to the joint position spline path is:
[0131] S404 aims to minimize the time taken to traverse the joint position spline path. It uses joint space constraints and Cartesian space constraints as constraints to solve the time cost function and obtain the relationship between the path parameters and time of the joint position spline path.
[0132] The objective, which is to minimize the time taken to traverse the spline path at joint positions, can be defined as minimizing the time cost function corresponding to the joint position spline path. The minimum value of the time cost function corresponding to the joint position spline path can be expressed as: Since the time cost function represents the time it takes for the robot to traverse the joint position spline path, the computer device aims to minimize the time taken to traverse the joint position spline path. By using joint space constraints and Cartesian space constraints as constraints, the computer can solve the time cost function to obtain the relationship between the path parameters and time of the joint position spline path.
[0133] In this embodiment, a time cost function corresponding to the joint position spline path is constructed based on the path parameters. With the goal of minimizing the time to traverse the joint position spline path, and constrained by joint space constraints and Cartesian space constraints, the time cost function is solved to obtain the relationship between the path parameters and time of the joint position spline path. This ensures that the robot traverses the joint position spline path in the shortest time, thereby improving the robot's operating efficiency.
[0134] In one embodiment, such as Figure 5 As shown, the joint space constraints include joint velocity constraints, joint acceleration constraints, joint jerk constraints, joint torque constraints, joint velocity continuity constraints, and joint acceleration continuity constraints; the Cartesian space constraints include Cartesian linear velocity constraints, Cartesian linear acceleration constraints, Cartesian angular velocity constraints, and Cartesian angular acceleration constraints. With the objective of minimizing the time taken to traverse the joint position spline path, and using the joint space constraints and Cartesian space constraints as constraints, the time cost function is solved to obtain the relationship between the path parameters and time of the joint position spline path, including:
[0135] S502 aims to minimize the time taken to traverse the spline path at the joint position. It uses joint velocity constraints, joint acceleration constraints, joint torque constraints, joint velocity continuity constraints, joint acceleration continuity constraints, and Cartesian space constraints as constraints to solve the time cost function using linear programming, thus obtaining the initial linear programming solution.
[0136] Among them, the joint velocity constraint and joint velocity continuity constraint in joint space are used to constrain the velocity in the robot's joint space, the joint acceleration constraint and joint acceleration continuity constraint are used to constrain the acceleration in the joint space, the joint jerk constraint is used to constrain the jerk in the joint space, and the joint torque constraint is used to constrain the torque in the joint space.
[0137] Since the joint jerk constraint is a nonlinear constraint, to ensure the accuracy of the solution obtained by the optimization solver, the linear joint jerk constraint is initially disregarded. The computer aims to minimize the time required to traverse the joint position spline path. It uses joint velocity constraints, joint acceleration constraints, joint torque constraints, joint velocity continuity constraints, joint acceleration continuity constraints, and Cartesian space constraints as constraints to perform a linear programming solution on the time cost function, obtaining the initial linear programming solution. The optimization solver is an information-based tool used to find the optimal solution among the feasible solutions.
[0138] S504, based on the initial linear programming solution results, adjusts the joint jerk constraints.
[0139] The computer equipment adjusts the joint jerk constraints based on the initial linear programming solution, so that the adjusted joint jerk constraints are linear constraints.
[0140] S506 aims to minimize the time taken to traverse the spline path at the joint position, using the adjusted joint jerk constraints as constraints, and solves the time cost function using linear programming to obtain the objective linear programming solution.
[0141] The computer equipment aims to minimize the time taken to traverse the spline path at the joint position, using the adjusted joint jerk constraints as constraints, and performs a linear programming solution on the time cost function to obtain the objective linear programming solution result.
[0142] S508: Based on the solution results of the objective linear programming, obtain the relationship between the path parameters and time of the spline path at the joint position.
[0143] The objective linear programming solution represents the optimal time rate, i.e., minimizing the time taken for the robot to traverse the joint position spline path. Since the objective linear programming solution is related to the path parameters, the computer performs a Taylor expansion of the time cost function to obtain the relationship between path parameters and time, thus determining the position and attitude planned trajectories, based solely on the control cycles of the position and attitude spline paths. The control cycle refers to the period during which the computer controls the robot's movement; the computer sends control commands to the robot at regular intervals to guide it along the planned trajectory.
[0144] In this embodiment, with the goal of minimizing the time taken to traverse the joint position spline path, and constrained by joint velocity constraints, joint acceleration constraints, joint torque constraints, joint velocity continuity constraints, joint acceleration continuity constraints, and Cartesian space constraints, a linear programming solution is performed on the time cost function to obtain an initial linear programming solution. Based on the initial linear programming solution, the nonlinear joint acceleration constraints are adjusted, resulting in linear joint acceleration constraints. Thus, with the goal of minimizing the time taken to traverse the joint position spline path and constrained by the adjusted joint acceleration constraints, the relationship between the path parameters and time of the joint position spline path is obtained. This method of converting nonlinear constraints into linear constraints improves the efficiency of obtaining the relationship between path parameters and time, which is beneficial to improving the robot's operating efficiency.
[0145] In one embodiment, the joint position trajectory planning is calculated based on the expression for the joint position spline path; the expression for the joint position spline path is:
[0146] h 00 (u)=(6u 2 +3u+1)(1-u) 3
[0147] h 10 (u)=(3u 2 +u)(1-u) 3
[0148] h 01 (u)=u 3 (6u 2 -15u+10)
[0149] h 11 (u)=u 3 (-3u 2 +7u-4)
[0150] Where u is the path parameter of the joint position spline path;
[0151] The expression for the time cost function corresponding to the spline path at the joint position is:
[0152]
[0153] in, And the expression for q(u) using B-spline description is:
[0154]
[0155] Where N(u) is the cubic B-spline basis function, and a is the B-spline control point parameter to be solved;
[0156] Joint space constraints include:
[0157] Joint velocity constraints:
[0158] Joint acceleration constraints:
[0159] Joint acceleration constraints:
[0160] Joint moment constraints:
[0161] Joint velocity continuity constraint: p′ i-1 (1)q i-1 (1)=p′ i (0)q i (0)
[0162] Joint acceleration continuity constraint:
[0163]
[0164] Where p′, p″, p″′ are the derivatives of the joint position spline path with respect to the path parameter u, A(q) is the robot mass matrix, and B(q) and C(q) are the Coriolis force and centrifugal force matrices, respectively.
[0165] Cartesian space constraints include:
[0166] Cartesian linear velocity constraint: ν max ≥(J′) T S v (J′p′)q
[0167] Cartesian angular velocity constraint: ω max ≥(J′) T S ω(Jp′)q
[0168] Cartesian acceleration constraints:
[0169] Cartesian angle acceleration constraint conditions:
[0170] Among them, J l and J o These are 3*n linear Jacobians and 3*n rotational Jacobians, respectively;
[0171] Based on the results of the objective linear programming solution, the relationship between the path parameters and time of the joint position spline path is obtained, including:
[0172] The path parameter u at the (k+1)th control cycle is obtained by using the Taylor expansion of q(u). k+1 Value:
[0173]
[0174] Among them, u k This represents the path parameters for the current control cycle, where the current control cycle refers to the control cycle corresponding to the sampling point in the current segment, u. k+1 The path parameters for the next control cycle are represented by q(u). Δt represents the duration of the current control cycle. k ) and q'(u k ) is the Taylor expansion expression of the time cost function.
[0175] The computer equipment determines the path parameters within each control cycle based on the control cycle of the joint position spline path, and obtains the path parameters u for the (k+1)th control cycle using the Taylor expansion of q(u). k+1 By substituting the path parameters of each control cycle into the expression for the joint position spline path, the robot's joint position trajectory planning can be obtained.
[0176] In this embodiment, the relationship between the path parameters and time of the joint position spline path is obtained based on the solution result of the target linear programming. Since the solution result of the target linear programming is obtained based on linear constraints, the efficiency of obtaining the relationship between the path parameters and time is improved, which is beneficial to improving the robot's operating efficiency.
[0177] In one embodiment, such as Figure 6 As shown, with the objective of minimizing the time taken to traverse the joint position spline path, and using joint space constraints and Cartesian space constraints as constraints, the relationship between the path parameters and time of the joint position spline path is obtained, including:
[0178] S602, according to the sliding step size, slide the window on the joint position spline path to obtain the segment intercepted by the window on the joint position spline path after each window slide.
[0179] Here, a window refers to a path of a certain size on the joint position spline path. The window size can be the same or different in each slide. Sliding the window on the joint position spline path means sliding a window of a preset size along the path, with each slide distance being the sliding step size. This results in the segment the window truncates on the joint position spline path after each slide, until the window reaches the end of the joint position spline path. Optionally, the sliding step size can be less than or equal to the window size to ensure that every waypoint on the joint position spline path can be traversed.
[0180] In some embodiments, before sliding the window on the joint position spline path to obtain the segments intercepted by the window on the joint position spline path after each window slide, the method further includes: the computer device dividing the joint position spline path according to a preset segment length to obtain multiple short paths, each short path having a length less than or equal to the preset segment length. Correspondingly, sliding the window on the joint position spline path according to a sliding step size to obtain the segments intercepted by the window on the joint position spline path after each window slide includes: determining a sliding step size containing a first preset number of consecutive short paths, and determining a window containing a second preset number of consecutive short paths, wherein the first preset number is less than or equal to the second preset number; the computer device sliding the window on the joint position spline path according to the sliding step size to obtain the segments intercepted by the window on the joint position spline path after each window slide, each segment having a size equal to the window size.
[0181] S604: For each segment, with the goal of minimizing the time taken to traverse the spline path through the joint position, and constrained by joint space constraints and Cartesian space constraints, determine the relationship between the path parameters and time for the corresponding segment.
[0182] Specifically, for each segment, the computer device aims to minimize the time taken to traverse the spline path at the joint position, and uses joint space constraints and Cartesian space constraints as constraints to determine the relationship between the path parameters and time for the corresponding segment.
[0183] S606, Based on the relationship between the path parameters and time of all segments, determine the relationship between the path parameters and time of the joint position spline path.
[0184] In each window, the computer device obtains the relationship between the path parameters and time for all segments within the window, which is equivalent to obtaining the relationship between the path parameters and time for each part of the spline in the entire joint position spline path. Thus, based on the relationship between the path parameters and time for all segments, the relationship between the path parameters and time for the joint position spline path can be determined.
[0185] In this embodiment, a window is slid along the joint position spline path according to the sliding step size, obtaining the segments intercepted by the window on the joint position spline path after each window slide. With the goal of minimizing the time to traverse the joint position spline path, and using joint space constraints and Cartesian space constraints as constraints, the relationship between the path parameters and time for each segment is determined. This allows the joint position spline path to be divided into multiple windows, progressively determining the relationship between the path parameters and time for the corresponding segments within each window, reducing the amount of data processed simultaneously, and improving the efficiency of determining the relationship between the path parameters and time for the joint position spline path.
[0186] In one embodiment, each segment includes at least one path segment; determining the relationship between path parameters and time for the corresponding segment includes: if the current segment is not the last segment, for the first path segment in the current segment, with the goal of minimizing the time of the joint position spline path, and with joint space constraints and Cartesian space constraints as constraints, determining the relationship between path parameters and time for the first path segment; and using the relationship between path parameters and time corresponding to the first path segment as the relationship between path parameters and time for the current segment.
[0187] Each segment corresponds to a window, and each segment includes at least one path segment. Assuming the first window includes path segments 1, 2, and 3, and the second window includes path segments 2, 3, and 4, the computer solves for each path segment in each window, obtaining the path parameters corresponding to the sampling points within that path segment. To ensure the accuracy of the solution results, the first window only takes the solution result for path segment 1, the second window takes the solution result for path segment 2, and so on, until the end of the spline path at the joint position is reached. At this point, the solution results for all path segments within the window are used. In practical applications, since the window slides in one step, if the current segment is not the last segment, only the result of the first segment within the solution window is taken each time. That is, the first window takes the solution result for path segment 1, the second window takes the solution result for path segment 2, and so on, until the end of the path is reached. At this point, the solution results for all segments within the window are used to determine the relationship between the path parameters and time for the corresponding segment.
[0188] In this embodiment, when the current segment is not the last segment, the goal is to minimize the time of the joint position spline path for the first path segment in the current segment. Using joint space constraints and Cartesian space constraints as constraints, the relationship between the path parameters and time of the first path segment is determined. The relationship between the path parameters and time corresponding to the first path segment is used as the relationship between the path parameters and time of the current segment. This can reduce the amount of data processed simultaneously and improve the efficiency of determining the relationship between path parameters and time.
[0189] In one embodiment, such as Figure 7 As shown, determining the first transition waypoint between the current joint position waypoint and the previous joint position waypoint includes:
[0190] S702, obtain the joint path consisting of the given joint position waypoints.
[0191] The computer device obtains a joint path consisting of given joint location waypoints. Specifically, the computer device connects two adjacent given joint location waypoints to obtain the joint path.
[0192] S704, on the joint path, determine the midpoint between the current joint position waypoint and the previous joint position waypoint.
[0193] In this context, an intermediate point refers to any joint position waypoint between the current joint position waypoint and the previous joint position waypoint. The computer device determines the intermediate point between the current joint position waypoint and the previous joint position waypoint on the joint path.
[0194] S706, determine the distance in Cartesian space between the positions of the end effectors corresponding to the intermediate point and the current joint position waypoint.
[0195] The computer device processes the intermediate point and the current joint position waypoint using the robot's forward kinematics function to obtain the intermediate point and the current joint position waypoint in Cartesian space, respectively. The intermediate point and the current joint position waypoint in Cartesian space represent the positions of the end effector in Cartesian space. The distance between the intermediate point and the current joint position waypoint in Cartesian space is determined by the computer device as the distance between the intermediate point and the current joint position waypoint in Cartesian space.
[0196] S708, if the difference between the distance and the preset distance is greater than the preset threshold and the distance is greater than the preset distance, determine the first position adjustment degree, and move the intermediate point toward the current joint position waypoint according to the first position adjustment degree to obtain the intermediate point again, and return to the step of determining the distance between the position of the end effector corresponding to the intermediate point and the current joint position waypoint in Cartesian space and continue to execute until the difference between the distance and the preset distance is not greater than the preset threshold, and take the finally obtained intermediate point as the first transition waypoint.
[0197] The computer device calculates the difference between the distance between the intermediate point and the current joint position waypoint in Cartesian space and the preset distance, thus obtaining the difference between the distance and the preset distance.
[0198] When the difference between the distance and a preset distance is greater than a preset threshold and the distance is greater than a preset distance, the computer device determines a first position adjustment degree. For example, the computer device determines an initial position adjustment degree, and when the difference between the distance and a preset distance is greater than a preset threshold and the distance is greater than a preset distance, it increases the initial position adjustment degree by a preset adjustment degree to obtain a first position adjustment degree.
[0199] The computer device moves the intermediate point toward the current joint position waypoint according to the first position adjustment degree, in order to re-acquire the intermediate point. The re-acquired intermediate point is closer to the current joint position waypoint than the intermediate point before the move.
[0200] Based on the newly acquired intermediate point, the computer device returns to the step of determining the distance in Cartesian space between the positions of the end effectors corresponding to the intermediate point and the current joint position waypoint, i.e., it returns to step S706. Using the newly acquired intermediate point, it redetermines the distance in Cartesian space between the intermediate point and the current joint position waypoint until the difference between this distance and a preset distance is no greater than a preset threshold. This ensures that the distance in Cartesian space between the intermediate point and the current joint position waypoint continuously approaches the preset distance. The computer device uses the finally acquired intermediate point as the first transition waypoint.
[0201] In some embodiments, referring to the methods of S702 to S708, a second transition waypoint is determined between the current joint position waypoint and the next joint position waypoint.
[0202] In this embodiment, a joint path composed of given joint position waypoints is determined. On this path, an intermediate point is identified between the current and previous joint position waypoints. The first transition waypoint is determined by continuously approximating a preset distance between the intermediate point and the current joint position waypoint in Cartesian space. Since the robot's joint space and Cartesian space are non-linearly mapped, determining the transition waypoint using a preset distance in Cartesian space improves the efficiency of determining transition waypoints in the joint space, thereby improving the robot's operational efficiency.
[0203] To illustrate the robot trajectory determination method and its effects in this solution in detail, a specific embodiment is described below:
[0204] For robot motion trajectory planning scenarios in industrial robot applications, the target object inputs at least one joint location waypoint and the transition radius corresponding to each given joint location waypoint. For example... Figure 8 The diagram shows the overall process flow of the robot motion trajectory determination method.
[0205] The computer device inputs at least one joint position waypoint as the target object as a given joint position waypoint (P0, P1, ..., P...). n ), where P i The dimension is equal to the number of degrees of freedom of the robot. The given joint position waypoints include the current joint position waypoint, the previous joint position waypoint, and the next joint position waypoint. A first transition waypoint is determined between the current joint position waypoint and the previous joint position waypoint, and a second transition waypoint is determined between the current joint position waypoint and the next joint position waypoint. Specifically, a joint path composed of the given joint position waypoints is obtained. On the joint path, an intermediate point between the current joint position waypoint and the previous joint position waypoint is determined. The distances in Cartesian space between the intermediate point and the positions of the end effectors corresponding to the current joint position waypoint are determined. If the difference between these distances and a preset distance is greater than a preset threshold, and the distance is greater than the preset distance, a first position adjustment degree is determined. According to the first position adjustment degree, the intermediate point is moved towards the current joint position waypoint to re-obtain the intermediate point. The process returns to the step of determining the distances in Cartesian space between the intermediate point and the positions of the end effectors corresponding to the current joint position waypoint and continues until the difference between these distances and the preset distance is no greater than the preset threshold. The finally obtained intermediate point is taken as the first transition waypoint. Referring to the method described above, a second transition waypoint is determined between the current joint position waypoint and the next joint position waypoint.
[0206] like Figure 9 The diagram illustrates the mapping of joint position spline paths under a joint path to Cartesian space. Where C... i-1 C i Ci+1 C represents the waypoints mapped to the previous joint position in Cartesian space, the waypoints mapped to the current joint position in Cartesian space, and the waypoints mapped to the next joint position in Cartesian space, respectively. m and C n These represent the waypoints in Cartesian space mapped to the first transition waypoint between the current joint position waypoint and the previous joint position waypoint, and the waypoints in Cartesian space mapped to the second transition waypoint between the current joint position waypoint and the next joint position waypoint. For example,
[0207] P l1 (u)=(1-u)·P i-1 +u·P i
[0208] P l2 (u)=(1-u)·P i +u·P i+1
[0209] Among them, P l1 (u) represents the linear path in joint space before the current joint location waypoint in the joint path, P l2 (u) represents the linear path in joint space after the current joint location waypoint in the joint path, P i P represents the current joint position waypoint. i-1 P represents the waypoint of the previous joint. i+1 Let represent the waypoint for the next joint position, and u represent the degree of position adjustment. Since the joint space to Cartesian space of an industrial robot is a nonlinear mapping, it is typically not a straight line. Let FK represent the robot's forward kinematics function, then the following relationship is obtained:
[0210] ||C m -C i ||=||C n -C i ||=R
[0211] FK(P n ) = C n
[0212] FK(P i-1 ) = C i-1
[0213] FK(P i ) = C i
[0214] FK(P i+1 ) = C i+1
[0215] Where R represents the preset distance, which is the transition radius.
[0216] The computer device creates a joint position spline path based on given joint position waypoints, a first transition waypoint, and a second transition waypoint. At the first transition waypoint, the joint path between the previous joint position waypoint and the first transition waypoint is tangent to the joint position spline path; at the second transition waypoint, the joint path between the second transition waypoint and the next joint position waypoint is tangent to the joint position spline path. Specifically, creating the joint position spline path based on the given joint position waypoints, the first transition waypoint, and the second transition waypoint includes: determining a first tangential unit vector of the joint path at the first transition waypoint and a second tangential unit vector of the joint path at the second transition waypoint; determining a fitting curve between the first and second transition waypoints based on the spline basis function, the first tangential unit vector, and the second tangential unit vector; and using the fitting curve as the joint position spline path, wherein the spline basis function is a cubic spline function. For example, the determined fitting curve P between the first and second transition waypoints... b The expression for (u) is:
[0217] P b (u)=P m h 00 (u)+t0h 10 (u)+P n h 01 (u)+t1h 11 (u)
[0218] t0=(P m -P i-1 ) / ‖P m -P i-1 ||
[0219] t1=(P i+1 -P n ) / ‖P i+1 -P n ||
[0220] Among them, P m P represents the waypoint at the first joint. n P represents the waypoint at the second joint. i-1 P represents the waypoint of the previous joint. i+1 The next joint position waypoint is indicated, t0 represents the first tangential unit vector, t1 represents the second tangential unit vector, and h... 00 (u) to h 11 (u) represents the Hermite spline basis function.
[0221] The computer device slides a window along a joint position spline path according to a sliding step size, obtaining the segments intercepted by the window on the joint position spline path after each slide. For each segment, aiming to minimize the time spent traversing the joint position spline path, and constrained by joint space constraints and Cartesian space constraints, the relationship between the path parameters and time for the corresponding segment is determined. Figure 10 The diagram illustrates the segmentation of a joint position spline path. The computer determines a sliding step size containing a first preset number of consecutive short paths and a window containing a second preset number of consecutive short paths. The computer slides the window along the joint position spline path according to the sliding step size, obtaining the segmentation of the window along the joint position spline path after each slide.
[0222] The computer equipment determines the relationship between path parameters and time for the joint position spline path based on the relationship between path parameters and time for all segments. Specifically, based on the path parameters, a time cost function corresponding to the joint position spline path is constructed. Joint space constraints include joint velocity constraints, joint acceleration constraints, joint jerk constraints, joint torque constraints, joint velocity continuity constraints, and joint acceleration continuity constraints; Cartesian space constraints include Cartesian linear velocity constraints, Cartesian linear acceleration constraints, Cartesian angular velocity constraints, and Cartesian angular acceleration constraints. With the objective of minimizing the time taken to traverse the joint position spline path, and using the joint space constraints and Cartesian space constraints as constraints, the time cost function is solved to obtain the relationship between path parameters and time for the joint position spline path. Specifically, with the goal of minimizing the time taken to traverse the joint position spline path, and constrained by joint velocity constraints, joint acceleration constraints, joint torque constraints, joint velocity continuity constraints, joint acceleration continuity constraints, and Cartesian space constraints, a linear programming solution is performed on the time cost function to obtain an initial linear programming solution. Based on the initial linear programming solution, the joint jerk constraints are adjusted, and with the goal of minimizing the time taken to traverse the joint position spline path again, and constrained by the adjusted joint jerk constraints, a linear programming solution is performed on the time cost function to obtain a target linear programming solution. Based on the target linear programming solution, the relationship between the path parameters and time of the joint position spline path is obtained.
[0223] Joint position trajectory planning is calculated based on the expression of the joint position spline path; the expression of the joint position spline path is:
[0224] h 00 (u)=(6u 2 +3u+1)(1-u) 3
[0225] h 10 (u)=(3u 2 +u)(1-u) 3
[0226] h 01 (u)=u 3 (6u 2 -15u+10)
[0227] h 11 (u)=u 3 (-3u 2 +7u-4)
[0228] Where u is the path parameter of the joint position spline path;
[0229] The expression for the time cost function corresponding to the spline path at the joint position is:
[0230]
[0231] in, And the expression for q(u) using B-spline description is:
[0232]
[0233] Where N(u) is the cubic B-spline basis function, and a is the B-spline control point parameter to be solved;
[0234] Joint space constraints include:
[0235] Joint velocity constraints:
[0236] Joint acceleration constraints:
[0237] Joint acceleration constraints:
[0238] Joint moment constraints:
[0239] a(u)=A(q(u))q′(u)
[0240] b(u)=A(q(u))q″(u)+q′(u) T B(q(u))q′(u)
[0241] c(u)=C(q(u))
[0242] Joint velocity continuity constraint: p′ i-1 (1)q i-1 (1)=p′ i (0)q i(0)
[0243] Joint acceleration continuity constraint:
[0244]
[0245] Where p′, p″, p″′ are the derivatives of the joint position spline path with respect to the path parameter u, A(q) is the robot mass matrix, and B(q) and C(q) are the Coriolis force and centrifugal force matrices, respectively.
[0246] Cartesian space constraints include:
[0247] Cartesian linear velocity constraint: ν max ≥(J′) T S ν (J′p′)q
[0248] Cartesian angular velocity constraint: ω max ≥(J′) T S ω (Jp′)q
[0249] Cartesian acceleration constraints:
[0250] Cartesian angle acceleration constraint conditions:
[0251] Among them, J l and J o These are 3*n linear Jacobians and 3*n rotating Jacobians, respectively.
[0252] Based on the results of the objective linear programming solution, the computer equipment obtains the relationship between the path parameters and time of the spline path at the joint position, including:
[0253] The path parameter u at the (k+1)th control cycle is obtained by using the Taylor expansion of q(u). k+1 Value:
[0254]
[0255] Among them, u k This represents the path parameters for the current control cycle, where the current control cycle refers to the control cycle corresponding to the sampling point in the current segment, u. k+1 The path parameters for the next control cycle are represented by q(u). Δt represents the duration of the current control cycle. k ) and q'(u k ) is the Taylor expansion expression of the time cost function.
[0256] The computer equipment adjusts the joint jerk constraints based on the initial linear programming solution, aiming to minimize the time required to traverse the joint position spline path. This includes: converting the initial linear programming solution results into q... s This indicates that the joint acceleration constraint conditions are... Replace with the initial linear programming solution after taking the square root, i.e. Thus, the adjusted joint acceleration constraints are obtained:
[0257]
[0258] Due to the joint acceleration constraint conditions It is nonlinear and has low solution efficiency. Based on the adjusted joint jerk constraint, the nonlinear constraint is transformed into a linear constraint, which helps to improve the efficiency of obtaining the shortest motion time cost, thereby improving the robot's motion efficiency.
[0259] In some embodiments, each segment includes at least one path segment; the computer device determines the relationship between the path parameters and time for the corresponding segment, including: when the current segment is not the last segment, for the first path segment in the current segment, with the goal of minimizing the time of the joint position spline path, and with joint space constraints and Cartesian space constraints as constraints, determining the relationship between the path parameters and time of the first path segment, and using the relationship between the path parameters and time corresponding to the first path segment as the relationship between the path parameters and time of the current segment.
[0260] The computer system obtains the robot's joint position trajectory plan based on the relationship between the path parameters and time of the joint position spline path. Through optimization, the computer system obtains the relationship between the path parameters and time. Since the path parameters correspond to the values on the joint position spline path, the robot's joint position trajectory plan can be obtained based on this relationship. The computer system then controls the robot's movement according to the planned joint position trajectory.
[0261] The above-described robot motion trajectory determination method obtains given joint position waypoints, including the current joint position waypoint, the previous joint position waypoint, and the next joint position waypoint. A first transition waypoint is determined between the current and previous joint position waypoints, and a second transition waypoint is determined between the current and next joint position waypoints. Based on the given joint position waypoints, the first transition waypoint, and the second transition waypoint, a joint position spline path is created. At the first transition waypoint, the joint path between the previous and first transition waypoints is tangent to the joint position spline path; at the second transition waypoint, the joint path between the second and next joint position waypoints is tangent to the joint position spline path. With the goal of minimizing the time taken to traverse the joint position spline path, and constrained by joint space constraints and Cartesian space constraints, the relationship between the path parameters and time of the joint position spline path is obtained. Based on this relationship, the robot's joint position trajectory is planned. The aforementioned scheme creates joint position spline paths based on given joint position waypoints. Aiming to minimize the time required to traverse these paths, it comprehensively considers constraints in both joint space and Cartesian space to determine the robot's joint position trajectory planning. This ensures the robot traverses the joint position spline path in the shortest possible time, improving its operational efficiency. Simultaneously, the constraints on joint space acceleration levels reduce vibration during robot operation. By comprehensively considering constraints in both joint space and Cartesian space and solving the optimization model, the robot's cycle time is shortened, improving production efficiency. Different Cartesian space operating speeds and accelerations can be set for each joint position waypoint, allowing for seamless transitions between different speeds and accelerations. The sliding look-ahead window strategy enables online computation of robot trajectory planning, meeting the real-time requirements of industrial applications. The robot trajectory determination method proposed in this application can be used for generating trajectories with transition radii across multiple joint waypoints, and the transition radius is described in Cartesian space, making the trajectory transition definition more intuitive.
[0262] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0263] Based on the same inventive concept, this application also provides a robot motion trajectory determination device for implementing the robot motion trajectory determination method described above. The solution provided by this device is similar to the solution described in the above method; therefore, the specific limitations in one or more robot motion trajectory determination device embodiments provided below can be found in the limitations of the robot motion trajectory determination method described above, and will not be repeated here.
[0264] In one embodiment, such as Figure 11 As shown, a robot motion trajectory determination device 100 is provided, including: a given waypoint acquisition module 110, a transition waypoint determination module 120, a creation module 130, a relation acquisition module 140, and a trajectory acquisition module 150, wherein:
[0265] The given waypoint acquisition module 110 is used to acquire the given joint position waypoint, which includes the current joint position waypoint, the previous joint position waypoint, and the next joint position waypoint.
[0266] The transition waypoint determination module 120 is used to determine a first transition waypoint between the current joint position waypoint and the previous joint position waypoint, and to determine a second transition waypoint between the current joint position waypoint and the next joint position waypoint.
[0267] A creation module 130 is used to create a joint position spline path based on a given joint position waypoint, a first transition waypoint, and a second transition waypoint; wherein, at the first transition waypoint, the joint path between the previous joint position waypoint and the first transition waypoint is tangent to the joint position spline path; at the second transition waypoint, the joint path between the second transition waypoint and the next joint position waypoint is tangent to the joint position spline path.
[0268] The relation acquisition module 140 is used to obtain the relationship between the path parameters and time of the joint position spline path with the goal of minimizing the time taken to traverse the joint position spline path and with constraints of joint space and Cartesian space.
[0269] The trajectory acquisition module 150 is used to obtain the robot's joint position trajectory planning based on the relationship between the path parameters of the joint position spline path and time.
[0270] The aforementioned robot motion trajectory determination device acquires given joint position waypoints, including the current joint position waypoint, the previous joint position waypoint, and the next joint position waypoint. It then determines a first transition waypoint between the current and previous joint position waypoints and a second transition waypoint between the current and next joint position waypoints. Based on these waypoints, a joint position spline path is created. At the first transition waypoint, the joint path between the previous and first transition waypoints is tangent to the joint position spline path. At the second transition waypoint, the joint path between the second and next joint position waypoints is tangent to the joint position spline path. With the goal of minimizing the time taken to traverse the joint position spline path, and constrained by joint space and Cartesian space conditions, the relationship between the path parameters and time of the joint position spline path is obtained. Based on this relationship, the robot's joint position trajectory is planned. The above scheme creates a joint position spline path by giving joint position waypoints. With the goal of minimizing the time to traverse the joint position spline path, it comprehensively considers the constraints of joint space and Cartesian space to determine the robot's joint position trajectory planning. This ensures that the robot traverses the joint position spline path in the shortest possible time, thus improving the robot's operating efficiency.
[0271] In one embodiment, a joint position spline path is created based on a given joint position waypoint, a first transition waypoint, and a second transition waypoint. The creation module 130 is further configured to: determine a first tangential unit vector of the joint path at the first transition waypoint and a second tangential unit vector of the joint path at the second transition waypoint; determine a fitting curve between the first transition waypoint and the second transition waypoint based on the spline basis function, the first tangential unit vector, and the second tangential unit vector, and use the fitting curve as the joint position spline path, wherein the spline basis function is a cubic spline function.
[0272] In one embodiment, with the goal of minimizing the time taken to traverse the joint position spline path, and with constraints of joint space and Cartesian space, the relationship between the path parameters and time of the joint position spline path is obtained. The relationship acquisition module 140 is further used to: construct a time cost function corresponding to the joint position spline path based on the path parameters; and, with the goal of minimizing the time taken to traverse the joint position spline path, and with constraints of joint space and Cartesian space, solve the time cost function to obtain the relationship between the path parameters and time of the joint position spline path.
[0273] In one embodiment, the joint space constraints include joint velocity constraints, joint acceleration constraints, joint jerk constraints, joint torque constraints, joint velocity continuity constraints, and joint acceleration continuity constraints; the Cartesian space constraints include Cartesian linear velocity constraints, Cartesian linear acceleration constraints, Cartesian angular velocity constraints, and Cartesian angular acceleration constraints; with the objective of minimizing the time taken to traverse the joint position spline path, and using the joint space constraints and Cartesian space constraints as constraints, the time cost function is solved to obtain the relationship between the path parameters and time of the joint position spline path. Module 140 is also used for: minimizing the time taken to traverse the joint position spline path, and using joint velocity constraints, joint acceleration constraints, joint torque constraints, joint velocity continuity constraints, joint acceleration continuity constraints, and Cartesian space constraints as constraints, to solve the time cost function using linear programming, obtaining an initial linear programming solution; adjusting the joint jerk constraints based on the initial linear programming solution; and using the adjusted joint jerk constraints as constraints, to solve the time cost function using linear programming, obtaining a target linear programming solution.
[0274] Based on the solution results of the objective linear programming, the relationship between the path parameters and time of the spline path at the joint position is obtained.
[0275] In one embodiment, the joint position trajectory planning is calculated based on the expression for the joint position spline path; the expression for the joint position spline path is:
[0276] h 00 (u)=(6u 2 +3u+1)(1-u) 3 h 10 (u)=(3u 2 +u)(1-u) 3 h 01 (u)=u 3 (6u 2 -15u+10), h 11 (u)=u 3 (-3u 2 +7u-4), where u is the path parameter of the joint position spline path; the expression for the time cost function corresponding to the joint position spline path is: in, And the expression for q(u) using B-spline description is: Where N(u) is the cubic B-spline basis function, and a is the B-spline control point parameter to be solved;
[0277] Joint space constraints include: Joint velocity constraints: Joint acceleration constraints: Joint acceleration constraints: Joint moment constraints: Joint velocity continuity constraint: p′ i-1 (1)q i-1 (1)=p′ i (0)q i (0), Joint acceleration continuity constraint: Where p′, p″, p″′ are the derivatives of the joint position spline path with respect to the path parameter u, A(q) is the robot mass matrix, and B(q) and C(q) are the Coriolis force and centrifugal force matrices, respectively.
[0278] Cartesian space constraints include: Cartesian linear velocity constraints: v max ≥(J′) T S v (J′p′)q, Cartesian angular velocity constraint: ω max ≥(J′) T S ω (Jp′)q, Cartesian linear acceleration constraint condition: Cartesian angle acceleration constraint conditions:
[0279]
[0280] Among them, J l and J o These are 3*n linear Jacobians and 3*n rotating Jacobians, respectively.
[0281] Based on the solution results of the objective linear programming, the relationship between the path parameters and time of the joint position spline path is obtained, including: using the Taylor expansion of q(u) to obtain the path parameter u at the (k+1)th control cycle. k+1 Value: Among them, u k This represents the path parameters for the current control cycle, where the current control cycle refers to the control cycle corresponding to the sampling point in the current segment, u. k+1 The path parameters for the next control cycle are represented by q(u). Δt represents the duration of the current control cycle. k ) and q'(u k ) is the Taylor expansion expression of the time cost function.
[0282] In one embodiment, with the goal of minimizing the time taken to traverse the joint position spline path, and constrained by joint space constraints and Cartesian space constraints, the relationship between the path parameters and time of the joint position spline path is obtained. The relationship acquisition module 140 is further configured to: slide a window along the joint position spline path according to the sliding step size, and obtain the segments intercepted by the window on the joint position spline path after each window slide; for each segment, with the goal of minimizing the time taken to traverse the joint position spline path, and constrained by joint space constraints and Cartesian space constraints, determine the relationship between the path parameters and time of the corresponding segment; and determine the relationship between the path parameters and time of the joint position spline path based on the relationship between the path parameters and time of all segments.
[0283] In one embodiment, each segment includes at least one path segment; the relationship between the path parameters and time of the corresponding segment is determined, and the relationship acquisition module 140 is further configured to: when the current segment is not the last segment, for the first path segment in the current segment, with the goal of minimizing the time of the joint position spline path, and with joint space constraints and Cartesian space constraints as constraints, determine the relationship between the path parameters and time of the first path segment; and use the relationship between the path parameters and time corresponding to the first path segment as the relationship between the path parameters and time of the current segment.
[0284] In one embodiment, a first transition waypoint is determined between the current joint position waypoint and the previous joint position waypoint. The transition waypoint determination module 120 is further configured to: obtain a joint path composed of given joint position waypoints; determine an intermediate point on the joint path between the current joint position waypoint and the previous joint position waypoint; determine the distance in Cartesian space between the intermediate point and the position of the end effector corresponding to the current joint position waypoint; if the difference between the distance and a preset distance is greater than a preset threshold and the distance is greater than the preset distance, determine a first position adjustment degree, and move the intermediate point toward the current joint position waypoint according to the first position adjustment degree to obtain the intermediate point again, and return to the step of determining the distance in Cartesian space between the intermediate point and the position of the end effector corresponding to the current joint position waypoint and continue execution until the difference between the distance and the preset distance is not greater than the preset threshold, and take the finally obtained intermediate point as the first transition waypoint.
[0285] The modules in the aforementioned robot motion trajectory determination device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.
[0286] In one embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be as follows: Figure 12 As shown, the computer device includes a processor, memory, input / output interface, communication interface, display unit, and input device. The processor, memory, and input / output interface are connected via a system bus, and the communication interface, display unit, and input device are also connected to the system bus via the input / output interface. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The input / output interface is used for exchanging information between the processor and external devices. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, NFC (Near Field Communication), or other technologies. When the computer program is executed by the processor, it implements a method for determining the motion trajectory of a robot.
[0287] Those skilled in the art will understand that Figure 12 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0288] In one embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above-described method embodiments.
[0289] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps in the above method embodiments.
[0290] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.
[0291] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data shall comply with the relevant laws, regulations and standards of the relevant countries and regions.
[0292] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.
[0293] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0294] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A method for determining the motion trajectory of a robot, characterized in that, The method includes: Obtain the given joint position waypoint, which includes the current joint position waypoint, the previous joint position waypoint, and the next joint position waypoint; A first transition waypoint is determined between the current joint position waypoint and the previous joint position waypoint, and a second transition waypoint is determined between the current joint position waypoint and the next joint position waypoint; Based on the given joint position waypoints, the first transition waypoint, and the second transition waypoint, a joint position spline path is created; wherein, at the first transition waypoint, the joint path between the previous joint position waypoint and the first transition waypoint is tangent to the joint position spline path; at the second transition waypoint, the joint path between the second transition waypoint and the next joint position waypoint is tangent to the joint position spline path. With the goal of minimizing the time taken to traverse the joint position spline path, and using joint space constraints and Cartesian space constraints as constraints, the relationship between the path parameters and time of the joint position spline path is obtained. The joint space constraints reflect the relevant constraints in the robot's joint space on the planned trajectory, and the Cartesian space constraints reflect the relevant constraints in the robot's Cartesian space on the planned trajectory. Based on the relationship between the path parameters and time of the joint position spline path, the robot's joint position trajectory planning is obtained; The process of minimizing the time taken to traverse the joint position spline path, and using joint space constraints and Cartesian space constraints as constraints, to obtain the relationship between the path parameters and time of the joint position spline path includes: Based on the path parameters, a time cost function corresponding to the joint position spline path is constructed; the time cost function represents the time it takes for the robot to traverse the joint position spline path. With the goal of minimizing the time taken to traverse the joint position spline path, and constrained by joint space constraints and Cartesian space constraints, the time cost function is solved to obtain the relationship between the path parameters and time of the joint position spline path.
2. The method according to claim 1, characterized in that, The step of creating a joint position spline path based on the given joint position waypoints, the first transition waypoint, and the second transition waypoint includes: Determine the first tangential unit vector of the joint path at the first transition waypoint, and the second tangential unit vector of the joint path at the second transition waypoint; Based on the spline basis function, the first tangential unit vector, and the second tangential unit vector, a fitting curve between the first transition waypoint and the second transition waypoint is determined, and the fitting curve is used as the joint position spline path, wherein the spline basis function is a cubic spline function.
3. The method according to claim 1, characterized in that, The joint space constraints include joint velocity constraints, joint acceleration constraints, joint jerk constraints, joint torque constraints, joint velocity continuity constraints, and joint acceleration continuity constraints; the Cartesian space constraints include Cartesian linear velocity constraints, Cartesian linear acceleration constraints, Cartesian angular velocity constraints, and Cartesian angular acceleration constraints. The objective is to minimize the time taken to traverse the joint position spline path. This is achieved by solving the time cost function under joint space and Cartesian space constraints, yielding the relationship between the path parameters and time of the joint position spline path. This includes: With the goal of minimizing the time taken to traverse the spline path at the joint position, and using the constraints of joint velocity, joint acceleration, joint torque, joint velocity continuity, joint acceleration continuity, and Cartesian space as constraints, a linear programming solution is performed on the time cost function to obtain the initial linear programming solution result. Based on the initial linear programming solution results, the joint jerk constraints are adjusted. With the goal of minimizing the time taken to traverse the spline path at the joint position, and using the adjusted joint jerk constraints as constraints, a linear programming solution is performed on the time cost function to obtain the target linear programming solution result. Based on the solution results of the target linear programming, the relationship between the path parameters and time of the joint position spline path is obtained.
4. The method according to claim 3, characterized in that, The joint position trajectory planning is calculated based on the expression of the joint position spline path; the expression of the joint position spline path is: h 00 (u)=(6u 2 +3u+1)(1-u) 3 h 10 (u)=(3u 2 +u)(1-u) 3 h 01 (in)=in 3 (6u 2 -15in+10) h 11 (u)=u 3 (-3u 2 +7u-4) Where u is the path parameter of the joint position spline path; The expression for the time cost function corresponding to the joint position spline path is: in, And the expression for q(u) using B-spline description is: Where N(u) is the cubic B-spline basis function, and a is the B-spline control point parameter to be solved; The joint space constraints include: Joint velocity constraints: Joint acceleration constraints: Joint acceleration constraints: Joint moment constraints: Joint velocity continuity constraint: p′ i-1 (1)q i-1 (1)=p′ i (0)q i (0) Joint acceleration continuity constraint: Where p′, p″, p″′ are the derivatives of the joint position spline path with respect to the path parameter u, A(q) is the robot mass matrix, and B(q) and C(q) are the Coriolis force and centrifugal force matrices, respectively. The Cartesian space constraints include: Cartesian linear velocity constraint: v max ≥(J′) T S v (J′p′)q Cartesian angular velocity constraint: ω max ≥(J′) T S ω (Jp′)q Cartesian acceleration constraints: Cartesian angle acceleration constraint conditions: Among them, J l and J o These are 3*n linear Jacobians and 3*n rotational Jacobians, respectively; The step of obtaining the relationship between the path parameters and time of the joint position spline path based on the solution result of the target linear programming includes: The path parameter u at the (k+1)th control cycle is obtained by using the Taylor expansion of q(u). k+1 Value: Among them, u k This represents the path parameters for the current control cycle, where the current control cycle refers to the control cycle corresponding to the sampling point in the current segment, u. k+1 The path parameters for the next control cycle are represented, Δt represents the duration of the current control cycle, and q(u) represents the path parameters for the next control cycle. k ) and q'(u k ) is the Taylor expansion expression of the time cost function.
5. The method according to claim 1, characterized in that, The process of minimizing the time taken to traverse the joint position spline path, and using joint space constraints and Cartesian space constraints as constraints, to obtain the relationship between the path parameters and time of the joint position spline path includes: According to the sliding step size, the window is slid along the spline path at the joint position to obtain the segment intercepted by the window on the spline path at the joint position after each window slide; For each segment, with the goal of minimizing the time taken to traverse the spline path at the joint position, and with joint space constraints and Cartesian space constraints as constraints, the relationship between the path parameters and time for the corresponding segment is determined. Based on the relationship between the path parameters and time for all the segments, the relationship between the path parameters and time for the joint position spline path is determined.
6. The method according to claim 5, characterized in that, Each of the aforementioned segments includes at least one path segment; the formula for determining the relationship between the path parameters and time for the corresponding segment includes: If the current segment is not the last segment, for the first path segment in the current segment, with the goal of minimizing the time of the joint position spline path, and with joint space constraints and Cartesian space constraints as constraints, determine the relationship between the path parameters and time of the first path segment. The relationship between the path parameters and time corresponding to the first path segment is used as the relationship between the path parameters and time of the current segment.
7. The method according to claim 1, characterized in that, Determining a first transition waypoint between the current joint position waypoint and the previous joint position waypoint includes: Obtain the joint path consisting of the given joint position waypoints; On the joint path, determine the midpoint between the current joint position waypoint and the previous joint position waypoint; Determine the distance in Cartesian space between the positions of the end effectors corresponding to the intermediate point and the current joint position waypoint, respectively. If the difference between the distance and the preset distance is greater than a preset threshold and the distance is greater than the preset distance, a first position adjustment degree is determined, and the intermediate point is moved toward the current joint position waypoint according to the first position adjustment degree to obtain the intermediate point again. Then, the step of determining the distance between the position of the end effector corresponding to the intermediate point and the current joint position waypoint in Cartesian space is returned and execution continues until the difference between the distance and the preset distance is not greater than the preset threshold. The finally obtained intermediate point is used as the first transition waypoint.
8. A device for determining the motion trajectory of a robot, characterized in that, The device includes: A given waypoint acquisition module is used to acquire a given joint position waypoint, wherein the given joint position waypoint includes the current joint position waypoint, the previous joint position waypoint, and the next joint position waypoint; The transition waypoint determination module is used to determine a first transition waypoint between the current joint position waypoint and the previous joint position waypoint, and to determine a second transition waypoint between the current joint position waypoint and the next joint position waypoint; A creation module is used to create a joint position spline path based on the given joint position waypoints, the first transition waypoint, and the second transition waypoint; wherein, at the first transition waypoint, the joint path between the previous joint position waypoint and the first transition waypoint is tangent to the joint position spline path; at the second transition waypoint, the joint path between the second transition waypoint and the next joint position waypoint is tangent to the joint position spline path; The relation acquisition module is used to obtain the relationship between the path parameters and time of the joint position spline path with the goal of minimizing the time taken to traverse the joint position spline path, and with joint space constraints and Cartesian space constraints as constraints. The joint space constraints reflect the relevant constraints in the robot's joint space on the planned trajectory, and the Cartesian space constraints reflect the relevant constraints in the robot's Cartesian space on the planned trajectory. The trajectory acquisition module is used to obtain the robot's joint position trajectory planning based on the relationship between the path parameters and time of the joint position spline path. The relation acquisition module is also used to construct a time cost function corresponding to the joint position spline path based on the path parameters; the time cost function represents the time it takes for the robot to travel through the joint position spline path; with the goal of minimizing the time to travel through the joint position spline path, and with joint space constraints and Cartesian space constraints as constraints, the time cost function is solved to obtain the relation between the path parameters and time of the joint position spline path.
9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 7.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 7.
11. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Smoothing method for Cartesian space motion trail of six-axis series industrial robot
CN113442142A