A robot trajectory planning method, device and electronic equipment

By screening and processing key points in the robot trajectory, reducing the calculation amount and acceleration fluctuations, the problems of large calculation amount and large trajectory vibration in the prior art are solved, and the smoothness and fit of the trajectory are guaranteed.

CN118819072BActive Publication Date: 2025-02-18SUZHOU ELITE ROBOTICS CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411311405.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-20
Publication Date
2025-02-18
Estimated Expiration
2044-09-20

AI Technical Summary

Technical Problem

The existing robot trajectory planning methods require a large number of discrete points, resulting in large calculations and frequent fluctuations in acceleration, affecting the stability of the robot and the efficiency of the control system.

Method used

By obtaining the original discrete points corresponding to the robot, filtering out at least two target inflection points, determining and processing abnormal data points, obtaining target key points, and then trajectory planning and interpolation are carried out to reduce the calculation amount and high-frequency noise of acceleration.

Benefits of technology

It realizes the large number of discrete points, retaining key points, reducing the calculation amount and acceleration of high-frequency noise, while ensuring the smoothness and fit of the trajectory.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118819072B_ABST
    Figure CN118819072B_ABST
Patent Text Reader

Abstract

The present invention discloses a robot trajectory planning method, device and electronic equipment, which relates to the field of robot technology. The method includes: obtaining the original discrete points corresponding to the robot, wherein the original discrete points include time and position; based on the time and position of the original discrete points, screening out at least two target inflection points in the original discrete points; determining the abnormal data points in the original discrete points, and processing the abnormal data points based on the target inflection points to obtain the target key points of the robot; performing trajectory planning and interpolation of the robot according to the trajectory planning parameters and the target key points to obtain the target trajectory of the robot. The technical solution of the present invention greatly eliminates the number of discrete points, retains some key points, reduces the amount of calculation and the high-frequency noise of acceleration, and at the same time, because the key points are preserved, the degree of fit between the planned trajectory and the original trajectory can be guaranteed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of robot trajectory planning, and in particular to a robot trajectory planning method, device and electronic equipment. Background Art

[0002] With the rapid development of robotics technology, robots are increasingly used in various industrial fields. In the motion planning and trajectory control of robots, the screening and planning of discrete points is a key link. Traditional robot trajectory planning methods require a large number of discrete points and cannot guarantee the smoothness of the trajectory.

[0003] However, there are some problems with the existing methods: first, a large number of discrete points means a huge amount of calculation, which may lead to a decrease in the robot's response speed; second, when sampling data at discrete points, data fluctuations lead to frequent fluctuations in acceleration, which affects the stability of the robot; finally, processing a large number of discrete points also puts higher requirements on the robot's control system. Summary of the invention

[0004] The present invention provides a robot trajectory planning method, device and electronic equipment, so as to achieve a significant reduction in the number of discrete points, retain some key points, reduce the amount of calculation and high-frequency noise of acceleration, and at the same time, because the key points are preserved, the fit between the planned trajectory and the original trajectory can be guaranteed.

[0005] According to one aspect of the present invention, a robot trajectory planning method is provided, comprising: obtaining original discrete points corresponding to the robot, wherein the original discrete points include time and position; based on the time and position of the original discrete points, screening out at least two target inflection points in the original discrete points; determining abnormal data points in the original discrete points, and processing the abnormal data points based on the target inflection points to obtain target key points of the robot; performing trajectory planning and interpolation of the robot according to trajectory planning parameters and the target key points to obtain the target trajectory of the robot.

[0006] According to another aspect of the present invention, a robot trajectory planning device is provided, comprising: a discrete point acquisition module, used to acquire original discrete points corresponding to the robot, wherein the original discrete points include time and position; a key point screening module, used to screen out at least two target inflection points from the original discrete points based on the time and position of the original discrete points; a trajectory point filling module, used to determine abnormal data points from the original discrete points, and process the abnormal data points based on the target inflection points to obtain target key points of the robot; a target trajectory determination module, used to perform trajectory planning and interpolation of the robot according to trajectory planning parameters and the target key points to obtain the target trajectory of the robot.

[0007] According to another aspect of the present invention, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the robot trajectory planning method described in any embodiment of the present invention.

[0008] According to another aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the robot trajectory planning method described in any embodiment of the present invention when executed.

[0009] The technical solution of the embodiment of the present invention first obtains the original discrete points corresponding to the robot, wherein the original discrete points include time and position; then, based on the time and position of the original discrete points, at least two target inflection points are screened out from the original discrete points; the abnormal data points in the original discrete points are determined, and the abnormal data points are processed based on the target inflection points to obtain the target key points of the robot; and then, according to the trajectory planning parameters and the target key points, the robot's trajectory is planned and interpolated to obtain the robot's target trajectory. The problem in the prior art that the robot moves and plans according to the original discrete points, which results in a large amount of data calculation and large trajectory vibration, is solved, and the number of discrete points is greatly eliminated, some key points are retained, and the amount of calculation and high-frequency noise of acceleration are reduced. At the same time, because the key points are preserved, the degree of fit between the planned trajectory and the original trajectory can be guaranteed.

[0010] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0012] Figure 1 This is a flow chart of a robot trajectory planning method provided in Example 1 of the present invention.

[0013] Figure 2 A schematic diagram of the target inflection point for screening provided in Example 1 of the present invention.

[0014] Figure 3 A schematic diagram of target key points provided in Example 1 of the present invention.

[0015] Figure 4 This is a flow chart of a robot trajectory planning method provided in Embodiment 2 of the present invention.

[0016] Figure 5 A schematic diagram of a cubic spline provided in Embodiment 2 of the present invention.

[0017] Figure 6 This is a rendering of the real-time trajectory interpolation of a joint provided in the second embodiment of the present invention.

[0018] Figure 7 The velocity and acceleration diagram corresponding to the real-time interpolation provided in the second embodiment of the present invention.

[0019] Figure 8 A flowchart of another robot trajectory planning method provided in Embodiment 2 of the present invention.

[0020] Fig. 9 This is a schematic structural diagram of a trajectory planning device for a robot provided in Embodiment 3 of the present invention.

[0021] Fig.10 This is a schematic diagram of the structure of an electronic device provided in Embodiment 4 of the present invention. DETAILED DESCRIPTION

[0022] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.

[0023] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0024] Embodiment 1

[0025] Figure 1 A flowchart of a robot trajectory planning method provided in Example 1 of the present invention. This embodiment can be applied to screening and processing discrete point data to be moved by the robot to reduce the amount of calculation and high-frequency noise of trajectory acceleration. The method can be executed by the robot's trajectory planning device, which can be implemented in the form of hardware and / or software, and the device can be configured in the robot.

[0026] like Figure 1 As shown, the method includes: S110, obtaining original discrete points corresponding to the robot.

[0027] The original discrete points can be understood as the discrete points where the robot is going to move, and the original discrete points include time and position.

[0028] Specifically, the original discrete points corresponding to the robot can be obtained through the discrete point acquisition module in the trajectory planning device of the robot in this embodiment. The original discrete points can be data points input by the user into the discrete point acquisition module. Each discrete point includes time and position. For example, the time of discrete point 1 is the 2nd millisecond, and the position can be the Cartesian space posture or the angle of the joint space. The Cartesian space posture generally includes position and posture, expressed by six-dimensional coordinates (x, y, z, rx, ry, rz), and the angle of the joint space is the angle of each joint space (j0, j1, j2...jn).

[0029] S120: Filter out at least two target inflection points from the original discrete points based on the time and position of the original discrete points.

[0030] The target inflection point may be a relatively critical point among the original discrete points.

[0031] In an embodiment of the present invention, the target inflection point includes a position inflection point and a speed inflection point, and the method of screening out at least two target inflection points from the original discrete points based on the time and position of the original discrete points includes: determining the position inflection point from the original discrete points based on the position of the original discrete points; determining the speed of the original discrete points based on the time and position of the original discrete points, and determining the speed inflection point from the original discrete points based on the speed.

[0032] The position inflection point refers to the discrete point on the robot's motion trajectory where the velocity is zero.

[0033] Specifically, the speed of the original discrete point can be determined, and the point where the speed is zero can be used as the position inflection point.

[0034] The velocity inflection point refers to the point where the robot acceleration is 0.

[0035] Specifically, the acceleration of each original discrete point can be calculated based on the time and position data of the original discrete point. After the acceleration data of each original discrete point is determined, the point where the acceleration is zero can be used as the velocity inflection point.

[0036] like Figure 2 As shown, it is a schematic diagram of the target inflection point of screening provided in Example 1 of the present invention, "◇original point" represents the original discrete point, and "○key point" represents the inflection point of position and speed, that is, the target inflection point.

[0037] S130, determining abnormal data points in the original discrete points, and processing the abnormal data points based on the target inflection points to obtain target key points of the robot.

[0038] Among them, the abnormal data points can be discrete points that may cause fluctuations in the robot's acceleration during the robot's motion; the target key points can be key points representing the robot's motion trajectory.

[0039] Specifically, for the abnormal data points in the original discrete points, if they are not processed, the acceleration and speed fluctuations will occur when the robot moves to the abnormal data points, which will lead to vibration of the robot's motion trajectory. Therefore, the abnormal data points can be processed based on the target inflection points, and some key points that can represent the motion trajectory can be obtained after processing.

[0040] For example, if the abnormal data point is located between two target inflection points, the information of the two target inflection points can be used to estimate or interpolate the value of the abnormal point. For example, the correction point can be replanned based on the position, speed, and acceleration at the inflection point of the abnormal point interval.

[0041] This not only eliminates some abnormal data points and obtains a relatively small number of target key points, reducing the amount of calculation and high-frequency noise of acceleration, but also ensures the fit between the planned trajectory and the original trajectory for some intervals without abnormal points because of the preservation of key points.

[0042] In an optional embodiment, determining the abnormal data points in the original discrete points includes: judging whether the original discrete points between two adjacent target inflection points satisfy preset constraints, wherein the preset constraints include velocity constraints, acceleration constraints, and jerk constraints; if the preset constraints are not satisfied, determining the original discrete points between the two target inflection points that do not satisfy the preset constraints as the abnormal data points.

[0043] Specifically, if there is a partial missing of discrete points between two adjacent target inflection points, this can be regarded as an anomaly. For example, there should be multiple discrete points between two adjacent inflection points, but in fact some are missing. Then the remaining original discrete points between the two target inflection points can be regarded as abnormal data points and processed later; the partial missing of discrete points can be specifically manifested as abnormal mutations in the speed and acceleration of the original discrete points. Specifically, it can be determined by the preset constraints whether there are original discrete points that do not meet the preset constraints. If not, it means that there is a partial missing of discrete points between the two target inflection points, where the preset constraints include speed constraints, acceleration constraints and jerk constraints.

[0044] In another optional implementation, the determining of the abnormal data point in the original discrete points includes: if the original discrete point is an end point or a starting point, and the velocity and / or acceleration of the original discrete point is not zero, determining the original discrete point as the abnormal data point.

[0045] Specifically, in the robot motion trajectory, it is usually expected that the starting point and the end point of the robot are stationary, that is, the velocity and acceleration should be 0. For some original discrete points located at the starting point or the end point of the motion trajectory, if the velocity and acceleration are not zero, these original discrete points can be determined as abnormal data points.

[0046] In an embodiment of the present invention, processing the abnormal data point based on the target inflection point to obtain the target key point of the robot may include: determining two adjacent target inflection points corresponding to the abnormal data point, and determining a discrete point to be corrected between the two adjacent target inflection points; correcting the time of the discrete point to be corrected to obtain the target key point.

[0047] The discrete point to be corrected may be an abnormal data point between two target inflection points.

[0048] Specifically, first determine the two target inflection points adjacent to the abnormal data point, and after determining the adjacent target inflection points, identify all abnormal data points between the two target inflection points as discrete points to be corrected. Then, adjust the timestamps of the discrete points to be corrected to ensure the continuity and accuracy of the robot's motion trajectory.

[0049] Exemplarily, based on the position and time information of the adjacent target turning points, the theoretical time of the discrete points to be corrected is recalculated by methods such as trapezoidal acceleration and deceleration, doubles (Double S curve), polynomial, Bezier curve, etc. The time points can also be reallocated based on the expected movement speed or acceleration of the robot. Then, the abnormal data points with corrected timestamps are obtained, and the target key points are determined from the corrected data points.

[0050] The beneficial effect of this is that it ensures that the corrected data can truly reflect the robot's motion state while maintaining the continuity and smoothness of the trajectory. By processing abnormal data points in this way, the reliability and accuracy of the robot's motion data can be improved, providing a data basis for further optimization and control of the robot.

[0051] In the embodiment of the present invention, if there is no abnormal data point between two adjacent target inflection points, the original discrete points between the two target inflection points are screened to obtain the target key points.

[0052] Specifically, if there are no abnormal data points between two adjacent target inflection points, it means that this part of the trajectory data is relatively reliable and has no significant errors or omissions. In this case, the original discrete points between the two target inflection points are screened, and some key discrete points are used as target key points. For example, according to the time interval corresponding to the two target inflection points, a discrete point is selected as the target key point at every set time interval. It should be noted that the above content is an exemplary description of the screening process, and no specific limitation is placed on the screening method.

[0053] In this way, even if there are no abnormal data points between two target inflection points, the target key points that are most valuable for analyzing the robot's motion trajectory can be effectively extracted for further trajectory optimization.

[0054] For example, Figure 3 This is a schematic diagram of target key points provided in the first embodiment of the present invention, where “◇original points” represent original discrete points and “○ points after screening” represent target key points. Figure 3 As shown in the figure, after determining the inflection point, fill some original points for the part without abnormal data between the two inflection points, and appropriately modify the timestamps for the part with abnormal data or the terminal speed is not 0 to make the points more reasonable. Finally, the timestamps and positions of these filtered points can be saved in the two sequences t and q respectively, and the total number is n.

[0055] S140 . Perform trajectory planning and interpolation of the robot according to trajectory planning parameters and the target key points to obtain the target trajectory of the robot.

[0056] The trajectory planning parameters may be some parameters set by the user, including but not limited to accuracy parameters and speed ratio parameters.

[0057] Specifically, the robot's trajectory can be planned and interpolated according to the trajectory planning parameters through some trajectory planning algorithms. Specifically, real-time interpolation can be performed to obtain the robot's target trajectory, that is, the robot moves along the target trajectory, which can reduce acceleration fluctuations. At the same time, because the key points are preserved, the fit between the planned trajectory and the original trajectory can be guaranteed.

[0058] The technical solution of the embodiment of the present invention first obtains the original discrete points corresponding to the robot, wherein the original discrete points include time and position; then, based on the time and position of the original discrete points, at least two target inflection points are screened out from the original discrete points; the abnormal data points in the original discrete points are determined, and the abnormal data points are processed based on the target inflection points to obtain the target key points of the robot; and then, according to the trajectory planning parameters and the target key points, the robot's trajectory is planned and interpolated to obtain the robot's target trajectory. The problem in the prior art that the robot moves and plans according to the original discrete points, which results in a large amount of data calculation and large trajectory vibration, is solved, and the number of discrete points is greatly eliminated, some key points are retained, and the amount of calculation and high-frequency acceleration noise are reduced. At the same time, because the key points are preserved, the degree of fit between the planned trajectory and the original trajectory can be guaranteed.

[0059] Embodiment 2

[0060] Figure 4 This is a flow chart of a robot trajectory planning method provided in the second embodiment of the present invention. On the basis of the above embodiment, the trajectory planning parameters include precision level parameters and speed ratio parameters. This embodiment can perform trajectory planning and interpolation on the robot based on the precision level parameters and speed ratio parameters. The specific implementation method can refer to the technical solution of this embodiment. Among them, the technical terms that are the same or corresponding to the above embodiment are not repeated here.

[0061] like Figure 4 As shown, the method includes: S210, obtaining original discrete points corresponding to the robot.

[0062] The original discrete points include time and location.

[0063] S220: Filter out at least two target inflection points from the original discrete points based on the time and position of the original discrete points.

[0064] S230, determining abnormal data points in the original discrete points, and processing the abnormal data points based on the target inflection points to obtain target key points of the robot.

[0065] S240: Acquire trajectory planning parameters, wherein the trajectory planning parameters include at least one of an accuracy level parameter and a speed ratio parameter.

[0066] Among them, the accuracy level parameter defines the accuracy requirements for robot trajectory planning. Different accuracy levels correspond to different trajectory planning strategies. For example, a high accuracy level may require the trajectory to strictly pass through all discrete points, while a low accuracy level may allow the trajectory to pass near certain points, but not necessarily through every point exactly.

[0067] The speed ratio parameter is used to adjust the speed of the robot when executing the trajectory. The speed ratio parameter can be set according to actual needs to ensure that the robot is both efficient and safe when performing tasks. For example, when the task needs to be completed quickly, a higher speed ratio can be set; when more delicate operations are required, a lower speed ratio can be set.

[0068] Specifically, the user can input trajectory planning parameters, including accuracy level parameters and speed ratio parameters, through the trajectory planning parameter setting module, for subsequent selection of an appropriate trajectory planning algorithm and adjustment of the robot's movement speed.

[0069] Exemplarily, the user can set two parameters to control the trajectory: Accuracy_level: This parameter can set the accuracy of the trajectory.

[0070] Speed_ratio (speed ratio): The user can set the speed ratio of the trajectory through this parameter. The parameter value range is [0.01,1]. When the value is 1, it is the original speed. When it is less than 1, the speed is reduced to this ratio.

[0071] S250, determining a target trajectory planning algorithm based on the accuracy level parameter, and performing trajectory planning and interpolation for the robot through the target trajectory planning algorithm according to the speed ratio parameter.

[0072] In an embodiment of the present invention, the step of determining a target trajectory planning algorithm based on the accuracy level parameter includes:

[0073] Based on the number of trajectory planning algorithms to be used, a preset accuracy parameter range is divided into multiple accuracy parameter sub-intervals, wherein the accuracy parameter sub-intervals correspond to the trajectory planning algorithms to be used; the current accuracy parameter sub-interval corresponding to the accuracy level parameter is determined, and the trajectory planning algorithm to be used corresponding to the current accuracy parameter sub-interval is determined as the target trajectory planning algorithm.

[0074] First, according to the number of trajectory planning algorithms to be used, the preset precision parameter range is divided into multiple precision parameter sub-intervals, each precision parameter sub-interval corresponding to a specific trajectory planning algorithm. Next, according to the precision level parameter set by the user, it is determined in which precision parameter sub-interval it falls. Finally, the trajectory planning algorithm corresponding to the current precision parameter sub-interval is determined as the target trajectory planning algorithm.

[0075] Specifically, Accuracy_level: This parameter can set the accuracy of the trajectory. The parameter value range is [0.01, 1]. When its value is 1, it passes through discrete points accurately, which is achieved by cubic spline trajectory; when its value is 0.01-0.99, other N trajectory planning algorithms with different accuracy are selected. The trajectory planning algorithms include but are not limited to smooth cubic spline trajectory, NURBS curve (non-uniform rational spline curve), etc. These trajectory planning algorithms correspond to N different accuracy levels. When the accuracy level is [0.01, 1 / N], the trajectory planning algorithm with level 1 is selected. This trajectory planning algorithm has the lowest accuracy level. When the level accuracy is [1 / N, 2 / N], the trajectory planning algorithm with level 2 is selected. The accuracy level of this trajectory planning algorithm is higher than that of the trajectory planning algorithm with level 1. ... When the level accuracy is [(N-1) / N, 0.99], the trajectory planning algorithm with level N is selected. The accuracy level of this trajectory planning algorithm is second only to cubic spline.

[0076] For example, when N is 2, the trajectory planning algorithm includes two trajectory planning algorithms: smooth cubic spline trajectory and NURBS curve (non-uniform rational spline curve), and their levels correspond to 2 and 1 respectively. The accuracy of the smooth cubic spline trajectory is higher than that of the NURBS curve. When Accuracy_level=0.2, the NURBS curve is selected, and when Accuracy_level=0.8, the smooth cubic spline curve is selected. In addition, the accuracy parameter of the trajectory is set according to the value of Accuracy_level, such as the smoothing parameter μ=(0.8-0.5) / (1-0.5) in the smooth cubic spline when Accuracy_level=0.8. Specifically, the trajectory screening module can select a suitable trajectory planning algorithm according to the accuracy level parameter. After determining the trajectory planning algorithm, the trajectory planner can use the corresponding trajectory planning algorithm to generate the target trajectory of the robot. This process usually involves interpolation calculations, and a continuous and smooth path can be generated according to the given key points through the trajectory interpolator. At the same time, the speed distribution on the trajectory is adjusted according to the speed ratio parameter to ensure that the robot can move at a suitable speed when performing tasks.

[0077] It should also be noted that the trajectory screening module, trajectory planner, and trajectory interpolator in this embodiment are all modules included in the trajectory planning device of the robot. There can be multiple trajectory planners, and one trajectory planner can correspond to one trajectory planning algorithm. When it is needed, the corresponding trajectory planner can be called.

[0078] Exemplarily, different trajectory modules may be planned according to the parameters set by the user. In addition, if the speed ratio set by the user is less than 1, the time of the time queue t of the point selected by 1 needs to be proportionally enlarged, and then the new time and position queue is used for planning.

[0079] like Figure 5 As shown, it is a schematic diagram of a cubic spline provided by the second embodiment of the present invention, and n+1 points are given: ( ), )...( ) The trajectory can be planned using n cubic polynomials. The expression of cubic spline is as follows.

[0080]

[0081] According to the selected position and time queue, the corresponding parameters of each paragraph ak0, ak1, ak2, ak3 can be obtained. Among them, ak0, ak1, ak2, ak3 are in [ ] parameters of a cubic polynomial on the interval .

[0082] Smoothed cubic spline trajectory: The cubic spline trajectory can accurately pass through discrete points, but it may produce relatively large acceleration at some points. By reducing the accuracy, the smooth cubic spline can reduce the acceleration / curvature. The objective function is to minimize the following function, as follows.

[0083]

[0084] The interval of μ is [0,1], which represents the accuracy of the trajectory. ωk is an arbitrary value that can locally modify the accuracy of a certain point. When μ is 1, it can accurately pass through discrete points, which is equivalent to a cubic spline trajectory, but the acceleration is also the largest at this time. As μ decreases, the position accuracy decreases, and the acceleration also decreases.

[0085] In order to reduce the error of some important points, it can be modified by adjusting the parameters of ωk. The larger the ωk, the smaller the error of the corresponding point.

[0086] NURBS trajectory: Given n+1 control points P0, P1, ..., P n , and the weights ω0, ω1, …, ω corresponding to each control point n and m+1 node vectors U={u0,u1,…,u m}, the node vector value range is [0,1], and it is monotonically increasing, that is, 0= =1 Based on these conditions, the p-order NURBS curve can be defined as follows.

[0087]

[0088] in:

[0089] u is the current normalized time-like parameter with a value range of [0,1]. That is to say, assuming that the total time of the entire trajectory is T, the current time is t, and the initial time is t0, then u= (t-t0) / T.

[0090] NURBS curves except for the starting and ending points P0, P n The weight of a point ω does not pass through the middle control point. i = 0, then the point has no effect on the entire trajectory, and the weight ω i The larger it is, the closer it is to the point. In order to ensure the continuity of velocity and acceleration of the trajectory, a third-order or higher trajectory is generally used.

[0091] Real-time calculation of trajectory interpolation: It is understood that a robot consists of multiple joints, and the movement of the robot is essentially the movement of the joints. Through the above process, the trajectory parameters of each joint of the robot can be calculated (if it is Cartesian space, it is the parameters of the six-dimensional posture), and the real-time joint position at time t (or Cartesian space position, Cartesian space position needs to be inversely solved to joint position) can be calculated to achieve real-time interpolation. Figure 6 As shown, it is an effect diagram of the real-time trajectory interpolation of a joint provided in Example 2 of the present invention, wherein "◇original incoming point" refers to the original discrete point, "○screened point" refers to the new target key point after screening, and "—planned data" is the real-time interpolation trajectory. It can be seen that the trajectory fits well with the original discrete point data, and the timestamp of the part with abnormal data in the last section is modified in time. Although the trajectory changes, the continuity of speed and acceleration can be guaranteed.

[0092] Figure 7 The velocity and acceleration diagram corresponding to the real-time interpolation provided in the second embodiment of the present invention shows that the velocity and acceleration curves are relatively smooth, without abnormal values ​​and frequent fluctuations, indicating that the points screened by the present invention reduce vibration.

[0093] In a preferred embodiment, Figure 8A flowchart of another robot trajectory planning method provided in the second embodiment of the present invention. The method includes: first, obtaining discrete point data (position pos, timestamp time), then filtering inflection point information (position, speed inflection point, abnormal data needs to be marked, a total of m inflection points), and further assigning i=1, i++. Is there abnormal data between the two inflection points (i-1, i)? If so, then re-modify the timestamp of the data in this interval and select a certain proportion of points to fill in the new position q, time t sequence; if not, select a certain proportion of points from the data in this interval to fill in the new position q, time t sequence; judge i=m?, if so, the trajectory screening module receives user parameters to screen the trajectory planning algorithm; the trajectory planner performs trajectory planning; the real-time interpolator performs real-time interpolation.

[0094] The technical solution of the embodiment of the present invention is to obtain the original discrete points corresponding to the robot; based on the time and position of the original discrete points, screen out at least two target inflection points in the original discrete points; determine the abnormal data points in the original discrete points, and process the abnormal data points based on the target inflection points to obtain the target key points of the robot. Further, the trajectory planning parameters are obtained, the target trajectory planning algorithm is determined based on the accuracy level parameters, and the trajectory of the robot is planned and interpolated by the target trajectory planning algorithm according to the speed ratio parameters. The planned trajectory can adaptively select different trajectory types and planning methods according to the parameters set by the user, giving the user more adjustment space and flexibility, and the modularization of the relevant algorithms also enhances the reusability of each functional module.

[0095] Embodiment 3

[0096] Fig. 9 This is a schematic diagram of the structure of a robot trajectory planning device provided in Embodiment 3 of the present invention. Fig. 9 As shown, the device includes the following.

[0097] The discrete point acquisition module 310 is used to acquire original discrete points corresponding to the robot, wherein the original discrete points include time and position.

[0098] The key point screening module 320 is used to screen out at least two target inflection points from the original discrete points based on the time and position of the original discrete points.

[0099] The trajectory point filling module 330 is used to determine the abnormal data points in the original discrete points, and process the abnormal data points based on the target inflection point to obtain the target key points of the robot. The target trajectory determination module 340 is used to perform trajectory planning and interpolation of the robot according to the trajectory planning parameters and the target key points to obtain the target trajectory of the robot.

[0100] The technical solution of the embodiment of the present invention first obtains the original discrete points corresponding to the robot, wherein the original discrete points include time and position; then based on the time and position of the original discrete points, at least two target inflection points are screened out from the original discrete points; the abnormal data points in the original discrete points are determined, and the abnormal data points are processed based on the target inflection points to obtain the target key points of the robot; and then the robot's trajectory is planned and interpolated according to the trajectory planning parameters and the target key points to obtain the robot's target trajectory. The problem that the robot moves and plans according to the original discrete points in the prior art, there is a large amount of data calculation and large trajectory vibration, and the number of discrete points is greatly eliminated, some key points are retained, and the calculation amount and high-frequency noise of acceleration are reduced. At the same time, because the key points are saved, the degree of fit between the planned trajectory and the original trajectory can be guaranteed. In addition, the planned trajectory can adaptively select different trajectory types and planning methods according to the parameters set by the user, giving the user more adjustment space and flexibility, and the modularization of the relevant algorithms also enhances the reusability of each functional module.

[0101] On the basis of the above embodiment, the target inflection point includes a position inflection point and a speed inflection point, and the key point screening module 320 is specifically used to determine the position inflection point in the original discrete points based on the positions of the original discrete points.

[0102] Based on the time and position of the original discrete points, the speed of the original discrete points is determined, and the speed inflection point in the original discrete points is determined according to the speed.

[0103] On the basis of the above embodiment, the trajectory point filling module 330 is specifically used to: determine whether the original discrete points between two adjacent target inflection points meet preset constraints, wherein the preset constraints include speed constraints, acceleration constraints and jerk constraints; if the preset constraints are not met, the original discrete points between the two target inflection points that do not meet the preset constraints are determined as the abnormal data points.

[0104] On the basis of the above embodiment, the trajectory point filling module 330 is further specifically used for: if the original discrete point is an end point or a starting point, and the speed and / or acceleration of the original discrete point is not zero, then determining the original discrete point as the abnormal data point.

[0105] Based on the above embodiment, the trajectory point filling module 330 is specifically used to: determine the two adjacent target inflection points corresponding to the abnormal data point, and determine the discrete point to be corrected between the two adjacent target inflection points; correct the time of the discrete point to be corrected to obtain the target key point.

[0106] On the basis of the above embodiment, the device is further used for: if there is no abnormal data point between two adjacent target inflection points, screening the original discrete points between the two target inflection points to obtain the target key point.

[0107] Based on the above embodiment, the target trajectory determination module 340 includes: a trajectory screening module, used to obtain trajectory planning parameters, wherein the trajectory planning parameters include at least one of an accuracy level parameter and a speed ratio parameter; and determine a target trajectory planning algorithm based on the accuracy level parameter.

[0108] A trajectory planner is used to plan the trajectory of the robot according to the speed ratio parameter through the target trajectory planning algorithm.

[0109] A trajectory interpolator is used to perform trajectory interpolation on the robot.

[0110] On the basis of the above embodiment, the target trajectory planning algorithm is determined based on the accuracy level parameter, including: dividing the preset accuracy parameter range into multiple accuracy parameter sub-intervals based on the number of trajectory planning algorithms to be used, wherein the accuracy parameter sub-intervals correspond to the trajectory planning algorithms to be used; determining the current accuracy parameter sub-interval corresponding to the accuracy level parameter, and determining the trajectory planning algorithm to be used corresponding to the current accuracy parameter sub-interval as the target trajectory planning algorithm.

[0111] The robot trajectory planning device provided in the embodiment of the present invention can execute the robot trajectory planning method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.

[0112] Embodiment 4

[0113] Fig.10 A schematic diagram of the structure of an electronic device provided for Embodiment 4 of the present invention. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or claimed herein.

[0114] like Fig.10As shown, the electronic device 10 includes at least one processor 11, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 to the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. The input / output (I / O) interface 15 is also connected to the bus 14.

[0115] A number of components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0116] The processor 11 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above, such as a trajectory planning method for a robot.

[0117] In some embodiments, the robot's trajectory planning method may be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the robot's trajectory planning method described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to execute the robot's trajectory planning method in any other appropriate manner (e.g., by means of firmware).

[0118] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0119] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0120] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, device, or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0121] To provide interaction with a user, the systems and techniques described herein may be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).

[0122] The systems and techniques described herein may be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.

[0123] A computing system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.

[0124] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.

[0125] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. A robot trajectory planning method, characterized in that: include: Obtaining original discrete points corresponding to the robot, wherein the original discrete points include time and position; Based on the time and position of the original discrete points, at least two target inflection points are screened out from the original discrete points; Determine abnormal data points in the original discrete points, and process the abnormal data points based on the target inflection points to obtain target key points of the robot; According to the trajectory planning parameters and the target key points, the trajectory of the robot is planned and interpolated to obtain the target trajectory of the robot; The determining of the abnormal data points in the original discrete points includes: judging whether the original discrete points between two adjacent target inflection points satisfy preset constraints, wherein the preset constraints include speed constraints, acceleration constraints, and jerk constraints; if the preset constraints are not satisfied, determining the original discrete points between the two target inflection points that do not satisfy the preset constraints as the abnormal data points; The determining of the abnormal data point in the original discrete points includes: if the original discrete point is an end point or a starting point, and the speed and / or acceleration of the original discrete point is not zero, determining the original discrete point as the abnormal data point; The step of performing trajectory planning and interpolation of the robot according to the trajectory planning parameters and the target key points includes: Acquire trajectory planning parameters, wherein the trajectory planning parameters include at least one of a precision level parameter and a speed ratio parameter; determine a target trajectory planning algorithm based on the precision level parameter, and perform trajectory planning and interpolation on the robot through the target trajectory planning algorithm according to the speed ratio parameter; The determining the target trajectory planning algorithm based on the accuracy level parameter includes: dividing a preset accuracy parameter range into a plurality of accuracy parameter sub-intervals based on the number of trajectory planning algorithms to be used, wherein the accuracy parameter sub-intervals correspond to the trajectory planning algorithms to be used; Determine the current precision parameter subinterval corresponding to the precision level parameter, determine the trajectory planning algorithm to be used corresponding to the current precision parameter subinterval as the target trajectory planning algorithm, and determine the precision level parameter as the precision level parameter used in the target trajectory planning algorithm.

2. The method according to claim 1, characterized in that The target inflection points include a position inflection point and a speed inflection point, and the step of selecting at least two target inflection points from the original discrete points based on the time and position of the original discrete points includes: Based on the positions of the original discrete points, determining the position inflection points in the original discrete points; Based on the time and position of the original discrete points, the speed of the original discrete points is determined, and the speed inflection point in the original discrete points is determined according to the speed.

3. The method according to claim 1, characterized in that The processing of the abnormal data point based on the target inflection point to obtain the target key point of the robot includes: Determine two adjacent target inflection points corresponding to the abnormal data point, and determine a discrete point to be corrected between the two adjacent target inflection points; The time and / or position of the discrete point to be corrected is corrected to obtain the target key point.

4. The method according to claim 1, characterized in that: Also includes: If there is no abnormal data point between two adjacent target inflection points, the original discrete points between the two target inflection points are screened to obtain the target key point.

5. A robot trajectory planning device, characterized in that: include: A discrete point acquisition module, used to acquire original discrete points corresponding to the robot, wherein the original discrete points include time and position; A key point screening module, used for screening out at least two target inflection points from the original discrete points based on the time and position of the original discrete points; A trajectory point filling module, used to determine abnormal data points in the original discrete points, and process the abnormal data points based on the target inflection points to obtain the target key points of the robot; A target trajectory determination module, used to perform trajectory planning and interpolation of the robot according to trajectory planning parameters and the target key points to obtain the target trajectory of the robot; The trajectory point filling module is specifically used to: determine whether the original discrete points between two adjacent target inflection points meet preset constraints, wherein the preset constraints include speed constraints, acceleration constraints and jerk constraints; if the preset constraints are not met, determine the original discrete points between the two target inflection points that do not meet the preset constraints as the abnormal data points; The trajectory point filling module is further specifically used to: if the original discrete point is an end point or a starting point, and the speed and / or acceleration of the original discrete point is not zero, determine the original discrete point as the abnormal data point; The target trajectory determination module includes: a trajectory screening module, which is used to obtain trajectory planning parameters, wherein the trajectory planning parameters include at least one of a precision level parameter and a speed ratio parameter; and determine a target trajectory planning algorithm based on the precision level parameter; A trajectory planner, configured to plan the trajectory of the robot according to the speed ratio parameter by using the target trajectory planning algorithm; A trajectory interpolator, used for performing trajectory interpolation on the robot; The method of determining a target trajectory planning algorithm based on the accuracy level parameter includes: dividing a preset accuracy parameter range into a plurality of accuracy parameter sub-intervals based on the number of trajectory planning algorithms to be used, wherein the accuracy parameter sub-intervals correspond to the trajectory planning algorithms to be used; determining the current accuracy parameter sub-interval corresponding to the accuracy level parameter, and determining the trajectory planning algorithm to be used corresponding to the current accuracy parameter sub-interval as the target trajectory planning algorithm.

6. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the robot trajectory planning method according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • Track planning method and device, robot and computer readable storage medium

    CN115488898A

  • Robot teaching track generation method and device, equipment and medium

    CN116372927A