Narrow channel vehicle track planning method and device and vehicle
By identifying the narrow passage posture in a narrow passage environment and decomposing the task into sub-tasks, a trajectory segment without narrow passage constraints is generated, which solves the problem of planning efficiency and accuracy of autonomous vehicles in narrow passages and realizes efficient and continuous path planning.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-19
- Publication Date
- 2026-04-07
AI Technical Summary
Existing technologies struggle to balance efficient search time and accurate path planning in narrow passages for autonomous vehicles, especially in complex environments without clear road boundaries. Traditional methods cannot generate effective paths, while search-based solutions face a trade-off between search resolution and computation time when dealing with dynamic obstacles.
By configuring and planning the vehicle trajectory task, initializing the starting search point and target endpoint, identifying the narrow passage posture, decomposing the task into several sub-tasks, generating trajectory segments without narrow passage constraints, and finally splicing them in spatial order to output the vehicle trajectory.
It significantly improves the success rate, efficiency, and adaptability of planning in narrow passages, and is particularly suitable for autonomous vehicles such as sweepers operating in complex and unstructured environments. It reduces search complexity and computation time, and improves the continuity and feasibility of trajectory planning.
Smart Images

Figure CN121804512A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of autonomous driving technology, and in particular to a method, apparatus and vehicle for planning vehicle trajectory in narrow passages. Background Technology
[0002] With the continuous development of autonomous driving technology, the need for vehicles to perform tasks in complex and ever-changing open space scenarios is becoming increasingly urgent. Especially in narrow environments with no clear road boundaries or lane markings, path planning becomes a complex and critical technical challenge. For autonomous vehicles such as sweepers, these open spaces often lack a clear, passable road. Complex and irregular scenarios, such as narrow paths formed by unpredictable obstacles like bollards, guardrails, and flower beds, make path planning exceptionally difficult.
[0003] In such environments, vehicles often need to perform multiple forward, reverse, U-turn, and even obstacle-avoidance maneuvers to finally pass through these narrow passages. This type of path planning typically involves precise attitude control to ensure the vehicle can navigate extremely confined spaces and avoid collisions with obstacles. Traditional reference-line-based optimization methods often exhibit limitations in these complex scenarios. While this method excels at generating continuous, accurate single-segment trajectories and is suitable for structured road environments, it is not applicable in scenarios without clearly defined road boundaries.
[0004] In contrast, search-based path planning solutions are better suited to handle such non-standard scenarios, offering flexible path selection. However, in practical applications, search-based solutions still fall short when faced with narrow paths formed by unpredictable obstacles (such as bollards, guardrails, etc.). Because the search process needs to balance resolution and search time, and the narrow paths vary greatly in different scenarios, it becomes impossible to simultaneously achieve efficient search time and accurate path planning.
[0005] Therefore, existing technologies still have many shortcomings when dealing with trajectory planning in narrow passages for autonomous vehicles. Summary of the Invention
[0006] To address the technical problem in the prior art that it cannot simultaneously achieve efficient search time and accurate path planning when processing trajectory planning for autonomous vehicles in narrow passages, the present invention aims to provide a method, apparatus, and vehicle for planning vehicle trajectories in narrow passages.
[0007] The objective of this invention is achieved through the following technical solution:
[0008] In a first aspect, the present invention provides a method for planning vehicle trajectories in narrow passages, the planning method comprising the following steps:
[0009] The task of configuring and planning vehicle trajectories includes a start point, an end point, and a reverse identifier, wherein the reverse identifier is used to determine whether to perform a reverse trajectory search.
[0010] Initialize the task, set the starting search point and the target endpoint, and perform an initial trajectory search based on the reverse identifier;
[0011] Traverse the tasks, and when a task has a narrow passage posture, identify the number of narrow passage postures for that task;
[0012] Based on the narrow passage posture and number of tasks, the task is decomposed into several corresponding sub-tasks.
[0013] Each subtask generates a trajectory segment without narrow passage constraints. The trajectory segments from multiple subtasks are then spliced together in spatial order to output the vehicle trajectory.
[0014] In one possible implementation, traversing the task specifically includes the following steps:
[0015] Based on the grid map searched from the initial trajectory, an unconstrained grid trajectory is generated from the target endpoint to the starting search point.
[0016] Identify each trajectory point of the unconstrained grid trajectory and generate multiple candidate narrow passage points;
[0017] Multiple candidate narrow passage points that are spatially consecutive are merged to generate a narrow passage trajectory segment;
[0018] The narrow track segment is fitted using the least squares method, and the parameters of the trajectory points of the narrow track segment are calculated.
[0019] The narrow passage posture of the task is determined based on the parameters.
[0020] In one possible implementation, generating multiple candidate narrow passage points specifically includes the following steps:
[0021] Centered on the trajectory point, identify the number of grids that can pass through within a preset grid area around the trajectory point;
[0022] When the number of grids is greater than or equal to a first preset threshold, it is identified as a candidate narrow passage point; or...
[0023] Using the trajectory point as the center, identify the number of Vino edges within the preset grid area surrounding the trajectory point;
[0024] When the number of Vino edges is greater than or equal to a second preset threshold, it is identified as a candidate narrow passage point; or...
[0025] Using the trajectory point as the center, identify the Vinno edge within the preset grid area surrounding the trajectory point;
[0026] When the distance to the nearest obstacle corresponding to the Vino edge is less than or equal to a preset width threshold, it is identified as a candidate narrow passage point.
[0027] In one possible implementation, based on the narrow passage posture and its number, the task is decomposed into several corresponding sub-tasks, specifically including the following steps:
[0028] Based on the number N of narrow passage postures, the task is decomposed into N+1 subtasks;
[0029] Based on the starting search point, the parameters of multiple narrow passage postures, and the target endpoint, the starting point and endpoint of the corresponding sub-task are used.
[0030] In one possible implementation, the parameters include the mean of the trajectory points, the covariance matrix, the slope, and the heading angle.
[0031] In one possible implementation, the planning method includes the following steps:
[0032] When the task does not involve narrow passage, a preset trajectory search algorithm is invoked to execute the task, generating and outputting the vehicle trajectory.
[0033] Secondly, the present invention provides a planning device for vehicle trajectories in narrow passages, the planning device comprising:
[0034] The configuration module is used to configure the task of planning vehicle trajectories. The task includes a start point, an end point, and a reverse identifier. The reverse identifier is used to determine whether to perform a reverse trajectory search.
[0035] The search module is used to initialize the task, set the starting search point and the target endpoint, and perform an initial trajectory search based on the reverse identifier.
[0036] The identification module is used to traverse the task and identify the number of narrow passage postures of the task when the task has a narrow passage posture.
[0037] The decomposition module is used to decompose the task into several corresponding sub-tasks based on the narrow passage posture and the number of tasks.
[0038] The processing module is used to execute each subtask to generate trajectory segments without narrow passage constraints, and to sequentially splice the trajectory segments of multiple subtasks in spatial order to output the vehicle trajectory.
[0039] Thirdly, the present invention provides a device including a processor coupled to a memory storing program instructions, wherein when the program instructions stored in the memory are executed by the processor, a method for planning vehicle trajectories in a narrow passage is implemented in any possible implementation of the first aspect.
[0040] Fourthly, the present invention provides a computer-readable storage medium including a program that, when run on a computer, causes the computer to perform a method for planning a narrow-channel vehicle trajectory as in any possible implementation of the first aspect.
[0041] Fifthly, the present invention provides a vehicle comprising a planning device as described in the second aspect, or the vehicle comprising equipment as described in the third aspect.
[0042] Compared with the prior art, the present invention has at least the following beneficial effects:
[0043] This invention provides a method for planning vehicle trajectories in narrow passages. The method includes the following steps: configuring a task for planning vehicle trajectories, the task including a start point, an end point, and a reverse identifier, the reverse identifier being used to determine whether to perform a reverse trajectory search; initializing the task, setting a start search point and a target end point, and performing an initial trajectory search based on the reverse identifier; traversing the task, and when the task has narrow passage postures, identifying the number of narrow passage postures; based on the narrow passage postures and their number, decomposing the task into several corresponding sub-tasks; executing each sub-task to generate trajectory segments without narrow passage constraints; and sequentially splicing the trajectory segments from multiple sub-tasks in spatial order to output the vehicle trajectory.
[0044] This invention addresses the challenge of balancing feasibility, accuracy, and computational efficiency in trajectory planning for autonomous vehicles in narrow, open spaces with undefined road boundaries. It structurally improves traditional holistic search-based planning methods by introducing narrow-channel travel posture recognition and a task decomposition strategy based on this posture during the trajectory planning process. The global trajectory planning in complex, narrow-channel scenarios is transformed into solving multiple simpler subtasks separately, and then the trajectories are stitched together in spatial order. This effectively reduces search complexity and computation time, improves the success rate, continuity, and executability of trajectory planning, and significantly enhances the ability of autonomous vehicles to navigate narrow, unstructured open spaces. Attached Figure Description
[0045] Figure 1 A schematic diagram of the structure of a vehicle provided by the present invention;
[0046] Figure 2A flowchart illustrating a method for planning vehicle trajectories in narrow passages provided by the present invention;
[0047] Figure 3 This invention provides a flowchart illustrating the process of traversing the tasks described above.
[0048] Figure 4 A flowchart illustrating the decomposition of subtasks provided by this invention;
[0049] Figure 5 A schematic diagram of a vehicle trajectory planning device in a narrow passage provided by the present invention;
[0050] Figure 6 This is a schematic diagram of the structure of an electronic device provided by the present invention;
[0051] Figure 7 This invention provides a technical roadmap for a method of planning vehicle trajectories in narrow passages. Detailed Implementation
[0052] To facilitate understanding of the present invention, the technical solutions and advantages of the invention will be further described in detail below with reference to the accompanying drawings and embodiments. Any mechanisms or methods not elaborated in this invention can be referred to in the prior art. The specific structures and features of the present invention are illustrated below by way of example and should not be construed as limiting the present invention in any way. Furthermore, any of the technical features mentioned below (including implicit or disclosed features), as well as any technical features directly shown or implied in the figures, can be arbitrarily combined or deleted among these technical features to form more other embodiments that may not be directly or indirectly mentioned in this invention. The accompanying drawings show preferred embodiments of the present invention. However, the present invention can be implemented in many different forms and is not limited to the embodiments described herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of the disclosure of the present invention.
[0053] With the development of autonomous driving technology, path planning for vehicles in open spaces and complex environments has become a significant challenge. In narrow scenarios without clear road markings, traditional path planning methods struggle to adapt to these irregular and dynamically changing environments. Autonomous vehicles, especially sweepers, need to perform tasks in narrow passages filled with obstacles such as bollards and guardrails, requiring them to perform multiple maneuvers including forward, reverse, and U-turns.
[0054] Reference line-based trajectory optimization methods are typically used to generate continuous and accurate paths, but they often fail to provide effective solutions in complex environments with unclear road boundaries. Conversely, search-based path planning methods can handle irregular obstacles and dynamic scenarios; however, existing search algorithms often face a trade-off between search resolution and computational time when dealing with constantly changing narrow passages, making it difficult to balance planning accuracy and real-time performance. Furthermore, different narrow passage scenarios exhibit high diversity, making it difficult for existing technologies to adapt to the path planning needs of various complex environments.
[0055] In view of this, embodiments of this application provide a method for planning vehicle trajectories in narrow passages. During the planning process, this method traverses the task and identifies the narrow passage postures and their number involved in the trajectory, breaking down the originally highly coupled and massively searched overall planning task into several sub-tasks. In the trajectory generation stage, trajectory planning without narrow passage constraints is performed on each sub-task separately. Finally, the vehicle trajectory is generated by splicing the trajectory segments generated by each sub-task in spatial order.
[0056] Therefore, this invention can significantly improve the planning success rate, planning efficiency, and scene adaptability of autonomous vehicles in narrow passages formed by irregular obstacles such as stone blocks, guardrails, and flower beds. It is particularly suitable for autonomous vehicles such as sweepers that operate in complex and unstructured environments.
[0057] In this embodiment, the planning method can be applied to a driving device, such as a vehicle. Specifically, the vehicle can be an unmanned cleaning vehicle, which typically operates in park roads, factory roads, underground parking lots, logistics parks, old residential areas, and semi-open spaces. These operating environments generally have the following characteristics: irregular road boundaries, lacking standard lane lines or a clear road topology; complex obstacle shapes, which may be static obstacles (such as walls, guardrails, curbs, and equipment) or dynamic obstacles (such as pedestrians and other vehicles); numerous narrow passageways with limited local passage space, such as narrow turns, bottleneck sections, temporary construction passages, and obstacle gaps; and in some scenarios, precise vehicle attitude control is required to complete passage, even requiring low speed, aligned posture, or reversing.
[0058] To facilitate understanding of this solution, the structure of the vehicle provided in this application is described in the embodiments of this application.
[0059] In one embodiment, the vehicle can be configured for fully or partially autonomous driving mode. When the vehicle 100 is in autonomous driving mode, the vehicle 100 can be set to operate without human interaction.
[0060] Please refer to Figure 1 , Figure 1This is a structural schematic diagram of a vehicle 100 provided in an embodiment of this application. Figure 1 As shown, vehicle 100 may include various subsystems, such as a driving system 102, a sensor system 103, a control system 104, one or more peripheral devices 105, a power supply 106, and a computer system 101. Optionally, vehicle 100 may include more or fewer subsystems, and each subsystem may include multiple components, such as multiple electronic control units (ECUs) per subsystem. Furthermore, each subsystem and component of vehicle 100 may be interconnected via wired or wireless means.
[0061] The propulsion system 102 may include components that provide powered motion to the vehicle 100. In one embodiment, the propulsion system 102 may include an engine, an energy source, a transmission, and wheels / tires. The energy source may also provide power to other systems of the vehicle 100.
[0062] Sensor system 103 may include several sensors for sensing information about the environment surrounding vehicle 100. For example, sensor system 103 may include a Global Positioning System (GPS, BeiDou, or other positioning systems), an inertial measurement unit (IMU), radar, a laser rangefinder, and a camera. Sensor system 103 may also include sensors for the internal systems of the monitored vehicle 100. Sensor data from one or more of these sensors can be used to detect objects and their corresponding characteristics (position, shape, orientation, speed, etc.).
[0063] The control system 104 controls the operation of the vehicle 100 and its components. The control system may include various elements, including a steering system, a braking unit, a computer vision system, a route control system, and an obstacle avoidance system.
[0064] Vehicle 100 interacts with external sensors, other vehicles, other computer systems, or users via peripheral device 105. Peripheral device 105 may include a wireless communication system or an onboard computer.
[0065] Some or all of the functions of vehicle 100 are controlled by computer system 101. Computer system 101 may include at least one processor that executes instructions stored in a non-transitory computer-readable medium such as a data storage device. Computer system 101 may also be multiple computing devices that control individual components or subsystems of vehicle 100 in a distributed manner.
[0066] The processor can be any conventional processor, such as a commercially available CPU. Alternatively, the processor can be a special-purpose device such as an ASIC or other hardware-based processor.
[0067] In some embodiments, the memory may contain instructions (e.g., program logic) that can be executed by a processor to perform various functions of the vehicle 100, including those described above. The data storage device may also contain additional instructions, including instructions to send data to, receive data from, interact with, and / or control one or more of the propulsion system 102, sensor system 103, control system 104, and peripheral devices 105.
[0068] In addition to instructions, the memory can also store data such as road maps, route information, vehicle position, direction, speed, and other vehicle data, as well as other information. This information can be used by vehicle 100 and computer system 101 in autonomous mode.
[0069] Computer system 101 can control the functions of vehicle 100 based on inputs received from various subsystems, such as mobility system 102, sensor system 103, and control system 104. For example, computer system 101 can utilize inputs from control system 104 to control vehicle 100 to avoid obstacles detected by sensor system 103 and obstacle avoidance system. In some embodiments, computer system 101 is operable to provide control over many aspects of vehicle 100 and its subsystems.
[0070] Optionally, one or more of these components may be installed separately from or associated with vehicle 100. For example, the memory may exist partially or completely separately from vehicle 100. The components may be communicatively coupled together in a wired and / or wireless manner.
[0071] Optionally, the above components are just an example. In actual applications, the components in each of the above modules may be added or deleted as needed.
[0072] The above describes the application scenarios and driving devices of the planning method provided in the embodiments of this application. The following will describe in detail a planning method for vehicle trajectory in a narrow passage provided in this application.
[0073] Please see Figure 2 , Figure 2 This is a flowchart illustrating a method for planning vehicle trajectories in a narrow passage, as provided in an embodiment of this application. Figure 2 As shown, the planning method includes the following steps 201-205.
[0074] 201. A task for configuring and planning vehicle trajectories, the task including a start point, an end point, and a reverse identifier, the reverse identifier being used to determine whether to perform a reverse trajectory search.
[0075] In this application, the vehicle's route planning task is defined through configuration. The planning task includes the following:
[0076] Start: The current location coordinates of the vehicle, i.e., the starting coordinates (x, y) of the trajectory.
[0077] End: The coordinates of the target location that the vehicle is expected to reach, i.e., the coordinates of the end point of the trajectory (x, y).
[0078] Reverse flag (is_reserve): A boolean value indicating whether a reverse path search from the endpoint to the origin is needed. This flag is used to handle special scenarios, such as when space is limited near the origin or the target area is crowded, where a reverse search can improve the success rate of the path search.
[0079] Specifically, task configuration abstracts the vehicle trajectory planning problem into an executable task object, providing foundational data for subsequent search and decomposition. Reverse identifiers offer flexibility, making the planning method applicable to various complex environments and ensuring feasible paths can still be obtained in constrained or asymmetric environments.
[0080] In some implementations, a task is represented as result=task(start,end,is_reserve). Here, start is the starting point, end is the ending point; is_reserve indicates whether the search results should be reversed. When it is true, the search proceeds from the ending point to the starting point (reverse search); when it is false, the search proceeds from the starting point to the ending point (forward search); result represents the task search results, which is the output sequence of trajectory points.
[0081] It should be noted that the reverse marker is not pre-set, but is determined based on the traffic conditions of the areas where the starting point and the ending point are located.
[0082] In one implementation, the method for determining the reverse marker includes analyzing the local grid environment of the starting and ending points. When the space in the area where the starting search point is located is limited, the number of passable grids is less than a preset threshold, or the distance to obstacles near the starting point is less than a safe distance, while the passage conditions in the area where the target ending point is located are good, the reverse marker is determined to be in an activated state. Otherwise, the reverse marker is determined to be in a deactivated state.
[0083] In another implementation, the reverse identifier can be determined by analyzing whether there is a spatially restricted area (narrow passage environment) along the path between the start and end points. If so, the reverse identifier is determined to be in an active state. Otherwise, the reverse identifier is determined to be in a non-active state.
[0084] It should be noted that when a vehicle is located in a complex open space, and there are several narrow passageways (narrow channels) between it and the target endpoint, directly searching for a trajectory from the vehicle's position (starting point) to the endpoint may encounter the following problems: the initial search is easily constrained by the spatial conditions near the starting point; the search process may get stuck in local optima or be unable to traverse the narrow passageways; and it may lead to the failure of the global path search or the generation of infeasible paths. Conversely, searching in reverse from the narrow passageway area to the vehicle's current position can more easily generate a stable, unconstrained trajectory, since the narrow passageway area is usually more open or defined than the space around the vehicle's current position.
[0085] Therefore, the above configuration ensures that the planning task explicitly adopts either a forward or reverse search strategy before entering the trajectory search phase, thereby improving the success rate and stability of the initial trajectory search. Furthermore, based on this task configuration, if a narrow passage is detected on the path, a reverse flag is set to initiate, allowing trajectory searching to proceed from the narrow passage towards the vehicle's current position.
[0086] 202. Initialize the task, set the starting search point and the target endpoint, and perform an initial trajectory search based on the reverse identifier.
[0087] In this application, the initialization task is to prepare for and start the planning task defined in step 201, including the following operations: setting the starting search point and the target endpoint: based on the starting point and endpoint information in the task, specifying the coordinates of the starting search point and the target endpoint.
[0088] For example, an initial trajectory search is performed: based on the reverse marker, a forward or reverse path search is selected. The search algorithm can be the A* algorithm based on a 2D grid map, Dijkstra's algorithm, or an improved form thereof. The initial search does not consider narrow passage constraints and only generates a feasible path framework from the start point to the end point.
[0089] Understandably, the initialization task ensures that vehicle path planning starts from a known location and generates a preliminary topology of globally reachable paths. The initial trajectory search provides a path skeleton for subsequent narrow passage identification and subtask decomposition, avoiding blind searching throughout the environment and improving efficiency.
[0090] In some implementations, the task is initialized by executing `esult=task0(start0,end0,false)`, where `start0` is the search start point and `end0` is the search end point. The initial trajectory is searched from the search start point to the search end point to generate the initial trajectory and output the trajectory point sequence of the initial trajectory.
[0091] 203. Traverse the tasks, and when the task has a narrow passage posture, identify the number of narrow passage postures of the task.
[0092] In this application, the core of this step is to analyze the initial path and identify any narrow passage areas that may exist. Specifically, traversing the path involves analyzing the environmental grid where the initial trajectory is located, point by point, along the initial trajectory generated in step 202.
[0093] In some implementations, narrow passage regions that the vehicle must precisely control are identified through local grid statistics and Venn diagram analysis. Narrow passage attitudes provide attitude constraint information for the vehicle in confined environments, decoupling path planning from vehicle control. Furthermore, the number N of narrow passage attitudes present in the initial trajectory is determined, providing a basis for subsequent task decomposition.
[0094] 204. Based on the narrow passage posture and the number of tasks, the task is decomposed into several corresponding sub-tasks.
[0095] In this application, based on the narrow passage posture and number N identified in step 203, the original task is decomposed into multiple subtasks. Here, N is a positive integer. It can be understood that each subtask corresponds to a segment of the initial trajectory; for example, such as:
[0096] task(start, narrow_point0): The area from the starting point to the first narrow passage.
[0097] task(narrow_point0, narrow_point1): The area from the first narrow point to the second narrow point;
[0098] …
[0099] task(narrow_pointN, end): The last narrow passage area to the end point.
[0100] In some preferred implementations, each subtask does not consider other narrow-path constraints during planning, generating trajectories only for the path segments of its own subtask. Task decomposition reduces the complexity of global path search, transforming the complex path planning problem into several local subtasks. Each subtask searches independently, improving search speed and efficiency while ensuring that the final path covers all narrow-path areas.
[0101] 205. Execute each subtask to generate a trajectory segment without narrow passage constraints, and then splice the trajectory segments of multiple subtasks in spatial order to output the vehicle trajectory.
[0102] In practice, this step generates a complete vehicle trajectory from the decomposed sub-task paths. Specifically, a path search algorithm without narrow-path constraints is executed on each sub-task to generate trajectory segments. Then, the trajectory segments of each sub-task are spliced together in spatial order to form a complete vehicle path.
[0103] Understandably, subtask trajectory stitching combines local paths into globally feasible paths, enabling continuous passage of the task from the starting point to the end point.
[0104] In specific application scenarios, when a vehicle approaches a narrow passage, the narrow passage attitude information generated in step 203 is invoked to control the vehicle's heading angle, lateral position, and speed, ensuring safe passage. The narrow passage attitude provides precise control during actual driving, guaranteeing vehicle safety and traffic efficiency in confined areas.
[0105] Through the above steps, the trajectory planning method of this application decomposes a complex path planning task into several local sub-tasks through dynamic task decomposition. Each sub-task is planned independently, significantly reducing the global search time. A complete path is generated by stitching together the sub-task trajectories, realizing a continuous feasible trajectory from the starting point to the end point. The introduction of narrow-lane driving posture enables vehicles to accurately control their course and position in narrow areas, reducing the risk of collision.
[0106] The vehicle trajectory planning method for narrow passages provided in this application achieves efficient planning of vehicle trajectories in complex open spaces and narrow passage environments by abstracting and initializing the planning task. In this method, the vehicle's starting point, ending point, and reverse search identifiers constitute the planning task, providing flexibility for path search and enabling the planning method to adapt to scenarios with limited space or asymmetrical environments, thereby improving the success rate of path search.
[0107] This method introduces the concept of narrow passage attitude for the first time. By traversing the initial path and combining local grid statistics and Venn diagram analysis, this method can identify narrow passage regions and use the least squares method to fit and generate the center position and heading angle of each narrow passage region, providing clear attitude constraints for the accurate passage of vehicles in narrow passage regions. Furthermore, based on the identified narrow passage attitudes and their number, this method dynamically decomposes the original planning task into several sub-tasks, each of which independently generates a path segment without narrow passage constraints. This dynamic task decomposition strategy significantly reduces the complexity of global path search, improves planning efficiency, and ensures that each path segment can be continuously connected in the global stitching, providing a reliable trajectory for subsequent vehicle travel.
[0108] During trajectory stitching and vehicle movement, the path segments generated by the subtasks are stitched together in spatial order to form a complete vehicle trajectory. When the vehicle reaches a narrow passage area, the narrow passage attitude is invoked for precise attitude control, enabling the vehicle to pass through the narrow area safely and smoothly. This method decouples global path planning from local narrow passage control, significantly improving the safety and trajectory continuity of passage through narrow passages while ensuring planning efficiency.
[0109] In summary, the path planning method of this application embodiment takes into account global planning efficiency, narrow passage accuracy and trajectory continuity. Compared with the prior art, it has obvious technical progress and creativity, and is especially suitable for the application of unmanned cleaning vehicles or similar low-speed operation vehicles in complex open space environments.
[0110] Please refer to Figure 3 , Figure 3 This is a flowchart illustrating a process of traversing the tasks provided in an embodiment of this application. Specifically, traversing the tasks includes the following steps:
[0111] 301. Based on the grid map searched from the initial trajectory, generate an unconstrained grid trajectory from the target endpoint to the starting search point.
[0112] In specific implementation, based on the initial trajectory search results and two-dimensional grid map generated in step 202, the environment is discretized into regular grids using the grid map generated from the initial trajectory search. Each grid cell is identified as either passable or impassable. An unconstrained grid trajectory is generated in reverse from the target endpoint to the starting search point. This trajectory does not consider narrow passage constraints, but only grid accessibility.
[0113] For example, the A* algorithm, Dijkstra's algorithm, or other grid-based shortest path algorithms can be used to generate the trajectory. Generating an unconstrained trajectory can quickly obtain a globally reachable path from the endpoint to the starting point in the environment, providing a reference path for subsequent narrow passage identification.
[0114] On the other hand, by combining the reverse search in the task configuration, the reverse search method ensures that the restricted space near the starting point can also be covered, thus improving the completeness of narrow passage recognition.
[0115] 302. Identify each trajectory point of the unconstrained grid trajectory and generate multiple candidate narrow passage points.
[0116] In this application, each trajectory point is analyzed along the unconstrained grid trajectory generated in step 301. It is determined whether the current trajectory point might belong to a narrow passage region, and candidate narrow passage points are generated by filtering based on the following conditions:
[0117] (1) Local accessibility condition: whether the number of passable grids in a fixed neighborhood (such as a 5×5 grid) centered on the trajectory point is lower than a preset threshold.
[0118] For example, taking the trajectory point as the center, the number of grids that can pass through the preset grid area around the trajectory point is identified; when the number of grids is greater than or equal to a first preset threshold, it is identified as a candidate narrow passage point.
[0119] The number of passable grid cells within a neighborhood is counted. This neighborhood represents the local situation of the passable space for vehicles around a trajectory point. Grid cells can be labeled "passable" or "impassable," derived from a 2D grid map or an environment model generated by sensor fusion. A large number of passable grid cells indicates that the local area is still passable, but if it is close to a threshold, it indicates that the space is narrow and suitable as a candidate point for narrow passage. This determination method avoids manual annotation by quantifying the local passage width and adapts to dynamic environments.
[0120] (2) Vino topology condition: The number of Vino edges in the neighborhood reaches or exceeds a preset threshold, which is used to determine the channel space shrinkage.
[0121] For example, with the trajectory point as the center, the number of Vino edges in the preset grid area around the trajectory point is identified; when the number of Vino edges is greater than or equal to a second preset threshold, it is identified as a candidate narrow passage point.
[0122] Centered on a trajectory point, the number of Voronoi edges in its neighborhood is counted. If the number of Voronoi edges is greater than or equal to a second preset threshold (Threshold 2), the trajectory point is identified as a candidate narrow passage point. Voronoi edges reflect the spatial skeleton between obstacles; dense areas of Voronoi edges indicate passage narrowing or the existence of bottlenecks. Potential narrow passage points can be quickly identified using topological information without relying on high-precision maps or 3D point clouds.
[0123] (3) Obstacle safety distance condition: The distance from the trajectory point to the nearest obstacle is less than or equal to the safety threshold.
[0124] For example, taking the trajectory point as the center, Vino edges within a preset grid area around the trajectory point are identified; when the distance to the nearest obstacle corresponding to the Vino edge is less than or equal to a preset width threshold, it is identified as a candidate narrow passage point. The preset width threshold is half of a preset narrow passage width, which can be determined based on vehicle parameters.
[0125] Using a trajectory point as the center, the distance to the nearest obstacle corresponding to the Vino edge in the neighborhood is analyzed. If the distance to the nearest obstacle is less than or equal to a preset width (such as vehicle width or a safety margin range), the trajectory point is determined as a candidate narrow passage point. By judging whether the local passage is narrow enough through obstacle distance, it is ensured that the candidate point does indeed correspond to the narrow passage requiring precise passage. This method can guarantee that the generated narrow passage points match the vehicle size, improving actual passage safety.
[0126] Understandably, when a trajectory point satisfies any of the above conditions (accessibility, Vino edge density, or nearest obstacle distance), the trajectory point can be added to the candidate narrow passage point set. Traversing all trajectory points along the trajectory yields a series of candidate narrow passage points, providing input for subsequent narrow passage trajectory segment generation (step 303).
[0127] In some implementations, the preset grille area under the above three scenarios can be determined as follows, where the preset grille area can be represented by an n*n grille area. The formula for calculating n is n = round((scenario requirement size - vehicle width) / resolution) rounded up. For example, if the vehicle width is 1.2 meters, the resolution is 0.1, and the scenario requirement size considers 1.6 meters as a narrow passage that is difficult to pass through, then n = round((1.6 - 1.2) / 0.1), rounded up.
[0128] In one specific implementation, the preset grid area is a 5*5 grid area.
[0129] 303. Merge multiple candidate narrow passage points that are spatially consecutive to generate a narrow passage trajectory segment.
[0130] In this application, spatially consecutive candidate narrow passage points are merged according to trajectory order to form narrow passage trajectory segments. Each narrow passage trajectory segment corresponds to a continuous narrow passage region. The narrow passage trajectory segment provides a framework for the vehicle's travel path within a locally confined area. Merging consecutive points eliminates single-point noise, ensures the continuity of the narrow passage region, and provides accurate data for subsequent attitude fitting.
[0131] 304. Fit the narrow track segment using the least squares method and calculate the parameters of the trajectory points of the narrow track segment.
[0132] In this application, discrete trajectory points are transformed into a continuous and usable geometric representation through least squares fitting, providing a clear objective for vehicle attitude control.
[0133] In practice, the parameters include the following:
[0134] (1) Mean Position: The coordinates of all trajectory points within the narrow trajectory segment are statistically analyzed, and their mean coordinates are calculated. Determining the center of the narrow passage provides a reference for the lateral positioning of vehicles within the narrow passage area.
[0135] (2) Covariance matrix of trajectory points: The covariance matrix is calculated for the coordinates of all trajectory points within the narrow track segment to describe the distribution of trajectory points. It reflects the spatial discreteness and directional stability of the narrow track segment and can help judge the reliability of the channel width and trajectory fitting; in subsequent path smoothing and attitude adjustment, it can be used to optimize the lateral control of the vehicle.
[0136] (3) Slope: The slope of the line is obtained by fitting the trajectory points with a straight line using the least squares method. This describes the directional trend of the narrow path and provides a basis for calculating the heading angle and adjusting the vehicle attitude.
[0137] (4) Yaw Angle (target_yaw): The yaw angle is calculated based on the slope of the fitted straight line, representing the ideal direction of the vehicle on the narrow track segment. It serves as the target yaw for precise control of the vehicle in narrow passages, guiding the vehicle's steering and attitude adjustments.
[0138] 305. Determine the narrow passage posture of the task based on the parameters.
[0139] Specifically, narrow-lane passage attitude is the basis for controlling the precise passage of vehicles in narrow areas. By calculating attitude information in advance, decoupling can be achieved between global path planning and local narrow-lane control, improving planning efficiency while ensuring passage safety in narrow areas.
[0140] Please refer to Figure 4 , Figure 4 This is a flowchart illustrating the decomposition of subtasks according to an embodiment of this application. Based on the narrow passage posture and number of tasks, the task is decomposed into several corresponding subtasks, specifically including the following steps:
[0141] 401. Based on the number N of narrow passage postures, decompose the task into N+1 subtasks. Where N is a positive integer.
[0142] In practical implementation, step 305 generates a set of narrow passage postures for the planning task; the number of identified narrow passage postures is N. Based on the number of narrow passage postures N, the original planning task is divided into N+1 sub-tasks.
[0143] Understandably, each subtask corresponds to a segment of the trajectory; the subtasks are spatially continuous, covering the entire path from the starting point to the ending point. For example, when there are 3 narrow-path passage postures (N=3) in the path, the original task is split into 4 subtasks:
[0144] Subtask 1: From the starting point to the first narrow passage attitude region;
[0145] Subtask 2: From the first narrow attitude region to the second narrow attitude region;
[0146] Subtask 3: From the second narrow attitude region to the third narrow attitude region;
[0147] Subtask 4: From the third narrow attitude zone to the finish line.
[0148] The above subtasks can be broken down as follows:
[0149] ask(start, end, is_reserve) =
[0150] task(start, narrow_point0, false)
[0151] + task(narrow_point0, narrow_point1, false)
[0152] + ...
[0153] + task(narrow_point x (, end, false)
[0154] This application decomposes the complex global path planning problem into multiple locally controllable tasks by dynamically decomposing the task, thereby reducing the computational complexity of each path search; it ensures that the global path continuously covers all narrow passage areas, while providing clear boundaries for the trajectory generation of subsequent subtasks.
[0155] 402. Based on the starting search point, the parameters of multiple narrow passage postures, and the target endpoint, the starting and ending points of the corresponding sub-tasks are determined. Specifically, the parameter is the average value of the trajectory points.
[0156] In this application, the coordinates of the starting search point and the target endpoint in step 202; and the narrow passage attitude parameters (such as the mean value of trajectory points) generated in step 305. For each subtask, determine its start and end coordinates, for example:
[0157] Subtask 1: The starting point is the initial search point of the planning task, and the ending point is the center point of the first narrow passage attitude (average of trajectory points).
[0158] Subtask i: The starting point is the center point of the (i-1)th narrow passage pose, and the ending point is the center point of the i-th narrow passage pose.
[0159] Subtask N+1: The starting point is the center point of the last narrow passage attitude, and the ending point is the planned task objective endpoint.
[0160] The average value of trajectory points is used as the start / end point parameter to ensure the spatial continuity and accuracy of the subtask path segments. The center point of the narrow passage attitude is used as the boundary of the subtask to achieve precise positioning of local path segments; this allows the path generation of each subtask to be executed independently, while seamlessly connecting in space to ensure global path continuity.
[0161] In this embodiment of the application, to cover all possible planning scenarios, a preferred implementation is provided for handling the case where there is no narrow passage posture in the planning task. The planning method further includes the following steps:
[0162] When the task does not involve narrow passage, a preset trajectory search algorithm is invoked to execute the task, generating and outputting the vehicle trajectory.
[0163] During the task traversal in step 203, if no narrow-path passage posture is identified, meaning the task path consists entirely of wide, passable areas, then it is assumed that the current task does not have a narrow-path passage posture. A preset trajectory search algorithm (such as the A* algorithm, Dijkstra's algorithm, or an improved version thereof) is invoked to perform a global search directly on the entire task path. After the search is complete, the generated vehicle trajectory is output as the task result for execution by the vehicle control system.
[0164] Understandably, when there are no narrow passages on the path, there is no need to calculate the narrow passage travel posture separately; a feasible trajectory can be directly generated using the standard path search algorithm. This processing logic utilizes the judgment results from the task identification stage to dynamically select the most suitable planning method, achieving "adaptive planning for narrow / non-narrow passage tasks."
[0165] See Figure 5 , Figure 5 This is a schematic diagram of a vehicle trajectory planning device for narrow passages provided in an embodiment of this application. The planning device can implement the above-described vehicle trajectory planning method for narrow passages entirely or partially through software, hardware, firmware, or any combination thereof. In a specific implementation, the planning device includes:
[0166] The configuration module is used to configure the task of planning vehicle trajectories. The task includes a start point, an end point, and a reverse identifier. The reverse identifier is used to determine whether to perform a reverse trajectory search.
[0167] The search module is used to initialize the task, set the starting search point and the target endpoint, and perform an initial trajectory search based on the reverse identifier.
[0168] The identification module is used to traverse the task and identify the number of narrow passage postures of the task when the task has a narrow passage posture.
[0169] The decomposition module is used to decompose the task into several corresponding sub-tasks based on the narrow passage posture and the number of tasks.
[0170] The processing module is used to execute each subtask to generate trajectory segments without narrow passage constraints, and to sequentially splice the trajectory segments of multiple subtasks in spatial order to output the vehicle trajectory.
[0171] This application also provides an electronic device, including at least one processor, a memory, and a communication interface, wherein the processor is used to execute... Figure 2-4 The method described.
[0172] Figure 6 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application.
[0173] like Figure 6 As shown, the electronic device 600 includes at least one processor 601, a memory 603, and a communication interface 602. The processor 601, memory 603, and communication interface 602 are communicatively connected, or they can communicate via wireless transmission or other means. The communication interface 602 is used to receive three-dimensional point cloud data sent by a sensing module (e.g., lidar); the memory 603 stores computer instructions, and the processor 601 executes these computer instructions to perform a narrow passage vehicle trajectory planning method according to the aforementioned method embodiment.
[0174] It should be understood that in the embodiments of this application, the processor 601 may be a central processing unit (CPU), or it may be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor.
[0175] The memory 603 may include read-only memory and random access memory, and provides instructions and data to the processor 601. The memory 603 may also include non-volatile random access memory.
[0176] The memory 603 can be volatile memory or non-volatile memory, or it can include both. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).
[0177] It should be understood that the electronic device 600 according to the embodiments of this application can perform the implementation of the embodiments of this application. Figure 2-4 The present invention illustrates a method for planning vehicle trajectories in narrow passages. A detailed description of the implementation of this method can be found above, and for the sake of brevity, it will not be repeated here.
[0178] This application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed in a computer, causes the computer to perform any of the above-mentioned methods for planning vehicle trajectories in narrow passages.
[0179] This application also provides a computer program or computer program product including instructions that, when executed, cause a computer to perform any of the above-described methods for planning vehicle trajectories in narrow passages.
[0180] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0181] The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein can be implemented in hardware, processor-executed software modules, or a combination of both. The software modules can be located in random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disks, removable disks, CD-ROMs, or any other form of storage medium known in the art.
[0182] This application also provides an autonomous driving vehicle, in conjunction with the above-described embodiments. Figure 1 The description, Figure 1 This is a schematic diagram of the structure of an autonomous vehicle provided in an embodiment of this application, wherein the autonomous vehicle 100 may be equipped with corresponding Figure 5 The planning device described in the embodiments is used to implement Figures 2 to 4 The corresponding embodiment includes a vehicle trajectory planning function in narrow passages.
[0183] In another implementation, a corresponding [device] can be deployed on the autonomous vehicle 100. Figure 6 The electronic device described in the embodiments is used to implement Figures 2 to 4 The corresponding embodiment includes a vehicle trajectory planning function in narrow passages.
[0184] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of this application. It should be understood that the above description is only a specific embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of protection of this application.
Claims
1. A method for planning vehicle trajectories in narrow passages, characterized in that, The planning method includes the following steps: The task of configuring and planning vehicle trajectories includes a start point, an end point, and a reverse identifier, wherein the reverse identifier is used to determine whether to perform a reverse trajectory search. Initialize the task, set the starting search point and the target endpoint, and perform an initial trajectory search based on the reverse identifier; Traverse the tasks, and when a task has a narrow passage posture, identify the number of narrow passage postures for that task; Based on the narrow passage posture and number of tasks, the task is decomposed into several corresponding sub-tasks. Each subtask generates a trajectory segment without narrow passage constraints. The trajectory segments from multiple subtasks are then spliced together in spatial order to output the vehicle trajectory.
2. The method for planning vehicle trajectories in a narrow passage as described in claim 1, characterized in that, The traversal of the task specifically includes the following steps: Based on the grid map searched from the initial trajectory, an unconstrained grid trajectory is generated from the target endpoint to the starting search point. Identify each trajectory point of the unconstrained grid trajectory and generate multiple candidate narrow passage points; Multiple candidate narrow passage points that are spatially consecutive are merged to generate a narrow passage trajectory segment; The narrow track segment is fitted using the least squares method, and the parameters of the trajectory points of the narrow track segment are calculated. The narrow passage posture of the task is determined based on the parameters.
3. The method for planning vehicle trajectories in a narrow passage as described in claim 2, characterized in that, Generating multiple candidate narrow passage points involves the following steps: Centered on the trajectory point, identify the number of grids that can pass through within a preset grid area around the trajectory point; When the number of grids is greater than or equal to a first preset threshold, it is identified as a candidate narrow passage point; or... Using the trajectory point as the center, identify the number of Vino edges within the preset grid area surrounding the trajectory point; When the number of Vino edges is greater than or equal to a second preset threshold, it is identified as a candidate narrow passage point; or... Using the trajectory point as the center, identify the Vinno edge within the preset grid area surrounding the trajectory point; When the distance to the nearest obstacle corresponding to the Vino edge is less than or equal to a preset width threshold, it is identified as a candidate narrow passage point.
4. The method for planning vehicle trajectories in a narrow passage as described in claim 2, characterized in that... Based on the narrow passage posture and number of tasks, the task is decomposed into several corresponding sub-tasks, specifically including the following steps: Based on the number N of narrow passage postures, the task is decomposed into N+1 subtasks; Based on the starting search point, the parameters of multiple narrow passage postures, and the target endpoint, the starting point and endpoint of the corresponding sub-task are used.
5. The method for planning vehicle trajectories in a narrow passage as described in claim 2, characterized in that: The parameters include the mean of the trajectory points, the covariance matrix, the slope, and the heading angle.
6. The method for planning vehicle trajectories in a narrow passage as described in claim 1, characterized in that, The planning method includes the following steps: When the task does not involve narrow passage, a preset trajectory search algorithm is invoked to execute the task, generating and outputting the vehicle trajectory.
7. A device for planning vehicle trajectories in narrow passages, characterized in that, The planning device includes: The configuration module is used to configure the task of planning vehicle trajectories. The task includes a start point, an end point, and a reverse identifier. The reverse identifier is used to determine whether to perform a reverse trajectory search. The search module is used to initialize the task, set the starting search point and the target endpoint, and perform an initial trajectory search based on the reverse identifier. The identification module is used to traverse the task and identify the number of narrow passage postures of the task when the task has a narrow passage posture. The decomposition module is used to decompose the task into several corresponding sub-tasks based on the narrow passage posture and the number of tasks. The processing module is used to execute each subtask to generate trajectory segments without narrow passage constraints, and to sequentially splice the trajectory segments of multiple subtasks in spatial order to output the vehicle trajectory.
8. A device, characterized in that, The device includes a processor coupled to a memory, the memory storing program instructions, which, when executed by the processor, implement a method for planning vehicle trajectories in a narrow passage as described in any one of claims 1 to 6.
9. A computer-readable storage medium comprising a program, when executed on a computer, causing the computer to perform a method for planning vehicle trajectories in a narrow passage as claimed in any one of claims 1 to 6.
10. A vehicle, characterized in that, The vehicle includes the planning device as described in claim 7, or the vehicle includes the equipment as described in claim 8.