Trajectory planning method, device and storage medium
By detecting environmental information and planning a global navigation path on irregular roads, generating local paths and identifying obstacle labels, the problem of low reliability and efficiency in trajectory planning caused by reliance on lane lines in existing technologies is solved, and safe trajectory planning without lane line assistance is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-03
- Publication Date
- 2026-03-31
AI Technical Summary
Existing trajectory planning methods rely on lane line information on irregular roads, resulting in low reliability and efficiency of trajectory planning in the absence of clear lane divisions and complex road conditions.
By detecting environmental information through mobile devices, planning a global navigation path, determining the search area, generating a local path within that area, identifying target obstacles and labels, generating a planned trajectory, avoiding collisions, and achieving trajectory planning without lane line assistance.
It improves the reliability and efficiency of trajectory planning on irregular roads, and can generate safe planned paths in complex and ever-changing road conditions.
Smart Images

Figure CN120293167B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of autonomous driving technology, and more specifically, to a trajectory planning method, apparatus, and storage medium. Background Technology
[0002] With the continuous development of autonomous driving technology, vehicles, robots, and other mobile devices are able to autonomously plan their trajectories to achieve autonomous movement. For example, mobile devices can collect information such as lane markings, plan trajectories based on traffic rules, and control the device to travel along the planned trajectory. However, trajectory planning in related technologies relies too heavily on lane marking information on the road. For irregular roads, such as underground parking garages, industrial parks, and rural roads, the lack of clear lane divisions and traffic rules, coupled with complex and variable road conditions, severely impacts the reliability of trajectory planning. Summary of the Invention
[0003] In view of this, the present disclosure proposes a new technical solution for trajectory planning.
[0004] According to a first aspect of the present disclosure, a trajectory planning method is provided, the method comprising:
[0005] Based on the environmental information detected by the mobile device and the global navigation path planned for the mobile device, a search area for generating a local path is determined;
[0006] The local path of the mobile device is generated within the search area;
[0007] Based on the local path and the environmental information, target obstacles within the search area and target labels of the mobile device relative to the target obstacles are determined; wherein, the target labels are used to assist in generating a planned trajectory for the mobile device to avoid collisions between the mobile device and the target obstacles;
[0008] The planned trajectory of the mobile device is generated based on the local path, the target obstacle, and the target label.
[0009] Optionally, the environmental information includes static obstacles of a preset type, the search area does not include the static obstacles of the preset type, the search boundary of the search area includes boundary points located on both sides of the extension direction of the global navigation path, and the distance between the boundary points and the static obstacles of the preset type is greater than or equal to a preset minimum safe distance.
[0010] Optionally, generating a local path for the mobile device within the search area includes: determining a search reference line within the search area; wherein the search boundary of the search area includes a first side search boundary located on a specified driving side of the global navigation path and a second side search boundary located on the opposite side of the specified driving side of the global navigation path, a first distance between the search reference line and the first side search boundary being less than a second distance between the search reference line and the second side search boundary; and generating the local path within the search area based on the search reference line.
[0011] Optionally, generating a local path for the mobile device within the search area includes: performing two searches within the search area to generate the local path; wherein the first search in the two searches is based on static obstacles within the search area to obtain a specified location point, and the second search in the two searches is based on a specified obstacle located between the current position of the mobile device and the specified location point to obtain the local path, wherein the specified location point is the farthest location point that the mobile device can travel through when the first search fails, or the search end point when the first search succeeds.
[0012] Optionally, the target label includes a horizontal label and / or a vertical label; wherein:
[0013] The horizontal label is used to indicate that when there is a location point in the local path that has the same longitudinal coordinate as the target obstacle, the mobile device will detour around the target obstacle from the left or right side based on the local path.
[0014] The vertical label is used to indicate the order in which the mobile device and the target obstacle enter the overlapping area when there is an overlapping area between the local path and the predicted path of the target obstacle.
[0015] Optionally, the target label includes the vertical label, the environmental information includes dynamic obstacles detected by the mobile device, and the target obstacle includes vertical target obstacles; determining the target obstacles within the search area and the target label of the mobile device relative to the target obstacles based on the local path and the environmental information includes:
[0016] Based on the predicted path of the dynamic obstacle and the local path, the interaction information between the dynamic obstacle and the mobile device is determined; wherein, the interaction information includes at least one of the following: interaction position information, interaction time information, and interaction heading angle information of the dynamic obstacle and the mobile device respectively traveling through the overlapping area;
[0017] The interaction type between the mobile device and the dynamic obstacle is determined based on the interaction information; wherein, the interaction type includes crossing, cutting in, merging, leading, or meeting;
[0018] Based on the interaction information and the interaction type, determine the longitudinal target obstacle from the dynamic obstacles;
[0019] The vertical label of the vertical target obstacle is determined based on the interaction type.
[0020] Optionally, determining the vertical label of the vertical target obstacle based on the interaction type includes: constructing an obstacle node exploration set from the vertical target obstacles whose interaction type is intersection, cutting in, or merging, according to the distance between the obstacle and the mobile device from near to far, with each obstacle node corresponding to a vertical target obstacle; exploring the target label combinations of each obstacle node in the obstacle node exploration set to obtain the decision cost of different target label combinations; wherein, the target label combination includes a combination of setting the vertical label of each obstacle node to either advance or yield, where advance indicates that the mobile device passes through the overlapping area before the vertical target obstacle, and yield indicates that the mobile device passes through the overlapping area after the vertical target obstacle; and determining the vertical label of each vertical target obstacle based on the target label combination with the lowest decision cost.
[0021] Optionally, the interaction location information includes a first starting position when the mobile device enters the overlapping area and a first ending position when it leaves the overlapping area; the interaction time information includes the interaction start time when the mobile device enters the overlapping area and the interaction end time when it leaves the overlapping area; the interaction heading angle information includes an interaction heading angle difference, which includes an interaction start heading angle difference and / or an interaction end heading angle difference. The interaction start heading angle difference is the absolute value of the difference between the heading angle of the dynamic obstacle when it enters the overlapping area and the heading angle of the mobile device when it enters the overlapping area, and the interaction end heading angle difference is the absolute value of the difference between the heading angle of the dynamic obstacle when it leaves the overlapping area and the heading angle of the mobile device when it leaves the overlapping area.
[0022] The step of determining the interaction type between the mobile device and the dynamic obstacle based on the interaction information includes: determining the interaction type as "encounter" when the distance between the first endpoint position and the first starting position is less than a second preset distance threshold, and the interaction heading angle difference is greater than or equal to a first preset heading angle threshold; or determining the interaction type as "leadership" when the dynamic obstacle is in front of the mobile device, the interaction start time is less than a first preset time threshold, and the interaction heading angle difference is less than a second preset heading angle threshold; or determining the interaction type as "navigation" when the dynamic obstacle is behind the mobile device and the mobile device... If the left and right movement direction determined based on the local path is towards the dynamic obstacle, and the interaction heading angle difference is less than a second preset heading angle threshold, the interaction type is determined to be merging; or, if the dynamic obstacle is located in front of the mobile device, the distance between the first endpoint position and the first starting position is greater than the device length of the mobile device, and the interaction heading angle difference is less than a second preset heading angle threshold, the interaction type is determined to be cutting in; or, if the interaction heading angle difference is greater than or equal to the second preset heading angle threshold and less than a first preset heading angle threshold, the interaction type is determined to be crossing.
[0023] According to a second aspect of the present disclosure, a trajectory planning apparatus is provided, including a memory and a processor, the memory for storing computer instructions, and the processor for calling the computer instructions from the memory to perform the method as described in the first aspect.
[0024] According to a third aspect of the present disclosure, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the method described in the first aspect.
[0025] The trajectory planning method provided in this disclosure can achieve trajectory planning without the need for lane line assistance, thereby improving the reliability and planning efficiency of trajectory planning on irregular roads.
[0026] Other features and advantages of this disclosure will become clear from the following detailed description of exemplary embodiments with reference to the accompanying drawings. Attached Figure Description
[0027] The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments of the present disclosure and, together with their description, serve to explain the principles of the present disclosure.
[0028] Figure 1 This is a schematic diagram of an intelligent connected system to which the methods provided in the embodiments of this disclosure can be applied.
[0029] Figure 2 It is based on Figure 1 The illustrated embodiment provides a schematic diagram of a mobile device.
[0030] Figure 3 This is a schematic flowchart of a trajectory planning method provided in an embodiment of this disclosure.
[0031] Figure 4 It is based on Figure 3 The illustrated embodiment provides a flowchart of a method for determining a search area.
[0032] Figure 5 It is based on Figure 3 The illustrated embodiment provides a flowchart of a method for generating local paths.
[0033] Figure 6 It is based on Figure 3 The illustrated embodiment provides a flowchart of a method for determining target obstacles and target tags.
[0034] Figure 7 It is based on Figure 3 The illustrated embodiment provides a flowchart of another method for determining target obstacles and target tags.
[0035] Figure 8A This is a schematic diagram of a search area provided in an embodiment of this disclosure.
[0036] Figure 8B This is a schematic diagram of multiple regions corresponding to a mobile device provided in an embodiment of this disclosure.
[0037] Figure 8C This is a schematic diagram illustrating the interaction location information between a mobile device and a target obstacle, provided in an embodiment of this disclosure.
[0038] Figure 8D This is a schematic diagram illustrating an interaction type between a mobile device and a target obstacle, provided in an embodiment of this disclosure.
[0039] Figure 8E This is a schematic diagram of a decision tree for multiple vertical target obstacles provided in an embodiment of this disclosure.
[0040] Figure 9 This is a schematic flowchart of a device control method provided in an embodiment of this disclosure.
[0041] Figure 10 This is a schematic diagram of the structure of a trajectory planning device provided in an embodiment of this disclosure. Detailed Implementation
[0042] Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that, unless otherwise specifically stated, the relative arrangement, numerical expressions, and values of the components and steps set forth in these embodiments do not limit the scope of the present disclosure.
[0043] The following description of at least one exemplary embodiment is merely illustrative and is in no way intended to limit this disclosure or its application or use.
[0044] Techniques, methods, and equipment known to those skilled in the art may not be discussed in detail, but where appropriate, such techniques, methods, and equipment should be considered part of the specification.
[0045] In all the examples shown and discussed herein, any specific values should be interpreted as merely exemplary and not as limitations. Therefore, other examples of exemplary embodiments may have different values.
[0046] It should be noted that similar labels and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be discussed further in subsequent figures.
[0047] The elements involved in the embodiments of this disclosure may represent part or all of an element. For example, the elements involved in the embodiments of this disclosure may be at least a part of an element or all of an element.
[0048] The elements involved in the embodiments of this disclosure may be one or more, such as "a", "the", "the above", "the", "the foregoing", etc., which are used to indicate that the corresponding element is mentioned for the first time or is mentioned again, and do not have the meaning of limiting the number.
[0049] It should be noted that all actions involving the collection, storage, use, processing, transmission, provision, disclosure, and deletion of data in this disclosure are carried out in accordance with the relevant data protection laws and regulations of the country or region where the data is located, and with the full authorization of the relevant data owner.
[0050] First, the application scenarios of the embodiments of this disclosure will be described.
[0051] Figure 1 This is a schematic diagram of an intelligent connected system 100 to which the methods provided in the embodiments of this disclosure can be applied. Figure 1 As shown, the intelligent connected system 100 may include: a mobile device 101, a server 102, and a user terminal 103.
[0052] In some examples, the mobile device 101 can be a vehicle, robot, ship, or other mobile device, such as a vehicle with autonomous driving capabilities or a robot capable of autonomous movement. Autonomous driving, also known as driverless or intelligent driving, refers to a vehicle with autonomous driving capabilities that can perform driving tasks such as environmental perception, decision-making, planning, and control execution. The levels of autonomous driving can refer to the vehicle intelligence classification standards established by the Society of Automotive Engineers (SAE), for example, L0 is manual driving, L1 is driver assistance, L2 is partial autonomous driving, L3 is conditional autonomous driving, L4 is highly automated driving, and L5 is fully automated driving. The above classification of autonomous driving levels is merely an example, and this disclosure does not limit the classification standards and levels of autonomous driving.
[0053] In some examples, server 102 can be a single server or a distributed server cluster consisting of multiple servers, and its deployment method can include local servers or cloud servers. Server 102 can communicate with mobile device 101 and / or user terminal 103 via a communication network, providing various services to mobile device 101 and / or user terminal 103. For example, the server can receive sensing data sent by mobile device 101, provide services such as high-precision maps, data analysis, and decision planning for mobile device 101, or receive query commands or control commands sent by user terminal 102, providing corresponding services to the user.
[0054] In some examples, the user terminal 103 can be any form of electronic device that provides services to the user, such as a personal computer, laptop, smart tablet, smartphone, smart wearable device, etc. The user can interact with the mobile device or server through the human-computer interaction terminal configured on the mobile device 101, or through the user terminal 103. For example, the user terminal can query the status and / or parameters of the mobile device, or control the mobile device to perform set tasks and / or modify configuration parameters, etc. The user terminal runs an application based on the intelligent network system to achieve interaction with the mobile device or server. This application can be a local application, a web application, or a mini-program, etc., without limitation.
[0055] In some examples, the aforementioned application running on the user's terminal can provide authentication or authorization services to the user. The user who is successfully authenticated and granted the corresponding permissions can query and / or control the mobile device within the scope of the granted permissions.
[0056] The mobile device 101, server 102, and user terminal 103 can communicate via a communication link provided by communication network 104. This communication network 104 can include one or more networks of any type, such as the Internet, Local Area Network (LAN), Wide Area Network (WAN), Virtual Private Network (VPN), Public Switched Telephone Network (PSTN), satellite communication network, Wi-Fi, 2G, 3G, 4G, 5G, 6G, NB-IoT, eMTC, infrared, Bluetooth, NFC, or a combination of these networks. The communication networks between mobile device 101 and server 102, between user terminal 103 and server 102, and between user terminal 103 and mobile device 101 can be the same or different.
[0057] It should be noted that, Figure 1 The structure of the intelligent connected system 100 shown is merely illustrative. The intelligent connected system in this embodiment is not limited to the above structure and may include more or fewer devices as needed, and the devices may be combined or split. For example, the intelligent connected system may not include user terminals and / or servers; as another example, user terminals and servers may be deployed together.
[0058] Figure 2 It is based on Figure 1 The illustrated embodiment provides a schematic diagram of a mobile device 101. As shown... Figure 2 As shown, the mobile device 101 may include a sensing component 1011, a computing platform 1012, an execution component 1013, etc. The sensing component 1011, the computing platform 1012, and the execution component 1013 may be connected via a bus or other means.
[0059] In some examples, the sensing component 1011 can be used to collect information about the mobile device itself or externally. The sensing component 1011 may include at least one of a visual sensing unit, radar, a positioning and navigation unit, an inertial measurement unit (IMU), or other sensing units. The visual sensor unit may include one or more cameras, the radar may include at least one of lidar, millimeter-wave radar, ultrasonic radar, or other radar, and the positioning and navigation unit may include at least one of a GPS system, a BeiDou system, or other global positioning systems.
[0060] In some examples, the computing platform 1012 may include a computing-capable device for processing the sensing information collected by the sensing component 1011 to obtain control information, and sending corresponding control commands to the execution component 1013 to cause the execution component 1013 to perform corresponding actions, thereby realizing the control of the mobile device 101. For example, the computing platform 1012 can perform one or more of the following actions on the mobile device: Simultaneous Localization and Mapping (SLAM), information collection and processing, decision-making, planning, and control, thereby realizing autonomous control of the mobile device. The computing platform 1012 may include at least one processor and at least one memory, and each processor can individually or jointly execute instructions stored in the memory to implement the methods provided in the embodiments of this disclosure. The processor in this disclosure embodiment may include at least one of a Central Processing Unit (CPU), Graphics Processing Unit (GPU), Neural-network Processing Unit (NPU), Tensor Processing Unit (TPU), Data Processing Unit (DPU), Digital Signal Processor (DSP), Field Programmable Gate Array (FPGA), System on Chip (SOC), Application Specific Integrated Circuit (ASIC), Micro Controller Unit (MCU), or other processors. The memory may be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as Static Random Access Memory (SRAM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Erasable Programmable Read-Only Memory (EPROM), Programmable Read-Only Memory (PROM), Read-Only Memory (ROM), Magnetic Storage, Flash Memory, Disk, or Optical Disk. In addition to storing instructions, the memory may also store data, such as high-precision maps, path information, and data on the location, direction, and speed of mobile devices. Data stored in memory can be accessed and used by the processor.
[0061] In some examples, the computing platform of a mobile device can perform computing tasks independently or communicate with a server to complete computing tasks. For example, the computing platform of a mobile device can cooperate with a server to complete the corresponding computing tasks.
[0062] The computing platform 1012 can be located in the mobile device 101. Some or all of the computing platform 1012 can also be located in the server corresponding to the mobile device. For example, some functions of the computing platform 1012 with high real-time requirements can be located in the mobile device, while other functions with low real-time requirements can be located in the server corresponding to the mobile device.
[0063] In some examples, the execution component 1013 is used to perform corresponding actions based on the control of the computing platform 1012, enabling the mobile device 101 to complete the movement task. The execution component 1013 may include, for example, a power component, a braking component, a transmission component, a steering component, etc.
[0064] It should be noted that, Figure 2 The structure of the mobile device 101 shown is merely illustrative. The mobile device in this embodiment is not limited to the above structure and may include more or fewer components as needed. The device may also be combined or disassembled. For example, the mobile device may not include the aforementioned computing platform. Furthermore, the mobile device may also include communication components, interface components, multimedia components, input components, output components, etc.
[0065] This disclosure can be applied to trajectory planning scenarios for mobile devices, particularly on irregular roads. Current trajectory planning algorithms in the field of autonomous driving, such as decision-making and planning algorithms, are primarily based on clear lane markings and well-defined right-of-way, such as on highways, urban expressways, and ordinary urban roads. In these scenarios, the vehicle and other road users mostly operate within their own lane or adjacent lanes, allowing for trajectory planning based on lane lines and traffic rules. However, for irregular roads, such as underground parking garages, industrial parks, and rural roads, the lack of clear lane divisions and traffic rules results in greater freedom for road users, making their motion modes difficult to predict accurately. The complex and variable road conditions pose significant challenges to the decision-making and planning of autonomous vehicles.
[0066] To address the problems in related technologies, this disclosure provides a new trajectory planning method to improve the reliability of trajectory planning on irregular roads.
[0067] Figure 3 This is a flowchart illustrating a trajectory planning method provided in an embodiment of this disclosure. The trajectory planning method can be... Figure 1 The illustrated mobile device and / or server execute. For example... Figure 3 As shown, the trajectory planning method of this embodiment may include the following steps S310 to S340.
[0068] Step S310: Determine the search area for generating the local path based on the environmental information detected by the mobile device and the global navigation path planned for the mobile device.
[0069] The environmental information can be obtained by the mobile device detecting the external environment. For example, the environmental information can be obtained by analyzing and processing data collected by the mobile device's sensors, which may include vision sensors and / or radar sensors.
[0070] In some examples, the environmental information may include obstacles in the external environment. These obstacles may include at least one of static and dynamic obstacles. Static obstacles may include at least one of pillars, walls, curbs, bollards, guardrails, signs, cones, traffic lights, etc., while dynamic obstacles may include at least one of moving vehicles, pedestrians, animals, etc. These obstacles can be used to determine the search area or to generate local paths.
[0071] In some examples, the environmental information may include static obstacles of a preset type, such as pillars, walls, curbs, etc., which can be used to determine the search boundaries of the search area.
[0072] In some examples, the global navigation path can be a global reference path from the current location of the mobile device to a target location, which can be the destination the mobile device intends to reach. This global navigation path can be planned and generated by the mobile device or a server based on a navigation map. This global navigation path can also be referred to as a navigation reference line.
[0073] Step S320: Search within the search area to generate a local path for the mobile device.
[0074] In some examples, the search area may include a search boundary, and the generated local path can lie within the search boundary and avoid obstacles within the search area. The distance between the endpoint of this local path and the current position of the mobile device can be a preset maximum search distance, which can be any pre-set value, such as 10 meters, 15 meters, or 20 meters. Alternatively, the preset maximum search distance can be the maximum distance the mobile device can travel within a preset time period, determined by the mobile device's speed and acceleration; this preset time period can be any pre-set value, such as 5 seconds, 8 seconds, or 10 seconds. It should be noted that the distance between two location points can be the Euclidean distance between the two location points, or the path distance obtained by projecting the two location points onto the global navigation path. This path distance can be used to characterize the length of the actual drivable path. This local path can also be called a coarse path.
[0075] In some examples, a local path that meets a preset search objective can be searched within a search area. This search objective may include at least one of the following: a path safety objective, a path length objective, a path smoothness objective, a device motion parameter constraint objective, and a search algorithm. For example, the search objective may include finding the shortest path from the current location to the target location; another example is finding the shortest path that meets safety requirements, which can be determined based on the probability of collision between the mobile device and an obstacle; yet another example is finding the shortest path that meets smoothness requirements; still another example is a preset path search algorithm and its constraints.
[0076] In some examples, locations within the search area can be used as nodes to be searched, and a local path matching the search objective can be found among these nodes based on a pre-defined path search algorithm. This pre-defined path search algorithm can be a heuristic path search algorithm, such as A* search algorithm, Dijkstra's algorithm, or BFS (Breadth-First Search) algorithm.
[0077] Step S330: Based on the local path and environmental information, determine the target obstacles within the search area and the target labels of the mobile device relative to the target obstacles.
[0078] In some examples, the target label can be used to assist in generating planned trajectories for mobile devices.
[0079] In some examples, the target label-assisted trajectory planning can avoid collisions between the mobile device and the target obstacle. It should be noted that avoiding collisions between the mobile device and the target obstacle can mean that no collision occurs, or that the probability of a collision is less than or equal to a preset collision probability threshold. This preset collision probability threshold can be any pre-set value, such as 0%, 0.1%, or 1%. It should also be noted that the collision probability between the mobile device and the target obstacle can be obtained based on a pre-trained collision prediction model or based on prediction algorithms in related technologies.
[0080] In some examples, the target label may include a horizontal label and / or a vertical label. In this embodiment, the horizontal and vertical directions can be determined based on a device coordinate system. This device coordinate system may have its origin at the center of the mobile device, with the direction of travel of the mobile device as its vertical axis. This direction of travel may be the direction the head of the mobile device is facing. That is, the vertical axis is the direction of travel of the mobile device, and the horizontal axis is the direction perpendicular to the direction of travel. The meanings of front, back, left, and right can include: front is the direction of travel of the mobile device; back is the direction opposite to the direction of travel; left is the left-hand side when viewed from the direction of travel; and right is the right-hand side when viewed from the direction of travel.
[0081] This lateral label can be used to indicate whether a mobile device should detour around the target obstacle from the left or right side based on the local path when a location point with the same longitudinal coordinate as the target obstacle exists within the local path. This lateral label can also be called a lateral type, lateral decision label, or lateral decision type. For example, the lateral label of the mobile device relative to the target obstacle could include detour to the left, detour to the right, or ignore, where:
[0082] Left-side detour can be used to characterize a mobile device detours around a target obstacle from the left side. For example, when the mobile device and the target obstacle have the same longitudinal coordinate (i.e., are longitudinally parallel), the mobile device is located on the left side of the target obstacle.
[0083] Right-side detour can be used to characterize a mobile device detours around a target obstacle from the right side. For example, when the mobile device and the target obstacle have the same longitudinal coordinate (i.e., are longitudinally parallel), the mobile device is located on the right side of the target obstacle.
[0084] Ignoring the fact that the target obstacle does not affect the lateral movement of the mobile device means that the position of the target obstacle does not need to be considered when making lateral decisions and planning.
[0085] This longitudinal label can be used to indicate the order in which the mobile device and the predicted path of the target obstacle enter the overlapping area when there is an overlap between the local path and the target obstacle. The overlapping area can be obtained by extending a specific distance forward, backward, left, and right from the intersection center point of the local path and the predicted path. This specific distance can be determined based on the device length of the mobile device and the obstacle length of the target obstacle; for example, the specific distance can be greater than or equal to the maximum of the device length and the obstacle length. This longitudinal label can also be called a longitudinal type, a longitudinal decision label, or a longitudinal decision type. For example, the longitudinal label of the mobile device relative to the target obstacle can include at least one of "go first," "yield," "follow," or "ignore," wherein:
[0086] "Ahead" can be used to characterize whether a mobile device passes through an overlapping area before a target obstacle. For example, when a target obstacle and a mobile device intersect at an intersection, if it is determined that the mobile device can pass through the intersection before the target obstacle, then the longitudinal label of the mobile device relative to the target obstacle is "ahead".
[0087] Yielding can be used to characterize a mobile device passing through an overlapping area behind a target obstacle. For example, when a target obstacle and a mobile device cross an intersection, if it is determined that the mobile device can pass through the intersection behind the target obstacle, then the longitudinal label of the mobile device relative to the target obstacle is yielding.
[0088] Follow can be used to characterize a mobile device continuously following a target obstacle through an overlapping area. For example, if the target obstacle is in front of the mobile device and the speed of the target obstacle is greater than the speed of the mobile device, a follow strategy can be adopted, that is, the vertical label of the mobile device relative to the target obstacle is determined as follow.
[0089] Ignoring can be used to characterize that a target obstacle does not affect the longitudinal position movement of a mobile device, and the position of the obstacle does not need to be considered when making longitudinal decisions and planning. For example, if the predicted path of the target obstacle does not overlap with the local path of the mobile device, the longitudinal label of the target obstacle can be ignored.
[0090] The target label for the same obstacle can include at least one of horizontal and vertical labels. For example, some obstacles in the search area may only include horizontal or vertical labels, while some obstacles may have both horizontal and vertical labels.
[0091] Step S340: Generate the planned trajectory of the mobile device based on the local path, target obstacles, and target labels.
[0092] It should be noted that the local path in this embodiment can be used to characterize the spatial route of the mobile device. Based on the local path, it is possible to determine which locations the mobile device passes through in space, but it is impossible to determine when these locations are passed. The planned trajectory, on the other hand, can characterize the spatiotemporal movement of the mobile device. Based on the planned trajectory, it is possible to determine when the mobile device passes through a specific location on the planned trajectory. The spatial location of the planned trajectory can be the same as or different from the local path; for example, the planned trajectory can be obtained by adjusting and correcting the local path.
[0093] In some examples, the mobile device may include a decision module and a planning module. The decision module may execute steps S310 to S330 above to determine the local path, target obstacles, and target labels based on environmental information and the global navigation path, and output them to the planning module. The planning module may execute step S340 above to generate the planned trajectory of the mobile device based on the local path, target obstacles, and target labels.
[0094] In some examples, the mobile device may also include a Human Machine Interface (HMI) through which one or more of the aforementioned global navigation path, search area, target obstacles, target labels, local path, and planned trajectory can be displayed so that users can intuitively obtain the above information.
[0095] Using the above method, based on the environmental information detected by the mobile device and the global navigation path planned for the mobile device, a search area for generating a local path is determined; within the search area, a local path for the mobile device is generated; based on the local path and environmental information, target obstacles within the search area and the target labels of the mobile device relative to the target obstacles are determined; based on the local path, target obstacles, and target labels, the planned trajectory of the mobile device is generated. The target labels are used to assist in generating the planned trajectory of the mobile device. This allows trajectory planning to be achieved without lane line assistance, thereby improving the reliability and efficiency of trajectory planning on irregular roads.
[0096] To more clearly illustrate the trajectory planning method provided in the embodiments of this disclosure, the following sections will describe it in detail. Figure 3 The specific implementation of each step in the illustrated embodiment.
[0097] In some examples, the search area determined in step S310 may not include the aforementioned preset type of static obstacles. The search boundary of this area includes boundary points located on both sides of the global navigation path extension direction, and the distance between these boundary points and the preset type of static obstacles is greater than or equal to a preset minimum safe distance. This preset minimum safe distance can be any pre-set value, such as 0 meters, 0.5 meters, or 1 meter. Optionally, the preset minimum safe distance can be greater than or equal to half the width of the mobile device. For example, if the width of the mobile device is 1 meter, the preset minimum safe distance can be set to any value greater than or equal to 0.5 meters.
[0098] For example, the search boundary of the search area may include a first-side search boundary located on a first side of the global navigation path extension direction and a second-side search boundary located on a second side of the global navigation path extension direction. The first side and the second side may be the left or the right side, respectively.
[0099] Figure 4 It is based on Figure 3 The illustrated embodiment provides a flowchart of a method for determining a search region. Figure 4 As shown, the method for determining the search area in step S310 may include steps S311 to S313.
[0100] Step S311: Determine the set of navigation points based on the global navigation path.
[0101] The distance between adjacent navigation points within the navigation point set can be less than or equal to a first preset distance threshold. This first preset distance threshold can be a pre-set value; for example, it can be less than or equal to the length of the mobile device, such as 3 meters or 5 meters.
[0102] In some examples, such as when the distance between two adjacent navigation points in the navigation point set is greater than a first preset distance threshold, an interpolation densification operation can be performed on the navigation point set to obtain a new navigation point set, so as to ensure that the distance between adjacent navigation point sets is less than or equal to the first preset distance threshold.
[0103] Step S312: For each navigation point in the navigation point set, perform position point detection from the navigation point to the left and right sides perpendicular to the global navigation path until the detected position point coincides with a static obstacle of a preset type or the maximum detection distance is reached, and then end the detection. The position point at the end of the detection is taken as the boundary point corresponding to the navigation point.
[0104] Step S313: Determine the search boundaries on both sides of the global navigation path based on the boundary points corresponding to each navigation point, and use the area within the search boundaries as the search area.
[0105] In some examples, the environmental information mentioned above may include static obstacles of a preset type, such as pillars, walls, and curbs. A static environment detector can be built based on these preset static obstacles to detect whether each location point overlaps with a static obstacle of the preset type. Optionally, the environmental information may also include a grid map, which divides the area around the mobile device into small grids. The occupancy status of each grid can indicate whether a static obstacle of the preset type exists at that location. For example, the occupancy rate of each grid can represent the probability that the grid is occupied by a static obstacle of the preset type. For example, two thresholds can be set: an occupancy threshold (e.g., 0.65) and an idle threshold (e.g., 0.25). If the occupancy rate of a grid is greater than the occupancy threshold, the grid is considered to have a static obstacle of the preset type; if it is less than the idle threshold, the grid is considered not to have a static obstacle of the preset type.
[0106] In some examples, after determining the search area, obstacles within that search area can be used as ROI (Region of Interest) obstacles, which can then be used to generate local paths. These ROI obstacles can include both static obstacles within the search area and dynamic obstacles within the search area that are part of the predicted path.
[0107] In some examples, each navigation point can be moved in a left-right direction perpendicular to the global navigation path with a preset step size. Each movement places the location point in a static environment detector for detection. If overlap or collision is detected, detection in that direction ends. The location point at the end of detection can be used as the boundary point corresponding to that navigation point. Based on the boundary points corresponding to each navigation point, the search boundary, including the left and right boundaries, can be obtained, and the area within the search boundary becomes the search area. In an optional implementation, detection in that direction can also end if the distance between the detected location point and the navigation point is greater than or equal to the maximum detection distance. This maximum detection distance can be any preset value; for example, it can be set based on the maximum detectable distance of the mobile device's sensors.
[0108] like Figure 8A As shown, taking a parking lot scenario as an example, there are multiple parking spaces P in the parking lot, as well as multiple static obstacles of preset types such as pillars 85 and walls 86. The mobile device 101 can determine the search boundaries on both sides of the global navigation path based on the detected environmental information and the global navigation path 81 (i.e. the line formed by connecting the red dots in the figure), including the left search boundary and the right search boundary, and can use the area within the search boundaries on both sides as the search area.
[0109] In this way, the search area can be determined based on environmental information and global navigation path without relying on lane lines, and the target path can be generated within the search area, avoiding the search of invalid areas and improving the efficiency and reliability of path generation.
[0110] In some examples of this disclosure, an optional implementation of step S320 above may include: performing two searches within the search area to generate a local path. The first search may be based on static obstacles within the search area to obtain a specified location point. The second search may be based on a specified obstacle located between the current position of the mobile device and the specified location point to obtain a local path. This specified location point may be the farthest point that the mobile device can travel through if the first search fails, or the end point of the search if the first search succeeds. Optionally, the search algorithm used in these two searches may be a heuristic pathfinding algorithm, such as A* search algorithm, Dijkstra's algorithm, or BFS (Breadth-First Search) algorithm.
[0111] Figure 5 It is based on Figure 3 The illustrated embodiment provides a flowchart of a method for generating local paths. Figure 5 As shown, the method for generating a local path in step S320 may include steps S321 to S322.
[0112] Step S321: Determine the search reference line within the search area.
[0113] In some examples, the path within the search area that is part of the global navigation path can be used as the search reference line.
[0114] In other examples, a search reference line biased towards a specified driving side can be determined based on the search boundary of the search area. This specified driving side can be either the right or left side, and can be pre-specified according to the traffic rules of the country or region to which the search area is located. For example, if the traffic rule is right-hand drive, the specified driving side can be the right side; if the traffic rule is left-hand drive, the specified driving side can be the left side.
[0115] For example, the search boundary of the search area includes a first side search boundary located on the designated driving side of the global navigation path and a second side search boundary located on the opposite side of the designated driving side of the global navigation path. The first distance between the search reference line and the first side search boundary is less than the second distance between the search reference line and the second side search boundary, meaning the search reference line is biased towards the designated driving side. Taking the designated driving side as the right side as an example, the first distance between the search reference line and the right boundary of the search area is less than the second distance between the search reference line and the right boundary of the search area, meaning the search reference line is biased towards the right boundary. Optionally, the distance between the search reference line and the first side search boundary is greater than or equal to half the width of the mobile device to prevent the mobile device from exceeding the boundary. A schematic diagram of a search reference line is shown below. Figure 8A The search reference line 82 shown on the right (i.e., the line formed by connecting the purple dots in the figure).
[0116] In one alternative implementation, the search reference line may be parallel to the global navigation path. The first distance between the search reference line and the first side search boundary may be the minimum or average value of the lateral distances between the boundary points on the search reference line with the same vertical coordinates relative to the first side search boundary. The second distance between the search reference line and the second side search boundary may be the minimum or average value of the lateral distances between the boundary points on the search reference line with the same vertical coordinates relative to the second side search boundary.
[0117] In this way, the search reference line biased towards the specified driving side can constrain the position of the local path generated by the search, so that the local path is also biased towards the specified driving side. This allows for the generation of local paths that comply with traffic rules even when there are no lane lines, thereby improving the driving safety and reliability of mobile devices.
[0118] Step S322: Generate a local path within the search area based on the search reference line.
[0119] In some examples, step S322 can be implemented by: performing a search within the search area based on the search reference line and all obstacles within the search area to generate the local path.
[0120] For example, a local path matching the search objective can be found within the search area based on a preset path search algorithm. This preset path search algorithm can be a heuristic path search algorithm, such as A* search algorithm, Dijkstra's algorithm, BFS (Breadth-First Search) search algorithm, etc.
[0121] In this way, local paths can be generated based on the search reference lines.
[0122] In other examples, step S322 can be implemented by performing two searches within the search area based on the search reference line and all obstacles within the search area to generate the local path.
[0123] For example, step S322 may include steps S3221 to S3223.
[0124] Step S3221: Based on the search reference line and static obstacles within the search area, perform the first search within the search area to obtain the specified location point.
[0125] In some examples, the specified location point can be the furthest point that a mobile device can travel to if the first search fails. This specified location point can also be called a roadblock.
[0126] For example, a coarse search method can be used to determine if there is a road blockage ahead and to find the blockage point. The preset maximum search time can be 10ms. For instance, all static obstacles within the search area can be added to a static environment detector. A preset path search algorithm (such as the A* search algorithm or a similar heuristic algorithm) is used to explore N meters forward from the current position of the mobile device. N can be a preset maximum search distance, for example, N can be greater than or equal to 15 meters. During the search process, multiple search nodes can be set within the search area. Each search node uses a static detector to determine if there is a collision (i.e., whether the position of the search node coincides with the position of a static obstacle). If a collision occurs, the path is directly pruned, and the collision information of each layer of search nodes is recorded. If a path of N meters cannot be found within the preset maximum search time, the first search is considered a failure, indicating a road blockage ahead. At this point, the layer where the generation of the next layer of search nodes fails can be identified as the layer containing the blockage point. The search nodes in this layer can be used as the specified location point, i.e., the blockage point. This specified location point can be the farthest point that the searched mobile device can travel through.
[0127] In other examples, the specified location point can be the search end point when the first search is successful.
[0128] Step S3222: Determine the specified obstacles for the second search based on the specified location points.
[0129] The designated obstacles include static obstacles located between the current location of the mobile device and the designated location point, as well as dynamic obstacles located between the current location of the mobile device and the designated location point at the time of the search.
[0130] For example, the designated obstacle can be located within a designated area, which can be a subset or the entirety of the search area. For instance, the four boundaries of the search area can be the first and second side search boundaries of the search area, the third boundary perpendicular to the search reference line and passing through the current position of the mobile device, and the fourth boundary perpendicular to the search reference line and passing through the designated location point. In this way, static obstacles within the designated area enclosed by the above four boundaries, as well as dynamic obstacles located within the designated area at the time of the search, can constitute the designated obstacle.
[0131] The search time can be determined based on the search layer. The search time for each layer can be different. For example, if there are n search layers, where n is greater than 1, and the planned travel time is m seconds, then the search time interval for each layer is m / (n-1) seconds. The search time for the 1st layer is the 0th second, and the search time for the xth layer is (x-1)*m / (n-1) seconds. Then, based on the predicted path of the dynamic obstacle, the dynamic obstacle located between the current position of the mobile device and the specified position point at the search time of each layer can be determined as the specified obstacle.
[0132] In some examples, obstacles after a specified location point are not considered as specified obstacles, meaning they are not used in the second search. This means the distance between the specified obstacle and the mobile device is less than or equal to the distance between the specified location point and the mobile device.
[0133] Step S3223: Based on the search reference line and the specified obstacles, perform a second search within the search area to obtain a local path.
[0134] The search algorithm used in the second search can be the same as or different from the search algorithm used in the first search.
[0135] In this way, the search algorithm can accurately determine whether a traffic jam has occurred, and generate a reasonable path through a secondary search when a traffic jam occurs, instead of turning around directly, thus improving the robustness of the path generated in traffic jam scenarios.
[0136] In some embodiments of this disclosure, the target label may include a lateral label, the target obstacle may include lateral target obstacles for lateral decision-making, and the environmental information may include static and dynamic obstacles detected by the mobile device. Figure 6 As shown, the method for determining the lateral target obstacle and its lateral label in step S330 above may include steps S331 to S332.
[0137] Step S331: Determine the lateral target obstacle based on the relative positional relationship between the obstacle's position and the current position of the mobile device.
[0138] For example, the current location of the mobile device could be the location of the tail of the mobile device. Figure 8B As shown, with the device body of the mobile device ego as the center, it can be divided into eight regions, numbered 1 to 8, which represent the regions in the eight directions: front left region 1, front center region 2, front right region 3, left center region 4, right center region 5, rear left region 6, rear center region 7, and rear right region 8.
[0139] In some examples, a lateral target obstacle can be determined based on its obstacle type and its relative position to the current location of the mobile device. For instance, the lateral target obstacle could be an obstacle that satisfies conditions one and two:
[0140] Condition 1: The lateral target obstacle does not include obstacles after the specified location point. That is, the distance between the lateral target obstacle and the mobile device is less than or equal to the distance between the specified location point and the mobile device. The specified location point can be the farthest location point that the mobile device can travel through when the first search fails, or the search end point when the first search succeeds.
[0141] Condition 2: If the lateral target obstacle is a static obstacle, then the static obstacle is located in the left front area, the front area, the right front area, the left area, or the right area of the mobile device; or, if the lateral target obstacle is a dynamic obstacle, then the dynamic obstacle is located in the left front area, the right front area, the left area, or the right area of the mobile device.
[0142] Step S332: Determine the lateral label of the mobile device relative to the lateral target obstacle.
[0143] The lateral label for the mobile device relative to the target obstacle can include either "go around to the left" or "go around to the right". This lateral label can be determined based on the relative position of the mobile device's target path and the lateral target obstacle.
[0144] If a mobile device detours around a horizontal target obstacle from the left side based on the target path, then the horizontal label indicates detour to the left. For example, when the mobile device and the target obstacle have the same vertical coordinate (i.e., are parallel vertically), the mobile device is located to the left of the target obstacle, i.e., detour to the left.
[0145] If the mobile device detours around the right side of a lateral target obstacle based on the target path, then the lateral label indicates detour to the right. For example, when the mobile device and the target obstacle have the same longitudinal coordinate (i.e., are longitudinally parallel), the mobile device is located on the right side of the target obstacle.
[0146] In some examples, the lateral label of the mobile device relative to the target obstacle may also include "ignore". All obstacles in the search area other than the lateral target obstacle can be set to "ignore". "Ignore" can be used to indicate that the target obstacle does not affect the lateral movement of the mobile device. Therefore, the position of the target obstacle does not need to be considered when making lateral decisions and planning.
[0147] In this way, lateral target obstacles and their lateral labels can be identified, so that trajectory planning can be performed based on the lateral labels in trajectory planning, so as to generate planned trajectories more efficiently and avoid collisions with obstacles.
[0148] In other embodiments of this disclosure, the target label may include a longitudinal label, the target obstacle may include longitudinal target obstacles for longitudinal decision-making, and the environmental information may include dynamic obstacles detected by the mobile device. Figure 7 As shown, the method for determining longitudinal target obstacles and their longitudinal labels in step S330 above may include steps S335 to S338.
[0149] Step S335: Determine the interaction information between the dynamic obstacle and the mobile device based on the predicted path and local path of the dynamic obstacle.
[0150] In some examples, the dynamic obstacle can be all dynamic obstacles within the search area, such as all dynamic obstacles whose predicted path overlaps with the search area.
[0151] In other examples, the dynamic obstacle can be a dynamic obstacle located within the search area between the current location of the mobile device and a specified location point; that is, all or part of the predicted path of the dynamic obstacle lies between the current location of the mobile device and the specified location point. The specified location point can be the furthest point that the mobile device can travel through when the first search fails, or the search end point when the first search succeeds.
[0152] In some examples, the interaction information may include at least one of the following: interaction location information, interaction time information, and interaction heading angle information, respectively, as the dynamic obstacle and the mobile device travel through the overlapping area.
[0153] Step S336: Determine the interaction type between the mobile device and the dynamic obstacle based on the interaction information.
[0154] The interaction types can include intersection, cut-in, merge, navigation, or encounter. Specifically, the intersection type can represent a right-angle or oblique angle between the predicted path of a dynamic obstacle and the local path of a mobile device, with an overlapping area at the intersection point, indicating a potential conflict point; the cut-in type can represent a lateral insertion of the predicted path of a dynamic obstacle into the local path of a mobile device, forming an overlapping area; the merge type can represent a lateral insertion of the local path of a mobile device into the predicted path of a dynamic obstacle, forming an overlapping area; the navigation type can represent a dynamic obstacle acting as a guide, continuously positioned in front of the mobile device, with the mobile device following the dynamic obstacle (such as a vehicle in front); and the encounter type can represent a dynamic obstacle and a mobile device moving in opposite directions, with their trajectories briefly overlapping within a limited space before separating. Figure 8D This is a schematic diagram illustrating an interaction type between a mobile device and a target obstacle, provided in an embodiment of this disclosure. Figure 8D The interaction types between the mobile device ego and the target obstacle obs shown include encounter 821, navigation 822, crossing 823, merging 824, and cutting in 825.
[0155] Step S337: Based on the interaction information and interaction type, determine the longitudinal target obstacle from the dynamic obstacles.
[0156] Step S338: Determine the longitudinal label of the longitudinal target obstacle based on the interaction type.
[0157] The longitudinal label of the mobile device relative to the longitudinal target obstacle may include at least one of advance, yield, follow, or ignore.
[0158] In this way, the longitudinal labels of longitudinal target obstacles can be determined based on interaction information and interaction type.
[0159] In some examples, the interactive location information described above may include a first starting position for the mobile device to enter the overlapping area and a first ending position for it to leave the overlapping area. Optionally, the interactive location information may include a second starting position for a dynamic obstacle to enter the overlapping area and a second ending position for it to leave the overlapping area. Figure 8C This is a schematic diagram illustrating the interaction location information between a mobile device and a target obstacle, provided in an embodiment of this disclosure. Figure 8C As shown, the target path of the mobile device ego and the predicted path of the target obstacle obs have an overlapping area. The figure shows the first starting position 811 of the mobile device entering the overlapping area and the first ending position 812 of the mobile device leaving the overlapping area, as well as the second starting position 813 of the dynamic obstacle entering the overlapping area and the second ending position 814 of the obstacle leaving the overlapping area.
[0160] In some examples, the interaction timing information may include the start time of the interaction when the mobile device enters the overlapping area and the end time of the interaction when it leaves the overlapping area.
[0161] In some examples, the interaction heading angle information may include an interaction heading angle difference, which may include an interaction start heading angle difference and / or an interaction end heading angle difference. The interaction start heading angle difference may be the absolute value of the difference between the heading angle when the dynamic obstacle enters the overlapping area and the heading angle when the mobile device enters the overlapping area. The interaction end heading angle difference may be the absolute value of the difference between the heading angle when the dynamic obstacle leaves the overlapping area and the heading angle when the mobile device leaves the overlapping area.
[0162] The interaction information described above can be used to characterize the interaction between mobile devices and dynamic obstacles.
[0163] In some examples, the method for determining the interaction type in step S336 above may include one or more of the following methods one through five.
[0164] Method 1: If the distance between the first endpoint and the first starting position is less than the second preset distance threshold, and the difference in the interaction heading angle is greater than or equal to the first preset heading angle threshold, the interaction type can be determined as Meeting.
[0165] Method 2: When the dynamic obstacle is located in front of the mobile device, the interaction start time is less than the first preset time threshold, and the interaction heading angle difference is less than the second preset heading angle threshold, the interaction type can be determined as Leading.
[0166] Method 3: When the dynamic obstacle is located behind the mobile device, the left and right movement direction of the mobile device determined based on the local path is towards the dynamic obstacle, and the interaction heading angle difference is less than the second preset heading angle threshold, the interaction type is determined to be merge.
[0167] Method 4: When the dynamic obstacle is located in front of the mobile device, the distance between the first endpoint position and the first starting position is greater than the device length of the mobile device, and the interaction heading angle difference is less than the second preset heading angle threshold, the interaction type is determined to be CutIn.
[0168] Method 5: If the difference in the interaction heading angle is greater than or equal to the second preset heading angle threshold and less than the first preset heading angle threshold, the interaction type is determined to be Cross.
[0169] This allows us to determine the type of interaction between the mobile device and the target obstacle.
[0170] In some examples, in step S337 above, all dynamic obstacles with interaction information and determined interaction type can be regarded as longitudinal target obstacles, that is, dynamic obstacles with non-empty interaction information can be regarded as longitudinal target obstacles. Dynamic obstacles with overlapping areas between the predicted path and the local path can also be regarded as longitudinal target obstacles.
[0171] In other embodiments, step S337 above can be used to filter vertical target obstacles based on preset rules. Each interaction type can have its own independent preset rules. For example:
[0172] For dynamic obstacles with a navigation interaction type, a preset rule could be that the obstacle is closest to the current position of the mobile device. For example, if one or more dynamic obstacles with a navigation interaction type exist, the dynamic obstacle closest to the current position of the mobile device is selected as the navigation-type longitudinal target obstacle. Further, after determining the navigation-type longitudinal target obstacle, the distance between the navigation-type longitudinal target obstacle and the mobile device can be used as a specified distance threshold, and longitudinal target obstacles can be determined from dynamic obstacles of other interaction types based on this specified distance threshold. For example, the preset rule could include requiring that the distance between a first starting position and the current position of the mobile device is less than or equal to the specified distance threshold, where the first starting position could be the starting position when the mobile device enters an area overlapping with the predicted path of the longitudinal target obstacle.
[0173] For dynamic obstacles with an interaction type of encounter or merging, the preset rules may include: the distance between the first starting position and the current position of the mobile device is less than or equal to the specified distance threshold, and the obstacle is the closest to the current position of the mobile device. For example, if there are one or more dynamic obstacles with an interaction type of navigation, the dynamic obstacle closest to the current position of the mobile device is selected as the longitudinal target obstacle; if there are one or more dynamic obstacles with an interaction type of encounter, the current position of the dynamic obstacle whose distance between the first starting position and the current position of the mobile device is less than or equal to the specified distance threshold and which is the closest to the mobile device is selected as the longitudinal target obstacle; if there are one or more dynamic obstacles with an interaction type of merging, the current position of the dynamic obstacle whose distance between the first starting position and the current position of the mobile device is less than or equal to the specified distance threshold and which is the closest to the mobile device is selected as the longitudinal target obstacle.
[0174] For dynamic obstacles with an interaction type of "cutting in," the preset rules may include: the distance between the first starting position and the current position of the mobile device is less than or equal to the specified distance threshold, and the interaction start time is less than or equal to the second preset time threshold (e.g., 2 seconds, 5 seconds, or 10 seconds). For example, a dynamic obstacle with a distance between the first starting position and the current position of the mobile device that is less than or equal to the specified distance threshold, an interaction start time that is less than or equal to the second preset time threshold, and an interaction type of "cutting in" can be designated as a longitudinal target obstacle.
[0175] For dynamic obstacles with an interaction type of intersection, the preset rules may include that the distance between the first starting position and the current position of the mobile device is less than or equal to the aforementioned specified distance threshold. For example, a dynamic obstacle with a first starting position and the current position of the mobile device that is less than or equal to the specified distance threshold and has an interaction type of intersection may be designated as a longitudinal target obstacle. Optionally, the preset rules for intersection-type dynamic obstacles may also include: the distance between the first starting position of the mobile device entering the overlapping area and the current position of the mobile device is greater than or equal to the device length of the mobile device, or the distance between the first ending position of the mobile device leaving the overlapping area and the current position of the mobile device is greater than or equal to the device length of the mobile device.
[0176] In this way, multiple longitudinal target obstacles can be selected and determined from the dynamic obstacles of the rights based on preset rules, and the longitudinal labels of the longitudinal target obstacles can be determined. This eliminates the need to generate longitudinal labels for all dynamic obstacles, thereby improving the efficiency of decision-making and planning. For example, there can be one navigation-type longitudinal target obstacle, one merging-type longitudinal target obstacle, and one or more longitudinal target obstacles of other types. It should be noted that not all types of longitudinal target obstacles are present; some types may not have them. For example, there may be no navigation-type longitudinal target obstacle. In this case, the specified distance threshold can be based on a pre-set distance threshold, such as 2 meters, 5 meters, or 10 meters, and it is not necessary to determine this specified distance threshold based on the navigation-type longitudinal target obstacle.
[0177] In some examples, the method for determining the longitudinal label of the longitudinal target obstacle based on the interaction type in step S338 may include:
[0178] Step S3381: Among the vertical target obstacles, obstacles with interaction types of intersection, cutting in, or merging are arranged into an obstacle node exploration set according to the distance between the obstacle and the mobile device from near to far. Each obstacle node corresponds to a vertical target obstacle.
[0179] Step S3382: Explore the target label combinations of each obstacle node in the obstacle node exploration set to obtain the decision cost of different target label combinations.
[0180] The target label combination includes setting the longitudinal label of each obstacle node to either advance or yield. Advance indicates that the mobile device passes through the overlapping area in front of the longitudinal target obstacle, while yield indicates that the mobile device passes through the overlapping area after the longitudinal target obstacle.
[0181] For example, the decision tree algorithm can be used to explore the target label combinations of each obstacle node to obtain the decision cost of different target label combinations.
[0182] Step S3383: Determine the longitudinal labels of each longitudinal target obstacle based on the target label combination with the lowest decision cost.
[0183] The distance between the obstacle and the mobile device can be the distance between the first starting position of the longitudinal target obstacle and the current position of the mobile device. The first starting position can be the starting position when the mobile device enters the area overlapping with the predicted path of the longitudinal target obstacle.
[0184] For example, all longitudinal target obstacles with interaction types of intersection, cut-in, or merge can be sorted according to their first starting position. Each longitudinal target obstacle is assigned a node, connected in a predecessor-successor manner. The longitudinal label for each stage can be set to either "go first" or "yield"—two possible longitudinal labels. If the total number of nodes is n, then the maximum number of target label combinations is 2^n. n In step S337 above, the number of vertical target obstacles selected based on preset rules is relatively small, for example, generally no more than five. This limits the number of target label combinations, which can improve the exploration efficiency of the decision tree algorithm.
[0185] The aforementioned decision costs can include safety costs, efficiency costs, and smoothness costs. For example, the safety cost can characterize the risk of a collision between the mobile device and an obstacle; the greater the collision risk, the greater the safety cost. If the mobile device collides with an obstacle, the safety cost can be set to its maximum value. The efficiency cost can characterize the driving efficiency of the mobile device, which can be determined based on path length, travel time, or energy consumption. For example, the longer the path length, the longer the travel time, or the higher the energy consumption, the greater the efficiency cost. The smoothness cost can characterize the smoothness of the mobile device's travel path, avoiding frequent turns or sudden acceleration / deceleration, improving ride comfort and control stability. This smoothness cost can be determined based on parameters such as path curvature and acceleration; for example, the greater the curvature or the greater the change in acceleration, the greater the smoothness cost. It should be noted that the decision costs in this embodiment can also be implemented based on cost algorithms in related technologies.
[0186] In this way, based on the decision cost, the target label combination with the minimum decision cost can be obtained, and based on the target labels in the target label combination with the minimum decision cost, the longitudinal labels of each longitudinal target obstacle can be determined.
[0187] Furthermore, different combinations of target labels for the obstacle node exploration set can be evaluated based on multi-threading to obtain the target label combination with the minimum decision cost, thereby improving decision efficiency.
[0188] Figure 8E This is a schematic diagram of a decision tree for multiple vertical target obstacles provided in an embodiment of this disclosure. Figure 8E As shown, taking the three sorted vertical target obstacles obs_1, obs_2, and obs_3 as an example, the vertical labels of the mobile device relative to each vertical target obstacle can be either "pass" or "yield". Starting from obs_1, the vertical label of obs_1 can be either "pass" or "yield", meaning there are at least two possible paths to reach obs_2. The vertical label of obs_2 can also be either "pass" or "yield", so there are at least four possible paths to reach obs_3. After reaching obs_3, the vertical label of obs_3 can also be either "pass" or "yield". Thus, there are at least eight paths to bypass obs_3 and finally reach the planned target, which means there are eight different combinations of target labels.
[0189] In some examples, the method of determining the vertical label of the vertical target obstacle based on the interaction type in step S338 may also include: for obstacles whose interaction type is navigation, setting the vertical label of the obstacle to follow; for obstacles whose interaction type is not navigation, intersection, cutting in, or merging, setting the vertical label of the obstacle to ignore.
[0190] Optionally, the vertical labels of obstacles other than the target obstacle in the search area can be set to ignore. This allows for the setting of vertical labels for each obstacle in the search area, enabling trajectory planning based on the vertical labels.
[0191] Figure 9 This is a schematic flowchart of a device control method provided in an embodiment of this disclosure. The device control method can be... Figure 1 The illustrated mobile device and / or server execute. For example... Figure 9 As shown, the trajectory planning method in this embodiment may include:
[0192] Step S910: Obtain the planned trajectory corresponding to the mobile device.
[0193] Step S920: Control the movement of the mobile device according to the planned trajectory.
[0194] The planned trajectory is generated as follows: based on the environmental information detected by the mobile device and the global navigation path planned for the mobile device, a search area for generating a local path is determined; a local path for the mobile device is generated within the search area; based on the local path and environmental information, target obstacles within the search area and target labels of the mobile device relative to the target obstacles are determined, and the target labels are used to assist in generating the planned trajectory of the mobile device; based on the local path, target obstacles, and target labels, the planned trajectory of the mobile device is generated.
[0195] The method for obtaining the planned trajectory in this embodiment can be referred to the description in the foregoing embodiments of this disclosure, and will not be repeated here.
[0196] This allows for trajectory planning without the need for lane markings, thereby improving the reliability and efficiency of trajectory planning on irregular roads and enhancing the reliability of mobile devices traveling on irregular roads.
[0197] Figure 10 This is a schematic diagram of the structure of a trajectory planning device provided in an embodiment of this disclosure. Figure 10 As shown, the trajectory planning device 1000 may include a memory 1010 and a processor 1020. The memory 1010 may be used to store computer instructions, and the processor 1020 may be used to retrieve computer instructions from the memory 1010 to execute all or part of the steps of any of the methods in the foregoing embodiments of this disclosure. The processor may be one or more, and the one or more processors may execute instructions individually or jointly. Similarly, the memory may be one or more, and the one or more memories may store the aforementioned computer instructions individually or jointly.
[0198] In some examples, the trajectory planning device can be Figure 1 The server and / or mobile device in the process. In other examples, the trajectory planning device can also be any electronic device, such as a controller for a mobile device.
[0199] This disclosure also provides a mobile device that may include a memory and a processor. The memory may be used to store computer instructions, and the processor may be used to retrieve the computer instructions from the memory to perform all or part of the steps of any of the methods in the foregoing embodiments of this disclosure. The processor may be one or more processors, which may execute the instructions individually or jointly. Similarly, the memory may be one or more memories, which may store the aforementioned computer instructions individually or jointly.
[0200] In some examples, the mobile device can be a vehicle, which can be an electric vehicle, a hybrid vehicle, a fuel cell vehicle, or other type of vehicle. The vehicle can be an autonomous vehicle or a non-autonomous vehicle. For example, the mobile device provided in this embodiment can be... Figure 1 or Figure 2 The mobile device shown.
[0201] This disclosure also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements any of the methods in the foregoing embodiments of this disclosure. Optionally, the computer-readable storage medium may be a non-transitory storage medium, but is not limited thereto; it may also be a temporary storage medium.
[0202] This disclosure also provides a chip that may include a processing unit, which can be used to execute all or part of the steps of any of the methods in the foregoing embodiments of this disclosure. The chip may be in the form of an Application-Specific Integrated Circuit (ASIC), a System-on-Chip (SOC), a Field-Programmable Gate Array (FPGA), etc., and this embodiment is not limited to this. Optionally, the chip may further include a storage unit, which can be used to store computer instructions. The processing unit can be used to retrieve the computer instructions from the storage unit to execute all or part of the steps of any of the methods in the foregoing embodiments of this disclosure.
[0203] This disclosure also provides a computer program product that may include a computer program that, when executed by a processor, can implement any of the methods described in the foregoing embodiments of this disclosure.
[0204] This disclosure may be a system, method, and / or computer program product. A computer program product may include a computer-readable storage medium having computer-readable program instructions loaded thereon for causing a processor to implement any of the methods in the foregoing embodiments of this disclosure.
[0205] Computer-readable storage media can be tangible devices capable of holding and storing instructions for use by an instruction execution device. Computer-readable storage media can be, for example—but not limited to—electrical storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination thereof. More specific examples (a non-exhaustive list) of computer-readable storage media include: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital multifunction disc (DVD), memory sticks, floppy disks, mechanical encoding devices, such as punch cards or recessed protrusions storing instructions thereon, and any suitable combination thereof. The computer-readable storage media used herein are not to be construed as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses through fiber optic cables), or electrical signals transmitted through wires.
[0206] The computer-readable program instructions described herein can be downloaded from computer-readable storage media to various computing / processing devices, or downloaded via a network, such as the Internet, local area network, wide area network, and / or wireless network, to an external computer or external storage device. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to the computer-readable storage media in the respective computing / processing device.
[0207] Computer program instructions used to perform the operations of this disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, status setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, etc., and conventional procedural programming languages such as the "C" language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry, such as programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), is personalized by utilizing the status information of the computer-readable program instructions to implement various aspects of this disclosure.
[0208] Various aspects of this disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0209] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processor of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner; thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.
[0210] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions that execute on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.
[0211] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction containing one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions. It should be noted that implementation in hardware, implementation in software, and implementation using a combination of software and hardware are all equivalent.
[0212] The various embodiments of this disclosure have been described above. These descriptions are exemplary and not exhaustive, and are not limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen to best explain the principles, practical application, or technical improvements to the technology in the market, or to enable others skilled in the art to understand the embodiments disclosed herein. The scope of this disclosure is defined by the appended claims.
Claims
1. A trajectory planning method characterized by, The method comprises: determining a search area for generating a local path according to environment information detected by a movable device and a global navigation path planned for the movable device; determining a search reference line in the search area; wherein a search boundary of the search area comprises a first side search boundary located at a designated driving side of the global navigation path and a second side search boundary located at an opposite side of the designated driving side of the global navigation path, and a first distance between the search reference line and the first side search boundary is less than a second distance between the search reference line and the second side search boundary; searching for a local path of the movable device in the search area based on a preset path search algorithm according to the search reference line; wherein the search reference line is used to constrain a position of the searched local path, so that the local path is located in the search area and the distance between the local path and the first side search boundary is less than the distance between the local path and the second side search boundary; determining a target obstacle in the search area and a target label of the movable device relative to the target obstacle according to the local path and the environment information; wherein the target label is used to assist in generating a planned trajectory of the movable device; generating a planned trajectory of the movable device according to the local path, the target obstacle and the target label.
2. The method of claim 1, wherein, The environment information comprises a preset type of static obstacle, the search area does not include the preset type of static obstacle, and a search boundary of the search area comprises boundary points located on both sides of an extension direction of the global navigation path, and a distance between the boundary points and the preset type of static obstacle is greater than or equal to a preset minimum safety distance.
3. The method of claim 1, wherein, The searching for a local path of the movable device in the search area based on a preset path search algorithm comprises: generating the local path by searching twice in the search area based on a preset path search algorithm; wherein a first search in the two searches is based on a static obstacle in the search area to obtain a specified position point, and a second search in the two searches is based on a specified obstacle located between a current position of the movable device and the specified position point to obtain the local path, the specified position point is a farthest position point through which the movable device can drive when the first search fails, or is a search end position point when the first search succeeds.
4. The method according to any one of claims 1 to 3, characterized in that, The target label comprises a lateral label and / or a longitudinal label; wherein: the lateral label is used to indicate that the movable device detours from the left side or the right side of the target obstacle based on the local path when there is a position point with the same longitudinal coordinate as the target obstacle in the position point of the local path; the longitudinal label is used to indicate the precedence relationship between the movable device and the target obstacle entering an overlapping area between the local path and a predicted path of the target obstacle.
5. The method of claim 4, wherein, The target label includes the longitudinal label, the environmental information includes a dynamic obstacle detected by the movable device, and the target obstacle includes a longitudinal target obstacle; and the determining, according to the local path and the environmental information, of the target obstacle in the search area and the target label of the movable device relative to the target obstacle includes: determining, according to the predicted path of the dynamic obstacle and the local path, interaction information of the dynamic obstacle and the movable device; wherein the interaction information includes at least one of interaction position information, interaction time information and interaction heading angle information of the dynamic obstacle and the movable device respectively traveling through the overlapping area; determining, according to the interaction information, an interaction type of the movable device and the dynamic obstacle; wherein the interaction type includes crossing, cutting in, merging, piloting or meeting; determining, according to the interaction information and the interaction type, a longitudinal target obstacle from the dynamic obstacle; determining, according to the interaction type, a longitudinal label of the longitudinal target obstacle.
6. The method of claim 5, wherein, The determining, according to the interaction type, of the longitudinal label of the longitudinal target obstacle includes: forming, according to the interaction type, obstacles in the longitudinal target obstacle into a set of obstacle node explorations in order from near to far according to distances of the obstacles to the movable device, each obstacle node corresponding to a longitudinal target obstacle; exploring target label combinations of each obstacle node in the set of obstacle node explorations to obtain decision costs of different target label combinations; wherein the target label combination includes a combination of setting longitudinal labels of each obstacle node as going first or yielding, the going first representing that the movable device passes through the overlapping area before the longitudinal target obstacle, and the yielding representing that the movable device passes through the overlapping area after the longitudinal target obstacle; determining the longitudinal label of each longitudinal target obstacle according to a target label combination with a minimum decision cost.
7. The method of claim 6, wherein: the interaction position information includes a first start position at which the movable device travels into the overlapping area and a first end position at which the movable device travels out of the overlapping area; the interaction time information includes an interaction start time at which the movable device travels into the overlapping area and an interaction end time at which the movable device travels out of the overlapping area; the interaction heading angle information includes an interaction heading angle difference value, the interaction heading angle difference value including an interaction start heading angle difference value and / or an interaction end heading angle difference value, the interaction start heading angle difference value being an absolute value of a difference between a heading angle of the dynamic obstacle when traveling into the overlapping area and a heading angle of the movable device when traveling into the overlapping area, and the interaction end heading angle difference value being an absolute value of a difference between a heading angle of the dynamic obstacle when traveling out of the overlapping area and a heading angle of the movable device when traveling out of the overlapping area; the determining, according to the interaction information, of the interaction type of the movable device and the dynamic obstacle includes: determining the interaction type as a meeting in a case that the first end position is less than a second preset distance threshold from the first start position, and the interaction heading angle difference is greater than or equal to a first preset heading angle threshold; or determining the interaction type as a following in a case that the dynamic obstacle is in front of the movable device, the interaction start time is less than a first preset time threshold, and the interaction heading angle difference is less than a second preset heading angle threshold; or determining the interaction type as a merging in a case that the dynamic obstacle is behind the movable device, a left-right moving direction of the movable device determined based on a local path is a direction towards the dynamic obstacle, and the interaction heading angle difference is less than a second preset heading angle threshold; or determining the interaction type as a cutting in a case that the dynamic obstacle is in front of the movable device, a distance between the first end position and the first start position is greater than a device length of the movable device, and the interaction heading angle difference is less than a second preset heading angle threshold; or determining the interaction type as a crossing in a case that the interaction heading angle difference is greater than or equal to a second preset heading angle threshold and less than a first preset heading angle threshold. A device comprising a memory for storing computer instructions and a processor for invoking the computer instructions from the memory to perform the method of any one of claims 1 to 7.
8. A trajectory planning device characterized by comprising: A computer program stored on a device and implemented when executed by a processor to perform the method of any one of claims 1 to 7.
9. A computer-readable storage medium, characterized in that,
Citation Information
Patent Citations
Path planning method, device and system and readable storage medium
CN113009918A
Driving scene classification and labeling method and device based on vehicle interaction
CN118968428A