Method and device for determining deviation of vehicle, controller, vehicle and product
By detecting the compensation value of the steering wheel angle at different positions, the problem of vehicle deviation is solved and the stability and safety of the autonomous driving system are improved.
Patent Information
- Application Number
- CN202410302217.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-03-15
- Publication Date
- 2025-09-16
AI Technical Summary
Existing automated driving assistance systems are unable to detect misalignment of the vehicle's steering wheel or steering gear in a timely manner, causing the vehicle to swerve and potentially lead to an accident.
By determining the compensation value of the steering wheel angle at different positions of the vehicle in a straight-ahead state, it is determined whether the compensation value is within a specific range. If it is within the range, it is determined that the vehicle is deviating and corresponding processing is performed, such as calibration or reminding the driver.
Timely detection of vehicle deviation can improve the robustness and safety of the automatic driving assistance system and prevent accidents.
Smart Images

Figure CN120646098A_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure generally relate to the field of vehicles, and more particularly to methods, devices, controllers, vehicles, and program products for determining vehicle deviation. Background Art
[0002] In recent years, automated driving assistance systems (hereinafter referred to as driver assistance systems) have been introduced. These assist users in driving a vehicle by performing some or all of the user's driving operations on the vehicle side. Driver assistance systems make driving more automated and adaptive, effectively reducing human errors, promoting improvements in vehicle safety technologies, and enhancing the driving experience.
[0003] Driver assistance systems combine sensors, global positioning systems (GPS), control modules, communication modules, and software algorithms to perceive the environment, process data, make decisions, and control the vehicle, allowing users to reduce or eliminate vehicle manipulation while driving. The control module is particularly important because it uses software algorithms to process sensor data to control the vehicle's speed and steering, thereby maintaining vehicle stability and safety. Summary of the Invention
[0004] Embodiments of the present disclosure provide a method, apparatus, device, vehicle, and medium for determining vehicle deviation.
[0005] According to a first aspect of the present disclosure, a method for determining vehicle deviation is provided. The method includes determining a first compensation value for a steering wheel angle of the vehicle at a first position when the vehicle is traveling straight ahead. The method also includes determining a second compensation value for the steering wheel angle at a second position when the vehicle is traveling straight ahead. The method also includes determining that the vehicle is deviation in response to the first compensation value and the second compensation value being within a first range.
[0006] According to a second aspect of the present disclosure, a device for notifying a vehicle of a deviation is provided. The device includes a first compensation value determination unit configured to determine a first compensation value for a steering wheel angle of the vehicle when the vehicle is in a first position in a straight-ahead state; a second compensation value determination unit configured to determine a second compensation value for the steering wheel angle when the vehicle is in a second position in a straight-ahead state; and a deviation determination unit configured to determine that the vehicle has deviated in response to the first compensation value and the second compensation value being within a first range.
[0007] According to a third aspect of the present disclosure, an electronic device is provided. The electronic device includes at least one processor; and a memory coupled to the at least one processor and having instructions stored therein, which, when executed by the at least one processor, causes the device to perform the steps of the method of the first aspect of the present disclosure.
[0008] According to a fourth aspect of the present disclosure, a vehicle is provided. The vehicle includes the electronic device in the third aspect of the present disclosure.
[0009] According to a fifth aspect of the present disclosure, a computer program product is provided, which includes a computer program, wherein the computer program is executed by a processor to implement the steps of the method in the first aspect of the present disclosure.
[0010] According to a sixth aspect of the present disclosure, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer-executable instructions, wherein the computer-executable instructions are executed by a processor to implement the steps of the method in the first aspect of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] The above and other objects, features and advantages of the present disclosure will become more apparent through a more detailed description of exemplary embodiments of the present disclosure with reference to the accompanying drawings, wherein like reference numerals generally represent like components throughout the exemplary embodiments of the present disclosure.
[0012] Figure 1 illustrates an example environment in which the apparatus and / or methods of some embodiments of the present disclosure may be implemented;
[0013] Figure 2 A flowchart of a method for determining vehicle deviation according to some embodiments of the present disclosure is illustrated;
[0014] Figure 3 A flow chart illustrating another method for determining vehicle deviation according to some embodiments of the present disclosure is shown;
[0015] Figure 4 A flowchart illustrating a process for determining that a vehicle is in a straight-ahead state according to some embodiments of the present disclosure is shown;
[0016] Figure 5 A flow chart illustrating another method for determining vehicle deviation according to some embodiments of the present disclosure is shown;
[0017] Figure 6 A block diagram of an apparatus for determining vehicle deviation according to some embodiments of the present disclosure is illustrated; and
[0018] Figure 7 A schematic block diagram of an example controller according to some embodiments of the present disclosure is illustrated.
[0019] In the various drawings, the same or corresponding reference numerals denote the same or corresponding parts. DETAILED DESCRIPTION
[0020] The following describes embodiments of the present disclosure in more detail with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as limited to the embodiments described herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are for illustrative purposes only and are not intended to limit the scope of protection of the present disclosure.
[0021] In the description of the embodiments of the present disclosure, the term "including" and similar terms should be understood as open inclusion, that is, "including but not limited to". The term "based on" should be understood as "based at least in part on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The terms "first", "second", etc. may refer to different or the same objects. Other explicit and implicit definitions may also be included below. It should be understood that the numerical values shown in the present disclosure are only examples and do not limit the scope of the present disclosure.
[0022] Solutions such as Adaptive Cruise Control (ACC) or Lane Keep Support (LKS) provide automatic longitudinal and lateral vehicle control under full driver supervision. ACC combines the vehicle's cruise control system with the Lane Departure Warning System (LDWS) to control the vehicle's longitudinal speed and maintain a suitable distance from the vehicle ahead. LKS, building on LDWS, controls the steering system to keep the vehicle within its lane.
[0023] Improved Lane Keeping Assist includes Traffic Jam Assist (TJA) and Integrated Cruise Assist. TJA provides both lateral and longitudinal steering assistance at lower speeds (typically 0-60 km / h). ICA provides both lateral and longitudinal steering assistance at higher speeds (typically greater than 60 km / h).
[0024] With the advancement of autonomous driving technology, more complex solutions have been developed or launched on the market, such as HWA-HF (Highway Assisted Hands-Free), HWP (Highway Pilot), and robo-taxis. These complex solutions place higher demands on driver assistance systems, as the vehicle cannot rely on driver control for at least a certain period of time.
[0025] One of the challenges that comes with this is the impact of the vehicle's own conditions on the performance of the driving assistance system, such as misalignment of the steering wheel or steering gear. If the vehicle experiences misalignment and the autonomous driving assistance system and the driver are unaware of it, the vehicle will mistrack after the assisted / autonomous driving function is turned on, and may even crash or cause an accident. However, there is no detection for vehicle misalignment in related assisted / autonomous driving technologies. Only when the driver goes to a professional place for regular vehicle maintenance can a small misalignment of the vehicle be determined. Therefore, a method is needed that can detect small misalignments of the vehicle and thus determine vehicle deviation. Vehicle deviation in the present disclosure refers to deviation of the vehicle during driving caused by misalignment of the vehicle's steering wheel or steering gear.
[0026] At least to address the above and other potential problems, an embodiment of the present disclosure provides a method for collecting training data. In this method, a first compensation value for the steering wheel angle of the vehicle is determined at a first position where the vehicle is in a straight-ahead state. Then, a second compensation value for the steering wheel angle is determined at a second position where the vehicle is in a straight-ahead state. Next, in response to the first compensation value and the second compensation value being within a first range, it is determined that the vehicle has deviated. Through this method, it is possible to determine that the vehicle has deviated by determining twice at two different positions that the compensation values of the steering wheel angle of the vehicle are both within a certain range, so that the vehicle deviation can be detected in time. Through this method, the robustness of the vehicle's automatic driving assistance system can also be enhanced, making its operation more reliable. In addition, after the vehicle is found to have deviated, subsequent processing can be performed or the driver can be alerted to prevent a collision or accident, for example.
[0027] It should be understood that, ideally, the steering wheel and steering gear are both calibrated, and the vehicle has no misalignment. In this case, the steering wheel angle should have no offset, and the compensation value should be 0°. In reality, due to systematic errors or mechanical errors, the inherent compensation value of the vehicle's steering wheel angle is typically within, for example, ±2°. When the steering wheel angle compensation value is within ±2°, the vehicle can be considered aligned and no misalignment has occurred. In practice, due to minor faults or normal wear in the vehicle's steering system, the vehicle may become misaligned. In this case, the steering wheel angle compensation value will be greater than ±2°, but not so large that it cannot be perceived by the driver assistance system or the driver. It should be understood that ±2° here is merely an example, and the inherent compensation value of the steering wheel angle can be set to any other value. Hereinafter, the compensation value of the steering wheel angle is also referred to as the offset or offset value of the steering wheel angle.
[0028] The embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings. Figure 1 An example environment is shown in which the apparatus and / or method of embodiments of the present disclosure may be implemented.
[0029] like Figure 1 As shown, example environment 100 includes a vehicle 102. Vehicle 102 is driven by a driver and travels on a road. Vehicle 102 includes a controller 104. Controller 104 is used to determine whether the vehicle has deviated. In some embodiments, controller 104 may be a domain controller in the vehicle. In other embodiments, controller 104 may be a controller separate from the domain controller in the vehicle. In some embodiments, controller 104 may be implemented by any suitable computing device, including but not limited to an on-board controller supporting various protocols, a vehicle control unit (VCU), a body control module (BCM), an electronic control unit (ECU), a microcontroller (MCU), a personal computer, a handheld or laptop device, a mobile device, a multi-processor system, a consumer electronic product, a small computer, or a distributed computing environment including any one of the above systems or devices.
[0030] exist Figure 1 In the embodiment, when the vehicle 102 is in a first position in a straight-ahead state 106, the controller 104 may determine a first compensation value 108 for the steering wheel angle of the vehicle 102. When the vehicle 102 is in a second position in the straight-ahead state 106, the controller 104 may determine a second compensation value 110 for the steering wheel angle of the vehicle 102. Furthermore, the controller 104 determines 112 that the vehicle 102 is swerving when the first compensation value 108 and the second compensation value 110 are within a first range.
[0031] In some embodiments, due to systematic or mechanical errors, the inherent compensation value of the steering wheel angle of vehicle 102 may be ±2° or any other value. In some embodiments, the inherent compensation value of the steering wheel angle may serve as the lower bound of the first range. In some embodiments, the first range may have no upper bound. In other words, when the compensation value of the steering wheel angle is greater than the inherent compensation value, it can be determined that vehicle 102 has veered.
[0032] In some embodiments, the first range may also have an upper limit, because the angle of misalignment of the vehicle may be small and therefore cannot be perceived by the driver assistance system or the driver. In some embodiments, the upper limit may be any value between ±2° and ±10°. For example, the first range may be greater than ±2° and less than or equal to ±5°. For example, the first range may be greater than ±3.5° and less than or equal to ±5°. For example, the first range may be greater than ±4° and less than or equal to ±5°. It should be understood that these values are shown only as examples, and the first range may be any different value.
[0033] In some embodiments, the controller 104 can determine vehicle misalignment by determining first and second compensation values for the vehicle's steering wheel angle, thereby enabling subsequent processing to prevent a collision or accident. For example, the controller 104 can control the vehicle 102's steering wheel or steering gear to automatically align. For example, the controller 104 can signal the vehicle 102's misalignment fault via unicast, multicast, or broadcast communication to alert other vehicles or pedestrians near the vehicle 102.
[0034] In some embodiments, after determining that vehicle 102 has veered, controller 104 may also notify 114 the driver of the vehicle that the vehicle has veered, allowing the driver to inspect the misalignment of vehicle 102 or to have the vehicle serviced by a qualified service provider. In some embodiments, controller 104 may generate a veer signal and transmit the veer signal via a controller area network (CAN) bus to notify the driver of vehicle 102 that vehicle 102 has veered. For example, controller 104 may alert the driver of the vehicle 102 through various means, including but not limited to lighting, sound, or displaying a warning on a screen. The driver of vehicle 102 may then have the vehicle serviced to prevent a collision or accident.
[0035] In some embodiments, controller 104 further determines a third steering wheel compensation value at a third position of vehicle 102 in straight-ahead state 106, and determines that vehicle 102 is swerving if at least two of the first compensation value, the second compensation value, and the third compensation value are within a first range. In the above embodiment, vehicle swerving can be determined by determining three times at three different positions that the steering wheel compensation values are all within a certain range, thereby improving the accuracy of swerving determination and further enhancing the safety and robustness of the vehicle.
[0036] In some embodiments, the third location may correspond to a third driving range. It should be understood that the third driving range may be any value greater than the second driving range. For example, the third driving range may be between 600m and 1000m, or greater than 1000m, or greater than 500m but less than 600m. It should be understood that the values shown here are merely examples, and the third driving range may correspond to any different values.
[0037] In some embodiments, regardless of whether the integrated adaptive cruise control (IACC) function of vehicle 102 is enabled or disabled, controller 104 performs the function of determining whether vehicle 102 is drifting. It should be understood that this allows controller 104 to determine whether vehicle 102 is drifting in real time, enabling more rapid and timely detection of vehicle 102 drifting. This also avoids failure to detect vehicle drifting due to the IACC function being disabled due to system or human error. Furthermore, the time required for controller 104 to react to vehicle 102 drifting can be shortened.
[0038] The following will be combined Figures 2 to 7 The process according to the embodiment of the present disclosure is described in detail. For ease of understanding, the specific data mentioned in the following description are exemplary and are not intended to limit the scope of protection of the present disclosure. It is understood that the embodiments described below may also include additional actions not shown and / or may omit the actions shown, and the scope of the present disclosure is not limited in this respect.
[0039] Figure 2 FIG. 2 is a flow chart of a method 200 for determining vehicle deviation according to an embodiment of the present disclosure. In some embodiments, the method 200 may be performed by Figure 1 It should be understood that the method 200 may also include additional actions not shown and / or may omit actions shown, and the scope of the present disclosure is not limited in this respect.
[0040] At 202, controller 104 determines a first compensation value for the vehicle's steering wheel angle at a first position when vehicle 102 is traveling straight ahead. At 204, controller 104 determines a second compensation value for the steering wheel angle at a second position when vehicle 102 is traveling straight ahead. At 206, if the first compensation value and the second compensation value are within a first range, it is determined that the vehicle is swerving. Method 200 can determine that vehicle swerving is occurring by determining twice at two different positions that the compensation values for the vehicle's steering wheel angle are both within a certain range, thereby enabling timely detection of vehicle swerving.
[0041] In some embodiments, method 200 may further include, before step 206 described above, at step 205, controller 104 determining whether the first and second compensation values of the vehicle are within a first range. In some embodiments, controller 104 may determine the first and second compensation values of the steering wheel angle based on yaw rate, lane curvature radius, lateral velocity, and speed. In some embodiments, controller 104 may obtain the first and second compensation values of the steering wheel angle from an electric power steering system (EPS) or a steering angle sensor (SAS) of vehicle 102. In some embodiments, the compensation value of the steering wheel angle may be an average of multiple compensation values within a short time interval. For example, the average value may be an exponential average or an arithmetic average of the compensation values of the steering wheel angle.
[0042] In some embodiments, method 200 may further include, before step 202, determining at the first location whether the vehicle is in an execution state. For example, controller 104 may obtain yaw rate, lane curvature radius, lateral speed, and velocity, and determine that the vehicle is in a straight-ahead state if the yaw rate is less than or equal to a first threshold, the lane curvature radius is greater than or equal to a second threshold, the lateral speed is less than or equal to a third threshold, and the velocity is within a second range.
[0043] In some embodiments, method 200 may further include, after determining 202 a first compensation value for the steering wheel angle of the vehicle, storing the first compensation value by controller 104. After determining 204 a second compensation value for the steering wheel angle of the vehicle, controller 104 may determine a first difference between the second compensation value and the first compensation value. Next, if the first difference is less than a fourth threshold, controller 104 uses the first compensation value as a first updated compensation value; and if the first difference is greater than or equal to the fourth threshold, controller 104 stores the second compensation value as the first updated compensation value, replacing the first compensation value.
[0044] In the above embodiment, method 200 further includes controller 104 determining a third compensation value for the directional angle at a third position when vehicle 102 is traveling straight. Controller 104 then determines a second difference between the third compensation value and the first updated compensation value. If the second difference is less than a fourth threshold, controller 104 uses the first updated compensation value as the second updated compensation value. If the second difference is greater than or equal to the fourth threshold, controller 104 stores the third compensation value as the second updated compensation value, replacing the first updated compensation value. In the above embodiment, controller 104 determines that vehicle 102 is swerving when the second updated compensation value is within the first range.
[0045] It should be understood that in the above-described embodiment, method 200 can iteratively update the compensation value, and determine vehicle deviation by determining that the compensation value after a certain number of iterations is within a certain range. This allows for timely detection of deviation, thereby improving the robustness and safety of the vehicle. Furthermore, method 200 can iteratively update the compensation value, eliminating the need to store each compensation value. This avoids the storage space shortage caused by storing cached data, saves storage space, and thereby improves the performance of vehicle 102.
[0046] In some embodiments, the fourth threshold value can be any value between ±0.5° and ±1°. For example, the fourth threshold value can be equal to ±0.5°. It should be understood that the values shown here are only examples, and the fourth threshold value can be any different value. In some embodiments, the controller 104 can store the first compensation value, the first updated compensation value, the second compensation value, etc. in a non-volatile memory (NVM).
[0047] In some embodiments, the controller 104 may perform a self-learning operation to learn a compensation value for the steering wheel angle as a learned value, and may store the learned value in the NVM as a stored value. In some embodiments, starting from the second learning, if the difference between the learned value and the stored value is within 0.5°, the new learned value will not be stored; and if the difference between the learned value and the stored value is greater than 0.5°, the stored value in the NVM will be replaced.
[0048] In some embodiments, method 200 may be self-learning and can be executed regardless of whether the integrated adaptive cruise control (IACC) function is enabled or disabled. In this way, controller 104 can determine vehicle deviation in real time, enabling immediate detection of vehicle deviation and avoiding the possibility of failure to detect vehicle deviation due to the IACC function being disabled due to system or human error.
[0049] In some embodiments, the first position may correspond to a first driving distance, and the second position may correspond to a second driving distance. In some embodiments, the first driving distance and the second driving distance are equidistant from each other. For example, the first driving distance may be 100 meters, and the second driving distance may be 200 meters. In other embodiments, the first driving distance and the second driving distance are unequal from each other. For example, the first driving distance may be 100 meters, and the second driving distance may be 500 meters. It should be understood that the numerical values shown here are merely examples, and the first and second driving distances may be any different numerical values.
[0050] Figure 3 FIG. 3 is a flow chart illustrating another method 300 for determining vehicle deviation according to an embodiment of the present disclosure. In some embodiments, the method 300 may be performed by Figure 1 It should be understood that the method 300 may also include additional actions not shown and / or may omit actions shown, and the scope of the present disclosure is not limited in this respect.
[0051] At 302, the controller 104 determines a first compensation value for the steering wheel angle of the vehicle when the vehicle 102 is in a first position and traveling straight ahead. At 304, the controller 104 determines a second compensation value for the steering wheel angle when the vehicle 102 is in a second position and traveling straight ahead. At 306, the controller 104 determines a third compensation value for the steering wheel angle when the vehicle 102 is in a third position and traveling straight ahead. At 308, the controller 104 determines that the vehicle is swerving based on the first, second, and third compensation values all being within a first range.
[0052] In some embodiments, the method may further include, before step 308 described above, at step 307, controller 104 determining whether the first, second, and third compensation values are within a first range. In this embodiment, if the first, second, and third compensation values are all within the first range, controller 104 determines at step 308 that vehicle 102 is yawing. In this manner, vehicle yaw can be determined by determining three times at three different locations that the steering wheel compensation values are all within a certain range, further improving the accuracy of yaw determination and thereby further enhancing the safety and robustness of the vehicle.
[0053] It should be understood that the controller 104 may determine the first and second compensation values 108, 110 for the steering wheel angle of the vehicle 102 based on any algorithm or model known in the art. In some embodiments, the controller 104 may obtain real-time steering wheel angle data from a steering wheel angle sensor and calculate the difference between the real-time steering wheel angle data and the zero-bias steering wheel angle to determine the compensation value for the steering wheel angle.
[0054] In some embodiments, the controller 104 may determine the steering wheel angle compensation value based on the driving data of the vehicle 102. For example, the electronic device may receive the driving data of the vehicle 102 via a communication device, or may collect the driving data via multiple sensors, a GPS positioning device, a radar, a camera, etc., arranged on the vehicle 102.
[0055] In some implementations, the controller 104 may determine the steering wheel angle compensation value based on the yaw rate, lane curvature radius, lateral velocity, and speed. For example, the controller 104 may obtain the current lane curvature C and lane curvature change rate dC, as well as the vehicle speed Vx. The curvature preview distance gV and feedforward adjustment factor fV corresponding to the current vehicle speed are obtained from the vehicle speed-curvature preview distance one-dimensional curve g(Vx) and the vehicle speed-feedforward adjustment factor one-dimensional curve f(Vx). The preview curvature (C+dC*gV) is calculated based on the current lane curvature C, lane curvature change rate dC, and curvature preview distance gV. The feedforward steering wheel angle StrAngle is calculated based on the current preview curvature, feedforward adjustment factor, steering wheel ratio StrRatio, and wheelbase L. The feedforward steering wheel angle StrAngle is calculated as follows:
[0056] StrAngle = StrRatio*L*(C+dC*gV)*fV Equation 1
[0057] The controller 104 may then calculate the difference between the feedforward steering wheel angle and the steering wheel zero-bias angle to determine the compensation value of the steering wheel angle.
[0058] In some embodiments, controller 104 may obtain a steering wheel angle compensation value from the EPS or SAS of vehicle 102. In some embodiments, the steering wheel angle compensation value may be an average of multiple compensation values within a short time interval. For example, the average value may be an exponential average or an arithmetic average of the steering wheel angle compensation values. It should be understood that the various embodiments for determining the steering wheel angle compensation value described above are merely illustrative of the present disclosure and are not intended to limit the present disclosure.
[0059] In some embodiments, the controller 104 may obtain the vehicle's yaw rate, the vehicle's lane curvature radius, the vehicle's lateral speed, and the vehicle's speed, and determine that the vehicle is in a straight-ahead state when the yaw rate is less than or equal to a first threshold, the lane curvature radius is greater than or equal to a second threshold, the lateral speed is less than or equal to a third threshold, and the speed is within a second range. In some embodiments, the first threshold may be 0.003 d / s, the second threshold may be 8500 m, the third threshold may be 0.05 m / s, and the third range may be 60-100 kph. In some embodiments, the second threshold may be 15000 m. It should be understood that these values are shown only as examples, and the first threshold, the second threshold, and the third range may be any different values.
[0060] In some embodiments, controller 104 may obtain the yaw rate from a yaw angle sensor of vehicle 102 via the electronic stability control system (ESC) of vehicle 102. In some examples, the yaw angle sensor may be mounted on the chassis of vehicle 102 or integrated with an airbag sensor of vehicle 102. In some embodiments, controller 104 may obtain the lane curvature radius via a camera of vehicle 102, which may be mounted on the vehicle body. In some embodiments, controller 104 may obtain the lateral velocity via a lateral camera of vehicle 102, which may be mounted on the vehicle body.
[0061] In some embodiments, the controller 104 can obtain the speed of the vehicle 102 using a camera and wheel speed sensors. For example, the camera can be mounted on the vehicle body, and the wheel speed sensors can be mounted on the wheel hubs. For example, the wheel speed sensors can be mounted on the front wheel brake discs of the vehicle 102 (if the vehicle 102 is front-wheel drive), or on the final drive or transmission (if the vehicle 102 is rear-wheel drive). For example, the wheel speed sensors can include magnetoelectric wheel speed sensors or Hall-effect wheel speed sensors.
[0062] Figure 4 FIGURE 4 is a flow chart illustrating a process 400 for determining that a vehicle is in a straight-ahead state according to an embodiment of the present disclosure. In some embodiments, the process 400 may be performed by Figure 1 It should be understood that process 400 may include additional actions not shown and / or may omit actions shown, and the scope of the present disclosure is not limited in this respect.
[0063] At 402, the vehicle's yaw rate is obtained. At 404, a determination is made as to whether the vehicle's yaw rate is less than or equal to a first threshold. At 406, if the yaw rate is greater than the first threshold, the process returns to 402 and continues to obtain the vehicle's yaw rate. At 408, if the vehicle's yaw rate is less than or equal to the first threshold, the vehicle's lane curvature radius is obtained. In some embodiments, the first threshold may be 0.003 d / s. It should be understood that these values are shown for example purposes only, and the first threshold may be any number.
[0064] At 410, a determination is made as to whether the lane curvature radius is greater than or equal to a second threshold. At 412, if the lane curvature radius is less than the second threshold, the process returns to 408 to continue obtaining the vehicle's lane curvature radius. At 414, if the lane curvature radius is greater than or equal to the second threshold, the vehicle's lateral speed is obtained. In some embodiments, the second threshold may be 8,500 m. In some embodiments, the second threshold may be 15,000 m. It should be understood that the numerical values shown here are merely examples, and the second threshold may be any number.
[0065] At 416, a determination is made as to whether the vehicle's lateral velocity is less than or equal to a third threshold. At 418, if the lateral velocity is greater than the third threshold, the process returns to 414 to continue acquiring the vehicle's lateral velocity. At 420, if the vehicle's lateral velocity is less than or equal to the third threshold, the vehicle's velocity is acquired. In some embodiments, the third threshold may be 0.05 m / s. It should be understood that these values are provided for example purposes only, and the third threshold may be any other value.
[0066] At 422, a determination is made as to whether the vehicle's speed is within the second range. At 424, in response to the vehicle's speed not being within the second range, the process returns to 420 to continue acquiring the vehicle's speed. At 426, in response to the vehicle's speed being within the second range, it is determined that the vehicle is traveling straight ahead. In some embodiments, the third range is 60-100 kph. These values are shown for example purposes only, and the third range may be any number of different values.
[0067] Figure 5 A flow chart of another method 500 for determining vehicle deviation according to an embodiment of the present disclosure is shown. In some embodiments, the method 500 may be performed by Figure 1 It should be understood that the method 500 may also include additional actions not shown and / or may omit actions shown, and the scope of the present disclosure is not limited in this respect.
[0068] At 502, at a first location, a determination is made as to whether the vehicle is traveling straight ahead. At 504, if the vehicle is not traveling straight ahead at the first location, the vehicle stops. At 506, if the vehicle is traveling straight ahead at the first location, a first compensation value for the vehicle is determined. At 508, the first compensation value is stored. In some embodiments, the first compensation value for the steering wheel angle may be determined based on yaw rate, lane curvature radius, lateral velocity, and speed. In some embodiments, the first compensation value for the steering wheel angle of the vehicle may be obtained from the EPS or SAS.
[0069] At 510, at the second location, it is determined whether the vehicle is traveling straight. At 512, if the vehicle is not traveling straight at the second location, the vehicle stops. At 514, if the vehicle is traveling straight at the second location, a second compensation value for the vehicle is determined. At 516, a first difference between the second compensation value and the first compensation value is calculated. At 518, the first difference is compared with a fourth threshold. At 520, if the first difference is less than the fourth threshold, the first compensation value is used as a first updated compensation value. At 522, if the first difference is greater than or equal to the fourth threshold, the first compensation value is stored as a first updated compensation value.
[0070] At 524, at the third location, a determination is made as to whether the vehicle is traveling straight ahead. At 526, if the vehicle is not traveling straight ahead at the third location, the vehicle stops. At 528, if the vehicle is traveling straight ahead at the third location, a third compensation value for the vehicle is determined. At 530, a second difference between the third compensation value and the first updated compensation value is calculated. At 532, the second difference is compared with a fourth threshold. At 534, if the second difference is less than the fourth threshold, the second compensation value is used as the second updated compensation value. At 536, if the second difference is greater than or equal to the fourth threshold, the second compensation value is stored as the second updated compensation value.
[0071] Then, at 538, it is determined whether the second updated compensation value is within the first range. At 540, if the second updated compensation value is not within the first range, the process returns to 502 at the next position to determine whether the vehicle is in a straight-ahead state. At 542, if the second updated compensation value is within the first range, it is determined that the vehicle is running off the track. In some embodiments, the first range may have an upper limit, such as ±5° or any other value. In some embodiments, the first range may not have an upper limit, such as any value greater than or equal to ±4°. In some embodiments, the first range may be any value between ±4° and ±5°. It should be understood that the numerical values here are only examples, and the first range may be any numerical value different from the above-mentioned numerical values. In some embodiments, the method 500 is based on self-learning, and the method 500 based on self-learning can be executed regardless of whether the integrated adaptive cruise control IACC function is turned off or on.
[0072] The method 500 of the present disclosure can achieve at least one of the advantages achieved by the methods or processes described above. For example, the method 500 can iteratively update the compensation value and determine vehicle deviation by determining that the compensation value after a predetermined number of iterations is within a certain range. This allows for timely detection of deviation, improving the robustness and safety of the vehicle's automated driving assistance system. Furthermore, the method 500 can iteratively update the compensation value without having to store each compensation value, thus avoiding the storage space issues associated with storing cached data, saving storage space, and thereby improving vehicle performance.
[0073] In some embodiments, vehicle deviation can be determined by: detecting whether the vehicle is in a straight-ahead state, for example, by sensing vehicle body and surrounding parameters using a camera or sensor to determine whether the vehicle is in a straight-ahead state, such as the vehicle's yaw rate, lane curvature radius, lateral velocity, and vehicle speed; obtaining an average value of the steering wheel angle offset (compensation value), such as an exponential average or arithmetic average of the steering wheel angle offset; and updating (self-learning) the average steering wheel angle offset. It should be understood that the steering wheel angle offset here is functionally equivalent to the steering wheel angle compensation value described above, which refers to the slight difference between the steering wheel position and the standard position when the steering wheel is not turned.
[0074] In some embodiments, the average value of the (self-learned) steering wheel angle offset can be updated as follows: read the product data management offset (pdm offset); set the offset gain limit (selfLearningGainLimit): after each self-learning is completed, if the difference between the offset values of the two self-learnings (except the offset of the first self-learning) is less than the selfLearningGainLimit of 0.5 degrees, then the offset used last time (old offset_used) is used as the used (offset_used), otherwise offset_used = old offset_used + / - 0.5; perform debounce check and calculate the offset of the steering wheel angle (SteeringWheelAngleOffset) to obtain the output offset (out_offset); filtering processing: except for the first SteeringWheelAngleOffset, the self-learned out_offset at subsequent moments needs to be subjected to a first-order low-pass filter; if the difference between out_offset and the pdm offset is less than 0.5, continue to use the pdm offset.
[0075] In some embodiments, the pdm offset is saved when the vehicle is powered off, and the vehicle reads the saved pdm offset from the PDM (Product Data Management) after it is powered back on. In some embodiments, calculating SteeringWheelAngleOffset includes: if the debounce condition is met, then
[0076] SteeringWheelAngleOffset = offset used × factor_offset * factorBasedOnAg (Equation 2), where factor is the calibration factor and factorBasedOnAg is the factor obtained based on a table lookup; maximum and minimum value limits; if the debounce condition is not met or self-learning is not completed, that is, SteeringWheelAngleOffset = 0, then the output offset is the pdm offset, that is, out_offset = pdmoffset; otherwise, the output is equal to the offset of the steering wheel angle, that is, out_offset = SteeringWheelAngleOffset.
[0077] In the above embodiment, the steering wheel angle accuracy can be ensured, improving driving comfort and safety. By continuously self-learning and adjusting the offset value, the system can adapt to different driving conditions and vehicle changes, providing more stable and reliable steering wheel control.
[0078] It should be understood that this method of determining deviation is based on the assumption that if the vehicle has been driving for a long enough time, the sum of the actual values (realValue) of the steering wheel angle should be 0. However, in reality, due to various reasons (for example, errors in the steering wheel and steering gear, sensor errors, etc.), this sum may not be 0. If the sum is not 0, the difference can be considered as an offset value (offsetValue). In other words, if the time is long enough, the sum of the discrete values of the EPS angle should be 0. However, in reality, the steering wheel angle data sent by the EPS contains an offset value, so the actual steering wheel angle is the actual value plus the offset value, for example:
[0079] out_offset→SteeringWheelAngleOffset=realValue+offsetValub
[0080] Equation 3, it should be understood that this formula is shown only as an example, and the real steering wheel angle is calculated according to other formulas. If the driving time is long enough, ΣrealValue=0, so when the driving is far enough,
[0081] out_offset→SteeringWheelAngleOffset=ΣoffsetValue Equation 4.
[0082] In some embodiments, the offset value (offsetValue) can be continuously updated (learned) by taking a weighted average between the old offset value and the new input value to make it more accurate, for example, using the following formula:
[0083] offsetValue=oldoffset+(newinput-oldoffset)*alpha Equation 5, where alpha is a coefficient for adjusting the weight. It should be understood that this formula is shown only as an example, and the actual steering wheel angle is calculated according to other formulas. The offset value calculated in this way is called the self-learning value, that is, the output offset out_offset. The system performs a first-order low-pass filtering on this self-learning value to smooth the data and reduce noise and mutations. The processed value is the stored pdmoffset value. In the above embodiment, self-learning and filtering can be continuously performed to obtain and correct the offset value of the steering wheel angle, thereby improving the accuracy of the offset value.
[0084] In some embodiments, the average steering wheel angle offset may be an exponential average or an arithmetic average of the steering wheel angle offset values. In some embodiments, the exponential average and arithmetic average of the steering wheel angle offset may be obtained using an EPS or SAS. It should be understood that the SAS is an external sensor of the EPS.
[0085] If the vehicle's electric power steering (EPS) system is controlled based on the steering wheel angle sensor (SAS), the exponential mean can be directly obtained. If the vehicle's EPS system is controlled based on the motor angle, the arithmetic mean can be obtained, where the arithmetic mean window size is G_STEER_WHEEL_ANGLE_MAXSIZE_ui16. It should be understood that this arithmetic mean window size is shown as an example only, and other window sizes can be used.
[0086] Figure 6 FIG2 is a block diagram of an apparatus for determining vehicle deviation according to some embodiments of the present disclosure. Figure 6 The apparatus 600 includes a first compensation value determining unit 602 configured to determine a first compensation value for the vehicle's steering wheel angle at a first position when the vehicle is traveling straight ahead. The apparatus 600 also includes a second compensation value determining unit 604 configured to determine a second compensation value for the steering wheel angle at a second position when the vehicle is traveling straight ahead. The apparatus 600 also includes a vehicle deviation determining unit 606 configured to determine that the vehicle is deviationing in response to the first compensation value and the second compensation value being within a first range.
[0087] It will be appreciated that the apparatus 600 of the present disclosure can achieve at least one of the advantages achieved by the methods or processes described above. For example, the apparatus 600 can determine that the vehicle is drifting by determining twice at two different locations that the steering wheel angle compensation values are within a certain range, thereby promptly detecting the vehicle's deviation and improving the robustness and safety of the vehicle's automated driving assistance system.
[0088] In some embodiments, the first compensation value determination unit 602 is further configured to determine, at the first position, that the vehicle is traveling straight. In some embodiments, the first compensation value determination unit 602 may determine that the vehicle is traveling straight by: obtaining the vehicle's yaw rate and determining that the yaw rate is less than or equal to a first threshold; obtaining the vehicle's lane curvature radius and determining that the lane curvature radius is greater than or equal to a second threshold; obtaining the vehicle's lateral velocity and determining that the lateral velocity is less than or equal to a third threshold; obtaining the vehicle's speed and determining that the speed is within a second range; and determining that the vehicle is traveling straight if the yaw rate is less than or equal to the first threshold, the lane curvature radius is greater than or equal to the second threshold, the lateral velocity is less than or equal to the third threshold, and the speed is within the second range. In some embodiments, the first compensation value determination unit 602 may obtain the first compensation value for the vehicle's steering wheel angle from the EPS or SAS. In some embodiments, the first compensation value determination unit 602 may determine the first compensation value for the steering wheel angle based on the yaw rate, lane curvature radius, lateral velocity, and speed.
[0089] In some embodiments, the second compensation value determination unit 604 is further configured to determine that the vehicle is in a straight-ahead state at the second location. In some embodiments, the second compensation value determination unit 604 may perform operations similar to those of the first compensation value determination unit 602 to determine that the vehicle is in a straight-ahead state at the second location. In some embodiments, the second compensation value determination unit 604 operates differently from the first compensation value determination unit 602. In some embodiments, the second compensation value determination unit 604 may determine a third compensation value for the steering wheel angle at a third location different from the second location. In some embodiments, the second compensation value determination unit 604 may determine the third compensation value for the steering wheel angle after the vehicle has traveled for a specific amount of time, or after the vehicle has traveled a specific distance.
[0090] In some embodiments, the vehicle deviation determination unit 606 may be further configured to: determine a third compensation value for the directional angle at a third position when the vehicle is traveling straight; and determine that the vehicle is deviationing in response to the first compensation value, the second compensation value, and the third compensation value all being within the first range. In some embodiments, the vehicle deviation determination unit 606 may be further configured to: determine a first difference between the second compensation value and the first compensation value; in response to the first difference being less than a fourth threshold, use the first compensation value as a first updated compensation value; in response to the first difference being greater than or equal to the fourth threshold, store the second compensation value as a first updated compensation value; determine a third compensation value for the directional angle at the third position when the vehicle is traveling straight; determine a second difference between the third compensation value and the first updated compensation value; in response to the second difference being less than the fourth threshold, use the first updated compensation value as a second updated compensation value; in response to the second difference being greater than or equal to the fourth threshold, store the third compensation value as a second updated compensation value; and determine that the vehicle is deviationing in response to both the first updated compensation value and the second updated compensation value being within the first range.
[0091] In some embodiments, the apparatus 600 may further include a third compensation value determination unit (not shown), which may be configured to determine a third compensation value for the directional angle at a third position when the vehicle is traveling straight ahead. In some embodiments, the apparatus 600 may further include a storage unit (not shown), which may be configured to store one or more of the first compensation value, the second compensation value, and the third compensation value. In some embodiments, the storage unit may be configured to: store the first compensation value; if a first difference between the second compensation value and the first compensation value is greater than or equal to a fourth threshold, store the second compensation value as a first updated compensation value; and if a second difference between the third compensation value and the second compensation value is greater than or equal to the fourth threshold, store the third compensation value as a second updated compensation value. In the above embodiment, the vehicle deviation determination unit 606 may be configured to determine that the vehicle is deviation when the second updated compensation value is within the first range.
[0092] In the above embodiment, the device 600 can iteratively update the compensation value and determine vehicle deviation by determining that the compensation value after a predetermined number of iterations is within a certain range, thereby enabling timely detection of deviation. Furthermore, the device 600 can iteratively update the compensation value without having to store each compensation value. This avoids the problem of insufficient storage space caused by storing cached data, saves storage space, and thereby improves the performance of the device 600.
[0093] Figure 7 FIG. 7 is a schematic block diagram of a controller 700 that can be used to implement an embodiment of the present disclosure. In some embodiments, the controller 700 is used to implement Figure 1 The controller 120 is shown in the example environment 100. Figure 7As shown, the controller 700 includes a processor 702, which can perform various appropriate actions and processes according to computer program instructions stored in a read-only memory (ROM) 704 and loaded into a random access memory (RAM) 706. Various programs and data required for the operation of the controller 700 can also be stored in the RAM 706. The processor 702, ROM 704, and RAM 706 are connected to each other via a bus 708. An input / output (I / O) interface 710 is also connected to the bus 708.
[0094] The various processes and procedures described above, such as methods 200, 300, 500, and process 400, may be executed by processor 702. For example, in some embodiments, methods 200, 300, 500, and process 400 may be implemented as a computer software program that is tangibly embodied on a machine-readable medium. In some embodiments, part or all of the computer program may be loaded and / or installed on controller 700 via ROM 704. When the computer program is loaded into RAM 706 and executed by processor 702, one or more actions of method 200 described above may be performed.
[0095] In some embodiments, the present disclosure further provides an electronic device comprising at least one processor; and a memory coupled to the at least one processor and having instructions stored therein, which, when executed by the at least one processor, causes the device to perform any of the steps in methods 200, 300, 500, and process 400 described in the present disclosure.
[0096] In some embodiments, the present disclosure also provides a vehicle, which includes any one of the electronic devices described in the present disclosure.
[0097] In some embodiments, the present disclosure further provides a computer-readable storage medium having computer-executable instructions stored thereon, wherein the computer-executable instructions are executed by a processor to implement the steps of any one of the methods 200 , 300 , 500 and process 400 described in the present disclosure.
[0098] The present disclosure may be a method, an apparatus, a system and / or a computer program product. The computer program product may include a computer-readable storage medium carrying computer-readable program instructions for executing various aspects of the present disclosure.
[0099] A computer-readable storage medium may be a tangible device that can hold and store instructions used by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. More specific examples (a non-exhaustive list) of computer-readable storage media include random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), and any suitable combination thereof. The computer-readable storage medium used herein is not to be interpreted as a transient signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagated through a waveguide or other transmission medium (e.g., a light pulse through a fiber optic cable), or an electrical signal transmitted through a wire.
[0100] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions to be stored in the computer-readable storage medium in each computing / processing device.
[0101] The computer program instructions for performing the operations of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, and conventional procedural programming languages such as "C" language or similar programming languages. Computer-readable program instructions may be executed entirely on a user's computer, partially on a user's computer, as an independent software package, partially on a user's computer, partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., utilizing an Internet service provider to connect via the Internet). In some embodiments, an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may be personalized by utilizing the state information of the computer-readable program instructions. The electronic circuit may execute the computer-readable program instructions, thereby realizing various aspects of the present disclosure.
[0102] Various aspects of the present disclosure are described herein with reference to flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present disclosure. It should be understood that each block of the flowcharts and / or block diagrams, and combinations of blocks in the flowcharts and / or block diagrams, can be implemented by computer-readable program instructions.
[0103] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine such that when these instructions are executed by the processing unit of the computer or other programmable data processing device, a device is generated that implements the functions / actions specified in one or more blocks in the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, where these instructions cause the computer, programmable data processing device, and / or other device to operate in a specific manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing various aspects of the functions / actions specified in one or more blocks in the flowchart and / or block diagram.
[0104] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operational steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to implement the functions / actions specified in one or more blocks in the flowchart and / or block diagram.
[0105] The flow charts and block diagrams in the accompanying drawings show the possible architecture, functions and operations of the systems, methods and computer program products according to multiple embodiments of the present disclosure. In this regard, each box in the flow chart or block diagram can represent a part of a module, program segment or instruction, and the part of the module, program segment or instruction contains one or more executable instructions for realizing the prescribed logical function. In some alternative implementations, the functions marked in the box can also occur in a sequence different from that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be implemented by a dedicated hardware-based system that performs the prescribed function or action, or can be implemented by a combination of dedicated hardware and computer instructions.
[0106] While various embodiments of the present disclosure have been described above, the foregoing description is intended to be illustrative, non-exhaustive, and not limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is selected to best explain the principles of the embodiments, their practical applications, or technical improvements to existing technologies, or to enable others skilled in the art to understand the embodiments disclosed herein.
Claims
1. A method (200) for determining vehicle deviation, comprising: determining (202) a first compensation value for a steering wheel angle of the vehicle at a first position of the vehicle in a straight-ahead state; determining (204) a second compensation value of the steering wheel angle at a second position of the vehicle in the straight-ahead state; as well as In response to the first compensation value and the second compensation value being within a first range, it is determined ( 206 ) that the vehicle is swerving.
2. The method (200) of claim 1, wherein determining (206) that the vehicle is swerving comprises: determining a third compensation value of the direction angle at a third position of the vehicle in the straight-ahead state; as well as In response to the first compensation value, the second compensation value, and the third compensation value all being within the first range, it is determined that the vehicle has veered off track.
3. The method (200) according to claim 1, wherein the vehicle being in the straight-ahead state is determined by: Obtaining the yaw angular velocity of the vehicle; Obtaining a lane curvature radius of the vehicle; obtaining a lateral velocity of the vehicle; obtaining the speed of the vehicle; and In response to the yaw rate being less than or equal to a first threshold, the lane curvature radius being greater than or equal to a second threshold, the lateral speed being less than or equal to a third threshold, and the speed being within a second range, it is determined that the vehicle is in the straight-ahead state.
4. The method (200) of claim 3, wherein determining (202) the first compensation value for the steering wheel angle of the vehicle comprises: The first compensation value of the steering wheel angle is determined based on the yaw rate, the lane curvature radius, the lateral velocity, and the speed.
5. The method (200) of claim 1, further comprising: After determining the first compensation value for the steering wheel angle of the vehicle, storing the first compensation value; After determining the second compensation value for the directional rotation angle of the vehicle, determining a first difference between the second compensation value and the first compensation value; In response to the first difference being less than a fourth threshold, using the first compensation value as a first updated compensation value; as well as In response to the first difference being greater than or equal to the fourth threshold, the second compensation value is stored as the first updated compensation value instead of the first compensation value.
6. The method (200) of claim 5, wherein determining (206) that the vehicle is swerving comprises: determining a third compensation value of the direction angle at a third position of the vehicle in the straight-ahead state; determining a second difference between the third compensation value and the first updated compensation value; In response to the second difference being smaller than the fourth threshold, using the first updated compensation value as a second updated compensation value; In response to the second difference being greater than or equal to the fourth threshold, storing the third compensation value as a second updated compensation value instead of the first updated compensation value; as well as In response to the second updated compensation value being within the first range, it is determined that the vehicle has veered off track.
7. The method (200) according to claim 1, wherein the first position corresponds to a first driving mileage, and the second position corresponds to a second driving mileage, The method further includes notifying the driver of the vehicle that the vehicle has deviated after determining that the vehicle has deviated.
8. The method (200) according to claim 1, wherein the method is based on self-learning; and The method based on self-learning is executed regardless of whether the integrated adaptive cruise control IACC function is turned off or on.
9. A device (600) for determining vehicle deviation, comprising: A first compensation value determining unit (602) is configured to determine a first compensation value of a steering wheel angle of the vehicle at a first position where the vehicle is in a straight-ahead state; a second compensation value determining unit (604) configured to determine a second compensation value of the steering wheel angle at a second position of the vehicle in the straight-ahead state, and A vehicle deviation determination unit (606) is configured to determine that the vehicle has deviated in response to the first compensation value and the second compensation value being within a first range.
10. A controller comprising: at least one processor; as well as A memory is coupled to the at least one processor and has instructions stored thereon, the instructions causing the controller to perform the method according to any one of claims 1-8 when executed by the at least one processor.
11. A vehicle comprising the controller according to claim 10.
12. A computer program product comprising a computer program, wherein the computer program is executed by a processor to implement the method according to any one of claims 1 to 8.