A speed sampling sparse method, a storage medium and an electronic device
By determining the speed sampling interval in the local planning algorithm and using Gaussian distribution for sparse sampling, the performance waste caused by uniform speed sampling is solved, and efficient path planning and safe driving are achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- 福建汉特云智能科技有限公司
- Filing Date
- 2023-12-20
- Publication Date
- 2026-05-12
AI Technical Summary
In existing local planning algorithms, velocity-density sampling leads to an excessive number of samples, resulting in wasted performance and computational power.
The speed sampling interval is determined by the robot's current speed, maximum speed limit, minimum speed limit, control cycle, maximum acceleration, and minimum acceleration. The probability density sampling is performed using the cumulative distribution function of the Gaussian distribution to ensure that the sampling density is high near the current speed and sparse far from the current speed, thereby reducing the total number of samples.
It reduces the computational cost of path planning algorithms, maintains sampling density in important directions, improves the effectiveness of sampling speed and control accuracy, and ensures the safety of robot driving.
Smart Images

Figure CN117742333B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the fields of automatic control and robot navigation technology, and in particular to a speed sampling sparsity method, storage medium, and electronic device. Background Technology
[0002] Currently, autonomous driving control algorithms for robots are mainly divided into global planning and local planning. Local planning, as a control algorithm, offers higher efficiency and meets the need for solving precise vehicle kinematics. The mainstream local planning algorithms include DWA (Dynamic Window Approaches) and TEB (Timed Elastic Band). The basic idea of the DWA algorithm is as follows: Discrete velocity sampling is performed in the robot's workspace. All motion trajectories generated within a certain time period are predicted and simulated in the cost map (all trajectories here are legal; illegal trajectories refer to those that collide with obstacles). Each trajectory is evaluated using an evaluation function, and the trajectory with the highest evaluation score is selected, sending its corresponding velocity to the mobile base. This process is repeated until the destination is reached. However, because the discrete velocity sampling in the robot's workspace is of uniform density, solving more precise vehicle kinematics requires an excessive number of samples, resulting in performance waste. Summary of the Invention
[0003] Therefore, a velocity sampling sparsity method is needed to solve the problem of excessive sample counts and performance waste caused by uniform velocity sampling.
[0004] To achieve the above objectives, the present invention provides a velocity sampling sparsity method, which includes the following steps:
[0005] The velocity sampling interval is obtained by using the robot's current speed, maximum speed limit, minimum speed limit, control cycle, maximum acceleration, and minimum acceleration.
[0006] The probability density sampling interval is obtained by combining the velocity sampling interval with the robot's current velocity.
[0007] The probability density sampling interval is obtained by using the cumulative distribution function of the Gaussian distribution;
[0008] Divide the distribution interval into equal parts to obtain the sampling points within the distribution interval;
[0009] The velocity of the sampling point is obtained by using the inverse function of the cumulative distribution function of the Gaussian distribution.
[0010] The robot's sampling speed is obtained by combining the sampling point speed and the current speed.
[0011] Furthermore, the velocity sampling interval is obtained by using the robot's current speed, maximum speed limit, minimum speed limit, control cycle, maximum acceleration, and minimum acceleration, including the following steps:
[0012] Calculate the minimum and maximum speeds of the current speed within the control cycle:
[0013] Minimum speed within the control cycle = current speed + control cycle * minimum acceleration;
[0014] Maximum speed within the control cycle = current speed + control cycle * maximum acceleration;
[0015] The minimum speed within the control period is compared with the minimum limit speed. If the minimum speed within the control period is less than the minimum limit speed, the minimum limit speed is used as the lower limit value of the speed sampling interval; otherwise, the minimum speed within the control period is used as the lower limit value of the speed sampling interval.
[0016] The maximum speed and the maximum braking speed within the control cycle are compared. If the maximum speed within the control cycle is greater than the maximum limit speed, the maximum limit speed is used as the upper limit value of the speed sampling interval; otherwise, the maximum speed within the control cycle is used as the upper limit value of the speed sampling interval.
[0017] Obtain the velocity sampling interval.
[0018] Furthermore, obtaining the probability density sampling interval through the velocity sampling interval and the robot's current velocity includes the following steps: subtracting the current velocity from the velocity sampling interval to obtain the probability density sampling interval.
[0019] Furthermore, the distribution interval corresponding to the probability density sampling interval is obtained through the cumulative distribution function of the Gaussian distribution, including the following steps:
[0020] If random variable Follows the standard deviation Gaussian distribution;
[0021] Then the cumulative distribution function is:
[0022] in, >0;
[0023] Input the probability density sampling interval into the cumulative distribution function, i.e., the lower bound of the probability density sampling interval < <The upper bound of the probability density sampling interval;
[0024] Obtain the distribution range.
[0025] Further, the distribution interval is divided into equal parts to obtain sampling points within the distribution interval, including the following steps:
[0026] Set the number of samples;
[0027] Divide the distribution interval into equal parts according to the number of samples;
[0028] The boundary values that divide the distribution interval equally are used as sampling points within the distribution interval.
[0029] Furthermore, the velocity of the sampling point corresponding to the sampling point is obtained through the inverse function of the cumulative distribution function of the Gaussian distribution, including the following steps:
[0030] If random variable Follows the standard deviation Gaussian distribution;
[0031] Then the cumulative distribution function is:
[0032] in, >0;
[0033] Input the probability density sampling interval into the inverse function of the cumulative distribution function, that is, take the sampling points within the distribution interval of y;
[0034] Seeking This refers to the sampling point velocity.
[0035] Furthermore, the robot sampling speed is obtained by combining the sampling point speed and the current speed, including the following steps: adding the sampling point speed to the current speed to obtain the robot sampling speed.
[0036] A path planning algorithm is proposed, in which the robot's sampling speed is sampled using the aforementioned sparse speed sampling method.
[0037] A storage medium storing a computer program that, when executed by a processor, implements the steps of the above-described speed sampling sparsity method.
[0038] An electronic device includes a memory and a processor, wherein the memory stores a computer program that, when executed by the processor, implements the steps of the speed sampling sparsity method described above.
[0039] Unlike existing technologies, the above technical solution obtains a speed sampling interval by using the robot's current speed, maximum speed limit, minimum speed limit, control cycle, maximum acceleration, and minimum acceleration. Sampling is then performed within this interval. During sampling, the current speed is used as the peak value of the probability density of the robot's sampling speed. The robot's sampling speed is obtained through the cumulative distribution function of a Gaussian distribution, ensuring a high sampling density near the current speed while reducing the density of sampling far from the current speed. This reduces the total number of speed samples while maintaining or even increasing the sampling density in specified important directions. This lowers the computational cost of the path planning algorithm caused by equal-density sampling speeds, while controlling the accuracy of the sampling speed. This balances computational cost and control accuracy, effectively controlling costs, improving the effectiveness of robot sampling speed, and ensuring robot safety. Attached Figure Description
[0040] Figure 1 This is a flowchart of a velocity sampling sparsity method according to the present invention. Detailed Implementation
[0041] To explain in detail the technical content, structural features, objectives, and effects of the technical solution, the following description is provided in conjunction with specific embodiments and accompanying drawings.
[0042] In this document, the term "embodiment" means that a specific feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The term "embodiment" appearing in various places throughout the specification does not necessarily refer to the same embodiment, nor does it specifically limit its independence or connection with other embodiments. In principle, in this application, as long as there are no technical contradictions or conflicts, the technical features mentioned in each embodiment can be combined in any way to form corresponding implementable technical solutions.
[0043] Unless otherwise defined, the technical terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains; the use of related terms herein is merely for the purpose of describing particular embodiments and is not intended to limit this application.
[0044] In the description of this application, the term "and / or" is used to describe the logical relationship between objects, indicating that three relationships can exist. For example, A and / or B means: A exists, B exists, and A and B exist simultaneously. Additionally, the character " / " in this document generally indicates that the preceding and following objects have an "or" logical relationship.
[0045] In this application, terms such as “first” and “second” are used only to distinguish one entity or operation from another, and do not necessarily require or imply any actual quantity, hierarchy or order relationship between these entities or operations.
[0046] Unless otherwise specified, the use of terms such as “comprising,” “including,” “having,” or other similar expressions in this application is intended to cover non-exclusive inclusion, which does not exclude the presence of additional elements in a process, method, or product that includes the stated elements, such that a process, method, or product that includes a list of elements may include not only those defined elements but also other elements not expressly listed, or elements inherent to such a process, method, or product.
[0047] Similar to the interpretation in the Patent Examination Guidelines, in this application, expressions such as "greater than," "less than," and "exceeding" are understood to exclude the stated number; expressions such as "above," "below," and "within" are understood to include the stated number. Furthermore, in the description of the embodiments in this application, "multiple" means two or more (including two), and similar expressions related to "multiple" are also interpreted in this way, such as "multiple groups" and "multiple times," unless otherwise explicitly specified.
[0048] In the description of the embodiments of this application, the space-related expressions used, such as "center," "longitudinal," "lateral," "length," "width," "thickness," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "vertical," "top," "bottom," "inner," "outer," "clockwise," "counterclockwise," "axial," "radial," and "circumferential," indicate the orientation or positional relationship based on the orientation or positional relationship shown in the specific embodiments or drawings. They are only for the purpose of describing the specific embodiments of this application or for the reader's understanding, and do not indicate or imply that the device or component referred to must have a specific position, a specific orientation, or be constructed or operated in a specific orientation. Therefore, they should not be construed as limitations on the embodiments of this application.
[0049] Unless otherwise expressly specified or limited, the terms "installation," "connection," "linking," "fixing," and "setting," as used in the description of the embodiments of this application, should be interpreted broadly. For example, "connection" can be a fixed connection, a detachable connection, or an integral setting; it can be a mechanical connection, an electrical connection, or a communication connection; it can be a direct connection or an indirect connection through an intermediate medium; it can be the internal connection of two components or the interaction between two components. For those skilled in the art to which this application pertains, the specific meaning of the above terms in the embodiments of this application can be understood according to the specific circumstances.
[0050] See Figure 1 This invention provides a speed sampling sparsity method. It obtains a speed sampling interval by using the robot's current speed, maximum and minimum speed limits, control cycle, maximum acceleration, and minimum acceleration, and performs sampling within this interval. During sampling, the current speed is used as the peak value of the probability density of the robot's sampling speed. The robot's sampling speed is obtained through the cumulative distribution function of a Gaussian distribution, ensuring a high sampling density near the current speed while sparsely distributing the sampling density far from the current speed. This reduces the total number of speed samples while maintaining or even increasing the sampling density in specified important directions. This reduces the computational cost of path planning algorithms caused by equal-density sampling speeds, while controlling the accuracy of the sampling speed, balancing computational cost and control precision, effectively controlling costs, improving the effectiveness of robot sampling speed, and ensuring robot safety.
[0051] The following provides a detailed description of a velocity sampling sparsity method provided by an embodiment of the present invention. See also... Figure 1 As shown, a velocity sampling sparse method includes the following steps:
[0052] S1. Obtain the velocity sampling interval by using the robot's current speed, maximum speed limit, minimum speed limit, control cycle, maximum acceleration, and minimum acceleration;
[0053] S2. Obtain the probability density sampling interval by using the velocity sampling interval and the robot's current velocity;
[0054] S3. Obtain the distribution interval corresponding to the probability density sampling interval through the cumulative distribution function of the Gaussian distribution;
[0055] S4. Divide the distribution interval into equal parts to obtain the sampling points within the distribution interval;
[0056] S5. Obtain the velocity of the sampling point corresponding to the sampling point through the inverse function of the cumulative distribution function of the Gaussian distribution;
[0057] S6. Obtain the robot sampling speed by combining the sampling point speed and the current speed.
[0058] The aforementioned maximum speed limit, minimum speed limit, control cycle, maximum acceleration, and minimum acceleration are set through the robot's parameters.
[0059] The velocity sampling interval is obtained by using the robot's current speed, maximum speed limit, minimum speed limit, control cycle, maximum acceleration, and minimum acceleration, including the following steps:
[0060] Calculate the minimum and maximum speeds of the current speed within the control cycle:
[0061] Minimum speed within the control cycle = current speed + control cycle * minimum acceleration;
[0062] Maximum speed within the control cycle = current speed + control cycle * maximum acceleration;
[0063] The minimum speed within the control period is compared with the minimum limit speed. If the minimum speed within the control period is less than the minimum limit speed, the minimum limit speed is used as the lower limit value of the speed sampling interval; otherwise, the minimum speed within the control period is used as the lower limit value of the speed sampling interval.
[0064] The maximum speed and the maximum braking speed within the control cycle are compared. If the maximum speed within the control cycle is greater than the maximum limit speed, the maximum limit speed is used as the upper limit value of the speed sampling interval; otherwise, the maximum speed within the control cycle is used as the upper limit value of the speed sampling interval.
[0065] Obtain the velocity sampling interval.
[0066] The method of obtaining the probability density sampling interval by means of the velocity sampling interval and the robot's current velocity includes the following steps: subtracting the current velocity from the velocity sampling interval to obtain the probability density sampling interval. Subtracting the current velocity from both the upper and lower bounds of the sampling space is to ensure that the current velocity is at the peak of the probability density, meaning that there is a higher sampling density near the current velocity, and the sampling density becomes sparser the further away from the current velocity.
[0067] The distribution interval corresponding to the probability density sampling interval is obtained by using the cumulative distribution function (CDF) of the Gaussian distribution, including the following steps:
[0068] If random variable Follows the standard deviation Gaussian distribution;
[0069] Then the cumulative distribution function is:
[0070] in, >0;
[0071] Input the probability density sampling interval into the cumulative distribution function, i.e., the lower bound of the probability density sampling interval < <The upper bound of the probability density sampling interval;
[0072] Obtain the distribution range.
[0073] Divide the distribution interval into equal parts to obtain sampling points within the distribution interval, including the following steps:
[0074] Set the number of samples;
[0075] Divide the distribution interval into equal parts according to the number of samples;
[0076] The boundary values that divide the distribution interval equally are used as sampling points within the distribution interval.
[0077] The velocity of a sampling point is obtained by using the inverse function of the cumulative distribution function of a Gaussian distribution, including the following steps:
[0078] If random variable Follows the standard deviation Gaussian distribution;
[0079] Then the cumulative distribution function is:
[0080] in, >0;
[0081] Input the probability density sampling interval into the inverse function of the cumulative distribution function, that is, take the sampling points within the distribution interval of y;
[0082] Seeking This refers to the sampling point velocity.
[0083] The robot sampling speed is obtained by adding the sampling point speed and the current speed, including the following steps: adding the sampling point speed to the current speed to obtain the robot sampling speed.
[0084] To facilitate understanding of the velocity sampling sparsity method of the present invention, specific parameters are provided in detail in the embodiments of the present invention.
[0085] The robot's maximum speed is set to 1.0 m / s, minimum speed to 0.0 m / s, control cycle to 0.1 s, and maximum acceleration to 3.0 m / s². 2 The minimum acceleration is -5.0 m / s². 2 The robot's current speed is 0.7 m / s.
[0086] The minimum speed within the control cycle is: 0.7 m / s + 0.1 s * (-5.0 m / s) 2 =0.2 m / s;
[0087] Maximum speed within the control cycle: 0.7 m / s + 0.1 s * 3.0 m / s 2 =1.0m / s;
[0088] Compare the minimum speed within the control cycle with the minimum speed limit:
[0089] If 0.2 m / s > 0.0 m / s, then the lower bound of the velocity sampling interval is 0.2 m / s;
[0090] Compare the maximum speed and maximum braking speed within the control cycle:
[0091] If 1.0 m / s = 1.0 m / s, then the upper limit of the velocity sampling interval is 1.0 m / s;
[0092] That is, the velocity sampling interval is [0.2, 1.0];
[0093] The probability density sampling interval is [-0.5, 0.3];
[0094] Set standard deviation Given a value of 1.0, the corresponding distribution interval on the cumulative distribution function of the Gaussian distribution, calculated from the upper and lower bounds, is [0.309, 0.618].
[0095] If the number of samples is set to 5, then there are five sampling points in the sampling interval, namely 0.309, 0.38625, 0.4635, 0.54075, and 0.618.
[0096] Using the above 5 sampling points on the inverse function of the cumulative distribution function of the Gaussian distribution, that is, the sampling point velocities corresponding to the five sampling points of 0.309, 0.38625, 0.4635, 0.54075, and 0.618 on the inverse function are -0.5, -0.289, -0.092, 0.102, and 0.3, respectively.
[0097] The robot sampling speed is the sum of the speeds of all sampling points and the current speed. After adding the speeds, the robot sampling speeds are 0.2, 0.411, 0.608, 0.802, and 1.0. It can be seen that the intervals of the five robot sampling speeds are 0.211, 0.197, 0.194, and 0.198, respectively, showing a clear trend of high density in the middle and low density around the edges.
[0098] The density of the robot's sampling rate is about 1 / It decreases exponentially, if the standard deviation is... Adjusting it to 0.2 will cause the robot's sampling speed to be more concentrated in the middle, and the final sampling speed will become 0.2, 0.557, 0.685, 0.806, 1.0, with intervals of 0.357, 0.128, 0.121, and 0.194, respectively.
[0099] A path planning algorithm is proposed, in which the robot's sampling speed is sampled using the aforementioned speed sampling sparsity method. This method maintains the sampling density near the current speed while sparses the sampling density far from the current speed. This reduces the total number of speed samples while ensuring that the sampling density remains constant or even higher in specified important directions. This reduces the computational cost of the path planning algorithm, while simultaneously controlling the accuracy of the sampling speed. It balances computational cost and control precision, effectively controlling costs, improving the effectiveness of robot sampling speed, and ensuring robot safety.
[0100] The present invention also provides a storage medium storing a computer program, which, when executed by a processor, implements the steps of the speed sampling sparsity method described above. The computer program involved in the embodiments can be stored in a computer device readable storage medium, including but not limited to disks, magnetic tapes, magnetic cards, floppy disks, flash memory, optical disks, optical cards, read-only memory (ROM), random access memory (RAM), erasable programmable ROM (EPROM), and electrically erasable programmable ROM (EEPROM), etc., as well as other biological, physical, or chemical structures capable of performing similar or equivalent functions to the storage media listed above, such as DNA, RNA, proteins, and other units with information storage capabilities. In specific embodiments, the storage medium involved can be one of the above-mentioned media types or a combination of the above-mentioned media types. In different embodiments, the computer program involved in the embodiments can be centrally stored in a single medium or distributed across multiple media. The memory containing the computer device readable storage medium can be non-volatile memory or random access memory. These computer device readable storage media can be built into a device or connected to the device involved in the embodiments as an external device or part of an external device. In some embodiments, the memory having a computer device readable storage medium is deployed locally; in other embodiments, the memory may be deployed remotely from the processor, for example, as a network-attached memory accessed via RF circuitry or an external port and a communication network, wherein the communication network may be the Internet, one or more intranets, a local area network (LAN), a wide area network (WLAN), a storage area network (SAN), or a suitable combination thereof, as long as computer device access to the memory is enabled. Furthermore, the computer program involved in the embodiments may be stored in plaintext / ciphertext form, or it may be designed as training data, integrated and recombined through model training and implicitly stored in the parameter states of a deep neural network or other machine learning model.The processor described in the embodiments of this application can be implemented by hardware, firmware, software, or a combination thereof. It can be a circuit, one or more of an application-specific integrated circuit (ASIC), a digital signal processor (DSP), a digital signal processing device (DSPD), a programmable logic device (PLD), a field-programmable gate array (FPGA), a central processing unit (CPU), a controller, a microcontroller, or a microprocessor. It also includes other physical, biological, or chemical structures that can implement the same or equivalent functions as the processors listed above, such as biological neurons, quantum computing units, DNA computing units, etc., so that the processor can execute some or all of the steps in the computer program or method involved in the various embodiments of this application, or any combination of the steps mentioned therein.
[0101] It should be noted that although the above embodiments have been described herein, this does not limit the scope of patent protection of the present invention. Therefore, any changes and modifications made to the embodiments described herein based on the innovative concept of the present invention, or equivalent structural or procedural transformations made using the content of the present invention's specification and drawings, directly or indirectly applying the above technical solutions to other related technical fields, are all included within the scope of patent protection of the present invention.
Claims
1. A velocity sampling sparsity method, characterized in that, Includes the following steps: The velocity sampling interval is obtained by using the robot's current speed, maximum speed limit, minimum speed limit, control cycle, maximum acceleration, and minimum acceleration. The probability density sampling interval is obtained by combining the velocity sampling interval with the robot's current velocity. The probability density sampling interval is obtained by using the cumulative distribution function of the Gaussian distribution; Divide the distribution interval into equal parts to obtain the sampling points within the distribution interval; The velocity of the sampling point is obtained by using the inverse function of the cumulative distribution function of the Gaussian distribution. The robot's sampling speed is obtained by combining the sampling point speed and the current speed. The distribution interval corresponding to the probability density sampling interval is obtained through the cumulative distribution function of the Gaussian distribution, including the following steps: If random variable Follows the standard deviation Gaussian distribution; Then the cumulative distribution function is: in, >0; Input the probability density sampling interval into the cumulative distribution function, i.e., the lower bound of the probability density sampling interval < <The upper bound of the probability density sampling interval; Obtain the distribution interval; The velocity of a sampling point is obtained by using the inverse function of the cumulative distribution function of a Gaussian distribution, including the following steps: If random variable Follows the standard deviation Gaussian distribution; Then the cumulative distribution function is: in, >0; Input the probability density sampling interval into the inverse function of the cumulative distribution function, that is, take the sampling points within the distribution interval of y; Seek This refers to the sampling point velocity.
2. The velocity sampling sparsity method according to claim 1, characterized in that, The velocity sampling interval is obtained by using the robot's current speed, maximum speed limit, minimum speed limit, control cycle, maximum acceleration, and minimum acceleration, including the following steps: Calculate the minimum and maximum speeds of the current speed within the control cycle: Minimum speed within the control cycle = current speed + control cycle * minimum acceleration; Maximum speed within the control cycle = current speed + control cycle * maximum acceleration; The minimum speed within the control period is compared with the minimum limit speed. If the minimum speed within the control period is less than the minimum limit speed, the minimum limit speed is used as the lower limit of the speed sampling interval; otherwise, the minimum speed within the control period is used as the lower limit of the speed sampling interval. The maximum speed and the maximum braking speed within the control cycle are compared. If the maximum speed within the control cycle is greater than the maximum limit speed, the maximum limit speed is used as the upper limit value of the speed sampling interval; otherwise, the maximum speed within the control cycle is used as the upper limit value of the speed sampling interval. Obtain the velocity sampling interval.
3. The velocity sampling sparsity method according to claim 1, characterized in that, The method of obtaining the probability density sampling interval by means of the velocity sampling interval and the robot's current velocity includes the following steps: subtracting the current velocity from the velocity sampling interval to obtain the probability density sampling interval.
4. The velocity sampling sparsity method according to claim 1, characterized in that, Divide the distribution interval into equal parts to obtain sampling points within the distribution interval, including the following steps: Set the number of samples; Divide the distribution interval into equal parts according to the number of samples; The boundary values that divide the distribution interval equally are used as sampling points within the distribution interval.
5. The velocity sampling sparsity method according to claim 1, characterized in that, The robot sampling speed is obtained by adding the sampling point speed and the current speed, including the following steps: adding the sampling point speed to the current speed to obtain the robot sampling speed.
6. A storage medium, characterized in that: The storage medium stores a computer program, which, when executed by a processor, implements the steps of the speed sampling sparsity method as described in any one of claims 1-5.
7. An electronic device, characterized in that: It includes a memory and a processor, wherein the memory stores a computer program, and when the computer program is executed by the processor, it implements the steps of the speed sampling sparse method as described in any one of claims 1-5.