An intelligent driving method, device, storage medium and computer program

By acquiring environmental and state information from the ADAS system to determine control points and using a Kalman filter to generate control trajectories, the problems of high computing power and complex logic in ADAS systems are solved, achieving efficient smooth transition of multiple characteristics and improved system performance.

CN122166138APending Publication Date: 2026-06-09YINWANG INTELLIGENT TECHNOLOGIES CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
YINWANG INTELLIGENT TECHNOLOGIES CO LTD
Filing Date
2021-03-01
Publication Date
2026-06-09

AI Technical Summary

Technical Problem

When processing environmental information, ADAS systems need to generate multiple trajectory lines to support different characteristics, resulting in high computing power requirements, poor system scalability, and complex characteristic switching logic.

Method used

By acquiring environmental and vehicle status information, the control point at the current moment is determined, and a Kalman filter is used to generate a control trajectory, reducing computing power requirements and achieving smooth transitions between multiple characteristics without the need for preprocessing multiple trajectory lines and state machine switching.

Benefits of technology

It reduces the computing power requirements of ADAS systems, improves system performance, and achieves smooth transitions and logical simplification between multiple features.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122166138A_ABST
    Figure CN122166138A_ABST
Patent Text Reader

Abstract

A smart driving method, device, storage medium, and computer program are disclosed, which can be used for advanced driver assistance systems (ADAS) and autonomous driving. The method includes: acquiring environmental information surrounding the vehicle and the vehicle's current state information; determining a control point based on the environmental and state information; and generating a control trajectory for the current moment based on the control point, historical control trajectories, and state information. This control trajectory represents the path used to guide the vehicle's movement. By concentrating the influence of environmental information on characteristics at the control point and generating the control trajectory at the current moment through the control point, the control requirements of different scenarios are met. Furthermore, it eliminates the need to pre-process environmental information to generate multiple trajectory lines, significantly reducing the computational requirements. By using the priority and corresponding weight information of multiple information sources, switching between different characteristics is achieved, ensuring a smooth transition between multiple characteristics or scenarios and improving the performance of the advanced driver assistance system.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application. The original application has the application number 202180000458.5 and the original application date is March 1, 2021. The entire contents of the original application are incorporated herein by reference. Technical Field

[0002] This application relates to the field of autonomous driving technology, and in particular to an intelligent driving method, device, storage medium, and computer program. Background Technology

[0003] In Advanced Driver Assistance Systems (ADAS), the vehicle's sensors perceive and fuse information about the surrounding environment, and then perform path planning and vehicle control based on this information to assist the driver.

[0004] Currently, the features (also known as functions) in ADAS can include one or more of the following: Adaptive Cruise Control (ACC), Lane Keep Assistance (LKA), Traffic Jam Assistance (TJA), Auto Lane Change (ALC), Semi-Auto Lane Change (SLC), Collision Avoidance Assistance (CAA), Lane Center Control (LCC), Object Follow (OBF), etc. In some ADAS system architectures, the control trajectory corresponding to each feature is generated based on multiple trajectory lines. To support different features, environmental information needs to be processed to generate multiple trajectory lines, which places high demands on the computing power of the ADAS system. At the same time, the switching between the above-mentioned different features is implemented using a state machine, and the switching conditions and transition logic are relatively complex. In addition, the system has poor scalability. If a new feature is added, a new trajectory line for that feature needs to be generated, and the state machine needs to be adjusted. Summary of the Invention

[0005] This application proposes an intelligent driving method, device, storage medium, and computer program.

[0006] In a first aspect, embodiments of this application provide an intelligent driving method, the method comprising: acquiring environmental information surrounding the vehicle at the current moment and state information of the vehicle at the current moment; determining a control point at the current moment based on the environmental information and the state information; and generating a control trajectory at the current moment based on the control point, a control trajectory from a previous moment, and the state information, wherein the control trajectory represents a trajectory used to guide the vehicle's driving.

[0007] Based on the above technical solution, the control point at the current moment can be determined according to the environmental information around the vehicle and the vehicle's status information at the current moment. Then, the control trajectory at the current moment can be generated based on the control point, the control trajectory at the historical moment, and the vehicle's status information at the current moment. In this way, the influence of environmental information on characteristics is concentrated on a point in space (i.e., the control point). The control trajectory at the current moment can be generated through the control point, which can meet the control requirements under different scenarios. Moreover, there is no need to preprocess the environmental information to generate multiple trajectory lines, which greatly reduces the requirements for computing power and thus improves the performance of the ADAS system.

[0008] According to the first aspect, in a first possible implementation of the first aspect, determining the control point at the current moment based on the environmental information and the state information includes: determining the control point at the current moment sequentially based on the preset priority information of each first object in the environmental information and the state information.

[0009] Based on the above technical solution, the control point at the current moment is determined sequentially according to the preset priority information and state information of each first object in the environmental information. In this way, by using multiple information sources (i.e., each first object in the environmental information) and sorting them according to the priority of each information source, the position of the control point in different scenarios is changed to determine the control point at the current moment, thereby realizing multiple features (such as OBF, LKA, TJA, LCC, etc.). At the same time, the switching between different features is realized according to the priority of multiple information sources, ensuring a smooth transition between multiple features or scenarios, and eliminating the need to use a state machine to realize the switching between different features, thus reducing the logical complexity.

[0010] According to the first possible implementation of the first aspect, in the second possible implementation of the first aspect, the first object includes at least: a lane line of the self-lane, a target vehicle, and a vehicle in the adjacent lane; wherein the priorities of the lane line of the self-lane, the target vehicle, and the vehicle in the adjacent lane decrease sequentially; the step of sequentially determining the control point at the current moment according to the preset priority information of each first object in the environmental information and the state information includes: if the lane line of the self-lane exists, taking the position point corresponding to a preset distance on the lane line of the self-lane and meeting preset conditions as the control point at the current moment, wherein the preset distance is determined based on the state information; if the lane line of the self-lane does not exist, then if the target vehicle exists, taking the position point corresponding to the target vehicle and meeting preset conditions as the control point at the current moment; if the lane line of the self-lane does not exist and the target vehicle does not exist, then if the vehicle in the adjacent lane exists, taking the position point projected by the vehicle in the adjacent lane onto the self-lane and meeting preset conditions as the control point at the current moment.

[0011] Based on the above technical solution, the control point at the current moment can be determined based on the lane lines of the vehicle's own lane in the environmental information surrounding the vehicle at the current moment, thereby realizing features such as LCC and LKA; the control point at the current moment can be determined based on CIPV in the environmental information surrounding the vehicle at the current moment, thereby realizing features such as TJA and OBF; the control point at the current moment can be determined based on vehicles in adjacent lanes in the environmental information surrounding the vehicle at the current moment, thereby realizing features such as TJA and LKA. In this way, by using the lane lines of the own lane, the target vehicle, and vehicles in adjacent lanes in a priority order, the position of the control point in different scenarios can be changed. The control point at the current moment is determined based on the highest priority object existing in the environmental information, thereby realizing multiple features (such as LCC, LKA, OBF, TJA, etc.). At the same time, the switching between different features can be realized based on the priority of the lane lines of the own lane, the target vehicle, and vehicles in adjacent lanes, ensuring a smooth transition between multiple features or scenarios.

[0012] According to the first or second possible implementation of the first aspect, in the third possible implementation of the first aspect, the step of determining the control point at the current moment in sequence according to the preset priority information of each first object in the environmental information and the state information includes: obtaining the position point corresponding to the first object with the highest priority; determining whether there is a second object in the preset area, the second object being the avoidable object of the vehicle in the environmental information; when the second object exists, offsetting the position point corresponding to the first object, and using the offset position point as the control point at the current moment.

[0013] Based on the above technical solution, when a second object exists in the preset area, it indicates that if a control trajectory is generated based on the position point corresponding to the first object obtained above, and the vehicle is controlled to drive according to the control trajectory, there is a risk of colliding with the second object. At this time, the position point corresponding to the first object is offset, and the offset position point is used as the control point at the current moment, thereby avoiding collision with the second object. In this way, based on the first object, according to the priority sorting method, and combined with the existing second object, the position of the control point in different scenarios is changed together to determine the control point at the current moment. This can realize multiple features (such as CAA, curb distance, etc.) and ensure a smooth transition between multiple features or scenarios.

[0014] According to the third possible implementation of the first aspect, in the fourth possible implementation of the first aspect, the second object includes a hard boundary of the lane; the preset area is an area of ​​a preset size centered on the position point corresponding to the first object; the step of offsetting the position point corresponding to the first object when the second object exists, and using the offset position point as the control point at the current moment, includes: when the hard boundary of the lane exists, offsetting the position point corresponding to the first object so that the hard boundary is outside the area of ​​a preset size centered on the offset position point, and the offset position point is inside the lane; using the offset position point as the control point at the current moment.

[0015] Based on the above technical solution, when a hard boundary exists in the lane, the position point corresponding to the first object is offset so that the hard boundary is outside the area of ​​a preset size centered on the offset position point, and the offset position point is within the lane. The offset position point is then used as the control point at the current moment. This control point is far away from the hard boundary of the lane, so that when the vehicle travels according to the control trajectory generated by this control point, it avoids colliding with the hard boundary. In this way, based on the first object, the position of the control point in different scenarios is changed in a priority order and combined with the hard boundary to determine the control point at the current moment. This can achieve multiple characteristics (such as roadside distance) and ensure a smooth transition between multiple characteristics or scenarios.

[0016] According to the third possible implementation of the first aspect, in the fifth possible implementation of the first aspect, the second object includes an obstacle; the preset area is a preset-sized area in front of the vehicle in the lane; the step of offsetting the position point corresponding to the first object when the second object exists, and using the offset position point as the control point at the current moment, includes: when the obstacle exists, offsetting the position point corresponding to the first object according to the weight information corresponding to the obstacle, so that the obstacle is outside the preset-sized area centered on the offset position point, and the offset position point is within the lane; wherein, the weight information represents the degree to which the vehicle avoids the obstacle; and using the offset position point as the control point at the current moment.

[0017] Based on the above technical solution, considering that the actions of the vehicle to avoid obstacles are different in different scenarios, the weight information corresponding to the obstacle is used to represent the degree of obstacle avoidance of the vehicle in different scenarios. According to the weight information corresponding to the obstacle, the position point corresponding to the first object is offset, thereby realizing the position point offset in different scenarios. The offset position point is used as the control point at the current moment. This control point is far away from the obstacle, so that when the vehicle travels according to the control trajectory generated by the control point, it avoids colliding with the obstacle. In this way, based on the priority sorting of the first object, combined with the obstacle and the weight information corresponding to the obstacle, the position of the control point in different scenarios is changed to determine the control point at the current moment, thereby realizing multiple features (such as CAA and other characteristics) and ensuring a smooth transition between multiple features or scenarios.

[0018] According to the fifth possible implementation of the first aspect, in the sixth possible implementation of the first aspect, the value of the weight information is determined by at least one of the headway (THW), time to collision (TTC), and intrusion width (IVW), wherein the value of the weight information is negatively correlated with the THW, negatively correlated with the TTC, and positively correlated with the IVW.

[0019] Based on the above technical solution, the value of the weight information is negatively correlated with THW, that is, the smaller the THW, the more obvious the vehicle's obstacle avoidance action. The value of the weight information is negatively correlated with TTC, that is, the smaller the TTC, the more obvious the vehicle's obstacle avoidance action. The value of the weight information is positively correlated with IVW, that is, the larger the IVW, the more obvious the vehicle's obstacle avoidance action. In this way, by changing the position of the control point in different scenarios according to the corresponding weight information values, the control point at the current moment is determined, and a smooth transition between different scenarios is achieved.

[0020] According to the first aspect, in the seventh possible implementation of the first aspect, generating the control trajectory at the current moment based on the control point, the control trajectory at the historical moment, and the state information includes: generating the control trajectory at the current moment using a Kalman filter based on the control point, the control trajectory at the historical moment, and the state information.

[0021] Based on the above technical solution, the Kalman filter has time continuity. The position information of the control point at the current moment, the control trajectory at the historical moment and the current vehicle status information are input into the Kalman filter. The control trajectory at the current moment is generated by using the continuity of the control point in the spatial domain. This meets the control requirements under different scenarios, greatly reduces the requirements for computing power, and improves the system performance.

[0022] Secondly, embodiments of this application provide an intelligent driving device, the device comprising: an acquisition module, configured to acquire environmental information surrounding the vehicle at the current moment and state information of the vehicle at the current moment; a determination module, configured to determine a control point at the current moment based on the environmental information and the state information; and a generation module, configured to generate a control trajectory at the current moment based on the control point, a control trajectory from a historical moment, and the state information, wherein the control trajectory represents a trajectory used to guide the vehicle's driving.

[0023] According to the second aspect, in a first possible implementation of the second aspect, the determining module is further configured to: sequentially determine the control point at the current moment based on the preset priority information of each first object in the environmental information and the status information.

[0024] According to the first possible implementation of the second aspect, in the second possible implementation of the second aspect, the first object includes at least one of the lane line of the self-lane, the target vehicle, and the vehicle in the adjacent lane; wherein the priority of the lane line of the self-lane, the target vehicle, and the vehicle in the adjacent lane decreases sequentially; the determining module is further configured to: when the lane line of the self-lane exists, take the position point on the lane line of the self-lane corresponding to a preset distance and meeting preset conditions as the control point at the current moment; the preset distance is determined based on the state information; if the lane line of the self-lane does not exist, then when the target vehicle exists, take the position point corresponding to the target vehicle and meeting preset conditions as the control point at the current moment; if the lane line of the self-lane does not exist and the target vehicle does not exist, then when the vehicle in the adjacent lane exists, take the position point of the vehicle in the adjacent lane projected onto the self-lane and meeting preset conditions as the control point at the current moment.

[0025] According to the first or second possible implementation of the second aspect, in the third possible implementation of the second aspect, the determining module is further configured to: obtain the position point corresponding to the first object with the highest priority; determine whether there is a second object in the preset area, the second object being the avoidance object of the vehicle in the environmental information; when the second object exists, perform offset processing on the position point corresponding to the first object, and use the offset position point as the control point at the current moment.

[0026] According to the third possible implementation of the second aspect, in the fourth possible implementation of the second aspect, the second object includes a hard boundary of the lane; the preset area is an area of ​​a preset size centered on the position point corresponding to the first object; the determining module is further configured to: when the hard boundary of the lane exists, offset the position point corresponding to the first object so that the hard boundary is outside the area of ​​a preset size centered on the offset position point, and the offset position point is inside the lane; and use the offset position point as the control point at the current moment.

[0027] According to the third possible implementation of the second aspect, in the fifth possible implementation of the second aspect, the second object includes an obstacle; the preset area is a preset-sized area in front of the vehicle in the lane; the determining module is further configured to: when the obstacle exists, offset the position point corresponding to the first object according to the weight information corresponding to the obstacle, so that the obstacle is outside the preset-sized area centered on the offset position point, and the offset position point is within the lane; wherein, the weight information represents the degree to which the vehicle avoids the obstacle; and use the offset position point as the control point at the current moment.

[0028] According to the fifth possible implementation of the second aspect, in the sixth possible implementation of the second aspect, the value of the weight information is determined by at least one of the headway (THW), time to collision (TTC), and intrusion width (IVW), wherein the value of the weight information is negatively correlated with the THW, negatively correlated with the TTC, and positively correlated with the IVW.

[0029] According to the second aspect, in the seventh possible implementation of the second aspect, the generation module is further configured to: generate the control trajectory at the current moment using a Kalman filter based on the control point at the current moment, the control trajectory at the historical moment, and the state information.

[0030] For the technical effects of the second aspect and its various possible implementations, please refer to the first aspect above.

[0031] Thirdly, embodiments of this application provide an intelligent driving device, including: a processor; a memory for storing processor-executable instructions; wherein the processor is configured to implement one or more of the intelligent driving methods described in the first aspect or various possible implementations of the first aspect when executing the instructions.

[0032] For the technical effects of the third aspect mentioned above, please refer to the first aspect mentioned above.

[0033] Fourthly, embodiments of this application provide a non-volatile computer-readable storage medium storing computer program instructions thereon, which, when executed by a processor, implement one or more of the intelligent driving methods described in the first aspect or various possible implementations of the first aspect.

[0034] For the technical effects of the fourth aspect mentioned above, please refer to the first aspect mentioned above.

[0035] Fifthly, embodiments of this application provide a computer program product containing instructions that, when run on a computer, cause the computer to perform one or more of the intelligent driving methods described in the first aspect or various possible implementations of the first aspect.

[0036] For the technical effects of the fifth aspect mentioned above, please refer to the first aspect mentioned above.

[0037] Sixthly, embodiments of this application also provide a vehicle, the vehicle including one or more of the intelligent driving devices described in the second aspect or various possible implementations of the second aspect.

[0038] For the technical effects of the sixth aspect mentioned above, please refer to the first aspect mentioned above.

[0039] Seventhly, embodiments of this application also provide an autonomous driving assistance system, the system comprising: a preprocessing layer, a planning layer, a decision layer, and a control layer; wherein, the preprocessing layer is used to generate environmental information surrounding the vehicle at the current moment; the planning layer is used to determine a control point at the current moment based on the environmental information and the vehicle's state information at the current moment; and to generate a control trajectory at the current moment based on the control point, control trajectories from historical moments, and the state information; the control trajectory represents a trajectory used to guide the vehicle's driving; the decision layer is used to determine whether the control trajectory is applicable to the vehicle's operating state at the current moment; and the control layer is used to generate a control signal at the current moment based on the control trajectory if the control trajectory is applicable to the vehicle's operating state at the current moment, the control signal being used for assisted driving of the vehicle.

[0040] According to the seventh aspect, in a first possible implementation of the seventh aspect, the planning layer is further configured to: determine the control point at the current moment in sequence based on the preset priority information of each first object in the environmental information and the state information.

[0041] According to the first possible implementation of the seventh aspect, in the second possible implementation of the seventh aspect, the planning layer is further configured to: obtain the position point corresponding to the first object with the highest priority; determine whether there is a second object in the preset area, the second object being the obstacle to be avoided by the vehicle in the environmental information; when the second object exists, perform offset processing on the position point corresponding to the first object, and use the offset position point as the control point at the current moment.

[0042] For the technical effects of the seventh aspect and its various possible implementations, please refer to the first aspect above. Furthermore, based on the seventh aspect, if there are new features, it is only necessary to add processing for the objects corresponding to the features in the preprocessing layer of the system. Information such as the priority of the newly added specific corresponding objects can also be set. It is not necessary to generate new trajectory lines for the features, nor is it necessary to adjust the state machine. The system has high scalability.

[0043] These and other aspects of this application will become more apparent in the description of the following embodiments(s). Attached Figure Description

[0044] Figure 1 A schematic diagram illustrating an application scenario to which an intelligent driving method according to an embodiment of this application is applicable; Figure 2 A flowchart illustrating an intelligent driving method according to an embodiment of this application is shown; Figure 3 This diagram illustrates a flowchart of determining a control point at the current moment according to an embodiment of this application; Figure 4 A schematic diagram illustrating various vehicle lane intrusions according to an embodiment of this application is shown; Figure 5 An embodiment of this application is shown. Figure 4 A schematic diagram illustrating the positional shift of various vehicle intrusions into the lane. Figure 6 A schematic diagram of a weight body function according to an embodiment of this application is shown; Figure 7 A schematic diagram of another weight body function according to an embodiment of this application is shown; Figure 8 This diagram illustrates a flowchart of determining a control point at the current moment according to an embodiment of this application; Figure 9This diagram illustrates an embodiment of the present application of implementing OBF characteristics using control points; Figure 10 This diagram illustrates an embodiment of the present application of implementing LCC characteristics using control points; Figure 11 This diagram illustrates a method for implementing TJA features using control points according to an embodiment of this application. Figure 12 This diagram illustrates an embodiment of the present application of ALC / SLC features implemented using control points. Figure 13 A comparative diagram showing an embodiment of intelligent driving according to this application is provided. Figure 14 A schematic diagram showing a lateral offset velocity curve according to an embodiment of this application; Figure 15 This diagram shows a structural schematic of an intelligent driving device according to an embodiment of the present application; Figure 16 This diagram illustrates an ADAS system architecture according to an embodiment of the present application. Figure 17 A schematic diagram of the structure of another intelligent driving device according to an embodiment of this application is shown. Detailed Implementation

[0045] Various exemplary embodiments, features, and aspects of this application will now be described in detail with reference to the accompanying drawings. The same reference numerals in the drawings denote elements that have the same or similar functions. Although various aspects of the embodiments are shown in the drawings, they are not necessarily drawn to scale unless specifically indicated otherwise.

[0046] The term “exemplary” as used herein means “serving as an example, embodiment, or illustration.” Any embodiment illustrated herein as “exemplary” is not necessarily to be construed as superior to or better than other embodiments.

[0047] This application provides an intelligent driving method, which can be executed by an intelligent driving device, wherein the intelligent driving device can be set up independently, integrated into other devices, or implemented through software or a combination of software and hardware.

[0048] For example, this intelligent driving device can be applied to ADAS or Automated Driving System (ADS), as well as to scenarios such as Device to Device Communication (D2D), Vehicle to Everything (V2X), Vehicle to Vehicle (V2V), Long Term Evolution-Vehicle (LTE-V), and Long Term Evolution-Machine (LTE-M).

[0049] For example, the intelligent driving device may be a vehicle with a control trajectory generation function, or other components with a control trajectory generation function. The intelligent driving device includes, but is not limited to, sensors such as: an on-board terminal, an on-board controller, an on-board module, an on-board unit, an on-board component, an on-board chip, an on-board unit, on-board radar, or an on-board camera. The vehicle can implement the intelligent driving method provided in this application through the on-board terminal, on-board controller, on-board module, on-board unit, on-board component, on-board chip, on-board unit, on-board radar, or camera.

[0050] For example, the intelligent driving device can also be a smart terminal other than a vehicle that has a control trajectory generation function, or it can be installed in a smart terminal other than a vehicle that has a control trajectory generation function, or it can be installed in a component of the smart terminal. The smart terminal can be other terminal devices such as intelligent transportation equipment, smart home equipment, robots, and drones. The intelligent driving device includes, but is not limited to, the smart terminal or the controller, chip, radar or camera and other sensors, and other components within the smart terminal.

[0051] For example, the intelligent driving device can be a general-purpose device or a special-purpose device. In specific implementations, the intelligent driving device can also be a desktop computer, a laptop computer, a network server, a cloud server, a handheld digital assistant (PDA), a mobile phone, a tablet computer, a wireless terminal device, an embedded device, or other devices with processing capabilities.

[0052] For example, the intelligent driving device can also be a chip or processor with processing capabilities, and the intelligent driving device may include multiple processors. The processor can be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor. The chip or processor with processing capabilities can be located in the sensor, or it can be located at the receiving end of the sensor output signal instead of in the sensor.

[0053] For ease of description, this application embodiment takes the application of an intelligent driving device in an ADAS system as an example to illustrate the provided intelligent driving method.

[0054] The intelligent driving method provided in the embodiments of this application will be described in detail below.

[0055] Figure 1 A schematic diagram illustrating an application scenario to which an intelligent driving method according to an embodiment of this application is applicable. For example... Figure 1 As shown, the application scenario can be an advanced driver assistance system (ADAS) scenario, which includes: a vehicle 401, which is equipped with at least one sensor (not shown in the figure) and an intelligent driving device (not shown in the figure). The sensor is used to perceive environmental information around the vehicle 401, such as the lane line 403 of the vehicle's own lane (i.e., the lane where the vehicle is located), the lane line 404 of the adjacent lane (i.e., the lane adjacent to the vehicle's own lane), the road edge boundary 405, pedestrians 406, construction area 407, other vehicles (e.g., vehicles in front 402, vehicles on the side (not shown in the figure), vehicles behind (not shown in the figure)), etc. The sensor transmits the perceived environmental information to the intelligent driving device, which is used to execute the intelligent driving method in the embodiments of this application.

[0056] It should be noted that, Figure 1 The diagram only shows one vehicle, one other vehicle, three lanes, one pedestrian, and one construction area. It should be understood that the application scenario may include more or fewer vehicles, lanes, and obstacles, etc., which are not shown here.

[0057] Furthermore, the application scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application. Those skilled in the art will understand that the technical solutions provided in the embodiments of this application are also applicable to similar technical problems in the face of other similar or new application scenarios.

[0058] Figure 2 A flowchart illustrating an intelligent driving method according to an embodiment of this application is shown. Figure 2 As shown, this method can be applied to the above. Figure 1 The method may include the following steps: Step 501: The intelligent driving device acquires the environmental information around the vehicle and the status information of the vehicle at the current moment.

[0059] The environmental information refers to one or more objects in the environment surrounding the vehicle and their attribute information. Examples include lane lines of the vehicle's lane, road edges, lane lines of adjacent lanes, target vehicles, oncoming traffic, vehicles to the side, vehicles behind, vehicles in adjacent lanes, pedestrians, traffic lights, buildings, trees, construction areas, etc., along with their position, speed, acceleration, orientation, distance, and other attribute information. For example, the environmental information surrounding the vehicle can be perceived using sensors such as radar (e.g., millimeter-wave radar, lidar, ultrasonic radar) and image acquisition devices (e.g., cameras) installed around the vehicle.

[0060] The vehicle's status information can include driving and riding status information, motion status information, etc. Motion status information represents the vehicle's kinematic state, such as speed, acceleration, yaw rate, steering angle, turning radius, vehicle position, and attitude. For example, this operational status information can be acquired in real time using sensors installed inside the vehicle. Driving and riding status information represents parameters set by the driver, such as the driver's set cruise speed, following distance, headway, lane change command, and lane change duration. For example, driving and riding status information can be received from the driver via a display screen, physical buttons on the steering wheel, or voice input.

[0061] It should be noted that the velocity, acceleration, and distance of each object in the surrounding environment can be the relative velocity, relative acceleration, and relative distance of each object relative to the vehicle; the position and orientation of each object can be its position or orientation in the vehicle coordinate system. The vehicle coordinate system describes the relative positional relationship between the objects around the vehicle and the vehicle itself. The conversion relationship between the coordinate systems of each sensor and the vehicle coordinate system can be pre-calibrated to determine the coordinates of each object in the vehicle coordinate system based on the data collected by the sensors. In this embodiment, unless otherwise specified, the position of each object refers to its coordinates in the vehicle coordinate system. For example, with the projection of the rear (wheel) axle center onto the ground as the three-dimensional origin, the forward direction of the vehicle body is the positive X-axis, the leftward direction along the rear axle axis is the positive Y-axis, and the upward direction is the positive Z-axis, thus forming the corresponding vehicle coordinate system XYZ.

[0062] Step 502: The intelligent driving device determines the control point at the current moment based on the environmental information around the vehicle and the vehicle's status information.

[0063] Among them, the control point, also known as the virtual point, can be a point on an object in the environment surrounding the vehicle, such as the midpoint of the rear bumper of the target vehicle, or a point on the lane line of the vehicle at a certain distance from the vehicle, and so on. The control point can also be a point outside the environment surrounding the vehicle, such as a point between the left and right lane lines of the vehicle, or a point at a certain distance directly in front of the vehicle, and so on.

[0064] The following is an exemplary description of how to determine the control point at the current moment in this step. Method 1: A unique control point at the current moment can be determined based on the first object contained in the vehicle's surrounding environment information and the vehicle's status information (such as driving status information).

[0065] In one possible implementation, the control point at the current moment can be determined sequentially based on the preset priority information of each first object in the environmental information and the driving status information at the current moment. In one example, the highest-priority first object existing in the environmental information can be determined based on the preset priority information of each first object, and the control point at the current moment can be determined based on this highest-priority first object. For example, based on the preset priority information of each first object, it can be determined sequentially whether each first object exists in the environmental information around the vehicle at the current moment; when it is determined that a first object exists in the environmental information around the vehicle at the current moment, the control point at the current moment can be determined based on the existing first object.

[0066] The first object can include reference objects for the vehicle's movement, such as lane lines in the vehicle's own lane, target vehicles, vehicles in adjacent lanes, etc. Different first objects correspond to different characteristics, such as OBF, LKA, TJA, LCC, etc. The preset priority can also represent the priority order of processing various characteristics in the ADAS system. For example, the preset priorities of lane lines in the vehicle's own lane, target objects, and lane lines in adjacent lanes decrease sequentially. Thus, based on the preset priority information of each first object in the environmental information and the driving status information, the control point at the current moment is determined sequentially. By using multiple information sources (i.e., each first object in the environmental information) and according to the priority order of each information source, the position of the control point in different scenarios is changed to determine the control point at the current moment, thereby realizing multiple characteristics (such as OBF, LKA, TJA, LCC, etc.). Simultaneously, based on the priority of multiple information sources, the switching between different characteristics is realized, ensuring a smooth transition between multiple characteristics or scenarios. There is no need to use a state machine to switch between different characteristics, reducing logical complexity.

[0067] It should be noted that different ADAS solutions may include one or more features, with different features corresponding to different first objects. The number of features, the type of first object, and the preset priority of each type can be pre-configured by the ADAS system or set by the driver.

[0068] For example, the first object may include: the lane line of the vehicle's own lane, the closest in-path vehicle (CIPV) in the lane where the vehicle is located (i.e., the target vehicle), and vehicles in adjacent lanes; wherein the priority of the lane line of the vehicle's own lane, CIPV, and vehicles in adjacent lanes decreases in that order. If the lane line of the vehicle's own lane exists, the position point on the lane line of the vehicle's own lane that corresponds to a preset distance and meets preset conditions is used as the control point at the current moment; if the lane line of the vehicle's own lane does not exist, then if the CIPV exists, the position point corresponding to the CIPV that meets preset conditions is used as the control point at the current moment; if the CIPV also does not exist, then if a vehicle in an adjacent lane exists, the position point of the adjacent lane projected onto the vehicle's own lane that meets preset conditions is used as the control point at the current moment.

[0069] The presence of lane lines, CIPV (Continuous Interchange Vehicle) in the vehicle's lane, and vehicles in adjacent lanes indicates that the vehicle's sensors can detect these data. This data must also meet preset requirements for stability and accuracy. Preset conditions may include: the location point being within the reachable range of the vehicle in its current driving state. For example, if the vehicle is currently moving forward, the preset condition is that the X-axis coordinate of the location point is greater than 3m. That is, if the location point is in front of the vehicle and its X-axis coordinate is greater than 3m, the preset condition is met; if the location point is behind or to the side of the vehicle, the preset condition is not met. Preset distances can be determined based on driving status information. For example, if the driver sets a following distance of 15-40m, the preset distance may include: the X-axis coordinate of the location point being 15-40m, etc., meaning the distance taken from a location on the lane line that is 15-40m longitudinally from the vehicle. The position point corresponding to the preset distance on the lane line of the self-lane can be a point at the preset distance on the lane line of the self-lane, or a point projected onto the center line of the lane line of the self-lane, etc.; the position point corresponding to the CIPV can be the center point of the CIPV's rear bumper, or a point projected onto the center line of the lane line of the self-lane, etc. The projection point of a vehicle in the adjacent lane onto the self-lane can be the projection point of the center point of the rear bumper of the adjacent vehicle projected laterally onto the self-lane. For example, the projection point corresponding to the center point of the rear bumper of the vehicle in the adjacent lane to the left of the self-lane is the point corresponding to the lateral movement of the center point of the rear bumper of the vehicle to the right by a certain distance (such as one lane width). Here, the lateral direction is perpendicular to the driving direction indicated by the lane line, and the longitudinal direction is the driving direction indicated by the lane line.

[0070] For example, Figure 3 This document illustrates a flowchart of determining a control point at the current time according to an embodiment of this application, as shown below. Figure 3As shown, the intelligent driving device first determines whether lane lines exist in the environmental information for its own lane. If lane lines exist, it acquires the position point corresponding to a preset distance on the lane lines. If this position point meets preset conditions, it is used as the control point at the current moment. If the position point does not meet the preset conditions, the system exits the ADAS and prompts the driver to take over vehicle control. If lane lines do not exist, it further determines whether CIPV (Continuous Interchange Vehicle) exists in the environmental information. If CIPV exists, it acquires the position point corresponding to the CIPV. If this position point meets preset conditions, it is used as the control point at the current moment. If this position point does not meet the preset conditions, the system exits the ADAS and prompts the driver to take over vehicle control. If CIPV does not exist, it further determines whether vehicles exist in adjacent lanes. If vehicles exist in adjacent lanes, it acquires the position point of the vehicle's projection onto its own lane. If this position point meets preset conditions, it is used as the control point at the current moment. If this position point does not meet the preset conditions, the system exits the ADAS and prompts the driver to take over vehicle control. If no vehicle is present in the adjacent lane, the ADAS system will disengage and prompt the driver to take over vehicle control.

[0071] Specifically, when lane lines exist in the lane and the control point at the current moment is determined, a control trajectory is generated, which can realize features such as LCC and LKA. When CIPV exists and the control point at the current moment is determined, a control trajectory is generated, which can realize features such as TJA and OBF. When a vehicle exists in the adjacent lane and the control point at the current moment is determined, a control trajectory is generated, which can realize features such as TJA and LKA. In this way, by using the lane lines of the vehicle's own lane, the target vehicle, and vehicles in adjacent lanes, and prioritizing them, the position of the control point in different scenarios can be changed. The control point at the current moment can be determined based on the highest priority object in the environmental information, thereby realizing multiple features. For example, the control point at the current moment can be determined based on the lane lines of the vehicle's own lane in the environmental information around the vehicle, thus realizing features such as LCC and LKA; the control point at the current moment can be determined based on CIPV in the environmental information around the vehicle, thus realizing features such as TJA and OBF; the control point at the current moment can be determined based on vehicles in the adjacent lanes of the vehicle in the environmental information around the vehicle, thus realizing features such as TJA and LKA; at the same time, the switching between different features can be realized based on the priority of the lane lines of the vehicle's own lane, the target vehicle, and vehicles in adjacent lanes, ensuring a smooth transition between multiple features or scenarios.

[0072] Method 2: A unique control point can be determined at the current moment based on the first object, the second object, and the vehicle's status information (such as driving status information) contained in the environmental information surrounding the vehicle at the current moment.

[0073] In one possible implementation, the control point at the current moment is determined sequentially based on the preset priority information of each first object in the environmental information and the driving status information at the current moment. This may include: obtaining the position point corresponding to the first object with the highest priority; determining whether there is a second object within a preset area; if the second object exists, offsetting the position point corresponding to the first object, and using the offset position point as the control point at the current moment.

[0074] The first object can be a location point at a preset distance on the lane line of the self-lane, a location point corresponding to CIPV, or a location point of a vehicle in the adjacent lane projected onto the self-lane, etc. The second object is the object that the vehicle should avoid in the environmental information, such as vehicles to the side, vehicles behind, pedestrians, construction areas, road edges, etc. Different second objects correspond to different characteristics, such as CAA (Carrier Alignment), and distance from the road edge. The preset area is a region of a certain size in the road, such as a circular region of a certain size centered on the location point corresponding to the first object, or a rectangular region of a certain size in the self-lane. When a second object exists in the aforementioned preset area, it indicates that if a control trajectory is generated based on the location point corresponding to the first object and the vehicle is controlled to move according to the control trajectory, there is a risk of colliding with the second object. In this case, the location point corresponding to the first object is offset, for example, by lateral offset or longitudinal offset, and the offset location point is used as the control point at the current moment, thereby avoiding collision with the second object. In this way, based on the first object, the position of the control point in different scenarios is changed in a priority order and combined with the existing second object to determine the control point at the current moment. This can achieve multiple features (such as CAA, curb distance, etc.) and ensure a smooth transition between multiple features or scenarios.

[0075] It should be noted that different ADAS solutions may include one or more features, with different features corresponding to different second objects. The number of features, the type of second object, and the size of the preset area can be pre-configured by the ADAS system or set by the driver.

[0076] For example, the second object includes the hard boundary of the lane; the preset area is a first area of ​​preset size centered on the location point corresponding to the first object.

[0077] In one possible implementation, when the second object exists, the above-mentioned offsetting of the position point corresponding to the first object and using the offset position point as the control point at the current moment includes: when there is a hard boundary of the lane in the first area, offsetting the position point corresponding to the first object so that the hard boundary is outside the area of ​​a preset size centered on the offset position point, and the offset position point is inside the lane; and using the offset position point as the control point at the current moment.

[0078] Among them, the hard boundary can be a boundary that a vehicle cannot touch or cross, such as the solid lane line of the vehicle lane, the curb boundary of the road, etc. The first area can be an area of ​​a certain size centered on the location point corresponding to the first object. For example, it can be a circular area with a radius of 0.5 to 1.875 meters centered on the location point corresponding to the first object. Offset processing can be based on the position of the lane centerline of the self-lane, moving the position point corresponding to the first object a certain distance laterally. For example, if the lane centerline of the self-lane is to the left of the position point corresponding to the first object, then the position point corresponding to the first object is moved to the left laterally by a certain distance, so that the hard boundary is outside the area of ​​a certain size centered on the offset position point, and the offset position point is inside the self-lane. The offset position point is used as the control point at the current moment. This control point is far away from the hard boundary of the lane, so that when the self-lane is driving according to the control trajectory generated by this control point, it avoids colliding with the hard boundary. In this way, based on the first object, according to the priority sorting method, and combined with the hard boundary, the position of the control point in different scenarios is changed to determine the control point at the current moment. This can achieve multiple characteristics (such as the characteristic of moving away from the road edge) and ensure a smooth transition between multiple characteristics or scenarios.

[0079] For example, the second object may include obstacles such as vehicles or pedestrians on the side; the preset area may be a second area of ​​a preset size in front of the vehicle in the lane.

[0080] In one possible implementation, when the second object exists, the above-mentioned offsetting of the position point corresponding to the first object and using the offset position point as the control point at the current moment includes: when there is an obstacle in the second area, offsetting the position point corresponding to the first object according to the weight information corresponding to the obstacle, so that the obstacle is outside the area of ​​a preset size centered on the offset position point, and the offset position point is within the lane; and using the offset position point as the control point at the current moment.

[0081] The second region can be a rectangular area in front of the vehicle within the lane, with a certain longitudinal length (e.g., 10-40m) and a certain lateral width (e.g., 1.875-3.75m). The weight information corresponding to the obstacle indicates the degree to which the vehicle avoids the obstacle. For example, the larger the value of the weight information, the more obvious the vehicle's action to avoid the obstacle, and the farther the distance between the corresponding offset position point and the position point corresponding to the first object; the smaller the value of the weight information, the smaller the vehicle's action to avoid the obstacle, and the closer the distance between the corresponding offset position point and the position point corresponding to the first object. In this way, considering that the longitudinal distance, lateral distance, and relative speed of obstacles differ in different scenarios, and the vehicle's obstacle avoidance actions differ, the weight information corresponding to the obstacle is used to represent the degree to which the vehicle avoids the obstacle in different scenarios. Based on the weight information corresponding to the obstacle, the position point corresponding to the first object is offset, thereby realizing the position point offset in different scenarios. The offset position point is used as the control point at the current moment. This control point is far away from the obstacle, so that when the vehicle travels according to the control trajectory generated by the control point, it avoids colliding with the obstacle. In this way, based on the priority sorting of the first object, combined with the obstacle and the weight information corresponding to the obstacle, the position of the control point in different scenarios is changed to determine the control point at the current moment, thereby realizing multiple features (such as CAA) and ensuring a smooth transition between multiple features or scenarios.

[0082] For example, the values ​​of the weight information can be determined by a preset weight function (or weight body function). The parameters included in this weight function may include: Time of Headway (THW), Time to Collision (TTC), Invade Vehicle Width (IVW), etc. THW can be determined by driving status information, i.e., it can be preset by the driver. TTC can be determined based on the relative distance and relative speed between the invading vehicle and the vehicle in the environmental information. IVW can be determined based on the position of the lane lines in the vehicle's lane and the position of the invading vehicle in the environmental information. Taking the parameters included in the weight function as THW, TTC, and IVW as an example, the values ​​of the weight information can be expressed as follows: ,in, Here, f represents the numerical value of the weight information, and f denotes the weight body function. It is negatively correlated with THW, meaning that the smaller the THW, the more obvious the vehicle's obstacle avoidance action. It is negatively correlated with TTC, meaning that the smaller the TTC, the more pronounced the vehicle's obstacle avoidance maneuver. The value of the weighted information It is positively correlated with IVW, meaning that the larger the IVW, the more obvious the vehicle's obstacle avoidance action. In this way, by changing the position of the control point in different scenarios according to the corresponding weight information values, the control point at the current moment is determined, and a smooth transition between different scenarios is achieved.

[0083] The following section uses an intruding vehicle as an example to explain the weight information of obstacles in different scenarios.

[0084] Figure 4 This illustration shows a variety of vehicle lane intrusion scenarios according to an embodiment of the present application. Figure 4 (a)- Figure 4 In (f), the direction of the arrows indicates the direction of the vehicle's speed. The arrows pointing in front of the front of both vehicle 401 and intruding vehicle 701 are in the positive direction, while the arrows pointing behind vehicle 701 are in the negative direction. The number of arrows indicates the vehicle's speed; the more arrows, the greater the vehicle's speed. Figure 4 (a) represents a scenario where the intruding vehicle 701 and the vehicle 401 maintain close proximity, meaning that the speed directions of both the intruding vehicle 701 and the vehicle 401 are positive and their magnitudes are approximately equal. Figure 4 (b) represents a scenario where the intruding vehicle passes by at high speed, that is, the speed directions of both the intruding vehicle 701 and the vehicle 401 are positive, and the speed of the intruding vehicle 701 is greater than the speed of the vehicle 401. Figure 4 (c) represents a scenario where the intruding vehicle approaches at low speed, that is, the speed direction of the intruding vehicle 701 is in the opposite direction, the speed direction of the vehicle 401 is in the positive direction, and the speed of the intruding vehicle 701 is less than the speed of the vehicle 401. Figure 4 (d) represents the scenario where the intruding vehicle cuts in at a constant speed, that is, the speed directions of both the intruding vehicle 701 and the vehicle 401 are positive and form a certain angle, and the speed of the intruding vehicle 701 is equal to the speed of the vehicle 401. Figure 4 (e) represents a scenario where an intruding vehicle quickly cuts in, i.e., the speed directions of both the intruding vehicle 701 and the vehicle 401 are positive and form a certain angle, and the speed of the intruding vehicle 701 is greater than the speed of the vehicle 401. Figure 4 (f) represents a scenario where an intruding vehicle cuts in at low speed, i.e., the speed direction of the intruding vehicle 701 is in the opposite direction, the speed direction of the vehicle 401 is in the positive direction, and the two form a certain angle, and the speed of the intruding vehicle 701 is less than the speed of the vehicle 401.

[0085] Figure 5 An embodiment of this application is shown. Figure 4 A schematic diagram illustrating the positional shift of various vehicle intrusions into lanes, such as... Figure 5As shown, point "0" represents a point at a preset distance on the center line of the lane, and point "1" represents the lateral projection of the rear bumper of the intruding vehicle onto a lane line away from the intruding vehicle. Let point "0" be the position point corresponding to the first object. Then, the offset position point is a point on the line segment with endpoints "0" and "1". If point "0" is used as the offset position point, i.e., using point "0" as the control point to generate a control trajectory to guide the vehicle, the vehicle will not perform an avoidance maneuver. If point "1" is used as the offset position point, i.e., using point "1" as the control point to generate a control trajectory to guide the vehicle, the vehicle will perform a noticeable avoidance maneuver. If the point on the line segment with endpoints "0" and "1" is used as the offset position point, the vehicle will perform an avoidance maneuver. The degree of avoidance (or the magnitude of the avoidance maneuver) is negatively correlated with the distance of the offset position point relative to point "1", i.e., the closer the offset position point is to point "1", the greater the magnitude of the avoidance maneuver. Regarding the above... Figure 4 (a)- Figure 4 (f) shows different lane intrusion scenarios, if we take Figure 5 If the "0" point is used as the offset position, the vehicle will not perform a avoidance maneuver, which can be applied to... Figure 4 (b) In the scenario where the intruding vehicle speeds past; if point "1" is taken as the offset position, the vehicle will make a clear avoidance maneuver, which can be applied to Figure 4 (f) represents a scenario where an intruding vehicle cuts in at low speed. If the point between "0" and "1" is taken as the offset position, the closer this point is to "0", the less obvious the vehicle's avoidance action will be. This can be applied to... Figure 4 (a) The scenario in which the intruding vehicle maintains close proximity and Figure 4 (c) Scenario of an intruding vehicle approaching at low speed; the closer this point is to point "1", the more obvious the vehicle's avoidance action will be, which can be applied to Figure 4 (d) The scenario where the intruding vehicle cuts in at a constant speed and Figure 4 (e) is the scenario where an intruding vehicle quickly cuts in.

[0086] In different scenarios, the weight information corresponding to the intruding vehicle can be determined based on the location, relative distance, and relative speed of the intruding vehicle in the environmental information, according to the aforementioned weight body function f. Different values ​​of this weight information correspond to different points on the line connecting "0" and "1". For example, if the weight information value is between 0 and 1, the line segment between "0" and "1" is divided proportionally. When the weight information value is equal to 1, the point "1" is the offset position; when the weight information value is equal to "0", the point "0" is the offset position; when the weight information value is greater than 0 and less than 1, the corresponding point in the line segment is selected. In this way, in different scenarios, the offset position can be determined based on THW, TTC, IVW, and the weight body function f. If this offset position is used as the control point at the current moment to generate the control trajectory at the current moment, it can be ensured that the vehicle traveling along the control trajectory will not collide with the intruding vehicle.

[0087] For example, the above Figure 4 When the intruding vehicle 701 and the autonomous vehicle 401 are in different scenarios, with the same relative position but different relative speeds, their TTCs are different, and the corresponding weight volume functions have different shapes. Figure 6 This diagram illustrates a weighted body function according to an embodiment of the present application, as shown below. Figure 6 (a)- Figure 6 As shown in (d), when TTC = -4, the weight information value α is a weight body function with respect to THW and IVW, where, Figure 6 (a)- Figure 6 (c) is Figure 6 (d) Three-view diagram. As TTC changes, the shape of the weight volume function also changes, corresponding to obstacle avoidance scenarios in different situations. Figure 7 This diagram illustrates another weight body function according to an embodiment of the present application, such as... Figure 7 (a)- Figure 7 As shown in (d), the trend of weight body function changes at different TTCs; where, Figure 7 (a) shows the weighted body function of α with respect to THW and IVW when TTC < 0; Figure 7 (b) shows the weighted body function of α with respect to THW and IVW when TTC = ∞; Figure 7 (c) shows the weighted body function of α with respect to THW and IVW when TTC=20; Figure 7 (b) shows the weighted body function of α with respect to THW and IVW when TTC = 4.

[0088] Figure 8 This document illustrates a flowchart of determining a control point at the current time according to an embodiment of this application, as shown below. Figure 8 As shown, The intelligent driving device first determines whether lane lines for its own lane exist in the environmental information. If lane lines exist, it acquires the position point corresponding to a preset distance on the lane lines. If lane lines do not exist, it further determines whether a CIPV (Continuous Interchange Vehicle) exists in the environmental information. If a CIPV exists, it acquires the position point corresponding to the CIPV. If a CIPV does not exist, it further determines whether a vehicle exists in the adjacent lane. If a vehicle exists in the adjacent lane, it acquires the position point of the vehicle's projection onto its own lane. If no vehicle exists in the adjacent lane, it exits the ADAS (Advanced Driver Assistance System) and prompts the driver to take over vehicle control.

[0089] Furthermore, after acquiring any one of the following positions: the position point corresponding to a preset distance on the lane line, the position point corresponding to CIPV, and the position point of a vehicle projected onto the lane in an adjacent lane, the system then determines whether there is a hard lane boundary in the first area and whether there is an obstacle in the second area. The steps of determining whether there is a hard lane boundary in the first area and determining whether there is an obstacle in the second area are not sequential. If there is a hard lane boundary in the first area or an obstacle in the second area, corresponding position point offset processing is performed to obtain an offset position point. If the offset position point meets preset conditions, it is used as the control point at the current moment. If the offset position point does not meet the preset conditions, the system exits the ADAS system, and the driver is prompted to take over vehicle control. If there is no hard lane boundary in the first area and no obstacle in the second area, the system determines whether the position point meets preset conditions. If the position point meets the preset conditions, it is used as the control point at the current moment. If the position point does not meet the preset conditions, the system exits the ADAS system, and the driver is prompted to take over vehicle control.

[0090] Specifically, when lane lines exist in the vehicle's own lane and no position point offset processing is required, a control trajectory can be generated based on determined control points, enabling features such as LCC and LKA. When CIPV exists and no position point offset processing is required, a control trajectory can be generated based on determined control points, enabling features such as TJA and OBF. When vehicles exist in adjacent lanes and no position point offset processing is required, a control trajectory can be generated based on determined control points, enabling features such as TJA and LKA. When any one of the lane lines in the vehicle's own lane, CIPV, or vehicles in adjacent lanes exists, and a hard boundary of the lane exists in the first area, a control trajectory can be generated based on determined control points, enabling features such as roadside avoidance. When any one of the lane lines in the vehicle's own lane, CIPV, or vehicles in adjacent lanes exists, and an obstacle exists in the second area, a control trajectory can be generated based on determined control points, enabling features such as CAA. In this way, different features can be achieved based on the first object and its preset priority information in the environmental information surrounding the vehicle at the current moment, as well as the second object and its corresponding weight information, ensuring a smooth transition between multiple features and scenarios.

[0091] For example, Figure 9 This diagram illustrates an embodiment of OBF (On-Board Failure) characteristics implemented using control points according to this application. The OBF characteristic requires that, in the absence of lane markings and with only vehicles ahead of the vehicle, the vehicle can follow the trajectory of the vehicle in front. Figure 9 As shown, the lane lines of the self-lane do not exist in the environmental information at the current moment, but CIPV1101 exists. At this time, the midpoint 1102 of the rear bumper of CIPV is selected as the position point. At the same time, there is no hard boundary of the lane in the first area, there are no obstacles in the second area, and the position point meets the preset conditions. Therefore, the position point, i.e., the midpoint 1102 of the rear bumper of CIPV, is used as the control point, and the control trajectory at the current moment is generated to realize the OBF characteristics of the self-lane 401.

[0092] For example, Figure 10 The diagram illustrates an embodiment of the present application of implementing LCC characteristics using control points, as shown below. Figure 10 As shown, the lane lines of the vehicle lane exist in the environmental information at the current moment. At this time, points 15-40m away from the vehicle in the longitudinal direction on the two lane lines of the vehicle lane are selected, thus obtaining point 1202 in the longitudinal direction on the center line of the vehicle lane, which is 15-40m away from the vehicle. This point is used as the location point. At the same time, there are no hard boundaries of the lane in the first area, no obstacles in the second area, and the location point meets the preset conditions. Then, this location point is used as the control point, thereby generating the control trajectory at the current moment and realizing the LCC characteristics of the vehicle 401.

[0093] For example, Figure 11This diagram illustrates a TJA (Traffic Accelerator-Assisted Lane Control) feature implemented using control points according to an embodiment of this application. The TJA feature requires lateral control using the preceding vehicle when lane lines are present, but the vehicle's sensors cannot accurately perceive the position and shape of the lane lines due to obstruction by the preceding vehicle (i.e., the lane line data perceived by the sensors cannot meet the stability and accuracy requirements of the LCC (Lane Control) feature). Simultaneously, TJA cannot control the vehicle to completely follow the trajectory of the preceding vehicle; if the preceding vehicle deviates from its lane (e.g., ...), the preceding vehicle's trajectory is affected. Figure 11 (a) shown) or there is a cut-in / cut-out action (such as...) Figure 11 (b) As shown, the vehicle still needs to remain within its own lane. Figure 11 (a)- Figure 11 As shown in (b), in the current environment, part of the right lane line of the self-lane is obscured by CIPV. CIPV1301 exists. At this time, the midpoint 1302 of the rear bumper of CIPV is selected. The center line of the self-lane is used as the reference line. Point 1302 is projected onto the center line of the self-lane, i.e., point 1303. Point 1303 is used as the position point. At the same time, there is no hard boundary of the lane in the first area and no obstacle in the second area. The position point meets the preset conditions. Then, the position point 1303 is used as the control point, and the control trajectory at the current moment is generated. This ensures that when CIPV deviates in the self-lane or has cutting-in or cutting-out actions, the self-vehicle can still remain stably centered, realizing the TJA characteristic of self-vehicle 401.

[0094] For example, Figure 12 This diagram illustrates an embodiment of the present application of implementing ALC / SLC characteristics using control points, thereby achieving ALC (such as...). Figure 12 (a)- Figure 12 (b) shown) and SLC (as shown) Figure 12 (c) The process of achieving this characteristic is essentially the process of gradually shifting the control point in the lane to the center line of the adjacent lane. For example... Figure 12 As shown in (a), in response to the driver's lane change command, during the lane change process, it is determined that the lane line of the self-lane exists in the current environmental information. At this time, a point on the lane line of the self-lane at a preset distance from the self-vehicle 401 in the longitudinal direction is selected, and this point is offset laterally to the adjacent lane by a certain distance (this distance can be determined according to the preset lane change duration, the distance between the center line of the self-lane and the center line of the adjacent lane, etc.), thereby obtaining position point 1401. At the same time, there is no hard boundary of the lane in the first area, there are no obstacles in the second area, and the position point meets the preset conditions. Then, this position point is used as a control point, thereby generating the control trajectory at the current moment and realizing the SLC characteristic of the self-vehicle 401. Figure 12As shown in (b), in response to the driver's lane change command, during the lane change process, it is determined that the lane line of the vehicle's own lane exists in the current environmental information. At this time, a point on the lane line of the vehicle's own lane that is a preset distance away from the vehicle 401 in the longitudinal direction is selected, and this point is offset laterally to the adjacent lane by a certain distance to obtain the position point. At the same time, if there is an obstacle 1402 in the second area, the position point offset processing is performed, and the offset position point 1403 that meets the preset conditions is used as the control point, thereby generating the control trajectory at the current moment and realizing the SLC avoidance characteristics of the vehicle 401. Figure 12 As shown in (c), when the vehicle in front 1404 blocks the passage of the vehicle lane, a lane change is performed. During the lane change, it is determined that the lane line of the vehicle lane exists in the current environmental information. At this time, a point at a preset distance from the vehicle 401 in the longitudinal direction on the lane line of the vehicle lane is selected, and this point is offset by a certain distance in the lateral direction to the adjacent lane to obtain the position point. At the same time, there are obstacles 1405 and 1404 in the second area, so the position point offset processing is performed. The offset position point 1406 that meets the preset conditions is used as the control point, thereby generating the control trajectory at the current time and realizing the ALC characteristics of the vehicle 401.

[0095] Step 503: Based on the control point at the current moment, the control trajectory at the historical moment, and the current state information of the vehicle (such as motion state information), generate the control trajectory at the current moment. The control trajectory represents the trajectory used to guide the vehicle's movement.

[0096] The control trajectory at a historical moment can include the control trajectory generated from the control point at the previous moment. It can be understood that as the control trajectory is generated in real time, the control trajectory at a historical moment can be obtained. The control trajectory at a historical moment can represent the position of the control point at different moments in the time domain. In this way, the control trajectory is generated by utilizing the continuity of the control point in the spatial domain. That is, only one point in the spatial domain is needed to generate the control curve in the time dimension. Various objects in the environmental information are reduced to a single point. Compared with the method of taking multiple points in the spatial domain to generate the control trajectory, the embodiments of this application do not need to generate multiple trajectory lines in advance, which greatly reduces the requirements for computing power and effectively improves the performance of the ADAS system.

[0097] For example, Figure 13 A comparative diagram of an intelligent driving system according to an embodiment of this application is shown, such as... Figure 13As shown, the actual trajectory of the target vehicle 1505 is 1501; 1502 is the control trajectory with OBF characteristics generated by fitting the actual trajectory 1501 in space using the least squares method; 1503 is the control trajectory with OBF characteristics at time t1 generated by using the control point at time t1, the control trajectory before time t1, and the motion state information at time t1; 1504 is the control trajectory with OBF characteristics at time t2 generated by using the control point at time t2, the control trajectory before time t2 (including the control trajectory at time t1), and the motion state information at time t2. Trajectory 1501 is generated by fitting multiple points in trajectory 1501 in the spatial dimension, while trajectories 1503 and 1504 are generated by fitting the control points at different times of the target vehicle 1505 in the temporal dimension.

[0098] For example, the control trajectory can be a third-order curve. In this way, a third-order curve can be generated by using the control point at the current moment, the control trajectory at the historical moment, and the motion state information at the current moment. This third-order curve can be adapted to some ADAS system architectures, thereby improving the applicability of the intelligent driving method in this application.

[0099] In one possible implementation, the control trajectory for the current moment can be generated using a filter based on the control point at the current moment, the control trajectory at historical moments, and the vehicle's current state information. For example, this filter can be a Kalman filter. Kalman filters possess temporal continuity; by inputting the position information of the control point at the current moment, the control trajectory at historical moments, and the vehicle's current state information into the Kalman filter, the continuity of the spatial control point in the time domain is utilized to generate the control trajectory for the current moment, thereby achieving different characteristics and improving system performance. It is understandable that as time progresses, control trajectories at different moments are continuously generated, and the control trajectories at historical moments are continuously iterated.

[0100] For example, the above can be Figure 10 The position information of the center point 1102 of the rear bumper of the CIPV, the control trajectory at the historical moment, and the speed, yaw rate, and turning radius of the vehicle at the current moment are input into the Kalman filter to generate the control trajectory at the current moment. The vehicle is then tracked and controlled using this control trajectory to achieve OBF characteristics.

[0101] For example, the above can be Figure 11 The position information of point 1202, which is 20m away from the vehicle on the longitudinal direction of the lane centerline, the control trajectory at the historical moment, and the vehicle's speed, yaw rate, turning radius at the current moment are input into the Kalman filter to generate the control trajectory at the current moment. The control trajectory is then used to perform lane centering control, thereby realizing the LCC characteristic.

[0102] For example, the above can be Figure 12 The position information of point 1303 on the lane centerline of the self-lane, projected from the midpoint 1302 of the rear bumper of the CIPV, along with the control trajectory from historical moments and the current vehicle speed, yaw rate, and turning radius, are input into a Kalman filter to generate the control trajectory for the current moment, thus achieving TJA characteristics. Simultaneously, using points on the lane centerline to generate the control trajectory, rather than directly using the lane centerline as the control trajectory, ensures the smoothness of control in the TJA characteristics.

[0103] For example, it can be Figure 13 During a lane change, the current control point's position information, historical control trajectories, and the vehicle's current speed, yaw rate, and turning radius are input into a Kalman filter to generate the current control trajectory. This trajectory is then used for lane change control, thus achieving ALC / SLC characteristics. Furthermore, to ensure the lane change process aligns with driver habits, extensive driver lane change data is analyzed to pre-determine lateral offset velocity curves corresponding to different lane change durations. These curves represent the lateral velocity changes of the vehicle at various moments during the lane change. Figure 14 A schematic diagram showing a lateral offset velocity curve according to an embodiment of this application is shown, as follows. Figure 14 As shown, the lateral velocity change of the driver during lane change conforms to a V-shaped curve, which will dip or rise based on different lane change durations. During the lane change process, a corresponding lateral offset velocity curve can be selected according to the preset or estimated lane change duration. The corresponding lateral velocity at each moment can be determined based on this lateral offset velocity curve, thereby generating the control trajectory at each moment to achieve a comfortable lane change effect.

[0104] It should be noted that the above-mentioned features of ADAS systems implemented using control points are merely examples. It is understood that the features implemented using control points in the embodiments of this application are not limited to these. They can be applied to other features of ADAS systems involving lateral and longitudinal control. They can also be applied to features that will evolve in the future, such as Multi-object Coordination (MOC). MOC can determine control points based on environmental information such as the target vehicle, the vehicle in the adjacent lane, and the vehicle in front (i.e., the vehicle located in front of the vehicle and at least one vehicle away from it), thereby generating a control trajectory. This improves the experience of ACC features in scenarios such as vehicles in the adjacent lane cutting in at close range, vehicles in the adjacent lane decelerating to cut in, and vehicles in front braking and cutting out.

[0105] In this embodiment, the system acquires environmental information surrounding the vehicle and the vehicle's current state information. Based on the environmental and state information, a control point is determined for the current moment. Then, based on the control point, historical control trajectories, and state information, a control trajectory is generated for the current moment, representing the path used to guide the vehicle's movement. This approach leverages the driver's driving habits and thought processes. Since the driver typically focuses their attention on a single point in space, which represents the desired location for the vehicle, this point is used as the control point. The influence of environmental information on the vehicle's characteristics is concentrated at this control point, allowing for the generation of a reasonable control trajectory that meets control requirements in different scenarios. Furthermore, it eliminates the need for pre-processing environmental information to generate multiple trajectory lines, significantly reducing computational requirements and thus improving the performance of the ADAS system. Furthermore, the control point at the current moment can be determined sequentially based on the preset priority information and state information of each first object in the environmental information. In this way, by using multiple information sources (i.e., each first object in the environmental information) and sorting them according to the priority of each information source, the position of the control point in different scenarios can be changed to determine the control point at the current moment, thereby realizing multiple features (such as OBF, LKA, TJA, LCC, etc.). At the same time, based on the priority and corresponding weight information of multiple information sources, the switching between different features can be realized, ensuring a smooth transition between multiple features or scenarios, and eliminating the need to use a state machine to switch between different features, thus reducing logical complexity.

[0106] Based on the same inventive concept as the above method embodiments, embodiments of this application also provide an intelligent driving device for executing the technical solutions described in the above method embodiments.

[0107] Figure 15 This diagram illustrates the structure of an intelligent driving device according to an embodiment of this application; as shown... Figure 15 As shown, the intelligent driving device may include: an acquisition module 1701, used to acquire environmental information around the vehicle at the current moment and the vehicle's status information at the current moment; a determination module 1702, used to determine the control point at the current moment based on the environmental information and status information; and a generation module 1703, used to generate the control trajectory at the current moment based on the control point, the control trajectory at a historical moment, and the status information, wherein the control trajectory represents the trajectory used to guide the vehicle's driving.

[0108] In one possible implementation, the determining module 1702 is further configured to: sequentially determine the control point at the current moment based on the preset priority information of each first object in the environmental information and the status information.

[0109] In one possible implementation, the first object includes at least one of the lane lines of the vehicle's own lane, the target vehicle, and a vehicle in the vehicle's adjacent lane; wherein the priority of the lane lines of the vehicle's own lane, the target vehicle, and the vehicle in the adjacent lane decreases in that order. The determining module 1702 is further configured to: when the lane line of the self-lane exists, take the position point on the lane line of the self-lane that corresponds to a preset distance and meets preset conditions as the control point at the current moment; the preset distance is determined based on the state information; if the lane line of the self-lane does not exist, then when the target vehicle exists, take the position point corresponding to the target vehicle that meets preset conditions as the control point at the current moment; if the lane line of the self-lane does not exist and the target vehicle does not exist, then when a vehicle exists in the adjacent lane, take the position point of the vehicle in the adjacent lane projected onto the self-lane that meets preset conditions as the control point at the current moment.

[0110] In one possible implementation, the determining module 1702 is further configured to: obtain the position point corresponding to the first object with the highest priority; determine whether there is a second object within a preset area, wherein the second object is the obstacle to be avoided by the vehicle in the environmental information; and when the second object exists, offset the position point corresponding to the first object and use the offset position point as the control point at the current moment.

[0111] In one possible implementation, the second object includes a hard boundary of the lane; the preset area is an area of ​​a preset size centered on the location point corresponding to the first object; The determining module 1702 is further configured to: when the hard boundary of the lane exists, offset the position point corresponding to the first object so that the hard boundary is outside the area of ​​a preset size centered on the offset position point, and the offset position point is inside the lane; and use the offset position point as the control point at the current moment.

[0112] In one possible implementation, the second object includes an obstacle; the preset area is a region of a preset size in front of the vehicle in the lane. The determining module 1702 is further configured to: when the obstacle exists, offset the position point corresponding to the first object according to the weight information corresponding to the obstacle, so that the obstacle is outside the area of ​​a preset size centered on the offset position point, and the offset position point is within the vehicle lane; wherein the weight information represents the degree to which the vehicle avoids the obstacle; and use the offset position point as the control point at the current moment.

[0113] In one possible implementation, the value of the weight information is determined by at least one of the headway (THW), time to collision (TTC), and intrusion width (IVW), wherein the value of the weight information is negatively correlated with the THW, negatively correlated with the TTC, and positively correlated with the IVW.

[0114] In one possible implementation, the generation module 1703 is further configured to: generate the control trajectory at the current moment using a Kalman filter based on the control point, the control trajectory at a historical moment, and the state information.

[0115] In this embodiment, the system acquires environmental information surrounding the vehicle and the vehicle's current state information. Based on the environmental and state information, a control point is determined for the current moment. Then, based on the control point, historical control trajectories, and state information, a control trajectory is generated for the current moment, representing the path used to guide the vehicle's movement. This approach leverages the driver's driving habits and thought processes. Since the driver typically focuses their attention on a single point in space, which represents the desired location for the vehicle, this point is used as the control point. The influence of environmental information on the vehicle's characteristics is concentrated at this control point, allowing for the generation of a reasonable control trajectory that meets control requirements in different scenarios. Furthermore, it eliminates the need for pre-processing environmental information to generate multiple trajectory lines, significantly reducing computational requirements and thus improving the performance of the ADAS system. Furthermore, the control point at the current moment can be determined sequentially based on the preset priority information and state information of each first object in the environmental information. In this way, by using multiple information sources (i.e., each first object in the environmental information) and sorting them according to the priority of each information source, the position of the control point can be changed to determine the control point at the current moment. Different first objects correspond to different characteristics, thereby realizing multiple characteristics (such as OBF, LKA, TJA, LCC, etc.). At the same time, based on the priority and corresponding weight information of multiple information sources, the switching between different characteristics can be realized, ensuring a smooth transition between multiple characteristics or scenarios, and eliminating the need to use a state machine to realize the switching between different characteristics, thus reducing the logical complexity.

[0116] Various possible implementations or descriptions of the above embodiments are provided above and will not be repeated here.

[0117] This application also provides a novel ADAS system architecture. Figure 16 A diagram illustrating the architecture of an ADAS system according to an embodiment of this application is shown. Figure 16 As shown, the ADAS system architecture includes: a preprocessing layer, a planning layer, a decision-making layer, a control layer, etc., and may also include: an execution layer, etc.

[0118] The preprocessing layer is used to generate environmental information about the vehicle's surroundings at the current moment. For example, it can process data detected by sensors installed on the vehicle to obtain this environmental information. Additionally, it can obtain map information based on GPS data, high-precision map data, etc., such as the distance between the vehicle and the intersection ahead, and the lane the vehicle is in.

[0119] Planning layer: used to determine the control point at the current moment based on the environmental information and the current state information of the vehicle; and to generate the control trajectory at the current moment based on the control point, the control trajectory at the historical moment, and the state information; the control trajectory represents the trajectory used to guide the vehicle's driving; for example, this layer takes the environmental information obtained by the preprocessing layer as input, combines it with the vehicle's state information (which may include: driving and riding state information and vehicle state information), and executes the intelligent driving method of this application through the intelligent driving device to determine the characteristics (or functions) applicable to the current scenario and the control trajectory corresponding to the characteristics, and inputs the control trajectory to the decision layer.

[0120] Furthermore, the planning layer can also determine the control point at the current moment sequentially based on the preset priority information of each first object in the environmental information and the status information. It can also obtain the position point corresponding to the highest priority first object; determine whether there is a second object within a preset area, the second object being the obstacle the vehicle must avoid in the environmental information; if the second object exists, offset the position point corresponding to the first object, and use the offset position point as the control point at the current moment.

[0121] Decision layer: Used to determine whether the control trajectory is applicable to the current working state of the vehicle; for example, this layer takes the control trajectory generated by the planning layer as input, and determines whether the control trajectory is applicable to the current working state of the vehicle based on the working state of each component in the vehicle (such as sensors, engine, electric power steering, etc.). When it is determined that the control trajectory is applicable to the current working state of the vehicle, the control trajectory is input to the control layer.

[0122] Control layer: When the control trajectory is applicable to the current operating state of the vehicle, it generates a control signal for the current moment based on the control trajectory. The control signal is used for assisted driving of the vehicle. For example, this layer takes the control trajectory of the decision layer as input and combines it with the vehicle's dynamic information to generate control signals such as steering wheel angle and acceleration.

[0123] Furthermore, the system may also include an execution layer: taking the control signal generated by the control layer as input, executing the control signal, for example, through the electric power steering (EPS) system and the engine, thereby achieving assisted driving of the vehicle.

[0124] In the aforementioned ADAS system, the planning layer concentrates the influence of various objects in the environmental information on characteristics at spatial points, using these points as control points. The continuity of these control points over time generates control trajectories, thereby achieving different characteristics. This eliminates the need for multiple trajectory generators, significantly reducing computational requirements and improving system performance. Furthermore, compared to schemes using state machines to determine and switch scenes under complex transition conditions and logic, the planning layer in this ADAS system determines the control point at each moment based on the preset priorities and corresponding weights of different objects in the environmental information, achieving smooth transitions between different characteristics and scenes. Additionally, if a new characteristic is added, only processing for the corresponding object needs to be added to the preprocessing layer. Priority and weight information for the object corresponding to the new characteristic can also be set, without generating a new trajectory line for that characteristic or adjusting the state machine, resulting in high system scalability.

[0125] An embodiment of this application provides an intelligent driving device, including: a processor and a memory for storing processor-executable instructions; wherein the processor is configured to implement the above-described intelligent driving method when executing the instructions.

[0126] Figure 17 This diagram illustrates the structure of another intelligent driving device according to an embodiment of the present application, such as... Figure 17 As shown, the intelligent driving device may include: at least one processor 1801, a communication line 1802, a memory 1803, and at least one communication interface 1804.

[0127] The processor 1801 may be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits used to control the execution of the program of the present application.

[0128] Communication line 1802 may include a path for transmitting information between the aforementioned components.

[0129] The communication interface 1804 uses any transceiver-like device for communicating with other devices or communication networks, such as Ethernet, RAN, wireless local area networks (WLAN), etc.

[0130] The memory 1803 may be a read-only memory (ROM) or other type of static storage device capable of storing static information and instructions, random access memory (RAM) or other type of dynamic storage device capable of storing information and instructions, or it may be an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but is not limited thereto. The memory may exist independently and be connected to the processor via communication line 1802. The memory may also be integrated with the processor. The memory provided in the embodiments of this application may generally be non-volatile. The memory 1803 is used to store computer execution instructions for executing the scheme of this application and is controlled by the processor 1801 for execution. The processor 1801 is used to execute computer execution instructions stored in the memory 1803, thereby implementing the method provided in the above embodiments of this application.

[0131] Optionally, the computer execution instructions in the embodiments of this application may also be referred to as application code.

[0132] In a specific implementation, as one example, the processor 1801 may include one or more CPUs, for example... Figure 17 CPU0 and CPU1 in the CPU.

[0133] In a specific implementation, as one example, the intelligent driving device may include multiple processors, such as... Figure 17 Processors 1801 and 1807 are mentioned. Each of these processors can be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor. A processor here can refer to one or more devices, circuits, and / or processing cores used to process data (such as computer program instructions).

[0134] In a specific implementation, as one embodiment, the intelligent driving device may further include an output device 1805 and an input device 1806. The output device 1805 communicates with the processor 1801 and can display information in various ways. For example, the output device 1805 may be a liquid crystal display (LCD), a light-emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector, etc. The input device 1806 communicates with the processor 1801 and can receive user input in various ways. For example, the input device 1806 may be a mouse, keyboard, touchscreen device, or sensing device, etc.

[0135] This application also provides an advanced driver assistance system for use in autonomous or intelligent driving. It includes at least one intelligent driving device mentioned in the above embodiments of this application, and may also include at least one of other sensors such as cameras or radar. The sensors are used to perceive environmental information. At least one device in the system can be integrated into a whole machine or device, or at least one device in the system can be set as an independent component or device.

[0136] This application also provides a vehicle, which includes at least one intelligent driving device or any of the above-mentioned systems mentioned in the above embodiments of this application.

[0137] Embodiments of this application provide a non-volatile computer-readable storage medium storing computer program instructions thereon, which, when executed by a processor, implement the above-described method.

[0138] Embodiments of this application provide a computer program product including computer-readable code, or a non-volatile computer-readable storage medium carrying computer-readable code, wherein when the computer-readable code is run in a processor of an electronic device, the processor in the electronic device performs the above-described method.

[0139] 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 of the foregoing. 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), electrically programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), compact disc read-only memory (CD-ROM), digital video disc (DVD), memory sticks, floppy disks, mechanical encoding devices, such as punch cards or recessed protrusions storing instructions thereon, and any suitable combination of the foregoing.

[0140] The computer-readable program instructions or code 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.

[0141] The computer program instructions used to perform the operations of this application 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 be executed 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 remote computers, 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 circuits, such as programmable logic circuits, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), are personalized by utilizing state information from computer-readable program instructions. These electronic circuits can execute computer-readable program instructions to implement various aspects of this application.

[0142] Various aspects of this application 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 application. 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.

[0143] 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.

[0144] 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 executed 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.

[0145] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of apparatus, systems, methods, and computer program products according to various embodiments of this application. 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 shown 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.

[0146] It should also be noted that each block in the block diagram and / or flowchart, as well as combinations of blocks in the block diagram and / or flowchart, can be implemented using hardware (such as circuits or ASICs (Application Specific Integrated Circuits)) that performs the corresponding function or action, or using a combination of hardware and software, such as firmware.

[0147] Although the invention has been described herein in conjunction with various embodiments, those skilled in the art will understand and implement other variations of the disclosed embodiments by reviewing the accompanying drawings, disclosure, and appended claims in carrying out the claimed invention. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude a plurality. A single processor or other unit can implement several functions listed in the claims. While different dependent claims may recite certain measures, this does not mean that these measures cannot be combined to produce good results.

[0148] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.

Claims

1. An intelligent driving method, characterized in that, The method includes: Obtain the environmental information surrounding the vehicle and the vehicle's status information at the current moment; Obtain the first object and the second object contained in the environmental information; Based on the vehicle's status information, the first object, and the second object, determine the control point at the current moment; The control trajectory at the current moment is obtained based on the control points, and the control trajectory represents the trajectory used to guide the vehicle's movement.

2. The method according to claim 1, characterized in that, Determining the control point at the current moment based on the environmental information and the state information includes: Based on the preset priority information of each first object in the environmental information and the status information, the control point at the current moment is determined sequentially.

3. The method according to claim 2, characterized in that, The first object includes: the lane line of the lane, the target vehicle, and the vehicle in the adjacent lane; wherein, the priority of the lane line of the lane, the target vehicle, and the vehicle in the adjacent lane decreases in that order. The step of determining the control point at the current moment sequentially based on the preset priority information of each first object in the environmental information and the status information includes: When the lane lines of the self-driving lane exist, the position point on the lane line of the self-driving lane that corresponds to a preset distance and meets the preset conditions is taken as the control point at the current moment; the preset distance is determined based on the state information; If the lane line of the self-lane does not exist, then if the target vehicle exists, the position point corresponding to the target vehicle and meeting the preset conditions is taken as the control point at the current moment. If the lane lines of the self-lane do not exist and the target vehicle does not exist, then if a vehicle exists in the adjacent lane, the position point of the vehicle in the adjacent lane projected onto the self-lane and meeting the preset conditions is taken as the control point at the current moment.

4. The method according to claim 2 or 3, characterized in that, The step of determining the control point at the current moment sequentially based on the preset priority information of each first object in the environmental information and the status information includes: Get the position point corresponding to the first object with the highest priority; Determine whether there is a second object within the preset area, where the second object is the object that the vehicle needs to avoid in the environmental information; When the second object exists, the position point corresponding to the first object is offset, and the offset position point is used as the control point at the current moment.

5. The method according to claim 4, characterized in that, The second object includes the hard boundary of the lane; the preset area is an area of ​​a preset size centered on the location point corresponding to the first object; When the second object exists, the step of offsetting the position point corresponding to the first object and using the offset position point as the control point at the current moment includes: When the hard boundary of the self-lane exists, the position point corresponding to the first object is offset so that the hard boundary is outside the area of ​​a preset size centered on the offset position point, and the offset position point is inside the self-lane. Use the offset position as the control point at the current moment.

6. The method according to claim 4, characterized in that, The second object includes an obstacle; the preset area is a preset-sized area in front of the vehicle in the lane; When the second object exists, the step of offsetting the position point corresponding to the first object and using the offset position point as the control point at the current moment includes: When the obstacle exists, the position point corresponding to the first object is offset according to the weight information corresponding to the obstacle, so that the obstacle is outside the area of ​​a preset size centered on the offset position point, and the offset position point is within the vehicle lane; wherein, the weight information represents the degree to which the vehicle avoids the obstacle; Use the offset position as the control point at the current moment.

7. The method according to claim 6, characterized in that, The value of the weight information is determined by at least one of the headway (THW), time to collision (TTC), and intrusion width (IVW), wherein the value of the weight information is negatively correlated with the THW, negatively correlated with the TTC, and positively correlated with the IVW.

8. The method according to claim 1, characterized in that, The step of generating the control trajectory at the current moment based on the control points, the control trajectories at historical times, and the status information includes: Based on the control points, the control trajectories at historical times, and the state information, a Kalman filter is used to generate the control trajectory at the current time.

9. An intelligent driving device, characterized in that, The device includes: The acquisition module is used to acquire environmental information surrounding the vehicle at the current moment and the vehicle's status information at the current moment; and to acquire a first object and a second object contained in the environmental information. The determination module is used to determine the control point at the current moment based on the status information of the vehicle, the first object, and the second object; The generation module is used to obtain the control trajectory at the current time based on the control points, and the control trajectory represents the trajectory used to guide the vehicle's movement.

10. The apparatus according to claim 9, characterized in that, The determining module is further configured to: determine the control point at the current moment in sequence based on the preset priority information of each first object in the environmental information and the status information.

11. The apparatus according to claim 10, characterized in that, The first object includes: the lane line of the lane, the target vehicle, and the vehicle in the adjacent lane; wherein, the priority of the lane line of the lane, the target vehicle, and the vehicle in the adjacent lane decreases in that order. The determining module is further configured to: if the lane line of the self-lane exists, take the position point on the lane line of the self-lane that corresponds to a preset distance and meets preset conditions as the control point at the current moment; the preset distance is determined based on the state information; if the lane line of the self-lane does not exist, then if the target vehicle exists, take the position point corresponding to the target vehicle that meets preset conditions as the control point at the current moment; if the lane line of the self-lane does not exist and the target vehicle does not exist, then if a vehicle exists in the adjacent lane, take the position point of the vehicle in the adjacent lane projected onto the self-lane that meets preset conditions as the control point at the current moment.

12. The apparatus according to claim 10 or 11, characterized in that, The determining module is further configured to: obtain the location point corresponding to the first object with the highest priority; determine whether there is a second object within the preset area, wherein the second object is the object that the vehicle should avoid in the environmental information; When the second object exists, the position point corresponding to the first object is offset, and the offset position point is used as the control point at the current moment.

13. The apparatus according to claim 12, characterized in that, The second object includes the hard boundary of the lane; the preset area is an area of ​​a preset size centered on the location point corresponding to the first object; The determining module is further configured to: when the hard boundary of the lane exists, offset the position point corresponding to the first object so that the hard boundary is outside the area of ​​a preset size centered on the offset position point, and the offset position point is inside the lane; and use the offset position point as the control point at the current moment.

14. The apparatus according to claim 12, characterized in that, The second object includes an obstacle; the preset area is a preset-sized area in front of the vehicle in the lane; The determining module is further configured to: when the obstacle exists, offset the position point corresponding to the first object according to the weight information corresponding to the obstacle, so that the obstacle is outside the area of ​​a preset size centered on the offset position point, and the offset position point is within the vehicle lane; wherein the weight information represents the degree to which the vehicle avoids the obstacle; and use the offset position point as the control point at the current moment.

15. The apparatus according to claim 14, characterized in that, The value of the weight information is determined by at least one of the headway (THW), time to collision (TTC), and intrusion width (IVW), wherein the value of the weight information is negatively correlated with the THW, negatively correlated with the TTC, and positively correlated with the IVW.

16. The apparatus according to claim 9, characterized in that, The generation module is further configured to: generate the control trajectory at the current moment using a Kalman filter based on the control point, the control trajectory at historical times, and the state information.

17. An advanced driver assistance system (ADAS), characterized in that, include: Preprocessing layer, planning layer, decision-making layer, control layer; The preprocessing layer is used to generate environmental information about the vehicle's surroundings at the current moment. The planning layer is used to determine the control point at the current moment based on the environmental information and the current status information of the vehicle; and to generate the control trajectory at the current moment based on the control point, the control trajectory at the historical moment, and the status information; the control trajectory represents the trajectory used to guide the vehicle's movement. The decision-making layer is used to determine whether the control trajectory is suitable for the current working state of the vehicle; The control layer is used to generate a control signal for the current moment based on the control trajectory, provided that the control trajectory is applicable to the vehicle's current operating state. The control signal is used for assisted driving of the vehicle.

18. The system according to claim 17, characterized in that, The planning layer is also used to: determine the control point at the current moment in sequence according to the preset priority information of each first object in the environmental information and the status information.

19. The system according to claim 18, characterized in that, The planning layer is also used to: obtain the location point corresponding to the highest priority first object; determine whether there is a second object within the preset area, the second object being the object that the vehicle should avoid in the environmental information; When the second object exists, the position point corresponding to the first object is offset, and the offset position point is used as the control point at the current moment.

20. An intelligent driving device, characterized in that, include: processor; Memory used to store processor-executable instructions; The processor is configured to implement the method of any one of claims 1-8 when executing the instructions.

21. A non-volatile computer-readable storage medium storing computer program instructions thereon, characterized in that, When the computer program instructions are executed by the processor, they implement the method described in any one of claims 1-8.

22. A computer program product containing instructions, characterized in that, When it is run on a computer, it causes the computer to perform the method as described in any one of claims 1-8.