Path planning method, mobile robot and related equipment

By discrete the motion space into cells and recording path and timestamp information, combining the location and timestamp information of dynamic obstacles, the problem of excessive computing resources occupied in mobile robot path planning is solved, and efficient path planning and collision detection is achieved.

CN120538535APending Publication Date: 2025-08-26SHANGHAI EMBODIED INTELLIGENT EQUIP CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510734196.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-03
Publication Date
2025-08-26

AI Technical Summary

Technical Problem

In mobile robot path planning, collision detection of a large number of planned paths and dynamic obstacles requires a large amount of computing resources, resulting in a reduced path planning speed, especially in dense environments of dynamic obstacles.

Method used

By discrete the motion space into multiple cells, obtain and record the location and timestamp information of the planned path, combine the location and timestamp information of dynamic obstacles, perform collision detection, reduce direct path comparison, and use the space-for-time strategy to determine the collision path.

Benefits of technology

It improves the speed of path planning, reduces the use of computing resources, and realizes efficient real-time path planning in dynamic obstacle environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120538535A_ABST
    Figure CN120538535A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a path planning method, a mobile robot and related equipment, and is applied to the technical field of path navigation. According to the embodiment of the invention, the method comprises the steps: obtaining a plurality of planning paths of the mobile robot, and discretizing a motion space where the plurality of planning paths are located into a plurality of cells; determining first position information of the cells in the motion space and first timestamp information when the planned path arrives at the cells; predicting second position information of cells passed by the dynamic obstacle in the motion space and second timestamp information when the dynamic obstacle arrives at the cells; the dynamic barrier is a position-changing barrier; based on the first position information, the second position information, the first timestamp information and the second timestamp information, determining a collision path colliding with the dynamic obstacle; determining a target planning path from the plurality of planning paths based on the collision path; and the path planning speed can be effectively improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of path navigation technology, and in particular to a path planning method, a mobile robot, and related equipment. Background Art

[0002] A mobile robot is a mobile robot composed of sensors, remote operators, and automatic controllers. It has broad applications and development prospects in factory automation, factory logistics, and other areas. However, to achieve autonomous navigation, path planning is required.

[0003] During path planning, collision detection is often required for obstacles around a mobile robot, especially for dynamic obstacles whose positions change, such as pedestrians or animals. During path planning, collision detection for dynamic obstacles typically involves predicting the obstacle's motion path, comparing the mobile robot's planned path with the predicted path, and determining whether a collision will occur.

[0004] However, when a mobile robot has a large number of planned paths, it is necessary to perform collision detection between the predicted paths of dynamic obstacles and the large number of planned paths of the mobile robot one by one during path planning, which requires more computing resources and reduces the speed of path planning. Summary of the Invention

[0005] The embodiments of the present application provide a path planning method, a mobile robot, and related equipment, which can improve the speed of path planning.

[0006] The present invention provides a path planning method for a mobile robot, including:

[0007] Acquire multiple planned paths of the mobile robot and multiple cells of a discretized motion space where the multiple planned paths are located;

[0008] Determining first position information of the cell in the motion space and first timestamp information when the planned path arrives at the cell;

[0009] Predicting second position information of a cell that a dynamic obstacle passes through in the motion space, and second timestamp information when the dynamic obstacle arrives at the cell; the dynamic obstacle is an obstacle with a changing position;

[0010] determining a collision path for colliding with the dynamic obstacle based on the first position information, the second position information, the first timestamp information, and the second timestamp information;

[0011] A target planned path is determined from the plurality of planned paths based on the collision path.

[0012] Furthermore, after determining a target planned path from the plurality of planned paths based on the collision path, the method further includes:

[0013] The mobile robot is controlled to move based on the target planned path.

[0014] Furthermore, the obtaining of multiple planned paths of the mobile robot includes:

[0015] Sampling is performed in a sampling space corresponding to the mobile robot to obtain at least two path trees; the sampling space is a space less than a preset distance from the mobile robot;

[0016] One of the at least two path trees is spliced ​​to each end of the other path tree to obtain a plurality of the planned paths.

[0017] Furthermore, the sampling in the sampling space corresponding to the mobile robot includes:

[0018] Setting a curvature radius of the polynomial curve based on a minimum turning radius of the mobile robot during movement;

[0019] The set polynomial curve is used to perform sampling in the sampling space corresponding to the mobile robot.

[0020] Furthermore, determining the first position information of the cell in the motion space and the first timestamp information when the planned path arrives at the cell includes:

[0021] Based on the target cells covered by the projection of the mobile robot during the movement of the mobile robot on the planned path;

[0022] Determine first position information of the target cell in the motion space and first timestamp information when the planned path reaches the target cell.

[0023] Furthermore, determining a collision path of the dynamic obstacle based on the first position information, the second position information, the first timestamp information, and the second timestamp information includes:

[0024] Determining that the first position information and the second position information refer to the same cell;

[0025] The first timestamp information corresponding to the same cell is compared with the corresponding second timestamp information to determine a collision path with the dynamic obstacle.

[0026] Furthermore, comparing the first timestamp information corresponding to the same cell with the corresponding second timestamp information to determine a collision path with the dynamic obstacle includes:

[0027] If the time difference between the first timestamp information and the second timestamp information corresponding to the same cell is within a preset threshold, determining that the planned path corresponding to the first timestamp information is the collision path; wherein the preset threshold is a threshold range determined based on the diameter size of the dynamic obstacle and the moving speed of the dynamic obstacle;

[0028] If the time difference is not within the preset threshold, it is determined that the planned path corresponding to the first timestamp information is not the collision path.

[0029] Furthermore, determining a target planned path from the plurality of planned paths based on the collision path includes:

[0030] determining a collision-free path from a plurality of the planned paths based on the collision path;

[0031] The collision-free path is evaluated in multiple dimensions to determine a target planning path; wherein the multi-dimensional evaluation includes at least two dimensions of path safety, path consistency, path smoothness and stability, and path movement efficiency.

[0032] The present application also provides a path planning device for a mobile robot, including:

[0033] An acquisition unit, configured to acquire a plurality of planned paths of the mobile robot and a plurality of cells for discretizing the motion space in which the plurality of planned paths are located;

[0034] a first determining unit, configured to determine first position information of the cell in the motion space and first timestamp information when the planned path arrives at the cell;

[0035] a prediction unit, configured to predict second position information of a cell that a dynamic obstacle passes through in the motion space, and second timestamp information when the dynamic obstacle arrives at the cell; the dynamic obstacle is an obstacle whose position changes;

[0036] a second determining unit, configured to determine a collision path of the object colliding with the dynamic obstacle based on the first position information, the second position information, the first timestamp information, and the second timestamp information;

[0037] A third determining unit is configured to determine a target planned path from the plurality of planned paths based on the collision path.

[0038] The present application also provides a mobile robot, comprising:

[0039] CPU, memory;

[0040] The memory is a transient storage memory or a persistent storage memory;

[0041] The central processing unit is configured to communicate with the memory and execute instruction operations in the memory on the control plane function entity to perform the above-mentioned path planning method.

[0042] An embodiment of the present application further provides a computer program product, comprising a computer program. When the computer program product is run on a computer, the computer is enabled to execute the path planning method as described above.

[0043] An embodiment of the present application further provides a computer-readable storage medium, which includes instructions. When the instructions are executed on a computer, the computer executes the path planning method as described above.

[0044] It can be seen from the above technical solutions that the embodiments of the present application have the following advantages:

[0045] It can be seen that in the embodiment of the present application, a plurality of cells in which the motion space in which the multiple planned paths are located is discretized are obtained, and based on the first position information of the cell, the first timestamp information when the planned path arrives at the cell, the second position information of the cell through which the dynamic obstacle passes, and the second timestamp information when the dynamic obstacle arrives at the cell, the collision path that collides with the dynamic obstacle can be determined; when performing path planning, there is no need to perform one-to-one collision detection on the predicted path of the dynamic obstacle and the planned path of the mobile robot, which reduces the occupied computing resources and improves the speed of path planning. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0047] Figure 1 A schematic diagram of a communication architecture disclosed in an embodiment of the present application;

[0048] Figure 2 A flowchart of a path planning disclosed in an embodiment of the present application;

[0049] Figure 3 This is a flowchart of another path planning disclosed in an embodiment of the present application;

[0050] Figure 4 A schematic diagram of path splicing disclosed in an embodiment of the present application;

[0051] Figure 5 A schematic diagram of an envelope grid disclosed in an embodiment of the present application;

[0052] Figure 6 A schematic projection diagram of a mobile robot disclosed in an embodiment of the present application;

[0053] Figure 7 This is a schematic diagram of adding timestamp information to a planned path disclosed in an embodiment of the present application;

[0054] Figure 8 A schematic diagram of the time distribution of timestamp information disclosed in an embodiment of the present application;

[0055] Figure 9 A schematic diagram of a collision-free path disclosed in an embodiment of the present application;

[0056] Figure 10 A motion effect diagram of a mobile robot disclosed in an embodiment of the present application;

[0057] Figure 11 A schematic diagram comparing average distances of different solutions disclosed in an embodiment of the present application;

[0058] Figure 12 A schematic diagram comparing the calculation time of different solutions disclosed in the embodiments of this application;

[0059] Figure 13 A schematic diagram comparing multiple indicators of different solutions disclosed in the embodiments of this application;

[0060] Figure 14 A schematic diagram of the speed of a mobile robot at a first density level disclosed in an embodiment of the present application;

[0061] Figure 15 A schematic diagram of the speed of a mobile robot at a second density level disclosed in an embodiment of the present application;

[0062] Figure 16 A schematic diagram of the speed of a mobile robot at a third density level disclosed in an embodiment of the present application;

[0063] Figure 17 A schematic diagram of the speed of a mobile robot at a fourth density level disclosed in an embodiment of the present application;

[0064] Figure 18 A schematic diagram of a path planning device disclosed in an embodiment of the present application;

[0065] Figure 19 This is a schematic diagram of a mobile robot disclosed in an embodiment of the present application. DETAILED DESCRIPTION

[0066] In order to help those skilled in the art better understand the present invention, the following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of this application.

[0067] In the description of the embodiments of the present application, it should be noted that the terms "center", "up", "down", "left", "right", "vertical", "horizontal", "inside", "outside", etc., indicating the orientation or position relationship, are based on the orientation or position relationship shown in the accompanying drawings. They are only for the convenience of describing the embodiments of the present application and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation. Therefore, they cannot be understood as limiting the embodiments of the present application.

[0068] In the description of the embodiments of the present application, it should be noted that, unless otherwise expressly specified or limited, the terms "installed," "connected," and "connected" should be understood in a broad sense. For example, they can refer to fixed connections, detachable connections, or integral connections; they can refer to mechanical connections or electrical connections; they can refer to direct connections or indirect connections through an intermediate medium; and they can refer to internal connections between two components. Those skilled in the art will understand the specific meanings of the above terms in the embodiments of the present application based on the specific circumstances.

[0069] Existing autonomous navigation systems such as Figure 1 As shown, the system includes a path planning device 101 and a mobile robot 102. The path planning device 101 is connected to one or more mobile robots 102 and can plan the movement path of the mobile robot 102. During the path planning process, the path planning device 101 often needs to perform collision detection on obstacles around the mobile robot 102.

[0070] In traditional autonomous navigation systems, dynamic obstacles are given little consideration when performing path planning, or dynamic obstacles are simply treated as instantaneous static obstacles, which is not conducive to the autonomous and stable navigation of mobile robots in dynamic environments with dynamic obstacles. In existing path planning devices, the computing power of the computing unit is relied upon to compare the planned path of the mobile robot with the predicted path of the dynamic obstacle to perform collision detection on the dynamic obstacle. However, when there are many planned paths for the mobile robot, when performing path planning, it is necessary to perform collision detection on the predicted path of the dynamic obstacle with the large number of planned paths of the mobile robot one by one, which requires more computing resources and reduces the speed of path planning. At the same time, when the density of dynamic obstacles is large, collision detection on a large number of dynamic obstacles will increase the computing resources occupied, further reducing the speed of path planning. Therefore, an embodiment of the present application provides a path planning method, which is applied to a mobile robot and can effectively improve the path planning speed of the mobile robot, such as Figure 2 As shown, the details are as follows:

[0071] 201. Obtain multiple planned paths of a mobile robot and multiple cells of a discretized motion space where the multiple planned paths are located.

[0072] In an embodiment of the present application, a path planning device can obtain multiple planned paths of the mobile robot, as well as multiple cells that discretize the motion space in which the multiple planned paths are located. The mobile robot may be a robot with a driving function, such as a sweeping robot or a food delivery robot, which is not specifically limited here. The planned path is a path provided to the mobile robot for operation, and the planned path may be a curve, a straight line, or a polyline, which is not specifically limited here. The mobile robot has multiple planned paths from the current position to the destination. Specifically, multiple planned paths can be obtained by extending toward the destination based on the historical path of the mobile robot, or multiple planned paths can be obtained by sampling with the mobile robot as the base point through a path curve that conforms to the kinematics of the mobile robot, which is not specifically limited here.

[0073] The motion space in which multiple planned paths are located can be understood as the state space in which the mobile robot can travel. The motion space can be discretized into multiple cells, that is, the motion space is divided into multiple partitions. Each cell has a certain area, and the area sizes of multiple cells can be the same or different, which is not limited here. The multiple cells can be an envelope grid that envelops multiple planned paths, or a fishing net grid that discretizes the motion space, which is not limited here. The grid and the fishing net grid can be a rectangular grid or a diamond grid, which is not limited here. At this time, the planned path of the mobile robot is discretized and projected into the corresponding cell. The discrete grid can be represented as the following set:

[0074]

[0075] In the above formula Indicates that the coordinate (i x ,i y ) grid, W and H are the width and height of the rectangular grid respectively. Since the space is discretized, they are positive integers.

[0076] Among them, when discretizing the motion space, the discretization resolution can be set to 0.05 meters, such as the length and width of each cell are both 0.05 meters. Preferably, the discretization resolution can be determined based on the density of obstacles in the motion space; the density can be the number of obstacles per unit area, such as the number of obstacles per square meter. When the density of obstacles is greater, the discretization resolution is greater, and the number of cells obtained by discretization is greater; when the density of obstacles is smaller, the discretization resolution is smaller, and the number of cells obtained by discretization is smaller. Determining the discretization resolution based on the density of obstacles in motion control can make the obtained multiple cells more in line with the needs of the environment, so as to improve the accuracy of collision detection.

[0077] 202. Determine first position information of the cell in the motion space and first timestamp information when the planned path arrives at the cell.

[0078] After obtaining multiple cells discretized in the motion space, the first position information of the cell in the motion space and the first timestamp information when the planned path arrives at the cell can be determined. The first position information can be: the coordinate information of the cell, such as the coordinate value of the center or vertex of each cell in a motion space represented by a Cartesian coordinate system, which is used to determine the specific position of the cell in the motion space; or, a base point is taken in the motion space, and the corresponding position information is obtained based on the positional relationship between the cell and the base point. The specific details are not limited here.

[0079] Among them, the planned path arrives at the cell means: the mobile robot arrives at the cell on the planned path; the time when the mobile robot just contacts the cell can be determined as the planned path arriving at the cell. Based on the current position information of the mobile robot and the acceleration information of the mobile robot, the first timestamp information when the planned path arrives at the cell can be determined using a unified time measurement standard. It can be understood that one or more planned paths will pass through the cell of the motion space, and all cells in the motion space can be traversed to determine the planned path passed through the cell and the first timestamp information when the planned path arrives at the cell; record the first position information of the cell, the identification information of the planned path passed through (such as ID information or name, etc.) and the first timestamp information when the planned path arrives at the cell. For example, a two-dimensional vector data table can be constructed, with the first position information of the cell as the index, to store the identification information of the planned path passed through the cell and the first timestamp information when the planned path arrives at the cell.

[0080] 203. Predict second position information of the cell that the dynamic obstacle passes through in the motion space, and second timestamp information when the dynamic obstacle arrives at the cell.

[0081] In an embodiment of the present application, the second position information of a cell that a dynamic obstacle passes through in a motion space, as well as the second timestamp information when the dynamic obstacle arrives at the cell, can be predicted. The dynamic obstacle is a variable-position obstacle whose position in the motion space of the mobile robot is time-sensitive. The dynamic obstacle can be a pedestrian, an animal, or a vehicle, the specifics of which are not limited herein. The second position information of the cell that the dynamic obstacle passes through in the motion space, as well as the second timestamp information when the dynamic obstacle arrives at the cell, can be predicted based on information such as the dynamic obstacle's current position, velocity, and acceleration.

[0082] It should be noted that there is no restriction on the order of the above steps 201 and 202 and step 203; that is, the first position information and the first timestamp information can be determined first, and then the second position information and the second timestamp information can be obtained; or the second position information and the second timestamp information can be obtained first, and then the first position information and the first timestamp information can be determined.

[0083] 204. Determine a collision path for colliding with the dynamic obstacle based on the first position information, the second position information, the first timestamp information, and the second timestamp information.

[0084] Then, the collision path of the dynamic obstacle can be determined based on the first position information, the second position information, the first timestamp information and the second timestamp information. Specifically, the first position information and the second information can be matched to obtain matching cells, which can be cells with the same position information (i.e., cells through which the dynamic obstacle passes), or cells with adjacent position information (i.e., cells adjacent to cells through which the dynamic obstacle passes); then, the first timestamp information corresponding to the planned path on the matching cell can be compared with the second timestamp information corresponding to the dynamic obstacle on the matching cell to determine the collision path of the dynamic obstacle. If the first timestamp information is consistent with the second timestamp information, or the time difference between the first timestamp information and the second timestamp information is within the preset threshold, the planned path corresponding to the first timestamp information is determined to be the collision path. The preset threshold can be 1 second or 2 seconds, which is not specifically limited here.

[0085] It can be seen that in the embodiment of the present application, the first timestamp information can be compared with the second timestamp information based on the first position information and the second position information by searching, so as to determine the collision path of the collision with the dynamic obstacle. For example, in the above-mentioned two-dimensional vector data table, the second position information of the cell through which the dynamic obstacle passes is used to search for the corresponding cell in the two-dimensional vector data table; then, the first timestamp information corresponding to the cell found in the two-dimensional vector data table is compared with the second timestamp information when the dynamic obstacle arrives at the cell to determine the collision path of the collision with the dynamic obstacle. That is, in the present application, for the complex dynamic environment of dynamic obstacles, the strategy of exchanging space for time is adopted to convert the collision detection of dynamic obstacles from the motion path in space to the collision detection by searching through timestamp information, which greatly reduces the calculation time.

[0086] 205. Determine a target planned path from multiple planned paths based on the collision path.

[0087] After determining the collision path with the dynamic obstacle, a target planned path can be determined from multiple planned paths based on the collision path. The collision path identification information can be used to eliminate the collision path from the multiple planned paths to obtain a collision-free path, which is then used to determine the target planned path. For example, based on the efficiency of the paths, the path that reaches the destination the fastest among the collision-free paths can be selected as the target planned path.

[0088] Furthermore, in an embodiment of the present application, after determining the target planning path, the mobile robot can be controlled to move based on the target planning path, effectively preventing the mobile robot from colliding with dynamic obstacles during movement.

[0089] It can be seen that in the embodiment of the present application, a plurality of cells in the motion space where the plurality of planned paths are located are obtained, and based on the first position information of the cell, the first timestamp information when the planned path arrives at the cell, the second position information of the cell through which the dynamic obstacle passes, and the second timestamp information when the dynamic obstacle arrives at the cell, the collision path that collides with the dynamic obstacle can be determined; when performing path planning, there is no need to perform one-to-one collision detection between the predicted path of the dynamic obstacle and the planned path of the mobile robot, which reduces the occupied computing resources and improves the speed of path planning. Through the path planning method of the embodiment of the present application, it is possible to quickly perform collision detection in the dynamic environment corresponding to the dynamic obstacle, realize efficient real-time path planning, and realize efficient and real-time navigation of the mobile robot in the dynamic environment.

[0090] It should be noted that the path planning method in the embodiments of the present application is applicable not only to collision detection and path planning for dynamic obstacles, but also to collision detection and path planning for static obstacles. A static obstacle is an obstacle with a fixed position that does not change within the motion space of the mobile robot. The static obstacle can be a tree, a rock pier, or the like, and the specifics are not limited here.

[0091] Furthermore, the following will be combined Figure 3 The path planning process in this application is described in detail, including the following steps:

[0092] 301. Join at least two path trees obtained by sampling the sampling space corresponding to the mobile robot to obtain multiple planned paths.

[0093] It is understandable that when multiple planned paths are obtained by sampling a path curve that conforms to the mobile robot's kinematics based on the mobile robot's motion space, if the sampling path length is too long, it is difficult to fully sample the multiple planned paths in the motion space due to parameter limitations of the path curve. However, in the embodiments of the present application, at least two path trees obtained by sampling the sampling space corresponding to the mobile robot can be spliced ​​together to obtain multiple planned paths. By splicing multiple curves, a wide range of coverage sampling of the mobile robot's motion space can be achieved, enabling comprehensive sampling of multiple planned paths in the motion space.

[0094] Specifically, sampling can be performed in the sampling space corresponding to the mobile robot to obtain at least two path trees; the sampling space is a space less than a preset distance from the mobile robot; the preset distance can be 2 meters or 3 meters, which is not limited here. Splice one of the at least two path trees to each end of the other path tree, and control the first-order continuity of the splicing point during splicing (that is, the first-order derivatives of the two path lines at the splicing point are equal) to obtain multiple planned paths. Figure 4As shown in the figure, the two gray boxes represent the sampling space; path tree 1 and path tree 2 can be sampled. Path tree 1 contains multiple path lines (such as path0, path 1, ..., pathn0). By splicing path tree 2 to each end of path tree 1, multiple planned paths (path0, path 1, ..., pathn1) can be obtained. After the splicing is completed, the corresponding identification information can be assigned to the planned path, such as adding an ID number at the end of the planned path, corresponding to the path ξ (i,j,k,…) The ID number is its subscript, which can be expressed as:

[0095] id=(i,j,,k,…)

[0096] Among them, i represents the i-th path line in the first layer, j represents the j-th position of the path line in the second layer splicing path tree, k represents the k-th position of the path line in the third layer path tree, and so on to obtain the ID number of any multi-layer path.

[0097] Taking the set composed of two-layer path trees as an example, the paths can form a set, which can be expressed as shown below:

[0098]

[0099] In the above formula, n0 is the number of sampling paths in the first-level path tree, and n1 is the number of sampling paths in the second-level path tree.

[0100] Furthermore, to ensure smooth movement of the mobile robot, in an embodiment of the present application, the curvature radius of a polynomial curve can be set based on the minimum turning radius of the mobile robot during movement. The polynomial curve is a path curve that conforms to the kinematics of the mobile robot. The set polynomial curve is used to perform sampling in the sampling space corresponding to the mobile robot. It is understood that the curvature radius of the polynomial curve is used to limit the turning radius in the planned path. The minimum curvature radius of the polynomial curve can be limited to be greater than the minimum turning radius of the mobile robot during movement, and the maximum curvature radius of the polynomial curve can be limited to be less than the maximum turning radius of the mobile robot during movement, so that the mobile robot can move smoothly on the planned path.

[0101] If the polynomial curve can be a cubic polynomial curve, the motion space of the mobile robot can be represented by the xy dimension; the corresponding cubic polynomial curve formula is: w(t) = a0 + a1t + a2t 2 +a3t 3 Where w(t) represents a cubic polynomial curve, a0, a1, a2, and a3 are all constants of the curve, and t represents the sampling time. The radius of curvature of the cubic polynomial curve is determined by the constants of the curve. You can set the radius of curvature of the cubic polynomial curve by setting the constants of the curve.

[0102] After multiple planning paths are obtained by splicing, an envelope grid (i.e., a cell) that envelops multiple planning paths can be generated, such as Figure 5 shown.

[0103] 302. Determine first position information of a target cell covered by the projection of the mobile robot and first timestamp information when the planned path reaches the target cell.

[0104] It is understandable that during the movement of the mobile robot in the path planning process, the projection of the mobile robot will occupy multiple cells, such as Figure 6 As shown, when the timestamp information when the mobile robot arrives at the occupied cell is consistent with the timestamp information when the dynamic obstacle arrives at the occupied cell, or the time difference is within a preset threshold, it can also be determined that the dynamic obstacle has collided with the corresponding planned path. In order to more accurately detect collisions with dynamic obstacles, in this embodiment of the application, the first position information of the target cell covered by the projection of the mobile robot during the planned path movement and the first timestamp information when the planned path arrives at the target cell can be determined.

[0105] Specifically, in an embodiment of the present application, the target cells covered by the projection of the mobile robot during the movement of the mobile robot on the planned path can be determined; wherein, the target cells covered by the projection of the mobile robot can be determined and recorded based on the position and shape of the chassis of the mobile robot during the movement of the mobile robot on the planned path; the target cells covered by the projection of the mobile robot during the movement of the mobile robot on multiple planned paths can be obtained. Then, the first position information of the target cell in the motion space can be determined, and the first position information is the position information (such as coordinate information) of the projection of the mobile robot in the operation space; and the first timestamp information when the planned path arrives at the target cell can be determined. It can be understood that in an embodiment of the present application, in the two-dimensional vector data table, only the first position information of the target cell occupied by the projection of the mobile robot, the identification information of the planned path passed through the target cell, and the first timestamp information when the planned path arrives at the target cell can be recorded; without spending a lot of time traversing all cells in the motion space, effective information can be obtained more quickly.

[0106] By determining the target cells covered by the projection of the mobile robot as it moves along the planned path, the target cells passed by the mobile robot during the planned path can be obtained more accurately. By using the first timestamp information when the planned path reaches the target cell and the second timestamp information when the dynamic obstacle reaches the target cell, it is determined whether a dynamic obstacle will collide with the mobile robot at the target cell, and collision detection of dynamic obstacles can be performed more accurately.

[0107] Among them, based on the gradient speed model and the length of the planned path, the timestamp information of the uniform step length can be added to the planned path, and the timestamp information of the uniform step length can be mapped to the cell based on the planned path to obtain the first timestamp information when the planned path arrives at the cell. The corresponding gradient speed model is as follows Figure 7 As shown in the figure, ξ (i,j) represents a planned path, v0 represents the initial speed of the mobile robot, v m represents the maximum speed of the mobile robot, a m Indicates the maximum acceleration of the mobile robot, s i Indicates the length of the planned path, t i Indicates that i The time allocated based on the gradient velocity model is i = 0, 1, 2…k…n; the corresponding uniform step-size timestamp information is calculated using the following formula:

[0108]

[0109] After obtaining the first timestamp information when the planned path arrives at the cell, the timestamp of a planned path in the cell can be represented by the time distribution matrix, such as Figure 8 As shown in the figure, the timestamps corresponding to different grids are expressed by different colors in the envelope grid, which can intuitively display the timestamps of the planned path in the cells.

[0110] 303. Predict second position information of the cell that the dynamic obstacle passes through in the motion space, and second timestamp information when the dynamic obstacle arrives at the cell.

[0111] It is understandable that step 303 is similar to the above step 203 and will not be described in detail here.

[0112] 304. Compare the first timestamp information corresponding to the same cell with the corresponding second timestamp information to determine a collision path with the dynamic obstacle.

[0113] After obtaining the first timestamp information and the second timestamp information, the first timestamp information corresponding to the same cell can be compared with the corresponding second timestamp information to determine the collision path with the dynamic obstacle. Specifically, the first position information and the second position information can be determined to refer to the same cell; the first timestamp information corresponding to the same cell can be compared with the corresponding second timestamp information to determine the collision path with the dynamic obstacle. Figure 8 In the time distribution diagram, it is determined whether the second timestamp information of the cell where the dynamic obstacle arrives is within a preset threshold, that is, the timeliness of the dynamic obstacle on the cell of the time distribution diagram is determined, and then the collision path of the dynamic obstacle collision is determined.

[0114] Specifically, if the time difference between the first timestamp information and the second timestamp information corresponding to the same cell is within a preset threshold, the planned path corresponding to the first timestamp information is determined to be a collision path; if the time difference is not within the preset threshold, the planned path corresponding to the first timestamp information is determined not to be a collision path. The preset threshold is a threshold determined based on the diameter size and movement speed of the dynamic obstacle. The corresponding threshold Δτ calculation formula is:

[0115]

[0116] Among them, φ p Indicates the diameter of the dynamic obstacle, v p represents the speed of the dynamic obstacle, λ p Represents a safety factor, which is generally greater than 1.0. A preset threshold value is determined by the diameter of the dynamic obstacle and the speed of the dynamic obstacle. Dynamic obstacle collision detection is performed based on the preset threshold value, enabling accurate collision detection.

[0117] 305. Determine a collision-free path from multiple planned paths based on the collision path; perform multi-dimensional evaluation on the collision-free path to determine the target planned path.

[0118] After determining a collision path with a dynamic obstacle, a collision-free path can be determined from multiple planned paths based on the collision path. A multi-dimensional evaluation of the collision-free path can be performed to determine a target planned path. Determining the target planned path through multi-dimensional evaluation can more accurately screen out the optimal planned path. Specifically, a collision-free path can be screened from multiple planned paths based on the identification information of the collision path. A multi-dimensional evaluation of the collision-free path can be performed to determine the target planned path. The multi-dimensional evaluation includes at least two dimensions: path safety, path consistency, path smoothness and stability, and path movement efficiency.

[0119] The paths can be scored based on a multi-dimensional evaluation function. The corresponding multi-dimensional evaluation function is as follows:

[0120] p=η s η e η f η c η v

[0121] Among them, η s represents the security of the path, η e represents the friendliness of dynamic obstacles, η f represents the consistency of the path, η c represents the smooth stability of the path, η v Indicates the movement efficiency of the path.

[0122] like Figure 9 As shown in the figure, after obtaining the collision-free path, the collision-free path can be fused to obtain multiple cluster paths. In the figure, the gray dots represent the locations where the dynamic obstacles collide with the planned path, and different colors represent different cluster paths. represents the kth cluster path, N k represents the number of paths in the kth cluster, k = 1, 2, 3, 4, x A Represents a path point, x i Represents another path point, x B Indicates the destination point; Indicates that from x A Point to x i The path segment of the point, ξ l Represents x A The path selected at the last moment corresponding to the point, Indicates that from x i Point to x B The path segment of the point, p represents the corresponding score; the details are as follows:

[0123]

[0124] Among them, N t represents the total number of collision-free paths, λ s Represents the weight coefficient of security, N k The larger it is, the higher the security of the selected path.

[0125]

[0126] Among them, λ e represents the weight coefficient of friendliness, λ represents the distance coefficient, d m Indicates the distance between the mobile robot and the dynamic obstacle during its movement, d sIndicates the minimum safe distance between the mobile robot and dynamic obstacles during movement.

[0127]

[0128] Among them, λ f The weight coefficient representing the consistency, It represents the Fréchet distance between the selected path and the path selected at the previous moment. The smaller it is, the better the path consistency and the better the navigation stability.

[0129]

[0130] Among them, λ c represents the weight coefficient of smooth stability, ξ represents the path, κ(ξ) represents the curvature of the path; η c The larger the value, the smaller the turning angle required in the path, and the smoother the movement of the mobile robot.

[0131]

[0132] Among them, λ v represents the weight coefficient of the moving efficiency, and L represents the length of the path. v The bigger it is, the faster it will reach the destination.

[0133] It is understandable that the weight coefficients of each indicator in the multidimensional evaluation function can be adjusted according to the needs of the actual environment; through the multidimensional evaluation function, path screening is achieved and safe and efficient navigation planning is realized.

[0134] By using the path planning method of the embodiment of the present application, the operation effect of the mobile robot in a dense pedestrian environment can be obtained as follows: Figure 10 As shown, the target planning path of the mobile robot can be quickly obtained to ensure the operation continuity of the mobile robot.

[0135] Furthermore, the path planning method (Ours) of the embodiment of the present application is simulated and compared with other path planning methods (AKP, iMPC, MPEPC) under different pedestrian densities (density of dynamic obstacles), and the comparison results of different metrics are obtained. Figure 11 The simulation comparison of the average distance between the mobile robot and pedestrians during movement under different pedestrian densities shows that the path planning method of the embodiment of the present application has the largest average distance between the mobile robot and pedestrians during movement under different pedestrian densities and the best pedestrian friendliness. Figure 12The time to calculate the target planning path under different pedestrian densities is shown in FIG. 1 . It can be seen that the path planning method of the embodiment of the present application has the shortest calculation time under different pedestrian densities and can quickly perform path planning. Figure 13 The simulation comparison of the steering angle per unit length of the mobile robot, the average time for the mobile robot to reach the target point, the length of the target planned path, and the average speed of the mobile robot under different pedestrian densities shows that the path planning method of the embodiment of the present application has the smallest steering angle per unit length and the best smoothness under different pedestrian densities; the shortest average time for the mobile robot to reach the target point and the shortest travel time; the shortest length of the target planned path, the fastest average speed of the mobile robot, and the highest travel efficiency.

[0136] Furthermore, an embodiment of the present application also provides a simulation diagram of the linear velocity and angular velocity of the mobile robot under different densities of dynamic obstacles using the path planning method in the present application. Figure 14 This is a simulation diagram of the linear velocity and angular velocity of the mobile robot under the first density level. Figure 15 This is a simulation diagram of the linear velocity and angular velocity of the mobile robot under the second density level. Figure 16 This is a simulation diagram of the linear velocity and angular velocity of the mobile robot at the third density level. Figure 17 This is a simulation diagram of the linear velocity and angular velocity of the mobile robot under the fourth density level; among them, the first density level < the second density level < the third density level < the fourth density level; it can be seen that with the increase of the density level, the changes in the linear velocity and angular velocity of the mobile robot become more obvious, so that dynamic obstacles can be avoided more accurately and the movement can be carried out more safely and efficiently.

[0137] The present application also provides a path planning device for use in a mobile robot, such as Figure 18 Shown, including:

[0138] An acquisition unit 1801 is configured to acquire a plurality of planned paths of the mobile robot and a plurality of cells for discretizing the motion space in which the plurality of planned paths are located;

[0139] A first determining unit 1802 is configured to determine first position information of the cell in the motion space and first timestamp information when the planned path arrives at the cell;

[0140] The prediction unit 1803 is configured to predict second position information of a cell that a dynamic obstacle passes through in the motion space, and second timestamp information when the dynamic obstacle arrives at the cell; the dynamic obstacle is an obstacle whose position changes;

[0141] A second determining unit 1804 is configured to determine a collision path of the dynamic obstacle based on the first position information, the second position information, the first timestamp information, and the second timestamp information;

[0142] The third determining unit 1804 is configured to determine a target planned path from the plurality of planned paths based on the collision path.

[0143] The present application embodiment also provides a mobile robot 1900, such as Figure 19 As shown, the mobile robot 1900 of the embodiment of the present application may include one or more central processing units (CPUs) 1901 and a memory 1902 , in which one or more applications or data are stored.

[0144] Memory 1902 may be volatile or persistent storage. The program stored in memory 1902 may include one or more modules, each of which may include a series of instruction operations on the electronic device. Furthermore, central processing unit 1901 may be configured to communicate with memory 1902 and execute the series of instruction operations in memory 1902 on mobile robot 1900.

[0145] The mobile robot 1900 may also include one or more power supplies 1905, one or more wired or wireless network interfaces 1904, one or more input and output interfaces 1903, and / or one or more operating systems, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, etc.

[0146] The central processing unit 1901 can execute the operations performed by the aforementioned first aspect or any specific method embodiment of the first aspect, and the details will not be repeated here.

[0147] An embodiment of the present application further provides a computer-readable storage medium, which includes instructions. When the instructions are executed on a computer, the computer executes the method described above.

[0148] An embodiment of the present application further provides a computer program product, comprising a computer program. When the computer program product is run on a computer, the computer is enabled to execute the path planning method as described above.

[0149] It should be appreciated that the method steps in the embodiments of the present invention can be implemented or executed by computer hardware, a combination of hardware and software, or by computer instructions stored in a non-transitory computer-readable memory. The method can use standard programming techniques. Each program can be implemented in a high-level procedural or object-oriented programming language to communicate with the computer system. However, if desired, the program can be implemented in assembly or machine language. In any case, the language can be a compiled or interpreted language. In addition, for this purpose, the program can be run on a programmed application-specific integrated circuit.

[0150] Furthermore, the operations of the processes described herein may be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by the context. The processes described herein (or variations and / or combinations thereof) may be performed under the control of one or more computer systems configured with executable instructions and may be implemented as code (e.g., executable instructions, one or more computer programs, or one or more applications) that is executed collectively on one or more processors, by hardware, or a combination thereof. The computer program includes a plurality of instructions that can be executed by one or more processors.

[0151] Further, the method can be implemented in any type of computing platform that is operably connected to a suitable computer, including but not limited to a personal computer, a minicomputer, a mainframe, a workstation, a network or distributed computing environment, a separate or integrated computer platform, or in communication with a charged particle tool or other imaging device, etc. Various aspects of the present invention can be implemented as machine-readable code stored on a non-transitory storage medium or device, whether removable or integrated into a computing platform, such as a hard disk, an optical read and / or write storage medium, an RSM, a ROM, etc., so that it can be read by a programmable computer, and when the storage medium or device is read by the computer, it can be used to configure and operate the computer to perform the process described herein. In addition, the machine-readable code, or portions thereof, can be transmitted over a wired or wireless network. When such media includes instructions or programs that implement the steps described above in conjunction with a microprocessor or other data processor, the invention described herein includes these and other different types of non-transitory computer-readable storage media. When programmed according to the methods and techniques of the present invention, the present invention can also include the computer itself.

[0152] The computer program can be applied to input data to perform the functions described herein, thereby converting the input data to generate output data that is stored in a non-volatile memory. The output information can also be applied to one or more output devices such as a display. In a preferred embodiment of the present invention, the converted data represents a physical and tangible object, including a specific visual depiction of the physical and tangible object produced on the display.

[0153] The above description is merely a preferred embodiment of the present invention. The present invention is not limited to the aforementioned embodiments. As long as the technical effects of the present invention are achieved by the same means, any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention shall be included within the scope of protection of the present invention. Within the scope of protection of the present invention, various modifications and variations of the technical solutions and / or implementation methods are possible.

Claims

1. A path planning method, applied to a mobile robot, characterized in that: include: Acquire multiple planned paths of the mobile robot and multiple cells of a discretized motion space where the multiple planned paths are located; Determining first position information of the cell in the motion space and first timestamp information when the planned path arrives at the cell; Predicting second position information of a cell that the dynamic obstacle passes through in the motion space, and second timestamp information when the dynamic obstacle arrives at the cell; The dynamic obstacle is an obstacle whose position changes; determining a collision path for colliding with the dynamic obstacle based on the first position information, the second position information, the first timestamp information, and the second timestamp information; A target planned path is determined from the plurality of planned paths based on the collision path.

2. The path planning method according to claim 1, characterized in that: After determining the target planned path from the plurality of planned paths based on the collision path, the method further includes: The mobile robot is controlled to move based on the target planned path.

3. The path planning method according to claim 1, wherein: The obtaining of multiple planned paths of the mobile robot includes: Sampling is performed in a sampling space corresponding to the mobile robot to obtain at least two path trees; the sampling space is a space less than a preset distance from the mobile robot; One of the at least two path trees is spliced ​​to each end of the other path tree to obtain a plurality of the planned paths.

4. The path planning method according to claim 3, characterized in that: The sampling in the sampling space corresponding to the mobile robot includes: Setting a curvature radius of the polynomial curve based on a minimum turning radius of the mobile robot during movement; The set polynomial curve is used to perform sampling in the sampling space corresponding to the mobile robot.

5. The path planning method according to claim 1, wherein: The determining the first position information of the cell in the motion space and the first timestamp information when the planned path arrives at the cell includes: Determining a target cell covered by the projection of the mobile robot during the movement of the mobile robot on the planned path; Determine first position information of the target cell in the motion space and first timestamp information when the planned path reaches the target cell.

6. The path planning method according to claim 1, characterized in that: The determining, based on the first position information, the second position information, the first timestamp information, and the second timestamp information, of a collision path with the dynamic obstacle includes: Determining that the first position information and the second position information refer to the same cell; The first timestamp information corresponding to the same cell is compared with the corresponding second timestamp information to determine a collision path with the dynamic obstacle.

7. The path planning method according to claim 6, characterized in that: The comparing the first timestamp information corresponding to the same cell with the corresponding second timestamp information to determine a collision path of the object colliding with the dynamic obstacle includes: If the time difference between the first timestamp information and the second timestamp information corresponding to the same cell is within a preset threshold, determining that the planned path corresponding to the first timestamp information is the collision path; wherein the preset threshold is a threshold determined based on the diameter size of the dynamic obstacle and the moving speed of the dynamic obstacle; If the time difference is not within the preset threshold, it is determined that the planned path corresponding to the first timestamp information is not the collision path.

8. The path planning method according to claim 1, characterized in that: Determining a target planned path from the plurality of planned paths based on the collision path includes: determining a collision-free path from a plurality of the planned paths based on the collision path; The collision-free path is evaluated in multiple dimensions to determine a target planning path; wherein the multi-dimensional evaluation includes at least two dimensions of path safety, path consistency, path smoothness and stability, and path movement efficiency.

9. A path planning device, applied to a mobile robot, characterized in that: include: An acquisition unit, configured to acquire a plurality of planned paths of the mobile robot and a plurality of cells for discretizing the motion space in which the plurality of planned paths are located; a first determining unit, configured to determine first position information of the cell in the motion space and first timestamp information when the planned path arrives at the cell; a prediction unit, configured to predict second position information of a cell that a dynamic obstacle passes through in the motion space, and second timestamp information when the dynamic obstacle arrives at the cell; The dynamic obstacle is an obstacle whose position changes; a second determining unit, configured to determine a collision path of the object colliding with the dynamic obstacle based on the first position information, the second position information, the first timestamp information, and the second timestamp information; A third determining unit is configured to determine a target planned path from the plurality of planned paths based on the collision path.

10. A mobile robot, characterized in that: include: CPU, memory; The memory is a transient storage memory or a persistent storage memory; The central processing unit is configured to communicate with the memory and execute instruction operations in the memory on a control plane function entity to perform the path planning method according to any one of claims 1 to 8.

11. A computer program product comprising a computer program, characterized in that When the computer program product is run on a computer, the computer is enabled to execute the path planning method according to any one of claims 1 to 8.