Control method, vehicle, electronic device, and readable medium
By obtaining lane lines data on both sides of the vehicle, determining non-suppressed lane lines and generating virtual lane lines, the problem of unexpected jitter when lane lines are not parallel is solved, and the stability and user experience of the vehicle are improved.
Patent Information
- Application Number
- CN202311188730.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-14
- Publication Date
- 2025-08-08
- Estimated Expiration
- 2043-09-14
AI Technical Summary
During the vehicle driving, when the lane lines are not parallel, the lane centering retaining function causes unexpected jitter, reducing the user experience.
By obtaining lane line data on both sides of the vehicle, non-suppressed lane lines are determined, and virtual lane lines with a relative angle of within a preset parallel range, the vehicle's driving path is generated based on the virtual lane line and the non-suppressed lane line to avoid unnecessary path adjustments.
Avoid unanticipated jitter perceived by the driver and improve the user experience.
Smart Images

Figure CN117207964B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of driving assistance technology, and in particular to a control method, a vehicle, an electronic device, and a readable medium. Background Art
[0002] Currently, vehicle driver assistance features primarily include lane keeping and lane centering. Lane keeping is designed to bring a vehicle back into its designated lane if it strays out of it. Lane centering is designed to keep the vehicle in the center of the lane lines on either side of the vehicle.
[0003] In most scenarios, when the lane centering function is turned on, the vehicle will be controlled to keep driving in the center area of the lane lines on both sides of the vehicle. However, when the lane lines on both sides of the vehicle are not parallel, for example, Figure 1a As shown, the lane line A on the left side of the vehicle 100's direction of travel remains straight, and the lane line B on the right side of the vehicle 100's direction of travel disappears. The vehicle 100 will adjust its position according to the lateral distance between the lane line A and the lane line C, such as controlling the vehicle 100 to Figure 1a Drive to position D in the Figure 1b As shown, lane line A on the left side of the vehicle 100's direction of travel remains straight, and the curvature of the second section of lane line B on the right side of the vehicle 100's direction of travel changes. The vehicle 100 will adjust its position according to the lateral distance between lane line A and the second section of lane line B. For example, the vehicle 100 is controlled to Figure 1b Drive to position D in the Figure 1c As shown, when lane line A on the left side of the vehicle 100's direction of travel remains straight and lane line B on the right side of the vehicle 100's direction of travel disappears and the curvature of lane line C changes, the vehicle 100 will adjust its position according to the lateral distance between lane line A and lane line C, such as controlling the vehicle 100 to Figure 1c However, in Figures 1a to 1c In the scenario shown, even if the vehicle 100 follows the original driving path, it will not cause safety problems. Adjusting the driving path of the vehicle 100 will cause the driver to perceive unexpected vibrations, reducing the user experience. Summary of the Invention
[0004] In order to avoid unnecessary changes in the vehicle's driving path, which may cause the driver to perceive unexpected vibrations, the embodiments of the present application provide a control method, a vehicle, an electronic device, and a readable medium.
[0005] In a first aspect, an embodiment of the present application provides a control method, which is applied to a vehicle, and the control method includes: obtaining first lane line data corresponding to the first lane line and second lane line data corresponding to the second lane line on both sides of the vehicle at a first moment; determining based on the first lane line data and the second lane line data that the relative angle between the first segment of the second lane line and the first segment of the first lane line is within a preset parallel range, and the relative angle between the second segment of the second lane line and the second segment of the first lane line is not within the preset parallel range; determining a non-inhibited lane line among the first lane line and the second lane line, the non-inhibited lane line being a lane line among the first lane line and the second lane line in which the second segment has a smaller change amplitude relative to the first segment; generating a virtual lane line whose relative angle with the non-inhibited lane line is within a preset parallel range; and generating a driving path of the vehicle based on the non-inhibited lane line and the virtual lane line.
[0006] It is understood that the first lane line may be a lane line on the left side of the vehicle's direction of travel, and the second lane line may be a lane line on the right side of the vehicle's direction of travel. In some embodiments, the first lane line may be a lane line on the right side of the vehicle's direction of travel, and the second lane line may be a lane line on the left side of the vehicle's direction of travel.
[0007] The relative angle between the first segment of the second lane line and the corresponding segment of the first lane line within the preset parallel range can mean that the first segment of the second lane line and the corresponding segment of the first lane line are parallel to each other, or the first segment of the second lane line and the corresponding segment of the first lane line are within a preset difference range of parallel angles. For example, when the preset difference range is 177° to 183°, when the relative angle between the first segment of the second lane line and the first segment of the first lane line is between 177° and 183°, or between -3° and 3°, they can all be said to be within the preset parallel range. The relative angle between the second segment of the second lane line and the second segment of the first lane line not being within the preset parallel range can mean that the second segment of the second lane line and the second segment of the first lane line are not parallel to each other, or the relative angle between the second segment of the second lane line and the second segment of the first lane line is not within the preset difference range.
[0008] In some embodiments, the preset difference range may also be 175° to 185°, or 178° to 182°.
[0009] In an embodiment of the present application, in a scenario where the relative angle of the first sections of the lane lines on both sides of the vehicle's driving direction is within a preset parallel range, and the relative angle of the second sections of the lane lines on both sides is not within the preset parallel range, a virtual lane line can be generated based on the lane line on the side with a smaller change in the second section of the lane lines on both sides of the vehicle, thereby controlling the vehicle to determine the driving path based on the lane line on the side with a smaller change and the virtual lane line, thereby avoiding causing unexpected control jitter that can be perceived by the driver.
[0010] It can be understood that the deviation between the driving path replanned based on the lane line on the side with a smaller change amplitude and the virtual lane line and the current driving path is less than the deviation threshold, thereby avoiding the user from perceiving unexpected jitter.
[0011] In one possible implementation, determining that the relative angle between the second segment of the second lane line and the second segment of the first lane line is not within a preset parallel range is performed based on the first lane line data and the second lane line data; including: determining that the length of the acquired second segment of the second lane line is less than a first threshold value based on the first lane line data and the second lane line data, and the length of the acquired first lane line is greater than a second threshold value, and / or when the curvature difference information between the second segment of the second lane line and the second segment of the first lane line meets a preset condition, determining that the relative angle between the second segment of the second lane line and the second segment of the first lane line is not within a preset parallel range.
[0012] In the above scenario where the length of the first segment of the second lane line obtained based on the first lane line data and the second lane line data is less than the first threshold, and the length of the first lane line obtained is greater than the second threshold, the first lane line may be Figure 1a The lane line A on the left side of the vehicle's travel direction, the second lane line can be Figure 1a Lane line B on the right side of the vehicle's driving direction. That is, the scenario where the length of the first segment of the second lane line obtained based on the first lane line data and the second lane line data is less than the first threshold, and the length of the first lane line obtained is greater than the second threshold can be as follows: Figure 1a The scene where lane line B disappears.
[0013] In the scenario where the curvature difference information between the second segment of the second lane line and the first lane line meets the preset conditions, the first lane line can be Figure 1b The lane line A on the left side of the vehicle's travel direction, the second lane line can be Figure 1a Lane line B on the right side of the vehicle's driving direction. That is, the scenario where the curvature difference information between the second segment of the second lane line and the first lane line meets the preset conditions can be as follows: Figure 1b The curvature of lane line A shown here remains unchanged, while the curvature of lane line B changes.
[0014] In the above scenario where the length of the first segment of the second lane line determined based on the first lane line data and the second lane line data is less than the first threshold, the length of the first lane line obtained is greater than the second threshold, and the curvature difference information between the second segment of the second lane line and the first lane line meets the preset conditions, the first lane line is the lane line on the left side of the vehicle's driving direction, and the second lane line is the lane line on the right side of the vehicle's driving direction. That is, the above scenario where the length of the first segment of the second lane line determined based on the first lane line data and the second lane line data is less than the first threshold, the length of the first lane line obtained is greater than the second threshold, and the curvature difference information between the second segment of the second lane line and the first lane line meets the preset conditions can be as follows Figure 1c As shown in the figure, lane line B disappears, the curvature of lane line A remains unchanged, and the curvature of lane line C changes.
[0015] In the embodiment of the present application, corresponding to the above Figures 1a to 1c In the scenario shown, that is, the length and curvature of the lane line on one side of the vehicle's driving direction remain unchanged, while the length and / or curvature of the lane line on the other side changes, that is, the lane lines on both sides of the vehicle are no longer parallel, or the lateral distance between the lane lines on both sides of the vehicle changes, a virtual lane line can be generated based on the lane line on the unchanged side, so as to control the vehicle to determine the vehicle's driving path based on the lane line on the unchanged side (or the lane line on the side with a smaller change amplitude) and the virtual lane line, thereby avoiding causing unexpected control jitter that can be perceived by the driver.
[0016] In one possible implementation, the curvature difference information between the second segment of the second lane line and the first lane line meets preset conditions, including: the preview curvature difference between the second segment of the second lane line and the preset corresponding positions of the second segment of the first lane line is greater than a third threshold, the curvature change rate difference between the second segment of the second lane line and the second segment of the first lane line is greater than a fourth threshold, and the standard deviation of the preview curvature difference between adjacent frames in the second segment of the second lane line is greater than the standard deviation of the preview curvature difference between adjacent frames in the second segment of the first lane line.
[0017] It can be understood that in the scenario where the preview curvature difference between the second segment of the second lane line and the preset corresponding position of the first lane line is greater than the third threshold, the curvature change rate difference between the second segment of the second lane line and the first lane line is greater than the fourth threshold, and the standard deviation of the preview curvature difference between adjacent frames in the second segment of the second lane line is greater than the standard deviation of the preview curvature difference between adjacent frames in the corresponding segment of the first lane line, the first lane line can be Figure 1b The lane line A on the left side of the vehicle's travel direction, the second lane line can be Figure 1aLane B on the right side of the vehicle's direction of travel. That is, the preview curvature difference between the second segment of the second lane line and the preset corresponding position of the first lane line is greater than the third threshold, the curvature change rate difference between the second segment of the second lane line and the first lane line is greater than the fourth threshold, and the standard deviation of the preview curvature difference between adjacent frames in the second segment of the second lane line is greater than the standard deviation of the preview curvature difference between adjacent frames in the second segment of the first lane line can be as follows: Figure 1b The curvature of lane line A shown here remains unchanged, while the curvature of lane line B changes.
[0018] In an embodiment of the present application, the first lane line data includes data such as the length and curvature of the first lane line collected by the vehicle within a preset period, and the second lane line data includes data such as the length and curvature of the second lane line collected by the vehicle within a preset period.
[0019] It can be understood that the preset period may be n periods before the first moment.
[0020] In one possible implementation, the first lane line data includes the curvature and the curvature change rate of the first lane line, the second lane line data includes the curvature and the curvature change rate of the second lane line, and the method for determining the preview curvature difference between the second segment of the second lane line and the preset corresponding position of the second segment of the first lane line includes: calculating the preview curvature of the first lane line and the second lane line for a preview first distance based on the curvature and the curvature change rate of the first lane line and the second lane line at a first moment; and calculating the preview curvature difference based on the preview curvature of the first lane line and the second lane line for a preview first distance.
[0021] For example, the preview curvature of the first lane line at the first preview distance is y1, and the preview curvature of the second lane line at the first preview distance is y2, then the preview curvature difference y3=y1-y2.
[0022] Where y1 = (C21 + C31 * X), where C21 is the curvature of the first lane line in the current frame, which is positive when pointing left and negative when pointing right, and is expressed in 1 / m. C31 is the rate of change of the curvature of the first lane line in the current frame, which is positive when pointing left and negative when pointing right, and is expressed in 1 / m². X is the first distance.
[0023] y2 = (C22 + C32 * X), where C22 is the curvature of the second lane line in the current frame. It is positive when the direction is left and negative when the direction is right. The unit is 1 / m. C32 is the rate of change of the curvature of the second lane line in the current frame. It is positive when the direction is left and negative when the direction is right. The unit is 1 / m^2. X is the first distance.
[0024] In one possible implementation, the method includes: obtaining first lane line data corresponding to the first lane line at a second moment and second lane line data corresponding to the second lane line; if it is determined based on the first lane line data and the second lane line data obtained at the second moment that the curvature difference between the first lane line and the second lane line at the second moment is less than or equal to a third threshold, and the time for generating the virtual lane line based on the first lane line data obtained at the first moment meets the time threshold, then generating the vehicle's driving path based on the first lane line data and the second lane line data obtained at the second moment.
[0025] The embodiment of the present application monitors the time to end lane line suppression in real time to avoid long-term lane line suppression and incorrect lane line suppression due to detection errors.
[0026] In one possible implementation, the method includes: obtaining a first lateral distance between the vehicle and a second lane line and a second lateral distance between the vehicle and a control reference line, wherein the control reference line is a center line between the first lane line and a virtual lane line; corresponding to the first lateral distance being less than the second lateral distance, determining a corresponding control gain according to the difference between the first lateral distance and the second lateral distance, so as to adjust the vehicle's driving path based on the control gain.
[0027] It can be understood that the greater the difference between the first lateral distance and the second lateral distance, the greater the control gain, and the faster the speed of adjusting the vehicle's driving direction; the smaller the difference between the first lateral distance and the second lateral distance, the smaller the control gain, and the slower the speed of adjusting the vehicle's driving direction.
[0028] In the embodiment of the present application, by strengthening the detection of the lateral position error by the feedback control module, the vehicle is kept within the lane, and the situation of the vehicle deviating from the lane is avoided.
[0029] In one possible implementation, adjusting the vehicle's driving path based on the control gain includes: amplifying the control gain to obtain an amplified gain; and adjusting the vehicle's driving direction based on the amplified gain so that the vehicle drives toward a control reference line.
[0030] In a second aspect, an embodiment of the present application provides a vehicle, including an acquisition module, a determination module and a generation module, the acquisition module being used to acquire first lane line data corresponding to the first lane line and second lane line data corresponding to the second lane line on both sides of the vehicle at a first moment; the determination module being used to determine, based on the first lane line data and the second lane line data, that the relative angle between the first segment of the second lane line and the first segment of the first lane line is within a preset parallel range, and the relative angle between the second segment of the second lane line and the second segment of the first lane line is not within the preset parallel range; the determination module being used to determine a non-inhibited lane line among the first lane line and the second lane line, the non-inhibited lane line being a lane line in which the second segment of the first lane line and the second lane line has a smaller change amplitude relative to the first segment; the generation module being used to generate a virtual lane line whose relative angle with the non-inhibited lane line is within a preset parallel range; the generation module being used to generate a driving path of the vehicle based on the non-inhibited lane line and the virtual lane line.
[0031] It is understood that the first lane line may be a lane line on the left side of the vehicle's direction of travel, and the second lane line may be a lane line on the right side of the vehicle's direction of travel. In some embodiments, the first lane line may be a lane line on the right side of the vehicle's direction of travel, and the second lane line may be a lane line on the left side of the vehicle's direction of travel.
[0032] In an embodiment of the present application, in a scenario where the relative angle of the first segments of the lane lines on both sides of the vehicle's driving direction is within a preset parallel range, and the relative angle of the second segments of the lane lines on both sides is not within the preset parallel range, a virtual lane line can be generated based on the lane line on the side with a smaller change in the second segments of the lane lines on both sides of the vehicle, thereby controlling the vehicle to determine the driving path based on the lane line on the side with a smaller change and the virtual lane line, thereby avoiding causing unexpected control jitter that can be perceived by the driver.
[0033] It can be understood that the deviation between the driving path replanned based on the lane line on the side with a smaller change amplitude and the virtual lane line and the current driving path is less than the deviation threshold, thereby avoiding the user from perceiving unexpected jitter.
[0034] In a third aspect, an embodiment of the present application provides an electronic device, comprising: a memory for storing instructions executed by one or more processors of the electronic device, and a processor, which is one of the one or more processors of the electronic device, for implementing any one of the control methods provided by the above-mentioned first aspect and various possible implementations of the above-mentioned first aspect.
[0035] In a fourth aspect, an embodiment of the present application provides a readable medium having instructions stored thereon. When the instructions are executed on an electronic device, the electronic device implements any one of the control methods provided by the first aspect and various possible implementations of the first aspect.
[0036] Based on the above solution, this application has the following beneficial effects:
[0037] Based on the above scheme, in a scenario where the relative angle of the first segments of the lane lines on both sides of the vehicle's driving direction is within a preset parallel range, and the relative angle of the second segments of the lane lines on both sides is not within the preset parallel range, a virtual lane line can be generated based on the lane line on the side with a smaller change in the second segment of the lane lines on both sides of the vehicle, thereby controlling the vehicle to determine the driving path based on the lane line on the side with a smaller change and the virtual lane line, avoiding unexpected control jitter that can be perceived by the driver.
[0038] It can be understood that the deviation between the driving path replanned based on the lane line on the side with a smaller change amplitude and the virtual lane line and the current driving path is less than the deviation threshold, thereby avoiding the user from perceiving unexpected jitter. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] Figure 1a A schematic diagram shows a scenario in which a lane line B on the right side of the vehicle 100 disappears during the vehicle's driving process;
[0040] Figure 1b A schematic diagram of a scenario in which the curvature of lane line B on the right side of the vehicle 100's driving direction changes during the vehicle's driving process is shown;
[0041] Figure 1c A schematic diagram shows a scenario in which a lane line B on the right side of the vehicle 100 disappears and a lane line C on the right side of the vehicle 100 changes its curvature during vehicle driving;
[0042] Figure 2 According to an embodiment of the present application, a first flow chart of a control method is shown;
[0043] Figure 3 According to an embodiment of the present application, a second flow chart of a control method is shown;
[0044] Figure 4 According to an embodiment of the present application, a third flow chart of a control method is shown;
[0045] Figure 5 According to an embodiment of the present application, a first schematic diagram of a scenario in which the width of a lane in which a vehicle 100 is traveling changes is shown;
[0046] Figure 6 According to an embodiment of the present application, a second schematic diagram of a scenario in which the width of a lane in which the vehicle 100 is traveling changes is shown;
[0047] Figure 7 According to an embodiment of the present application, a fourth flow chart of a control method is shown;
[0048] Figure 8According to an embodiment of the present application, a structural schematic diagram of a vehicle 002 is shown. DETAILED DESCRIPTION
[0049] Illustrative embodiments of the present application include, but are not limited to, a control method, a vehicle, an electronic device, and a readable medium.
[0050] It can be understood that the technical solution of the present application is applicable to electronic devices with data acquisition devices, such as electronic devices with cameras, for example, including but not limited to vehicles, tablet computers, vehicle-mounted equipment, augmented reality (AR) / virtual reality (VR) devices, laptop computers, ultra-mobile personal computers (UMPC), netbooks, personal digital assistants (PDA), etc. The embodiments of the present invention do not impose any restrictions on the specific types of electronic devices.
[0051] It is understood that when the lane centering function is turned on, the vehicle will be controlled to maintain the center area of the lane lines on both sides of the vehicle. However, when the vehicle determines that the lane lines on both sides of the vehicle are not parallel lines based on the lane line data of the vehicle's forward direction perceived by the camera, or when the lateral distance changes, for example, Figure 1a As shown, the lane line A on the left side of the vehicle 100's direction of travel remains straight, and the lane line B on the right side of the vehicle 100's direction of travel disappears. The vehicle 100 will adjust its position according to the lateral distance between the lane line A and the lane line C, such as controlling the vehicle 100 to Figure 1a Drive to position D in the Figure 1b As shown, lane line A on the left side of the vehicle 100's direction of travel remains straight, and the curvature of the second section of lane line B on the right side of the vehicle 100's direction of travel changes. The vehicle 100 will adjust its position according to the lateral distance between lane line A and the second section of lane line B. For example, the vehicle 100 is controlled to Figure 1b Drive to position D in the Figure 1c As shown, when lane line A on the left side of the vehicle 100's direction of travel remains straight and lane line B on the right side of the vehicle 100's direction of travel disappears and the curvature of lane line C increases, the vehicle 100 will adjust its position according to the lateral distance between lane line A and lane line C, such as controlling the vehicle 100 to Figure 1c Drive to position D in the vehicle.
[0052] Specifically, when vehicle 100 activates the lane centering function, it fails to filter out non-parallel lane markings on both sides, causing vehicle 100 to move toward the recalculated center position based on the non-parallel lane markings. However, even if vehicle 100 continues along the original driving path, it will not cause a safety issue. However, changing the driving path of vehicle 100 may cause the driver to experience unexpected jolts, which degrades the user experience.
[0053] To address the aforementioned issues, an embodiment of the present application provides a control method, comprising: when a vehicle has the lane centering function of an advanced driving assistance system (ADAS) enabled, real-time lane line data for lane lines on both sides of the vehicle is collected while the vehicle is driving. When the lane line data determines that the first segments of the lane lines on both sides of the vehicle are parallel to each other, and the second segments of the lane lines on both sides of the vehicle are no longer parallel (or when the lateral distance changes), such as when the second lane line disappears or when the curvature difference between the second segment of the second lane line and the first lane line meets a preset condition, the second lane line is filtered and suppressed, so that the vehicle generates a virtual lane line based on the unchanged lane line, i.e., the first lane line, thereby controlling the vehicle to travel along a path determined by the first lane line and the virtual lane line. This allows the vehicle to travel along a path determined by the lane lines on both sides of the vehicle based on the unchanged lane line (or the unfiltered lane line), even when traveling on non-parallel lane lines, by suppressing the lane line on the side of the non-parallel lane line that has undergone the largest change, thereby avoiding unexpected control jitter that can be perceived by the driver.
[0054] It is understood that lane line data includes data such as the length and curvature of lane lines on both sides of the vehicle, collected by the vehicle during a preset period. The first segment of the lane lines on both sides of the vehicle includes the parallel portions of the lane lines on both sides of the vehicle, and the second segment of the lane lines on both sides of the vehicle includes the non-parallel portions of the lane lines on both sides of the vehicle.
[0055] In some embodiments, the method for determining that the lane lines on both sides of the vehicle are no longer parallel includes: judging based on the lane line data whether the second segment length of the lane line on one side is less than a first threshold value, and the second segment length of the lane line on the other side is greater than a second threshold value; if the judgment result is yes, that is, the lane line on one side disappears, it is determined that the lane lines on both sides of the vehicle are no longer parallel.
[0056] For example, for Figure 1a In the scenario shown, when vehicle 100 receives lane line data perceived by the camera, it is determined that the second segment length of lane line B is less than the first threshold, and the second segment length of lane line A is greater than the second threshold, that is, lane line B disappears, and it is determined that the lane lines on both sides of the vehicle are no longer parallel.
[0057] In some embodiments, the method for determining that the lane lines on both sides of the vehicle are no longer parallel also includes: determining whether the curvature difference information of the lane line data of the lane lines on both sides of the vehicle meets the preset conditions, for example, determining whether the curvature difference information between the second segment of the second lane line and the first lane line meets the preset conditions. If the judgment result is yes, it is determined that the lane lines on both sides of the vehicle are no longer parallel.
[0058] The preset condition may be that the preview curvature difference between the second lane line and the preset corresponding position of the first lane line is greater than a third threshold, and the curvature change rate difference between the second segment of the second lane line and the first lane line is greater than a fourth threshold. Figure 3 The embodiments shown are introduced only and will not be described in detail here.
[0059] For example, for Figure 1b In the scenario shown, when the vehicle 100 receives the lane line data perceived by the camera, it is determined that the preview curvature difference y3 between the preview curvature y1 of the point M1 at the preset position Xm of the lane line A and the preview curvature y2 of the point M2 at the preset position Xm of the lane line B is greater than the third threshold, and the difference between the curvature change rates of the lane lines on both sides is greater than the fourth threshold, and it is determined that the lane lines on both sides of the vehicle are no longer parallel.
[0060] In some embodiments, to ensure that the vehicle is traveling along a path defined by a first lane line and a virtual lane line, a first lateral distance between the vehicle and a second lane line and a second lateral distance between the vehicle and a control reference line may be obtained, where the control reference line is the centerline between the first lane line and the virtual lane line. If the first lateral distance is less than the second lateral distance, it is determined that the vehicle is not traveling along the path defined by the second lane line and the virtual lane line. A corresponding control gain is determined based on the difference between the first and second lateral distances, and the vehicle's path is adjusted based on the control gain. If the first lateral distance is greater than or equal to the second lateral distance, it is determined that the vehicle is traveling along the path defined by the second lane line and the virtual lane line.
[0061] In some embodiments, adjusting the vehicle's driving path based on the control gain may include: amplifying the control gain to obtain an amplified gain, and adjusting the vehicle's driving direction based on the amplified gain so that the vehicle drives toward a control reference line.
[0062] It can be understood that the larger the absolute value of the difference between the first lateral distance and the second lateral distance, the larger the control gain, and the faster the speed of adjusting the vehicle's driving direction; the smaller the absolute value of the difference between the first lateral distance and the second lateral distance, the smaller the control gain, and the slower the speed of adjusting the vehicle's driving direction.
[0063] In an embodiment of the present application, feedback control based on the lateral distance between the vehicle and the second lane line and the control reference line is enhanced while filtering the second lane line, so that the vehicle can better stay in the lane.
[0064] Figure 2 According to the embodiment of the present application, a flow chart of a control method is shown. It can be understood that Figure 2 The execution subject of each step of the process shown is the vehicle. Figure 2 The execution entities of each step will not be described repeatedly in the steps of the process shown. Figure 2 As shown, the control method includes:
[0065] 201: Acquire first lane line data corresponding to a first lane line and second lane line data corresponding to a second lane line on both sides of a vehicle at a first moment.
[0066] In an embodiment of the present application, when the ADAS lane centering function is turned on in a vehicle, lane line data in the vehicle's forward direction can be collected through the vehicle's camera at the first moment; wherein, the lane line data includes data such as the length and curvature of the lane lines on both sides of the vehicle.
[0067] It is understood that the first lane line may be a lane line on the left side of the vehicle's direction of travel, and the second lane line may be a lane line on the right side of the vehicle's direction of travel. In some embodiments, the first lane line may be a lane line on the right side of the vehicle's direction of travel, and the second lane line may be a lane line on the left side of the vehicle's direction of travel.
[0068] In some embodiments, when the driver does not set a destination during driving, the lane line data includes the length of the lane lines on both sides of the vehicle and the curvature and change rate of the lane lines in the current frame; when the driver sets a destination during driving, the lane line data includes the length of the lane lines on both sides of the vehicle, the curvature and change rate of the lane lines in the current frame, and the curvature and change rate of the lane lines within the first distance in the forward direction.
[0069] 202: Determine based on the first lane line data and the second lane line data that the relative angle between the first segment of the second lane line and the first segment of the first lane line is within a preset parallel range, and the relative angle between the second segment of the second lane line and the second segment of the first lane line is not within the preset parallel range.
[0070] In the embodiment of the present application, the relative angle between the first segment of the second lane line and the first segment of the first lane line within the preset parallel range can mean that the first segment of the second lane line and the first segment of the first lane line are parallel to each other, or that the first segment of the second lane line and the first segment of the first lane line are within a preset difference range of parallel angles. For example, when the preset difference range is 177° to 183°, the relative angle between the first segment of the second lane line and the first segment of the first lane line is between 177° and 183°, or between -3° and 3°, and both can be considered to be within the preset parallel range.
[0071] In some embodiments, the preset difference range may also be 175° to 185°, or 178° to 182°.
[0072] The relative angle between the second segment of the second lane line and the second segment of the first lane line is not within the preset parallel range, which may mean that the second segment of the second lane line is not parallel to the second segment of the first lane line, or the relative angle between the second segment of the second lane line and the second segment of the first lane line is not within the preset difference range.
[0073] In an embodiment of the present application, the first section of the lane lines on both sides of the vehicle includes the portion where the lane lines on both sides of the vehicle are parallel to each other, and the second section of the lane lines on both sides of the vehicle includes the portion where the lane lines on both sides of the vehicle are not parallel to each other.
[0074] In the embodiment of the present application, the second segment of the second lane line and the second segment of the first lane line meet the non-parallel condition, and it is determined that the relative angle between the second segment of the second lane line and the second segment of the first lane line is not within the preset parallel range; wherein the non-parallel condition includes: the length of the second segment of the lane line on one side is less than the first threshold, and the length of the second segment of the lane line on the other side is greater than the second threshold; and / or the preview curvature difference between the second segments of the lane lines on both sides is greater than the third threshold, and the curvature change rate difference is greater than the fourth threshold. wherein the method for determining the preview curvature difference and the curvature change rate difference is in Figure 3 The embodiments shown are introduced only and will not be described in detail here.
[0075] For example, for Figure 1a In the scenario shown, when vehicle 100 receives lane line data perceived by the camera, it is determined that the length of the second segment of lane line B is less than the first threshold, and the length of the second segment of lane line A is greater than the second threshold, that is, lane line B disappears, and it is determined that the relative angle between the second segment of the second lane line and the second segment of the first lane line is not within the preset parallel range.
[0076] for Figure 1bIn the scenario shown, when vehicle 100 receives lane line data perceived by the camera, it is determined that the preview curvature difference between the second segment of lane line A and the corresponding segment of lane line B is greater than the third threshold, and the curvature change rate difference is greater than the fourth threshold, and it is determined that the relative angle between the second segment of the second lane line and the second segment of the first lane line is not within the preset parallel range.
[0077] for Figure 1c In the scenario shown, it is determined that the length of the second segment of lane line B is less than the first threshold, and the length of the second segment of lane line A is greater than the second threshold, that is, lane line B has disappeared, and the preview curvature difference between the second segment of lane line A and the corresponding segment of lane line C is greater than the third threshold, and the curvature change rate difference is greater than the fourth threshold. It is determined that the relative angle between the second segment of the second lane line and the second segment of the first lane line is not within the preset parallel range.
[0078] It can be understood that the second section of lane line B and the second section of lane line C are both lane lines on the right side of the vehicle, or are called second lane lines.
[0079] 203: Determine a non-inhibited lane line in the first lane line and the second lane line, where the non-inhibited lane line is a lane line in which the second segment of the first lane line and the second lane line has a smaller change amplitude than the first segment.
[0080] In an embodiment of the present application, corresponding to determining that the length of the second segment of the lane line on one side is less than the first threshold, and the length of the second segment of the lane line on the other side is greater than the second threshold, the lane line whose second segment length is less than the first threshold is determined to be the lane line to be suppressed.
[0081] For example, for Figure 1a In the scenario shown, it is determined that the second segment length of lane line B is less than the first threshold, and the second segment length of lane line A is greater than the second threshold. Lane line B is determined to be the lane line to be suppressed, and lane line A is the non-suppressed lane line.
[0082] It can be understood that the sudden disappearance of the second section of lane line B can be understood as the change in the second section of lane line B relative to the first section is larger. Lane line A has always existed and has not been interrupted. Therefore, the change in the second section of lane line B relative to the first section is greater than the change in the second section of lane line A relative to the first section.
[0083] In some embodiments, corresponding to determining that the length of the lane line on one side is less than a first threshold, the length of the lane line on the other side is greater than a second threshold, and the driving path of the vehicle within a preset period is determined based on the lane lines on both sides corresponding to the lane line data, the lane line with a length less than the first threshold is determined to be the lane line to be suppressed.
[0084] It can be understood that the preset period can be the first n periods of the current moment (or the first moment).
[0085] In an embodiment of the present application, the preview curvature difference corresponding to the second segment of the lane lines on both sides is greater than the third threshold, and the curvature change rate difference is greater than the fourth threshold, and the lane line on the side with a larger standard deviation of the preview curvature difference is determined to be the lane line to be suppressed.
[0086] For example, for Figure 1b In the scenario shown, when vehicle 100 receives lane line data perceived by the camera, it is determined that the preview curvature difference between the second segment of lane line A and the corresponding segment of lane line B is greater than the third threshold, the curvature change rate difference is greater than the fourth threshold, and the standard deviation of the preview curvature difference of lane line B is greater than the standard deviation of the preview curvature difference of lane line A. Lane line B is determined to be the lane line to be suppressed, and lane line A is determined to be the non-suppressed lane line.
[0087] It can be understood that the preview curvature difference is determined based on the preview curvature of the current frame and the previous frame. The larger the standard deviation of the preview curvature difference, the greater the curvature change. Figure 1b As shown, the standard deviation of the preview curvature difference of lane line B is greater than the standard deviation of the preview curvature difference of lane line A, that is, the change amplitude of the second segment of lane line B relative to the first segment is greater than the change amplitude of the second segment of lane line A relative to the first segment. Therefore, lane line B is determined to be the lane line to be suppressed, and lane line A is determined to be the non-suppressed lane line.
[0088] In some embodiments, corresponding to the time t1, it is determined that the length of the lane line on one side is less than the first threshold, and the length of the lane line on the other side is greater than the second threshold, and the lane line with a length less than the first threshold is determined to be the lane line to be suppressed. Corresponding to the time t2, it is determined that the preview curvature difference of the second segment of the lane lines on both sides is greater than the third threshold, and the curvature change rate difference is greater than the fourth threshold, and the lane line on the side with a larger standard deviation of the preview curvature difference is determined to be the lane line to be suppressed.
[0089] For example, for Figure 1c In the scenario shown, when vehicle 100 receives lane line data sensed by a camera, at time t1, it is determined that the length of lane line B is less than a first threshold, while the length of lane line A is greater than a second threshold. Lane line B is determined to be a lane line to be suppressed, and lane line A is determined to be an unsuppressed lane line. At time t2, it is determined that the preview curvature difference between the second segment of lane line A and the corresponding segment of lane line C is greater than a third threshold, the curvature change rate difference is greater than a fourth threshold, and the standard deviation of the preview curvature difference of lane line C is greater than the standard deviation of the preview curvature difference of lane line A. Lane line C is determined to be a lane line to be suppressed, and lane line A is determined to be an unsuppressed lane line.
[0090] In an embodiment of the present application, the method for suppressing a lane line to be suppressed includes: deleting lane line data of the lane line to be suppressed, and not planning a driving path of the vehicle based on the lane line to be suppressed.
[0091] 204: Generate a virtual lane line whose relative angle with the non-inhibited lane line is within a preset parallel range.
[0092] In an embodiment of the present application, a method for generating a virtual lane line includes: generating a virtual lane line based on lane line data of a non-inhibited lane line and the width of a vehicle; and generating a virtual lane line based on the relative angle of the non-inhibited lane line within a preset parallel range.
[0093] It can be understood that the deviation between the driving path replanned based on the unsuppressed lane lines and the virtual lane lines and the current driving path is less than the deviation threshold, thereby avoiding the user from perceiving unexpected jitter.
[0094] 205: Generate a vehicle driving path based on the non-suppressed lane lines and the virtual lane lines.
[0095] In an embodiment of the present application, the center line of the non-suppressed lane line and the virtual lane line can be determined as the control reference line to control the vehicle to travel based on the control reference line.
[0096] In an embodiment of the present application, even if a vehicle is traveling on non-parallel lane lines, by suppressing the lane line on the side of the non-parallel lane lines that has changed more significantly, the vehicle is allowed to travel along a driving path determined by the double-sided lane lines generated based on the lane line on the side that has not changed (or the lane line on the side that has not been filtered), thereby avoiding causing unexpected control jitters that the driver can perceive.
[0097] The following combination Figure 3 right Figure 2 The method for determining the preview curvature difference and the curvature change rate difference in the control method shown is described in detail. Figure 3 A flow chart of a control method according to an embodiment of the present application is shown, and the control method includes:
[0098] 301: Get the available effective length of lane lines on both sides.
[0099] In an embodiment of the present application, when the ADAS lane centering function is turned on in a vehicle, lane line data in the vehicle's forward direction can be collected through the vehicle's camera; wherein, the lane line data includes the usable effective length of the lane lines on both sides of the vehicle.
[0100] For example, the vehicle's camera detects that the usable effective length of the second side lane line in the vehicle's forward direction is 3m, and the usable effective length of the first side lane line is 7m.
[0101] 302: Determine whether the lane line on one side is smaller than x1m and the lane line on the other side is larger than x2m. If so, proceed to 303: Check whether the lane line larger than x2m is available in the previous cycle and the previous cycle status. If not, proceed to 307: Determine whether valid lane line curvature data for the specified cycle (n) is cached.
[0102] In this embodiment of the present application, the available effective length of the side of the detected lane line with the smaller available effective length can be compared with x1 (or the first threshold), and the available effective length of the side of the detected lane line with the larger available effective length can be compared with x2 (or the second threshold). Wherein, x1 is smaller than x2, and x1 and x2 can be set according to actual conditions, for example, x1 = 4, x2 = 5.
[0103] For example, the usable effective length of the second side lane line 3m is compared with x1=4m, and the usable effective length of the first side lane line 7m is compared with x2=5m to determine that the second side lane line is less than x1m and the first side lane line is greater than x2m.
[0104] It can be understood that if the judgment result is yes, it is determined that the following Figure 1a In the scenario where lane line B on the right side of the vehicle 100's direction of travel disappears, go to 303: check whether lane lines larger than x2m are available in the previous cycle and the previous cycle status; if the judgment result is no, determine that the vehicle does not appear as shown. Figure 1a The lane line B on the right side of the vehicle 100's direction of travel disappears. It is necessary to further determine whether the vehicle appears as follows: Figure 1b In the scenario where the curvature of lane line B on the right side of the vehicle 100 in the direction of travel changes, the process goes to 307 : determining whether valid lane line curvature data of a specified period (n) is cached.
[0105] 303: Check whether lane lines larger than x2m are available or not suppressed in the current and previous frames. If yes, proceed to 304: Suppress lane lines smaller than x1m so that they are not input to subsequent modules. If no, proceed to 307: Determine whether valid lane line curvature data for the specified period (n) has been cached.
[0106] It is understood that the current frame and previous frame data being available means that the current frame and previous frame data are available. The current frame and previous frame data being not suppressed means that the current frame and previous frame data are not deleted, or that the vehicle's driving path is planned based on the vehicle's previous frame data and the current frame data is not deleted.
[0107] In this embodiment of the present application, it is possible to check whether the data detected in the current frame and the previous frame for the first side lane line is available or not suppressed. If the judgment result is yes, the process proceeds to 304: suppressing lane lines smaller than x1m so that they are not input into subsequent modules; if the judgment result is no, the process proceeds to 307: determining whether valid lane line curvature data for a specified period (n) has been cached.
[0108] It can be understood that by checking whether lane lines larger than x2m are available or not suppressed in the current frame and the previous frame data, repeated suppression of the same lane line can be avoided.
[0109] 304: Suppress lane lines smaller than x1m so that they are not input into subsequent modules, and go to step 315: end this filtering process and continue calculation in the next cycle.
[0110] In this embodiment of the present application, the lane line data of the second side lane line can be suppressed so that it does not enter the subsequent processing flow, and the lane line preprocessing of the current frame ends, and the calculation continues in the next cycle. It can be understood that the reason for suppressing the second side lane line is that the lane line is too short.
[0111] 305: Based on the current curvature and curvature change rate of the lane line, the preview curvature (C2+C3*X) of the left and right lane lines at the specified preview position Xm is calculated respectively, and the value is cached.
[0112] It can be understood that for scenarios where the driver does not set a destination during driving, the lane line data collected by the camera includes the length of the lane lines on both sides of the vehicle and the curvature of the lane lines in the current frame. The curvature at the preview specified Xm cannot be obtained. Therefore, it is necessary to calculate the preview curvature (C2+C3*X) of the preview specified Xm of the left and right lane lines respectively according to the current curvature and curvature change rate of the lane line, and cache the value to determine whether the left and right lane lines will appear as follows Figure 1b The curvature of lane B in the center lane changes significantly. C2 is the curvature of the current frame, positive when the direction is left and negative when the direction is right, with a unit of 1 / m. C3 is the rate of change of curvature of the current frame, positive when the direction is left and negative when the direction is right, with a unit of 1 / m^2. X is the longitudinal distance. The preview position Xm is the position Xm in the vehicle's forward direction.
[0113] For example, Figure 1b As shown, the preview curvature of M1 at the preview Xm of the first lane line (lane line A) is y1, and the preview curvature of M2 at the preview Xm of the second lane line (lane line B) is y2.
[0114] Where y1 = (C21 + C31 * X), where C21 is the curvature of the first lane line in the current frame, which is positive when pointing left and negative when pointing right, and is expressed in 1 / m. C31 is the rate of change of the curvature of the first lane line in the current frame, which is positive when pointing left and negative when pointing right, and is expressed in 1 / m².
[0115] y2 = (C22 + C32 * X), where C22 is the curvature of the second lane line in the current frame. It is positive when the direction is left and negative when the direction is right. The unit is 1 / m. C32 is the rate of change of the curvature of the second lane line in the current frame. It is positive when the direction is left and negative when the direction is right. The unit is 1 / m^2.
[0116] In some embodiments, the preview curvature y at the specified preview position Xm can also be calculated using the lane line fitting equation. Where C0 is the distance between the vehicle centerline and the lane centerline, positive when heading left and negative when heading right, unit: m. C1 is the angle between the velocity and the lane curve, positive when heading left and negative when heading right, unit: rad. C2 is the curvature, positive when heading left and negative when heading right, unit: 1 / m. C3 is the rate of change of curvature, positive when heading left and negative when heading right, unit: 1 / m². X is the longitudinal distance. The preview position Xm is the position Xm in the vehicle's forward direction.
[0117] 306: Calculate the preview curvature of the lane lines on both sides of the current frame and the difference between the preview curvature of the previous frame, and cache them into an array of length n.
[0118] In this embodiment of the present application, the preview curvature of the lane lines on both sides of the current frame and the difference between the preview curvatures of the previous frame can be calculated and cached (replaced with 0 if there is no previous frame). The difference is then used to determine the lane lines to be suppressed. The difference in preview curvature of the previous frame is the difference in preview curvature of the left and right lane lines at a specified position Xm in the previous frame.
[0119] 307: Determine whether valid lane curvature data for the specified cycle (n) has been cached. If so, proceed to 308: Calculate the difference between the left and right lane curvatures of the current preview curvature, and 309: Calculate the difference in the curvature change rate of the left and right lanes in the current frame. If not, proceed to 315: End the current filtering process and continue the calculation in the next cycle.
[0120] In an embodiment of the present application, the effective lane line curvature data of the specified period (n) may be the curvature difference data of the lane lines on both sides of the specified period (n).
[0121] If it is determined that valid lane line curvature data for the specified period (n) is cached, the difference between the left and right lane lines of the current preview curvature and the difference in curvature change rate of the left and right lane lines in the current frame can be first calculated. When it is determined that the calculated preview curvature difference and curvature change rate difference of the left and right lane lines are greater than the specified value, the lane line on the two sides with the larger standard deviation of the preview curvature difference is determined based on the cached valid lane line curvature data for the specified period (n) and the preview curvature difference and curvature change rate difference of the left and right lane lines. The lane line on the side with the larger standard deviation of the preview curvature difference is used as the lane line to be suppressed, that is, go to 308: calculate the difference between the left and right lane lines of the current preview curvature, and 309: calculate the difference in curvature change rate of the left and right lane lines in the current frame. If it is determined that valid lane line curvature data for the specified period (n) is not cached, go to 315: end this filtering process and continue calculation in the next period.
[0122] 308: Calculate the difference between the left and right lane lines of the current preview curvature.
[0123] In an embodiment of the present application, the difference between the left and right lane lines in the current frame can be calculated based on the preview curvature of the left and right lane lines at a specified preview position Xm in the current frame.
[0124] For example, the preview curvature of the left lane line at the specified preview position Xm is y1, and the preview curvature of the right lane line at the specified preview position Xm is y2. Then the preview curvature difference between the current left and right lane lines is y3=y1-y2.
[0125] 309: Calculate the curvature change rate difference of the left and right lane lines in the current frame.
[0126] In an embodiment of the present application, the difference in curvature change rate of the left and right lane lines in the current frame can be calculated based on the cached valid lane line curvature data of a specified period (n).
[0127] For example, the curvature change rate w1 is calculated based on the curvature of the left lane line in the current frame and the previous frame, the curvature change rate w2 is calculated based on the curvature of the right lane line in the current frame and the previous frame, and the curvature change rate difference w3 of the left and right lane lines in the current frame is calculated based on the curvature change rate w1 of the left lane line and the curvature change rate w2 of the right lane line in the current frame, where w3 = w1 - w2.
[0128] 310: Determine whether the calculated left and right lane marking preview curvature difference and curvature change rate difference are greater than a specified value. If so, proceed to 311: Calculate the standard deviation of the cached n sets of lane marking preview curvature differences. If not, proceed to 315: End the current filtering process and continue the calculation in the next cycle.
[0129] It can be understood that if the calculated preview curvature difference y3 of the left and right lane lines is greater than the third threshold, and the curvature change rate difference w3 is greater than the fourth threshold, it is determined that the width of the left and right lanes has changed, such as Figure 1b If the second segment of the middle lane line B is no longer parallel to the corresponding segment of lane line A, go to 311: calculate the standard deviation of the cached n groups of preview curvature differences of the lane lines on both sides respectively; if the calculated preview curvature difference y3 of the left and right lane lines is less than or equal to the third threshold or the curvature change rate difference w3 is less than or equal to the fourth threshold, it is determined that the width of the left and right lanes has not changed, then go to 315: end this filtering process and continue the calculation in the next cycle.
[0130] 311: Calculate the standard deviation of the cached n groups of lane line preview curvature differences on both sides.
[0131] In an embodiment of the present application, the standard deviation of the preview curvature difference of the lane markings on both sides may be calculated based on the cached n groups of preview curvature difference values of the lane markings on both sides.
[0132] 312: Select the lane line on the side with the larger standard deviation as the lane line to be suppressed.
[0133] It can be understood that a larger standard deviation indicates a greater fluctuation in curvature. Therefore, the lane line on the side with a larger standard deviation is used as the lane line to be suppressed, that is, the reason for suppressing the lane line to be suppressed is that the curvature difference is too large.
[0134] For example, corresponding to Figure 1b In the scenario shown, lane B is used as the lane to be suppressed, and lane A is used as the non-suppressed lane.
[0135] 313: Determine whether the unselected lane lines have been suppressed. If so, proceed to 315: End the current filtering process and continue the calculation in the next cycle. If not, proceed to 314: Suppress the selected lane lines to be suppressed so that they are not input into the subsequent modules.
[0136] In the embodiment of the present application, when the unselected lane line (or the lane line on one side of the lane lines on both sides that is not the lane line to be suppressed) has been suppressed, that is, the judgment result is yes, that is, one lane line on both sides has been suppressed, then there is no need to suppress the lane line to be suppressed, and go to 315: end this filtering process, and continue calculation in the next cycle; when the unselected lane line is not suppressed, that is, the judgment result is no, that is, no lane line on both sides has been suppressed, then go to 314: suppress the selected lane line to be suppressed so that it is not input into the subsequent module.
[0137] 314: Suppress the selected lane line to be suppressed so that it is not input into the subsequent modules.
[0138] In an embodiment of the present application, the lane line to be suppressed can be suppressed by not inputting the lane line data of the lane line to be suppressed into a subsequent module, and the lane line preprocessing of the current frame is ended.
[0139] 315: End the filtering process and continue calculation in the next cycle.
[0140] The embodiments of the present application detect scenarios that may be encountered during vehicle driving and do not require replanning the vehicle's driving path based on the width of the lane lines on both sides. For example, based on the lengths of the lane lines on both sides, it determines whether the vehicle is currently in a scenario where the lane lines on one side disappear, or based on the curvatures of the lane lines on both sides, it determines whether the vehicle is currently in a scenario where the curvature of the lane lines on one side changes significantly. This suppresses the lane lines that change significantly, and generates virtual lane lines based on the unsuppressed lane lines, so as to replan the driving path based on the unsuppressed lane lines and the virtual lane lines.
[0141] It can be understood that the deviation between the driving path replanned based on the unsuppressed lane lines and the virtual lane lines and the current driving path is less than the deviation threshold, thereby avoiding the user from perceiving unexpected jitter.
[0142] In order to further reduce the Figure 3 The possibility of driver-perceivable jitter and detection error during the detection process shown in the figure is based on the embodiment of the present application. Figure 3 The control method shown adds a processing flow for ending the lane suppression, such as Figure 4 As shown, including:
[0143] 401: Get the reason why the lane marking on one side is suppressed.
[0144] In an embodiment of the present application, the reason why the suppressed lane line is suppressed can be obtained at the second moment, where the reasons for suppression include: the lane line is too short and the curvature difference is too large.
[0145] 402: Determine whether the lane line is too short. If so, the process proceeds to 403: Calculate the delay time T. If not, the curvature difference is too large, the process proceeds to 405: Calculate the curvature difference between the lane lines on both sides.
[0146] It is understood that when the suppression cause is determined to be a lane line that is too short, the lane line length is captured in real time by the camera, so there is no need to re-determine the lane line length. The process proceeds to 403: Calculating the Delay Time T. When the suppression cause is determined to be an excessive curvature difference, since the preview curvature is not the actual value obtained, to improve the accuracy of the determination that the suppression cause is an excessive curvature difference, the process proceeds to 405: Calculating the Current Curvature Difference of the Lane Lines on Both Sides. Based on this current curvature difference of the lane lines on both sides, the process re-determines whether the curvature difference is excessive.
[0147] 403: Calculate the delayed time T.
[0148] In the embodiment of the present application, the delay time T may be the suppression time of the suppressed lane line, that is, the delay time T=the second moment-the first moment.
[0149] 404: Determine whether the delay time is greater than N1s.
[0150] If the judgment result is yes, that is, the suppression time is greater than N1s, then go to 410: set the corresponding side lane line state s to not suppressed; if the judgment result is no, that is, the suppression time is less than or equal to N1s, then go to 403: calculate the delayed time T, and 409: set the corresponding side lane line state s to suppressed.
[0151] 405: Calculate the curvature difference of the current lane lines on both sides.
[0152] In an embodiment of the present application, the curvature difference between the left and right lane lines in the current frame (or the second moment) can be calculated based on the preview curvature of the left and right lane lines at a specified preview position Xm in the current frame (or the second moment).
[0153] For example, the preview curvature of the left lane line at the specified preview position Xm in the current frame is y13, and the preview curvature of the right lane line at the specified preview position Xm in the current frame is y23. Then the difference between the left and right lane lines in the current preview curvature is y33=y13-y23.
[0154] 406: Determine whether the curvature difference is less than a specified value C2 (which can be calibrated). If the determination result is yes, go to 407: Calculate the delayed time T; if the determination result is no, end.
[0155] It can be understood that the specified value C2 can be a curvature, which is positive when the direction is left and negative when the direction is right, and the unit is 1 / m.
[0156] 407: Calculate the delayed time T.
[0157] 408: Determine whether the delay time is greater than N2s. If so, proceed to 410: Set the corresponding side lane line state s to non-suppression. If not, proceed to 403: Calculate the delay time T and 409: Set the corresponding side lane line state s to suppression.
[0158] 409: Set the corresponding side lane line state s to suppressed.
[0159] 410: Set the corresponding side lane line state s to not suppressed.
[0160] In an embodiment of the present application, by monitoring the time when lane line suppression ends in real time, long-term lane line suppression and erroneous suppression due to detection errors can be avoided.
[0161] In some embodiments, during the process of suppressing lane lines, due to the limitations of scenarios and perception capabilities (such as misalignment of the connecting lane lines, poor accuracy of lane line perception, and inaccurate perception of lane line curvature for feedforward control), for example, Figure 5As shown, when the vehicle 100 is traveling on a curve, the lane line A on the left side of the vehicle 100 is partially interrupted; Figure 6 As shown, vehicle 100 is traveling on a one-way street at a T-junction. Lane line A on the left side of vehicle 100 is partially interrupted. Due to inaccurate lane line curvature perception of the feedforward control, lane line length perception errors may occur, resulting in too short a time to suppress the lane line, causing the vehicle to deviate toward the suppressed lane line and unable to control the vehicle to remain in the lane.
[0162] In the process of suppressing lane lines, due to the limitations of the scene and perception capabilities, the vehicle cannot be controlled to maintain the lane, causing the vehicle to deviate towards the suppressed lane line. Figure 7 The control method shown in FIG2 strengthens the feedback control module to adjust the lateral position error so that the vehicle remains in the lane. Figure 7 As shown, the control method includes:
[0163] 701: Obtain the lane line on the suppressed side.
[0164] 702: Lateral position deviation relative to the control reference line.
[0165] In the embodiment of the present application, the lateral position distance L2 between the vehicle and the control reference line can be obtained. The control reference line can be the center line between the unsuppressed lane line and the virtual lane line generated based on the unsuppressed lane line.
[0166] 703: Determine whether the vehicle is closer to the suppressed lane line based on the position deviation. If so, proceed to 704: Calculate the control gain based on a lateral error interpolation lookup table (which can be calibrated) and add it to the P term of the lateral error proportional-integral-differentiation (PID) controller. If not, terminate.
[0167] In the embodiment of the present application, the distance L1 between the vehicle and the lane line on the suppressed side can be obtained, and based on L1 and L2, it can be determined whether the vehicle is closer to the suppressed lane line. If it is determined that L1 is less than L2, that is, the vehicle is closer to the suppressed lane line, the judgment result is yes, and the vehicle's driving path needs to be adjusted. Go to 704: calculate the control gain based on the lateral error interpolation lookup table (the calibrable lookup table) and superimpose it on the P term of the lateral error PID controller; if it is determined that L1 is greater than or equal to L2, that is, the vehicle is closer to the control lane line, the judgment result is no, and there is no need to adjust the vehicle's driving path, and the processing flow ends.
[0168] 704: Calculate the control gain based on the lateral error interpolation lookup table (the calibrable lookup table) and superimpose it on the P term of the lateral error PID controller.
[0169] In an embodiment of the present application, the control gain corresponding to the difference between L1 and L2 can be determined based on the difference between L1 and L2 and the lateral error interpolation table, and the control gain corresponding to the difference between L1 and L2 can be superimposed on the P item of the PID controller to enable the vehicle to better maintain its lane by enhancing feedback control.
[0170] In some embodiments, enhancing feedback control to better maintain a vehicle's lane includes amplifying a control gain using a P term of a PID controller to obtain an amplified gain. The amplified gain is then used to adjust the vehicle's motor, thereby adjusting the vehicle's direction of travel to align with a control reference line.
[0171] It can be understood that the larger the absolute value of the difference between L1 and L2, the larger the control gain, and the faster the speed of adjusting the vehicle's driving direction; the smaller the absolute value of the difference between L1 and L2, the smaller the control gain, and the slower the speed of adjusting the vehicle's driving direction.
[0172] The embodiment of the present application strengthens the weight of the feedback control module on the lateral position error, so that the vehicle remains in the lane and avoids the situation where the vehicle deviates from the lane.
[0173] The present application provides a vehicle, including an acquisition module, a determination module, and a generation module. The acquisition module is used to acquire first lane line data corresponding to the first lane line and second lane line data corresponding to the second lane line on both sides of the vehicle at a first moment; the determination module is used to determine, based on the first lane line data and the second lane line data, that the relative angle between the first segment of the second lane line and the corresponding segment of the first lane line is within a preset parallel range, and the relative angle between the second segment of the second lane line and the second segment of the first lane line is not within the preset parallel range; the determination module is used to determine a non-inhibited lane line among the first lane line and the second lane line, where the non-inhibited lane line is a lane line in which the second segment of the first lane line and the second lane line has a smaller change amplitude relative to the first segment; the generation module is used to generate a virtual lane line whose relative angle with the non-inhibited lane line is within the preset parallel range; and the generation module is used to generate a vehicle driving path based on the non-inhibited lane line and the virtual lane line.
[0174] The present application provides an electronic device, comprising: a memory for storing instructions executed by one or more processors of the electronic device, and a processor, which is one of the one or more processors of the electronic device, for executing the above-mentioned control method.
[0175] The present application provides a readable medium on which instructions are stored. When the instructions are executed on an electronic device, the electronic device executes the above-mentioned control method.
[0176] The structure of the electronic device mentioned in this application is described below by taking the electronic device 002 as an example. Figure 8 As shown, Figure 8 This is a block diagram of a vehicle (or smart car) 002 provided in an embodiment of the present application.
[0177] Vehicle 002 may include a travel system 202, a sensor system 204, a control system 206, one or more peripheral devices 208, a power source 210, a computer system 212, and a user interface 216. Optionally, vehicle 002 may include more or fewer subsystems, and each subsystem may include multiple components. In addition, each subsystem and component of vehicle 002 may be interconnected via wired or wireless connections.
[0178] Propulsion system 202 may include components that provide powered motion for vehicle 002. In one embodiment, propulsion system 202 may include engine 218, energy source 219, transmission 220, and wheels / tires 221. Engine 218 may be an internal combustion engine, an electric motor, an air compression engine, or another combination of engines, such as a hybrid engine consisting of a gasoline engine and an electric motor, or a hybrid engine consisting of an internal combustion engine and an air compression engine. Engine 218 converts energy source 219 into mechanical energy.
[0179] Examples of energy source 219 include gasoline, diesel, other petroleum-based fuels, propane, other compressed gas-based fuels, ethanol, solar panels, batteries, and other sources of electricity. Energy source 219 can also provide energy to other systems of vehicle 002.
[0180] Transmission 220 can transmit mechanical power from engine 218 to wheels 221. Transmission 220 can include a gearbox, a differential, and a drive shaft. In one embodiment, transmission 220 can also include other components, such as a clutch. The drive shaft can include one or more shafts that can be coupled to one or more wheels 221.
[0181] The sensor system 204 may include several sensors that sense information about the environment surrounding the vehicle 002. For example, the sensor system 204 may include a positioning system 222 (the positioning system may be a GPS system, a BeiDou system, or other positioning systems), an inertial measurement unit (IMU) 224, a radar 226, a laser rangefinder 228, and a camera 230. The sensor system 204 may also include sensors for the internal systems of the monitored vehicle 002 (e.g., an in-vehicle air quality monitor, a fuel gauge, an oil temperature gauge, etc.). Sensor data from one or more of these sensors may be used to detect objects and their corresponding characteristics (position, shape, direction, speed, etc.). This detection and recognition is a key function for the safe operation of the autonomous vehicle 002.
[0182] Positioning system 222 may be used to estimate the geographic location of vehicle 002 .
[0183] The IMU 224 is used to sense changes in the position and orientation of the vehicle 002 based on inertial acceleration. In one embodiment, the IMU 224 can be a combination of an accelerometer and a gyroscope. For example, the IMU 224 can be used to measure the curvature of the vehicle 002.
[0184] Radar 226 can use radio signals to sense objects in the surrounding environment of smart vehicle 002. In some embodiments, in addition to sensing objects, radar 226 can also be used to sense the speed and / or heading of the objects.
[0185] Laser rangefinder 228 may utilize laser light to sense objects in the environment in which vehicle 002 is located. In some embodiments, laser rangefinder 228 may include one or more laser sources, a laser scanner, and one or more detectors, among other system components.
[0186] Camera 230 may be used to capture multiple images of the surrounding environment of vehicle 002. Camera 230 may be a still camera or a video camera.
[0187] Control system 206 controls the operation of vehicle 002 and its components. Control system 206 may include various components, including a steering system 232 , a throttle 234 , a brake unit 236 , a computer vision system 240 , a path control system 242 , and an obstacle avoidance system 244 .
[0188] The steering system 232 is operable to adjust the forward direction of the vehicle 002. For example, in one embodiment, it can be a steering wheel system that can be used to adjust the angle of the steering wheel.
[0189] Throttle 234 is used to control the operating speed of engine 218 and, in turn, the speed of vehicle 002 .
[0190] Braking unit 236 is used to control the deceleration of vehicle 002. Braking unit 236 can use friction to slow down wheels 221. In other embodiments, braking unit 236 can convert the kinetic energy of wheels 221 into electric current. Braking unit 236 can also take other forms to slow the rotation speed of wheels 221 to control the speed of vehicle 002.
[0191] The computer vision system 240 can be operated to process and analyze images captured by the camera 230 to identify objects and / or features in the environment surrounding the vehicle 002. The objects and / or features may include traffic signs, road boundaries, and obstacles. The computer vision system 240 can use object recognition algorithms, structure from motion (SFM) algorithms, video tracking, and other computer vision techniques. In some embodiments, the computer vision system 240 can be used to map the environment, track objects, estimate the speed of objects, and so on.
[0192] Route control system 242 is used to determine a driving route for vehicle 002. In some embodiments, route control system 242 may combine data from sensor system 204, GPS 222, and one or more predetermined maps to determine a driving route for vehicle 002.
[0193] Obstacle avoidance system 244 is used to identify, assess, and avoid or otherwise negotiate potential obstacles in the environment of vehicle 002 .
[0194] Vehicle 002 interacts with external sensors, other vehicles, other computer systems, or users through peripherals 208. Peripherals 208 may include wireless communication system 246, onboard computer 248, microphone 250, and / or speaker 252.
[0195] In some embodiments, peripheral device 208 provides a means for a user of vehicle 002 to interact with user interface 216. For example, onboard computer 248 can provide information to the user of vehicle 002. User interface 216 can also operate onboard computer 248 to receive user input. Onboard computer 248 can be operated via a touch screen.
[0196] Wireless communication system 246 can communicate wirelessly with one or more devices directly or via a communication network. For example, wireless communication system 246 can use 3G cellular communication, such as CDMA, EVDO, GSM / GPRS, or 4G cellular communication, such as LTE. Or 5G cellular communication. Wireless communication system 246 can use WiFi to communicate with a wireless local area network (WLAN).
[0197] Power source 210 can provide power to various components of vehicle 002. In one embodiment, power source 210 can be a rechargeable lithium-ion or lead-acid battery. One or more battery packs of such batteries can be configured as a power source to provide power to various components of vehicle 002. In some embodiments, power source 210 and energy source 219 can be implemented together, such as in some all-electric vehicles.
[0198] Some or all functions of vehicle 002 are controlled by computer system 212. Computer system 212 may include at least one processor 213 that executes instructions 215 stored in a non-transitory computer-readable medium, such as data storage device 214. Computer system 212 may also be a plurality of computing devices that control individual components or subsystems of vehicle 002 in a distributed manner.
[0199] The processor 213 may be any conventional processor, such as a commercially available central processing unit (CPU). Alternatively, the processor may be a dedicated device such as an application specific integrated circuit (ASIC) or other hardware-based processor.
[0200] In some embodiments, data storage device 214 may include instructions 215 (e.g., program logic) that may be executed by processor 213 to perform various functions of vehicle 2002, including those described above. Data storage device 224 may also include additional instructions, including instructions for sending data to, receiving data from, interacting with, and / or controlling one or more of propulsion system 202, sensor system 204, control system 206, and peripherals 208.
[0201] In addition to instructions 215, data storage device 214, which functions as a memory, may also store data such as road maps, route information, the vehicle's location, direction, speed, and other such vehicle data, as well as other information. This information may be used by vehicle 002 and computer system 212 during operation of vehicle 002 in autonomous, semi-autonomous, and / or manual modes. For example, information such as the target vehicle's location information, the target vehicle's current posture, the target parking space's location information, and obstacle location information may be used.
[0202] User interface 216 is used to provide information to or receive information from a user of vehicle 002. Optionally, user interface 216 may include one or more input / output devices within the set of peripherals 208, such as wireless communication system 246, onboard computer 248, microphone 250, and speaker 252.
[0203] Computer system 212 can control functions of vehicle 002 based on input received from various subsystems (e.g., travel system 202, sensor system 204, and control system 206) and from user interface 216. For example, computer system 212 can utilize input from control system 206 to control steering unit 232 to avoid obstacles detected by sensor system 204 and obstacle avoidance system 244. In some embodiments, computer system 212 is operable to provide control over many aspects of vehicle 002 and its subsystems.
[0204] Alternatively, one or more of the aforementioned components may be installed or associated separately from the vehicle 002. For example, the data storage device 214 may be partially or completely separate from the vehicle 002. The aforementioned components may be communicatively coupled together in a wired and / or wireless manner.
[0205] The various embodiments of the mechanisms disclosed in this application can be implemented in hardware, software, firmware, or a combination of these implementation methods. The embodiments of the present application can be implemented as a computer program or program code executed on a programmable system, which includes at least one processor, a storage system (including volatile and non-volatile memory and / or storage elements), at least one input device, and at least one output device.
[0206] Program code can be applied to input instructions to perform the functions described herein and generate output information. The output information can be applied to one or more output devices in a known manner. For purposes of this application, a processing system includes any system having a processor such as, for example, a digital signal processor (DSP), a microcontroller, an application specific integrated circuit (ASIC), or a microprocessor.
[0207] Program code can be implemented with a high-level programming language or an object-oriented programming language to communicate with the processing system. Where necessary, program code can also be implemented in assembly language or machine language. In fact, the mechanism described in this application is not limited to the scope of any particular programming language. In either case, the language can be a compiled language or an interpreted language.
[0208] In some cases, the disclosed embodiments may be implemented in hardware, firmware, software, or any combination thereof. The disclosed embodiments may also be implemented as instructions carried or stored on one or more temporary or non-temporary machine-readable (e.g., computer-readable) storage media, which may be read and executed by one or more processors. For example, instructions may be distributed over a network or through other computer-readable media. Therefore, a machine-readable medium may include any mechanism for storing or transmitting information in a machine (e.g., computer) readable form, including but not limited to floppy disks, optical disks, optical discs, read-only memories (compact disc-read only memories, CD-ROMs), magneto-optical disks, read-only memories (ROMs), random access memories (RAMs), erasable programmable read-only memories (EPROMs), electrically erasable programmable read-only memories (EEPROMs), magnetic or optical cards, flash memory, or a tangible machine-readable memory for transmitting information (e.g., carrier waves, infrared signals, digital signals, etc.) using the Internet in electrical, optical, acoustic, or other forms of propagation signals. Accordingly, machine-readable media includes any type of machine-readable media suitable for storing or transmitting electronic instructions or information in a form readable by a machine (eg, a computer).
[0209] In the accompanying drawings, some structural or method features may be shown in a particular arrangement and / or order. However, it should be understood that such a particular arrangement and / or order may not be required. Rather, in some embodiments, these features may be arranged in a manner and / or order different from that shown in the illustrative drawings. In addition, the inclusion of a structural or method feature in a particular figure does not imply that such feature is required in all embodiments, and in some embodiments, such features may not be included or may be combined with other features.
[0210] It should be noted that the units / modules mentioned in the various device embodiments of the present application are all logical units / modules. Physically, a logical unit / module can be a physical unit / module, or a part of a physical unit / module, or can be implemented as a combination of multiple physical units / modules. The physical implementation of these logical units / modules themselves is not the most important. The combination of functions implemented by these logical units / modules is the key to solving the technical problems raised by this application. In addition, in order to highlight the innovative part of this application, the above-mentioned device embodiments of this application do not introduce units / modules that are not closely related to solving the technical problems raised by this application. This does not mean that other units / modules do not exist in the above-mentioned device embodiments.
[0211] It should be noted that in the examples and description of this patent, the terms "comprises", "includes" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device comprising a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. Without further restriction, an element defined by the phrase "comprising a" does not exclude the presence of other identical elements in the process, method, article or device comprising the element. Although the present application has been illustrated and described with reference to certain preferred embodiments of the present application, it should be understood by those skilled in the art that various changes may be made thereto in form and detail without departing from the spirit and scope of the present application.
Claims
1. A control method, characterized in that: Applied to a vehicle, the control method includes: Acquire first lane line data corresponding to the first lane line and second lane line data corresponding to the second lane line on both sides of the vehicle at a first moment; Determining, based on length and / or curvature difference information in the first lane line data and the second lane line data, that a relative angle between a first segment of the second lane line and a first segment of the first lane line is within a preset parallel range, and that a relative angle between a second segment of the second lane line and a second segment of the first lane line is not within the preset parallel range; Wherein, determining that a relative angle between the second segment of the second lane line and the second segment of the first lane line is not within a preset parallel range based on curvature difference information in the first lane line data and the second lane line data includes: The difference in preview curvature between the second segment of the second lane line and the second segment of the first lane line at preset corresponding positions is greater than a third threshold, the difference in the rate of change of curvature between the second segment of the second lane line and the second segment of the first lane line is greater than a fourth threshold, and the standard deviation of the preview curvature differences between adjacent frames in the second segment of the second lane line is greater than the standard deviation of the preview curvature differences between adjacent frames in the second segment of the first lane line, thereby determining that the relative angle between the second segment of the second lane line and the second segment of the first lane line is not within a preset parallel range; Determine a non-suppressed lane line among the first lane line and the second lane line, where the non-suppressed lane line is a lane line where the second segment of the first lane line and the second lane line has a smaller change amplitude than the first segment; generating a virtual lane line whose relative angle with the non-inhibited lane line is within a preset parallel range; generating a driving path of the vehicle based on the non-inhibited lane line and the virtual lane line; Obtaining a third lateral distance between the vehicle and the suppressed lane marking and a second lateral distance between the vehicle and a control reference line, wherein the control reference line is a center line between the non-suppressed lane marking and the virtual lane marking; Corresponding to the third lateral distance being smaller than the second lateral distance, a corresponding control gain is determined according to a difference between the third lateral distance and the second lateral distance, so as to adjust the driving path of the vehicle based on the control gain.
2. The control method according to claim 1, characterized in that: Determining, based on the first lane line data and the second lane line data, that a relative angle between the second segment of the second lane line and the second segment of the first lane line is not within a preset parallel range includes: When it is determined based on the first lane line data and the second lane line data that the length of the second segment of the second lane line obtained is less than a first threshold, and the length of the first lane line obtained is greater than a second threshold, and / or when the curvature difference information between the second segment of the second lane line and the second segment of the first lane line meets a preset condition, it is determined that the relative angle between the second segment of the second lane line and the second segment of the first lane line is not within a preset parallel range.
3. The control method according to claim 1, wherein: The first lane line data includes the curvature and curvature change rate of the first lane line, and the second lane line data includes the curvature and curvature change rate of the second lane line. The method for determining the preview curvature difference between the second segment of the second lane line and the preset corresponding position of the second segment of the first lane line includes: Calculating a preview curvature of a first preview distance between the first lane line and the second lane line based on the curvature and curvature change rate of the first lane line and the second lane line at a first moment; The preview curvature difference is calculated based on the preview curvatures of the first lane line and the second lane line at the first distance.
4. The control method according to claim 1, wherein: include: Acquire first lane line data corresponding to the first lane line and second lane line data corresponding to the second lane line at a second moment; If it is determined based on the first lane line data and the second lane line data obtained at the second moment that the curvature difference between the first lane line and the second lane line at the second moment is less than or equal to a third threshold, and the time for generating the virtual lane line based on the first lane line data obtained at the first moment meets the time threshold, then the driving path of the vehicle is generated based on the first lane line data and the second lane line data obtained at the second moment.
5. The control method according to claim 1, characterized in that: include: Obtaining a first lateral distance between the vehicle and the second lane line and a second lateral distance between the vehicle and a control reference line, wherein the control reference line is a center line between the first lane line and the virtual lane line; Corresponding to the first lateral distance being smaller than the second lateral distance, a corresponding control gain is determined according to a difference between the first lateral distance and the second lateral distance, so as to adjust the driving path of the vehicle based on the control gain.
6. The control method according to claim 1, characterized in that: The adjusting the driving path of the vehicle based on the control gain includes: amplifying the control gain to obtain an amplified gain; The driving direction of the vehicle is adjusted based on the amplification gain so that the vehicle drives toward the control reference line.
7. A vehicle, characterized in that: Including acquisition module, determination module and generation module, The acquisition module is used to acquire first lane line data corresponding to the first lane line and second lane line data corresponding to the second lane line on both sides of the vehicle at a first moment; the determining module being configured to determine, based on length and / or curvature difference information in the first lane line data and the second lane line data, that a relative angle between a first segment of the second lane line and a first segment of the first lane line is within a preset parallel range, and that a relative angle between a second segment of the second lane line and a second segment of the first lane line is not within the preset parallel range; Wherein, determining that a relative angle between the second segment of the second lane line and the second segment of the first lane line is not within a preset parallel range based on curvature difference information in the first lane line data and the second lane line data includes: The difference in preview curvature between the second segment of the second lane line and the second segment of the first lane line at preset corresponding positions is greater than a third threshold, the difference in the rate of change of curvature between the second segment of the second lane line and the second segment of the first lane line is greater than a fourth threshold, and the standard deviation of the preview curvature differences between adjacent frames in the second segment of the second lane line is greater than the standard deviation of the preview curvature differences between adjacent frames in the second segment of the first lane line, thereby determining that the relative angle between the second segment of the second lane line and the second segment of the first lane line is not within a preset parallel range; The determining module is configured to determine a non-suppressed lane line among the first lane line and the second lane line, wherein the non-suppressed lane line is a lane line whose second segment has a smaller change amplitude than the first segment among the first lane line and the second lane line; The generating module is configured to generate a virtual lane line whose relative angle with the non-inhibited lane line is within a preset parallel range; The generating module is configured to generate a driving path of the vehicle based on the non-suppressed lane line and the virtual lane line; The generating module is configured to obtain a third lateral distance between the vehicle and the suppressed lane line and a second lateral distance between the vehicle and a control reference line, wherein the control reference line is a center line between the non-suppressed lane line and the virtual lane line; The generating module is configured to determine a corresponding control gain according to a difference between the third lateral distance and the second lateral distance, corresponding to the third lateral distance being smaller than the second lateral distance, so as to adjust the driving path of the vehicle based on the control gain.
8. An electronic device, characterized in that: include: A memory for storing instructions executed by one or more processors of the electronic device, and the processor, which is one of the one or more processors of the electronic device, for executing the control method according to any one of claims 1 to 6.
9. A readable medium, characterized in that The readable medium stores instructions, which, when executed on an electronic device, enable the electronic device to execute the control method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Lane keeping control system and method
CN103676949A
Lane line processing method, vehicle and readable storage medium
CN112183415A
Vehicle lane keeping techniques
US9120486B1