Data processing method, device and robot

Through the connection between spline curve fitting and the five-degree polynomial transition curve, the problem of acceleration and torque curve jump during the robot gait trajectory connection is solved, and the stability of the motor is improved.

CN115246122BActive Publication Date: 2025-05-23GUANGZHOU SHIYUAN ELECTRONICS CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110456165.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-04-26
Publication Date
2025-05-23
Estimated Expiration
2041-04-26

AI Technical Summary

Technical Problem

During the follow-up start process of the robot gait trajectory and the connection process of the two gait trajectory, the acceleration and torque curves in the prior art are prone to jump, resulting in a decrease in the stability of the motor.

Method used

By obtaining the current trajectory point and multiple trajectory points of the robot, fitting the splines, multiple splines are obtained, and multiple transition curves are determined based on the five-degree polynomial, connecting the two adjacent splines and the transition curve to form a continuous gait trajectory curve.

Benefits of technology

The continuity of acceleration and torque curves during the robot gait trajectory connection is achieved, reducing the impact of the motor and improving the stability of the motor.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115246122B_ABST
    Figure CN115246122B_ABST
Patent Text Reader

Abstract

The embodiment of the present application discloses a data processing method, device and robot, which belongs to the field of data processing technology. Among them, the method includes: obtaining the current trajectory point of the robot, and multiple trajectory points of the robot during the movement; performing spline curve fitting based on multiple trajectory points to obtain multiple spline curves; based on the current trajectory point of the robot and multiple spline curves, using a quintic polynomial to determine multiple transition curves, wherein the multiple transition curves are respectively connected between the current trajectory point and the first spline curve, and between two adjacent spline curves; connecting the two adjacent spline curves with the transition curve to obtain the gait trajectory curve of the robot. Therefore, the embodiment of the present application can solve the technical problems in the related technology that the startup process of the robot gait trajectory following and the acceleration and torque curve jump during the connection of two gait trajectories cause impact on the motor, resulting in reduced motor stability.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data processing, and specifically, to a data processing method, device and robot. Background Art

[0002] At present, in the process of fitting the robot's gait trajectory, the traditional method is to directly use the cubic spline curve method for fitting. Although this method ensures the continuity of the position, due to the constraints of the cubic spline, it causes a jump in acceleration and torque during the transition process, which has a great impact on the motor.

[0003] To address the above-mentioned problems, no effective solution has been proposed yet. Summary of the invention

[0004] The embodiments of the present application provide a data processing method, device and robot to at least solve the technical problems in the related art that the acceleration and torque curves jump during the startup process of the robot's gait trajectory following and the connection process between two gait trajectories, which cause impact on the motor and reduce the motor stability.

[0005] According to one aspect of an embodiment of the present application, a data processing method is provided, the method comprising: obtaining a current trajectory point of a robot and multiple trajectory points of the robot during movement; performing spline curve fitting based on the multiple trajectory points to obtain multiple spline curves; based on the current trajectory point of the robot and the multiple spline curves, using a quintic polynomial to determine multiple transition curves, wherein the multiple transition curves are respectively connected between the current trajectory point and the first spline curve, and between two adjacent spline curves; connecting two adjacent spline curves with the transition curve to obtain the gait trajectory curve of the robot.

[0006] Optionally, based on the current trajectory point and multiple spline curves of the robot, using a quintic polynomial to determine multiple transition curves includes: based on the current trajectory point and the multiple spline curves, determining a first motion parameter and a second motion parameter, wherein, when the first motion parameter is the motion parameter corresponding to the current trajectory point, the second motion parameter is the motion parameter at the starting moment of the first spline curve, and when the first motion parameter is the motion parameter at the ending moment of the previous spline curve of two adjacent spline curves, the second motion parameter is the motion parameter at the starting moment of the latter spline curve of two adjacent spline curves; determining multiple coefficients of each transition curve based on the first motion parameter and the second motion parameter; determining each transition curve based on the multiple coefficients of each transition curve.

[0007] Optionally, the first motion parameters include: a first position, a first velocity and a first acceleration, and the second motion parameters include: a second position, a second velocity and a second acceleration, wherein, based on the first motion parameters and the second motion parameters, using a fifth-order polynomial to determine multiple coefficients of the transition curve includes: determining the first coefficient based on the first position; determining the second coefficient based on the first velocity; determining the third coefficient based on the first acceleration; determining the fourth coefficient, the fifth coefficient and the sixth coefficient based on the first position, the first velocity, the first acceleration, the second position, the second velocity, the second acceleration, and the preset tracking time, wherein the fourth coefficient, the fifth coefficient and the sixth coefficient correspond to different numbers of preset tracking times.

[0008] Optionally, the fourth coefficient d is obtained by the following formula:

[0009]

[0010] The fifth coefficient e is obtained by the following formula:

[0011]

[0012] The sixth coefficient f is obtained by the following formula:

[0013]

[0014] Among them, f(T) represents the second position, f(0) represents the first position, f'(T) represents the second speed, f'(0) represents the first speed, f"(T) represents the second acceleration, f"(0) represents the first acceleration, and T represents the preset tracking time.

[0015] Optionally, determining each transition curve based on multiple coefficients of each transition curve includes: determining each transition curve based on a first coefficient, a second coefficient, a third coefficient, a fourth coefficient, a fifth coefficient, a sixth coefficient and multiple moments within a preset tracking time.

[0016] Optionally, each transition curve is obtained by the following formula:

[0017] f(t)=a+bt+ct 2 +dt 3 +et 4 +ft 5 ,

[0018] Wherein, t represents any moment within the preset tracking time, a represents the first coefficient, b represents the second coefficient, c represents the third coefficient, d represents the fourth coefficient, e represents the fifth coefficient, and f represents the sixth coefficient.

[0019] According to another aspect of an embodiment of the present application, a data processing device is also provided, which includes: an acquisition module for acquiring a current trajectory point of a robot and multiple trajectory points of the robot during movement; a fitting module for performing spline curve fitting based on multiple trajectory points to obtain multiple spline curves; a determination module for determining multiple transition curves based on the current trajectory point of the robot and the multiple spline curves using a quintic polynomial, wherein the multiple transition curves are respectively connected between the current trajectory point and the first spline curve, and between two adjacent spline curves; and a connection module for connecting two adjacent spline curves with the transition curve to obtain the gait trajectory curve of the robot.

[0020] Optionally, the determination module includes: a first determination unit, used to determine a first motion parameter and a second motion parameter based on the current trajectory point and multiple spline curves, wherein, when the first motion parameter is the motion parameter corresponding to the current trajectory point, the second motion parameter is the motion parameter at the starting time of the first spline curve, and when the first motion parameter is the motion parameter at the ending time of the previous spline curve of two adjacent spline curves, the second motion parameter is the motion parameter at the starting time of the latter spline curve of the two adjacent spline curves; a second determination unit, used to determine multiple coefficients of each transition curve based on the first motion parameter and the second motion parameter by using a quintic polynomial; a third determination unit, used to determine each transition curve based on the multiple coefficients of each transition curve.

[0021] According to another aspect of an embodiment of the present application, a computer-readable storage medium is further provided, the computer-readable storage medium including a stored program, wherein when the program is running, the device where the computer-readable storage medium is located is controlled to execute the above-mentioned data processing method.

[0022] According to another aspect of an embodiment of the present application, there is further provided a robot, comprising: a processor and a memory; wherein the memory stores a computer program, and the computer program is suitable for being loaded by the processor and executing the above-mentioned data processing method.

[0023] In the embodiment of the present application, the current trajectory point of the robot and multiple trajectory points of the robot during the movement are obtained, spline curve fitting is performed based on the multiple trajectory points to obtain multiple spline curves, and multiple transition curves are determined based on the current trajectory point of the robot and the multiple spline curves, and two adjacent spline curves are connected with the transition curve to obtain the gait trajectory curve of the robot. The method of using a quintic polynomial to determine multiple transition curves is achieved by connecting the transition curves between the current trajectory point and the first spline curve and the two adjacent spline curves, so as to achieve the purpose of no jump in the acceleration and torque in the process of obtaining the gait trajectory of the robot, thereby achieving the technical effect that the acceleration and torque curves are continuous and do not jump in the connection process during the operation of the robot, and the impact of the motor is reduced, thereby solving the technical problem that the acceleration and torque curves jump in the startup process of the robot gait trajectory following and the connection process of the two gait trajectories in the related technology, causing impact on the motor and reducing the stability of the motor. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0025] Figure 1 is a flow chart of a data processing method according to an embodiment of the present application;

[0026] Figure 2 is a flow chart of an optional data processing method according to an embodiment of the present application;

[0027] Figure 3 is a schematic diagram of an optional right knee joint position curve according to an embodiment of the present application;

[0028] Figure 4 is a schematic diagram of an optional right knee joint velocity curve according to an embodiment of the present application;

[0029] Figure 5 is a schematic diagram of an optional right knee joint acceleration curve according to an embodiment of the present application;

[0030] Figure 6 is a schematic diagram of an optional right knee joint torque curve according to an embodiment of the present application;

[0031] Figure 7 is a schematic diagram of a data processing device according to an embodiment of the present application. DETAILED DESCRIPTION

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

[0033] When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present application. Instead, they are only examples of devices and methods consistent with some aspects of the present application as detailed in the attached claims.

[0034] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application 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 application described here can be implemented in an order other than those illustrated or described here. In addition, the terms "including" and "having" and any of their variations 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 clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices. In addition, in the description of the present application, unless otherwise specified, "multiple" refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships can exist, for example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the associated objects before and after are a kind of "or" relationship.

[0035] Example 1

[0036] According to an embodiment of the present application, a method for controlling a wheelchair motor is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is used in the flowchart, in some cases, the steps shown or described can be executed in an order different from this.

[0037] Figure 1 is a flow chart of a data processing method according to an embodiment of the present application, such as Figure 1 As shown, the method may include the following steps:

[0038] Step S102, obtaining the current trajectory point of the robot and multiple trajectory points of the robot during its movement.

[0039] The current trajectory point in the above steps may be the actual trajectory information of the robot at the current moment, wherein the trajectory information may include position information, speed information, and acceleration information, and the multiple trajectory points of the robot during the movement process may be multiple trajectory point information sampled during the movement of the robot; the above-mentioned current trajectory point and multiple trajectory points may obtain coordinate information through relevant sensors and then transmit it to the controller for calculation to obtain the position information, speed information, acceleration information of the current trajectory point and the position information, speed information, acceleration information of multiple trajectory points.

[0040] Step S104, performing spline curve fitting based on the multiple trajectory points to obtain multiple spline curves.

[0041] The spline curve fitting in the above steps can be performed by using a cubic spline fitting method. For example, n trajectory points of the robot during the motion are obtained, P 1 , P 2 , P 3 , P 4 ...P n That is, n-1 segments of spline curves are formed, namely the multiple spline curves mentioned above.

[0042] Step S106, based on the current trajectory point of the robot and the multiple spline curves, a quintic polynomial is used to determine multiple transition curves.

[0043] Among them, multiple transition curves are connected between the current trajectory point and the first spline curve, and between two adjacent spline curves.

[0044] Each of the multiple transition curves in the above steps can be determined by using a fifth-order polynomial. The fifth-order polynomial can be found in the formula described below. There are two connection situations when using a quintic polynomial to determine multiple transition curves. If the transition curve is connected between the current trajectory point and the first spline curve, when using a quintic polynomial to determine the transition curve, it is necessary to determine multiple coefficients of the quintic polynomial through the first motion parameter and the second motion parameter, wherein the first motion parameter is the current trajectory point information, and the second motion parameter is the trajectory point information at the starting time of the first spline curve; if the transition curve is connected between two adjacent spline curves, when using a quintic polynomial to determine the transition curve, it is still necessary to determine multiple coefficients of the quintic polynomial through the first motion parameter and the second motion parameter, at this time, the first motion parameter is the trajectory point information at the end time of the previous spline curve, and the second motion parameter is the trajectory point information at the starting time of the next spline curve. According to the specific first motion parameter information and the second motion parameter information, the coefficients of multiple different quintic polynomials in different connection situations can be determined, that is, each transition curve in different situations can be determined, and further, multiple transition curves are determined by the quintic polynomial.

[0045] In an optional embodiment, the quintic polynomial in the above steps can be expressed by the following formula:

[0046] f(t)=a+bt+ct 2 +dt 3 +et 4 +ft 5 ,

[0047] Wherein, t represents any moment within the preset tracking time, a represents the first coefficient, b represents the second coefficient, c represents the third coefficient, d represents the fourth coefficient, e represents the fifth coefficient, and f represents the sixth coefficient.

[0048] In another optional embodiment, the coefficients of the quintic polynomial can be determined by a first motion parameter and a second motion parameter, wherein the first motion parameter includes: a first position, a first velocity, and a first acceleration, and the second motion parameter includes: a second position, a second velocity, and a second acceleration, wherein the multiple coefficients determined based on the first motion parameter and the second motion parameter include: a first coefficient a, a second coefficient b, a third coefficient c, a fourth coefficient d, a fifth coefficient e, and a sixth coefficient f, wherein the first coefficient a is determined by the first position, the second coefficient b is determined by the first velocity, and the third coefficient c is determined by the first acceleration, and the first coefficient a, the second coefficient b, and the third coefficient c are shown in the following formula:

[0049] a=f(0),

[0050] b=f′(0),

[0051]

[0052] It should be noted that the fourth coefficient d, the fifth coefficient e, and the sixth coefficient f can be determined by the following formula:

[0053]

[0054]

[0055]

[0056] Among them, f(T) represents the second position, f(0) represents the first position, f'(T) represents the second speed, f'(0) represents the first speed, f"(T) represents the second acceleration, f"(0) represents the first acceleration, and T represents the preset tracking time.

[0057] Step S108, connecting two adjacent spline curves with the transition curve to obtain the gait trajectory curve of the robot.

[0058] In the above steps, two adjacent spline curves are connected with the transition curve. First, the robot can be moved from the current trajectory point to the starting position of the gait trajectory through the quintic polynomial; secondly, the end position, end speed and end acceleration of the quintic polynomial are used as the starting position, starting speed and starting acceleration of the next spline curve to fit the gait trajectory, so that the robot can ensure the continuity of position, speed and acceleration from the start to the gait trajectory following, and a coherent robot gait trajectory curve can be obtained.

[0059] In an optional embodiment, in order to ensure that the position speed of the gait trajectory curve is continuous and smooth, the acceleration is continuous, and strictly passes through the trajectory point, the specific method of using a quintic polynomial to connect and transition multiple spline curves is as follows: when the transition curve connects the current trajectory point with the first spline curve, the second position, the second speed and the second acceleration of the first spline curve trajectory of the robot can be determined by the spline curve, and the first position, the first speed and the first acceleration of the robot at the current moment determine multiple coefficients of the quintic polynomial, wherein the first position, the first speed and the first acceleration are used to characterize the motion parameters corresponding to the current trajectory point, and the second position, The second speed and the second acceleration are used to characterize the motion parameters at the starting time of the first spline curve; in the process of connecting two adjacent spline curves with the transition curve, the multinomial coefficients of the quintic polynomial are determined according to the motion parameters at the ending time of the previous spline curve and the motion parameters at the starting time of the next spline curve, and the curves are connected to achieve a smooth transition, so as to obtain the gait trajectory curve of the robot, wherein the first position, the first speed, and the first acceleration at this time are used to characterize the motion parameters at the ending time of the previous spline curve, and the second position, the second speed, and the second acceleration are used to characterize the motion parameters at the starting time of the next spline curve.

[0060] In the embodiment of the present application, the current trajectory point of the robot and multiple trajectory points of the robot during the movement are obtained, spline curve fitting is performed based on the multiple trajectory points to obtain multiple spline curves, and multiple transition curves are determined based on the current trajectory point of the robot and the multiple spline curves, and two adjacent spline curves are connected with the transition curve to obtain the gait trajectory curve of the robot. The method of using a quintic polynomial to determine multiple transition curves is achieved by connecting the transition curves between the current trajectory point and the first spline curve and the two adjacent spline curves, so as to achieve the purpose of no jump in acceleration and torque in the process of obtaining the gait trajectory of the robot, thereby achieving the technical effect that the acceleration and torque curves are continuous and do not jump in the connection process during the operation of the robot, and the impact of the motor is reduced, thereby solving the technical problem that the acceleration and torque curves jump in the startup process of the robot gait trajectory following and the connection process of the two gait trajectories in the related technology, causing impact on the motor and reducing the stability of the motor.

[0061] Optionally, based on the current trajectory point and multiple spline curves of the robot, using a quintic polynomial to determine multiple transition curves includes: based on the current trajectory point and the multiple spline curves, determining a first motion parameter and a second motion parameter, wherein, when the first motion parameter is the motion parameter corresponding to the current trajectory point, the second motion parameter is the motion parameter at the starting moment of the first spline curve, and when the first motion parameter is the motion parameter at the ending moment of the previous spline curve of two adjacent spline curves, the second motion parameter is the motion parameter at the starting moment of the latter spline curve of two adjacent spline curves; determining multiple coefficients of each transition curve based on the first motion parameter and the second motion parameter; determining each transition curve based on the multiple coefficients of each transition curve.

[0062] In the above steps, when determining the first motion parameter and the second motion parameter based on the current trajectory point and multiple spline curves, it can be divided into two cases: the first case is when the first motion parameter is the motion parameter corresponding to the current trajectory point, and the second motion parameter is the motion parameter at the starting time of the first spline curve, that is, this case can be the startup process of the robot gait trajectory following, at this time, the first position, the first speed, and the first acceleration are the actual trajectory point information of the robot at the current moment, and the second position, the second speed, and the second acceleration are the trajectory point information at the starting time of the first spline curve; the second case is when the first motion parameter is two adjacent spline curves In the case of the motion parameter of the end moment of the previous spline curve in the two adjacent spline curves, the second motion parameter is the motion parameter of the starting moment of the latter spline curve in the two adjacent spline curves, that is, this situation can be the connection process of two gait trajectories (that is, the two spline trajectories mentioned above) in the process of the robot's gait trajectory following, at this time, the first position, the first speed, and the first acceleration are the trajectory point information of the robot at the end moment of the previous gait trajectory, and the second position, the second speed, and the second acceleration are the trajectory point information of the starting moment of the next gait trajectory, wherein the end moment of the previous gait trajectory to the starting moment of the next gait trajectory can be the preset tracking time T.

[0063] In an optional embodiment, during the startup process of the robot gait trajectory following, based on the cubic spline curve equation: i (u) = a i +b i (uu i )+c i (uu i ) 2 +d i (uu i ) 3 It can be seen that when the robot moves from the current position to the starting position of the gait trajectory, it can be understood that when u = u 1 Then you can get: P 1 (0) = a 1 , the initial speed is P 1 '(0) = b 1 , the initial acceleration is P 1 ”(0)=2c 1 , the robot's current position is P 0 , speed is V 0 , the acceleration is A 0 , f(T)=P 1 (0), f'(T) = P 1 '(0),f”(T)=P 1 ” (0) Set the preset tracking time to T, then according to the quintic polynomial, the coefficients of the quintic polynomial are:

[0064] a=P 0 ;

[0065] b=V 0 ;

[0066] c=A 0 ;

[0067]

[0068]

[0069]

[0070] In another optional embodiment, during the connection of two gait trajectories (i.e., the two spline curves mentioned above) in the process of following the robot's gait trajectory, if the two adjacent spline curves are the ith and (i+1)th spline curves, respectively, where i is greater than 1, then the first motion parameter is the position, velocity, and acceleration at the end moment of the ith spline curve, that is, the first position, the first velocity, and the first acceleration; the second motion parameter is the position, velocity, and acceleration at the start moment of the (i+1)th spline curve, that is, the second position, the second velocity, and the second acceleration.

[0071] Optionally, the first motion parameters include: a first position, a first velocity and a first acceleration, and the second motion parameters include: a second position, a second velocity and a second acceleration, wherein, based on the first motion parameters and the second motion parameters, using a fifth-order polynomial to determine multiple coefficients of the transition curve includes: determining the first coefficient based on the first position; determining the second coefficient based on the first velocity; determining the third coefficient based on the first acceleration; determining the fourth coefficient, the fifth coefficient and the sixth coefficient based on the first position, the first velocity, the first acceleration, the second position, the second velocity, the second acceleration, and the preset tracking time, wherein the fourth coefficient, the fifth coefficient and the sixth coefficient correspond to different numbers of preset tracking times.

[0072] In the above steps, f(T) represents the second position, f(0) represents the first position, f'(T) represents the second speed, f'(0) represents the first speed, f"(T) represents the second acceleration, f"(0) represents the first acceleration, and T represents the preset tracking time, wherein the first coefficient a=f(0), the second coefficient b=f'(0), and the third coefficient c=f"(0).

[0073] Optionally, the fourth coefficient d, the fifth coefficient e and the sixth coefficient f may be calculated using the formula in step S106 above.

[0074] Optionally, determining each transition curve based on multiple coefficients of each transition curve includes: determining each transition curve based on a first coefficient, a second coefficient, a third coefficient, a fourth coefficient, a fifth coefficient, a sixth coefficient and multiple moments within a preset tracking time, and the specific formula is the formula described in the above step S106.

[0075] Combine the following Figures 2 to 6 A preferred embodiment of the present invention is described in detail. Figure 2 As shown, the method may include the following steps:

[0076] Step S201, start;

[0077] Step S202, obtaining n gait trajectory points;

[0078] Step S203, cubic spline fitting is used to obtain n-1 cubic curve equations, and the starting position, starting speed, and starting acceleration of the first trajectory are solved;

[0079] Step S204, using a 5-degree spline curve to track the starting point, starting speed, and starting acceleration of the starting trajectory;

[0080] Step S205, cubic spline follows the gait trajectory;

[0081] Step S206, determining whether there are any gait trajectory points in the trajectory buffer, if so, executing step S203; otherwise, executing step S207;

[0082] Step S207, end.

[0083] In the above steps, when the robot starts to move, firstly, n trajectory points of the robot's gait are obtained. According to the obtained n trajectory points, n-1 cubic curve equations are obtained by fitting the cubic spline method. At this time, the starting position, starting speed, and starting acceleration of the first segment of the trajectory can be solved, that is, the second position, second speed, and second acceleration of the robot in the initial stage of the startup process. At the same time, the first position, first speed, and first acceleration of the robot at the current moment can be obtained; the robot is moved from the current trajectory point to the trajectory point of the first spline curve through the transition curve determined by the quintic polynomial, that is, the quintic spline curve tracks the starting point, starting speed, and starting acceleration of the starting trajectory. After connecting at the trajectory point through the transition curve, continue to follow the gait trajectory through the cubic spline, and then start to process two adjacent spline curves. The process is to determine whether there are still gait trajectory points in the trajectory buffer. If there are gait trajectory points, continue to connect through the transition curve. If the gait trajectory points cannot be detected, then end. During the startup process of the robot's gait trajectory following and the connection process of two gait trajectories, a quintic polynomial curve is constructed to connect the position, speed and acceleration to ensure the smooth continuity of the position and speed during the connection process, and the continuity of the acceleration and torque curves without jumps. Figures 3 to 6 It can be seen that after using the data processing method of the present application, the entire torque curve of the robot during operation is continuous, there is no risk of jump, the stability of the motor operation is greatly improved, and the impact on the motor is reduced.

[0084] Example 2

[0085] According to an embodiment of the present application, a data processing device is also provided, which can execute the data processing method in the above embodiment. The specific implementation method and preferred application scenario are the same as those in the above embodiment and will not be repeated here.

[0086] Figure 7 is a schematic diagram of a data processing device according to an embodiment of the present application, such as Figure 7 As shown, the device comprises:

[0087] An acquisition module 70 is used to acquire the current trajectory point of the robot and multiple trajectory points of the robot during the movement;

[0088] A fitting module 72, used for performing spline curve fitting based on multiple trajectory points to obtain multiple spline curves;

[0089] A determination module 74, configured to determine a plurality of transition curves using a quintic polynomial based on a current trajectory point of the robot and a plurality of spline curves, wherein the plurality of transition curves are respectively connected between the current trajectory point and the first spline curve, and between two adjacent spline curves;

[0090] The connection module 76 is used to connect two adjacent spline curves with the transition curve to obtain the gait trajectory curve of the robot.

[0091] Optionally, the determination module includes: a first determination unit, used to determine a first motion parameter and a second motion parameter based on the current trajectory point and multiple spline curves, wherein, when the first motion parameter is the motion parameter corresponding to the current trajectory point, the second motion parameter is the motion parameter at the starting time of the first spline curve, and when the first motion parameter is the motion parameter at the ending time of the previous spline curve of two adjacent spline curves, the second motion parameter is the motion parameter at the starting time of the latter spline curve of the two adjacent spline curves; a second determination unit, used to determine multiple coefficients of each transition curve based on the first motion parameter and the second motion parameter; a third determination unit, used to determine each transition curve based on the multiple coefficients of each transition curve.

[0092] Optionally, the second determination unit includes: a first determination subunit, used to determine the first coefficient based on the first position; a second determination subunit, used to determine the second coefficient based on the first speed; a third determination subunit, used to determine the third coefficient based on the first acceleration; a fourth determination subunit, used to determine the fourth coefficient, the fifth coefficient and the sixth coefficient based on the first position, the first speed, the first acceleration, the second position, the second speed, the second acceleration, and the preset tracking time, wherein the fourth coefficient, the fifth coefficient and the sixth coefficient correspond to different numbers of preset tracking times.

[0093] Optionally, the third determination unit includes: a fifth determination subunit, configured to determine each transition curve based on the first coefficient, the second coefficient, the third coefficient, the fourth coefficient, the fifth coefficient, the sixth coefficient and a plurality of moments within a preset tracking time.

[0094] Example 3

[0095] The present application also provides a computer storage medium that can store multiple instructions, which are suitable for being loaded and executed by a processor as described above. Figure 1 The method steps of the embodiment shown in the figure can be found in the specific implementation process. Figure 1 The specific description of the illustrated embodiment will not be repeated here.

[0096] Example 4

[0097] An embodiment of the present application also provides a robot, comprising: a processor and a memory; wherein the memory stores a computer program, and the computer program is suitable for being loaded by the processor and executing the data processing method of the above-mentioned embodiment 1.

[0098] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.

[0099] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0100] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0101] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0102] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0103] The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.

[0104] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.

[0105] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.

[0106] The above are only embodiments of the present application and are not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included within the scope of the claims of the present application.

Claims

1. A data processing method, It is characterized in that include: Obtaining a current trajectory point of the robot and multiple trajectory points of the robot during movement; Performing spline curve fitting based on the multiple trajectory points to obtain multiple spline curves; Based on the current trajectory point of the robot and the multiple spline curves, a plurality of transition curves are determined using a quintic polynomial, wherein the multiple transition curves are respectively connected between the current trajectory point and the first spline curve, and between two adjacent spline curves; Connecting the two adjacent spline curves with the transition curve to obtain a gait trajectory curve of the robot; Based on the current trajectory point of the robot and the multiple spline curves, using a quintic polynomial to determine multiple transition curves includes: Based on the current trajectory point and the plurality of spline curves, determining a first motion parameter and a second motion parameter, wherein, when the first motion parameter is a motion parameter corresponding to the current trajectory point, the second motion parameter is a motion parameter at a start time of the first spline curve, and when the first motion parameter is a motion parameter at an end time of a previous spline curve of two adjacent spline curves, the second motion parameter is a motion parameter at a start time of a latter spline curve of the two adjacent spline curves; determining a plurality of coefficients for each transition curve based on the first motion parameter and the second motion parameter; determining each transition curve based on the plurality of coefficients of each transition curve; The first motion parameters include: a first position, a first velocity and a first acceleration, and the second motion parameters include: a second position, a second velocity and a second acceleration, wherein based on the first motion parameters and the second motion parameters, the plurality of coefficients of the transition curve determined by using the fifth-order polynomial include: determining a first coefficient based on the first position; determining a second coefficient based on the first speed; determining a third coefficient based on the first acceleration; A fourth coefficient, a fifth coefficient and a sixth coefficient are determined based on the first position, the first speed, the first acceleration, the second position, the second speed, the second acceleration, and a preset tracking time, wherein the fourth coefficient, the fifth coefficient and the sixth coefficient correspond to different times of the preset tracking time.

2. The method according to claim 1, It is characterized in that The fourth coefficient is obtained by the following formula d : , The fifth coefficient is obtained by the following formula e : , The sixth coefficient is obtained by the following formula f : , Among them, the represents the second position, represents the first position, the represents the second speed, the represents the first speed, the represents the second acceleration, the represents the first acceleration, the T Indicates the preset tracking time.

3. The method according to claim 1, It is characterized in that Determining each transition curve based on the plurality of coefficients of each transition curve comprises: Each of the transition curves is determined based on the first coefficient, the second coefficient, the third coefficient, the fourth coefficient, the fifth coefficient, the sixth coefficient, and a plurality of moments within the preset tracking time.

4. The method according to claim 1, It is characterized in that Each transition curve is obtained by the following formula: , Among them, the t represents any moment within the preset tracking time, a represents the first coefficient, b represents the second coefficient, c represents the third coefficient, d represents the fourth coefficient, e represents the fifth coefficient, and f represents the sixth coefficient.

5. A robot data processing device, It is characterized in that include: An acquisition module, used to acquire the current trajectory point of the robot and multiple trajectory points of the robot during movement; A fitting module, used for performing spline curve fitting based on the multiple trajectory points to obtain multiple spline curves; A determination module, for determining a plurality of transition curves by using a quintic polynomial based on the current trajectory point of the robot and the plurality of spline curves, wherein the plurality of transition curves are respectively connected between the current trajectory point and the first spline curve, and between two adjacent spline curves, and determining the plurality of transition curves by using a quintic polynomial based on the current trajectory point of the robot and the plurality of spline curves comprises: determining a first motion parameter and a second motion parameter based on the current trajectory point and the plurality of spline curves, wherein, in the case where the first motion parameter is the motion parameter corresponding to the current trajectory point, the second motion parameter is the motion parameter at the starting time of the first spline curve, and in the case where the first motion parameter is the motion parameter at the ending time of the former spline curve of the two adjacent spline curves, the second motion parameter is the motion parameter at the starting time of the latter spline curve of the two adjacent spline curves; determining the plurality of transition curves by using a quintic polynomial based on the current trajectory point of the robot and the plurality of spline curves, comprising: determining a first motion parameter and a second motion parameter based on the current trajectory point and the plurality of spline curves, wherein, in the case where the first motion parameter is the motion parameter corresponding to the current trajectory point, the second motion parameter is the motion parameter at the starting time of the first spline curve, and in the case where the first motion parameter is the motion parameter at the ending time of the former spline curve of the two adjacent spline curves, the second motion parameter is the motion parameter at the starting time of the latter spline curve of the two adjacent spline curves; determining the plurality of transition curves by using a quintic polynomial based on the current trajectory point and the plurality of spline curves a motion parameter and the second motion parameter, determining a plurality of coefficients of each transition curve; determining each transition curve based on the plurality of coefficients of each transition curve; the first motion parameter includes: a first position, a first speed and a first acceleration, the second motion parameter includes: a second position, a second speed and a second acceleration, wherein, based on the first motion parameter and the second motion parameter, determining the plurality of coefficients of the transition curve using the fifth-order polynomial includes: determining the first coefficient based on the first position; determining the second coefficient based on the first speed; determining the third coefficient based on the first acceleration; determining the fourth coefficient, the fifth coefficient and the sixth coefficient based on the first position, the first speed, the first acceleration, the second position, the second speed, the second acceleration, and a preset tracking time, wherein the fourth coefficient, the fifth coefficient and the sixth coefficient correspond to different times of the preset tracking time; A connection module is used to connect the two adjacent spline curves with the transition curve to obtain a gait trajectory curve of the robot.

6. The device according to claim 5, It is characterized in that Identify modules, including: a first determining unit, configured to determine a first motion parameter and a second motion parameter based on the current trajectory point and the plurality of spline curves; a second determining unit, configured to determine a plurality of coefficients of each transition curve based on the first motion parameter and the second motion parameter; The third determining unit is configured to determine each transition curve based on the plurality of coefficients of each transition curve.

7. A computer storage medium, It is characterized in that The computer storage medium stores a plurality of instructions, and the instructions are suitable for being loaded by a processor and executing the data processing method according to any one of claims 1 to 4.

8. A robot, It is characterized in that include: A processor and a memory; wherein the memory stores a computer program, and the computer program is suitable for being loaded by the processor and executing the data processing method as described in any one of claims 1 to 4.

Citation Information

Patent Citations

  • Time-beat-based time base jumping motion command system and algorithm

    CN108015772A

  • Robot NURBS track interpolation method

    CN112269356A