Robot smooth path planning method, electronic equipment and storage medium
By planning the smooth path of the robot, using the objective function of heavy parameters and parameter continuity conditions, the problem of robot inefficiency in multi-segment Cartesian motion is solved, and more efficient and smoother motion control is achieved.
Patent Information
- Application Number
- CN202510497080.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-18
- Publication Date
- 2025-08-15
AI Technical Summary
When a robot performs continuous multiple stages of Cartesian movement, frequent acceleration and deceleration lead to inefficiency, and frequent speed changes are harmful to the life of the motor and reducer.
By obtaining smooth point parameters and reparsing parameters, determine the inflection point position vector and pose in Cartesian space, and use the objective function that meets the parameter continuity conditions to plan the smooth path to reduce the coupling effect between the speed and the path, so as to achieve the smooth operation of the robot on the smooth path.
It improves the operating efficiency of the robot, reduces the wear of the motor and reducer, and achieves smoother motion control.
Smart Images

Figure CN120491630A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of robotics technology, and in particular to a robot smooth path planning method, electronic equipment, and storage medium. Background Art
[0002] In robot trajectory planning, if the desired trajectory of the robot's TCP is a fixed spatial shape, then the trajectory is planned in Cartesian space, such as a straight line or circular arc. This type of trajectory is called a TCP trajectory. When the robot executes a single Cartesian motion trajectory, its initial and final velocities are both 0. If the robot needs to complete multiple consecutive Cartesian motion segments, the velocity at the end of each segment will drop to 0, significantly reducing work efficiency. Frequent acceleration and deceleration will also shorten the life of the motor and reducer.
[0003] In view of the existing technical defects, how to provide a solution to improve the operating efficiency of robots is a technical problem that needs to be solved urgently by those skilled in the art. Summary of the Invention
[0004] The present application at least provides a robot smooth path planning method, electronic device and storage medium.
[0005] The first aspect of the present application provides a robot smooth path planning method, including: obtaining smooth point parameters and re-parameters corresponding to the smooth point parameters, the smooth point parameters including smooth inflection point parameters of the front path and smooth inflection point parameters of the rear path, the front path is the current moving path of the robot, the rear path is the moving path that the robot will enter, the re-parameters are the parameters obtained by re-parameterizing the parts that need to be smoothed in the front path and / or the rear path; based on the re-parameters, determining the inflection point position vector and the inflection point posture in Cartesian space, the inflection point position vector includes the target inflection point, The inflection point position vector of the exit point and the inflection point position vector of the target inflection point, the inflection point posture includes the inflection point posture of the target inflection point and the inflection point posture of the target inflection point, the target inflection point is the inflection point of the front path, and the target inflection point is the inflection point of the back path; using the objective function, heavy parameters, inflection point position vector and / or inflection point posture that meet the parameter continuity conditions, the smooth position and / or smooth posture of the smooth path are determined so as to control the robot to operate based on the smooth position and / or smooth posture of the smooth path, and the smooth path is the path corresponding to the part that needs to be smoothed between the front path and the back path.
[0006] A second aspect of the present application provides an electronic device, which includes a memory and a processor coupled to each other, and the processor is used to execute program instructions stored in the memory to implement the robot smooth path planning method in the above-mentioned first aspect.
[0007] A third aspect of the present application provides a computer-readable storage medium having program instructions stored thereon, which, when executed by a processor, implements the robot smooth path planning method in the first aspect.
[0008] In the above-mentioned scheme, the present application utilizes the re-parameters obtained by re-parameterizing the parts that need to be smoothed in the front path and / or the back path. The re-parameters are only the information for re-parameterizing the position information and do not carry the speed information, so that the smooth position and / or smooth posture of the smooth path determined based on the re-parameters can reduce the coupling effect of the speed and path. In addition, the smooth position and / or smooth posture of the smooth path determined by the objective function that meets the parameter continuity condition are continuous in multiple dimensions for the curves corresponding to the parts that need to be smoothed in the front path and the back path, which can make the control robot run smoother based on the smooth position and / or smooth posture of the smooth path, thereby improving the operation efficiency of the robot.
[0009] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The drawings herein are incorporated into and constitute a part of the specification. These drawings illustrate embodiments consistent with the present application and, together with the specification, are used to illustrate the technical solutions of the present application.
[0011] Figure 1 This is a flow chart of an embodiment of the robot smooth path planning method of the present application;
[0012] Figure 2 yes Figure 1 The sub-process diagram of step S12 in the robot smooth path planning method is shown;
[0013] Figure 3 is the path intention of an embodiment of the robot smooth path planning method of the present application;
[0014] Figure 4 This is a schematic diagram of the framework of an embodiment of the robot smooth path planning device of the present application;
[0015] Figure 5 This is a schematic diagram of the framework of an embodiment of the electronic device of the present application;
[0016] Figure 6 It is a schematic diagram of a framework of an embodiment of a computer-readable storage medium of the present application. DETAILED DESCRIPTION
[0017] The following describes the embodiments of the present application in detail with reference to the accompanying drawings.
[0018] In the following description, for the purpose of explanation rather than limitation, specific details such as specific system structures, interfaces, and technologies are provided to facilitate a thorough understanding of the present application.
[0019] The term "and / or" in this article is simply a description of the association relationship of associated objects, indicating that three relationships can exist. For example, A and / or B can represent three situations: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects are in an "or" relationship. In addition, "many" in this article means two or more than two. In addition, the term "at least one" in this article means any combination of at least two of any one or more of a plurality of. For example, including at least one of A, B, and C can mean including any one or more elements selected from the set consisting of A, B, and C.
[0020] In the present application, the execution entity for implementing the robot smooth path planning method described in the present application may be a robot smooth path planning device, an electronic device, etc. For example, the robot smooth path planning device may be provided in the robot or in an electronic device or server or other processing device that establishes a communication connection with the robot, wherein the electronic device may be a numerical control device, a user equipment (UE), a handheld device, a computing device, a vehicle-mounted device, etc. In some possible implementations, the robot smooth path planning method may be implemented by a processor calling computer-readable instructions stored in a memory.
[0021] See also Figure 1 , Figure 1 This is a flow chart of an embodiment of the robot smooth path planning method of the present application. Specifically, it can include the following steps:
[0022] Step S11: Obtain smoothing point parameters and weight parameters corresponding to the smoothing point parameters.
[0023] This application takes the robot as the execution subject of the robot smooth path planning method as an example, and the calculation logic is specifically executed by the controller or processor in the robot. The smoothing point parameters include the smoothing inflection point parameters of the front path and the smoothing inflection point parameters of the rear path. The front path is the current moving path of the robot. The rear path is the moving path that the robot will enter. The path corresponding to the part that needs to be smoothed between the front path and the rear path is the smooth path. The smoothing point parameters are used to represent the specified parameters of the smoothing inflection point and / or the smoothing inflection point in the smooth path. The smoothing point parameters can characterize the degree of smoothness expected for the front path and / or the rear path. In some application scenarios, the degree of smoothness expected for the front path and the rear path can be the same or different. The smoothing inflection point parameters characterize the degree of smoothness expected for the front path. The smoothing inflection point parameters characterize the degree of smoothness expected for the rear path.
[0024] In some application scenarios, the smoothing point parameters may be obtained by receiving user-entered smoothing point parameter values or directly using preset smoothing point parameters. In other application scenarios, the smoothing point parameters may be obtained by using historical smoothing point parameters at a certain moment as the smoothing point parameters, or by using the statistical value of historical smoothing parameters at several moments as the smoothing point parameters. These statistical values may be mean, mode, variance, standard deviation, etc. A historical moment is a moment before the current moment.
[0025] The reparameters are parameters obtained by reparameterizing the portion of the reference path that requires smoothing. The reference path includes the front segment and / or the back segment. Specifically, the reparameters are parameters obtained by reparameterizing the portion of the front segment and / or the back segment that requires smoothing. In some application scenarios, the reparameters can be obtained by calculating the reparameters based on the smoothing point parameters. In other application scenarios, the reparameters can be obtained by obtaining a pre-established correspondence between the smoothing point parameters and the reparameters, and then searching the reparameters based on the smoothing point parameters from the correspondence.
[0026] Exemplarily, when a parameterized function corresponding to a reference path in Cartesian space is obtained, the independent variables in the parameterized function corresponding to the reference path are reparameterized to obtain reparameters. The independent variables in the parameterized function corresponding to the reference path are functions of reparameters. The parameterized function corresponding to the reference path includes a front-segment parameterized function corresponding to the front-segment path and / or a back-segment parameterized function corresponding to the back-segment path.
[0027] In some application scenarios, the front-end path that needs to be smoothed is at least a portion of the path in the front-end path. The front-end path that needs to be smoothed is reparameterized, that is, the independent variable in the front-end parameterization function corresponding to the front-end path is reparameterized to obtain the reparameter. The independent variable in the front-end parameterization function corresponding to the front-end path is a function of the reparameter. In other application scenarios, the front-end path that needs to be smoothed is at least a portion of the path in the front-end path. The front-end path that needs to be smoothed is reparameterized, that is, the independent variable in the front-end parameterization function corresponding to the front-end path is reparameterized to obtain the reparameter. The independent variable in the front-end parameterization function corresponding to the front-end path is a function of the reparameter.
[0028] For example, the independent variable in the parameterized function of the preceding segment can be expressed as s1. The smooth inflection point parameter of the preceding segment path can be expressed as s 1z The independent variable in the parameterized function of the latter part can be expressed as s2. The smooth inflection point parameter of the latter part of the path can be expressed as s 2z The weight parameter can be denoted as t.
[0029] Based on the weight parameters, the position vector of the reference point of the reference path in the Cartesian space is determined. The reference point of the reference path includes the target inflection point and / or the target inflection point in the Cartesian space. The position vector of the reference point includes the inflection-out position vector of the target inflection point and / or the inflection position vector of the target inflection point. The position vector of the reference point can represent a position vector in the Cartesian space, and each component is a position vector. Exemplarily, in the case where the robot is a four-axis robot, the position vector of the reference point can be a four-dimensional vector. In the case where the robot is a six-axis robot, the position vector of the reference point can be a six-dimensional vector. It can be understood that the above-mentioned smoothing point parameters are values input into the interpolation / interpolation link.
[0030] Step S12: Based on the weight parameters, determine the inflection point position vector and the inflection point posture in Cartesian space.
[0031] The inflection point position vector includes the target inflection point's inflection position vector and the target inflection point's inflection position vector. The inflection point posture includes the target inflection point's inflection posture and the target inflection point's inflection posture. The target inflection point is the inflection point of the preceding path. The target inflection point is the inflection point of the following path.
[0032] The target inflection point is the inflection point of the preceding path. It is understood that when the target inflection point is on the preceding path, the target inflection point coincides with the inflection point of the preceding path. When the target inflection point is on a smooth path, the target inflection point coincides with the smooth inflection point of the smooth path. The target inflection point is the inflection point of the following path. It is understood that when the target inflection point is on the following path, the target inflection point coincides with the inflection point of the following path. When the target inflection point is on a smooth path, the target inflection point coincides with the smooth inflection point of the smooth path.
[0033] Specifically, the turning-out position vector of the target turning-out point can represent the position vector of the robot at the target turning-out point in Cartesian space, with each component being a position vector. The turning-out position vector of the target turning-in point can represent the position vector of the robot at the target turning-in point in Cartesian space, with each component being a position vector. It will be understood that the position vectors shown in this application are vectors / position information of the robot in Cartesian space, etc. Based on the weight parameters, the turning-out position vector of the target turning-out point and the turning-in position vector of the target turning-in point in Cartesian space are determined. In some application scenarios, step S12 can be performed by respectively calculating the turning-out position vector of the target turning-out point and the turning-in position vector of the target turning-in point based on the weight parameters. In other application scenarios, step S12 can be performed by obtaining a pre-established correspondence between the weight parameters and the turning-out position vector of the target turning-out point and the turning-in position vector of the target turning-in point, and then searching the corresponding relationship to obtain the turning-out position vector of the target turning-out point and the turning-in position vector of the target turning-in point based on the weight parameters. In other application scenarios, the above step S12 can be based on the weight parameter, the front-segment parameterized function corresponding to the front-segment path, and / or the back-segment parameterized function corresponding to the back-segment path, to determine the turning-out position vector of the target turning-out point and / or the turning-in position vector of the target turning-in point. It is understandable that the turning-out position vector of the target turning-out point and / or the turning-in position vector of the target turning-in point are position vectors that satisfy the front-segment parameterized function corresponding to the front-segment path and / or the back-segment parameterized function corresponding to the back-segment path.
[0034] Specifically, the turning-out posture of the target turning-out point can represent the posture of the robot at the target turning-out point in Cartesian space. The turning-out posture of the target turning-in point can represent the posture of the robot at the target turning-in point in Cartesian space. The turning-out posture of the target turning-out point and the turning-in posture of the target turning-in point in Cartesian space are determined based on the weight parameters. In some application scenarios, step S12 can be performed by respectively calculating the turning-out posture of the target turning-out point and the turning-in posture of the target turning-in point based on the weight parameters. In other application scenarios, step S12 can be performed by obtaining a pre-established correspondence between the weight parameters and the turning-out posture of the target turning-out point and the turning-in posture of the target turning-in point, and then searching the corresponding relationship based on the weight parameters to obtain the turning-out posture of the target turning-out point and the turning-in posture of the target turning-in point. In other application scenarios, step S12 can be performed by determining the turning-out posture of the target turning-out point and / or the turning-in posture of the target turning-in point based on the weight parameters, a front-segment posture curve corresponding to the front-segment path, and / or a rear-segment posture curve corresponding to the rear-segment path. It can be understood that the turning-out posture of the target turning-out point and / or the turning-in posture of the target turning-in point are postures that satisfy the front posture curve corresponding to the front path and / or the rear posture curve corresponding to the rear path.
[0035] For example, the target inflection point can be represented as s1. The inflection position vector of the target inflection point can be represented as r1(s1). The target inflection point can be represented as s2. The inflection position vector of the target inflection point can be represented as r2(s2). The inflection point posture can be represented as a posture (quaternion) curve. Among them, the inflection posture of the target inflection point can be represented as The turning posture of the target turning point can be expressed as
[0036] Step S13: Determine the smooth position and / or smooth posture of the smooth path using the objective function, weight parameter, inflection point position vector and / or inflection point posture that satisfy the parameter continuity condition.
[0037] The smooth path is the path corresponding to the portion that needs to be smoothed between the front path and the back path.
[0038] The smooth position and / or smooth posture of a smooth path are determined using an objective function, a weighted parameter, an inflection point position vector, and / or an inflection point posture that satisfy a parameter continuity condition so as to control the robot to operate based on the smooth position and / or smooth posture of the smooth path. The smooth path is a path corresponding to the portion to be smoothed between a preceding path and a succeeding path. In some application scenarios, the smooth position of a smooth path is determined using an objective function, a turn-out position vector, a turn-in position vector, and weighted parameters that satisfy a parameter continuity condition so as to control the robot to operate based on the smooth position of the smooth path. In other application scenarios, the smooth position of a smooth path is determined using an objective function, a turn-out posture, a turn-in posture, and weighted parameters that satisfy a parameter continuity condition so as to control the robot to operate based on the smooth posture of the smooth path. In other application scenarios, the smooth position and smooth posture of a smooth path are determined using an objective function, a weighted parameter, an inflection point position vector, and an inflection point posture that satisfy a parameter continuity condition so as to control the robot to operate based on the smooth position and / or smooth posture of the smooth path.
[0039] The parameter continuity condition is related to the selected re-parameters, and different parameter representations may result in different parameter continuity. Parameter continuity involves the parametric representation of the curve, focusing on how corresponding points change when the re-parameters change. Parameter continuity conditions include at least one of zero-order parameter continuity, first-order parameter continuity, and second-order parameter continuity. Specifically, zero-order parameter continuity requires that when the parameter is continuous at a certain point, the points on the curve also transition smoothly without sudden jumps. In addition to zero-order continuity, first-order parameter continuity also requires that the first-order derivative of the curve is also continuous when the parameter changes, that is, the tangent is continuous. Second-order parameter continuity further requires that the second-order derivative of the curve is also continuous when the parameter changes, that is, the curvature is continuous. The objective function is related to the re-parameters, and the objective function can represent the continuity of the points, tangents, and curvatures on the curve corresponding to each portion requiring smoothing in the preceding and / or succeeding path. It is understood that the multi-dimensionality on the curve corresponding to each portion requiring smoothing can be the points, tangents, and curvatures on the curve.
[0040] The objective function can be a curve that can characterize the smooth path between the front path and the back path, and the independent variable in the objective function is a heavy parameter. The smooth position and / or smooth posture of the smooth path can be the smooth position and / or smooth posture of the smooth path of the robot traveling on the smooth path in Cartesian space when the above-mentioned smooth point parameters are input in the interpolation / interpolation link. For example, the smooth position of the smooth path can be expressed as r m (t). The smoothed pose of the smoothed path can be expressed as
[0041] In some application scenarios, step S13 may involve pre-establishing a correspondence between the weight parameter and the smoothed position of the smoothed path based on the objective function, and then searching for the smoothed position of the smoothed path based on the weight parameter. In other application scenarios, the turn-out position vector, the turn-in position vector, and the weight parameter are input into the objective function, and the resulting value of the objective function is used as the smoothed position of the smoothed path.
[0042] In some application scenarios, after the above step S13, when the robot enters the smooth path, the robot is controlled to run based on the smooth position and / or smooth posture of the smooth path. At this time, the curve on which the robot runs on the smooth path satisfies geometric continuity and parameter continuity. Geometric continuity includes at least one of zero-order geometric continuity, first-order geometric continuity and second-order geometric continuity. Specifically, zero-order geometric continuity means that the curve is connected at a certain point without breaks. In addition to zero-order continuity, first-order geometric continuity also requires that the tangents of the curve at this point are the same. Second-order geometric continuity further requires that the curvature of the curve at this point is also the same. Geometric continuity is not affected by the selection of parameters. Even if the parameter representation changes, the curve still maintains the same geometric continuity as long as the above conditions are met.
[0043] This application takes into account that if the front path and the rear path are directly superimposed by vectors to form a smooth path, it depends on the speed of the original trajectory (for example, the front path and the rear path), and the speed curve of the original trajectory is changed while the trajectory is smoothed, resulting in a coupling effect between the speed and the path. When the vectors are superimposed, the paths and speeds of the front and back segments are superimposed separately. The speed of the trajectory is affected by the path (for example, the speed when going through a curve must be less than the speed of a straight line). After the path is smoothed, the smooth path is no longer a straight line but a smooth curve, and the speed is still superimposed according to the previously planned vectors, resulting in coupling, and the smooth path obtained in this way is low-order continuous.
[0044] The re-parameters of the present application are only information for re-parameterizing the position information and do not carry speed information, so that the smooth position and / or smooth posture of the smooth path determined based on the re-parameters can reduce the coupling effect of the speed and path.
[0045] It is understandable that the execution of steps S11 to S13 above in this application can be regarded as the implementation of a smoothing algorithm, specifically the implementation of a smoothing algorithm in Cartesian space. The smoothing algorithm adopted in this application is in Cartesian path. A Cartesian path is a path planned in Cartesian space, i.e., a six-dimensional pose space.
[0046] In the above-mentioned scheme, the present application utilizes the re-parameters obtained by re-parameterizing the parts that need to be smoothed in the front path and / or the back path. The re-parameters are only the information for re-parameterizing the position information and do not carry the speed information, so that the smooth position and / or smooth posture of the smooth path determined based on the re-parameters can reduce the coupling effect of the speed and path. In addition, the smooth position and / or smooth posture of the smooth path determined by the objective function that meets the parameter continuity condition are continuous in multiple dimensions for the curves corresponding to the parts that need to be smoothed in the front path and the back path, which can make the control robot run smoother based on the smooth position and / or smooth posture of the smooth path, thereby improving the operation efficiency of the robot.
[0047] See also Figure 2 , Figure 2 yes Figure 1 The sub-process diagram of step S12 in the robot smooth path planning method is shown.
[0048] In some embodiments, the above-mentioned step S12 may include the following steps: Step S21: Obtain the front and rear segment parameterized functions and the front and rear segment posture curves in Cartesian space. The front and rear segment parameterized functions include the front segment parameterized function corresponding to the front segment path and the rear segment parameterized function corresponding to the rear segment path. The front and rear segment posture curves include the front segment posture curve corresponding to the front segment path and the rear segment posture curve corresponding to the rear segment path. Step S22: Determine the target inflection point and the target inflection point based on the weight parameters. Step S23: Determine the inflection point position vector using the target inflection point, the target inflection point and the front and rear segment parameterized functions. Step S24: Determine the inflection point posture using the target inflection point, the target inflection point and the front and rear segment posture curves.
[0049] The front-end parameterization function is used to represent the parameterized expression function of the front-end path. The back-end parameterization function is used to represent the parameterized expression function of the back-end path. The independent variables in the front-end parameterization function and the back-end parameterization function are different. For example, two parameterized paths in Cartesian space, or position curves, are known: the front-end parameterization function r1(s1) and the back-end parameterization function r2(s2). In the front-end parameterization function, the independent variable is s1, and the value of the independent variable s1 is s1∈[0,1]. In the back-end parameterization function, the independent variable is s2, and the value of the independent variable s2 is s2∈[0,1].
[0050] The above step S21 may be to obtain a parameterized path of the front segment path and / or the back segment path input by the user in the Cartesian space.
[0051] The above step S23 may be to determine the inflection position vector of the target inflection point using the front parameterized function and the target inflection point, and to determine the inflection position vector of the target inflection point using the back parameterized function and the target inflection point.
[0052] The above-mentioned step S22 can be based on the correlation between the weight parameter and the target inflection point and / or the target inflection point, and determine the target inflection point corresponding to the smooth inflection point parameter and / or the target inflection point corresponding to the smooth inflection point parameter. In some application scenarios, after the above-mentioned step S22, the above-mentioned step S23 can be directly using the target inflection point as the independent variable in the front-end parameterized function, obtaining the value of the front-end parameterized function, and using the value of the front-end parameterized function as the inflection position vector of the target inflection point. In other application scenarios, after the above-mentioned step S22, the above-mentioned step S23 can be pre-processing the target inflection point to obtain a new target inflection point, using the new target inflection point as the independent variable in the front-end parameterized function, obtaining the value of the front-end parameterized function, and using the value of the front-end parameterized function as the inflection position vector of the target inflection point. The pre-processing can be to calibrate and / or modify the target inflection point to obtain the new target inflection point. The modification process can be to increase or decrease the value of the target inflection point according to a preset correction value. The preset correction value can be determined according to the smoothing accuracy requirement. The above target inflection point and the new target inflection point can be the same or different.
[0053] In some application scenarios, after step S22, step S23 may be performed by directly using the target inflection point as the independent variable in the back-end parameterized function to obtain the value of the back-end parameterized function, and using the value of the back-end parameterized function as the turning-in position vector of the target inflection point. In other application scenarios, after step S22, step S23 may be performed by pre-processing the target inflection point to obtain a new target inflection point, using the new target inflection point as the independent variable in the back-end parameterized function to obtain the value of the back-end parameterized function, and using the value of the back-end parameterized function as the turning-in position vector of the target inflection point. The pre-processing may be performed by correcting and / or revising the target inflection point to obtain a new target inflection point. The correction process may be performed by increasing or decreasing the value of the target inflection point according to a preset correction value. The preset correction value may be determined based on smoothing accuracy requirements. The target inflection point and the new target inflection point may be the same or different.
[0054] The front-end posture curve is used to represent the expression function of the posture curve of the front path. The back-end posture curve is used to represent the expression function of the posture curve of the back path. The independent variables in the front-end posture curve and the back-end posture curve are different. For example, two parameterized paths in Cartesian space are known, that is, position curves, namely the front-end posture curve and the back-end posture curve. and the posterior posture curve The independent variable in the front posture curve is s1, and the value of the independent variable s1 is s1∈[0,1]. The independent variable in the back posture curve is s2, and the value of the independent variable s2 is s2∈[0,1].
[0055] The above step S21 may be to obtain the posture curve of the front path and / or the back path input by the user in the Cartesian space.
[0056] The above step S24 may be to determine the turning-out posture of the target turning-out point by using the front posture curve and the target turning-out point, and to determine the turning-in posture of the target turning-in point by using the back posture curve and the target turning-in point.
[0057] The above-mentioned step S22 can be based on the correlation between the weight parameter and the target inflection point and / or the target inflection point, and determine the target inflection point corresponding to the smooth inflection point parameter and / or the target inflection point corresponding to the smooth inflection point parameter. In some application scenarios, after the above-mentioned step S22, the above-mentioned step S24 can be directly using the target inflection point as the independent variable in the preceding posture curve to obtain the value of the preceding posture curve, and using the value of the preceding posture curve as the inflection posture of the target inflection point. In other application scenarios, after the above-mentioned step S22, the above-mentioned step S24 can be pre-processing the target inflection point to obtain a new target inflection point, using the new target inflection point as the independent variable in the preceding posture curve, obtaining the value of the preceding posture curve, and using the value of the preceding posture curve as the inflection posture of the target inflection point. The pre-processing can be to calibrate and / or modify the target inflection point to obtain a new target inflection point. The modification process can be to increase or decrease the value of the target inflection point according to a preset correction value. The preset correction value can be determined according to the smoothing accuracy requirement. The above target inflection point and the new target inflection point may be the same as or different from each other.
[0058] In some application scenarios, after the above-mentioned step S22, the above-mentioned step S24 can be to use the target inflection point directly as the independent variable in the back-end posture curve to obtain the value of the back-end posture curve, and use the value of the back-end posture curve as the turning-in posture of the target inflection point. In other application scenarios, after the above-mentioned step S22, the above-mentioned step S24 can be to pre-process the target inflection point to obtain a new target inflection point, use the new target inflection point as the independent variable in the back-end posture curve, obtain the value of the back-end posture curve, and use the value of the back-end posture curve as the turning-in posture of the target inflection point. Among them, the pre-processing can be to calibrate and / or correct the target inflection point to obtain a new target inflection point. The correction process can be to increase or decrease the value of the target inflection point according to a preset correction value. The preset correction value can be determined according to the smoothing accuracy requirement. The above-mentioned target inflection point and the new target inflection point can be the same or different.
[0059] It can be considered that only using heavy parameters that do not involve speed information to determine the turning-out position vector of the target turning-out point and the turning-in position vector of the target turning-in point also does not involve speed information, and the turning-out posture of the target turning-out point and the turning-in posture of the target turning-in point also do not involve speed information, thereby enabling the smooth position and / or smooth posture of the smooth path subsequently determined based on the heavy parameters to reduce the coupling effect of speed and path.
[0060] In some embodiments, step S22 may include the following steps: first, obtaining a front-segment smoothing function and a back-segment smoothing function. The front-segment smoothing function is used to represent the association between the front-segment path and the smooth inflection point parameter, and the back-segment smoothing function is used to represent the association between the back-segment path and the smooth inflection point parameter. Based on the weight parameter and the front-segment smoothing function, a target inflection point is determined. Based on the weight parameter and the back-segment smoothing function, a target inflection point is determined.
[0061] The front-end smoothing function may be an expression function obtained by linearly pre-transforming the portion of the front-end path that needs to be smoothed. The back-end smoothing function may be an expression function obtained by linearly pre-transforming the portion of the back-end path that needs to be smoothed.
[0062] Specifically, the form of the front-end smoothing function can refer to formula (1), and the form of the back-end smoothing function can refer to formula (2):
[0063] s1(t)=(1-s 1z )×t+s 1z Formula (1);
[0064] s2(t)=s 2z ×t formula (2);
[0065] Among them, the linear domain transformation is performed on the parts that need to be smoothed in the front path and the back path respectively to obtain the above formulas (1) and (2). 1z It can represent the smooth inflection point parameter, s1∈[s 1z ,1]. t can represent a heavy parameter, parameter t∈[0,1]. s1(t) can represent the value of the previous smoothing function, that is, the smoothing inflection point parameter is s 1z When , the value of the target inflection point. At this time, s1(t) refers to s1. 2z It can represent the smooth inflection point parameter, s2∈[0,s 2z ]. s2(t) can represent the value of the latter smoothing function, that is, the smoothing inflection point parameter is s 2z When , the value of the target inflection point is . In this case, s2(t) refers to s2. In some application scenarios, the front path that needs to be smoothed is reparameterized, that is, s1 is a function of t. Among them, the value of s1 is within the first range, for example, the value of the first range can be [s1z ,1]. In other application scenarios, the back path that needs to be smoothed is reparameterized, that is, s2 is also a function of t. The value of s2 is in the second range, for example, the second range can be [0,s 2z It can be understood that, using the weight parameter t, the front path that needs to be smoothed (s1 takes [s 1z ,1]) and the latter path (s2 takes [0,s 2z ]) is reparameterized to obtain the front-end smoothing function and the back-end smoothing function. In the front-end smoothing function, the target inflection point s1 is a function of the reparameter t. In the back-end smoothing function, the target inflection point s2 is also a function of t. The front-end smoothing function and the back-end smoothing function need to satisfy: when the value range of the reparameter t is [0,1], the value range of s1 is [s 1z ,1], so the above formula (1) is obtained. When the value range of the weight parameter t is [0,1], the value range of s1 is [0,s 2z ], so we have the above formula (2).
[0066] In some application scenarios, the target inflection point can be determined by directly using the weight parameter and the smooth inflection parameter to input the front-segment smoothing function to obtain the value of the front-segment smoothing function, and using the value of the front-segment smoothing function as the value of the target inflection point. In other application scenarios, the target inflection point can be determined by preprocessing the value of the front-segment smoothing function to obtain a new value of the front-segment smoothing function, and using the new value of the front-segment smoothing function as the value of the target inflection point. The preprocessing can be to calibrate and / or correct the value of the front-segment smoothing function to obtain the new value of the front-segment smoothing function. The correction process can be to increase or decrease the value of the front-segment smoothing function according to a preset correction value. The preset correction value can be determined according to the smoothing accuracy requirement. The value of the above-mentioned front-segment smoothing function and the value of the new front-segment smoothing function can be the same or different.
[0067] In some application scenarios, the target inflection point can be determined by directly using the weight parameter and the smoothing out parameter to input the posterior smoothing function to obtain the value of the posterior smoothing function, and using the value of the posterior smoothing function as the value of the target inflection point. In other application scenarios, the target inflection point can be determined by preprocessing the value of the posterior smoothing function to obtain a new value of the posterior smoothing function, and using the new value of the posterior smoothing function as the value of the target inflection point. The preprocessing can be to calibrate and / or correct the value of the posterior smoothing function to obtain the new value of the posterior smoothing function. The correction process can be to increase or decrease the value of the posterior smoothing function according to a preset correction value. The preset correction value can be determined according to the smoothing accuracy requirement. The value of the posterior smoothing function and the value of the new posterior smoothing function can be the same or different.
[0068] It can be considered that only using the re-parameters that do not involve speed information to determine the values of the target inflection point and the target inflection point does not involve the influence of speed information, thereby enabling the smooth position and / or smooth posture of the smooth path subsequently determined based on the re-parameters to reduce the coupling effect of speed and path.
[0069] In some embodiments, before step S13, the robot smooth path planning method may further include the following steps: obtaining a superposition function. The superposition function is a multi-parameter polynomial function that satisfies a parameter continuity condition; constructing a first objective function based on the superposition function and the parameterized functions of the preceding and following segments; and / or constructing a second objective function based on the superposition function and the posture curves of the preceding and following segments.
[0070] In some application scenarios, the step of obtaining the superposition function may be to use a preset superposition function that meets the requirements as the superposition function. In other application scenarios, the step of obtaining the superposition function may be to construct a superposition function based on the number of parameters and the coefficients meet the parameter continuity condition.
[0071] In some application scenarios, a first objective function is constructed based on the superposition function, the front-end parameterized function, and the back-end parameterized function. In other application scenarios, a second objective function is constructed based on the superposition function, the front-end posture curve, and the back-end posture curve. In other application scenarios, the first objective function is constructed based on the superposition function, the front-end parameterized function, and the back-end parameterized function, and the second objective function is constructed based on the superposition function, the front-end posture curve, and the back-end posture curve.
[0072] The independent variable in the superposition function is a multi-parameter polynomial function that satisfies the parameter continuity condition. At least a portion of the first objective function includes the superposition function. The first objective function can be determined based on the superposition function. The parameter continuity condition can be that the derivative of the position vector corresponding to the first objective function determined based on the superposition function satisfies the parameter third-order continuity. The derivatives of the position vector corresponding to the first objective function are the first-order derivative, the second-order derivative, and the third-order derivative, respectively. In some application scenarios, the first objective function can be constructed by utilizing the relationship between the superposition function, the front-end parameterized function, and the back-end parameterized function to determine the first objective function. The first objective function includes at least the superposition function, the front-end parameterized function, and the back-end parameterized function. In other application scenarios, the first objective function includes at least a portion of the superposition function, at least a portion of the front-end parameterized function, and at least a portion of the back-end parameterized function.
[0073] The independent variable in the superposition function is a multi-parameter polynomial function that satisfies the parameter continuity condition. At least a portion of the second objective function includes the superposition function. The second objective function can be determined based on the superposition function. The parameter continuity condition can be that the derivative of the posture corresponding to the second objective function determined based on the superposition function satisfies the parameter third-order continuity. The derivatives of the posture corresponding to the second objective function are respectively the first-order derivative, the second-order derivative, and the third-order derivative. In some application scenarios, the second objective function can be constructed by utilizing the relationship between the superposition function, the front-end posture curve, and the rear-end posture curve to determine the second objective function. The second objective function includes at least the superposition function, the front-end posture curve, and the rear-end posture curve. In other application scenarios, the second objective function includes at least a portion of the superposition function, at least a portion of the front-end posture curve, and at least a portion of the rear-end posture curve.
[0074] For example, the first objective function can be expressed as r m (t). The parameterized function of the front section can be expressed as r1(s1). The parameterized function of the back section can be expressed as r2(s2). The superposition function can be expressed as p(t). The second objective function can be expressed as The front posture curve can be expressed as The latter posture curve can be expressed as
[0075] In some embodiments, step S11 may include the following steps: first, obtaining a path parameter function of the smoothed path. The path parameter function is an expression function obtained by reparameterizing the smoothed path. Then, determining a reparameter based on the path parameter function and the smoothing point parameters.
[0076] In some application scenarios, the weight parameter may be determined based on a path parameter function and a smooth inflection point parameter. In some application scenarios, the weight parameter may be determined based on a path parameter function and a smooth inflection point parameter. In some application scenarios, the weight parameter may be determined based on a path parameter function and a smooth inflection point parameter. In some application scenarios, the weight parameter may be determined based on a path parameter function, a front-segment smoothing function, and a rear-segment smoothing function. In some application scenarios, the weight parameter may be determined based on a path parameter function, a front-segment smoothing function, a rear-segment smoothing function, and a smooth inflection point parameter.
[0077] In some embodiments, the step of obtaining a path parameter function for a smooth path may include the following steps: first, taking the difference between the preceding smoothing function and the smoothing inflection point parameter as a first difference, and the difference between the succeeding smoothing function and the preceding smoothing function as a second difference. Then, taking the sum of the preset value and the second difference as a first sum, and multiplying the superposition function and the first sum as a target product. Next, taking the sum of the first difference and the target product as a second sum, and constructing a path parameter function based on the second sum.
[0078] The independent variable in the path parameter function of the smooth path may be a heavy parameter. The step of constructing the path parameter function based on the second sum may be determining the second sum as the value of the path parameter function.
[0079] Specifically, the path parameter function of the smooth path can refer to formula (3):
[0080] s m (t)=s1(t)+p(t)×(s2(t)+X-s1(t))-s 1z Formula (3);
[0081] The smooth path is transformed into a path parameter function. The range of the parameter is t∈[0,1]. m (t) can represent the path parameter function of the smooth path. p(t) can represent the superposition function. 1z It can represent the smooth inflection point parameter. s1(t) can represent the front-end smoothing function. s2(t) can represent the back-end smoothing function. X can represent a preset value, for example, the preset value can be 1.
[0082] In some embodiments, the step of obtaining the superposition function may include the following steps: first, determining a first constraint of the superposition function based on the path parameter function. The first constraint is used to represent the value of the superposition function when the weight parameter takes an extreme value. Then, determining a second constraint of the superposition function based on the parameter continuity condition. The second constraint is used to represent the value of the superposition function when the superposition function satisfies the parameter continuity condition. Subsequently, determining the number of terms and coefficients in the superposition function based on the first constraint and the second constraint.
[0083] At least a portion of the path parameter function includes an overlay function. There is an association between the path parameter function and the overlay function. The independent variables in both the path parameter function and the overlay function are re-parameters. When the re-parameters are at their maximum values, the first constraint condition is related to the value of the path parameter function. The maximum values of the re-parameters include the minimum and / or maximum values of the re-parameters. The first constraint condition includes the values of the path parameter function and the overlay function when the re-parameters are at their maximum values.
[0084] Among them, the superposition function is a polynomial function, and the path parameter function s m ∈[0,1-s 1z +s 2z ], the first constraint condition can satisfy the following formulas (4), (5), (6) and (7):
[0085] s m (0)=0 formula (4);
[0086] s m (1) = 1-s 1z +s 2z Formula (5);
[0087] p(0)=0 Formula (6);
[0088] p(1)=1 Formula (7);
[0089] It can be understood that by substituting the above formulas (1) to (3) into the above formulas (4) and (5), the above formulas (6) and (7) can be obtained. The above formula (4) can represent the value of the path parameter function when the independent variable re-parameter in the path parameter function takes the minimum value, that is, when the re-parameter takes 0. The specific value of the path parameter function is s m (0) is 0. The above formula (5) can express the value of the path parameter function when the independent variable re-parameter in the path parameter function takes the maximum value, that is, when the re-parameter takes 1. The specific value of the path parameter function is s m (1) is 1-s 1z +s 2z The above formula (6) can express the value of the superposition function when the independent variable re-parameter in the superposition function takes the minimum value, that is, when the re-parameter takes 0, and the specific value of the superposition function p(0) is 0. The above formula (7) can express the value of the superposition function when the independent variable re-parameter in the superposition function takes the maximum value, that is, when the re-parameter takes 1, and the specific value of the superposition function p(1) is 1.
[0090] In some embodiments, the step of constructing the first objective function based on the superposition function and the preceding and following parameterized functions may include the following steps: first, taking the difference between the following parameterized function and the preceding parameterized function as a first candidate difference. Then, multiplying the candidate difference by the superposition function as a first candidate product. Subsequently, taking the sum of the preceding parameterized function and the candidate product as a first candidate sum. Next, defining the first objective function based on the first candidate sum and the smoothed position of the smoothed path.
[0091] Specifically, the first objective function can refer to formula (8):
[0092] r m(t) = r1(s1) + p(t) × (r2(s2) - r1(s1)) Formula (8);
[0093] Among them, the first objective function can be expressed as r m (t). The parameterized function of the front segment can be expressed as r1(s1). The parameterized function of the back segment can be expressed as r2(s2). The superposition function can be expressed as p(t). The first objective function can be the result of polynomial vector superposition of the front segment path and the back segment path. It can be understood that the vector superposition method interpolates the smooth path by adding space vectors between the smooth turning point of the front segment path and the smooth turning point of the back segment path in the two paths that need to be smoothed, and the final smooth path will form an arc in space.
[0094] It can be argued that using only re-parameters that do not involve velocity information to determine the first objective function also means that it is not affected by velocity information, thereby enabling the smoothed position of the smoothed path subsequently determined based on the re-parameters to reduce the coupling effect of velocity and path. Furthermore, the re-parameters in the first objective function can satisfy parameter continuity. Consequently, the smoothed position of the smoothed path determined using the first objective function that satisfies the parameter continuity condition is continuous in multiple dimensions for the curves corresponding to the various smoothed portions of the preceding and succeeding paths. This allows the robot to operate more smoothly based on the smoothed position of the smoothed path, thereby improving the robot's operational efficiency.
[0095] The parametric continuity condition indicates that the smoothed path and the reference path must satisfy parametric third-order continuity at the connection point. The reference path is a non-smoothed path, that is, the aforementioned front-end path and / or the aforementioned back-end path. The derivative of the position vector corresponding to the objective function determined by the superposition function satisfies parametric third-order continuity. In some application scenarios, the first-order, second-order, and third-order derivatives of the position vector corresponding to the objective function also satisfy parametric third-order continuity.
[0096] Specifically, the parameter continuity conditions can refer to the following formulas (9) to (16):
[0097] r m (t)| t=0 =r1(s1(t))| t=0 Formula (9);
[0098]
[0099] r m (t)| t=1 =r2(s2(t)) | t=1 Formula (13);
[0100]
[0101] Wherein, s1(t) can be the value of the target inflection point obtained by the above formula (1). r1(s1(t)) can be the inflection position vector of the above target inflection point. s2(t) can be the value of the target inflection point obtained by the above formula (2). r2(s2(t)) can be the inflection position vector of the above target inflection point. m (t) can represent the first objective function or the value of the first objective function, that is, the smooth position of the smooth path. It can be understood that the parameters in the above formulas (9) to (16) can refer to the parameter diagrams in the above formulas (1) to (8), and will not be repeated here. The parameter continuity condition is also the third-order continuity condition, that is, the above formulas (9) to (16) can obtain several values of the superposition function in the second constraint condition. The several values can be the value of the superposition function when the multi-parameter corresponding to the independent variable in the superposition function takes an extreme value, the first-order derivative of the superposition function with respect to the multi-parameter, the second-order derivative of the superposition function with respect to the multi-parameter, and the third-order derivative of the superposition function with respect to the multi-parameter. The several values can be p(0)=0, p′(0)=0, p″(0)=0, p″′(0)=0, p(1)=1, p′(1)=1, p″(1)=1, p″′(1)=1. The second constraint condition satisfies the above formula (6) and the above formula (7) at the same time, and the superposition function p(t) is a seventh-order polynomial.
[0102] In some embodiments, the step of constructing the second objective function based on the superposition function and the front and rear posture curves may include the following steps: determining the target angle based on the turning-out posture of the target turning-out point and the turning-in posture of the target turning-in point; and determining the second objective function based on the target angle and the superposition function. Specifically, the second objective function may refer to formula (17):
[0103]
[0104] The second objective function is obtained by performing polynomial vector spherical interpolation on the posture curves of the front path and the back path. The remaining parameters in formula (17) are consistent with the above formulas (1) to (16) and are not repeated here. θ can represent the target angle. The superposition function can be expressed as p(t). The second target function can be the result of polynomial vector superposition of the front path and the back path. It can be understood that the vector superposition method interpolates the smooth path by adding spatial vectors between the smooth inflection point of the front path and the smooth inflection point of the back path in the two paths to be smoothed. The final smooth path will form an arc in space.
[0105] It can be argued that using only re-parameters that do not involve velocity information to determine the second objective function also means that it is not affected by velocity information, thereby enabling the smooth posture of the smooth path subsequently determined based on the re-parameters to reduce the coupling effect of velocity and path. Furthermore, the re-parameters in the second objective function can satisfy parameter continuity. Consequently, the smooth posture of the smooth path determined using the second objective function that satisfies the parameter continuity condition has continuous curves in multiple dimensions corresponding to the portions requiring smoothing in the preceding and succeeding paths. This allows the robot to operate more smoothly based on the smooth posture of the smooth path, thereby improving the robot's operational efficiency.
[0106] The parameter continuity condition indicates that the smoothed path and the reference path must satisfy third-order parameter continuity at the connection point. The reference path is a non-smooth path, that is, the aforementioned front path and / or back path. The derivative of the posture corresponding to the objective function determined by the superposition function satisfies third-order parameter continuity. In some application scenarios, the first-order, second-order, and third-order derivatives of the posture corresponding to the objective function also satisfy third-order parameter continuity.
[0107] Specifically, the parameter continuity conditions can refer to the following formulas (18) to (25):
[0108]
[0109] Where t can be a weighted parameter, and s1(t) can be the value of the target inflection point obtained from the above formula (1). It can be the turning-out posture of the target turning-out point. s2(t) can be the value of the target turning-in point obtained by the above formula (2). It can be the turning posture of the target turning point mentioned above. It can represent the second objective function or the value of the second objective function, that is, the smooth attitude of the smooth path. The smooth segment and the non-smooth segment must satisfy the third-order continuity of the attitude quaternion at the connection point.
[0110] It can be understood that the parameters in the above formulas (18) to (25) can refer to the parameter diagrams in the above formulas (1) to (8), and will not be repeated here. The parameter continuity condition is also the third-order continuity condition, that is, the above formulas (18) to (25) can obtain several values of the superposition function in the second constraint condition. The several values can be the value of the superposition function when the multi-parameter corresponding to the independent variable in the superposition function takes an extreme value, the first-order derivative of the superposition function with respect to the multi-parameter, the second-order derivative of the superposition function with respect to the multi-parameter, and the third-order derivative of the superposition function with respect to the multi-parameter. The several values can be p(0)=0, p′(0)=0, p″(0)=0, p″′(0)=0, p(1)=1, p′(1)=1, p″(1)=1, p″′(1)=1. The second constraint condition satisfies the above formula (6) and the above formula (7) at the same time, and by analogy, the superposition function p(t) is a seventh-order polynomial.
[0111] In other application scenarios, the parameter continuity condition, that is, the third-order continuity condition of the position vector and the attitude, that is, the above formulas (9) to (16) and (18) to (25), can be used to obtain several values of the superposition function in the second constraint condition. The several values can be the values of the superposition function when the multi-parameter corresponding to the independent variable in the superposition function takes an extreme value, the first-order derivative of the superposition function with respect to the multi-parameter, the second-order derivative of the superposition function with respect to the multi-parameter, and the third-order derivative of the superposition function with respect to the multi-parameter. The several values can be p(0)=0, p′(0)=0, p″(0)=0, p″′(0)=0, p(1)=1, p′(1)=1, p″(1)=1, p″′(1)=1. The second constraint condition satisfies the above formula (6) and the above formula (7) at the same time, and the superposition function p(t) is a seventh-order polynomial.
[0112] Specifically, the expression of the superposition function can refer to formula (26):
[0113] p(t)=a+bt+ct 2 +dt 3 +et 4 +ft 5 +gt 6 +ht 7 Formula (26);
[0114] Among them, p(t) can represent a superposition function. t can represent a weight parameter. a, b, c, d, e, f, g, h represent the coefficients of the zeroth power, first power, second power, third power, fourth power, fifth power, sixth power and seventh power of the weight parameter t, respectively. In some application scenarios, after iterating the above formula (1) to the above formula (8), the above formula (9) to the above formula (16) and / or the above formula (18) to the above formula (25), the number of terms and the coefficients of each power of the above formula (26) are calculated. Exemplarily, the values of a, b, c, and d are all 0. The values of e, f, g, and h are 35, -84, 70, and -20, respectively. Specifically, the above formula (26), that is, the superposition function, can be expressed as: p(t) = 35×t 4 -84×t 5 +70×t 6 -20×t 7 .
[0115] See also Figure 3 , Figure 3 This is the path intention of an embodiment of the robot smooth path planning method of the present application.
[0116] like Figure 3 As shown in Figure 2, the robot's path at a certain moment includes the non-smooth part r1(s) in the front path, the non-smooth part r2(s) in the back path, and the smooth path r(s). The part that needs to be smoothed in the latter part of the path It is understandable that if Figure 3 For the remaining parameters shown, please refer to the above content and will not be repeated here. For example, the smooth path is interpolated, and the parameterized path construction corresponding to the smooth path is completed, that is, the objective function is constructed. The first objective function in Cartesian space is represented by the position curve r m (s m ). The second objective function in Cartesian space is expressed as the posture curve Two parameterized paths are known, where the position curves are r1(s1) and r2(s2), and the attitude (quaternion) curves are and s1,s2∈[0,1]. The user specifies the smooth distance between the front and back paths to obtain the parameters corresponding to the smooth turning points of the two paths: s1=s 1z , s2=s 2z . Construct a connection r1(s 1z )、r2(s 2z ) path curve r m (s m ) and a connection Posture curve where s m ∈[0,1-s 1z +s 2z ], the independent variables s of the first and second objective functions in Cartesian space m ∈[0,1-s 1z +s 2z ], calculate the position vector of the path point corresponding to the smoothing point parameter in Cartesian space. From the above formulas (1), (2), (3) and (26), we can know that the path point parameter s of the smoothing path is m is an octave polynomial with weight parameter t, and when weight parameter t∈[0,1], the path point parameter s of the smooth path is m It is monotonically increasing with respect to t, so the path point parameter s can be solved using the bisection method or Newton iteration method. m The corresponding weight parameter t. Then, the above formulas (1) and (2) can be used to calculate the values of the target turning point parameter s1 in the front path and the target turning point parameter s2 in the back path, thereby obtaining the front path position vector r1(s1) and the attitude quaternion corresponding to s1. The position vector r2(s2) and attitude quaternion of the subsequent path point corresponding to s2 The seventh-order polynomial corresponding to the weight parameter t can be calculated from the above formula (26), which is the value of the superposition function p(t). Finally, substitute r1(s1), r2(s2), and p(t) into formula (8) to obtain the position vector of the smooth segment path point. Substitute p(t) into formula (17) to obtain the smooth segment posture quaternion.
[0117] It can be understood that, first, the two parameterized paths in Cartesian space are input as the front parameterized function j1(s1) and the back parameterized function j2(s2), s1, s2∈[0,1]. The smooth inflection point parameter s of the front path specified by the user is 1z , and the smooth inflection point parameter s of the subsequent path 2z Then, the front path and the back path that need to be smoothed are transformed into linear domain by the above formula (1) and formula (2), that is, after parameter transformation, the position r1 and r2, the posture and is a function of the weight parameter t. Then the path of the smooth segment is transformed by the above formula (3), that is, after the parameter transformation, the path of the smooth segment r m and posture is a function of the weight parameter t. The parameter transformation form is the above formula (3), which needs to satisfy the above formulas (4) and (5), and then derive the polynomial function, that is, the conditions that the superposition function p(t) needs to satisfy, namely the above formulas (6) and (7). Next, the part of the front path that needs to be smoothed and the part of the back path that needs to be smoothed are superimposed by polynomial vectors to obtain a smoothed path segment, and the superposition form is the above formula (8) and / or the above formula (17), wherein the superposition function is still a polynomial function. The above formula (8) and / or the above formula (17) are the same as the superposition function in the above formula (3). Then, the smoothed position curve and the non-smooth part position curve of the front path and the non-smooth part position curve of the back path need to satisfy parameter third-order continuity at the connection point. The smoothed posture curve and the non-smooth part posture curve of the front path and the non-smooth part posture curve of the back path need to satisfy parameter third-order continuity at the connection point. The smoothed path segment, i.e., the smoothed path, the non-smoothed portion of the preceding path, and the non-smoothed portion of the following path, must satisfy third-order parameter continuity (parameter continuity condition) at the connection point, i.e., the above-mentioned formulas (9) to (16) and / or (18) to (25). This leads to the derivation of the eight conditions that the polynomial function superposition function p(t) must satisfy, including the above-mentioned formulas (6) to (7). Therefore, the superposition function p(t) is determined to be a seventh-order polynomial, and its eight coefficients are calculated, i.e., formula (26).
[0118] After the objective function is constructed, the objective function of the smooth path segment is finally obtained, that is, the position curve of the smooth path segment is formula (8), and the posture curve of the smooth path segment is formula (17). m ∈[0,1-s 1z +s 2z ] The process of obtaining the position vector is as follows: According to the above formula (3), the path parameter function s m and the smoothing point parameter calculation re-parameter t; according to the above formulas (1) to (2), the target inflection point s1 and the target inflection point s2 are calculated by the re-parameter t; according to the input parameterized path, that is, the front-end parameterized function and the back-end parameterized function, the target inflection point s1 and the target inflection point s2 are used to obtain the target inflection point inflection position vector r1(s1) and the target inflection point inflection position vector r2(s2); according to the above formula (8), the smoothing position r of the smoothing path is calculated by the target inflection point inflection position vector r1(s1) and the target inflection point inflection position vector r2(s2) and the re-parameter t. m , which is the position vector of the smooth segment, also known as the path parameter s during interpolation m ∈[0,1-s 1z +s 2z] Get the Cartesian position. The turning posture of the target turning point is obtained from the target turning point s1 and the target turning point s2 and the turning posture of the target turning point According to the above formula (8), the turning posture of the target turning point is and the turning posture of the target turning point and weight parameter t to calculate the smooth pose of the smooth path This is the posture of the smooth segment, also known as the path parameter s during interpolation. m ∈[0,1-s 1z +s 2z ]Get the smooth pose.
[0119] It can be considered that the execution of steps S11 to S13 above in this application can be regarded as the implementation of a smoothing algorithm, specifically the implementation of a smoothing algorithm in Cartesian space. The smoothing algorithm proposed in this application can ensure that the smoothed segments and non-smoothed segments meet third-order geometric continuity, and the smoothed position of the smoothed path meets geometric continuity. The smoothing algorithm proposed in this application can ensure that the smoothed segments and non-smoothed segments meet third-order parameter continuity, and the smoothed position of the smoothed path meets parameter continuity. The smoothing algorithm proposed in this application performs a linear domain transformation on the preceding and following segments and a higher-order domain transformation on the smoothed segment path, so that the path parameter s of the smoothed segment and the reparameter t meet a monotonically increasing relationship, facilitating the reverse solution of the reparameter t from the path parameter s. The smoothing algorithm proposed in this application uses a reparameterization method, treating the path parameter as a smoothing object. That is, in Cartesian space, the n-dimensional components are treated as the seventh smoothing dimension, and the path parameter is used as the seventh smoothing dimension to achieve third-order parameter continuity. The Cartesian space path smoothing algorithm proposed in this application is highly robust and does not require the original path segment to be smoothed. The smoothing object is the position vector of the path point, which does not cause the problem of path and velocity affecting each other. This application adopts the method of polynomial vector superposition (interpolation) of the path segments corresponding to the turning point of the smooth front path and the turning point of the rear path, so that the path shape of the smooth segment can be controlled, and the position vectors of each robot will not exceed the limit, and the smooth segment and the non-smooth segment can achieve not only third-order geometric continuity but also third-order parameter continuity.
[0120] In the above-mentioned scheme, the present application utilizes the re-parameters obtained by re-parameterizing the parts that need to be smoothed in the front path and / or the back path. The re-parameters are only the information for re-parameterizing the position information and do not carry the speed information, so that the smooth position and / or smooth posture of the smooth path determined based on the re-parameters can reduce the coupling effect of the speed and path. In addition, the smooth position and / or smooth posture of the smooth path determined by the objective function that meets the parameter continuity condition are continuous in multiple dimensions for the curves corresponding to the parts that need to be smoothed in the front path and the back path, which can make the control robot run smoother based on the smooth position and / or smooth posture of the smooth path, thereby improving the operation efficiency of the robot.
[0121] Those skilled in the art will understand that in the above-mentioned method of the specific implementation method, the writing order of each step does not mean a strict execution order and does not constitute any limitation on the implementation process. The specific execution order of each step should be determined by its function and possible internal logic.
[0122] See also Figure 4 , Figure 4 It is a schematic diagram of the framework of an embodiment of the robot smooth path planning device of the present application. The robot smooth path planning device 40 includes: an acquisition module 41, a first determination module 42 and a second determination module 43; wherein the acquisition module 41 is used to obtain smoothing point parameters and re-parameters corresponding to the smoothing point parameters, the smoothing point parameters include smoothing inflection point parameters of the front path and smoothing inflection point parameters of the rear path, the front path is the current moving path of the robot, the rear path is the moving path that the robot will enter, and the re-parameters are the parameters obtained by re-parameterizing the parts that need to be smoothed in the front path and / or the rear path; the first determination module 42 is used to determine the inflection point position vector and the inflection point posture in Cartesian space based on the re-parameters. state, the inflection point position vector includes the inflection-out position vector of the target inflection point and the inflection-in position vector of the target inflection point, the inflection point posture includes the inflection-out posture of the target inflection point and the inflection-in posture of the target inflection point, the target inflection point is the inflection point of the front path, and the target inflection point is the inflection point of the back path; the second determination module 43 is used to use the objective function, heavy parameters, inflection point position vector and / or inflection point posture that meet the parameter continuity conditions to determine the smooth position and / or smooth posture of the smooth path so as to control the robot to run based on the smooth position and / or smooth posture of the smooth path, and the smooth path is the path corresponding to the part that needs to be smoothed between the front path and the back path.
[0123] In some embodiments, the first determination module 42 is used to determine the inflection point position vector and the inflection point posture in Cartesian space based on the heavy parameters, including: obtaining the front and rear segment parameterized functions and the front and rear segment posture curves in Cartesian space, the front and rear segment parameterized functions include the front segment parameterized function corresponding to the front segment path and the rear segment parameterized function corresponding to the rear segment path, the front and rear segment posture curves include the front segment posture curve corresponding to the front segment path and the rear segment posture curve corresponding to the rear segment path; according to the heavy parameters, determine the target inflection point and the target inflection point; use the target inflection point, the target inflection point and the front and rear segment parameterized functions to determine the inflection point position vector; use the target inflection point, the target inflection point and the front and rear segment posture curves to determine the inflection point posture.
[0124] In some embodiments, the first determination module 42 is used to determine the target inflection point and the target inflection point based on the weight parameters, including: obtaining a front-segment smoothing function and a rear-segment smoothing function, the front-segment smoothing function is used to represent the association relationship between the front-segment path and the smooth inflection point parameters, and the rear-segment smoothing function is used to represent the association relationship between the rear-segment path and the smooth inflection point parameters; determining the target inflection point based on the weight parameters and the front-segment smoothing function; determining the target inflection point based on the weight parameters and the rear-segment smoothing function.
[0125] In some embodiments, the robot smooth path planning device 40 also includes a third determination module (not shown). In the second determination module 43, the objective function includes a first objective function related to the position of the robot and / or a second objective function related to the posture of the robot. Before using the objective function, heavy parameters, inflection point position vector and / or inflection point posture that meet the parameter continuity condition to determine the smooth position and / or smooth posture of the smooth path, the third determination module is used to: obtain a superposition function, which is a polynomial function with heavy parameters and meets the parameter continuity condition; construct a first objective function based on the superposition function and the parameterized functions of the front and back segments; and / or construct a second objective function based on the superposition function and the posture curves of the front and back segments.
[0126] In some embodiments, the third determination module is used to construct a first objective function based on the superposition function and the front and back parameterized functions, including: taking the difference between the back parameterized function and the front parameterized function as the first candidate difference; taking the product of the candidate difference and the superposition function as the first candidate product; taking the sum value between the front parameterized function and the candidate product as the first candidate sum; and defining the first objective function based on the first candidate sum and the smooth position of the smooth path.
[0127] In some embodiments, the third determination module is used to construct a second objective function based on the superposition function and the front and rear posture curves, including: determining the target angle based on the turning-out posture of the target turning point and the turning-in posture of the target turning point; determining the second objective function based on the target angle and the superposition function.
[0128] In some embodiments, the acquisition module 41 is used to obtain smooth point parameters and re-parameters corresponding to the smooth point parameters, including: obtaining a path parameter function of the smooth path, where the path parameter function is an expression function obtained by re-parameterizing the smooth path; and determining the re-parameters based on the path parameter function and the smooth point parameters.
[0129] In some embodiments, the acquisition module 41 is used to obtain the path parameter function of the smooth path, including: taking the difference between the front smooth function and the smooth inflection point parameter as the first difference, and the difference between the rear smooth function and the front smooth function as the second difference; taking the sum of the preset value and the second difference as the first sum, and taking the product between the superposition function and the first sum as the target product; taking the sum of the first difference and the target product as the second sum, and constructing the path parameter function based on the second sum.
[0130] In some embodiments, the third determination module is used to obtain the superposition function, including: determining the first constraint of the superposition function based on the path parameter function, the first constraint is used to represent the value of the superposition function when the weight parameter takes the maximum value; determining the second constraint of the superposition function based on the parameter continuity condition, the second constraint is used to represent the value of the superposition function when the superposition function satisfies the parameter continuity condition; based on the first constraint and the second constraint, determining the values of the number of terms and coefficients in the superposition function.
[0131] In the above-mentioned scheme, the present application utilizes the re-parameters obtained by re-parameterizing the parts that need to be smoothed in the front path and / or the back path. The re-parameters are only the information for re-parameterizing the position information and do not carry the speed information, so that the smooth position and / or smooth posture of the smooth path determined based on the re-parameters can reduce the coupling effect of the speed and path. In addition, the smooth position and / or smooth posture of the smooth path determined by the objective function that meets the parameter continuity condition are continuous in multiple dimensions for the curves corresponding to the parts that need to be smoothed in the front path and the back path, which can make the control robot run smoother based on the smooth position and / or smooth posture of the smooth path, thereby improving the operation efficiency of the robot.
[0132] See also Figure 5 , Figure 5 is a schematic diagram of the framework of an embodiment of an electronic device of the present application. The electronic device 50 includes a memory 51 and a processor 52 coupled to each other. The processor 52 is configured to execute program instructions stored in the memory 51 to implement the steps of any of the aforementioned embodiments of the robot smooth path planning method. In a specific implementation scenario, the electronic device 50 may include, but is not limited to, a microcomputer and a server. Furthermore, the electronic device 50 may also include mobile devices such as laptops and tablet computers, which are not limited herein.
[0133] Specifically, the processor 52 is used to control itself and the memory 51 to implement the steps of any of the above-mentioned robot smooth path planning method embodiments. The processor 52 can also be called a CPU (Central Processing Unit). The processor 52 may be an integrated circuit chip with signal processing capabilities. The processor 52 can also be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. In addition, the processor 52 can be implemented by an integrated circuit chip.
[0134] In the above-mentioned scheme, the present application utilizes the re-parameters obtained by re-parameterizing the parts that need to be smoothed in the front path and / or the back path. The re-parameters are only the information for re-parameterizing the position information and do not carry the speed information, so that the smooth position and / or smooth posture of the smooth path determined based on the re-parameters can reduce the coupling effect of the speed and path. In addition, the smooth position and / or smooth posture of the smooth path determined by the objective function that meets the parameter continuity condition are continuous in multiple dimensions for the curves corresponding to the parts that need to be smoothed in the front path and the back path, which can make the control robot run smoother based on the smooth position and / or smooth posture of the smooth path, thereby improving the operation efficiency of the robot.
[0135] See also Figure 6 , Figure 6 The computer-readable storage medium 60 stores program instructions 601 that can be executed by a processor, and the program instructions 601 are used to implement the steps of any of the above-mentioned robot smooth path planning method embodiments.
[0136] In the above-mentioned scheme, the present application utilizes the re-parameters obtained by re-parameterizing the parts that need to be smoothed in the front path and / or the back path. The re-parameters are only the information for re-parameterizing the position information and do not carry the speed information, so that the smooth position and / or smooth posture of the smooth path determined based on the re-parameters can reduce the coupling effect of the speed and path. In addition, the smooth position and / or smooth posture of the smooth path determined by the objective function that meets the parameter continuity condition are continuous in multiple dimensions for the curves corresponding to the parts that need to be smoothed in the front path and the back path, which can make the control robot run smoother based on the smooth position and / or smooth posture of the smooth path, thereby improving the operation efficiency of the robot.
[0137] In some embodiments, the functions or modules included in the device provided by the embodiments of the present disclosure can be used to execute the method described in the above method embodiments. The specific implementation can refer to the description of the above method embodiments. For the sake of brevity, it will not be repeated here.
[0138] The above description of the various embodiments tends to emphasize the differences between the various embodiments. The same or similar aspects can be referenced with each other and will not be repeated herein for the sake of brevity.
[0139] In the several embodiments provided in this application, it should be understood that the disclosed methods and devices can be implemented in other ways. For example, the device implementation methods described above are only schematic. For example, the division of modules or units is only a logical function division. There may be other division methods in actual implementation. For example, units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, and the indirect coupling or communication connection of devices or units can be electrical, mechanical or other forms.
[0140] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.
[0141] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) or a processor to execute all or part of the steps of each embodiment method of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
Claims
1. A robot smooth path planning method, characterized in that: The method comprises: Obtaining smoothing point parameters and corresponding re-parameters of the smoothing point parameters, the smoothing point parameters including smoothing inflection point parameters of a front path and smoothing inflection point parameters of a rear path, the front path being the current movement path of the robot, the rear path being the movement path the robot will enter, and the re-parameters being parameters obtained by re-parameterizing portions of the front path and / or the rear path that require smoothing; Based on the weight parameters, determining an inflection point position vector and an inflection point posture in Cartesian space, wherein the inflection point position vector includes an inflection-out position vector of a target inflection point and an inflection-in position vector of a target inflection point, and the inflection point posture includes an inflection-out posture of the target inflection point and an inflection-in posture of the target inflection point, wherein the target inflection point is the inflection point of the front path, and the target inflection point is the inflection point of the back path; Using the objective function that satisfies the parameter continuity condition, the weight parameter, the inflection point position vector and / or the inflection point posture, the smooth position and / or smooth posture of the smooth path are determined so as to control the robot to operate based on the smooth position and / or smooth posture of the smooth path, where the smooth path is the path corresponding to the part that needs to be smoothed between the front path and the back path.
2. The method according to claim 1, characterized in that The determining of the inflection point position vector and the inflection point posture in Cartesian space based on the weight parameters includes: Obtaining a front-to-back segment parameterized function and a front-to-back segment posture curve in Cartesian space, wherein the front-to-back segment parameterized function includes a front-segment parameterized function corresponding to the front segment path and a rear-segment parameterized function corresponding to the rear segment path, and the front-to-back segment posture curve includes a front-segment posture curve corresponding to the front segment path and a rear-segment posture curve corresponding to the rear segment path; Determining the target inflection point and the target inflection point according to the weight parameter; Determining the inflection point position vector using the target inflection point, the target inflection point, and the front-back parameterized function; The inflection point posture is determined using the target inflection point, the target inflection point, and the front and rear posture curves.
3. The method according to claim 2, characterized in that The step of determining the target inflection point and the target inflection point according to the weight parameter includes: Obtaining a front-segment smoothing function and a back-segment smoothing function, wherein the front-segment smoothing function is used to represent the association relationship between the front-segment path and the smooth inflection point parameter, and the back-segment smoothing function is used to represent the association relationship between the back-segment path and the smooth inflection point parameter; Determining the target inflection point according to the weight parameter and the front-segment smoothing function; The target inflection point is determined according to the weight parameter and the latter smoothing function.
4. The method according to claim 2, characterized in that The objective function includes a first objective function related to the position of the robot and / or a second objective function related to the posture of the robot. Before determining the smooth position and / or smooth posture of the smooth path by using the objective function that satisfies the parameter continuity condition and the re-parameterized inflection point position vector and / or inflection point posture, the method further includes: Obtaining a superposition function, where the superposition function is a polynomial function of the multiple parameters and satisfies the parameter continuity condition; constructing the first objective function based on the superposition function and the front-end and back-end parameterized functions; and / or, The second objective function is constructed based on the superposition function and the front and rear posture curves.
5. The method according to claim 4, characterized in that The constructing the first objective function based on the superposition function and the front-end and back-end parameterized functions includes: Taking the difference between the latter parameterized function and the former parameterized function as a first candidate difference; taking the product of the candidate difference value and the superposition function as a first candidate product; Taking the sum of the preceding parameterized function and the candidate product as a first candidate sum; The first objective function is defined based on the first candidate sum and a smoothed position of the smoothed path.
6. The method according to claim 4, characterized in that The constructing the second objective function based on the superposition function and the front and rear posture curves includes: determining a target angle based on a turning-out posture of the target turning-out point and a turning-in posture of the target turning-in point; The second target function is determined based on the target angle and the superposition function.
7. The method according to claim 4, characterized in that The obtained smoothing point parameter s 1z s 2z And the weight parameters corresponding to the smoothing point parameters include: Obtaining a path parameter function of the smooth path, where the path parameter function is an expression function obtained by reparameterizing the smooth path; A weight parameter is determined according to the path parameter function and the smoothing point parameter.
8. The method according to claim 7, characterized in that The path parameter function for obtaining the smooth path includes: The difference between the front-segment smoothing function and the smoothing inflection point parameter is used as a first difference, and the difference between the rear-segment smoothing function and the front-segment smoothing function is used as a second difference; using a sum of a preset value and the second difference as a first sum, and using a product of the superposition function and the first sum as a target product; A sum value between the first difference and the target product is used as a second sum, and the path parameter function is constructed based on the second sum.
9. The method according to claim 7, characterized in that The obtaining of the superposition function comprises: Determining a first constraint condition of the superposition function based on the path parameter function, wherein the first constraint condition is used to represent a value of the superposition function when the weight parameter takes a maximum value; Determining, based on the parameter continuity condition, a second constraint condition of the superposition function, where the second constraint condition is used to represent a value of the superposition function when the superposition function satisfies the parameter continuity condition; Based on the first constraint condition and the second constraint condition, the number of terms and values of coefficients in the superposition function are determined.
10. An electronic device, characterized in that: include: A memory and a processor, wherein the memory stores program instructions, and the processor calls the program instructions from the memory to execute the method according to any one of claims 1 to 9.
11. A computer-readable storage medium having program instructions stored thereon, characterized in that: When the program instructions are executed by a processor, they are used to implement the method according to any one of claims 1 to 9.