STRAIGHT-AHEAD DETECTION FOR MOTION ESTIMATION AND CAPTURE ALIGNMENT
The method and system for determining a straight-ahead driving condition using GPS and vehicle dynamics allow for accurate sensor calibration while in motion, addressing alignment challenges and improving environmental detection in vehicles.
Patent Information
- Application Number
- DE102024112756
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-09
- Filing Date
- 2024-05-07
- Publication Date
- 2025-10-09
AI Technical Summary
Existing vehicle sensor calibration methods struggle to accurately align sensors while the vehicle is in motion, particularly when deviating from a straight line, leading to potential distortion and inaccurate environmental detection.
A method and system for determining a straight-ahead driving condition by using various condition variables, including GPS data, vehicle dynamics, and sensor inputs to calibrate sensors when the vehicle is moving on a straight line, ensuring accurate alignment and compensation for distortions.
Enables precise sensor calibration during motion, enhancing the accuracy and reliability of environmental detection by vehicles, particularly in autonomous driving scenarios.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
INTRODUCTION
[0001] The present disclosure relates to an operation for aligning a sensor of a vehicle, and more particularly to a system and method for determining a straight-ahead driving condition suitable for sensor alignment.
[0002] To facilitate driving and maneuvering, a vehicle may use one or more sensors to detect its surroundings. For proper vehicle operation, a sensor must be aligned with the vehicle and calibrated to account for any associated sensor distortions. Sensor distortion can be corrected while the vehicle is in motion, as long as the vehicle is traveling in a straight line. Accordingly, it is desirable to provide a method for determining when the vehicle is traveling in a straight line for sensor alignment. SUMMARY
[0003] According to an exemplary embodiment, a method for calibrating a sensor of a vehicle moving on a road section is disclosed. A control condition variable indicating a trajectory of the vehicle with respect to a straight line is determined. A bank angle condition variable indicating movement of the vehicle with respect to the straight line based on a bank angle of the road section is determined. A torque condition variable indicating movement of the vehicle with respect to the straight line based on a torque applied to a steering wheel of the vehicle is determined. A straightness condition for the vehicle is determined if at least one of the control condition variable, the bank angle condition variable, and the torque condition variable indicates that the vehicle is moving in the straight line.The sensor is calibrated when the vehicle is in the straight line condition.
[0004] In addition to one or more of the features described herein, the bank angle condition variable is determined based on map server data, vehicle dynamics, and / or global positioning satellite (GPS) data.
[0005] In addition to one or more of the features described herein, the method further comprises determining a floating straight-ahead condition variable based on a heading condition variable based on global positioning satellite (GPS) heading data, a derived heading condition variable based on a latitude and longitude of the vehicle obtained from GPS, a wheel speed condition variable based on differences in wheel speeds, and a road curvature condition variable.
[0006] In addition to one or more of the features described herein, the wheel speed condition variable is based on a difference between a right front wheel speed and a left front wheel speed, a right rear wheel speed and a left rear wheel speed, the right front wheel speed and the left rear wheel speed, and / or the left front wheel speed and the right rear wheel speed.
[0007] In addition to one or more of the features described herein, the road curvature condition variable is based on a left-side image obtained from a left-side camera of the vehicle, a right-side image obtained from a right-side camera of the vehicle, and / or a meaning of a traffic sign in the left-side and / or right-side image.
[0008] In addition to one or more of the features described herein, the method further comprises obtaining a plurality of pending straight-ahead condition variables over a time window and determining a mature straight-ahead condition variable from the plurality of pending straight-ahead condition variables.
[0009] In addition to one or more of the features described herein, the method further comprises learning a distortion correction for the sensor using the mature straight-ahead driving condition.
[0010] In addition to one or more of the features described here, the control condition variable is based on a commanded trajectory of the vehicle and an error between the commanded trajectory and the straight line.
[0011] According to another exemplary embodiment, a system for calibrating a sensor of a vehicle is disclosed.The system includes a processor configured to determine a control condition variable indicative of a trajectory of the vehicle with respect to a straight line, determine a bank angle condition variable indicative of movement of the vehicle with respect to the straight line based on a bank angle of a road segment, determine a torque condition variable indicative of movement of the vehicle with respect to the straight line based on torque applied to a steering wheel of the vehicle, determine a straightness condition for the vehicle when at least one of the control condition variables, the bank angle condition variable, and the torque condition variable indicates that the vehicle is moving in the straight line, and calibrate the sensor when the vehicle is in the straightness condition.
[0012] In addition to one or more of the features described herein, the processor is further configured to determine the bank angle condition variable based on map server data, vehicle dynamics, and / or global positioning satellite (GPS) data.
[0013] In addition to one or more of the features described herein, the processor is further configured to determine a floating straight-ahead travel condition variable based on a heading condition variable based on global positioning satellite (GPS) heading data, a derived heading condition variable based on a latitude and longitude of the vehicle obtained from GPS, a wheel speed condition variable based on differences in wheel speeds, and a road curvature condition variable.
[0014] In addition to one or more of the features described herein, the wheel speed condition variable is based on a difference between a right front wheel speed and a left front wheel speed, a right rear wheel speed and a left rear wheel speed, the right front wheel speed and the left rear wheel speed, and / or the left front wheel speed and the right rear wheel speed.
[0015] In addition to one or more of the features described herein, the road curvature condition variable is based on a left-side image obtained from a left camera of the vehicle, a right-side image obtained from a right camera of the vehicle, and / or a meaning of a traffic sign in the left-side and / or right-side image.
[0016] In addition to one or more of the features described herein, the processor is further configured to obtain a plurality of pending straight-ahead condition variables over a time window and to determine a mature straight-ahead condition variable from the plurality of pending straight-ahead condition variables.
[0017] In addition to one or more of the features described here, the control condition variable is based on a given trajectory of the vehicle and an error between the given trajectory and the straight line.
[0018] According to another exemplary embodiment, a vehicle is disclosed. The vehicle includes a sensor and a processor.The processor is configured to determine a control condition variable indicative of a trajectory of the vehicle with respect to a straight line, determine a bank angle condition variable indicative of movement of the vehicle with respect to the straight line based on a bank angle of a road section, determine a torque condition variable indicative of movement of the vehicle with respect to the straight line based on a torque applied to a steering wheel of the vehicle, determine a straightness condition for the vehicle when at least one of the control condition variables, the bank angle condition variable, and the torque condition variable indicates that the vehicle is moving in the straight line, and calibrate the sensor when the vehicle is in the straightness state.
[0019] In addition to one or more of the features described herein, the processor is further configured to determine the bank angle condition variable based on map server data, vehicle dynamics, and / or global positioning satellite (GPS) data.
[0020] In addition to one or more of the features described herein, the processor is further configured to determine a floating straight-ahead condition variable based on a heading condition variable based on global positioning satellite (GPS) heading data, a derived heading condition variable based on a latitude and longitude of the vehicle obtained from GPS, a wheel speed condition variable based on differences in wheel speeds, and a road curvature condition variable.
[0021] In addition to one or more of the features described herein, the wheel speed condition variable is based on a difference between a right front wheel speed and a left front wheel speed, a right rear wheel speed and a left rear wheel speed, the right front wheel speed and the left rear wheel speed, and / or the left front wheel speed and the right rear wheel speed.
[0022] In addition to one or more of the features described herein, the road curvature condition variable is based on a left-side image obtained from a left-side camera of the vehicle, a right-side image obtained from a right-side camera of the vehicle, and a meaning of a traffic sign in the left-side and / or right-side image.
[0023] The above features and advantages, as well as other features and advantages of the disclosure, will be readily apparent from the following detailed description taken in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] Further features, advantages and details appear only as examples in the following detailed description, which refers to the drawings; they show: Fig. 1 a vehicle with an associated trajectory planning system according to an illustrative embodiment; Fig. 2 is a flowchart of a process for generating a price condition variable and a derived price condition variable; Fig. 3 is a flowchart of a process for determining a straight-ahead driving condition variable for the vehicle based on the speeds of the vehicle's wheels; Fig. 4 is a flowchart of a process for determining straight-ahead driving condition variables based on a curvature of the road and a bank angle of the road; Fig. 5 is a flowchart of a process for determining a command course variable; Fig. 6 is a flowchart for determining a yaw rate condition variable; Fig. 7 is a flowchart for determining a wheel angle condition variable and a driver torque condition variable; Fig. 8 is a diagram for determining a straight-ahead driving condition for the vehicle; and Fig. 9 a flowchart for a maturation process for the floating straight-ahead driving condition variable. DETAILED DESCRIPTION
[0025] The following description is merely exemplary in nature and is not intended to limit the present disclosure, its application, or uses. It should be understood that throughout the drawings, corresponding reference characters designate similar or corresponding parts and features. As used herein, the term module refers to processing circuitry, which may include an application-specific integrated circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group), and memory executing one or more software or firmware programs, combinational logic circuitry, and / or other suitable components that provide the described functionality.
[0026] According to an exemplary embodiment, Fig. 1 shows a vehicle 10 with an associated trajectory planning system, depicted at 100. Generally, the trajectory planning system 100 determines a trajectory plan for automated driving of the vehicle 10. The vehicle 10 generally includes a chassis 12, a body 14, front wheels 16, and rear wheels 18. The body 14 is disposed on the chassis 12 and substantially encloses components of the vehicle 10. The body 14 and the chassis 12 may together form a frame. The front wheels 16 and rear wheels 18 are each rotatably coupled to the chassis 12 near a respective corner of the body 14.
[0027] According to various embodiments, the vehicle 10 is an autonomous vehicle, and the trajectory planning system 100 is integrated into the autonomous vehicle. The autonomous vehicle is, for example, a vehicle that is automatically controlled to transport passengers from one location to another. The vehicle 10 is shown as a passenger car in the illustrated embodiment, but it should be noted that any other vehicles, including motorcycles, trucks, sport utility vehicles (SUVs), recreational vehicles (RVs), marine vessels, aircraft, etc., may be used. According to an exemplary embodiment, the autonomous vehicle is a so-called level four or five automation system.A level four system represents "high automation," which refers to the driving mode-specific execution of all aspects of the dynamic driving task by an automated driving system, even if a human driver does not respond appropriately to a request for intervention. A level five system represents "full automation," which refers to the full-time execution of all aspects of the dynamic driving task by an automated driving system under all road and environmental conditions that can be handled by a human driver.
[0028] As shown, the autonomous vehicle generally includes a propulsion system 20, a transmission system 22, a steering system 24, a braking system 26, a sensor system 28, an actuator system 30, at least one data storage device 32, at least one controller 34, and a communication system 36. The propulsion system 20, in various embodiments, may include an internal combustion engine, an electric machine such as a traction motor, and / or a fuel cell propulsion system. The transmission system 22 is configured to transfer power from the propulsion system 20 to the front wheels 16 and rear wheels 18 according to selectable speed ratios. According to various embodiments, the transmission system 22 may include a stepped automatic transmission, a continuously variable transmission, or other suitable transmission. The braking system 26 is configured to transfer braking torque to the front wheels 16 and rear wheels 18.The braking system 26 may, in various embodiments, include friction brakes, brake-by-wire, a regenerative braking system such as an electric machine, and / or other suitable braking systems. The steering system 24 influences a position of the front wheels 16 and rear wheels 18. Although shown with a steering wheel for illustrative purposes, the steering system 24 may not include a steering wheel in some embodiments provided within the scope of the present disclosure.
[0029] The sensor system 28 includes one or more sensing devices 40a-40n that sense observable conditions of the external environment and / or the internal environment of the autonomous vehicle 10. The sensing devices 40a-40n may include, but are not limited to, radars, lidars, global positioning systems, optical cameras, thermal cameras, ultrasonic sensors, and / or other sensors. The sensor system 28 may also include dynamic sensors for measuring one or more dynamic parameters of the vehicle. Example dynamic sensors include an inertial measurement unit (IMU) that measures accelerations on the vehicle in three dimensions, a steering angle sensor, a torque sensor, a yaw rate sensor, a wheel speed sensor, etc.
[0030] The actuator system 30 includes one or more actuator devices 42a-42n that control one or more vehicle features, such as, but not limited to, the drive system 20, the transmission system 22, the steering system 24, and the braking system 26. According to various embodiments, the vehicle features may also include interior and / or exterior vehicle features, such as, but not limited to, doors, a trunk, and passenger compartment features such as air conditioning, music, lighting, etc. (not shown).
[0031] The controller 34 includes at least one processor 44 and a computer-readable storage device or computer-readable storage media 46. The processor 44 may be any custom-built or off-the-shelf processor, a central processing unit (CPU), a graphics processing unit (GPU), an auxiliary processor among a plurality of processors associated with the controller 34, a semiconductor-based microprocessor (in the form of a microchip or chipset), a macroprocessor, any combination thereof, or generally any device for executing instructions. The computer-readable storage device or medium 46 may include, for example, volatile and non-volatile memory in read-only memory (ROM), random access memory (RAM), and keep-alive memory (KAM). KAM is persistent or non-volatile memory that can be used to store various operating variables while the processor 44 is powered off.The computer-readable storage device or computer-readable storage media 46 may be implemented using any number of known storage devices such as PROMs (programmable read-only memory), EPROMs (electrical PROM), EEPROMs (electrically erasable PROM), flash memory, or other electrical, magnetic, optical, or combination storage devices capable of storing data, some of which represent executable instructions used by the controller 34 to control the autonomous vehicle 10.
[0032] The instructions may comprise one or more separate programs, each comprising an ordered list of executable instructions for implementing logical functions. When executed by the processor 44, the instructions receive and process signals from the sensor system 28, execute logic, calculations, methods, and / or algorithms to automatically control the components of the autonomous vehicle 10, and generate control signals for the actuator system 30 to automatically control the components of the autonomous vehicle 10 based on the logic, calculations, methods, and / or algorithms. Although in Fig. 1 only one controller 34 is shown, embodiments of the autonomous vehicle 10 may include any number of controllers 34 that communicate and cooperate via any suitable communication medium or combination of communication media to process the sensor signals, execute logic, calculations, methods and / or algorithms, and generate control signals to automatically control functions of the autonomous vehicle 10.
[0033] According to various embodiments, one or more instructions from controller 34 are included in trajectory planning system 100 and, when executed by processor 44, generate a trajectory output that takes into account kinematic and dynamic constraints of the environment. For example, the instructions receive process sensor and map data as input. The instructions execute a graph-based approach with an adapted cost function to handle different road scenarios on both city streets and highways.
[0034] The communication system 36 is configured to wirelessly communicate information to and from other entities 48, such as, but not limited to, other vehicles ("V2V" communication), infrastructure ("V2I" communication), remote systems, global positioning satellites (GPS), map servers, and / or personal devices. According to an exemplary embodiment, the communication system 36 is a wireless communication system configured to communicate over a wireless local area network (WLAN) using IEEE 802.11 standards or using cellular data communication. However, additional or alternative communication methods, such as a dedicated short-range communication channel (DSRC), are also contemplated within the scope of the present disclosure.DSRC channels refer to short- to medium-range, one-way or two-way wireless communication channels specifically designed for automotive use, along with a corresponding set of protocols and standards.
[0035] Occasionally, sensors of sensor system 28 need to be calibrated to compensate for sensor distortion. This calibration may be performed while the vehicle is moving in a straight line. The methods described herein therefore determine whether the vehicle is moving in a straight line or deviating from straight-line motion. The method includes obtaining data from various sources, including global positioning satellite (GPS) data, vehicle sensors, control commands, etc., and performing calculations based on this data. Calculations may be performed to generate one or more variables, each of which provides an indication of whether the vehicle is moving in a straight line. Logical operations may be performed on each of the variables to determine a straightness condition (i.e., that the vehicle is moving in a straight line).
[0036] The various data can come from different domains. One data domain includes data from a trajectory planner or other commanded data. Another data domain includes data related to the vehicle's environment, such as road conditions. Another data domain includes vehicle dynamics, such as data indicating vehicle direction and wheel speeds.
[0037] Fig. 2 shows a flowchart 200 of a process for generating a heading condition variable and a derived heading condition variable. The logical process may be executed in the vehicle's processor 44. In box 202, GPS data is received indicative of a location of the vehicle. The data includes a heading ψ of the vehicle (indicating an orientation of the vehicle within an earth-centered coordinate system), a latitude Φ of the vehicle, and / or a longitude Λ of the vehicle. The heading ψ is used in a first channel 204 to determine a value of the heading condition variable. The latitude Φ and longitude Λ are used in a second channel 206 to determine a value of the derived heading condition variable. Data is received over a period of time defined by a time window.
[0038] With reference to the first channel 204, in box 208 the price data ψ i(over n time steps) through a stochastic filter, which produces a filtered price ψi¯ The filtered price is sent to boxes 210, 224 and 230. In box 210, a first derivative of the price data ψ i determined to obtain a rate ψ̇ i to generate. The exchange rate ψ̇ i is sent to box 212, where a second derivative is determined to obtain a heading acceleration ψ̈ i In Box 214, an absolute value |ψ̈ i | the course acceleration ψ̈ i In Box 216, the absolute value |ψ̈ i | is compared with a course acceleration threshold C1. Based on the comparison, a course acceleration stability variable ψ̈ stable generated. If the absolute value is less than the heading acceleration threshold C1, the heading acceleration stability variable ψ̈ stableset to TRUE. Otherwise, the heading acceleration stability variable ψ̈ stable set to FALSE.
[0039] Referring again to Box 210, the first derivative of the exchange rate ψ̇_i is sent to Box 218. In Box 218, an absolute value |ψ̇ i | the first derivative of the exchange rate ψ̇ i In Box 220, the absolute value |ψ̇ i | is compared with a first derivative threshold C2. Based on the comparison, a first derivative stability variable ψ̇ stable generated. If the absolute value |ψ̇ i | is smaller than the first derivative threshold C2, the first derivative stability variable ψ̇ stable set to TRUE. Otherwise, it is set to FALSE.
[0040] Referring again to Box 218: The absolute value |ψ̇ i | is also sent to box 222. In box 222, the absolute value |ψ̇ i| with a low threshold for a low first derivative C3. Based on the comparison, a stability variable for a low first derivative ψ̇ stable generated. If the absolute value |ψ̇ i | is smaller than the threshold for a low first derivative C3, the stability variable for the low first derivative ψ̇ stable set to TRUE. Otherwise, it is set to FALSE.
[0041] Referring again to Box 208, the filtered rate |ψ̇ i | sent to box 224. In box 224, a stable signal detection is performed, which is a moving average of the price ψave¯ over a period of time.
[0042] The moving average price ψave¯ is sent from box 224 to box 226. In addition, the stability variable of the first derivative ψ̇ stablefrom box 220 to box 226. In box 226, a stochastic filter is applied to the moving average price ψave¯ applied and by the stability variable of the first derivative ψ̇ stable It is possible to use the heavily filtered moving average ψaveHvy¯ Box 228 presents a selection based on the stability variable of the low-rate first derivative ψ̇ low_rate If the stability variable of the first derivative with low rate ψ̇ Low_rate indicates that the first derivative of the price is less than the threshold C3, the value of ψaveHvy¯ to box 230. Otherwise, the average rate ψave¯ to box 230. In box 230, a difference between the output of box 228 (either ψaveHvy¯ or ψave¯ ) and the filtered price ψi¯ (from Box 208) is calculated. In Box 232, an absolute value of the difference is generated. In Box 234, the absolute value is compared with a calibration value and an improved stability condition variable ψ Stbl_Buff generated. If the absolute value is smaller than the calibration value, the value of ψ Stbl_Buff TRUE. Otherwise, it is FALSE.
[0043] In Box 236, a logical AND operation is performed between the heading acceleration stability variable ψ̈ stable (from Box 216), the stability condition variable of the first derivative ψ̇ stable and the improved stability condition variable ψ Stb_Buff executed to determine a value for the course condition variable ψ cond to generate.
[0044] Referring to the second channel 206, in box 238 a latitude difference ΔΦ between a current latitude value Φ iand a previous latitude value Φ i-1 In Box 240, an earth-based differential vertical coordinate dy is calculated as shown in Eq. (1): dy=R(ΔΦ) where R is an average radius of the Earth, where ΔΦ = Φ i - Φ i-1 . In box 242, a length difference ΔΛ between a current length value Λ i and a previous length value Λ i-1 In Box 244, an earth-based differential horizontal coordinate dx is calculated as shown in equation (2): dx=R(ΔΛ)cos(ΔΦ) where ΔΛ = Λ i - Λ i-1 In Box 246, a derived rate ψ derived using the Earth-based differential latitude of equation (1) and the Earth-based differential longitude of equation (2), as shown in equation (3): ψderived=tan−1dxdy
[0045] In Box 248, the derived rate ψ derived entered into a stochastic filter that uses a moving average ψderived¯ of the derived price. Box 250 shows a difference between the derived price ψ derived and the moving average ψderived¯ of the derived price. In Box 252, the difference is compared with a threshold to calculate a derived price condition variable ψ derivedcond If the difference is smaller than the threshold C5, the derived price condition variable ψ derivedcond set to TRUE. Otherwise, the derived price condition variable ψ derivedcond set to FALSE.
[0046] Fig. Figure 3 shows a flowchart 300 of a process for determining a straight-ahead course condition variable for the vehicle based on the speeds of the vehicle's wheels. A left front wheel sensor 302 provides a left front wheel speed v LF , a right front wheel sensor 304 provides a right front wheel speed v RF , a left rear wheel sensor 306 provides a left rear wheel speed v LR and a right rear wheel sensor 308 provides a right rear wheel speed v RR . A wheel speed difference module 310 compares differences between front wheel speeds with a calibration value and a front wheel speed condition variable 312 (FrontWheel cond ) is calculated. If abs(v LF -v RF ) < C, then FrontWheel cond = TRUE. Otherwise FrontWheel cond =WRONG.
[0047] Similarly, the wheel speed difference module 310 compares a difference between the left rear wheel speed v LR and the right rear wheel speed v RR with a constant value and returns a rear wheel speed condition variable 314 (RearWheel cond ). If abs(v LR -v RR ) < C, then RearWheel cond = TRUE. Otherwise RearWheel cond = WRONG.
[0048] The wheel speed difference module 310 also monitors diagonal wheel speeds. The speed of the right front wheel v RF is determined with the speed of the left rear wheel v LR compared to determine a first crosswheel speed condition variable 316 (CrossWheel1 cond ) output. If abs(v RF -v LR ) < C, then CrossWheel1 cond = TRUE. Otherwise, CrossWheel1 cond = FALSE. The speed of the left front wheel v LFis determined with the speed of the right rear wheel v RR compared to determine a second crosswheel speed condition variable 318 (CrossWheel2 cond ) output. If abs(v LF -v RR ) < C, then CrossWheel2 cond = TRUE.
[0049] Fig. 4 shows a flowchart 400 of a process for determining straight-ahead driving condition variables based on a curvature of the road and a bank angle of the road. The data used for these calculations are environmental variables received from various sources, such as one or more cameras on the vehicle (box 402), a map server (box 404), an internal measurement unit (IMU) (box 406) that measures acceleration, and a GPS system (box 408). In box 402, the one or more cameras generate images of the road. A left camera receives an image of the road from the left side of the vehicle, and a right camera receives an image of the road from the right side of the vehicle. Each of these images, as well as images from other cameras on the vehicle, can be processed to locate traffic signs and decipher the meaning of the traffic signs.A leftward curvature of the road ("left curvature") can be determined from the left-side image. A rightward curvature of the road ("right curvature") can be determined from the right-side image. In box 410, the left curvature is measured using a threshold value C. LC compared to determine a curvature condition variable for the left camera (CamLeftCurve cond ). If the left curvature is greater than the threshold C LC is, then CamLeftCurve is cond = TRUE. Otherwise, CamLeftCurve cond = WRONG.
[0050] In Box 412, the right curvature is determined with a threshold value C RC compared to determine a curvature condition variable for the right camera (CamRightCurv cond ). If the right curvature is greater than the threshold C RC is, then CamRightCurv cond = TRUE. Otherwise, CamRightCurv cond = WRONG.
[0051] In box 414, the traffic sign is interpreted to determine whether the traffic sign indicates a curved road and thereby a traffic sign condition variable RoadSign cond If the traffic sign indicates a winding road, RoadSign cond =TRUE. Otherwise, RoadSign cond =WRONG.
[0052] In box 404, the curvature is determined from map data obtained from a map server. The curvature includes a map-based left curvature, a map-based right curvature, and a map-based cross slope angle ϕ Map . In Box 416, the map-based left curvature is measured with a threshold C LC compared, resulting in a map-based curvature condition variable for the left camera (MapLeftCurve cond ) is generated. If the map-based left curvature is greater than the threshold C LC then MapLeftCurve cond=TRUE. Otherwise, MapLeftCurve cond =WRONG.
[0053] In Box 418, the map-based right curvature is measured with a threshold C RC compared, resulting in a map-based curvature condition variable for the right camera (MapRightCurv cond ) is generated. If the map-based right curvature is greater than the threshold C RC then MapRightCurv cond =TRUE. Otherwise, MapRightCurv cond =WRONG.
[0054] Box 420 shows the map-based bank angle ϕ Map with a bank angle threshold C ϕ compared to obtain a map-based bank angle condition variable ϕ Mapcond If the map-based bank angle curvature is greater than the bank angle threshold C ϕ is, then ϕ Mapcond =TRUE. Otherwise, ϕ Mapcond =WRONG.
[0055] In box 406, an IMU generates an IMU bank angle ϕ IMU . In Box 422, the IMU bank angle ϕ IMU with a bank angle threshold C ϕ compared to an IMU bank angle condition variable ϕ IMUcond If the IMU bank angle curvature is greater than the IMU bank angle threshold C ϕ is, then ϕ IMUcond =TRUE. Otherwise, ϕ IMUcond =WRONG.
[0056] In Box 408, GPS data are used to calculate a TCP bank angle ϕ TCP In Box 424, the TCP bank angle ϕ TCP with a bank angle threshold C ϕ compared to a TCP bank angle condition variable ϕ TCPcond If the TCP bank angle curvature is less than the TCP bank angle threshold C ϕ is, then ϕ TCPcond =TRUE. Otherwise, ϕ TCPcond =WRONG.
[0057] Fig. 5 is a flowchart 500 of a process for determining a command heading variable. In box 502, a vehicle trajectory planner outputs a commanded trajectory (Ref desired ) and a trajectory error ε trajectory The trajectory error is the difference between the commanded trajectory and the vehicle trajectory. In box 504, the trajectory error is multiplied by an error calibration constant C ε compared to generate an error condition variable. In box 506, the commanded trajectory is checked to determine if the trajectory to be followed is curved. If the trajectory to be followed is curved, the trajectory condition variable is FALSE. Otherwise, the trajectory condition variable is TRUE. In box 508, the error condition variable and the trajectory condition variable are used to determine a value of a control condition variable Control condIf the error condition variable indicates that there is no large deviation between the target trajectory and the vehicle trajectory, then Control cond the trajectory condition. Otherwise, Control cond set to FALSE.
[0058] Fig. Figure 6 shows a flowchart 600 for determining a yaw rate condition variable. The yaw rate is a dynamic parameter determined by sensors on the vehicle, such as the IMU. In box 602, the yaw rate ω i In box 604, a stochastic filter is applied to the yaw rate ω i applied to calculate a moving average of the yaw rate ωl¯ In box 606, a difference between the yaw rate ω i and the moving average of the yaw rate ωl¯ In box 608, the difference is compared with a threshold value to determine a yaw rate condition variable ωcond If the difference is smaller than the threshold, then ω cond = TRUE. Otherwise, ω cond = WRONG.
[0059] Fig. Figure 7 shows a flowchart 700 for determining a wheel angle condition variable and a driver torque condition variable. In box 702, the vehicle's power steering system generates a wheel angle δ i In box 704, a stochastic filter is applied to the wheel angle δ i applied to calculate a moving average of the wheel angle δl¯ In box 706, a difference between the wheel angle δ i and the moving average of the wheel angle δl¯ In box 708, the difference is compared with a threshold to determine the wheel angle condition variable δ cond If the difference is smaller than the threshold, then δ cond = TRUE. Otherwise, δ cond = WRONG.
[0060] In box 710, a time sequence of steering torques is read from a buffer. In box 712, a variance σ 2 of the steering torque for the time sequence. In Box 714, the variance σ 2 compared with a threshold to determine a torque condition variable τ cond If the variance σ 2 is smaller than the threshold, then τ cond = TRUE. Otherwise, τ cond = WRONG.
[0061] Fig. Figure 8 shows a diagram 800 for determining a straight-ahead condition for the vehicle. The flowchart includes processing of the steps described herein with respect to Fig. 2-7 discussed condition variables. The process involves receiving the condition variables from three domains: command parameters, environment parameters, and dynamic parameters. In box 802, the control parameters create the command condition variable Control cond. In box 804, the environmental parameters generate environmental condition variables (e.g., ϕ Mapcond , ϕ IMUcond , ϕ TCPcond , CamLeftCurve cond , CamRightCurve cond , RoadSign cond , MapLeftCurve cond , MapRightCurve cond ). In box 806, the vehicle dynamics parameters generate vehicle dynamics condition variables (ψ cond , ψ derivedcond , FrontWheel cond , CrossWhee / 1 cond , RearWheel cond , CrossWheel2 cond , τ cond ).
[0062] Box 808 shows Control cond , ϕ Mapcond , ϕ IMUcond , ϕ TCPcond , τ cond through an OR gate. The OR gate returns an indication of a straight-ahead condition if any of these parameters does not specify the straight-ahead condition.
[0063] Box 810 shows CamLeftCurve cond , CamRightCurve cond , RoadSign cond , MapLeftCurve cond , MapRightCurve cond , ψ cond , ψderivedcond , FrontWheel cond , CrossWheel1 cond , RearWheel cond and CrossWheel2 cond sent to an AND gate. The AND gate returns a variable DrivingStraight pending which specifies an evaluation of the straightness condition based on these variables. Due to the use of an AND gate, all of these parameters must specify TRUE for the variable DrivingStraight pending is TRUE. In box 812, the variable DrivingStraight pending through a maturation process to create a variable DrivingStraight mature The maturation process is determined in relation to Fig. 9. In box 814, the outputs of box 808 and box 812 are examined to determine a straightness condition for the vehicle. If any of the variables evaluated in box 808 indicate that the vehicle is not moving straight, DrivingStraight is set to FALSE. If not, the results of box 812 are used to indicate when the vehicle is moving in a straight line. If the vehicle fails both the output from box 808 and the output from box 812, the variable DrivingStraight is assigned the value FALSE.
[0064] Once the vehicle is in the straightness condition, the vehicle's sensors can be adjusted and / or calibrated. The one or more distortion corrections for the one or more sensors are then learned based on the prior determination of the mature straightness strategy. First, the steering angle sensors are adjusted (box 816) such that the straightness condition variable and the road wheel angle variable are true (i.e., the vehicle is traveling in a straight line and a road wheel angle variance detected by the sensors is less than a criterion). Once the steering sensor is calibrated, the yaw rate sensors are adjusted (box 818). The yaw rate sensor is adjusted such that both the straightness condition variable and the yaw rate condition variable are true (i.e., the vehicle is traveling in a straight line and a road wheel angle variance detected by the sensors is less than a criterion).
[0065] After the yaw rate sensor has been calibrated, the lateral acceleration sensor is adjusted (box 820). The lateral acceleration sensor is adjusted so that both the straightness constraint variable and the lateral acceleration constraint variable are true (i.e., the vehicle is moving in a straight line and the variance of the lateral acceleration detected by the sensors is less than a criterion).
[0066] Fig. 9 is a flowchart 900 for a maturation process for the floating straight-ahead variable (DrivingStraight pending ). The maturation process includes calculations on samples within a sliding time window 902. The time window 902 is defined by a sample size 904 (C sample ). The condition for maturation is defined by a failure condition parameter 906 (C failure ) parameterized. The value of a variable DrivingStraight pendingis received and added to the sample. The number of failure values of the variable DrivingStraight pending within the time window is counted to determine the variable DrivingStraight matured If the number of failure values is less than C failure is, then DrivingStraight is matured = TRUE. Otherwise, DrivingStraight matured = FALSE. A current count of the number of failures and the number of samples is used for the next value of the variable DrivingStraight pending saved.
[0067] The terms "a / a" do not imply a limitation of quantity, but rather denote the presence of at least one of the referenced elements. The term "or" means "and / or" unless the context clearly indicates otherwise. References throughout this document to "an aspect" mean that a particular element (e.g., feature, structure, step, or property) described in connection with the aspect is included in at least one aspect described herein and may or may not be present in other aspects. Furthermore, it is to be understood that the described elements in the various aspects may be combined in any suitable manner.
[0068] When an element such as a layer, film, region, or substrate is mentioned as being "on" another element, it may be directly on top of the other element, or there may be intervening elements. Conversely, when an element is mentioned as being "directly on" another element, there are no intervening elements.
[0069] Unless otherwise noted herein, all test standards are the most recent standard in effect as of the filing date of this application or, if priority is claimed, the filing date of the earliest priority application in which the test standard appears.
[0070] Unless otherwise defined herein, technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs.
[0071] Although the above disclosure has been described with reference to exemplary embodiments, it will be apparent to those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from its scope. Furthermore, many modifications may be made to adapt a particular situation or material to the teachings of the disclosure without departing from its essential scope. Therefore, the present disclosure is not intended to be limited to the specifically disclosed embodiments, but is intended to include all embodiments falling within its scope.
Claims
[1] A method for calibrating a sensor of a vehicle moving on a road section, comprising: Determining a control condition variable indicating a trajectory of the vehicle with respect to a straight line; Determining a bank angle condition variable indicating a movement of the vehicle with respect to the straight line based on a bank angle of the road section; Determining a torque condition variable indicative of the movement of the vehicle with respect to the straight line based on a torque applied to a steering wheel of the vehicle; Determining a straightness condition for the vehicle if at least one of the steering condition variable, the bank angle condition variable, and the torque condition variable indicates that the vehicle is moving in the straight line; and Calibrate the sensor when the vehicle is in the straight line condition. [2] The method of claim 1, wherein the bank angle condition variable is determined based on at least one of the following: (i) map server data; (ii) vehicle dynamics; and (iii) global positioning satellite (GPS) data. [3] The method of claim 1, further comprising: Determining a floating straight-ahead travel condition variable based on at least one of the following variables: (i) a heading condition variable based on global positioning satellite (GPS) heading data; (ii) a derived heading condition variable based on a latitude and a longitude of the vehicle obtained from GPS; (iii) a wheel speed condition variable based on differences in wheel speeds; and (iv) a road curvature condition variable. [4] The method of claim 3, wherein the wheel speed condition variable is based on a difference between at least one of the following pairs: (i) a right front wheel speed and a left front wheel speed; (ii) a right rear wheel speed and a left rear wheel speed; (iii) the right front wheel speed and the left rear wheel speed; and (iv) the left front wheel speed and the right rear wheel speed. [5] The method of claim 3, wherein the road curvature condition variable is based on at least one of the following: (i) a left-side image obtained from a left-side camera of the vehicle; (ii) a right-side image obtained from a right-side camera of the vehicle; and (iii) a meaning of a traffic sign in the left-side and / or right-side image. [6] System for calibrating a sensor of a vehicle, comprising: a processor designed to: Determining a control condition variable indicating a trajectory of the vehicle with respect to a straight line; Determining a bank angle condition variable indicating a movement of the vehicle with respect to the straight line based on a bank angle of the road section; Determining a torque condition variable indicative of the movement of the vehicle with respect to the straight line based on a torque applied to a steering wheel of the vehicle; Determining a straightness condition for the vehicle if at least one of the steering condition variable, the bank angle condition variable, and the torque condition variable indicates that the vehicle is moving in the straight line; and Calibrate the sensor when the vehicle is in the straight line condition. [7] The system of claim 6, wherein the processor is further configured to determine the bank angle condition variable based on at least one of the following: (i) map server data; (ii) vehicle dynamics; and (iii) global positioning satellite (GPS) data. [8] The system of claim 6, wherein the processor is further configured to determine a floating straight-ahead condition variable based on at least one of the following variables: (i) a heading condition variable based on global positioning satellite (GPS) heading data; (ii) a derived heading condition variable based on a latitude and a longitude of the vehicle obtained from GPS; (iii) a wheel speed condition variable based on differences in wheel speeds; and (iv) a road curvature condition variable. [9] The system of claim 8, wherein the wheel speed condition variable is based on a difference between at least one of the following pairs: (i) a right front wheel speed and a left front wheel speed; (ii) a right rear wheel speed and a left rear wheel speed; (iii) the right front wheel speed and the left rear wheel speed; and (iv) the left front wheel speed and the right rear wheel speed. [10] The system of claim 8, wherein the road curvature condition variable is based on at least one of the following: (i) a left-side image obtained from a left-side camera of the vehicle; (ii) a right-side image obtained from a right-side camera of the vehicle; and (iii) a meaning of a traffic sign in the left-side and / or right-side image.
Citation Information
Patent Citations
Procedure for calibrating a yaw rate measurement
DE102006018974A1
sensor offset calibration using map information
DE102015113911A1
METHOD AND DEVICE FOR DYNAMIC YAW RATE DEVELOPMENT ESTIMATION
DE102020107349A1
In-vehicle sensor-based calibration algorithm for yaw rate sensor calibration
US20090265054A1
Vehicle yaw rate correction
US20130231825A1