Robot trajectory planning method, device, equipment and memory with controllable acceleration and deceleration

By calculating the orientation angle and speed limit of the robot's trajectory points, a smooth trajectory that meets the actual constraints is generated, which solves the problems of large trajectory planning calculation amount and poor real-time performance in the existing technology and realizes efficient robot motion control.

CN118809586BActive Publication Date: 2025-09-09NAT UNIV OF DEFENSE TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410812476.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-06-21
Publication Date
2025-09-09
Estimated Expiration
2044-06-21

AI Technical Summary

Technical Problem

Existing robot trajectory planning methods have difficulty meeting the physical limitations of speed and acceleration when dealing with non-straight or complex paths, resulting in poor dynamic performance, large computational complexity, poor real-time performance, and the inability to generate smooth motion control instructions.

Method used

By obtaining the original reference path of the robot, calculating the orientation angle of the path point, determining the speed, angular velocity and time interval of the trajectory point, and adjusting the speed and time interval of the trajectory point according to the preset deceleration limit, a smooth trajectory is generated using time interpolation.

Benefits of technology

The generated trajectory meets the actual constraints of the robot, has high trajectory efficiency, good smoothness of motion control instructions, small calculation and data volume, and good real-time performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118809586B_ABST
    Figure CN118809586B_ABST
Patent Text Reader

Abstract

The present application relates to a robot trajectory planning method, apparatus, device and memory with controllable acceleration and deceleration. The method comprises: obtaining the original reference path of the robot; calculating and updating the orientation angles of the other path points except the last path point based on the coordinates of the path points of the original reference path; determining each trajectory point based on the coordinates and orientation angles of all path points of the original reference path; adjusting the speed, angular velocity and time interval of each trajectory point according to a preset deceleration limit; accumulating the time intervals of all trajectory points to obtain the time of the trajectory point; and obtaining the smooth trajectory of the robot based on time interpolation. The trajectory planned by this method can meet a series of actual constraints of the robot and has high trajectory efficiency; the trajectory is smoother and can effectively ensure the smoothness of the motion control instructions output by the tracking control step; the method has a small amount of calculation and data volume, does not require high computing power and memory, and has good real-time performance.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of robot control technology, and in particular to a robot trajectory planning method, device, equipment and memory with controllable acceleration and deceleration. Background Art

[0002] Trajectory tracking, or path tracking, is a common function of robots. Its implementation involves three steps: path planning, trajectory planning, and tracking control. Path planning generates a spatially optimal discrete path from a starting point to a destination, typically represented by a series of connected spatial points. Trajectory planning, based on path planning, designs a continuous, executable trajectory for the robot. This trajectory includes a complete time history of position, velocity, acceleration, and possibly angular velocity and acceleration. Tracking control uses a series of control algorithms to steer the robot along a predetermined route based on the planning results and the robot's position and posture information.

[0003] Currently, the implementation methods of trajectory tracking or path tracking can be roughly divided into the following three types:

[0004] 1) No trajectory planning

[0005] This approach forgoes the trajectory planning step and directly uses the output of the path planning step as the input to the tracking control step. This approach cannot use a trajectory tracking algorithm in the tracking control step, relying solely on path tracking. Path tracking primarily focuses on how to guide the robot along a preplanned path. It does not strictly specify the arrival time for each position point and does not consider changes in velocity and acceleration. When faced with non-linear or complex paths, it may not provide continuous and smooth motion control commands, resulting in poor dynamic performance. Path tracking often fails to address system constraints, such as upper speed and acceleration limits. Ignoring these physical limitations in actual implementation may result in ineffective path following. This is especially true when encountering large curvature or complex paths, where path tracking is prone to steady-state errors, impacting tracking accuracy. Trajectory tracking considers overall task optimization, such as minimizing task completion time, while path tracking may only track the path geometry, resulting in inferior performance.

[0006] 2) Trajectory planning based on path information

[0007] This approach plans trajectories based on the path information output by the path planning step, typically using interpolation methods. Common interpolation methods include polynomial interpolation and spline interpolation. A disadvantage of interpolation methods is that they generally focus only on the geometric relationships between points, but fail to fully consider practical constraints, potentially generating physically infeasible trajectories. Furthermore, interpolation methods cannot optimize global cost functions, such as minimizing task completion time. Therefore, a combination of optimization methods and constraints is often required to generate trajectories that better meet practical requirements.

[0008] 3) Optimization-based trajectory planning

[0009] Optimization-based trajectory planning algorithms can complete the tasks of path planning and trajectory planning in one go, theoretically achieving good planning quality and a globally optimal solution. However, they also have some drawbacks. Many optimization algorithms, especially those for nonlinear and non-convex optimization problems, are computationally intensive and can result in long computation times. This can prevent them from meeting the requirements for fast response in applications with high real-time requirements. Optimization problems may require the storage of a large number of intermediate variables, which can significantly increase memory requirements. Different optimization algorithms may experience local optimality traps, meaning the algorithm may converge to a solution that is not globally optimal. Optimization algorithms often plan based on a certain model. If the actual system deviates from the model, the effectiveness and feasibility of the final trajectory may be affected. Summary of the Invention

[0010] Based on this, it is necessary to provide a robot trajectory planning method, device, equipment and memory with controllable acceleration and deceleration to address the above technical problems.

[0011] A robot trajectory planning method with controllable acceleration and deceleration, the method comprising:

[0012] Obtain the original reference path of the robot; the original reference path includes multiple path points; the parameters of the path points include: coordinates and orientation angles.

[0013] Based on the coordinates of the path points of the original reference path, the heading angles of the other path points except the last path point are calculated and updated.

[0014] Each trajectory point is determined based on the coordinates and heading angles of all path points on the original reference path; the parameters of the trajectory point include: the distance from one trajectory point to the next path point, the change in heading angle and the time interval, and the speed, angular velocity, maximum speed and maximum angular velocity of each trajectory point.

[0015] Adjust the speed, angular velocity, and time interval of each trajectory point according to the preset deceleration limit.

[0016] The time intervals of all trajectory points are accumulated to obtain the time of the trajectory point.

[0017] According to the time of the trajectory points, the trajectory is interpolated to obtain the smooth trajectory of the robot.

[0018] In one embodiment, calculating and updating the heading angles of the path points other than the last path point according to the coordinates of the path points of the original reference path includes:

[0019] Set the orientation angle of the last path point of the original reference path to remain unchanged.

[0020] Based on the coordinates of the path points of the original reference path, the heading angles of the path points other than the last path point in the original reference path are calculated, and the heading angles of the path points other than the last path point in the original reference path are updated to the calculated results; the heading angle update formula is:

[0021]

[0022] Among them, α i is the updated heading angle of the i-th path point, i is an integer greater than 1 and less than the number of path points, (x[i], y[i]) are the coordinates of the current path point i, and (x[i+1], y[i+1]) are the coordinates of the next path point i+1.

[0023] In one embodiment, determining each trajectory point based on the coordinates and orientation angles of all path points along the original reference path includes:

[0024] Set the coordinates and heading angle of the first track point to the coordinates and heading angle of the first path point.

[0025] Set the current path point to the first path point and the next path point to the kth path point; k is an integer and its initial value is 2.

[0026] The distance and heading angle change between the current track point and the next path point are calculated based on the coordinates and heading angle of the current track point and the coordinates and heading angle of the next path point.

[0027] Calculate the maximum speed and maximum angular velocity of the current track point based on the speed, angular velocity, and time interval of the previous track point.

[0028] The time interval of the current trajectory point is obtained according to the distance between the current trajectory point and the next path point and the maximum speed of the current trajectory point.

[0029] The velocity and angular velocity of the current track point are calculated based on the distance between the current track point and the next track point, the change in the heading angle, and the time interval between the current track point and the next track point.

[0030] According to the speed, angular velocity and time interval of the current trajectory point, the coordinates of the next trajectory point are determined using a uniform speed calculation model.

[0031] Update the current trajectory point to the next trajectory point, increase the k value by 1, and update the next path point to the kth path point. Continue iterating until all path points of the original reference path are traversed and all trajectory points are obtained.

[0032] In one embodiment, adjusting the speed, angular velocity, and time interval of each trajectory point according to a preset deceleration limit includes:

[0033] Start from the last track point and use the last track point as the current point.

[0034] According to the speed and angular velocity of the current point and the time interval of the previous trajectory point, as well as the lower limit of deceleration and the lower limit of angular deceleration, the maximum speed and maximum angular velocity of the previous trajectory point can be calculated using the uniform deceleration model.

[0035] If the speed of the previous track point is greater than the calculated maximum speed or the angular velocity is greater than the calculated maximum angular velocity, the speed, angular velocity and time interval of the previous track point are scaled according to a preset scaling factor.

[0036] Traverse all trajectory points and adjust the speed, angular velocity and time interval of each trajectory point.

[0037] In one embodiment, the preset zoom ratio is:

[0038] s = max(speed / maximum speed, angular velocity / maximum angular velocity, 1)

[0039] Where s is the preset zoom ratio.

[0040] In one embodiment, the time intervals of all trajectory points are accumulated to obtain the time of the trajectory points, including:

[0041] The time of each trajectory point is obtained by adding the initial time of the trajectory to the time interval of all trajectory points before the current trajectory point.

[0042] In one embodiment, interpolating the trajectory according to the time of the trajectory points to obtain a smooth trajectory of the robot includes:

[0043] Take the current time and find the two trajectory points r and r+1 that are closest to the current time.

[0044] The interpolation formula of coordinates and orientation angles is used to interpolate and obtain the smooth trajectory of the robot. The interpolation formula of coordinates and orientation angles is:

[0045] p=a*P[r]+b*P[r+1]

[0046] Where p is the interpolation result, P is the XY coordinate or orientation angle of the trajectory point, a = (tT[r]) / (T[r+1]-T[r]), b = 1-a, and T is the time attribute of the trajectory point.

[0047] A robot trajectory planning device with controllable acceleration and deceleration, the device comprising:

[0048] The original reference path acquisition module is used to obtain the original reference path of the robot; the original reference path includes multiple path points; the parameters of the path points include: coordinates and orientation angles.

[0049] The path point orientation angle calculation module is used to calculate and update the orientation angles of other path points except the last path point based on the coordinates of the path points of the original reference path.

[0050] The trajectory point determination module is used to determine each trajectory point based on the coordinates and heading angles of all path points on the original reference path. The trajectory point parameters include: the distance from one trajectory point to the next, the heading angle change and the time interval, and the speed, angular velocity, maximum speed and maximum angular velocity of each trajectory point.

[0051] The deceleration limit adjustment module is used to adjust the speed, angular velocity and time interval of each trajectory point according to the preset deceleration limit.

[0052] The time interpolation module is used to accumulate the time intervals of all trajectory points to obtain the time of the trajectory points; according to the time of the trajectory points, the trajectory is interpolated to obtain the smooth trajectory of the robot.

[0053] An electronic device includes a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of any of the above methods when executing the computer program.

[0054] A computer-readable memory stores a computer program, which implements the steps of any of the above methods when executed by a processor.

[0055] The above-mentioned robot trajectory planning method, device, equipment and memory with controllable acceleration and deceleration include: obtaining the original reference path of the robot; calculating and updating the orientation angles of the path points other than the last path point based on the coordinates of the path points of the original reference path; determining each trajectory point based on the coordinates and orientation angles of all path points of the original reference path; adjusting the speed, angular velocity and time interval of each trajectory point according to a preset deceleration limit; accumulating the time intervals of all trajectory points to obtain the time of the trajectory point; and obtaining the smooth trajectory of the robot based on time interpolation. The trajectory planned using this method can meet a series of practical constraints of the robot and has high trajectory efficiency; the reference trajectory obtained by time interpolation is smoother, which can effectively ensure the smoothness of the motion control instructions output by the tracking control step; this method has a small amount of calculation and data, does not require high computing power and memory, and has good real-time performance. BRIEF DESCRIPTION OF THE DRAWINGS

[0056] Figure 1 1 is a flow chart of a robot trajectory planning method with controllable acceleration and deceleration in one embodiment;

[0057] Figure 2 A process of a robot trajectory planning method with controllable acceleration and deceleration in another embodiment;

[0058] Figure 3 1. A structural block diagram of a robot trajectory planning device with controllable acceleration and deceleration according to an embodiment;

[0059] Figure 4 FIG. 1 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION

[0060] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.

[0061] The primary goal of path planning is to determine the optimal or efficient discrete path from a starting point to a destination. This path is typically represented as a series of connected spatial points. Path planning does not involve specific time-dependent continuous variables such as velocity and acceleration. Instead, it focuses on avoiding static or known obstacles and finding a safe and cost-effective route (e.g., shortest distance or shortest time) in two- or three-dimensional space. Path planning typically assumes a relatively static environment and does not consider the robot's inherent dynamic constraints, such as upper speed and acceleration limits.

[0062] The primary goal of trajectory planning is to design a practical, continuous trajectory for the robot based on path planning. This trajectory includes the complete time history of position, velocity, acceleration, and possibly angular velocity and acceleration. Trajectory planning adds time tags to each point on the path and ensures that the transitions between these points are continuous and physically feasible. This means that the robot can smoothly and accurately transition from one point to another within the constraints of its dynamics.

[0063] Simply put, path planning solves the problem of "where to go", while trajectory planning solves the problem of "how to get there in the best way". In practical applications, path planning is usually performed first, and then trajectory planning is performed based on the results of path planning.

[0064] In one embodiment, Figure 1 As shown, a robot trajectory planning method with controllable acceleration and deceleration is provided, which includes the following steps:

[0065] Step 100: Acquire the original reference path of the robot; the original reference path includes multiple path points; the parameters of the path points include: coordinates and orientation angles.

[0066] Specifically, a path is a geometric route from one location or point to another. It simply describes the spatial path an object takes from its starting point to its destination, without considering the specific details of its motion along that path, such as its velocity, acceleration, and other dynamic characteristics. In robotics, a path is a feasible route free of obstacles, typically a sequence of discrete points, but it does not consider the robot's kinematic constraints or dynamic performance.

[0067] The properties of a waypoint include:

[0068] Coordinates: including X-axis and Y-axis coordinate information;

[0069] Heading angle: The direction angle on the XY plane, ranging from (-π, π].

[0070] Step 102: Calculate and update the orientation angles of the path points other than the last path point based on the coordinates of the path points of the original reference path.

[0071] Specifically, the orientation angle in the original reference path may not be suitable for the differential chassis, so only the orientation angle of the last path point is retained, and the orientation angles of the remaining path points are recalculated based on the coordinates.

[0072] The robot involved in the method may be, but is not limited to, a differential robot or other movable robots.

[0073] Step 104: Determine each trajectory point based on the coordinates and heading angles of all path points on the original reference path; the parameters of the trajectory points include: the distance from one trajectory point to the next path point, the heading angle change and the time interval, the speed, angular velocity, maximum speed and maximum angular velocity of each trajectory point.

[0074] Specifically, after obtaining a complete reference path, you first need to initialize the parameters, including the upper speed limit, upper angular velocity limit, upper acceleration limit, lower deceleration limit, upper angular acceleration limit, lower angular deceleration limit, initial speed, initial angular velocity, terminal speed, terminal angular velocity, and initial time. The default value of the lower deceleration limit is the negative value of the upper acceleration limit, and the default value of the lower angular deceleration limit is the negative value of the upper angular acceleration limit. The initial speed and initial angular velocity refer to the speed and angular velocity before entering the trajectory, while the terminal speed and terminal angular velocity refer to the speed and angular velocity of the last trajectory point.

[0075] Step 106: Adjust the speed, angular velocity and time interval of each trajectory point according to the preset deceleration limit.

[0076] Specifically, the time intervals between trajectory points are adjusted to minimize the trajectory time while meeting speed and acceleration constraints.

[0077] Step 108: Accumulate the time intervals of all trajectory points to obtain the time of the trajectory points.

[0078] Step 110: Perform interpolation processing on the trajectory according to the time of the trajectory points to obtain a smooth trajectory of the robot.

[0079] Specifically, a trajectory encompasses not only the path but also the dynamic information of an object during its motion, such as velocity, acceleration, angular velocity, and angular acceleration, all of which change over time. In robotics, a trajectory is a time-dependent path that a robot follows during its execution. It ensures that the robot's motion respects its dynamic constraints (such as upper speed and acceleration limits) and guarantees smooth and stable motion.

[0080] Track points also have properties such as coordinates and orientation angles, in addition to the following properties:

[0081] Speed: The speed when passing the current track point, and also approximately represents the average speed from the current track point to the next track point.

[0082] Angular velocity: The angular velocity when passing through the current track point, and also approximately represents the average angular velocity from the current track point to the next track point.

[0083] Time interval: the time required from the current track point to the next track point.

[0084] Time: The specific time of the current track point, which needs to be obtained by accumulating the time intervals.

[0085] Interpolation is performed based on the time information of each trajectory point to obtain a smoother reference trajectory, which can effectively ensure the smoothness of the motion control instructions output by the tracking control step.

[0086] The trajectory planned by this method can meet a series of practical constraints of the robot, including upper speed limit, upper angular velocity limit, upper acceleration limit, lower deceleration limit, upper angular acceleration limit, and lower angular deceleration limit, and the speed and angular velocity at the end of the trajectory can be set to specific values.

[0087] In the above-mentioned robot trajectory planning method with controllable acceleration and deceleration, the method includes: obtaining the original reference path of the robot; calculating and updating the orientation angles of the path points other than the last path point based on the coordinates of the path points of the original reference path; determining each trajectory point based on the coordinates and orientation angles of all path points of the original reference path; adjusting the speed, angular velocity, and time interval of each trajectory point according to a preset deceleration limit; accumulating the time intervals of all trajectory points to obtain the time of the trajectory point; and obtaining the smooth trajectory of the robot based on time interpolation. The trajectory planned using this method can meet a series of practical constraints of the robot and has high trajectory efficiency; the reference trajectory obtained by time interpolation is smoother and can effectively ensure the smoothness of the motion control instructions output by the tracking control step; this method has a small amount of calculation and data, does not require high computing power and memory, and has good real-time performance.

[0088] In one embodiment, step 102 includes: setting the heading angle of the last path point of the original reference path to remain unchanged; calculating the heading angles of the path points other than the last path point in the original reference path based on the coordinates of the path points of the original reference path, and updating the heading angles of the path points other than the last path point in the original reference path to the calculated results; the heading angle update formula is:

[0089]

[0090] Among them, α i is the updated heading angle of the i-th path point, i is an integer greater than 1 and less than the number of path points, (x[i], y[i]) are the coordinates of the current path point i, and (x[i+1], y[i+1]) are the coordinates of the next path point i+1.

[0091] In one embodiment, step 104 includes: setting the coordinates and heading angle of the first trajectory point to the coordinates and heading angle of the first path point; setting the current trajectory point to the first trajectory point and the next path point to the kth path point; k is an integer, and the initial value of k is 2; calculating the distance and heading angle change between the current trajectory point and the next path point based on the coordinates and heading angle of the current trajectory point and the coordinates and heading angle of the next path point; calculating the maximum speed and maximum angular velocity of the current trajectory point based on the speed, angular velocity, and time interval of the previous trajectory point of the current trajectory point; obtaining the time interval of the current trajectory point based on the distance between the current trajectory point and the next path point and the maximum speed of the current trajectory point; calculating the speed and angular velocity of the current trajectory point based on the distance, heading angle change, and time interval between the current trajectory point and the next path point; determining the coordinates of the next trajectory point using a uniform speed calculation model based on the speed, angular velocity, and time interval of the current trajectory point; updating the current trajectory point to the next trajectory point, increasing the k value by 1, and updating the next path point to the kth path point, and continuing the iterative calculation until all path points of the original reference path are traversed to obtain all trajectory points.

[0092] In one embodiment, step 106 includes: starting from the last trajectory point, taking the last trajectory point as the current point; calculating the maximum speed and maximum angular velocity of the previous trajectory point using a uniform deceleration model based on the speed, angular velocity and time interval of the current point, as well as the deceleration lower limit and the angular deceleration lower limit; if the speed of the previous trajectory point is greater than the calculated maximum speed or the angular velocity is greater than the calculated maximum angular velocity, scaling the speed, angular velocity and time interval of the previous trajectory point according to a preset scaling factor; traversing all trajectory points to complete the adjustment of the speed, angular velocity and time interval of each trajectory point.

[0093] In one embodiment, the preset zoom ratio is:

[0094] s=max(speed / maximum speed, angular velocity / maximum angular velocity, 1) (2)

[0095] Where s is the preset zoom ratio.

[0096] Specifically, the deceleration process is similar to the acceleration process, which is to adjust the time interval to make the trajectory meet the constraints. The specific method is as follows: starting from the last trajectory point, take the previous trajectory point, and based on the speed, angular velocity, and time interval of the previous trajectory point at the current point, as well as the deceleration lower limit and the angular deceleration lower limit, use the uniform deceleration model to calculate the maximum speed and maximum angular velocity of the previous trajectory point. If the speed or angular velocity of the previous trajectory point is greater than the calculated maximum speed and maximum angular velocity, scaling is performed. Formula (2) is used to calculate the preset scaling factor s, and then the speed and angular velocity of the previous trajectory point are divided by s, and the time interval is multiplied by s.

[0097] In one embodiment, step 108 includes: adding the initial time of the trajectory to the time intervals of all trajectory points before the current trajectory point to obtain the time of each trajectory point.

[0098] In one embodiment, step 110 includes: taking the current time, finding the two trajectory points r and r+1 closest to the current time; interpolating using the coordinate and orientation angle interpolation formula to obtain a smooth trajectory of the robot; wherein the coordinate and orientation angle interpolation formula is:

[0099] p=a*P[r]+b*P[r+1]

[0100] Where p is the interpolation result, P is the XY coordinate or orientation angle of the trajectory point, a = (tT[r]) / (T[r+1]-T[r]), b = 1-a, T is the time attribute of the trajectory point, and t is the current time.

[0101] Specifically, obtaining a smooth trajectory based on time interpolation is the final step of the algorithm, but the interpolation process actually occurs in real time during the tracking control phase. The specific method is: take the current time t, find the two trajectory points r and r+1 whose temporal attributes are closest to the current time, and let a = (tT[r]) / (T[r+1]-T[r]) and b = 1-a, where T is the temporal attribute of the trajectory point. The interpolation formula for coordinates and heading angles is then p = a*P[i]+b*P[i+1], where P can be the XY coordinates and heading angle, and p is the interpolation result.

[0102] This technical solution is only applicable to differential robots or other mobile robots. For other types of robots, their physical constraints differ from those discussed in this application. For example, Ackerman robots do not have constraints on angular velocity or angular acceleration, but rather on trajectory curvature and the rate of change of curvature. For other types of robots, the algorithm can be applied to trajectory planning for these robots by simply modifying the constraint processing steps in the algorithm based on the actual constraints.

[0103] In one embodiment, Figure 2 As shown, a robot trajectory planning method with controllable acceleration and deceleration is provided, and the specific steps of the method include:

[0104] (1) Obtain the original reference path and then initialize the parameters.

[0105] (2) Calculate the heading angle based on the path points.

[0106] (3) Set the coordinates and heading angle of the first trajectory point to be equal to the coordinates and heading angle of the first path point.

[0107] Specifically, the coordinates and orientation angles of the trajectory points and the path points are not necessarily the same, but the coordinates and orientation angles of the first point need to be the same.

[0108] (4) In order to explain the trajectory point calculation process conveniently, let the first trajectory point be point A and the second trajectory point be point B.

[0109] (5) Calculate the distance and direction angle change between point A and point B.

[0110] Specifically, the distance between point A and point B can be calculated based on the coordinates of the two points on the plane, and the change in the heading angle is obtained by subtracting the heading angles of the two points.

[0111] (6) Calculate the maximum velocity and maximum angular velocity of point A.

[0112] Specifically, based on the speed, angular velocity, and time interval of the previous trajectory point at point A, the uniform acceleration model can be used to calculate the theoretically achievable maximum speed and angular velocity at point A if the trajectory accelerates at the upper and lower acceleration limits before point A. Furthermore, the speed and angular velocity must not exceed the upper and lower speed limits. The smaller of the theoretically achievable maximum speed and the set upper speed limit is the maximum speed at point A, and the same applies to the maximum angular velocity.

[0113] (7) Calculate the shortest time from point A to point B.

[0114] Specifically, the maximum speed and maximum angular velocity of point A are approximately used to represent the maximum speed and maximum angular velocity from point A to point B, the distance between point A and point B is divided by the maximum speed to obtain the time interval dT1, and the change in the heading angle from point A to point B is divided by the maximum angular velocity to obtain the time interval dT2. The larger of dT1 and dT2 is the actual shortest time from point A to point B. Therefore, the larger of dT1 and dT2 is taken as the shortest time dT from point A to point B, and the time interval attribute of point A is set to be equal to dT.

[0115] (8) Calculate the velocity and angular velocity of point A.

[0116] Specifically, the distance between point A and point B divided by dT gives the velocity of point A, and the angular change from point A to point B divided by dT gives the angular velocity of point A.

[0117] (9) Calculate the coordinates of the next trajectory point and set it as the new point A

[0118] According to the speed, angular velocity and time interval of point A, the coordinates of the next trajectory point are calculated using the uniform motion model and set as the new point A.

[0119] (10) Determine whether all reference path points have been taken. If there is no next path point, continue with the subsequent steps. Otherwise, set the next path point as the new point B and return to step 5.

[0120] (11) Reverse calculation, adjust the time interval of each trajectory point according to the deceleration limit.

[0121] (12) Accumulate the time intervals of the trajectory points to obtain the time of the trajectory points.

[0122] (13) According to time interpolation, a smooth trajectory is obtained.

[0123] It should be understood that although Figure 1 The steps in the flowchart are shown in sequence as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. In addition, Figure 1 At least part of the steps may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least part of the sub-steps or stages of other steps.

[0124] In one embodiment, Figure 3 As shown, a robot trajectory planning device with controllable acceleration and deceleration is provided, comprising: an original reference path acquisition module, a path point orientation angle calculation module, a trajectory point determination module, a deceleration limit adjustment module, and a time interpolation module, wherein:

[0125] The original reference path acquisition module is used to obtain the original reference path of the robot; the original reference path includes multiple path points; the parameters of the path points include: coordinates and orientation angles;

[0126] A path point heading angle calculation module is used to calculate and update the heading angles of other path points except the last path point based on the coordinates of the path points of the original reference path;

[0127] A trajectory point determination module is used to determine each trajectory point based on the coordinates and heading angles of all path points on the original reference path; the parameters of the trajectory points include: the distance from one trajectory point to the next, the heading angle change and the time interval, and the speed, angular velocity, maximum speed and maximum angular velocity of each trajectory point;

[0128] A deceleration limit adjustment module is used to adjust the speed, angular velocity and time interval of each trajectory point according to the preset deceleration limit;

[0129] The time interpolation module is used to accumulate the time intervals of all trajectory points to obtain the time of the trajectory points; according to the time of the trajectory points, the trajectory is interpolated to obtain the smooth trajectory of the robot.

[0130] In one embodiment, the path point heading angle calculation module is further used to set the heading angle of the last path point of the original reference path to remain unchanged; based on the coordinates of the path points of the original reference path, the heading angles of the path points other than the last path point in the original reference path are calculated, and the heading angles of the path points other than the last path point in the original reference path are updated to the obtained calculation results; the heading angle update formula is shown in formula (1).

[0131] In one embodiment, the trajectory point determination module is further configured to set the coordinates and orientation angle of the first trajectory point to the coordinates and orientation angle of the first path point; set the current trajectory point to the first trajectory point and the next path point to the kth path point; k is an integer, and the initial value of k is 2; calculate the distance and orientation angle change between the current trajectory point and the next path point based on the coordinates and orientation angle of the current trajectory point and the coordinates and orientation angle of the next path point; calculate the maximum speed and maximum angular velocity of the current trajectory point based on the speed, angular velocity, and time interval of the previous trajectory point of the current trajectory point; obtain the time interval of the current trajectory point based on the distance between the current trajectory point and the next path point and the maximum speed of the current trajectory point; calculate the speed and angular velocity of the current trajectory point based on the distance, orientation angle change, and time interval between the current trajectory point and the next path point; determine the coordinates of the next trajectory point using a uniform speed calculation model based on the speed, angular velocity, and time interval of the current trajectory point; update the current trajectory point to the next trajectory point, increase the k value by 1, and update the next path point to the kth path point, and continue the iterative calculation until all path points of the original reference path are traversed to obtain all trajectory points.

[0132] In one embodiment, the deceleration limit adjustment module is further used to start from the last trajectory point and take the last trajectory point as the current point; based on the speed, angular velocity and time interval of the previous trajectory point of the current point, as well as the deceleration lower limit and the angular deceleration lower limit, the maximum speed and maximum angular velocity of the previous trajectory point can be calculated using a uniform deceleration model; if the speed of the previous trajectory point is greater than the calculated maximum speed or the angular velocity is greater than the calculated maximum angular velocity, the speed, angular velocity and time interval of the previous trajectory point are scaled according to a preset scaling factor; all trajectory points are traversed to complete the adjustment of the speed, angular velocity and time interval of each trajectory point.

[0133] In one embodiment, the preset scaling factor in the deceleration limit adjustment module is:

[0134] s = max(speed / maximum speed, angular velocity / maximum angular velocity, 1)

[0135] Where s is the preset zoom ratio.

[0136] In one embodiment, the time interpolation module is further configured to add the initial time of the trajectory to the time intervals of all trajectory points before the current trajectory point to obtain the time of each trajectory point.

[0137] In one embodiment, the time interpolation module is further configured to take the current time and find the two trajectory points r and r+1 closest to the current time before and after the trajectory point; interpolation is performed using the interpolation formula of coordinates and orientation angles to obtain a smooth trajectory of the robot; wherein the interpolation formula of coordinates and orientation angles is:

[0138] p=a*P[r]+b*P[r+1]

[0139] Where p is the interpolation result, P is the XY coordinate or orientation angle of the trajectory point, a = (tT[r]) / (T[r+1]-T[r]), b = 1-a, and T is the time attribute of the trajectory point.

[0140] Regarding the specific definition of the robot trajectory planning device with controllable acceleration and deceleration, please refer to the definition of the robot trajectory planning method with controllable acceleration and deceleration above, which will not be repeated here. The various modules in the above-mentioned robot trajectory planning device with controllable acceleration and deceleration can be implemented in whole or in part by software, hardware, or a combination thereof. The above-mentioned modules can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.

[0141] In one embodiment, an electronic device is provided. The electronic device may be a terminal, and its internal structure diagram may be as follows: Figure 4As shown. The electronic device includes a processor, a memory, a network interface, a display screen and an input device connected via a system bus. The processor of the electronic device is used to provide computing and control capabilities. The memory of the electronic device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The network interface of the electronic device is used to communicate with an external terminal via a network connection. When the computer program is executed by the processor, a robot trajectory planning method with controllable acceleration and deceleration is implemented. The display screen of the electronic device can be a liquid crystal display screen or an electronic ink display screen, and the input device of the electronic device can be a touch layer covering the display screen, or a button, trackball or touchpad provided on the computer device housing, or an external keyboard, touchpad or mouse, etc.

[0142] Those skilled in the art will understand that Figure 4 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.

[0143] In one embodiment, an electronic device is provided, including a memory and a processor. The memory stores a computer program, and the processor implements the steps in the above method embodiment when executing the computer program.

[0144] In one embodiment, a computer readable memory is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above method embodiment are implemented.

[0145] Those skilled in the art will appreciate that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable memory. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).

[0146] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, 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.

[0147] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present invention. It should be noted that a person skilled in the art may make various modifications and improvements without departing from the spirit of the present application, and these modifications and improvements fall within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be determined by the appended claims.

Claims

1. A robot trajectory planning method with controllable acceleration and deceleration, characterized in that: The method comprises: Acquire an original reference path of the robot; the original reference path includes a plurality of path points; the parameters of the path points include: coordinates and orientation angles; Calculate and update the orientation angles of other path points except the last path point according to the coordinates of the path points of the original reference path; Determine each trajectory point based on the coordinates and heading angles of all path points on the original reference path; the parameters of the trajectory points include: the distance, heading angle change, and time interval between one trajectory point and the next, and the speed, angular velocity, maximum speed, and maximum angular velocity of each trajectory point; Adjust the speed, angular velocity and time interval of each trajectory point according to the preset deceleration limit; Accumulate the time intervals of all trajectory points to obtain the time of the trajectory points; According to the time of the trajectory points, the trajectory is interpolated to obtain the smooth trajectory of the robot.

2. The method according to claim 1, characterized in that Calculating and updating the heading angles of other path points except the last path point according to the coordinates of the path points of the original reference path, including: Set the orientation angle of the last path point of the original reference path to remain unchanged; Based on the coordinates of the path points of the original reference path, the heading angles of the path points other than the last path point in the original reference path are calculated, and the heading angles of the path points other than the last path point in the original reference path are updated to the calculated results; the heading angle update formula is: Among them, α i is the updated heading angle of the i-th path point, i is an integer greater than 1 and less than the number of path points, (x[i], y[i]) are the coordinates of the current path point i, and (x[i+1], y[i+1]) are the coordinates of the next path point i+1.

3. The method according to claim 1, characterized in that Determine each trajectory point based on the coordinates and orientation angles of all path points on the original reference path, including: Set the coordinates and heading angle of the first track point to the coordinates and heading angle of the first path point; Set the current path point as the first path point, and the next path point as the kth path point; k is an integer, and the initial value of k is 2; Calculate the distance and heading angle change between the current track point and the next path point based on the coordinates and heading angle of the current track point and the coordinates and heading angle of the next path point; Calculate the maximum speed and maximum angular velocity of the current track point based on the speed, angular velocity and time interval of the previous track point of the current track point; According to the distance between the current track point and the next path point and the maximum speed of the current track point, the time interval of the current track point is obtained; Calculate the velocity and angular velocity of the current track point based on the distance between the current track point and the next track point, the change in the heading angle, and the time interval between the current track point; According to the speed, angular velocity and time interval of the current trajectory point, the coordinates of the next trajectory point are determined using a uniform speed calculation model; The current trajectory point is updated to the next trajectory point, the k value is increased by 1, and the next path point is updated to the kth path point. The iterative calculation is continued until all path points of the original reference path are traversed to obtain all trajectory points.

4. The method according to claim 1, wherein Adjust the speed, angular velocity, and time interval of each trajectory point according to the preset deceleration limit, including: Start from the last track point and take the last track point as the current point; According to the speed and angular velocity of the current point and the time interval of the previous trajectory point, as well as the lower limit of deceleration and the lower limit of angular deceleration, the maximum speed and maximum angular velocity of the previous trajectory point can be calculated using the uniform deceleration model; If the speed of the previous track point is greater than the calculated maximum speed or the angular velocity is greater than the calculated maximum angular velocity, the speed, angular velocity and time interval of the previous track point are scaled according to a preset scaling factor; Traverse all trajectory points and adjust the speed, angular velocity and time interval of each trajectory point.

5. The method according to claim 4, characterized in that The preset zoom ratio is: s = max(speed / maximum speed, angular velocity / maximum angular velocity, 1) Where s is the preset zoom ratio.

6. The method according to claim 1, characterized in that The time intervals of all trajectory points are accumulated to obtain the time of the trajectory point, including: The time of each trajectory point is obtained by adding the initial time of the trajectory to the time interval of all trajectory points before the current trajectory point.

7. The method according to claim 1, characterized in that According to the time of the trajectory points, the trajectory is interpolated to obtain the smooth trajectory of the robot, including: Take the current time and find the two trajectory points r and r+1 closest to the current time. The interpolation formula of coordinates and orientation angles is used to interpolate and obtain the smooth trajectory of the robot. The interpolation formula of coordinates and orientation angles is: p=a*P[r]+b*P[r+1] Where p is the interpolation result, P is the XY coordinate or orientation angle of the trajectory point, a = (tT[r]) / (T[r+1]-T[r]), b = 1-a, and T is the time attribute of the trajectory point.

8. A robot trajectory planning device with controllable acceleration and deceleration, characterized in that: The device comprises: The original reference path acquisition module is used to obtain the original reference path of the robot; the original reference path includes a plurality of path points; the parameters of the path points include: coordinates and orientation angles; A path point orientation angle calculation module, configured to calculate and update the orientation angles of other path points except the last path point based on the coordinates of the path points of the original reference path; a trajectory point determination module, configured to determine each trajectory point based on the coordinates and heading angles of all path points on the original reference path; the trajectory point parameters including: the distance, heading angle change, and time interval between one trajectory point and the next, and the speed, angular velocity, maximum speed, and maximum angular velocity of each trajectory point; A deceleration limit adjustment module is used to adjust the speed, angular velocity and time interval of each trajectory point according to the preset deceleration limit; The time interpolation module is used to accumulate the time intervals of all trajectory points to obtain the time of the trajectory points; and interpolate the trajectory according to the time of the trajectory points to obtain a smooth trajectory of the robot.

9. An electronic device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the method according to any one of claims 1 to 7 is implemented.

10. A computer readable memory having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Path planning method, device and equipment and readable storage medium

    CN114777804A

  • Local path planning method, device and equipment for multi-trailer vehicle and medium

    CN118111461A