Vehicle navigation method, device, apparatus and storage medium
By generating a global path using a grid map and the A* algorithm, and combining it with the DWA algorithm for local path planning, the problem of how autonomous vehicles can accurately reach their destination in dynamic environments is solved, achieving real-time path optimization and obstacle avoidance.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHERY AUTOMOBILE CO LTD
- Filing Date
- 2023-08-08
- Publication Date
- 2026-07-10
AI Technical Summary
How can autonomous vehicles accurately plan their routes and avoid static and dynamic obstacles when reaching their destination, especially in dynamic environments, how can they optimize their routes in real time to ensure safe arrival at their destination?
The system uses a grid map and the A* algorithm to generate a global path, and combines it with the DWA algorithm for local path planning. Through real-time environmental sampling and simulated speed sampling, it predicts multiple driving trajectories and selects the optimal path to control vehicle driving.
It enables autonomous vehicles to accurately reach their destinations and avoid obstacles in dynamic environments, improving the efficiency and safety of path planning.
Smart Images

Figure CN117073660B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of vehicle technology, and in particular to a vehicle navigation method, device, equipment, and storage medium. Background Technology
[0002] In recent years, with rapid economic development, vehicles have gradually moved towards autonomous driving. Autonomous vehicles can control their own movement without human intervention. Currently, autonomous vehicles have broad application prospects in logistics, public utilities, and industrial manufacturing. Among these, ensuring that autonomous vehicles successfully reach their destinations is a key focus. Summary of the Invention
[0003] This application provides a vehicle navigation method, apparatus, device, and storage medium, which can control a vehicle to accurately reach its destination. The technical solution is as follows:
[0004] On the one hand, a vehicle navigation method is provided, the method comprising:
[0005] Obtain the starting point and ending point of the vehicle; wherein the vehicle is an unmanned vehicle;
[0006] A grid map is generated based on the starting point and the ending point; wherein the grid map includes multiple grids, and the center of each grid is a node;
[0007] Using the grid cell containing the starting point as the parent grid cell, search for at least one child grid cell that is adjacent to the parent grid cell;
[0008] For each sub-grid, a cost value is determined based on the parent grid, the sub-grid, and the endpoint; wherein the cost value represents the distance the vehicle travels from the starting point through the sub-grid to the endpoint;
[0009] From the at least one sub-grid, determine the sub-grid with the smallest cost value, take the sub-grid with the smallest cost value as the parent grid, and perform the step of searching for at least one sub-grid adjacent to the parent grid until the sub-grid with the smallest cost value is the grid where the endpoint is located.
[0010] A global path is generated based on the starting point, the ending point, and the sub-grid with the minimum cost value for each cell.
[0011] The vehicle travels based on the global path control. During the travel process, the vehicle's travel speed is sampled, and the simulated speed is determined based on the sampling results.
[0012] Based on the simulated speed, a forward simulation is performed to predict multiple driving trajectories of the vehicle;
[0013] The target driving trajectory is selected from the multiple driving trajectories, and the vehicle is controlled to drive based on the target driving trajectory;
[0014] During the journey, the process of sampling the vehicle's speed and determining the simulated speed based on the sampling results is performed until the vehicle reaches the destination.
[0015] In one possible implementation, determining the cost of the child grid based on the parent grid, the child grid, and the endpoint includes:
[0016] Based on the position of the starting point and the position of the sub-grid, a first-generation value is determined, which represents the distance of the vehicle from the starting point to the sub-grid.
[0017] Based on the position of the sub-grid and the position of the endpoint, a second-generation value is determined, which represents the distance of the vehicle from the sub-grid to the endpoint;
[0018] The generation value of the sub-grid is determined based on the first generation value and the second generation value.
[0019] In another possible implementation, determining the first-generation value based on the position of the starting point and the position of the sub-grid includes:
[0020] Determine the difference between the x-coordinate of the starting point and the x-coordinate of the center point of the sub-grid to obtain the first difference;
[0021] Determine the difference between the ordinate of the starting point and the ordinate of the center point of the sub-grid to obtain the second difference;
[0022] The sum of the first difference and the second difference is determined to obtain the first generation value.
[0023] In another possible implementation, generating a global path based on the starting point, the ending point, and the sub-grid with the lowest generation value for each sub-grid includes:
[0024] Starting from the endpoint, the grid cell containing the endpoint is taken as a sub-grid, and the path between the center point of the sub-grid and the center point of its parent grid is determined;
[0025] Treat the parent grid as a child grid, and perform the step of determining the path between the center point of the child grid and the center point of its parent grid until the parent grid is the grid where the starting point is located.
[0026] The global path is generated based on the path between each child grid and its parent grid.
[0027] In another possible implementation, the step of filtering the target driving trajectory from the plurality of driving trajectories includes:
[0028] For each driving trajectory, determine the degree of similarity between the driving trajectory and the global path;
[0029] Determine the probability of the vehicle colliding with an obstacle while traveling along the stated trajectory;
[0030] The cost of the driving trajectory is determined based on the proximity and probability corresponding to the driving trajectory.
[0031] Based on the cost value of each driving trajectory, the target driving trajectory is selected from the multiple driving trajectories.
[0032] In another possible implementation, the step of sampling the vehicle's speed during travel and determining the simulated speed based on the sampling results includes:
[0033] Obtain the vehicle's speed at multiple historical moments prior to the current time;
[0034] Discrete sampling is performed from multiple driving speeds to obtain multiple sampled speeds;
[0035] The simulation speed is determined based on the multiple sampling speeds.
[0036] In another possible implementation, generating a raster map based on the starting point and the ending point includes:
[0037] Based on the starting point and the ending point, obtain the global map;
[0038] The global map is rasterized to obtain the raster map.
[0039] On the other hand, a vehicle navigation device is provided, the device comprising:
[0040] The first acquisition module is used to acquire the starting point and ending point of the vehicle; wherein the vehicle is an unmanned vehicle;
[0041] The first generation module is used to generate a grid map based on the starting point and the ending point; wherein the grid map includes multiple grids;
[0042] The search module is used to take the grid where the starting point is located as the parent grid and search for at least one child grid adjacent to the parent grid.
[0043] The first determining module is configured to determine the cost value of each sub-grid based on the parent grid, the sub-grid, and the endpoint; wherein the cost value represents the distance the vehicle travels from the starting point through the sub-grid to the endpoint;
[0044] The second determining module is used to determine the sub-grid with the smallest cost value from the at least one sub-grid, take the sub-grid with the smallest cost value as the parent grid, and search for at least one sub-grid adjacent to the parent grid until the determined sub-grid with the smallest cost value is the grid where the endpoint is located.
[0045] The second generation module is used to generate a global path based on the starting point, the ending point, and the sub-grid with the lowest cost value for each sub-grid.
[0046] The third determining module is used to control the vehicle's driving based on the global path. During the driving process, the vehicle's driving speed is sampled, and the simulated speed is determined based on the sampling results.
[0047] The prediction module is used to perform forward simulation based on the simulated speed and predict multiple driving trajectories of the vehicle.
[0048] The first control module is used to filter out a target driving trajectory from the multiple driving trajectories and control the vehicle to drive based on the target driving trajectory;
[0049] The second control module is used to sample the vehicle's speed during driving, determine the simulated speed based on the sampling results, and continue until the vehicle reaches the destination.
[0050] In one possible implementation, the first determining module is configured to determine a first generation value based on the position of the starting point and the position of the sub-grid, the first generation value representing the distance of the vehicle from the starting point to the sub-grid; determine a second generation value based on the position of the sub-grid and the position of the ending point, the second generation value representing the distance of the vehicle from the sub-grid to the ending point; and determine the generation value of the sub-grid based on the first generation value and the second generation value.
[0051] In another possible implementation, the first determining module is used to determine the difference between the x-coordinate of the starting point and the x-coordinate of the center point of the sub-grid to obtain a first difference; determine the difference between the y-coordinate of the starting point and the y-coordinate of the center point of the sub-grid to obtain a second difference; and determine the sum of the first difference and the second difference to obtain the first generation value.
[0052] In another possible implementation, the second generation module is configured to start from the endpoint, take the grid where the endpoint is located as a sub-grid, determine the path between the center point of the sub-grid and the center point of its parent grid; take the parent grid as a sub-grid, determine the path between the center point of the sub-grid and the center point of its parent grid, until the parent grid is the grid where the starting point is located; and generate the global path based on the path between each sub-grid and its parent grid.
[0053] In another possible implementation, the first control module is configured to, for each driving trajectory, determine the proximity of the driving trajectory to the global path; determine the probability of the vehicle colliding with an obstacle while driving along the driving trajectory; determine the cost value of the driving trajectory based on the proximity and probability corresponding to the driving trajectory; and select the target driving trajectory from the multiple driving trajectories based on the cost value of each driving trajectory.
[0054] In another possible implementation, the third determining module is used to obtain the vehicle's driving speed at multiple historical moments prior to the current time; to perform discrete sampling from the multiple driving speeds to obtain multiple sampled speeds; and to determine the simulated speed based on the multiple sampled speeds.
[0055] In another possible implementation, the first generation module is used to obtain a global map based on the starting point and the ending point; and to perform rasterization processing on the global map to obtain the raster map.
[0056] On the other hand, an electronic device is provided, comprising a processor and a memory, wherein the memory stores at least one piece of program code, which is loaded and executed by the processor to implement the vehicle navigation method described in any of the preceding claims.
[0057] On the other hand, a computer-readable storage medium is provided, wherein at least one piece of program code is stored therein, the at least one piece of program code being loaded and executed by a processor to implement the vehicle navigation method described in any of the preceding claims.
[0058] On the other hand, a computer program product is provided, wherein at least one piece of program code is stored therein, the at least one piece of program code being loaded and executed by a processor to implement the vehicle navigation method described in any of the preceding claims.
[0059] This application provides a vehicle navigation method. The method first uses a grid map, designating the starting grid as the parent grid, and searches for at least one child grid adjacent to the parent grid. The cost value of each child grid is determined, and the child grid with the lowest cost value is selected from these at least one child grid. This child grid with the lowest cost value is then designated as the parent grid. This process of determining the child grid with the lowest cost value is repeated until the child grid with the lowest cost value is identified as the destination grid. A global path is then generated. Based on the global path, forward simulation is performed based on the vehicle's speed to predict multiple driving trajectories. A target driving trajectory is then selected from these multiple trajectories, and the vehicle is controlled based on this target trajectory. During the driving process, the process of determining the target driving trajectory is repeated until the vehicle reaches its destination. Therefore, this method first generates a global path, then performs local path planning based on the global path, and continuously selects the optimal local path during the vehicle's journey, thereby accurately controlling the vehicle to reach its destination.
[0060] It should be understood that the above general description and the following detailed description are merely exemplary and do not limit this disclosure. Attached Figure Description
[0061] Figure 1 This is a schematic diagram of the implementation environment of a vehicle navigation method provided in an embodiment of this application;
[0062] Figure 2 This is a flowchart of a vehicle navigation method provided in an embodiment of this application;
[0063] Figure 3 This is a schematic diagram illustrating how to determine the sub-grid with the minimum cost value according to an embodiment of this application;
[0064] Figure 4 This is a schematic diagram of coordinate transformation of an AMCL module provided in an embodiment of this application;
[0065] Figure 5 This is a schematic diagram illustrating how to determine a target driving trajectory according to an embodiment of this application;
[0066] Figure 6 This is a framework diagram of a vehicle navigation function provided in an embodiment of this application;
[0067] Figure 7 This is a schematic diagram of the structure of a vehicle navigation device provided in an embodiment of this application;
[0068] Figure 8 This is a structural block diagram of an audio host provided in an embodiment of this application. Detailed Implementation
[0069] To make the technical solution and advantages of this application clearer, the embodiments of this application will be described in further detail below.
[0070] The terms "first," "second," "third," and "fourth," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish different objects, not to describe a specific order. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or apparatuses.
[0071] It should be noted that all information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, stored data, displayed data, etc.), and signals involved in this application have been authorized by the user or fully authorized by all parties, and the collection, use, and processing of related data must comply with the relevant laws, regulations, and standards of the relevant countries and regions. For example, the map data and environmental data involved in this application were obtained with full authorization.
[0072] Figure 1 This is a schematic diagram illustrating the implementation environment of a vehicle navigation method provided in an embodiment of this application. See also... Figure 1 The implementation environment includes electronic device 101 and control device 102, which can be connected wirelessly or via wired network, without specific limitations.
[0073] In this embodiment, electronic device 101 generates a global path and sends a first control command to control device 102 based on the global path. Control device 102 then controls the vehicle to travel according to the first control command. During travel, electronic device 101 continuously selects the optimal local path trajectory and sends a second control command to control device 102 based on the local path trajectory. Control device 102 then controls the vehicle to travel along the local path trajectory according to the second control command until the destination is reached.
[0074] The electronic device 101 and the control device 102 are located in the same vehicle. The electronic device 101 can be the audio head unit in the vehicle, and the control device 102 can be the domain controller in the vehicle, such as a chassis domain controller or other domain controller, without specific limitations. The vehicle is an autonomous vehicle, and the vehicle can be a fuel-powered vehicle, an electric vehicle, or a hybrid vehicle, without specific limitations.
[0075] The method provided in this application can be applied in multiple scenarios. For example, the method provided in this application is applied in a logistics transfer scenario. Currently, logistics speed is fast, but it is still mainly done by manual delivery to ensure timely delivery. However, this results in high labor costs; therefore, autonomous vehicles can be used for logistics transfer. Another example is the method provided in this application in a medical rescue scenario. For instance, if an infectious disease occurs in a certain area, to prevent transmission to outsiders, autonomous vehicles can be used to transport relief supplies to people in that area.
[0076] Of course, the method provided in this application can also be applied to ports, mines, unmanned retail and other scenarios, which will not be listed here.
[0077] Figure 2 This is a flowchart of a vehicle navigation method provided in an embodiment of this application, executed by an electronic device. See also... Figure 2 The method includes:
[0078] Step 201: The electronic device acquires the vehicle's starting point and ending point.
[0079] The electronic device can provide an interactive interface including input options. Users can input the vehicle's starting and ending points, and the electronic device will then retrieve these inputs. The vehicle in question is an autonomous vehicle.
[0080] In this embodiment, path planning is the core component of navigation, primarily consisting of global paths and local paths. The global path, given the vehicle's starting and ending points on a known map, considers static obstacles and generates the shortest path to the destination in real-time. This application uses the A* (A-Star) algorithm to calculate the global path, while local paths exist as a plugin for the local planner. The process of generating the global path is described below.
[0081] Step 202: The electronic device generates a raster map based on the starting point and the ending point.
[0082] The electronic device acquires a global map based on the starting point and the ending point, and then performs rasterization on the global map to obtain a raster map.
[0083] In this implementation, the electronic device can acquire map data through a map service based on the starting and ending points, and generate a global map based on the map data. Alternatively, the electronic device can also collect environmental data, depth information, and odometer information around the vehicle through devices such as radar, cameras, and inertial sensors installed on the vehicle, generate a map itself, and then determine the global map from this map based on the starting and ending points. This global map is a three-dimensional map, which includes not only the starting and ending points but also obstacles between them. These obstacles are static obstacles, such as walls and fences, and are not specifically limited in their inclusion.
[0084] A grid map consists of multiple grids. For each grid, a value ranging from 0 to 255 represents its distance from obstacles; a smaller value indicates a greater distance, and a larger value indicates a closer distance. The electronic device can also categorize grids into different states, such as occupied, unoccupied, and unknown. An occupied state indicates the presence of an obstacle, an unoccupied state indicates the absence of an obstacle, and an unknown state indicates the presence of an obstacle is uncertain or the grid has not been detected. Furthermore, the electronic device can distinguish between grid states using different markers; for example, red indicates occupied grids, green indicates unoccupied grids, and yellow indicates unknown grids.
[0085] Step 203: The electronic device uses the grid where the starting point is located as the parent grid and searches for at least one child grid adjacent to the parent grid.
[0086] The electronic device can maintain a first list and a second list, wherein the first list is used to store the grids to be traversed, and the second list is used to store the grid where the starting point is located, the grid where the ending point is located, and the grid with the lowest cost.
[0087] The electronic device can first initialize a first list and a second list, then add the grid cell containing the starting point to the first list, and then search for at least one child grid cell adjacent to the parent grid cell. After finding at least one child grid cell, add it to the first list as well. The at least one child grid cell adjacent to the parent grid cell is a grid cell that shares a common edge or a common point with the parent grid cell. For example, a 3x3 grid centered on the parent grid cell has 8 child grid cells adjacent to the parent grid cell.
[0088] If at least one sub-grid does not contain a sub-grid containing an obstacle, the electronic device directly executes step 204. If at least one sub-grid contains a sub-grid containing an obstacle, the electronic device determines the sub-grid containing the obstacle from the at least one sub-grid, highlights it, and then executes step 204 based on the sub-grids where no obstacle exists.
[0089] Step 204: For each sub-grid, the electronic device determines the cost of the sub-grid based on the parent grid, the sub-grid, and the endpoint.
[0090] This step can be achieved through the following steps (1) to (3), including:
[0091] (1) For each subgrid without obstacles, the electronic device determines the first-generation value based on the position of the starting point and the position of the subgrid.
[0092] In the embodiments of this application, the electronic device can represent the cost value of a sub-grid through a cost function, as shown in the following formula: f(n)=g(n)+h(n); where f(n) represents the cost value of the sub-grid, g(n) represents the first generation value, h(n) represents the second generation value, and h(n) is the heuristic function of the A* algorithm. When the endpoint is reached, h(n) equals 0.
[0093] The process by which the electronic device determines the first-generation value is as follows: The electronic device determines the difference between the x-coordinate of the starting point and the x-coordinate of the center point of the sub-grid, obtaining the first difference; it determines the difference between the y-coordinate of the starting point and the y-coordinate of the center point of the sub-grid, obtaining the second difference; and it determines the sum of the first and second differences to obtain the first-generation value, also known as g(n). The first-generation value is used to represent the distance of the vehicle from the starting point to the sub-grid.
[0094] (2) The electronic device determines the second-generation value based on the position of the subgrid and the position of the endpoint.
[0095] The process by which the electronic device determines the second-generation value is as follows: the electronic device determines the difference between the x-coordinate of the center point of the sub-grid and the x-coordinate of the endpoint, obtaining the third difference; it determines the difference between the y-coordinate of the center point of the sub-grid and the y-coordinate of the endpoint, obtaining the fourth difference; and it determines the sum of the third and fourth differences to obtain the second-generation value, i.e., h(n). The second-generation value is used to represent the distance of the vehicle from the sub-grid to the endpoint.
[0096] (3) The electronic device determines the generation value of the sub-grid based on the first generation value and the second generation value.
[0097] The electronic device determines the sum of the first generation value and the second cost value to obtain the cost value of the sub-grid, i.e., f(n). The cost value of the sub-grid is used to represent the distance the vehicle travels from the starting point to the ending point via the sub-grid.
[0098] Step 205: The electronic device determines the sub-grid with the lowest cost value from at least one sub-grid, takes the sub-grid with the lowest cost value as the parent grid, and performs the step of searching for at least one sub-grid adjacent to the parent grid until the determined sub-grid with the lowest cost value is the endpoint.
[0099] The electronic device identifies the subgrid with the lowest cost value from among the subgrids without obstacles. Therefore, the subgrid with the lowest cost value has the highest integration priority, meaning it takes the shortest distance from the starting point to the ending point. If two subgrids have the same lowest cost value, the electronic device can arbitrarily choose one to perform the subsequent operations.
[0100] The electronic device removes the sub-grid with the lowest value from the first list and adds it to the second list. Then, it uses the sub-grid with the lowest value as the parent grid and searches for at least one sub-grid adjacent to the parent grid.
[0101] Since there may already be child grids adjacent to the parent grid in the first list, after the electronic device finds at least one child grid adjacent to the parent grid, it determines whether each child grid is in the first list. If it is in the first list, it does not need to be added again; if it is not in the first list, it is added to the first list.
[0102] Specifically, for a sub-grid that is already in the first list, the electronic device determines the first generation value from the starting point through the parent grid to the sub-grid. If the first generation value is greater than the first generation value from the starting point to the parent grid, no operation is required. If the first generation value is less than the first generation value from the starting point to the parent grid, the generation value of the sub-grid is re-determined.
[0103] If none of the sub-grids already in the first list meet the requirements, the electronic device determines the cost value of each sub-grid added to the first list. The cost value of each sub-grid includes a first-generation value and a second-generation value. The first cost value is the distance from the starting point to the sub-grid via the parent grid, and the second cost value is the distance from the sub-grid to the endpoint.
[0104] The electronic device traverses a first list, identifies the grid with the lowest cost value from among the multiple grids included in the first list, designates this grid as the parent grid, and repeatedly performs the step of searching for at least one child grid adjacent to the parent grid until the child grid with the lowest cost value is identified as the endpoint grid. See [link to relevant documentation]. Figure 3 .
[0105] In this process, whenever the electronic device identifies a sub-grid with the lowest cost value, it adds that sub-grid to the second list.
[0106] Step 206: The electronic device generates a global path based on the starting point, the ending point, and the sub-grid with the lowest value for each generation.
[0107] The electronic device starts from the endpoint, takes the grid cell containing the endpoint as a child grid, and determines the path between the center point of the child grid and the center point of its parent grid; it then takes the parent grid as a child grid and repeats the step of determining the path between the center point of the child grid and the center point of its parent grid until the parent grid is the grid cell containing the starting point; based on the path between each child grid and its parent grid, a global path is generated.
[0108] In this implementation, the path between a child grid and its parent grid is the movement from the center point of the child grid to the center point of its parent grid. Connecting the paths between each child grid and its parent grid yields the global path.
[0109] Step 207: The electronic device controls the vehicle's movement based on the global path. During the movement, the vehicle's speed is sampled, and the simulated speed is determined based on the sampling results.
[0110] The electronic device sends a first control command, which carries the global path, to the chassis domain controller. Based on this first control command, the chassis domain controller then controls the vehicle to travel from the starting point to the destination.
[0111] In practical applications, vehicles often cannot follow the global path perfectly because, in addition to known static obstacles, they encounter many more dynamic obstacles during travel. Since dynamic obstacles are not present when the map is initially built, it is necessary to use sensors such as LiDAR to sample the surrounding environment in real time, map it onto the global grid map to obtain a local grid map, and then plan a local path, ensuring that the local path conforms to the global path as closely as possible. This application uses the DWA (Dynamic Window Approach) to determine the local path, i.e., the target driving trajectory. The process of determining the target driving trajectory will be described below.
[0112] During driving, electronic devices acquire the vehicle's speed at multiple historical moments prior to the current time, and discretely sample from these multiple speeds to obtain multiple sampled speeds; based on these multiple sampled speeds, the simulated speed is determined.
[0113] In this implementation, the electronic device can use a discrete sampling method to sample multiple driving speeds, thereby obtaining multiple sampled speeds. The electronic device can determine the average value of the multiple sampled speeds and use this average value as the simulated speed. Alternatively, the electronic device can remove the maximum and minimum speeds from the multiple sampled speeds and then determine the average value of the remaining speeds, using this average value as the simulated speed. Of course, the electronic device can also determine the simulated speed based on multiple sampled speeds through other methods, without specific limitations.
[0114] It should be noted that while the vehicle is in motion, electronic devices can use radar, cameras, and other means to sample the surrounding environment in real time, acquire environmental data, and map it onto a grid map based on the vehicle's current location. This allows them to obtain information about dynamic obstacles, which can be pedestrians or other vehicles, without specific limitations. The information about dynamic obstacles can include their position, speed, direction of movement, size, and other information, without specific limitations.
[0115] In the process of navigation during large-scale movement, autonomous vehicles need not only to know their destination but also their own position on the map. Otherwise, if subsequent path planning is based on incorrect positioning, the automatically planned path to the destination will inevitably be incorrect. To solve this problem, this application uses an AMCL (Adaptive Monte Carlo Localization) module to achieve vehicle localization. The AMCL module, based on subscribed map data and the characteristics of laser scanning, converts LiDAR scan data into odometer results. It then uses particle filtering on a grid map to obtain the optimal positioning point and outputs the vehicle's pose on the map, thus achieving vehicle localization. The coordinate transformation of the AMCL module is based on odometer localization. Odometer localization uses odometer data to process the conversion between vehicle coordinates and odometer coordinates, while the AMCL module further reduces errors through particle filtering. The location with higher particle concentration is the most likely location of the vehicle. (See [link to relevant documentation]). Figure 4 .
[0116] Step 208: The electronic device performs forward simulation based on the simulated speed to predict multiple driving trajectories of the vehicle.
[0117] Electronic devices can establish motion models based on speed. Based on information about static and dynamic obstacles in a grid map, they can simulate forward movement at simulated speeds to predict the vehicle's trajectory in various directions over a preset time period, thus obtaining multiple trajectories.
[0118] The preset duration can be set and changed as needed, for example, the preset duration can be 1 minute or 2 minutes, and there is no specific limitation.
[0119] Step 209: The electronic device selects the target driving trajectory from multiple driving trajectories and controls the vehicle's driving based on the target driving trajectory.
[0120] For each driving trajectory, the electronic device determines the proximity of the driving trajectory to the global path; determines the probability of the vehicle colliding with obstacles while driving along the driving trajectory; and determines the cost value of the driving trajectory based on the proximity and probability corresponding to the driving trajectory. Based on the cost value of the driving trajectory, the target driving trajectory is selected from multiple driving trajectories.
[0121] In this implementation, the electronic device can determine the degree of matching between the driving trajectory and the first path, and use the degree of matching as the degree of proximity between the driving trajectory and the global path. The first path is the path between the starting point and the first grid in the global path.
[0122] The electronic device can determine the first trajectory value corresponding to the driving trajectory based on the degree of proximity. Specifically, the electronic device can pre-establish a correspondence between the range of proximity levels and trajectory values, and then determine the range within which the driving trajectory falls in proximity to the global path from this correspondence, thereby determining the first trajectory value corresponding to that range. The higher the degree of proximity between the driving trajectory and the global path, the larger the first trajectory value.
[0123] Based on the driving trajectory, the electronic device can determine the vehicle's linear velocity and angular velocity as it travels along that trajectory, and then determine the probability of colliding with an obstacle during the journey based on the linear velocity and angular velocity. The obstacle in this step can be a static obstacle or a dynamic obstacle.
[0124] Electronic devices can determine the linear and angular velocities of a vehicle using inertial sensors. Based on these velocities, they can determine the probability of the vehicle colliding with an obstacle while traveling at those velocities. Based on this probability, a second trajectory value corresponding to the driving trajectory is determined. The electronic device can pre-establish a correspondence between probability ranges and trajectory values, then determine the range within which the probability falls, and further determine the second trajectory value corresponding to that range. The lower the probability of colliding with the obstacle, the larger the second trajectory value.
[0125] The electronic device determines the sum of the first trajectory value and the second trajectory value to obtain the cost value corresponding to the driving trajectory. The electronic device then selects the driving trajectory with the highest cost value from multiple driving trajectories as the target driving trajectory. The process of the electronic device determining the target driving trajectory can be found in [reference needed]. Figure 5 .
[0126] Of course, electronic devices can also combine other criteria with the above to filter target driving trajectories, without making specific limitations on this.
[0127] Step 210: During the journey, the electronic device samples the vehicle's speed and determines the simulated speed based on the sampling results until the vehicle reaches its destination.
[0128] Each time the electronic device determines a target driving trajectory, it sends a second control command to the chassis domain controller. This second control command carries the speed and direction corresponding to the target driving trajectory. The chassis domain controller controls the vehicle's movement based on the speed and direction corresponding to the target driving trajectory. During the vehicle's movement along the target driving trajectory, steps 207 (sampling the vehicle's speed) and 209 (determining the simulated speed based on the sampling results) are executed until the vehicle reaches its destination.
[0129] To more clearly illustrate the navigation method provided in this application, the following is combined with... Figure 6 To elaborate further: The electronic device first generates a global grid map based on map services. Then, based on the starting point, ending point, and the global grid map, it performs global path planning. Next, based on the global grid map and the vehicle's location, it obtains a local grid map. Using the local grid map, environmental data, depth information, and odometer data, it performs local path planning and then sends control commands to the chassis domain controller to control the vehicle's movement.
[0130] This application provides a vehicle navigation method. The method first uses a grid map, designating the starting grid as the parent grid, and searches for at least one child grid adjacent to the parent grid. The cost value of each child grid is determined, and the child grid with the lowest cost value is selected from these at least one child grid. This child grid with the lowest cost value is then designated as the parent grid. This process of determining the child grid with the lowest cost value is repeated until the child grid with the lowest cost value is identified as the destination grid. A global path is then generated. Based on the global path, forward simulation is performed based on the vehicle's speed to predict multiple driving trajectories. A target driving trajectory is then selected from these multiple trajectories, and the vehicle is controlled based on this target trajectory. During the driving process, the process of determining the target driving trajectory is repeated until the vehicle reaches its destination. Therefore, this method first generates a global path, then performs local path planning based on the global path, and continuously selects the optimal local path during the vehicle's journey, thereby accurately controlling the vehicle to reach its destination.
[0131] In this embodiment, ROS (Robot Operating System) is used to design the vehicle's control system. ROS systems are characterized by their simplicity, ease of use, ease of modification, and strong scalability. Furthermore, by combining autonomous navigation with obstacle avoidance, the system plans a path from the vehicle's current location to its destination, avoiding obstacles during travel and continuously optimizing the route through algorithms, thus further improving the vehicle's autonomous navigation and obstacle avoidance capabilities.
[0132] Figure 7This is a schematic diagram of the structure of a vehicle navigation device provided in an embodiment of this application. See also... Figure 7 The device includes:
[0133] The first acquisition module 701 is used to acquire the starting point and ending point of the vehicle; wherein the vehicle is an unmanned vehicle.
[0134] The first generation module 702 is used to generate a raster map based on the starting point and the ending point; wherein the raster map includes multiple grates, and the center of each grate is a node;
[0135] The search module 703 is used to search for at least one child grid adjacent to the starting grid, taking the grid where the starting point is located as the parent grid.
[0136] The first determining module 704 is used to determine the cost value of each sub-grid based on the parent grid, the sub-grid, and the endpoint; wherein the cost value is used to represent the distance from the starting point to the endpoint via the sub-grid;
[0137] The second determining module 705 is used to determine the sub-grid with the smallest cost value from at least one sub-grid, take the sub-grid with the smallest cost value as the parent grid, search for at least one sub-grid adjacent to the parent grid, until the determined sub-grid with the smallest cost value is the grid where the endpoint is located.
[0138] The second generation module 706 is used to generate a global path based on the starting point, the ending point, and the sub-grid with the minimum cost value for each cell.
[0139] The third determining module 707 is used to control vehicle driving based on a global path. During the driving process, the vehicle's driving speed is sampled, and the simulated speed is determined based on the sampling results.
[0140] The prediction module 708 is used to perform forward simulation based on the simulated speed and predict multiple driving trajectories of the vehicle.
[0141] The first control module 709 is used to filter out the target driving trajectory from multiple driving trajectories and control the vehicle driving based on the target driving trajectory;
[0142] The second control module 710 is used to sample the vehicle's speed during driving, determine the simulated speed based on the sampling results, and continue until the vehicle reaches its destination.
[0143] In one possible implementation, the first determining module 704 is used to determine a first-generation value based on the position of the starting point and the position of the sub-grid, the first-generation value representing the distance of the vehicle from the starting point to the sub-grid; to determine a second-generation value based on the position of the sub-grid and the position of the ending point, the second-generation value representing the distance of the vehicle from the sub-grid to the ending point; and to determine the generation value of the sub-grid based on the first-generation value and the second-generation value.
[0144] In another possible implementation, the first determining module 704 is used to determine the difference between the x-coordinate of the starting point and the x-coordinate of the center point of the sub-grid to obtain a first difference; determine the difference between the y-coordinate of the starting point and the y-coordinate of the center point of the sub-grid to obtain a second difference; and determine the sum of the first difference and the second difference to obtain a first generation value.
[0145] In another possible implementation, the second generation module 706 is used to start from the endpoint, take the grid where the endpoint is located as a child grid, determine the path between the center point of the child grid and the center point of its parent grid; take the parent grid as a child grid, determine the path between the center point of the child grid and the center point of its parent grid, until the parent grid is the grid where the starting point is located; and generate a global path based on the path between each child grid and its parent grid.
[0146] In another possible implementation, the first control module 709 is used to determine the proximity of each driving trajectory to the global path; determine the probability of the vehicle colliding with obstacles while driving along the driving trajectory; determine the cost value of the driving trajectory based on the proximity and probability corresponding to the driving trajectory; and select the target driving trajectory from multiple driving trajectories based on the cost value of each driving trajectory.
[0147] In another possible implementation, the third determining module 707 is used to obtain the vehicle's driving speed at multiple historical moments before the current time; to perform discrete sampling from the multiple driving speeds to obtain multiple sampled speeds; and to determine the simulated speed based on the multiple sampled speeds.
[0148] In another possible implementation, the first generation module 702 is used to obtain a global map based on the starting point and the ending point; and to perform rasterization processing on the global map to obtain a raster map.
[0149] This application provides a vehicle navigation device. The device first uses a grid map, designating the starting grid as the parent grid, and searches for at least one child grid adjacent to the parent grid. It then determines the cost value of each child grid, identifies the child grid with the lowest cost value from among these, and designates it as the parent grid. This process is repeated until the child grid with the lowest cost value is identified as the destination grid, and a global path is generated. Based on the global path, forward simulation is performed based on the vehicle's speed to predict multiple driving trajectories. A target driving trajectory is then selected from these trajectories, and the vehicle is controlled based on this target trajectory. During the journey, the process of determining the target driving trajectory is repeated until the vehicle reaches its destination. Therefore, this device first generates a global path, then performs local path planning based on the global path, continuously selecting the optimal local path during the vehicle's journey, thereby accurately controlling the vehicle to reach its destination.
[0150] The structural block diagram of the audio head unit can be found in [reference]. Figure 8 The audio host 800 can vary significantly due to differences in configuration or performance. It may include a processor (CPU) 801 and a memory 802. The memory 802 stores at least one line of program code, which is loaded and executed by the processor 801 to implement the vehicle navigation method in the above embodiments. Of course, the audio host 800 may also have wired or wireless network interfaces, a keyboard, and input / output interfaces for input and output. The audio host 800 may also include other components for implementing device functions, which will not be elaborated here.
[0151] In an exemplary embodiment, a computer-readable storage medium is also provided, which stores at least one piece of program code that is loaded and executed by a processor to implement the vehicle navigation method in the above embodiments.
[0152] In an exemplary embodiment, a computer program product is also provided, which stores at least one piece of program code that is loaded and executed by a processor to implement the vehicle navigation method in the above embodiments.
[0153] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.
[0154] The above description is only for the purpose of enabling those skilled in the art to understand the technical solution of this application, and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.
Claims
1. A vehicle navigation method, characterized in that, The method includes: Obtain the starting point and ending point of the vehicle; wherein the vehicle is an unmanned vehicle; A raster map is generated based on the starting point and the ending point; wherein the raster map includes multiple graticles; Using the grid cell containing the starting point as the parent grid cell, search for at least one child grid cell that is adjacent to the parent grid cell; For each sub-grid, a cost value is determined based on the parent grid, the sub-grid, and the endpoint; wherein the cost value represents the distance the vehicle travels from the starting point through the sub-grid to the endpoint; From the at least one sub-grid, determine the sub-grid with the smallest cost value, take the sub-grid with the smallest cost value as the parent grid, and perform the step of searching for at least one sub-grid adjacent to the parent grid until the sub-grid with the smallest cost value is the grid where the endpoint is located. A global path is generated based on the starting point, the ending point, and the sub-grid with the minimum cost value for each cell. The vehicle travels based on the global path control. During the travel process, the vehicle's travel speed is sampled, and the simulated speed is determined based on the sampling results. Based on the simulated speed, a forward simulation is performed to predict multiple driving trajectories of the vehicle; The target driving trajectory is selected from the multiple driving trajectories, and the vehicle is controlled to drive based on the target driving trajectory; During the journey, the process of sampling the vehicle's speed and determining the simulated speed based on the sampling results is performed until the vehicle reaches the destination.
2. The method according to claim 1, characterized in that, Determining the cost value of the sub-grid based on the parent grid, the sub-grid, and the endpoint includes: Based on the position of the starting point and the position of the sub-grid, a first-generation value is determined, which represents the distance of the vehicle from the starting point to the sub-grid. Based on the position of the sub-grid and the position of the endpoint, a second-generation value is determined, which represents the distance of the vehicle from the sub-grid to the endpoint; The generation value of the sub-grid is determined based on the first generation value and the second generation value.
3. The method according to claim 2, characterized in that, The determination of the first-generation value based on the position of the starting point and the position of the sub-grid includes: Determine the difference between the x-coordinate of the starting point and the x-coordinate of the center point of the sub-grid to obtain the first difference; Determine the difference between the ordinate of the starting point and the ordinate of the center point of the sub-grid to obtain the second difference; The sum of the first difference and the second difference is determined to obtain the first generation value.
4. The method according to claim 1, characterized in that, The process of generating a global path based on the starting point, the ending point, and the sub-grid with the lowest cost value includes: Starting from the endpoint, the grid cell containing the endpoint is taken as a sub-grid, and the path between the center point of the sub-grid and the center point of its parent grid is determined; Treat the parent grid as a child grid, and perform the step of determining the path between the center point of the child grid and the center point of its parent grid until the parent grid is the grid where the starting point is located. The global path is generated based on the path between each child grid and its parent grid.
5. The method according to claim 1, characterized in that, The step of filtering the target driving trajectory from the multiple driving trajectories includes: For each driving trajectory, determine the degree of similarity between the driving trajectory and the global path; Determine the probability of the vehicle colliding with an obstacle while traveling along the stated trajectory; The cost of the driving trajectory is determined based on the proximity and probability corresponding to the driving trajectory. Based on the cost value of each driving trajectory, the target driving trajectory is selected from the multiple driving trajectories.
6. The method according to claim 1, characterized in that, During the driving process, the vehicle's speed is sampled, and a simulated speed is determined based on the sampling results, including: Obtain the vehicle's speed at multiple historical moments prior to the current time; Discrete sampling is performed from multiple driving speeds to obtain multiple sampled speeds; The simulation speed is determined based on the multiple sampling speeds.
7. The method according to claim 1, characterized in that, The process of generating a raster map based on the starting point and the ending point includes: Based on the starting point and the ending point, obtain the global map; The global map is rasterized to obtain the raster map.
8. A vehicle navigation device, characterized in that, The device includes: The first acquisition module is used to acquire the starting point and ending point of the vehicle; wherein the vehicle is an unmanned vehicle; The first generation module is used to generate a grid map based on the starting point and the ending point; wherein the grid map includes multiple grids; The search module is used to take the grid where the starting point is located as the parent grid and search for at least one child grid adjacent to the parent grid. The first determining module is configured to determine the cost value of each sub-grid based on the parent grid, the sub-grid, and the endpoint; wherein the cost value represents the distance the vehicle travels from the starting point through the sub-grid to the endpoint; The second determining module is used to determine the sub-grid with the smallest cost value from the at least one sub-grid, take the sub-grid with the smallest cost value as the parent grid, and search for at least one sub-grid adjacent to the parent grid until the determined sub-grid with the smallest cost value is the grid where the endpoint is located. The second generation module is used to generate a global path based on the starting point, the ending point, and the sub-grid with the lowest cost value for each sub-grid. The third determining module is used to control the vehicle's driving based on the global path. During the driving process, the vehicle's driving speed is sampled, and the simulated speed is determined based on the sampling results. The prediction module is used to perform forward simulation based on the simulated speed and predict multiple driving trajectories of the vehicle. The first control module is used to filter out a target driving trajectory from the multiple driving trajectories and control the vehicle to drive based on the target driving trajectory; The second control module is used to sample the vehicle's speed during driving, determine the simulated speed based on the sampling results, and continue until the vehicle reaches the destination.
9. An electronic device, characterized in that, The electronic device includes a processor and a memory, the memory storing at least one piece of program code, which is loaded and executed by the processor to implement the vehicle navigation method as described in any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores at least one piece of program code, which is loaded and executed by a processor to implement the vehicle navigation method as described in any one of claims 1 to 7.