Path planning method, device, electronic device and storage medium

By mapping the three-dimensional map into a two-dimensional map and generating a height map or slope map, the problem of large amounts of path planning computing resources and incomplete information in intelligent robot autonomous driving is solved, and the accuracy and efficiency of path planning are improved.

CN118816897BActive Publication Date: 2025-01-17SHENZHEN INTELLIGENCE ALLY TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411301843.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-18
Publication Date
2025-01-17
Estimated Expiration
2044-09-18

AI Technical Summary

Technical Problem

In the autonomous driving scenario of intelligent robots, when path planning is performed through a three-dimensional voxel map, computing resources occupy a large amount of information and incomplete information, resulting in large amounts of calculations and low accuracy of path planning.

Method used

A path planning method is proposed. By mapping the three-dimensional map into a two-dimensional map, a height map or slope map is generated, and a slope map is determined according to the type of the target device, and a path is planned based on the height map or slope map, reducing the use of the three-dimensional map for Computational resources for path planning.

Benefits of technology

It effectively reduces the computing resources required for path planning of three-dimensional maps, improves the accuracy of path planning, improves the information integrity of two-dimensional maps, and is suitable for different device types and scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118816897B_ABST
    Figure CN118816897B_ABST
Patent Text Reader

Abstract

The present invention discloses a path planning method, device, electronic device and storage medium, wherein the method comprises: generating a height map based on the free space and occupied space corresponding to the two-dimensional map mapped by the three-dimensional map of the target device; each grid unit in the height map stores the boundary information of the grid unit at the height corresponding to the three-dimensional map; determining whether to generate a slope map based on the type of the target device; each grid unit in the slope map stores the plane slope corresponding to the grid unit in the three-dimensional map; in response to determining to generate the slope map, generating the slope map based on the height map, and planning the path of the target device based on the slope map; in response to determining not to generate the slope map, planning the path of the target device based on the height map. In this way, through the height map and the slope map, the accuracy of the information after converting the three-dimensional map into two dimensions is improved, and the amount of calculation for planning the path based on the three-dimensional map is greatly reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of intelligent robot technology, and in particular to a path planning method, device, electronic equipment and storage medium. Background Art

[0002] In the scenario of autonomous driving of intelligent robots, path planning through 3D voxel maps requires a lot of computing resources, which is insufficient for low-latency and low-resource autonomous driving scenarios. Currently, 3D maps are often projected into 2D maps, but there is a defect of incomplete information. For example, when the ceiling position is projected into 2D, it will be considered an obstacle, resulting in the area that could have been passed being considered impassable. Summary of the invention

[0003] The embodiments of the present application provide a path planning method, device, electronic device and storage medium to solve the technical problems of large amount of calculation and low information accuracy in automatic path planning.

[0004] According to one aspect of an embodiment of the present application, a path planning method is provided, including: generating a height map based on free space and occupied space corresponding to a two-dimensional map mapped by a three-dimensional map of a target device; storing boundary information of each grid unit in the height map at a height corresponding to the grid unit in the three-dimensional map; determining whether to generate a slope map based on the type of the target device; storing each grid unit in the slope map at a plane slope corresponding to the grid unit in the three-dimensional map; in response to determining to generate a slope map, generating a slope map based on the height map, and planning a path of the target device based on the slope map; in response to determining not to generate a slope map, planning the path of the target device based on the height map.

[0005] Furthermore, the free space and occupied space corresponding to the two-dimensional map mapped based on the three-dimensional map of the target device generate a height map, including: determining a first height boundary point of the free space corresponding to the first grid unit in the two-dimensional map mapped based on the three-dimensional map of the target device; determining a second height boundary point of the occupied space corresponding to the second grid unit in the two-dimensional map; generating a corresponding height map based on the two-dimensional map; each grid unit of the height map contains the first height boundary point and / or the second height boundary point corresponding to the grid unit in the two-dimensional map.

[0006] Further, the determining whether to generate a slope graph based on the type of the target device includes: if the type of the target device is a walking device, determining to generate a slope graph; if the type of the target device is a flying device, determining not to generate a slope graph.

[0007] Further, generating a slope map based on the height map includes: determining the plane slope corresponding to the grid unit based on the boundary information of the grid unit and other grid units at adjacent positions in the height map; generating a slope map based on the plane slope; each grid unit in the slope map includes the plane slope corresponding to the grid unit.

[0008] Further, determining the plane slope corresponding to the grid unit based on the boundary information of the grid unit and other grid units at adjacent positions in the height map includes: determining the best-fitting plane in which the grid unit and other grid units at adjacent positions are located based on the boundary information of the grid unit and other grid units at adjacent positions in the height map; determining the plane slope corresponding to the grid unit based on the boundary information and the best-fitting plane.

[0009] Further, planning the path of the target device based on the slope map includes: determining whether the plane slope of the first grid unit corresponding to the free space in the slope map exceeds a predetermined threshold; in response to the plane slope exceeding the predetermined threshold, classifying the first grid unit as an occupied space; and planning the path of the target device based on the free space and occupied space corresponding to the grid units in the slope map.

[0010] Further, planning the path of the target device based on the height map includes: determining the occupancy rate of the second grid unit corresponding to the occupied space in the height map based on the spatial overlap between the second grid unit and the adjacent first grid unit; the first grid unit is a grid unit corresponding to the free space; determining the passable space based on the occupancy rate of the second grid unit and the first grid unit; and planning the path of the target device based on the passable space.

[0011] According to another aspect of an embodiment of the present application, a path planning device is also provided, including: a generation module, used to generate a height map based on the free space and occupied space corresponding to a two-dimensional map mapped by a three-dimensional map of a target device; each grid unit in the height map stores boundary information of the grid unit at the height corresponding to the three-dimensional map; a determination module, used to determine whether to generate a slope map based on the type of the target device; each grid unit in the slope map stores the plane slope corresponding to the grid unit in the three-dimensional map; a planning module, used to generate a slope map based on the height map in response to determining to generate a slope map, and plan the path of the target device based on the slope map; and plan the path of the target device based on the height map in response to determining not to generate a slope map.

[0012] Furthermore, the generation module is specifically used to: determine a first height boundary point of a free space corresponding to a first grid unit in a two-dimensional map of the three-dimensional map mapping of the target device; determine a second height boundary point of an occupied space corresponding to a second grid unit in the two-dimensional map; generate a corresponding height map based on the two-dimensional map; each grid unit of the height map contains the first height boundary point and / or the second height boundary point corresponding to the grid unit in the two-dimensional map.

[0013] Furthermore, the determination module is specifically used to: if the type of the target device is a walking device, determine to generate a slope graph; if the type of the target device is a flying device, determine not to generate a slope graph.

[0014] Furthermore, the planning module is specifically used to: determine the plane slope corresponding to the grid unit based on the boundary information of the grid unit and other grid units at adjacent positions in the height map; generate a slope map based on the plane slope; each grid unit in the slope map contains the plane slope corresponding to the grid unit.

[0015] Furthermore, the planning module is specifically used to: determine the best-fitting plane on which the grid unit and other grid units at adjacent positions are located based on the boundary information of the grid unit and other grid units at adjacent positions in the height map; determine the plane slope corresponding to the grid unit based on the boundary information and the best-fitting plane.

[0016] Furthermore, the planning module is specifically used to: determine whether the plane slope of the first grid unit corresponding to the free space in the slope map exceeds a predetermined threshold; in response to the plane slope exceeding the predetermined threshold, classify the first grid unit as occupied space; based on the free space and occupied space corresponding to the grid unit in the slope map, plan the path of the target device.

[0017] Furthermore, the planning module is specifically used to: determine the occupancy rate of the second grid unit corresponding to the occupied space in the height map based on the spatial overlap between the second grid unit and the adjacent first grid unit; the first grid unit is the grid unit corresponding to the free space; determine the passable space based on the occupancy rate of the second grid unit and the first grid unit; and plan the path of the target device based on the passable space.

[0018] According to another aspect of an embodiment of the present application, a storage medium is further provided, which includes a stored program, and the steps in the above method are executed when the program is run.

[0019] According to another aspect of an embodiment of the present application, there is also provided an electronic device, including a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other via the communication bus; wherein: the memory is used to store computer programs; and the processor is used to execute the steps in the above method by running the program stored in the memory.

[0020] The embodiment of the present application also provides a computer program product including instructions, which, when executed on a computer, enables the computer to execute the steps in the above method.

[0021] A path planning method, device, electronic device and storage medium proposed in the embodiment of the present application, the method generates a height map based on the free space and occupied space corresponding to the two-dimensional map mapped by the three-dimensional map of the target device; each grid unit in the height map stores the boundary information of the grid unit at the height corresponding to the three-dimensional map; determines whether to generate a slope map based on the type of the target device; each grid unit in the slope map stores the plane slope corresponding to the grid unit in the three-dimensional map; in response to determining to generate a slope map, a slope map is generated based on the height map, and the path of the target device is planned based on the slope map; in response to determining not to generate a slope map, the path of the target device is planned based on the height map. In this way, the three-dimensional map is converted into a two-dimensional map, and the path planning only needs to be combined with the height map or the slope map. The height map or the slope map is also a two-dimensional map containing only grid unit information, which greatly reduces the computing resources required for the three-dimensional map for path planning. Further, the height map or the slope map can be flexibly selected for different device types, providing the required map unit height or slope information for different scenarios, supplementing the missing information of the two-dimensional map, improving the information integrity of the two-dimensional map, and thus improving the accuracy of path planning. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0023] Figure 1 is a flow chart of a path planning method according to an embodiment of the present application;

[0024] Figure 2 is a flow chart of a path planning method according to an embodiment of the present application;

[0025] Figure 3 is a flow chart of a path planning method according to an embodiment of the present application;

[0026] Figure 4is a structural block diagram of a path planning device according to an embodiment of the present application;

[0027] Figure 5 It is a structural diagram of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION

[0028] In order to enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only embodiments of a part of the present application, not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without creative work should fall within the scope of protection of the present application. It should be noted that the embodiments in the present application and the features in the embodiments can be combined with each other without conflict.

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

[0030] In this embodiment, a path planning method is provided. Figure 1 is a flow chart of a path planning method according to an embodiment of the present application. Figure 1 As shown, the process includes the following steps:

[0031] S10: generating a height map based on the free space and the occupied space corresponding to the two-dimensional map mapped by the three-dimensional map of the target device; each grid cell in the height map stores boundary information at the height corresponding to the grid cell in the three-dimensional map;

[0032] S20: determining whether to generate a slope map based on the type of the target device; each grid cell in the slope map stores the plane slope corresponding to the grid cell in the three-dimensional map;

[0033] S30: In response to determining to generate a slope map, generating a slope map based on the height map, and planning a path of the target device based on the slope map;

[0034] S40: In response to determining not to generate the slope map, planning a path of the target device based on the height map.

[0035] In this embodiment, the above method can be applied when the target device is a robot, such as an intelligent robot with an automatic driving function, and can also be applied to a cloud server, other terminals or devices connected to the robot. Here, the target device can be various types of robots, such as flying devices such as drones, or ground devices such as unmanned vehicles. The planned path can be the path of the automatic driving of the target device, etc.

[0036] In one embodiment, the three-dimensional map may be a three-dimensional voxel map, and the mapped two-dimensional map may be a two-dimensional grid map, such as a two-dimensional placeholder map, etc. The two-dimensional map includes a plurality of grid units or cells corresponding to the three-dimensional map, and each grid unit represents a location.

[0037] In one embodiment, free space may refer to a space without obstacles in a three-dimensional map. In a two-dimensional map, free space may correspond to a plurality of first grid units, i.e., free grid units. A plurality of first grid units may constitute free space. Occupied space may refer to a space occupied by obstacles, etc. in a three-dimensional map. In a two-dimensional map, occupied space may correspond to a plurality of second grid units, i.e., occupied grid units. A plurality of second grid units may constitute occupied space.

[0038] In one embodiment, the height map may be a two-dimensional grid map, and the grid cells in the height map correspond one-to-one to the grid cells in the two-dimensional map obtained based on the three-dimensional map mapping. The grid cells in the height map may be used to store the boundary information at the height corresponding to the grid cells in the two-dimensional map. For example, the boundary information at the height may include: the upper boundary and the lower boundary of the free space corresponding to the first grid cell; or the upper boundary and the lower boundary of the occupied space corresponding to the second grid cell.

[0039] In one embodiment, step S20 may include: if the type of the target device is a walking device, determining to generate a slope map; if the type of the target device is a flying device, determining not to generate a slope map. In this way, the radars of many machines are installed vertically, resulting in incomplete ground observation, which in turn causes blanks or gaps in the ground area of ​​the constructed map. When walking on the ground, the walking device needs to consider the flatness of the ground. Based on the slope map, the slope of each grid unit of the two-dimensional map can be accurately known, which is convenient for reference to perform accurate path planning. For flying devices, there is no need to consider the slope of the ground, so there is no need to generate a slope map, thereby reducing the occupation of computing resources.

[0040] In one embodiment, the slope map may also be a two-dimensional grid map, and the grid cells in the slope map correspond one-to-one to the grid cells in the two-dimensional map obtained based on the three-dimensional map mapping. The grid cells in the slope map may be used to store the plane slope corresponding to the grid cells in the two-dimensional map.

[0041] In one embodiment, each grid unit in the slope map stores the slope of the plane corresponding to the grid unit in the three-dimensional map, which may refer to storing the slope of the plane formed by the grid unit and other adjacent grid units in the three-dimensional map.

[0042] In one embodiment, planning a path of the target device based on the slope map may include: obtaining an initial map of the target device based on the two-dimensional map initialization; and determining the path of the target device based on the slope map and the initial map.

[0043] In one embodiment, determining the path of the target device based on the slope graph and the initial map may include: determining whether the plane slope of the first grid unit corresponding to the free space in the slope graph in the initial map exceeds a predetermined threshold; in response to the plane slope exceeding the predetermined threshold, classifying the first grid unit as an occupied space; and planning the path of the target device based on the free space and occupied space corresponding to the grid units in the initial map.

[0044] In one embodiment, planning a path of the target device based on the height map may include: obtaining an initial map of the target device based on the two-dimensional map initialization; and determining the path of the target device based on the height map and the initial map.

[0045] In one embodiment, determining the path of the target device based on the height map and the initial map may include: determining the occupancy rate of the second grid unit corresponding to the occupied space in the height map in the initial map based on the spatial overlap between the second grid unit and the adjacent first grid unit; the first grid unit is the grid unit corresponding to the free space; based on the occupancy rate of the second grid unit and the first grid unit, determining the traversable space; and planning the path of the target device based on the traversable space.

[0046] In this way, to convert a 3D map into a 2D map, it is only necessary to combine the height map or slope map for path planning. The height map or slope map is also a 2D map that only contains grid unit information, which greatly reduces the computing resources required for path planning using the 3D map. Furthermore, the height map or slope map can be flexibly selected for different device types, providing the required map unit height or slope information for different scenarios, supplementing the missing information of the 2D map, improving the information integrity of the 2D map, and thus improving the accuracy of path planning.

[0047] In this embodiment, a path planning method is provided. Figure 2 is a flow chart of a path planning method according to an embodiment of the present application. Figure 2 As shown, the process includes the following steps:

[0048] S11: Determine a first height boundary point of a free space corresponding to a first grid unit in a two-dimensional map mapped by a three-dimensional map of a target device;

[0049] S21: Determine a second height boundary point of the occupied space corresponding to the second grid unit in the two-dimensional map;

[0050] S31: Generate a corresponding height map based on the two-dimensional map; each grid cell of the height map includes a first height boundary point and / or a second height boundary point corresponding to the grid cell in the two-dimensional map;

[0051] S41: determining whether to generate a slope map based on the type of the target device; each grid cell in the slope map stores the plane slope corresponding to the grid cell in the three-dimensional map;

[0052] S51: in response to determining to generate a slope map, generating a slope map based on the height map, and planning a path of the target device based on the slope map;

[0053] S61: In response to determining not to generate a slope map, planning a path of the target device based on the height map.

[0054] In one embodiment, the three-dimensional map is mapped to each grid unit on the two-dimensional map. Represented as free space (with ) and occupied space (i.e., impassable space, indicated by The free space in a 3D map is represented as: ,in , n is a positive integer, each Represents the position in a two-dimensional grid A free space range at , i is a positive integer less than or equal to n.

[0055] In one embodiment, the free space range corresponding to each first grid unit is The corresponding first height boundary point includes the first upper boundary and the first lower boundary, ,in represents the first upper boundary, represents the first lower boundary. Similarly, the occupied space is represented by

[0056] ,in is the occupied space range of all second grid cells A collection of Indicates the occupied space range corresponding to each second grid unit, and the corresponding second height boundary point may include the second upper boundary and the second lower boundary .gather and The ranges in do not overlap nor are they connected within a set.

[0057] In one embodiment, generating a corresponding height map based on a two-dimensional map may include: based on a free space range set and the occupied space range set Building the Heightmap , the height map contains the height range corresponding to each grid unit Similarly, each grid cell Corresponding to one , The height range includes the third lower boundary Indicates the height of the corresponding grid unit ground and the third upper boundary Indicates the height of the ceiling of the corresponding grid cell.

[0058] In one embodiment, each grid unit of the height map is a first grid unit or a second grid unit, and includes a first height boundary point or a second height boundary point corresponding to the grid unit in the two-dimensional map.

[0059] In this way, by storing the height boundary information corresponding to each grid unit in the two-dimensional height map according to the free space and the occupied space, the space occupancy of each two-dimensional grid unit in the three-dimensional space can be accurately represented, which is conducive to quickly and accurately planning the autonomous driving path according to the boundary information, reducing the amount of calculation and improving accuracy.

[0060] In some embodiments, generating a slope map based on the height map includes:

[0061] Determine the plane slope corresponding to the grid cell based on the boundary information of the grid cell and other grid cells at adjacent positions in the height map;

[0062] A slope map is generated based on the plane slope; each grid unit in the slope map includes the plane slope corresponding to the grid unit.

[0063] In one embodiment, other grid cells at adjacent positions may refer to other grid cells whose x-axis coordinate and / or y-axis coordinate difference with a grid cell is less than or equal to 1. For example, for a grid cell ,satisfy The grid cell is the grid cell of its neighboring location.

[0064] In one embodiment, determining the plane slope corresponding to the grid unit based on the boundary information of the grid unit and other grid units at adjacent positions in the height map may include:

[0065] Based on the boundary information of the grid unit and other grid units at adjacent positions in the height map, determining the best-fitting plane where the grid unit and other grid units at adjacent positions are located;

[0066] Based on the boundary information and the best-fitting plane, a plane slope corresponding to the grid unit is determined.

[0067] Here, based on the boundary information and the best-fitting plane, the boundary information refers to boundary information of the grid unit and other grid units at adjacent positions in height.

[0068] In one embodiment, determining the plane slope corresponding to the grid unit based on the boundary information and the best-fitting plane may include: determining the plane parameters of the best-fitting plane by the least squares method based on the boundary information; and determining the plane slope corresponding to the grid unit based on the plane parameters.

[0069] In one embodiment, determining the plane parameters of the best-fitting plane by the least squares method based on the boundary information may include: determining the plane parameters of the best-fitting plane by the least squares method based on the coordinates of the grid unit and other grid units in its adjacent positions, and the third lower boundary of the height range of the grid unit and other grid units in its adjacent positions.

[0070] In one embodiment, the slope graph can be represented as , the slope graph can also be a two-dimensional grid graph, with each cell using express, , ...represents a grid cell and other grid cells in its adjacent positions. The best-fitting plane is found by the following formula:

[0071] (2)

[0072] The plane parameters of the best fitting plane are obtained using the least squares method through the following formula:

[0073] (3)

[0074] Among them, A is That is, the coordinates of the grid unit and other grid units in its adjacent positions, and B is That is, the third lower boundary of the height range of the grid cell and other grid cells in its adjacent positions. Given the equation , grid cell The slope of the equation is Calculate, where a is the slope of the x-axis and b is the slope of the y-axis.

[0075] In this way, based on the height map boundary information of each grid cell and its adjacent grid cells, the slope of the plane in which the grid cell is located can be accurately fitted, thereby facilitating accurate determination of whether the grid cell is in an area where ground equipment can travel, thereby determining the planned path.

[0076] In some embodiments, planning a path of the target device based on the slope graph includes:

[0077] Determine whether a plane slope of a first grid unit corresponding to the free space in the slope map exceeds a predetermined threshold;

[0078] In response to the plane slope exceeding the predetermined threshold, attributing the first grid unit to an occupied space;

[0079] A path of the target device is planned based on the free space and the occupied space corresponding to the grid cells in the slope graph.

[0080] In one embodiment, determining whether the plane slope of the first grid unit corresponding to the free space in the slope map exceeds a predetermined threshold includes: determining whether the plane slope of the first grid unit corresponding to the free space in the initial map in the slope map exceeds a predetermined threshold.

[0081] Planning the path of the target device based on the free space and the occupied space corresponding to the grid units in the slope map includes: planning the path of the target device based on the free space and the occupied space corresponding to the grid units in the initial map.

[0082] In one embodiment, an initial map of the target device can be obtained based on the two-dimensional map initialization, for example, the initial map The size of the initial map can be the same as that of the 2D map or slope map, and the representation and height of free space and occupied space Figure 1 To, that is .

[0083] In one embodiment, since the second grid unit corresponding to the occupied space is considered to be occupied, there is no need to determine the slope value and it will not be planned into the path. Therefore, the slope value of the first grid unit corresponding to the free space is determined, and when it exceeds a predetermined threshold, it indicates that there is an obstacle, and it can be marked as an occupied space. For example, the first grid unit is classified as an occupied space, which can refer to changing the first grid unit to a second grid unit, etc.

[0084] In this way, the ground equipment determines whether there is an obstacle based on the plane slope corresponding to each grid unit in the free space. Therefore, the two-dimensional map constructed by the vertically installed radar cannot reflect the ground obstacle information. The obstacle information can be accurately supplemented, which is conducive to fast and accurate route planning.

[0085] In some embodiments, planning a path of the target device based on the height map includes:

[0086] Determine the occupancy rate of a second grid cell corresponding to the occupied space in the height map based on a spatial overlap between the second grid cell and an adjacent first grid cell; the first grid cell is a grid cell corresponding to the free space;

[0087] Determining a traversable space based on the occupancy rate of the second grid unit and the first grid unit;

[0088] A path of the target device is planned based on the traversable space.

[0089] In one embodiment, determining the occupancy rate of the second grid unit based on the spatial overlap between the second grid unit corresponding to the occupied space in the height map and the adjacent first grid unit may include: determining the occupancy rate of the second grid unit based on the spatial overlap between the second grid unit corresponding to the occupied space in the height map and the adjacent first grid unit in the initial map.

[0090] In one embodiment, the spatial overlap between the second grid unit and the adjacent first grid unit may refer to the spatial overlap between the occupied space range of the second grid unit and the free range of the adjacent first grid unit.

[0091] In one embodiment, based on the spatial overlap between the second grid unit corresponding to the occupied space in the height map and the adjacent multiple first grid units in the initial map, the maximum occupancy rate among the occupancy rates between the second grid unit and the adjacent multiple first grid units is determined. The occupancy rate of the second grid unit in the subsequent step is the maximum occupancy rate.

[0092] In one embodiment, an initial map of the target device can be obtained based on the two-dimensional map initialization, for example, the initial map The size of the initial map can be the same as that of the 2D map or slope map, and the representation and height of free space and occupied space Figure 1 To, that is .

[0093] In one embodiment, the occupancy rate is calculated according to the following formula:

[0094] (4)

[0095] Here The second grid cell The occupancy rate, which ranges from 0 to 1, is used to indicate the occupied space range of the grid unit. The percentage of overlap with the free space extent of the adjacent first grid cell. is the predetermined occupancy rate, that is, the minimum occupancy rate that allows the target device to pass. Function The definition of is as follows:

[0096] (5)

[0097] Where k is a positive integer less than or equal to n, the function The definition of is as follows:

[0098] (6)

[0099] function Indicates the length of the overlap between the occupied space range and the free space range. If there is no overlap, it is 0. If the second grid unit has multiple adjacent first grid units, the one with the largest occupancy rate is selected. is a group The grid cell The set is a passable space that satisfies the following conditions:

[0100] (7)

[0101] In this way, based on the initial map generated by the flight equipment, the spatial overlap of the occupied space grid cells and adjacent free space grid cells corresponding to the altitude map can characterize the distribution of obstacles on the flight path at the altitude level, so that the determined passable space can more accurately characterize the occupancy at altitude, which is conducive to accurate path planning.

[0102] In one embodiment, planning the path of the target device based on the traversable space may include: determining a first path of the target device on a two-dimensional map based on the traversable space; and determining a second path of the target device on a three-dimensional map based on the first path.

[0103] In one embodiment, determining the second path of the target device on the three-dimensional map based on the first path may include: determining the height coordinates of each grid unit of the target device on the first path; and determining the second path of the target device on the three-dimensional map based on the first path and the height coordinates.

[0104] In one embodiment, determining the height coordinates of each grid unit of the target device on the first path may include: determining the height coordinates of each grid unit of the target device on the first path based on the height range of each grid unit on the first path in the height map and the safe height of the first path from the ground.

[0105] In one embodiment, to determine each point on the path Height , can be determined using the following formula:

[0106] (8)

[0107] in Representing a height map Middle position Parameters is a predetermined number of steps, i.e. a constant that needs to be set according to the specific scenario, representing the number of steps to be considered along the path in front of and behind the robot (here a grid graph is used, and the number of steps is the number of grid cells). Another parameter that is set according to the scenario is Indicates the expected safe height of the path from the ground. Use the max function to ensure that the path is at a safe height when encountering obstacles. Considering the requirements of safe driving, additional obstacle avoidance detection is designed to conservatively model the aircraft into a spherical shape and set a safe area with a radius of .

[0108] In this way, the three-dimensional path is planned based on the height range of each point on the height map in the two-dimensional path determined by the traversable space, and the expected safe height. The obtained three-dimensional path can accurately reflect the free space and occupied space corresponding to the height range, which is conducive to providing a safe flight path for the target device.

[0109] As a possible implementation method, a path planning method for an autonomous driving scenario is provided, such as Figure 3 As shown, it may specifically include:

[0110] This embodiment creates two auxiliary two-dimensional grid maps and two application two-dimensional grid maps; the two auxiliary two-dimensional maps are a height map and a slope map, which store the upper and lower limits of the height and the slope of the corresponding grid respectively; and the two application maps are one for aircraft and the other for ground machines. The map for aircraft needs to be combined with the height map to generate a three-dimensional path, and the map for ground machines is generated based on the slope map, and two-dimensional path planning is performed directly. The two-dimensional grid maps used in this embodiment are all two-dimensional occupancy maps (that is, the data contained in the grid at this location is the occupied ratio).

[0111] 1. Acquisition of height map

[0112] In practical applications, many machines have radars installed vertically, which results in incomplete ground observations, resulting in blanks or gaps in the ground areas of the constructed map. Therefore, instead of using inaccessible voxels directly to determine the ground position, free space information is used to identify the ground parts in the map. These methods can effectively estimate the ground position by analyzing which areas are empty, even if these areas may not be continuous under the vertical radar field of view, thereby filling in the blank areas on the ground.

[0113] 1.1 Free space and occupied space

[0114] In order to identify the ground, firstly, the 3D voxel map is mapped to each unit on the 2D map. Represented as free space (with ) and occupied space (i.e., impassable space, indicated by The free space in a 3D map is represented by ,in , each Represents the position in a two-dimensional grid A free space range. Each free space range Contains two values, ,in represents the upper boundary, represents the lower boundary. Similarly, the occupied space is represented by ,in is a set of occupied space ranges Collection of. Collection and The ranges in do not overlap nor are they connected within a set.

[0115] 1.2 Heightmap

[0116] Because path planning using only a 2D map cannot perform collision detection on the altitude axis, all Then based on the free space range set and the occupied space range set Building the Heightmap , the height map is a series of heights Similarly, each grid cell Corresponding to one . . Bottom of the height range Records the height of the ground of the corresponding grid unit, the top of the height range The height of the corresponding cell ceiling is recorded. The area from the ceiling to the ground at this time is the navigable area.

[0117] 2. Obtaining the slope graph

[0118] Let the slope graph be Similarly, the slope graph is also a two-dimensional grid graph, with each cell using Represents the estimated value of the slope of the corresponding grid cell. The slope at is obtained by fitting the height map The slope is estimated by using the height and position information of the adjacent cells in the grid. Cell Considered as To fit the adjacent cells of , using the linear equation

[0119] (1)

[0120] The parameters a, b and c are real numbers. The following formula is used to find a plane that best fits the height and position of the adjacent unit, that is:

[0121] (2)

[0122] The parameters of the best fitting plane are obtained using the least squares method. These parameters are calculated using the following formula:

[0123] (3)

[0124] Among them, A is , B is . Given the equation , cell The slope of the equation is Calculate, where a is the slope of the x-axis and b is the slope of the y-axis.

[0125] 3. Generation of aircraft maps

[0126] First, initialize the map to an empty map , that is, the size of this initialized map is set to the same as the height map, and the free space and occupied space are represented by the height Figure 1 To, that is Then, the remaining non-free cells have one adjacent free cell. , determine its occupancy rate according to the following formula:

[0127] (4)

[0128] Here Is the map cell being checked The occupancy value ranges from 0 to 1 and is used to calculate the cell Occupancy range and height map The percentage of overlap of adjacent free spaces in . is the minimum passable occupancy value. Function The definition is as follows:

[0129] (5)

[0130] Among them, the function The definition is as follows:

[0131] (6)

[0132] function Returns the length of the overlap between two intervals, or 0 if there is no overlap. If the checked cell has multiple adjacent free cells, select the one with the largest occupancy. is a group Cell The set of traversable free spaces that satisfy the following conditions:

[0133] (7)

[0134] The low walls and debris on the ground have little impact on the aircraft. As long as the height difference between the ceiling or overhang of the target grid and the ground debris is enough for the aircraft to pass through, it can be regarded as a passable grid. Therefore, these entities can be ignored when generating the aircraft map.

[0135] 4. Generation of driverless car maps and path planning for driverless cars

[0136] 4.1 Generation of Autonomous Vehicle Maps

[0137] First, the map is initialized using the same initialization method as the aircraft map. However, unlike the generation of aircraft maps, the unmanned vehicle must consider obstacles, low walls, and even thresholds on the ground when operating on the ground. At this time, the slope map generated earlier is used to consider whether a cell is passable based on the slope. Specifically, in the unmanned vehicle map, if the slope corresponding to a free grid cell exceeds the set threshold , the cell is marked as occupied on the unmanned vehicle map. In this way, low walls and ground obstacles that have a great impact on unmanned vehicles can be marked and indicated as occupied in the unmanned vehicle map.

[0138] 4.2 Path Planning for Unmanned Vehicles

[0139] Since the unmanned vehicle must travel on the ground, the height of the unmanned vehicle path point from the ground is not considered, and only whether the unmanned vehicle can pass under the condition of meeting the obstacle avoidance requirements needs to be considered. Therefore, there is no need to perform three-dimensional path planning for the unmanned vehicle, and the existing two-dimensional planner can be used to perform two-dimensional path planning based on the unmanned vehicle map.

[0140] 5. Use the four generated 2D maps for 3D path planning

[0141] Here, several 2D maps can be combined instead of a complete 3D voxel map for path planning. The four previously generated 2D maps will be combined in different ways for the unmanned vehicle and the aircraft to generate a 3D path.

[0142] Suppose a two-dimensional path planner is used to find a feasible path for the aircraft on the aircraft map. The key is to determine the height of each point on the path, that is, the Z-axis coordinate. In order to complete this task, the two-dimensional path generated on the two-dimensional map is determined by the following method: The zz coordinates of each point on.

[0143] To determine each point on the path Height , estimated using the following formula:

[0144] (8)

[0145] in Representing a height map Middle position Parameters is a constant that needs to be set according to the specific scenario, indicating the number of steps to be considered in front of and behind the robot along the path (here a grid graph is used, and the number of steps is the number of grids). Another parameter that is set according to the scenario is Indicates the expected safe height of the path from the ground. Use the max function to ensure that the path is at a safe height when encountering obstacles. The aircraft is conservatively spherical modeled to obtain a safe area on the flight path of the target device. The radius of this safe area is .

[0146] If the height calculated in the previous step results in a spherical area that is different from the height map If the path collides with the ceiling or floor, the collision point in the path will be moved to a Z-axis position that will not cause a collision, and higher settings will be ignored here. This ensures that even if the path must be adjusted to a safe height to avoid an obstacle, it still expresses an effective obstacle avoidance strategy.

[0147] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course can also be implemented by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for enabling a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present invention.

[0148] In this embodiment, a path planning device is also provided to implement the above-mentioned embodiments and preferred implementation modes, which have been described and will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0149] Figure 4 is a structural block diagram of a path planning device according to an embodiment of the present application, such as Figure 4 As shown, the device includes: a generating module 100, for generating a height map based on the free space and the occupied space corresponding to the two-dimensional map mapped by the three-dimensional map of the target device; each grid unit in the height map stores the boundary information of the grid unit at the height corresponding to the three-dimensional map; a determining module 200, for determining whether to generate a slope map based on the type of the target device; each grid unit in the slope map stores the plane slope corresponding to the grid unit in the three-dimensional map; a planning module 300, for generating a slope map based on the height map in response to determining to generate a slope map, and planning the path of the target device based on the slope map; and planning the path of the target device based on the height map in response to determining not to generate a slope map.

[0150] Further, the generation module 100 is specifically used to: determine a first height boundary point of a free space corresponding to a first grid unit in a two-dimensional map of the three-dimensional map mapping of the target device; determine a second height boundary point of an occupied space corresponding to a second grid unit in the two-dimensional map; generate a corresponding height map based on the two-dimensional map; each grid unit of the height map contains the first height boundary point and / or the second height boundary point corresponding to the grid unit in the two-dimensional map.

[0151] Furthermore, the determination module 200 is specifically used to: if the type of the target device is a walking device, determine to generate a slope graph; if the type of the target device is a flying device, determine not to generate a slope graph.

[0152] Furthermore, the planning module 300 is specifically used to: determine the plane slope corresponding to the grid unit based on the boundary information of the grid unit and other grid units at adjacent positions in the height map; generate a slope map based on the plane slope; each grid unit in the slope map contains the plane slope corresponding to the grid unit.

[0153] Furthermore, the planning module 300 is specifically used to: determine the best-fitting plane on which the grid unit and other grid units at adjacent positions are located based on the boundary information of the grid unit and other grid units at adjacent positions in the height map; determine the plane slope corresponding to the grid unit based on the boundary information and the best-fitting plane.

[0154] Furthermore, the planning module 300 is specifically used to: determine whether the plane slope of the first grid unit corresponding to the free space in the slope map exceeds a predetermined threshold; in response to the plane slope exceeding the predetermined threshold, classify the first grid unit as an occupied space; and plan the path of the target device based on the free space and occupied space corresponding to the grid unit in the slope map.

[0155] Furthermore, the planning module 300 is specifically used to: determine the occupancy rate of the second grid unit corresponding to the occupied space in the height map based on the spatial overlap between the second grid unit and the adjacent first grid unit; the first grid unit is the grid unit corresponding to the free space; determine the passable space based on the occupancy rate of the second grid unit and the first grid unit; and plan the path of the target device based on the passable space.

[0156] It should be noted that the above modules can be implemented by software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.

[0157] An embodiment of the present application also provides an electronic device, which may be a robot, or may be used in the robot or other terminals or devices connected to the robot. Figure 5 is a structural diagram of an electronic device according to an embodiment of the present application, such as Figure 5As shown, it includes a processor 41, a communication interface 42, a memory 43 and a communication bus 44, wherein the processor 41, the communication interface 42 and the memory 43 communicate with each other through the communication bus 44, and the memory 43 is used to store computer programs; when the processor 41 is used to execute the program stored in the memory 43, the following steps are implemented: a height map is generated based on the free space and occupied space corresponding to the two-dimensional map mapped by the three-dimensional map of the target device; each grid unit in the height map stores the boundary information of the grid unit at the height corresponding to the three-dimensional map; whether to generate a slope map is determined based on the type of the target device; each grid unit in the slope map stores the plane slope corresponding to the grid unit in the three-dimensional map; in response to determining to generate the slope map, a slope map is generated based on the height map, and the path of the target device is planned based on the slope map; in response to determining not to generate the slope map, the path of the target device is planned based on the height map.

[0158] Furthermore, the free space and occupied space corresponding to the two-dimensional map mapped based on the three-dimensional map of the target device generate a height map, including: determining a first height boundary point of the free space corresponding to the first grid unit in the two-dimensional map mapped based on the three-dimensional map of the target device; determining a second height boundary point of the occupied space corresponding to the second grid unit in the two-dimensional map; generating a corresponding height map based on the two-dimensional map; each grid unit of the height map contains the first height boundary point and / or the second height boundary point corresponding to the grid unit in the two-dimensional map.

[0159] Further, the determining whether to generate a slope graph based on the type of the target device includes: if the type of the target device is a walking device, determining to generate a slope graph; if the type of the target device is a flying device, determining not to generate a slope graph.

[0160] Further, generating a slope map based on the height map includes: determining the plane slope corresponding to the grid unit based on the boundary information of the grid unit and other grid units at adjacent positions in the height map; generating a slope map based on the plane slope; each grid unit in the slope map includes the plane slope corresponding to the grid unit.

[0161] Further, determining the plane slope corresponding to the grid unit based on the boundary information of the grid unit and other grid units at adjacent positions in the height map includes: determining the best-fitting plane in which the grid unit and other grid units at adjacent positions are located based on the boundary information of the grid unit and other grid units at adjacent positions in the height map; determining the plane slope corresponding to the grid unit based on the boundary information and the best-fitting plane.

[0162] Further, planning the path of the target device based on the slope map includes: determining whether the plane slope of the first grid unit corresponding to the free space in the slope map exceeds a predetermined threshold; in response to the plane slope exceeding the predetermined threshold, classifying the first grid unit as an occupied space; and planning the path of the target device based on the free space and occupied space corresponding to the grid units in the slope map.

[0163] Further, planning the path of the target device based on the height map includes: determining the occupancy rate of the second grid unit corresponding to the occupied space in the height map based on the spatial overlap between the second grid unit and the adjacent first grid unit; the first grid unit is a grid unit corresponding to the free space; determining the passable space based on the occupancy rate of the second grid unit and the first grid unit; and planning the path of the target device based on the passable space.

[0164] The communication bus mentioned in the above terminal can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.

[0165] The communication interface is used for communication between the above terminal and other devices.

[0166] The memory may include a random access memory (RAM) or a non-volatile memory, such as at least one disk memory. Optionally, the memory may also be at least one storage device located away from the aforementioned processor.

[0167] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.

[0168] In another embodiment provided in the present application, a computer-readable storage medium is also provided, in which instructions are stored. When the computer-readable storage medium is executed on a computer, the computer executes the path planning method described in any one of the above embodiments.

[0169] In another embodiment provided in the present application, a computer program product including instructions is also provided, which, when executed on a computer, enables the computer to execute the path planning method described in any one of the above embodiments.

[0170] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website site, a computer, a server or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or a data center that includes one or more available media integrated. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive Solid State Disk (SSD)), etc.

[0171] The above description is only a preferred embodiment of the present application and is not intended to limit the protection scope of the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application are included in the protection scope of the present application.

[0172] The above description is only a specific implementation of the present application, so that those skilled in the art can understand or implement the present application. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, the present application will not be limited to the embodiments shown herein, but will conform to the widest range consistent with the principles and novel features applied for herein.

Claims

1. A path planning method, characterized in that: include: Generate a height map based on the free space and occupied space corresponding to the two-dimensional map mapped by the three-dimensional map of the target device; Each grid unit in the height map stores boundary information of the grid unit at a height corresponding to the grid unit in the three-dimensional map; Determining whether to generate a slope map based on the type of the target device; each grid cell in the slope map stores a plane slope corresponding to the grid cell in the three-dimensional map; In response to determining to generate a slope map, generating a slope map based on the height map, and planning a path of the target device based on the slope map; In response to determining not to generate a slope map, planning a path of the target device based on the height map.

2. The method according to claim 1, characterized in that The free space and occupied space corresponding to the two-dimensional map mapped based on the three-dimensional map of the target device are used to generate a height map, including: Determine a first height boundary point of a free space corresponding to a first grid unit in a two-dimensional map mapped by the three-dimensional map of the target device; Determine a second height boundary point of the occupied space corresponding to the second grid unit in the two-dimensional map; A corresponding height map is generated based on the two-dimensional map; each grid unit of the height map includes the first height boundary point and / or the second height boundary point corresponding to the grid unit in the two-dimensional map.

3. The method according to claim 1, characterized in that The determining whether to generate a slope graph based on the type of the target device includes: If the type of the target device is a walking device, determining to generate a slope graph; If the type of the target device is a flying device, it is determined not to generate a slope graph.

4. The method according to claim 1, characterized in that: The step of generating a slope map based on the height map comprises: Determine the plane slope corresponding to the grid cell based on the height boundary information of the grid cell and other grid cells at adjacent positions in the height map; A slope map is generated based on the plane slope; each grid unit in the slope map includes the plane slope corresponding to the grid unit.

5. The method according to claim 4, characterized in that The determining the plane slope corresponding to the grid unit based on the boundary information of the grid unit and other grid units at adjacent positions in the height map comprises: Based on the boundary information of the grid unit and other grid units at adjacent positions in the height map, determining the best-fitting plane where the grid unit and other grid units at adjacent positions are located; Based on the boundary information and the best-fitting plane, a plane slope corresponding to the grid unit is determined.

6. The method according to claim 1, characterized in that The planning of the path of the target device based on the slope graph includes: Determine whether a plane slope of a first grid unit corresponding to the free space in the slope map exceeds a predetermined threshold; In response to the plane slope exceeding the predetermined threshold, assigning the first grid unit to an occupied space; A path of the target device is planned based on the free space and the occupied space corresponding to the grid cells in the slope graph.

7. The method according to claim 1, characterized in that The planning of the path of the target device based on the height map includes: Determine the occupancy rate of a second grid cell corresponding to the occupied space in the height map based on a spatial overlap between the second grid cell and an adjacent first grid cell; the first grid cell is a grid cell corresponding to the free space; Determining a traversable space based on the occupancy rate of the second grid unit and the first grid unit; A path of the target device is planned based on the traversable space.

8. A path planning device, characterized in that: include: A generation module for generating a height map based on free space and occupied space corresponding to the two-dimensional map mapped by the three-dimensional map of the target device; Each grid unit in the height map stores boundary information of the grid unit at a height corresponding to the grid unit in the three-dimensional map; A determination module, configured to determine whether to generate a slope map based on the type of the target device; each grid cell in the slope map stores a plane slope corresponding to the grid cell in the three-dimensional map; a planning module, configured to generate a slope map based on the height map in response to determining to generate a slope map, and plan a path of the target device based on the slope map; And in response to determining that the slope map is not to be generated, planning a path of the target device based on the height map.

9. An electronic device, characterized in that: The electronic device comprises a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the computer program implements the steps of the path planning method according to any one of claims 1 to 7 when executed by the processor.

10. A storage medium, characterized in that: The storage medium stores a computer program, which, when executed by a processor, implements the steps of the path planning method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Implementation method from 3D sparse point cloud to 2D grid map based on VSLAM

    CN110675307A

  • Path planning method and device for unmanned aerial vehicle group

    CN110823223A