An intelligent driving method and device, a storage medium and a computer program product
By acquiring environmental and status information from the ADAS system, determining control points and generating control trajectories, and utilizing priority and Kalman filters, the problems of high computing power and complex logic are solved, achieving efficient feature switching and improved system performance.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-03-01
- Publication Date
- 2026-03-20
AI Technical Summary
ADAS systems suffer from high computing power requirements, complex switching logic, and poor scalability, especially when adding new features, which requires generating multiple trajectory lines and adjusting the state machine.
By acquiring the current environmental information and vehicle status information, control points are determined, and control trajectories are generated based on the control points and historical trajectories. Priority information and Kalman filters are used to achieve smooth transitions between different characteristics, reducing computing power requirements and logical complexity.
It achieves efficient control trajectory generation that meets control requirements in different scenarios, reduces computing power requirements, simplifies feature switching logic, and improves system performance and scalability.
Smart Images

Figure CN113165670B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of automatic driving, and in particular to an intelligent driving method and device, a storage medium and a computer program. BACKGROUND
[0002] In an advanced driver assistant system (ADAS), environment information of a vehicle surrounding is obtained through sensor perception and fusion of the vehicle, and then path planning, vehicle control and the like are performed according to the environment information, so as to assist a driver to drive.
[0003] At present, the features (also referred to as functions) possessed by the 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) and the like. In the architecture of some ADAS systems, a control trajectory corresponding to each feature is generated based on multiple trajectory lines. In order to support different features, the environment information needs to be processed to generate multiple trajectory lines, and the computing power requirement of the ADAS system is high. Meanwhile, a state machine is used to realize switching between the different features, and the switching conditions and transition logic are complex. In addition, the system has poor scalability. If a new feature is added, a trajectory line for the feature needs to be newly generated, and the state machine needs to be adjusted. SUMMARY
[0004] The present application provides an intelligent driving method and device, a storage medium and a computer program.
[0005] In a first aspect, an embodiment of the present application provides an intelligent driving method, which comprises: acquiring environment information of a surrounding of a vehicle at a current time and state information of the vehicle at the current time; determining a control point at the current time according to the environment information and the state information; and generating a control trajectory at the current time according to the control point, a control trajectory at a historical time and the state information, the control trajectory representing a trajectory for guiding driving of the vehicle.
[0006] Based on the technical solution, the control point at the current moment can be determined according to the environmental information around the ego vehicle at the current moment and the state information of the ego vehicle at the current moment; and the control trajectory at the current moment can be generated according to the control point, the control trajectory at the historical moment, and the state information of the ego vehicle at the current moment. In this way, the influence of the environmental information on the characteristics is concentrated on a point (i.e., the control point) in space, and the control trajectory at the current moment can be generated through the control point, thereby meeting the control requirements in different scenarios, and without the need to generate multiple trajectory lines in advance by processing the environmental information, the requirement for computing power is greatly reduced, and the performance of the ADAS system is improved.
[0007] According to a first aspect, in a first possible implementation manner of the first aspect, the control point at the current moment is determined according to the environmental information and the state information, comprising: the control point at the current moment is determined in sequence according to the preset priority information of each first object in the environmental information and the state information.
[0008] Based on the technical solution, the control point at the current moment is determined in sequence according to the preset priority information of each first object in the environmental information and the state information. In this way, the position of the control point in different scenarios is changed according to the priority order of the information sources (i.e., each first object in the environmental information), and the control point at the current moment is determined, thereby realizing multiple characteristics (such as OBF, LKA, TJA, LCC, etc.), and simultaneously, the switching between different characteristics is realized according to the priority of the multiple information sources, the smooth transition between multiple characteristics or scenarios is ensured, and the switching between different characteristics is realized without using a state machine, thereby reducing the logic complexity.
[0009] According to the first possible implementation manner of the first aspect, in a second possible implementation manner of the first aspect, the first object at least includes: a lane line of a self-lane, a target vehicle, and one of vehicles in a neighboring lane; wherein the priority of the lane line of the self-lane, the target vehicle, and the vehicle in the neighboring lane decreases in sequence; and the control point at the current moment is determined in sequence according to the preset priority information of each first object in the environmental information and the state information, comprising: in the case that the lane line of the self-lane exists, a position point corresponding to a preset distance on the lane line of the self-lane and meeting a preset condition is taken as the control point at the current moment, and the preset distance is determined based on the state information; if the lane line of the self-lane does not exist, in the case that the target vehicle exists, a position point corresponding to the target vehicle and meeting the preset condition is taken 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, in the case that the vehicle in the neighboring lane exists, a position point corresponding to the vehicle in the neighboring lane projected on the self-lane and meeting the preset condition is taken as the control point at the current moment.
[0010] Based on the above technical solution, the control point at the current time can be determined according to the lane line of the self-lane in the environment information around the ego vehicle at the current time, and then the LCC, LKA and other characteristics can be realized. The control point at the current time can be determined according to the CIPV in the environment information around the ego vehicle at the current time, and then the TJA, OBF and other characteristics can be realized. The control point at the current time can be determined according to the vehicle in the adjacent lane in the environment information around the ego vehicle at the current time, and then the TJA, LKA and other characteristics can be realized. In this way, the lane line of the self-lane, the target vehicle and the vehicle in the adjacent lane are used to change the positions of the control points in different scenes in a priority ordering manner, the control point at the current time is determined according to the first object with the highest priority existing in the environment information, and thus multiple characteristics (such as LCC, LKA, OBF, TJA and other characteristics) are realized. Meanwhile, the priority of the lane line of the self-lane, the target vehicle and the vehicle in the adjacent lane is used to realize switching between different characteristics, and smooth transition between multiple characteristics or scenes is ensured.
[0011] According to the third possible implementation manner of the first aspect, in the first or second possible implementation manner of the first aspect, the control point at the current time is sequentially determined according to the preset priority information of each first object in the environment information and the state information, including: obtaining a position point corresponding to the first object with the highest priority; determining whether a second object exists in a preset region, the second object being an avoidance object of the ego vehicle in the environment information; when the second object exists, performing offset processing on the position point corresponding to the first object, and taking the offset position point as the control point at the current time.
[0012] Based on the above technical solution, when the second object exists in the preset region, it means that if the control trajectory is generated based on the position point corresponding to the first object obtained above and the ego vehicle is controlled to travel according to the control trajectory, there is a risk of collision with the second object. At this time, the position point corresponding to the first object is offset processed, and the offset position point is taken as the control point at the current time, so as to avoid collision with the second object. In this way, based on the first object, in a priority ordering manner, and in combination with the existing second object, the positions of the control points in different scenes are changed together to determine the control point at the current time, multiple characteristics (such as CAA, road edge away and other characteristics) can be realized, and smooth transition between multiple characteristics or scenes is ensured.
[0013] In a fourth possible implementation of the first aspect, in the third possible implementation of the first aspect, the second object comprises a hard boundary of a self-lane; the preset region is a region of a preset size centered on the position point corresponding to the first object; and the offsetting the position point corresponding to the first object when the second object exists and taking the offset position point as the control point at the current time comprises: offsetting the position point corresponding to the first object when the hard boundary of the self-lane exists, so that the hard boundary is outside a region of a preset size centered on the offset position point, and the offset position point is within the self-lane; and taking the offset position point as the control point at the current time.
[0014] According to the above technical solution, 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 a region of a preset size centered on the offset position point, and the offset position point is within the self-lane, and the offset position point is taken as the control point at the current time. The control point is far away from the hard boundary of the lane, so that when the ego vehicle travels according to the control trajectory generated based on the control point, collision with the hard boundary is avoided. In this way, based on the first object, the control point at the current time is determined in a priority-ordered manner and in combination with the hard boundary, which changes the positions of the control points in different scenarios, and multiple characteristics (such as a road edge far away) are realized, and smooth transition between multiple characteristics or scenarios is ensured.
[0015] In a fifth possible implementation of the first aspect, in the third possible implementation of the first aspect, the second object comprises an obstacle; the preset region is a region of a preset size in front of the self-lane of the ego vehicle; and the offsetting the position point corresponding to the first object when the second object exists and taking the offset position point as the control point at the current time comprises: when the obstacle exists, offsetting the position point corresponding to the first object according to weight information corresponding to the obstacle, so that the obstacle is outside a region of a preset size centered on the offset position point, and the offset position point is within the self-lane; and the weight information indicates a degree to which the ego vehicle avoids the obstacle; and taking the offset position point as the control point at the current time.
[0016] Based on the above technical solution, considering that the action of the ego vehicle to avoid the obstacle is different in different scenarios, the weight information corresponding to the obstacle is used to represent the degree of the ego vehicle avoiding the obstacle in different scenarios, and the position point corresponding to the first object is offset according to the weight information corresponding to the obstacle, so as to realize the position point offset in different scenarios, and the position point after the offset is taken as the control point at the current time, which is far away from the obstacle, so that when the ego vehicle travels according to the control trajectory generated based on the control point, the collision with the obstacle is avoided. In this way, based on the priority ordering manner of the first object, and in combination with the obstacle and the weight information corresponding to the obstacle, the positions of the control points in different scenarios are changed together to determine the control point at the current time, thereby realizing multiple features (such as CAA characteristics) and ensuring smooth transition between multiple characteristics or scenarios.
[0017] According to a seventh possible implementation of the first aspect, the generating the control trajectory at the current time according to the control point, the control trajectory at the historical time, and the state information comprises: generating the control trajectory at the current time according to the control point, the control trajectory at the historical time, and the state information by using a Kalman filter.
[0018] Based on the above technical solution, the value of the weight information is negatively related to THW, that is, the smaller THW is, the more obvious the action of the ego vehicle to avoid the obstacle is, the value of the weight information is negatively related to TTC, that is, the smaller TTC is, the more obvious the action of the ego vehicle to avoid the obstacle is, and the value of the weight information is positively related to IVW, that is, the larger IVW is, the more obvious the action of the ego vehicle to avoid the obstacle is. In this way, the positions of the control points in different scenarios are changed according to the values of the weight information corresponding to different scenarios to determine the control point at the current time, thereby realizing smooth transition between different scenarios.
[0019] According to a seventh possible implementation of the first aspect, the generating the control trajectory at the current time according to the control point, the control trajectory at the historical time, and the state information comprises: generating the control trajectory at the current time according to the control point, the control trajectory at the historical time, and the state information by using a Kalman filter.
[0020] Based on the above technical solution, the Kalman filter has time continuity, the position information of the current time control point, the control trajectory at the historical time, and the state information of the ego vehicle at the current time are input into the Kalman filter, the control trajectory at the current time is generated by using the continuity of the control point in space in the time domain, the control requirements in different scenarios are met, the requirement for computing power is greatly reduced, and the system performance is improved.
[0021] In a second aspect, embodiments of the present application provide an intelligent driving device, the device comprising: an acquisition module configured to acquire environment information around a host vehicle at a current time and state information of the host vehicle at the current time; a determination module configured to determine a control point at the current time according to the environment information and the state information; and a generation module configured to generate a control trajectory at the current time according to the control point, a historical control trajectory and the state information, the control trajectory representing a trajectory for guiding the host vehicle to travel.
[0022] According to the second aspect, in a first possible implementation manner of the second aspect, the determination module is further configured to determine the control point at the current time according to preset priority information of each first object in the environment information and the state information.
[0023] According to the first possible implementation manner of the second aspect, in a second possible implementation manner of the second aspect, the first objects at least include a lane line of a lane of the host vehicle, a target vehicle and one vehicle in a neighboring lane of the host vehicle, wherein the priority of the lane line of the lane of the host vehicle, the target vehicle and the vehicle in the neighboring lane of the host vehicle decreases in sequence; and the determination module is further configured to, in a case where the lane line of the lane of the host vehicle exists, take a position point corresponding to a preset distance on the lane line of the lane of the host vehicle and meeting a preset condition as the control point at the current time, the preset distance being determined based on the state information; if the lane line of the lane of the host vehicle does not exist, in a case where the target vehicle exists, take a position point corresponding to the target vehicle and meeting the preset condition as the control point at the current time; and if the lane line of the lane of the host vehicle does not exist and the target vehicle does not exist, in a case where the vehicle in the neighboring lane of the host vehicle exists, take a position point corresponding to the vehicle in the neighboring lane of the host vehicle projected on the lane of the host vehicle and meeting the preset condition as the control point at the current time.
[0024] According to the first or second possible implementation manner of the second aspect, in a third possible implementation manner of the second aspect, the determination module is further configured to acquire a position point corresponding to a first object with the highest priority; determine whether a second object exists in a preset area, the second object being an avoiding object of the host vehicle in the environment information; and in a case where the second object exists, perform offset processing on the position point corresponding to the first object, and take the offset position point as the control point at the current time.
[0025] In a fourth possible implementation manner of the second aspect, in the third possible implementation manner of the second aspect, the second object comprises a hard boundary of a self-lane; the preset region is a region 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 self-lane exists, performing offset processing on the position point corresponding to the first object, so that the hard boundary is outside a region of a preset size centered on the offset position point, and the offset position point is within the self-lane; and taking the offset position point as the control point at the current time.
[0026] In a fifth possible implementation manner of the third possible implementation manner of the second aspect, the second object comprises an obstacle; the preset region is a region of a preset size in front of the ego vehicle in the self-lane; the determining module is further configured to: when the obstacle exists, performing offset processing on the position point corresponding to the first object according to weight information corresponding to the obstacle, so that the obstacle is outside a region of a preset size centered on the offset position point, and the offset position point is within the self-lane; and taking the offset position point as the control point at the current time.
[0027] In a sixth possible implementation manner of the fifth possible implementation manner of the second aspect, a value of the weight information is determined by at least one of a time headway THW, a time to collision TTC, and an 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.
[0028] In a seventh possible implementation manner of the second aspect, the generating module is further configured to: generate the control trajectory at the current time by using a Kalman filter according to the control point at the current time, the control trajectory at the historical time, and the state information.
[0029] The technical effects of the second aspect and the various possible implementation manners of the second aspect are described above with reference to the first aspect.
[0030] In a third aspect, the embodiments of the present application provide an intelligent driving device, comprising: a processor; a memory for storing processor-executable instructions; wherein the processor is configured to execute the instructions to implement the intelligent driving method of the first aspect or one or more of the various possible implementation manners of the first aspect.
[0031] The technical effects of the third aspect are described above with reference to the first aspect.
[0032] In a fourth aspect, an embodiment of the present application provides a nonvolatile computer readable storage medium, which stores computer program instructions, and the computer program instructions are executed by a processor to implement the intelligent driving method of the first aspect or one or more of the possible implementation manners of the first aspect.
[0033] The technical effects of the fourth aspect are described above with reference to the first aspect.
[0034] In a fifth aspect, an embodiment of the present application provides a computer program product containing instructions, which, when run on a computer, cause the computer to execute the intelligent driving method of the first aspect or one or more of the possible implementation manners of the first aspect.
[0035] The technical effects of the fifth aspect are described above with reference to the first aspect.
[0036] In a sixth aspect, an embodiment of the present application further provides a vehicle, which comprises the intelligent driving device of the second aspect or one or more of the possible implementation manners of the second aspect.
[0037] The technical effects of the sixth aspect are described above with reference to the first aspect.
[0038] In a seventh aspect, an embodiment of the present application further provides an automatic driving assistance system, which comprises: a preprocessing layer, a planning layer, a decision layer, and a control layer; wherein the preprocessing layer is configured to generate environment information around a host vehicle at a current time; the planning layer is configured to determine a control point at the current time according to the environment information and state information of the host vehicle at the current time, and generate a control trajectory at the current time according to the control point, a control trajectory at a historical time, and the state information; the control trajectory represents a trajectory for guiding the host vehicle to travel; the decision layer is configured to determine whether the control trajectory is applicable to a working state of the host vehicle at the current time; and the control layer is configured to generate a control signal at the current time based on the control trajectory in a case where the control trajectory is applicable to the working state of the host vehicle at the current time, and the control signal is used for assisting driving of the vehicle.
[0039] According to the seventh aspect, in a first possible implementation manner of the seventh aspect, the planning layer is further configured to determine the control point at the current time according to preset priority information of each first object in the environment information and the state information.
[0040] 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.
[0041] 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.
[0042] These and other aspects of this application will become more apparent in the description of the following embodiments(s). Attached Figure Description
[0043] Figure 1 A schematic diagram illustrating an application scenario to which an intelligent driving method according to an embodiment of this application is applicable;
[0044] Figure 2 A flowchart illustrating an intelligent driving method according to an embodiment of this application is shown;
[0045] Figure 3 This diagram illustrates a flowchart of determining a control point at the current moment according to an embodiment of this application;
[0046] Figure 4 A schematic diagram illustrating various vehicle lane intrusions according to an embodiment of this application is shown;
[0047] 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.
[0048] Figure 6 A schematic diagram of a weight body function according to an embodiment of this application is shown;
[0049] Figure 7 A schematic diagram of another weight body function according to an embodiment of this application is shown;
[0050] Figure 8 This diagram illustrates a flowchart of determining a control point at the current moment according to an embodiment of this application;
[0051] Figure 9FIG. 1 shows a schematic diagram of implementing OBF feature using control points according to an embodiment of the present application;
[0052] Figure 10 FIG. 2 shows a schematic diagram of implementing LCC feature using control points according to an embodiment of the present application;
[0053] Figure 11 FIG. 3 shows a schematic diagram of implementing TJA feature using control points according to an embodiment of the present application;
[0054] Figure 12 FIG. 4 shows a schematic diagram of implementing ALC / SLC feature using control points according to an embodiment of the present application;
[0055] Figure 13 FIG. 5 shows a comparison diagram of intelligent driving according to an embodiment of the present application;
[0056] Figure 14 FIG. 6 shows a schematic diagram of lateral offset speed curve according to an embodiment of the present application;
[0057] Figure 15 FIG. 7 shows a schematic diagram of structure of intelligent driving device according to an embodiment of the present application;
[0058] Figure 16 FIG. 8 shows a schematic diagram of ADAS system architecture according to an embodiment of the present application;
[0059] Figure 17 FIG. 9 shows a schematic diagram of structure of another intelligent driving device according to an embodiment of the present application. DETAILED DESCRIPTION
[0060] Various exemplary embodiments, features, and aspects of the present application will be described herein below with reference to the accompanying drawings. The same reference numbers in different drawings indicate functionally similar or the same elements. Although various aspects of the embodiments are illustrated in the drawings, the drawings are not necessarily drawn to scale unless specifically indicated.
[0061] The word "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any implementation described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other implementations.
[0062] The present application provides an intelligent driving method, which can be executed by an intelligent driving device. The intelligent driving device can be independently arranged, integrated in other devices, or realized by software or a combination of software and hardware.
[0063] Exemplarily, the intelligent driving device can be applied in an ADAS or an ADS, and can also be applied in scenarios such as D2D, vehicle-to-everything (V2X), vehicle-to-vehicle (V2V), long term evolution-vehicle (LTE-V), long term evolution-machine (LTE-M), and the like.
[0064] Exemplarily, the intelligent driving device can be a vehicle with a control trajectory generation function, or other components with the control trajectory generation function. The intelligent driving device includes but is not limited to a vehicle terminal, a vehicle controller, a vehicle module, a vehicle module group, a vehicle component, a vehicle chip, a vehicle unit, a vehicle radar, or a vehicle camera, and the like. The vehicle can implement the intelligent driving method provided in the present application through the vehicle terminal, the vehicle controller, the vehicle module, the vehicle module group, the vehicle component, the vehicle chip, the vehicle unit, the vehicle radar, or the camera.
[0065] Exemplarily, the intelligent driving device can also be an intelligent terminal with a control trajectory generation function other than a vehicle, or be arranged in an intelligent terminal with a control trajectory generation function other than a vehicle, or be arranged in a component of the intelligent terminal. The intelligent terminal can be an intelligent transportation device, an intelligent home device, a robot, a drone, or other terminal devices. The intelligent driving device includes but is not limited to an intelligent terminal or a sensor such as a controller, a chip, a radar, or a camera in the intelligent terminal, and other components.
[0066] Exemplarily, 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 PDA, a mobile phone, a tablet computer, a wireless terminal device, an embedded device, or other devices with processing functions.
[0067] Exemplarily, the intelligent driving device can also be a chip or processor with processing function, and the intelligent driving device can include multiple processors. The processor can be a single-CPU processor or a multi-CPU processor. The chip or processor with processing function can be arranged in the sensor or not arranged in the sensor, but arranged at a receiving end of a sensor output signal.
[0068] For ease of description, in the embodiments of the present application, the intelligent driving device is applied to an ADAS system as an example, and the provided intelligent driving method is exemplarily described.
[0069] The intelligent driving method provided by the embodiments of the present application is described in detail below.
[0070] Figure 1 A schematic diagram of an application scenario to which the intelligent driving method according to an embodiment of the present application is applicable is shown. As shown in Figure 1 The application scenario can be an advanced driver assistance scenario, which includes a host vehicle 401, at least one sensor (not shown in the figure) installed in the host vehicle 401, and an intelligent driving device (not shown in the figure) included in the host vehicle 401. The sensor is configured to perceive environmental information around the host vehicle 401, such as a lane line 403 of a host lane (i.e., a lane in which the host vehicle is located), a lane line 404 of a neighboring lane (i.e., a lane adjacent to the host lane), a road edge boundary 405 of a road, a pedestrian 406, a construction area 407, and another vehicle (e.g., a front vehicle 402, a side vehicle (not shown in the figure), and a rear vehicle (not shown in the figure)). The sensor transmits the perceived environmental information to the intelligent driving device, and the intelligent driving device is configured to execute the intelligent driving method in the embodiments of the present application.
[0071] It should be noted that Figure 1 Only one host vehicle, one another vehicle, three lanes, one pedestrian, and one construction area are shown in the application scenario, and it should be understood that more or fewer vehicles, lanes, and obstacles can be included in the application scenario, which is not shown here.
[0072] In addition, the application scenario described in the embodiments of the present application is for more clearly illustrating the technical solutions of the embodiments of the present application, and those skilled in the art can know that the technical solutions provided by the embodiments of the present application are also applicable to similar technical problems for other similar or new application scenarios.
[0073] Figure 2 A flowchart of an intelligent driving method according to an embodiment of the present application is shown. As shown in Figure 2 The method can be applied to the intelligent driving device in the host vehicle 401 in the application scenario described above Figure 1 The method can include the following steps:
[0074] Step 501, the intelligent driving device acquires the environment information around the ego vehicle at the current time and the state information of the ego vehicle at the current time.
[0075] The environment information represents one or more objects in the environment around the ego vehicle and attribute information of each object, for example, lane lines of the ego lane, road boundaries, lane lines of adjacent lanes, target vehicles, forward traffic flow, side vehicles, rear vehicles, vehicles in adjacent lanes, pedestrians, traffic lights, buildings, trees, construction areas, and the like, and attribute information such as position, speed, acceleration, orientation, distance, and the like of each object. Illustratively, the environment information around the ego vehicle can be sensed by sensors such as radars (e.g., millimeter wave radars, laser radars, ultrasonic radars), image acquisition devices (e.g., cameras), and the like installed around the body of the ego vehicle.
[0076] The state information of the ego vehicle can include driving state information, motion state information, and the like, wherein the motion state information represents information of the kinematic state of the ego vehicle, for example, information such as speed, acceleration, yaw rate, steering angle, steering radius, body position and attitude, and the like of the ego vehicle. Illustratively, the running state information can be acquired in real time by sensors installed in the ego vehicle. The driving state information represents parameter information set by the driver, for example, cruise speed set by the driver, following distance, headway, driver lane changing instruction, lane changing duration, and the like. Illustratively, the driving state information input by the driver through a display screen, physical buttons of a steering wheel, voice, and the like can be received.
[0077] It should be noted that the speed, acceleration, distance, and the like of each object in the surrounding environment can be the relative speed, relative acceleration, and relative distance of each object with respect to the ego vehicle, respectively; the position and orientation of each object can be the position or orientation in the vehicle body coordinate system; wherein the vehicle body coordinate system is used to describe the relative position relationship between the objects around the ego vehicle and the ego vehicle, and the conversion relationship between the coordinate system of each sensor and the vehicle body coordinate system can be determined by pre-calibration, so as to determine the coordinates of each object in the vehicle body coordinate system according to the data collected by the sensor. In the embodiments of the present application, unless otherwise specified, the position and the like of each object refer to the coordinates in the vehicle body coordinate system; illustratively, the projection of the center of the rear (wheel) axis of the ego vehicle on the ground is taken as the three-dimensional origin, the positive direction of the X-axis is forward along the body, the positive direction of the Y-axis is left along the rear axis, and the positive direction of the Z-axis is upward, thereby forming the corresponding vehicle body coordinate system XYZ.
[0078] Step 502, the intelligent driving device determines the control point at the current time according to the environment information around the ego vehicle at the current time and the state information of the ego vehicle.
[0079] The control point, also referred to as a virtual point, can be a point on an object in the surrounding environment of the ego vehicle, for example, a midpoint of a rear bumper of the target vehicle, or a point on a lane line of the ego lane at a certain distance from the ego vehicle, and the like. The control point can also be a point other than the object in the surrounding environment of the ego vehicle, for example, a point between the left and right lane lines of the ego lane, or a point at a certain distance in front of the ego vehicle, and the like.
[0080] The following exemplarily describes an implementation of determining the control point at the current time in this step. In a first manner, the control point at the current time can be determined according to the first objects contained in the surrounding environment information of the ego vehicle at the current time and the state information (such as the driving state information) of the ego vehicle.
[0081] In a possible implementation, the control point at the current time can be determined according to the preset priority information of each first object in the environment information and the driving state information at the current time. In an example, the first object with the highest priority existing in the environment information can be determined according to the preset priority information of each first object, and the control point at the current time can be determined according to the first object with the highest priority. For example, whether each first object exists in the environment information around the ego vehicle at the current time can be determined according to the preset priority information of each first object, and when a first object is determined to exist in the environment information around the ego vehicle at the current time, the control point at the current time can be determined according to the existing first object.
[0082] The first object can include a reference object for the ego vehicle, for example, a lane line of the ego lane, a target vehicle, a vehicle in a neighboring lane, and the like. Different first objects correspond to different characteristics, and the characteristics corresponding to each first object can be OBF, LKA, TJA, LCC, and the like. That is, the preset priority can also represent the preset priority order of processing each characteristic in the ADAS system. Exemplarily, the preset priorities of the lane line of the ego lane, the target object, and the lane line of the neighboring lane decrease in turn. In this way, the control point at the current time can be determined according to the preset priority information of each first object in the environment information and the driving state information. In this way, the position of the control point in different scenarios is changed by using multiple information sources (that is, each first object in the environment information) and according to the priority order of each information source, the control point at the current time is determined, thereby realizing multiple characteristics (such as OBF, LKA, TJA, LCC, and the like), and simultaneously, switching between different characteristics is realized according to the priority of the multiple information sources, thereby ensuring smooth transition between multiple characteristics or scenarios. The switching between different characteristics does not need to be realized by using a state machine, thereby reducing the logic complexity.
[0083] It should be noted that in different ADAS solutions, one or more features can be included, and different features correspond to different first objects, wherein the number of features, the types of first objects, and the preset priorities of each type can be preconfigured by the ADAS system or set by the driver.
[0084] Exemplarily, the first object can include: a lane line of a self-lane, a closest in-path vehicle (CIPV) in the self-lane (i.e., a target vehicle), and a vehicle in a neighboring lane; wherein the priorities of the lane line of the self-lane, the CIPV, and the vehicle in the neighboring lane decrease in turn. In the case where the lane line of the self-lane exists, a position point corresponding to a preset distance on the lane line of the self-lane and meeting a preset condition is taken as a control point at the current time; if the lane line of the self-lane does not exist, in the case where the CIPV exists, a position point corresponding to the CIPV and meeting the preset condition is taken as the control point at the current time; if the CIPV also does not exist, in the case where the vehicle in the neighboring lane exists, a position point corresponding to the vehicle in the neighboring lane projected in the self-lane and meeting the preset condition is taken as the control point at the current time.
[0085] The self-lane lane line exists, the CIPV exists, and the vehicle in the adjacent lane exists, indicating that the sensor of the ego vehicle can perceive data of the self-lane lane line, the CIPV, and the vehicle in the adjacent lane, and the data meets the preset requirements for stability and accuracy of the data. The preset condition can include that the position point is within the range that can be reached in the current driving state of the ego vehicle. For example, the ego vehicle is in a forward driving state, and the preset condition is that the X-axis coordinate value of the position point is greater than 3 m. If the position point is located in front of the ego vehicle and the X-axis coordinate value is greater than 3 m, the preset condition is met. If the position point is located behind or to the side of the ego vehicle, the preset condition is not met. The preset distance can be determined based on the driving state information. For example, the driver sets the following distance to be 15-40 m, and the preset distance can include that the X-axis coordinate value of the position point is 15-40 m, and so on. That is, the position point on the self-lane lane line is 15-40 m away from the longitudinal distance of the vehicle. The position point corresponding to the preset distance on the self-lane lane line can be a point on the preset distance on the self-lane lane line, a point on the preset distance on the self-lane lane line projected onto the center line of the self-lane lane, and so on. The position point corresponding to the CIPV can be the midpoint of the rear bumper of the CIPV, and can also be a point projected onto the center line of the self-lane lane. The position point of the vehicle in the adjacent lane projected onto the self-lane lane can be the midpoint of the rear bumper of the vehicle in the adjacent lane projected onto the self-lane lane. For example, the midpoint of the rear bumper of the vehicle in the adjacent lane on the left of the self-lane is moved a certain distance (such as one lane width) to the right in the transverse direction to obtain the corresponding projection point. The transverse 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.
[0086] For example, Figure 3 A flowchart for determining a control point at a current time according to an embodiment of the present application is shown as follows: Figure 3As shown, the intelligent driving device first determines whether there is a lane line of the self-lane in the environment information, in the case that the lane line of the self-lane exists, a position point corresponding to a preset distance on the lane line of the self-lane is obtained, if the position point meets a preset condition, the position point is taken as the control point at the current time, if the position point does not meet the preset condition, the ADAS system is exited, and the driver is reminded to take over the vehicle control; in the case that the lane line of the self-lane does not exist, it is further determined whether there is a CIPV in the environment information. In the case that the CIPV exists, a position point corresponding to the CIPV is obtained, if the position point meets a preset condition, the position point is taken as the control point at the current time, if the position point does not meet the preset condition, the ADAS system is exited, and the driver is reminded to take over the vehicle control; in the case that the CIPV does not exist, it is further determined whether there is a vehicle in the adjacent lane. In the case that there is a vehicle in the adjacent lane, a position point of the vehicle in the self-lane is obtained, if the position point meets a preset condition, the position point is taken as the control point at the current time, if the position point does not meet the preset condition, the ADAS system is exited, and the driver is reminded to take over the vehicle control. In the case that there is no vehicle in the adjacent lane, the ADAS system is exited, and the driver is reminded to take over the vehicle control.
[0087] In the case that the lane line of the self-lane exists and the control point at the current time is determined, a control trajectory is further generated, which can realize the LCC, LKA and other characteristics, in the case that the CIPV exists and the control point at the current time is determined, a control trajectory is further generated, which can realize the TJA, OBF and other characteristics, in the case that there is a vehicle in the adjacent lane and the control point at the current time is determined, a control trajectory is further generated, which can realize the TJA, LKA and other characteristics. In this way, by using the lane line of the self-lane, the target vehicle and the vehicle in the adjacent lane of the ego vehicle, the position of the control point in different scenarios is changed in a priority-ordered manner, the control point at the current time can be determined according to the first object with the highest priority existing in the environment information, thereby realizing multiple characteristics, for example, the control point at the current time can be determined according to the lane line of the self-lane in the environment information around the ego vehicle at the current time, thereby realizing the LCC, LKA and other characteristics; the control point at the current time can be determined according to the CIPV in the environment information around the ego vehicle at the current time, thereby realizing the TJA, OBF and other characteristics; the control point at the current time can be determined according to the vehicle in the adjacent lane of the ego vehicle in the environment information around the ego vehicle at the current time, thereby realizing the TJA, LKA and other characteristics; at the same time, according to the priority of the lane line of the self-lane, the target vehicle and the vehicle in the adjacent lane of the ego vehicle, the switching between different characteristics is realized, and the smooth transition between multiple characteristics or scenarios is ensured.
[0088] In the second mode, the control point at the current time can be determined according to the first object, the second object and the state information (such as the driving state information) of the ego vehicle contained in the environment information around the ego vehicle at the current time.
[0089] In a possible implementation, the control point at the current time is determined according to the preset priority information of each first object in the environment information and the driving state information at the current time, which can include: obtaining a position point corresponding to a first object with the highest priority; determining whether a second object exists in a preset area; when the second object exists, performing offset processing on the position point corresponding to the first object, and taking the offset position point as the control point at the current time.
[0090] The position point corresponding to the first object can be a position point corresponding to a preset distance on a lane line of the self-lane, a CIPV corresponding position point, a position point of a vehicle in a neighboring lane projected on the self-lane, and the like. The second object is an avoiding object of the ego vehicle in the environment information, for example, a side vehicle, a rear vehicle, a pedestrian, a construction area, a road edge boundary, and the like. Different second objects correspond to different characteristics, and the characteristics corresponding to each second object can be CAA, road edge away, and the like. The preset area is an area with a certain size in the road, for example, a circular area with a certain size centered on the position point corresponding to the first object, or a rectangular area with a certain size in the self-lane. When the second object exists in the preset area, it means that if a control trajectory is generated based on the obtained position point corresponding to the first object and the ego vehicle is controlled to travel according to the control trajectory, there is a risk of colliding with the second object. At this time, offset processing is performed on the position point corresponding to the first object, for example, lateral offset processing or longitudinal offset processing, and the offset position point is taken as the control point at the current time, thereby avoiding collision with the second object. In this way, based on the first object, the control point at the current time is determined in a priority-ordered manner, and the existing second object is combined to change the positions of the control points in different scenarios, which can realize multiple characteristics (such as CAA, road edge away, and the like) and ensure smooth transition between multiple characteristics or scenarios.
[0091] It should be noted that in different ADAS solutions, one or more characteristics can be included, and different characteristics correspond to different second objects. The number of characteristics, the type of second object, and the size of the preset area can be preconfigured by the ADAS system or set by the driver.
[0092] For example, the second object includes a hard boundary of the lane, and the preset area is a first area with a preset size centered on the position point corresponding to the first object.
[0093] In a possible implementation, the above-mentioned offsetting the position point corresponding to the first object when the second object exists, and taking the offset position point as the control point at the current time, comprises: when a hard boundary of a lane exists in the first region, offsetting the position point corresponding to the first object so that the hard boundary is outside a region of a preset size centered on the offset position point, and the offset position point is in the lane; and taking the offset position point as the control point at the current time.
[0094] The hard boundary can be a boundary that cannot be touched or crossed by the ego vehicle, for example, can include a solid lane line of the lane, a road edge boundary, etc. The first region can be a region of a certain size centered on the position point corresponding to the first object, for example, can be a circular region with the position point corresponding to the first object as the center and a radius of 0.5-1.875 meters. The offsetting can be moving the position point corresponding to the first object in the lateral direction by a certain distance based on the position of the lane center line of the lane, for example, when the lane center line of the lane is located to the left of the position point corresponding to the first object, moving the position point corresponding to the first object in the lateral direction to the left by a certain distance, so that the hard boundary is outside the region of a certain size centered on the offset position point, and the offset position point is in the lane. The offset position point is taken as the control point at the current time. The control point is away from the hard boundary of the lane, so that when the ego vehicle travels according to the control trajectory generated based on the control point, collision with the hard boundary is avoided. In this way, based on the first object, in the priority ordering manner, and in combination with the hard boundary, the positions of the control points in different scenarios are changed together to determine the control point at the current time, multiple characteristics (such as the road edge away characteristic) can be realized, and smooth transition between multiple characteristics or scenarios is ensured.
[0095] For example, the second object can include a side vehicle, a pedestrian, and the like. The preset region can be a second region of a preset size in front of the lane of the ego vehicle.
[0096] In a possible implementation, the above-mentioned offsetting the position point corresponding to the first object when the second object exists, and taking the offset position point as the control point at the current time, comprises: when a hard boundary of a lane exists in the first region, offsetting the position point corresponding to the first object so that the hard boundary is outside a region of a preset size centered on the offset position point, and the offset position point is in the lane; and taking the offset position point as the control point at the current time.
[0097] The second area can be a rectangular area with a certain longitudinal length (e.g., 10-40 m) and a certain transverse width (e.g., 1.875-3.75 m) in front of the ego vehicle in the ego lane. The weight information corresponding to the obstacle represents the degree of avoidance of the ego vehicle from the obstacle. For example, the greater the numerical value of the weight information, the more obvious the action of the ego vehicle avoiding the obstacle, and the farther the distance between the offset position point and the position point corresponding to the first object. The smaller the numerical value of the weight information, the smaller the action of the ego vehicle avoiding the obstacle, and the closer the distance between the offset position point and the position point corresponding to the first object. In this way, considering that the longitudinal distance, transverse distance, relative speed, and other information of the obstacle are different in different scenarios, the action of the ego vehicle avoiding the obstacle is different, the degree of avoidance of the ego vehicle from the obstacle in different scenarios is represented by the weight information corresponding to the obstacle, and the position point corresponding to the first object is offset according to the weight information corresponding to the obstacle, thereby realizing the offset of the position point in different scenarios, taking the offset position point as the control point at the current time, and making the control trajectory generated by the ego vehicle according to the control point avoid colliding with the obstacle when driving. In this way, based on the priority ordering manner of the first object, combined with the obstacle and the weight information corresponding to the obstacle, the positions of the control points in different scenarios are changed to determine the control point at the current time, thereby realizing multiple features (such as CAA characteristics), and ensuring smooth transition between multiple characteristics or scenarios.
[0098] For example, the numerical value of the weight information can be determined by a preset weight function (or weight body function). The parameters included in the weight function can include: Time of Headway (THW), Time to Collision (TTC), Invade Vehicle Width (IVW), and the like. The THW can be determined by the driving state information, i.e., can be preset by the driver, the TTC can be determined according to the relative distance and relative speed of the invading vehicle and the ego vehicle in the environmental information, and the IVW can be determined according to the position of the lane line of the ego lane and the position of the invading vehicle in the environmental information. Taking THW, TTC, and IVW as examples of the parameters included in the weight function, the numerical value of the weight information can be represented as α=f(THW, TTC, IVW), where α is the numerical value of the weight information, f represents the weight body function, the numerical value of the weight information α is negatively correlated with THW, i.e., the smaller the THW, the more obvious the action of the ego vehicle avoiding the obstacle, the numerical value of the weight information α is negatively correlated with TTC, i.e., the smaller the TTC, the more obvious the action of the ego vehicle avoiding the obstacle, and the numerical value of the weight information α is positively correlated with IVW, i.e., the greater the IVW, the more obvious the action of the ego vehicle avoiding the obstacle. In this way, according to the numerical value of the weight information corresponding to different scenarios, the positions of the control points in different scenarios are changed to determine the control point at the current time, thereby realizing smooth transition between different scenarios.
[0099] The following takes the obstacle as an example of the invading vehicle to illustrate the weight information corresponding to the obstacle in different scenarios.
[0100] Figure 4 Fig. 4 shows a schematic diagram of multiple vehicle invasion self-lane scenarios according to an embodiment of the present application, in which Figure 4 (a)- Figure 4 In (f), the direction of the arrow represents the speed direction of the vehicle, wherein the direction indicated by the arrow in front of the vehicle head of the ego vehicle 401 and the invading vehicle 701 is the positive direction, the direction indicated by the arrow on the tail of the invading vehicle 701 is the reverse direction, the number of arrows represents the speed of the vehicle, the more the number of arrows, the greater the speed of the vehicle, wherein Figure 4 (a) represents the scenario of close distance keeping of the invading vehicle, that is, the speed direction of the invading vehicle 701 and the ego vehicle 401 are both positive, and the size is approximately equal; Fig. 4(b) represents the scenario of high-speed passing of the invading vehicle, that is, the speed direction of the invading vehicle 701 and the ego vehicle 401 are both positive, and the speed size of the invading vehicle 701 is greater than the speed size of the ego vehicle 401; Figure 4 (c) represents the scenario of low-speed approaching of the invading vehicle, that is, the speed direction of the invading vehicle 701 is reverse, the speed direction of the ego vehicle 401 is positive, and the speed size of the invading vehicle 701 is less than the speed size of the ego vehicle 401; Figure 4 (d) represents the scenario of invading vehicle cutting in at equal speed, that is, the speed direction of the invading vehicle 701 and the ego vehicle 401 are both positive, and form a certain angle, and the speed of the invading vehicle 701 is equal to the speed of the ego vehicle 401; 4(e) represents the scenario of invading vehicle cutting in quickly, that is, the speed direction of the invading vehicle 701 and the ego vehicle 401 are both positive, and form a certain angle, and the speed of the invading vehicle 701 is greater than the speed of the ego vehicle 401; 4(f) represents the scenario of invading vehicle cutting in at low speed, that is, the speed direction of the invading vehicle 701 is reverse, the speed direction of the ego vehicle 401 is positive, and the two form a certain angle, and the speed of the invading vehicle 701 is less than the speed of the ego vehicle 401.
[0101] Figure 5 Fig. 5 shows a schematic diagram of position point offset in multiple vehicle invasion self-lane scenarios according to an embodiment of the present application, in which Figure 4 Fig. 5 shows a schematic diagram of position point offset in multiple vehicle invasion self-lane scenarios according to an embodiment of the present application, in which 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... 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) Scenes where intruding vehicles maintain 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.
[0102] In different scenarios, the value of the weight information corresponding to the invading vehicle can be determined based on the weight function f and the position, relative distance, relative speed, etc. of the invading vehicle in the environmental information, i.e. α = f (THW, TTC, IVW). Different values of the weight information correspond to different points on the line between "0" and "1". For example, the value of the weight information is between 0 and 1, and the line segment between "0" and "1" is proportionally divided. When the value of the weight information is equal to 1, the point corresponding to "1" is the position point after the shift. When the value of the weight information is equal to "0", the point corresponding to "0" is the position point after the shift. When the value of the weight information is greater than 0 and less than 1, the point corresponding to the position on the line segment is selected. In this way, in different scenarios, the position point after the shift can be determined according to THW, TTC, IVW and the weight function f. If the position point after the shift is taken as the control point at the current time to generate the control trajectory at the current time, it can be ensured that the ego vehicle will not collide with the invading vehicle when driving along the control trajectory.
[0103] For example, the weight function f is determined according to the following formula: Figure 4 In the above formula, THW represents the relative distance between the invading vehicle 701 and the ego vehicle 401, TTC represents the time to collision, and IVW represents the relative speed between the invading vehicle 701 and the ego vehicle 401. Figure 6 The weight function f is determined according to the following formula: Figure 6 As shown in FIGS. 6(a)-6(d), when TTC = -4, the weight information value α is a weight function of THW and IVW. FIGS. 6(a)-6(c) are three views of FIG. 6(d). Figure 6 As the TTC changes, the shape of the weight function also changes, corresponding to different scenarios of avoiding obstacles. Figure 7 The weight function f is determined according to the following formula: Figure 7 As shown in FIGS. 7(a)-7(d), the weight function changes with different TTC. FIGS. 7(a)-7(d) are three views of FIG. 7(d). Figure 7 As shown in FIG. 7(a), when TTC < 0, α is a weight function of THW and IVW. Figure 7 As shown in FIG. 7(b), when TTC = ∞, α is a weight function of THW and IVW. Figure 7 As shown in FIG. 7(c), when TTC = 20, α is a weight function of THW and IVW. Figure 7 As shown in FIG. 7(b), when TTC = 4, α is a weight function of THW and IVW.
[0104] Figure 8 The flowchart for determining the control point at the current time according to an embodiment of the present application is shown in FIG. 8. Figure 8As shown, the intelligent driving device first determines whether there is a lane line of the self-lane in the environment information. In the case that there is a lane line of the self-lane, a position point corresponding to a preset distance on the lane line of the self-lane is obtained. In the case that there is no lane line of the self-lane, it is further determined whether there is a CIPV in the environment information. In the case that there is a CIPV, a position point corresponding to the CIPV is obtained. In the case that there is no CIPV, it is further determined whether there is a vehicle in the adjacent lane. In the case that there is a vehicle in the adjacent lane, a position point of the vehicle in the self-lane is obtained. In the case that there is no vehicle in the adjacent lane, the ADAS system is exited, and the driver is reminded to take over the vehicle control.
[0105] Further, after obtaining any one of the position point corresponding to a preset distance on the lane line of the self-lane, the position point corresponding to the CIPV, and the position point of the vehicle in the adjacent lane projected in the self-lane, it is further determined whether there is a hard boundary of the lane in the first region and whether there is an obstacle in the second region. The steps of determining whether there is a hard boundary of the lane in the first region and determining whether there is an obstacle in the second region are not in a time sequence. When there is a hard boundary of the lane in the first region or there is an obstacle in the second region, corresponding position point offset processing is performed to obtain an offset position point. If the offset position point meets a preset condition, the offset position point is taken as a control point at the current time. If the offset position point does not meet the preset condition, the ADAS system is exited, and the driver is reminded to take over the vehicle control. When there is no hard boundary of the lane in the first region and there is no obstacle in the second region, it is determined whether the position point meets the preset condition. If the position point meets the preset condition, the position point is taken as the control point at the current time. If the position point does not meet the preset condition, the ADAS system is exited, and the driver is reminded to take over the vehicle control.
[0106] When the lane line of the self-lane exists and the position point offset processing is not needed, a control trajectory can be further generated according to the determined control point, and the LCC, LKA and other characteristics can be realized. When the CIPV exists and the position point offset processing is not needed, a control trajectory can be further generated according to the determined control point, and the TJA, OBF and other characteristics can be realized. When the vehicle in the adjacent lane exists and the position point offset processing is not needed, a control trajectory can be further generated according to the determined control point, and the TJA, LKA and other characteristics can be realized. When any one of the lane line of the self-lane, the CIPV and the vehicle in the adjacent lane exists, and the hard boundary of the lane exists in the first region, a control trajectory can be further generated according to the determined control point, and the road edge away and other characteristics can be realized. When any one of the lane line of the self-lane, the CIPV and the vehicle in the adjacent lane exists, and the obstacle exists in the second region, a control trajectory can be further generated according to the determined control point, and the CAA and other characteristics can be realized. In this way, different characteristics can be realized according to the first object in the environment information around the ego vehicle at the current moment and the priority information preset for the first object, the second object and the weight information corresponding to the second object, and the smooth transition between multiple characteristics and scenes is ensured.
[0107] Exemplarily, Figure 9 A schematic diagram for realizing the OBF characteristic by using the control point according to an embodiment of the present application is shown. The OBF characteristic requires that when there is no lane line and only the vehicle in front of the ego vehicle, the ego vehicle can follow the trajectory of the vehicle in front. Figure 9 As shown, the lane line of the self-lane does not exist in the environment information at the current moment, and the CIPV 1101 exists. At this time, the CIPV rear bumper midpoint 1102 is selected as the position point. Meanwhile, the hard boundary of the lane does not exist in the first region, the obstacle does not exist in the second region, and the position point satisfies the preset condition. Therefore, the position point, i.e., the CIPV rear bumper midpoint 1102, is taken as the control point, and the control trajectory at the current moment is further generated to realize the OBF characteristic of the ego vehicle 401.
[0108] Exemplarily, Figure 10 A schematic diagram for realizing the LCC characteristic by using the control point according to an embodiment of the present application is shown. Figure 10 As shown, the lane line of the self-lane exists in the environment information at the current moment. At this time, the points 15-40 m away from the ego vehicle in the longitudinal direction on the two lane lines of the self-lane are selected to obtain the point 1202 15-40 m away from the ego vehicle in the longitudinal direction on the lane center line of the self-lane. The point is taken as the position point. Meanwhile, the hard boundary of the lane does not exist in the first region, the obstacle does not exist in the second region, and the position point satisfies the preset condition. Therefore, the position point is taken as the control point, and the control trajectory at the current moment is further generated to realize the LCC characteristic of the ego vehicle 401.
[0109] Exemplarily, 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 As shown in (b), you still need to keep your vehicle in your lane. Figure 11 As shown in (a)-11(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-lane can still remain stably centered, realizing the TJA characteristic of self-lane 401.
[0110] 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)-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 12(b) as shown, in response to the lane changing instruction of the driver, in the process of lane changing, it is judged that the lane line of the self-lane exists in the environment information at the current time, at this time, a point on the lane line of the self-lane is selected, which is a preset distance from the self-vehicle 401 in the longitudinal direction, and the point is offset a certain distance in the transverse direction to the adjacent lane to obtain a position point, and at the same time, the obstacle 1402 exists in the second area, then the position point offset processing is performed, the position point 1403 after offset and meeting the preset condition is taken as the control point, and then the control trajectory at the current time is generated, realizing the SLC avoidance characteristic of the self-vehicle 401. As shown in Figure 12 (c) as shown, in response to the lane changing instruction of the driver, in the process of lane changing, it is judged that the lane line of the self-lane exists in the environment information at the current time, at this time, a point on the lane line of the self-lane is selected, which is a preset distance from the self-vehicle 401 in the longitudinal direction, and the point is offset a certain distance in the transverse direction to the adjacent lane to obtain a position point, and at the same time, the obstacle 1402 exists in the second area, then the position point offset processing is performed, the position point 1403 after offset and meeting the preset condition is taken as the control point, and then the control trajectory at the current time is generated, realizing the SLC avoidance characteristic of the self-vehicle 401. As shown in
[0111] Step 503, generating the control trajectory at the current time according to the control point at the current time, the control trajectory at the historical time and the state information (such as the motion state information) of the self-vehicle at the current time, the control trajectory representing the trajectory for guiding the self-vehicle to drive.
[0112] The control trajectory at the historical time can include the control trajectory generated by the control point at the last time, and it can be understood that the control trajectory at the historical time can be obtained as the control trajectory is generated in real time; the control trajectory at the historical time can represent the positions of the control points at different times in the time domain, so that the control trajectory is generated by using the continuity of the control points in space in the time domain, that is, only one point in space is needed to generate a control curve in the time dimension, and various objects in the environment information are reduced to one point, compared with the method of taking multiple points in the space domain to generate the control trajectory, the application embodiment does not need to generate multiple trajectory lines in advance, greatly reducing the requirement for computing power, and effectively improving the performance of the ADAS system.
[0113] For example, Figure 13 A comparison diagram of intelligent driving according to an embodiment of the application is shown, as shown in Figure 13As shown, the real trajectory of the target vehicle 1505 is 1501; 1502 is the control trajectory of the OBF feature generated by fitting the real trajectory 1501 in space with the least square method; 1503 is the control trajectory of the OBF feature at t1 time generated by the control point at t1 time, the control trajectory before t1 time and the motion state information at t1 time; 1104 is the control trajectory of the OBF feature at t2 time generated by the control point at t2 time, the control trajectory before t2 time (including the control trajectory at t1 time) and the motion state information at t2 time. The trajectory 1501 is generated by fitting the multiple points in the trajectory 1501 in the spatial dimension, and the trajectories 1503 and 1504 are generated by fitting the control points at different times in the time dimension based on the control points at different times.
[0114] Exemplarily, the control trajectory can be a third-order curve, so that a third-order curve is generated by using the control point at the current time, the control trajectory at the historical time and the motion state information at the current time, which can be adapted to some ADAS system architecture; thereby improving the application range of the intelligent driving method in the application.
[0115] In a possible implementation, the control trajectory at the current time can be generated by using a filter according to the control point at the current time, the control trajectory at the historical time and the ego vehicle state information at the current time. Exemplarily, the filter can be a Kalman filter, which has time continuity. The position information of the control point at the current time, the control trajectory at the historical time and the ego vehicle state information at the current time are input into the Kalman filter, and the control trajectory at the current time is generated by using the continuity of the control point in space in the time domain, thereby realizing different features and improving the system performance. It can be understood that with the passage of time, the control trajectories at different times are continuously generated, and the control trajectories at the historical times are iterated continuously.
[0116] Exemplarily, the position information of the CIPV rear bumper midpoint 1102 in the above Figure 10 , the control trajectory at the historical time and the speed, yaw rate, steering radius and the like of the ego vehicle at the current time are input into the Kalman filter to generate the control trajectory at the current time, and the tracking control is performed by using the control trajectory, thereby realizing the OBF feature.
[0117] Exemplarily, the position information of the point 1202 20 m away from the ego vehicle in the longitudinal direction of the ego lane center line in the above Figure 11 , the control trajectory at the historical time and the speed, yaw rate, steering radius and the like of the ego vehicle at the current time are input into the Kalman filter to generate the control trajectory at the current time, and the lane centering control is performed by using the control trajectory, thereby realizing the LCC feature.
[0118] 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.
[0119] 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.
[0120] 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 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.
[0121] 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.
[0122] 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.
[0123] 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.
[0124] In one possible implementation, the determining module 1702 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.
[0125] In a possible implementation, the first object at least includes a lane line of a self-lane of the ego vehicle, a target vehicle, and one of vehicles in a neighboring lane of the ego vehicle; and priorities of the lane line of the self-lane, the target vehicle, and the vehicle in the neighboring lane are in descending order.
[0126] The determination module 1702 is further configured to: in a case where the lane line of the self-lane exists, taking a position point corresponding to a preset distance on the lane line of the self-lane and meeting a preset condition as the control point at the current time, the preset distance being determined based on the state information; in a case where the lane line of the self-lane does not exist, taking a position point corresponding to the target vehicle and meeting a preset condition as the control point at the current time, if the target vehicle exists; and in a case where the lane line of the self-lane does not exist and the target vehicle does not exist, taking a position point corresponding to the vehicle in the neighboring lane and meeting a preset condition as the control point at the current time, if the vehicle in the neighboring lane exists.
[0127] In a possible implementation, the determination module 1702 is further configured to: obtain a position point corresponding to a first object with the highest priority; determine whether a second object exists in a preset region, the second object being an avoidance object of the ego vehicle in the environment information; and perform offset processing on the position point corresponding to the first object, and take the offset position point as the control point at the current time, if the second object exists.
[0128] In a possible implementation, the second object includes a hard boundary of the self-lane, and the preset region is a region with a preset size and centered on the position point corresponding to the first object.
[0129] The determination module 1702 is further configured to: in a case where the hard boundary of the self-lane exists, perform offset processing on the position point corresponding to the first object, so that the hard boundary is outside a region with a preset size and centered on the offset position point, and the offset position point is in the self-lane; and take the offset position point as the control point at the current time.
[0130] In a possible implementation, the second object includes an obstacle, and the preset region is a region with a preset size and in front of the ego vehicle in the self-lane.
[0131] The determination module 1702 is further configured to: in a case where the obstacle exists, perform offset processing on the position point corresponding to the first object according to weight information corresponding to the obstacle, so that the obstacle is outside a region with a preset size and centered on the offset position point, and the offset position point is in the self-lane; and take the offset position point as the control point at the current time, wherein the weight information indicates a degree of avoidance of the ego vehicle from the obstacle.
[0132] In a possible implementation, the value of the weight information is determined by at least one of the headway THW, the time to collision TTC, and the 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.
[0133] In a possible implementation, the generation module 1703 is further configured to generate the control trajectory at the current moment by using a Kalman filter according to the control point, the control trajectory at the historical moment, and the state information.
[0134] In the embodiments of the present application, the environment information around the ego vehicle at the current moment and the state information of the ego vehicle at the current moment are acquired; the control point at the current moment is determined according to the environment information and the state information; and the control trajectory at the current moment is generated according to the control point, the control trajectory at the historical moment, and the state information. The control trajectory represents a trajectory for guiding the ego vehicle to travel. In this way, based on the driving habit and the thinking mode of the driver, the driver usually focuses on a point in space at the current moment, and the point is the position to which the driver expects the vehicle to travel. The point is taken as the control point, the influence of the environment information on the characteristics is concentrated on the control point, and the reasonable control trajectory at the current moment is generated through the control point, so as to meet the control requirements in different scenarios, and the requirement for computing power is greatly reduced without the need of processing the environment information in advance to generate a plurality of bar trajectory lines, thereby improving the performance of the ADAS system. The control point at the current moment can also be determined according to the preset priority information and the state information of each first object in the environment information in sequence. In this way, the position of the control point is changed according to the priority order of the information sources (i.e., each first object in the environment information), and the control point at the current moment is determined. Different first objects correspond to different characteristics, so as to realize a plurality of characteristics (such as OBF, LKA, TJA, LCC, etc.), and meanwhile, the switching between different characteristics is realized according to the priority and the corresponding weight information of the plurality of information sources, so as to ensure the smooth transition between the plurality of characteristics or scenarios, and the switching between different characteristics is realized without using a state machine, thereby reducing the logic complexity.
[0135] The various possible implementations or descriptions of the above embodiments are described above, and will not be described here again.
[0136] The embodiments of the present application also provide a new ADAS system architecture, Figure 16 An ADAS system architecture according to an embodiment of the present application is shown. As shown in the figure, Figure 16 The ADAS system architecture includes a preprocessing layer, a planning layer, a decision layer, a control layer, etc., and can also include an execution layer, etc.
[0137] The preprocessing layer is configured to generate environment information of a surrounding of the ego vehicle at the current time; for example, data detected by a sensor installed on the ego vehicle can be processed to obtain the environment information of the surrounding of the ego vehicle. In addition, map information such as a distance of the ego vehicle from a front intersection and a lane where the ego vehicle is located can be obtained based on GPS data and high-definition map data.
[0138] The planning layer is configured to determine a control point at the current time according to the environment information and state information of the ego vehicle at the current time, and generate a control trajectory at the current time according to the control point, a control trajectory at a historical time and the state information; the control trajectory represents a trajectory for guiding the ego vehicle to travel; for example, the planning layer takes the environment information obtained by the preprocessing layer as input, combines state information of the ego vehicle (which can include driving state information and ego vehicle state information), and executes the intelligent driving method of the present application through an intelligent driving device, so as to determine a feature (or function) suitable for a current scene and a control trajectory corresponding to the feature, and input the control trajectory to the decision layer.
[0139] Further, the planning layer can also determine the control point at the current time according to preset priority information of each first object in the environment information and the state information, and sequentially determine a position point corresponding to a first object with the highest priority; it is also possible to determine whether a second object exists in a preset area, the second object being an avoiding object of the ego vehicle in the environment information; when the second object exists, the position point corresponding to the first object is offset, and the offset position point is taken as the control point at the current time.
[0140] The decision layer is configured to determine whether the control trajectory is suitable for a working state of the ego vehicle at the current time; for example, the decision layer takes the control trajectory generated by the planning layer as input, and determines whether the control trajectory is suitable for the working state of the ego vehicle at the current time according to a working state of each component (such as a sensor, an engine, an electric power steering system and the like) in the ego vehicle at the current time, and inputs the control trajectory to the control layer when it is determined that the control trajectory is suitable for the working state of the ego vehicle at the current time.
[0141] The control layer is configured to generate a control signal at the current time based on the control trajectory when the control trajectory is suitable for the working state of the ego vehicle at the current time, the control signal being used for auxiliary driving of the vehicle; for example, the control layer takes the control trajectory of the decision layer as input, and generates a steering wheel angle, an acceleration and the like based on dynamics information of the vehicle.
[0142] Further, the system can further include an execution layer: taking the control signal generated by the planning layer as input, executing the control signal, for example, through an electric power steering system (EPS) and an engine, so as to realize the auxiliary driving of the vehicle.
[0143] In the ADAS system, the planning layer concentrates the influence of each object in the environmental information on the characteristics on the point in space, takes the point as the control point, and generates the control trajectory through the continuity of the control point in the time dimension, so as to realize different characteristics. In this way, only a trajectory generator for generating a control trajectory through a control point is needed, and multiple trajectory generators are not needed, which greatly reduces the requirement for computing power and improves the system performance. Meanwhile, compared with the scheme of realizing scenario judgment and switching under complex switching conditions and transition logic through a state machine, in the ADAS system, the planning layer determines the control point at each moment through the priority and corresponding weight information of different objects in the environmental information, realizes smooth transition of different characteristics and scenarios. In addition, in the ADAS system, if a new characteristic is added, only the processing of the object corresponding to the characteristic needs to be added in the preprocessing layer, and the priority and weight information of the object corresponding to the new characteristic and other information can also be set, and a trajectory line for the characteristic does not need to be newly generated, and the state machine does not need to be adjusted, so that the system has high expandability.
[0144] Embodiments of the present application provide an intelligent driving device, including: a processor and a memory for storing processor-executable instructions; wherein the processor is configured to execute the instructions to implement the intelligent driving method.
[0145] Figure 17 A structural schematic diagram of another intelligent driving device according to an embodiment of the present application is shown, as shown in the figure, the intelligent driving device can include: at least one processor 1801, a communication line 1802, a memory 1803 and at least one communication interface 1804. Figure 17
[0146] The processor 1801 can be a general central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of programs of the present application.
[0147] The communication line 1802 can include a channel for transmitting information between the above components.
[0148] The communication interface 1804, using any transceiver-like device, is used to communicate with other devices or computer networks, such as an Ethernet, a RAN, a wireless local area network (WLAN), etc.
[0149] The memory 1803 can be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM), or other type of dynamic storage device that can store information and instructions for execution by the processor 1801, an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disk storage, a magnetic disk storage or other magnetic storage devices, or any other medium capable of storing instructions or data that can be accessed by a computer, but not limited to. The memory can exist independently, and be connected to the processor through the communication line 1802. The memory can also be integrated with the processor. The memory provided in the embodiments of the present application can generally have non-volatility. The memory 1803 is used to store computer execution instructions for executing the solutions of the present application, and the execution is controlled by the processor 1801. The processor 1801 is used to execute the computer execution instructions stored in the memory 1803, so as to realize the method provided in the above embodiments of the present application.
[0150] Optionally, the computer execution instructions in the embodiments of the present application can also be referred to as application program codes.
[0151] In a specific implementation, as an embodiment, the processor 1801 can include one or more CPUs, such as CPU0 and CPU1 in Figure 17 .
[0152] In a specific implementation, as an embodiment, the intelligent driving device can include multiple processors, such as the processor 1801 and the processor 1807 in Figure 17 . Each of these processors can be a single-CPU processor or a multi-CPU processor. The processor here can refer to one or more devices, circuits, and / or processing cores for processing data (such as computer program instructions).
[0153] In a specific implementation, as an embodiment, the intelligent driving apparatus can 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 can 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 can be a mouse, a keyboard, a touch screen device, or a sensor device, etc.
[0154] The embodiments of the present application also provide a high-level driving assistance system, which is applied to unmanned driving or intelligent driving, and contains at least one intelligent driving apparatus mentioned in the above embodiments of the present application, and can further include at least one of a camera or other sensors such as a radar, the sensor being used to perceive environmental information, and at least one apparatus in the system can be integrated into one whole machine or device, or at least one apparatus in the system can also be independently set as an element or apparatus.
[0155] The embodiments of the present application also provide a vehicle, which includes at least one intelligent driving apparatus mentioned in the above embodiments of the present application or any system mentioned above.
[0156] The embodiments of the present application provide a non-volatile computer readable storage medium, which stores computer program instructions, and the computer program instructions are executed by a processor to implement the above method.
[0157] The embodiments of the present application provide a computer program product, which includes computer readable code or a non-volatile computer readable storage medium carrying computer readable code, and when the computer readable code is run in a processor of an electronic device, the processor in the electronic device executes the above method.
[0158] Computer readable storage media can be tangible storage devices that can retain and store instructions for use by an instruction execution device. Computer readable storage media can be, for example, but is not limited to, electronic 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 the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital video disc (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium can be any tangible storage device that can retain and store instructions for use by an instruction execution device.
[0159] Computer readable program instructions or code can be downloaded to a starting device, to another computer or device via a network, for example, the Internet, a local area network, a wide area network and / or a wireless network. The network can comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and / or edge servers. A remote server can store software programs, code or programs designed to carry out the processes described herein and provide the code or programs to a requesting user device or server over a network. A network adapter of a user device or server can receive code from a network and place the code in the runtime memory of a system.
[0160] Computer readable program instructions for carrying out operations of the present application can be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate array (FPGA), or programmable logic array (PLA) can execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present application.
[0161] The computer readable program instructions can 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 apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0162] The computer readable program instructions can 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 apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0163] The computer readable program instructions can 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 such that the instructions which execute on the computer, other programmable data processing apparatus, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0164] The flow diagrams and the block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of apparatuses, systems, methods and computer program products according to various embodiments of the present application. In this regard, each block in the flow diagrams and the block diagrams can represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical functions (s). In some alternative implementations, the functions noted in the blocks can occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks can sometimes be executed in the reverse order, depending upon the functionality involved.
[0165] It also is noted that each of the blocks of the flowchart and / or block diagrams and combinations of blocks in the flowchart and / or block diagrams can be implemented by hardware that performs the specified functions or acts, such as a circuit or an ASIC (Application Specific Integrated Circuit), or a combination of hardware and software, such as a firmware or the like.
[0166] Although the present application has been described in connection with various embodiments thereof, those skilled in the art will understand that many modifications can be made thereto without departing from the application as set forth in the claims. In the claims, the word "comprising" does not exclude other elements or steps, and the indefinite articles "a" or "an" do not exclude a plurality. A single processor or other unit can fulfill the functions of several items recited in the claims. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage. The reference signs in the claims should not be construed as limiting the scope of the application.
[0167] The above description is only specific embodiments of the present application, but the protection scope of the present application is not limited thereto, and any person skilled in the art can easily think of changes or replacements within the technical range disclosed by the present application, which should be covered in the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection 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; 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; Based on the control points, the vehicle's historical control trajectory, and the status information, a control trajectory for the current moment is generated, which represents the trajectory used to guide the vehicle's movement.
2. The method according to claim 1, 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 lines of the self-lane do 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.
3. The method according to claim 1 or 2, 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.
4. The method according to claim 3, 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.
5. The method according to claim 3, 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.
6. The method according to claim 5, 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.
7. 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.
8. An intelligent driving device, characterized in that, The device includes: The acquisition module is used to acquire the environmental information around the vehicle and the vehicle's status information at the current moment; The determination module is used to determine the control point at the current moment in sequence based on the preset priority information of the first object in the environmental information and the status information; The generation module is used to generate the control trajectory at the current moment based on the control points, the control trajectory of the vehicle at historical moments, and the status information. The control trajectory represents the trajectory used to guide the vehicle's movement.
9. The apparatus according to claim 8, 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 and 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 and meets preset conditions as the control point at the current moment.
10. The apparatus according to claim 8 or 9, 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.
11. The apparatus according to claim 10, 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.
12. The apparatus according to claim 10, 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.
13. The apparatus according to claim 12, 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.
14. The apparatus according to claim 8, 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.
15. 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 in sequence according to the preset priority information of each first object in the environmental information and the status information of the vehicle at the current moment; and to generate the control trajectory at the current moment according to the control point, the control trajectory of the vehicle at historical moments and the status information; the control trajectory represents the trajectory used to guide the vehicle's driving. 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.
16. The system according to claim 15, 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.
17. 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-7 when executing the instructions.
18. 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-7.
Citation Information
Patent Citations
Autonomous driving apparatus and method thereof
CN111566578A
Method for assisting a driver, driver assistance system, and vehicle including such driver assistance system
EP3683782A1
Vehicle motion control device
WO2006070865A1
Automatic vehicle lane changing method
CN110239550A
Movement control method and device for unmanned driving equipment
CN110262486A