Vehicle control method and related equipment
By acquiring environmental information to generate a driving path, identifying and predicting obstacle trajectories, and determining the boundary points of narrow passages, the problem of misjudgment by autonomous vehicles in narrow passages is solved, improving the accuracy of road traffic and user experience.
Patent Information
- Application Number
- CN202511846764.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-09
- Publication Date
- 2026-03-03
AI Technical Summary
Autonomous vehicles struggle to accurately assess road capacity in narrow passages, leading to a high rate of misjudgment and impacting user experience.
By acquiring environmental information, a driving path is generated, static and dynamic obstacles are identified, the trajectory of dynamic obstacles is predicted, the boundary points of the passage to be traversed are determined, and the vehicle's movement is controlled while meeting the vehicle width requirements.
It improves the accuracy of road traffic determination, ensures that vehicles travel along their intended routes, avoids misjudgments, and enhances the accuracy of traffic flow.
Smart Images

Figure CN121590522A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of vehicle technology, and more particularly to a vehicle control method and related equipment. Background Technology
[0002] With the rapid development of autonomous driving technology, the operating scenarios faced by vehicles are becoming increasingly complex and diverse. In real-world environments such as urban areas, residential communities, and parking lots, narrow passages (such as narrow bridges, width-restricted areas, temporary passages formed by construction barriers, and narrow passageways squeezed out by roadside parking) are appearing more and more frequently, becoming one of the core challenges that autonomous driving systems need to overcome. Whether autonomous vehicles can safely and reliably pass through such narrow passages is directly related to their traffic capacity and also greatly affects the user experience of autonomous driving functions.
[0003] In an exemplary technology, static obstacles or boundaries on both sides of the passage are sensed by vehicle-mounted sensors (such as lidar and cameras), the approximate width of the passage is calculated, and then statically compared with the fixed external dimensions of the vehicle.
[0004] However, the passage perceived by the vehicle may not be the passage corresponding to the vehicle's actual driving intention. The perceived passage contains a large number of irrelevant areas, which means that the determined width of the passage is not the effective width on the path of the vehicle's actual driving intention. This can easily lead the vehicle to make the judgment that "the road is passable but is mistakenly judged as infeasible" or "the road is infeasible but is mistakenly judged as feasible", resulting in low accuracy in determining road passability. Summary of the Invention
[0005] Based on the aforementioned technological status, this application provides a vehicle control method and related equipment to address the problem of low accuracy in determining road traffic conditions.
[0006] To achieve the above-mentioned technical objectives, this application proposes the following technical solution: In a first aspect, this application provides a vehicle control method, including: Obtain environmental information about the vehicle's location and generate the vehicle's driving path based on the environmental information; In the environmental information, static and dynamic obstacles on the road where the driving path is located are identified, and the movement trajectory of the dynamic obstacles is predicted. Based on the vehicle's speed, determine the target time for the vehicle to travel along the path to be traveled to the area where the movement trajectory is located, and determine the position of the dynamic obstacle at the target time based on the movement trajectory; Based on the static obstacles and their positions, determine multiple boundary points of the passage to be traversed where the path to be traveled is located, and generate the passage to be traversed based on each of the boundary points. In response to the minimum width of the passage to be traversed being greater than the width of the vehicle, the vehicle is controlled to travel along the path to be traversed.
[0007] In some implementations, determining multiple boundary points of the passageway where the path to be traveled is located, based on the static obstacle and its position, includes: The static obstacle and its position are transformed to a preset coordinate system to obtain multiple first points, which are used to characterize the static obstacle and its position in the preset coordinate system. The path to be driven is transformed into the preset coordinate system to obtain each second point in the preset coordinate system that represents the path to be driven. Based on the second point, the first boundary point of the first side of the passage to be traversed and the second boundary point of the second side of the passage to be traversed are determined in each of the first points; Wherein, the ordinate of the first boundary point is greater than the ordinate of the second point corresponding to the first boundary point, the first boundary point is a first point whose x-coordinate is the same as the x-coordinate of the second point, the ordinate of the second boundary point is less than the ordinate of the second point corresponding to the second boundary point, the second boundary point is a first point whose x-coordinate is the same as the x-coordinate of the second point, and the direction of the x-coordinate is the driving direction of the vehicle on the path to be driven.
[0008] In some embodiments, determining, according to the second point, a first boundary point on the first side of the passage to be traversed and a second boundary point on the second side of the passage to be traversed in each of the first points includes: According to the second point, a first point to be determined is determined on the first side of the passage to be passed in each of the first points. The ordinate of the first point to be determined is greater than the ordinate of the second point corresponding to the first point to be determined. The first point to be determined is the first point whose abscissa is the same as the abscissa of the second point. Based on the second point, a second point to be determined is determined on the second side of the passage to be passed in each of the first points. The ordinate of the second point to be determined is greater than the ordinate of the second point corresponding to the second point. The second point to be determined is a first point whose abscissa is the same as the abscissa of the second point. The sliding window operation is performed on each of the first points to be determined according to the set sliding window to obtain multiple first sets, and the first point to be determined with the smallest ordinate in each first set is determined as the first boundary point; The sliding window operation is performed on each of the second points to be determined according to the set sliding window, resulting in multiple second sets. The second point to be determined with the largest ordinate in each second set is determined as the second boundary point.
[0009] In some implementations, the step of transforming the static obstacle and its position to a preset coordinate system to obtain multiple first points includes: The static obstacle and its position are transformed into a preset coordinate system to obtain multiple intermediate points; Each of the intermediate points is converted into a first line segment, and adjacent first line segments are interpolated to obtain a second line segment; Discretize the first line segment and the second line segment into points to obtain multiple first points.
[0010] In some implementations, after generating the passage to be traversed based on each of the boundary points, the method further includes: In response to the minimum width of the passage to be traversed being less than or equal to the width of the vehicle, a target boundary point for the minimum width on the passage to be traversed is determined; In response to the target boundary point being generated from the location, the vehicle speed is changed, and the process returns to the step of determining the target time for the vehicle to travel to the area of the movement trajectory according to the vehicle speed.
[0011] In some implementations, after determining the minimum width at the target boundary point on the passage to be traversed, the method further includes: In response to the fact that the target boundary point is not generated from the target location, a prompt message is output, which indicates that the road ahead of the vehicle is too narrow to pass.
[0012] In some implementations, predicting the trajectory of the dynamic obstacle includes: Obtain the motion parameters of the dynamic obstacle and the type of the dynamic obstacle; The motion parameters and the type are input into the prediction model to obtain the movement trajectory of the dynamic obstacle output by the prediction model.
[0013] Secondly, this application provides a vehicle, including: The acquisition module is used to acquire environmental information of the vehicle's environment and generate the vehicle's driving path based on the environmental information. The first determining module is used to determine, from the environmental information, static obstacles and dynamic obstacles on the road where the path to be traveled is located, and to predict the movement trajectory of the dynamic obstacles; The second determining module is used to determine, based on the vehicle speed, the target time when the vehicle travels along the path to be traveled to the area where the movement trajectory is located, and to determine the position of the dynamic obstacle at the target time based on the movement trajectory; The third determining module is used to determine multiple boundary points of the passage to be traversed where the path to be traveled is located based on the static obstacles and the positions, and to generate the passage to be traversed based on each of the boundary points. The control module is used to control the vehicle to travel along the path to be traveled in response to the minimum width of the passage to be passed being greater than the width of the vehicle.
[0014] Thirdly, this application provides an electronic device, including a memory and a processor, wherein, The memory is connected to the processor and is used to store programs; The processor is used to implement the vehicle control method as described in the first aspect or any implementation thereof by running a program in the memory.
[0015] Fourthly, this application provides a computer program product, which, when executed by a processor, implements the vehicle control method as described in the first aspect or any implementation thereof.
[0016] Fifthly, this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the vehicle control method as described in the first aspect or any implementation thereof.
[0017] This application provides a vehicle control method and related equipment. It generates a driving path for the vehicle based on environmental information of the vehicle's surroundings, identifies dynamic and static obstacles on the road along the driving path from the environmental information, predicts the movement trajectory of the dynamic obstacles, determines the target time for the vehicle to travel along the driving path to the area of the movement trajectory based on the vehicle's speed, and determines the position of the dynamic obstacles at the target time based on the movement trajectory. Then, it determines multiple boundary points of the passage to be traversed along the driving path based on the static obstacles and their positions, generates the passage to be traversed based on each boundary point, and controls the vehicle to travel along the driving path when the minimum width of the passage to be traversed is greater than the width of the vehicle. In this application, the driving path representing the vehicle's true driving intention is generated through environmental information of the vehicle's surroundings, ensuring that the passage to be traversed determined by the driving path is the passage of the vehicle's true driving intention, avoiding incorrect judgments by the vehicle, and improving the accuracy of road passage determination. Furthermore, by predicting the movement trajectory of dynamic obstacles, a passageway is generated when the vehicle travels along the path to be driven. This fully considers the problem of vehicles encountering dynamic obstacles and being unable to pass during actual driving, thus improving the accuracy of the vehicle in determining whether the road is passable, and further improving the accuracy of passageway determination. Attached Figure Description
[0018] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of this application. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.
[0019] Figure 1 A flowchart of a vehicle control method provided in this application embodiment Figure 1 .
[0020] Figure 2 This is a schematic diagram of the vehicle's movement provided in an embodiment of this application.
[0021] Figure 3 A flowchart of a vehicle control method provided in this application embodiment Figure 2 .
[0022] Figure 4 A flowchart of a vehicle control method provided in this application embodiment Figure 3 .
[0023] Figure 5 A flowchart of a vehicle control method provided in this application embodiment Figure 4 .
[0024] Figure 6 This is a schematic diagram of the functional modules of a vehicle provided in an embodiment of this application.
[0025] Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0026] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0027] It should be noted that the user information (including but not limited to electrical equipment information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of the relevant data must comply with relevant laws, regulations and standards, and corresponding operation entry points are provided for users to choose to authorize or refuse.
[0028] With the rapid development of autonomous driving technology, the operating scenarios faced by vehicles are becoming increasingly complex and diverse. In real-world environments such as urban areas, residential communities, and parking lots, narrow passages (such as narrow bridges, width-restricted areas, temporary passages formed by construction barriers, and narrow passageways squeezed out by roadside parking) are appearing more and more frequently, becoming one of the core challenges that autonomous driving systems need to overcome. Whether autonomous vehicles can safely and reliably pass through such narrow passages is directly related to their traffic capacity and also greatly affects the user experience of autonomous driving functions.
[0029] In an exemplary technology, static obstacles or boundaries on both sides of the passage are sensed by vehicle-mounted sensors (such as lidar and cameras), the approximate width of the passage is calculated, and then statically compared with the fixed external dimensions of the vehicle.
[0030] However, the passage perceived by the vehicle may not be the passage corresponding to the vehicle's actual driving intention. The perceived passage contains a large number of irrelevant areas, which means that the determined width of the passage is not the effective width on the path of the vehicle's actual driving intention. This can easily lead the vehicle to make the judgment that "the road is passable but is mistakenly judged as infeasible" or "the road is infeasible but is mistakenly judged as feasible", resulting in low accuracy in determining road passability.
[0031] In view of this, embodiments of this application aim to provide a vehicle control method and related equipment. This application generates a driving path for the vehicle by using environmental information about its surroundings. It identifies dynamic and static obstacles along the road within this path, predicts the trajectories of dynamic obstacles, and determines the target time for the vehicle to travel along the path to the area containing the trajectories based on its speed. It also determines the positions of the dynamic obstacles at the target time based on the trajectories. Furthermore, it identifies multiple boundary points of the passageway within the driving path based on the static obstacles and their positions. A passageway is then generated based on these boundary points. If the minimum width of the passageway is greater than the width of the vehicle, the vehicle is controlled to travel along the driving path. In this application, the driving path, representing the vehicle's true driving intention, is generated using environmental information about the vehicle's surroundings. This ensures that the passageway determined by the driving path corresponds to the vehicle's true driving intention, preventing incorrect judgments and improving the accuracy of road passage determination. Furthermore, by predicting the movement trajectory of dynamic obstacles, a passageway is generated when the vehicle travels along the path to be driven. This fully considers the problem of vehicles encountering dynamic obstacles and being unable to pass during actual driving, thus improving the accuracy of the vehicle in determining whether the road is passable, and further improving the accuracy of passageway determination.
[0032] To address the aforementioned technical problems, this application proposes a vehicle control method, as detailed in the following embodiments.
[0033] Figure 1 A flowchart of a vehicle control method provided in this application embodiment Figure 1 .like Figure 1 As shown, the vehicle control method provided in this embodiment includes: Step S101: Obtain environmental information of the vehicle's environment and generate the vehicle's driving path based on the environmental information.
[0034] In this embodiment, the vehicle acquires environmental information about its surroundings via sensors while in motion. This environmental information includes, but is not limited to: 1. Road boundary information, obtained through multi-sensor fusion technology to acquire obstacle information, including but not limited to: Roadside curb types include solid lines, dashed lines, double solid lines, guardrails, and green belt edges, among others. Geometric location information: The precise coordinates of the road boundary in the world coordinate system; 2. Obstacle information: Obstacle information is obtained through multi-sensor fusion technology, including but not limited to: Obstacle type identification: Distinguish between static obstacles (such as guardrails on both sides of the road, parked vehicles, etc.) and dynamic obstacles (such as moving targets such as vehicles, pedestrians, bicycles, and animals). Position and motion status information: includes the precise position coordinates and size parameters of the obstacle in the world coordinate system. For dynamic obstacles, it also includes velocity, acceleration, and direction of motion. Confidence and stability information: This includes the reliability of the sensor's obstacle detection results and its lifespan.
[0035] 3. Vehicle status information, including but not limited to: Location information: Precise vehicle location coordinates, including longitude and latitude, obtained through high-precision GPS, visual positioning systems, etc. Attitude information: Vehicle attitude acquired through sensors such as inertial measurement units, including yaw angle, pitch angle, and roll angle; Motion status information: acquired through devices such as wheel speed sensors and gyroscopes, including the vehicle's instantaneous speed, acceleration, angular velocity, and direction of travel; Geometric information: The physical dimensions of the vehicle, including length, width, wheelbase, front and rear overhangs, etc.
[0036] After obtaining environmental information, a future driving path for the vehicle is generated based on that information. The steps for generating the driving path are as follows: 1. Path planning preprocessing: Planning parameter settings: The vehicle determines the specific circumstances of the driving scenario based on environmental information, and sets the planning parameters of the path planning algorithm based on the environmental information, such as grid resolution; Search boundary determination: The vehicle calculates the search boundary based on its own position, target position, and road boundary information to define the effective range for path planning.
[0037] 2. Environment Modeling: Road boundary transformation: Transform road boundary information into a unified planning coordinate system and convert the points of the road boundary into line segments; Obstacle transformation: Identify and filter static vehicle obstacles, and transform the obstacle target information into a unified planning coordinate system; Application of path planning algorithm: Based on the target destination and the origin of the vehicle, a path planning algorithm is used to perform coarse path planning to obtain the driving path to be determined; Path optimization: The obtained driving path to be determined is discretized, and then an iterative optimization algorithm is used to smooth the discretized path to improve the continuity of the path, thereby obtaining the driving path.
[0038] Reference Figure 2 , Figure 2 A schematic diagram of the path to be traveled generated for the currently moving vehicle. Figure 2 The squares in the diagram represent the grid under the preset coordinate system, and the direction of the horizontal coordinate of the preset coordinate system is the driving direction of the vehicle when it travels along the path to be traveled.
[0039] Step S102: In the environmental information, determine the static and dynamic obstacles on the road where the driving path is located, and predict the movement trajectory of the dynamic obstacles.
[0040] The environmental information includes obstacle information. The vehicle extracts obstacle information from the environmental information and identifies the obstacles in the obstacle information to determine whether they are static or dynamic. For example, if an obstacle does not have a moving speed, it is a static obstacle; if an obstacle has a certain moving speed, it is a dynamic obstacle.
[0041] After identifying dynamic obstacles, predict their movement trajectory.
[0042] In one example, the direction and speed of movement of a dynamic obstacle are obtained. Based on the direction and speed of movement, the trajectory of the dynamic obstacle in the future can be predicted.
[0043] In another example, the vehicle obtains the motion parameters and types of dynamic obstacles from environmental information. Motion parameters include direction and speed, and types include, for example, vehicles, children, the elderly, and animals. The vehicle is equipped with a prediction model trained on multiple training samples. These samples include the motion parameters of the dynamic obstacles at an initial time point, the type of the obstacle, and the actual trajectory of the obstacle. The initial time point is the starting point of the vehicle's movement on the actual trajectory. The prediction model can be a deep learning model. The vehicle inputs the motion parameters and type into the prediction model to obtain the trajectory of the dynamic obstacle. This prediction model enables rapid trajectory prediction, improving the efficiency of determining the feasibility of a passage.
[0044] Step S103: Based on the vehicle speed, determine the target time for the vehicle to travel to the area of the movement trajectory along the path to be traveled, and determine the position of the dynamic obstacle at the target time based on the movement trajectory.
[0045] When a vehicle is traveling along a planned route, it needs to avoid the dynamic obstacle because the obstacle moves along its trajectory. Therefore, the movement of the obstacle needs to be considered when determining the passage.
[0046] To address this, the vehicle acquires its own speed and uses this speed to determine the target time for the vehicle to travel to the area containing the movement trajectory along the planned path. For example, the area containing the movement trajectory is designated as the target area. The vehicle determines the intersection of the planned path and the target area; this intersection, along with the starting point of the planned path, forms a sub-path. The length of the sub-path is divided by the vehicle speed to obtain the target time for the vehicle to reach the target area. The current time is then added to the target time to obtain the target time. After determining the target time, the location of dynamic obstacles on the movement trajectory at the target time is determined. Specifically, each point on the movement trajectory has a corresponding timestamp; the point on the movement trajectory with the timestamp of the target time is used as the location of the dynamic obstacle at the target time.
[0047] Step S104: Based on the static obstacles and their positions, determine multiple boundary points of the passage to be traversed where the path to be traveled is located, and generate the passage to be traversed based on each boundary point.
[0048] Once the location is obtained, multiple boundary points can be determined based on the static obstacles and their locations. Connecting the boundary points on the same side will yield the passage to be traversed. For example, points on the side of the static obstacle closest to the path to be traversed can be used as boundary points, and the positions of the dynamic obstacles at the target time can be used as boundary points.
[0049] In step S105, in response to the minimum width of the passage to be traversed being greater than the width of the vehicle, the vehicle is controlled to travel along the path to be traversed.
[0050] After determining the passageway to be traversed, the vehicle calculates the width of each boundary point within that passageway. For example, using a preset step size, the boundary points of the passageway are traversed along the vehicle's direction of travel, and the vertical distance between the upper and lower boundary points (assuming the vehicle is traveling horizontally) at each traversed boundary point is calculated. This vertical distance is the width of the passageway to be traversed. The vehicle then determines the minimum width among these widths. If the minimum width is greater than the vehicle's width, the vehicle can pass through the passageway and thus travel according to the intended path.
[0051] In this embodiment, a driving path for the vehicle is generated using environmental information about its surroundings. Dynamic and static obstacles on the road along the driving path are identified from this environmental information. The movement trajectories of the dynamic obstacles are predicted. Based on the vehicle's speed, the target time for the vehicle to travel along the driving path to the area containing the movement trajectory is determined. The positions of the dynamic obstacles at the target time are also determined based on the movement trajectories. Multiple boundary points of the passageway along the driving path are then determined based on the static obstacles and their positions. A passageway is generated based on these boundary points. When the minimum width of the passageway is greater than the width of the vehicle, the vehicle is controlled to travel along the driving path. In this embodiment, a driving path representing the vehicle's true driving intention is generated using environmental information about the vehicle's surroundings. This ensures that the passageway determined by the driving path corresponds to the vehicle's true driving intention, preventing incorrect judgments by the vehicle and improving the accuracy of road passage determination. Furthermore, by predicting the movement trajectory of dynamic obstacles, a passageway is generated when the vehicle travels along the path to be driven. This fully considers the problem of vehicles encountering dynamic obstacles and being unable to pass during actual driving, thus improving the accuracy of the vehicle in determining whether the road is passable, and further improving the accuracy of passageway determination.
[0052] Figure 3 A flowchart of a vehicle control method provided in this application embodiment Figure 2 ,based on Figure 1 In the embodiment shown, step S104 includes: Step S301: Transform the static obstacle and its position to a preset coordinate system to obtain multiple first points. These multiple first points are used to characterize the static obstacle and its position in the preset coordinate system.
[0053] In this embodiment, the vehicle transforms the static obstacle and its position to a preset coordinate system. Therefore, there will be multiple points in the preset coordinate system that represent the static obstacle and its position. These points are all defined as first points, that is, multiple first points represent the static obstacle and its position.
[0054] Step S302: Transform the path to be driven to a preset coordinate system to obtain each second point representing the path to be driven in the preset coordinate system.
[0055] The vehicle will transform the path to be traveled to a preset coordinate system, obtaining various second points in the preset coordinate system that guarantee the path to be traveled. This can be understood as the vehicle drawing a map, on which dynamic obstacles, their positions, and the path to be traveled are drawn, and on this map, a preset coordinate system is drawn.
[0056] Furthermore, points representing static obstacles and their positions in the preset coordinate system are all converted into first line segments, and then the first line segments are discretized to obtain multiple first points; points representing the path to be traveled in the preset coordinate system are all converted into second line segments, and then the second line segments are discretized to obtain multiple second points.
[0057] Step S303: Based on the second point, determine the first boundary point of the first side of the passage to be traversed and the second boundary point of the second side of the passage to be traversed in each of the first points.
[0058] After determining multiple first points and multiple second points, based on the second points, the first boundary point of the first layer of the passage to be traversed and the second boundary point of the second side of the passage to be traversed are determined from each of the first points. For example, assuming that the direction of the horizontal coordinate in the preset coordinate system is the driving direction of the vehicle on the path to be traversed, each second point is used as a reference point. The vertical coordinates of the first points and second points with the same horizontal coordinate are compared. If the vertical coordinate of the first point is greater than that of the second point, then the first point is used as the boundary point of the first side of the passage to be traversed, and this boundary point is defined as the first boundary point, that is, the first boundary point is the boundary point above the second point; if the vertical coordinate of the first point is less than that of the second point, then the first point is used as the boundary point of the second side of the passage to be traversed, and this boundary point is defined as the second boundary point, that is, the second boundary point is the boundary point below the second point. It is understandable that the ordinate of the first boundary point is greater than the ordinate of the second point corresponding to the first boundary point, and the first boundary point is the first point whose x-coordinate is the same as the x-coordinate of the second point. The ordinate of the second boundary point is less than the ordinate of the second point corresponding to the second boundary point, and the second boundary point is the first point whose x-coordinate is the same as the x-coordinate of the second point. The direction of the x-coordinate is the direction of travel of the vehicle on the path to be traveled.
[0059] In this embodiment, by converting static obstacles, their positions, and the path to be traveled to a preset coordinate system, the boundary points of the passage to be traversed can be quickly determined.
[0060] Figure 4 A flowchart of a vehicle control method provided in this application embodiment Figure 3 ,based on Figure 3 In the embodiment shown, step S303 includes: Step S401: Based on the second point, determine the first point to be determined on the first side of the passage to be passed among the various first points. The ordinate of the first point to be determined is greater than the ordinate of the second point corresponding to the first point to be determined. The first point to be determined is the first point whose abscissa is the same as the abscissa of the second point.
[0061] Step S402: Based on the second point, determine the second point to be determined on the second side of the passage to be passed among the first points. The ordinate of the second point to be determined is greater than the ordinate of the second point corresponding to the second point. The second point to be determined is the first point whose abscissa is the same as the abscissa of the second point.
[0062] In this embodiment, the vehicle first determines a first point to be determined and a second point to be determined among various first points. The ordinate of the first point to be determined is greater than the ordinate of the second point corresponding to the first point to be determined. The first point to be determined is the first point whose abscissa is the same as the abscissa of the second point. The ordinate of the second point to be determined is greater than the ordinate of the second point corresponding to the second point to be determined. The second point to be determined is the first point whose abscissa is the same as the abscissa of the second point.
[0063] Step S403: Perform a sliding window operation on each first point to be determined according to the set sliding window to obtain multiple first sets, and determine the first point to be determined with the smallest ordinate in each first set as the first boundary point.
[0064] Since there are a large number of first points to be determined, a sliding window mechanism is used to determine the boundary points in order to accurately identify them. For example, each first point to be determined is located above the driving path. A sliding window is used to slide through each first point to be determined above the driving path. Each slide yields a set, which is defined as the first set, and the first set contains multiple first points to be determined.
[0065] The vehicle extracts the first undetermined point with the smallest ordinate from the first set, which is used as the first boundary point. Each first set contains the first undetermined point with the smallest ordinate, thus multiple first boundary points can be obtained.
[0066] Step S404: Perform a sliding window operation on each second point to be determined according to the set sliding window to obtain multiple second sets, and determine the second point to be determined with the largest ordinate in each second set as the second boundary point.
[0067] Because there are a large number of second points to be determined, a sliding window mechanism is used to determine the boundary points in order to accurately identify them. For example, each second point to be determined is located below the driving path. A sliding window is used to slide through each second point below the driving path. Each time the window is slid twice, a set is obtained. This set is defined as the second set, and the second set contains multiple second points to be determined.
[0068] The vehicle extracts the second undetermined point with the smallest ordinate from the second set, which is used as the second boundary point. Each second set contains the second undetermined point with the smallest ordinate, thus multiple second boundary points can be obtained.
[0069] In this embodiment, a sliding window mechanism is used to quickly determine the first boundary point and the second boundary point from multiple first points to be determined and multiple second points to be determined, thereby improving the efficiency of vehicles in determining whether the passage is passable.
[0070] Figure 5 A flowchart of a vehicle control method provided in this application embodiment Figure 4 .based on Figure 3 or Figure 4 In the embodiment shown, step S301 includes: Step S501: Convert the static obstacles and their positions to a preset coordinate system to obtain multiple intermediate points.
[0071] In this embodiment, to improve the classification accuracy of boundary points, the point density can be increased. To this end, the vehicle configures a preset coordinate system on a map containing static obstacles and their locations, and calculates the static obstacles and their locations to obtain multiple points representing the static obstacles and their locations; these points are defined as intermediate points.
[0072] Step S502: Convert each intermediate point into a first line segment, and interpolate adjacent first line segments to obtain a second line segment.
[0073] After obtaining multiple intermediate points, each intermediate point is converted into a line segment of a set length, with the direction of the line segment perpendicular to the horizontal coordinate. The converted line segment is defined as the first line segment.
[0074] The vehicle then performs linear interpolation on the adjacent first line segments to obtain the second line segment. For example, the average of the maximum ordinates of the two adjacent first line segments is calculated, and this average is divided by 2 to obtain a ordinate; the average of the maximum abscissas of the two adjacent first line segments is calculated, and this average is divided by 2 to obtain a ordinate; the two ordinates are connected to obtain the second line segment.
[0075] Step S503: Discretize the first line segment and the second line segment into points to obtain multiple first points.
[0076] Each pair of adjacent first line segments can be interpolated to obtain a second line segment. The vehicle then discretizes the first and second line segments into points, that is, it divides the first and second line segments into points to obtain multiple first points.
[0077] In this embodiment, the static obstacle and its position are transformed to a preset coordinate system to obtain the midpoint, and the midpoint is converted into a first line segment. Then, the adjacent first line segments are interpolated to obtain the second line segment. By discretizing the first and second line segments, dense first points are obtained, thereby improving the classification accuracy of boundary points.
[0078] In one embodiment, when the minimum width of the passageway is less than or equal to the width of the vehicle, it is necessary to determine the target boundary point of the minimum width on the passageway. For example, two boundary points with the same horizontal coordinate on the passageway are connected to form lines, and the length of each line represents the width of the passageway. The endpoint of the line with the minimum length is the target boundary point.
[0079] When the target boundary points are generated by the positions of dynamic obstacles at the target time, then they can be determined. The minimum width of the passage to be passed is caused by dynamic obstacles. To address this, the vehicle speed can be changed so that when the vehicle travels to the area of the moving trajectory at the changed speed, the dynamic obstacles will not obstruct the vehicle's passage. Then, return to the step of determining the target time for the vehicle to travel to the area of the moving trajectory according to the path to be passed, that is, return to step S103.
[0080] If the target boundary point is not generated by the position of the dynamic obstacle at the target time, it can be determined that the minimum width of the passage to be passed is not caused by the dynamic obstacle. Therefore, it can be determined that the vehicle cannot pass through the passage to be passed. Thus, the vehicle outputs a prompt message to indicate that the road ahead is too narrow to pass.
[0081] In this embodiment, when the minimum width of the passage to be passed is less than or equal to the width of the vehicle, it is necessary to determine whether the minimum width is caused by a dynamic obstacle. If it is caused by a dynamic obstacle, the path can be replanned to avoid the situation where the passage to be passed is feasible but is mistakenly judged as impassable, thereby improving the accuracy of determining whether the road is passable. Corresponding to the vehicle control method described above, this application also provides a vehicle. Figure 7 This is a schematic diagram of a vehicle module provided in an embodiment of this application. The vehicle 600 provided in this embodiment includes: The acquisition module 610 is used to acquire environmental information of the vehicle's environment and generate the vehicle's driving path based on the environmental information. The first determining module 620 is used to determine static and dynamic obstacles on the road where the driving path is located from the environmental information, and to predict the movement trajectory of the dynamic obstacles. The second determining module 630 is used to determine the target time for the vehicle to travel to the area of the movement trajectory according to the vehicle speed, and to determine the position of the dynamic obstacle at the target time according to the movement trajectory. The third determining module 640 is used to determine multiple boundary points of the passage to be passed where the driving path is located based on static obstacles and their positions, and to generate the passage to be passed based on each boundary point. The control module 650 is used to control the vehicle to travel along the desired path in response to the minimum width of the passage being greater than the width of the vehicle.
[0082] In some implementations, vehicle 600 is also used for: The static obstacles and their positions are transformed into a preset coordinate system to obtain multiple first points, which are used to characterize the static obstacles and their positions in the preset coordinate system. Transform the path to be driven to a preset coordinate system to obtain each second point representing the path to be driven in the preset coordinate system; Based on the second point, determine the first boundary point of the first side of the passage to be traversed and the second boundary point of the second side of the passage to be traversed in each of the first points; Wherein, the ordinate of the first boundary point is greater than the ordinate of the second point corresponding to the first boundary point, the first boundary point is the first point whose x-coordinate is the same as the x-coordinate of the second point, the ordinate of the second boundary point is less than the ordinate of the second point corresponding to the second boundary point, the second boundary point is the first point whose x-coordinate is the same as the x-coordinate of the second point, and the direction of the x-coordinate is the driving direction of the vehicle on the path to be driven.
[0083] In some implementations, vehicle 600 is also used for: According to the second point, among the various first points, determine the first undetermined point on the first side of the passage to be passed. The ordinate of the first undetermined point is greater than the ordinate of the second point corresponding to the first undetermined point. The first undetermined point is the first point whose abscissa is the same as the abscissa of the second point. Based on the second point, determine the second undetermined point on the second side of the passage to be passed among the various first points. The ordinate of the second undetermined point is greater than the ordinate of the second point corresponding to the second undetermined point. The second undetermined point is the first point whose abscissa is the same as the abscissa of the second point. The sliding window operation is performed on each first point to be determined according to the set sliding window to obtain multiple first sets, and the first point to be determined with the smallest ordinate in each first set is determined as the first boundary point; The sliding window operation is performed on each second point to be determined according to the set sliding window, resulting in multiple second sets. The second point to be determined with the largest ordinate in each second set is determined as the second boundary point.
[0084] In some implementations, vehicle 600 is also used for: The static obstacles and their positions are transformed into a preset coordinate system to obtain multiple intermediate points; Each intermediate point is converted into a first line segment, and adjacent first line segments are interpolated to obtain a second line segment; Discretize the first and second line segments into points to obtain multiple first points.
[0085] In some implementations, vehicle 600 is also used for: In response to the minimum width of the passage to be traversed being less than or equal to the width of the vehicle, the target boundary point of the minimum width on the passage to be traversed is determined; In response to the target boundary point being generated from the location, the vehicle speed is changed, and the process returns to the step of determining the target time for the vehicle to travel to the area of the movement trajectory according to the vehicle speed.
[0086] In some implementations, vehicle 600 is also used for: If the target boundary point is not generated from the target location, a prompt message is output to indicate that the road ahead is too narrow for the vehicle to pass.
[0087] In some implementations, vehicle 600 is also used for: Obtain the motion parameters and types of dynamic obstacles; By inputting motion parameters and type into the prediction model, the dynamic trajectory of the obstacle is obtained from the output of the prediction model.
[0088] The vehicles and vehicle control methods described in the above embodiments of this application belong to the same concept and can execute the vehicle control methods provided in any of the above embodiments of this application. They possess the corresponding functional modules and beneficial effects for executing vehicle control methods. Technical details not described in detail in this embodiment can be found in the specific processing content of the vehicle control methods provided in the above embodiments of this application, and will not be repeated here.
[0089] The functions implemented by the various modules in the vehicle can be implemented by the same or different processors, and this application embodiment does not limit this.
[0090] It should be understood that the modules in the above-described vehicle can be implemented by a processor calling firmware. For example, the system includes a processor connected to a memory containing instructions. The processor calls the instructions stored in the memory to implement any of the above methods or to implement the functions of each module of the device. The processor can be a general-purpose processor, such as a CPU or microprocessor, and the memory can be internal to the device or external to the system. Alternatively, the modules in the system can be implemented as hardware circuits. By designing the hardware circuits, some or all of the module functions can be implemented. The hardware circuit can be understood as one or more processors. For example, in one implementation, the hardware circuit is an ASIC, and the functions of some or all of the above modules are implemented by designing the logical relationships between the components within the circuit. In another implementation, the hardware circuit can be implemented by a PLD, such as an FPGA, which can include a large number of logic gates. The connection relationships between the logic gates are configured through configuration files to implement the functions of some or all of the above modules. All modules of the above-described vehicle can be implemented entirely by a processor calling firmware, entirely by hardware circuits, or partially by a processor calling firmware with the remaining parts implemented by hardware circuits.
[0091] In this application embodiment, a processor is a circuit with signal processing capabilities. In one implementation, the processor can be a circuit with instruction reading and execution capabilities, such as a CPU, microprocessor, GPU, or DSP. In another implementation, the processor can implement certain functions through the logical relationships of hardware circuits. These logical relationships are fixed or reconfigurable. For example, the processor may be a hardware circuit implemented as an ASIC or PLD, such as an FPGA. In a reconfigurable hardware circuit, the process of the processor loading a configuration document and configuring the hardware circuit can be understood as the processor loading instructions to implement the functions of some or all of the above modules. Furthermore, it can also be a hardware circuit designed for artificial intelligence, which can be understood as an ASIC, such as an NPU, TPU, or DPU.
[0092] As can be seen, each module in the above vehicle can be one or more processors (or processing circuits) configured to implement the above methods, such as: CPU, GPU, NPU, TPU, DPU, microprocessor, DSP, ASIC, FPGA, or a combination of at least two of these processor forms.
[0093] Furthermore, the modules in the above-mentioned vehicle can be integrated in whole or in part, or they can be implemented independently. In one implementation, these modules are integrated together and implemented in the form of a System-on-Chip (SoC). The SoC may include at least one processor for implementing any of the above methods or implementing the functions of the modules of the device. The at least one processor may be of different types, such as CPU and FPGA, CPU and artificial intelligence processor, CPU and GPU, etc.
[0094] This application provides another structural schematic diagram of an electronic device, see [link to schematic diagram]. Figure 7 As shown, the electronic device includes a memory 700 and a processor 710; wherein the memory 700 is connected to the processor 710 and is used to store programs; the processor 710 is used to implement the electronic device control method disclosed in any of the above embodiments by running the programs stored in the memory 700.
[0095] Specifically, the aforementioned electronic device may further include: a bus, a communication interface 720, an input device 730, and an output device 740. The electronic device may also include a data transceiver module, an image monitoring module, and a signal monitoring module.
[0096] The processor 710, memory 700, communication interface 720, input device 730, and output device 740 are interconnected via a bus. Among them: A bus can include a pathway for transmitting information between various components in an electronic device.
[0097] The processor 710 can be a general-purpose processor, such as a general-purpose central processing unit (CPU), a microprocessor, etc., or an application-specific integrated circuit (ASIC), or one or more integrated circuits used to control the execution of the program of the present invention. It can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0098] The processor 710 may include a main processor, as well as a baseband chip, modem, etc.
[0099] The memory 700 stores a program that executes the technical solution of this invention, and may also store an operating system and other key business functions. Specifically, the program may include program code, which includes computer operation instructions. More specifically, the memory 700 may include read-only memory (ROM), other types of static storage devices capable of storing static information and instructions, random access memory (RAM), other types of dynamic storage devices capable of storing information and instructions, disk storage, flash memory, etc.
[0100] Input device 730 may include a device for receiving data and information input by a user, such as a keyboard, mouse, camera, scanner, light pen, voice input device, touch screen, pedometer, or gravity sensor.
[0101] Output device 740 may include devices that allow information to be output to a user, such as a display screen, printer, speaker, etc.
[0102] The communication interface 720 may include a device that uses any transceiver to communicate with other devices or communication networks, such as Ethernet, Radio Access Network (RAN), Wireless Local Area Network (WLAN), etc.
[0103] The processor 710 executes the program stored in the memory 700 and calls other devices, which can be used to implement the various steps of any of the electronic device control methods provided in the above embodiments of this application.
[0104] It should be noted that electronic devices can be in-vehicle terminals, mobile phones, wearable devices, or servers, etc.; or, they can include electronic devices such as in-vehicle terminals.
[0105] This application also proposes a chip, which includes a processor and a data interface. The processor reads and runs a program stored in the memory through the data interface to execute the vehicle control method described in any of the above embodiments. For details of the processing and its beneficial effects, please refer to the above-described embodiments of the vehicle control method.
[0106] In addition to the methods and devices described above, embodiments of this application may also be computer program products, which include computer program instructions that, when executed by a processor, cause the processor to perform the steps in the vehicle control methods according to various embodiments of this application as described in any of the above embodiments of this specification.
[0107] Computer program products can be written in any combination of one or more programming languages to perform the operations of the embodiments of this application. The programming languages include object-oriented programming languages such as Java and C++, as well as conventional procedural programming languages such as C or similar languages. The program code can be executed entirely on the user's computing device, partially on the power device, as a standalone firmware package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server.
[0108] Furthermore, embodiments of this application may also be storage media storing computer programs, which are executed by a processor to perform the steps of the vehicle control method according to various embodiments of this application described in any of the above embodiments of this specification, specifically implementing the steps of the above vehicle control method.
[0109] For the foregoing method embodiments, in order to simplify the description, they are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, because according to this application, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily essential to this application.
[0110] It should be noted that the various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For apparatus embodiments, since they are basically similar to method embodiments, the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments.
[0111] The steps in the methods of the various embodiments of this application can be adjusted, merged, or deleted in order according to actual needs, and the technical features described in each embodiment can be replaced or combined.
[0112] The units of the apparatus in the various embodiments of this application can be merged, divided, and deleted according to actual needs.
[0113] It should be understood that the disclosed terminals, devices, and methods can be implemented in other ways, given the several embodiments provided in this application. For example, the terminal embodiments described above are merely illustrative. For instance, the division of modules or sub-modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple sub-modules or modules may be combined or integrated into another module, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, devices, or modules, and may be electrical, mechanical, or other forms.
[0114] The modules or submodules described as separate components may or may not be physically separate. The components that constitute a module or submodule may or may not be physical modules or submodules; that is, they may be located in one place or distributed across multiple network modules or submodules. Some or all of the modules or submodules can be selected to achieve the purpose of this embodiment's solution, depending on actual needs.
[0115] Furthermore, the functional modules or sub-modules in the various embodiments of this application can be integrated into one processing module, or each module or sub-module can exist physically separately, or two or more modules or sub-modules can be integrated into one module. The integrated modules or sub-modules described above can be implemented in hardware or as firmware functional modules or sub-modules.
[0116] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer firmware, or a combination of both. To clearly illustrate the interchangeability of hardware and firmware, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or firmware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0117] The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein can be implemented directly using hardware, firmware units executed by a processor, or a combination of both. The firmware unit can be located in random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art.
[0118] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes the element.
[0119] The above description of the disclosed embodiments enables those skilled in the art to make or use this application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A vehicle control method, characterized in that, include: Obtain environmental information about the vehicle's location and generate the vehicle's driving path based on the environmental information; In the environmental information, static and dynamic obstacles on the road where the driving path is located are identified, and the movement trajectory of the dynamic obstacles is predicted. Based on the vehicle's speed, determine the target time for the vehicle to travel along the path to be traveled to the area where the movement trajectory is located, and determine the position of the dynamic obstacle at the target time based on the movement trajectory; Based on the static obstacles and their positions, determine multiple boundary points of the passage to be traversed where the path to be traveled is located, and generate the passage to be traversed based on each of the boundary points. In response to the minimum width of the passage to be traversed being greater than the width of the vehicle, the vehicle is controlled to travel along the path to be traversed.
2. The vehicle control method according to claim 1, characterized in that, The step of determining multiple boundary points of the passageway where the path to be traveled is located, based on the static obstacle and its position, includes: The static obstacle and its position are transformed to a preset coordinate system to obtain multiple first points, which are used to characterize the static obstacle and its position in the preset coordinate system. The path to be driven is transformed into the preset coordinate system to obtain each second point in the preset coordinate system that represents the path to be driven. Based on the second point, the first boundary point of the first side of the passage to be traversed and the second boundary point of the second side of the passage to be traversed are determined in each of the first points; Wherein, the ordinate of the first boundary point is greater than the ordinate of the second point corresponding to the first boundary point, the first boundary point is a first point whose x-coordinate is the same as the x-coordinate of the second point, the ordinate of the second boundary point is less than the ordinate of the second point corresponding to the second boundary point, the second boundary point is a first point whose x-coordinate is the same as the x-coordinate of the second point, and the direction of the x-coordinate is the driving direction of the vehicle on the path to be driven.
3. The vehicle control method according to claim 2, characterized in that, The step of determining, based on the second point, a first boundary point on the first side of the passage to be traversed and a second boundary point on the second side of the passage to be traversed, among each of the first points, includes: According to the second point, a first point to be determined is determined on the first side of the passage to be passed in each of the first points. The ordinate of the first point to be determined is greater than the ordinate of the second point corresponding to the first point to be determined. The first point to be determined is the first point whose abscissa is the same as the abscissa of the second point. Based on the second point, a second point to be determined is determined on the second side of the passage to be passed in each of the first points. The ordinate of the second point to be determined is greater than the ordinate of the second point corresponding to the second point. The second point to be determined is a first point whose abscissa is the same as the abscissa of the second point. The sliding window operation is performed on each of the first points to be determined according to the set sliding window to obtain multiple first sets, and the first point to be determined with the smallest ordinate in each first set is determined as the first boundary point; The sliding window operation is performed on each of the second points to be determined according to the set sliding window, resulting in multiple second sets. The second point to be determined with the largest ordinate in each second set is determined as the second boundary point.
4. The vehicle control method according to claim 2, characterized in that, The process of transforming the static obstacle and its position to a preset coordinate system to obtain multiple first points includes: The static obstacle and its position are transformed into a preset coordinate system to obtain multiple intermediate points; Each of the intermediate points is converted into a first line segment, and adjacent first line segments are interpolated to obtain a second line segment; Discretize the first line segment and the second line segment into points to obtain multiple first points.
5. The vehicle control method according to claim 1, characterized in that, After generating the passage to be traversed based on each of the boundary points, the method further includes: In response to the minimum width of the passage to be traversed being less than or equal to the width of the vehicle, a target boundary point for the minimum width on the passage to be traversed is determined; In response to the target boundary point being generated from the location, the vehicle speed is changed, and the process returns to the step of determining the target time for the vehicle to travel to the area of the movement trajectory according to the vehicle speed.
6. The vehicle control method according to claim 5, characterized in that, After determining the target boundary point of the minimum width on the passage to be traversed, the method further includes: In response to the fact that the target boundary point is not generated from the target location, a prompt message is output, which indicates that the road ahead of the vehicle is too narrow to pass.
7. The vehicle control method according to any one of claims 1-6, characterized in that, The prediction of the movement trajectory of the dynamic obstacle includes: Obtain the motion parameters of the dynamic obstacle and the type of the dynamic obstacle; The motion parameters and the type are input into the prediction model to obtain the movement trajectory of the dynamic obstacle output by the prediction model.
8. A vehicle, characterized in that, include: The acquisition module is used to acquire environmental information of the vehicle's environment and generate the vehicle's driving path based on the environmental information. The first determining module is used to determine, from the environmental information, static obstacles and dynamic obstacles on the road where the path to be traveled is located, and to predict the movement trajectory of the dynamic obstacles; The second determining module is used to determine, based on the vehicle speed, the target time when the vehicle travels along the path to be traveled to the area where the movement trajectory is located, and to determine the position of the dynamic obstacle at the target time based on the movement trajectory; The third determining module is used to determine multiple boundary points of the passage to be traversed where the path to be traveled is located based on the static obstacles and the positions, and to generate the passage to be traversed based on each of the boundary points. The control module is used to control the vehicle to travel along the path to be traveled in response to the minimum width of the passage to be passed being greater than the width of the vehicle.
9. An electronic device, characterized in that, Including memory and processor, among which, The memory is connected to the processor and is used to store programs; The processor is used to implement the vehicle control method as described in any one of claims 1-7 by running the program in the memory.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, which, when executed by a processor, implements the vehicle control method as described in any one of claims 1-7.