System and process for correcting gyroscope drift for a motor vehicle
12092458 ยท 2024-09-17
Assignee
Inventors
- BRENT NAVIN ROGER BACCHUS (Sterling Heights, MI, US)
- Rakesh Kumar (Mississauga, CA)
- Curtis L. Hay (Washington Township, MI, US)
Cpc classification
G01C25/005
PHYSICS
G01S2013/932
PHYSICS
G01S13/86
PHYSICS
G01C19/00
PHYSICS
International classification
Abstract
A system of a motor vehicle includes a radar unit for generating a radar signal associated with a target positioned about the vehicle. The system further includes a tracker generating a tracker signal associated with a radar heading and a doppler based on the radar signal. The system further includes a wheel speed sensor for generating a wheel speed signal associated with a velocity of the vehicle. The system further includes a gyroscope for generating a gyro signal associated with a measured yaw rate. The system further includes a computer having a processor and a computer readable medium. The processor is programmed to determine a gyro drift and a corrected yaw rate while the vehicle is in motion, with the gyro drift and the corrected yaw rate being based on at least the radar heading, the doppler effect, and the velocity of the vehicle, and the measured yaw rate.
Claims
1. A system of a motor vehicle, the system comprising: a radar unit for generating a radar signal associated with a detected target positioned about the motor vehicle; a tracker coupled to the radar unit and generating a tracker signal associated with a current radar heading and a current doppler for a stationary target based on the radar signal; a wheel speed sensor for generating a wheel speed signal associated with a current velocity of the motor vehicle; a temperature sensor for generating a temperature signal associated with an ambient temperature; a gyroscope for generating a gyro signal associated with a measured yaw rate at a current time step; and a computer comprising: at least one processor coupled to the tracker, the wheel speed sensor, the temperature sensor, and the gyroscope; and a non-transitory computer readable storage medium including instructions such that the at least one processor is programmed to; receive the tracker signal from the tracker, the wheel speed signal from the wheel speed sensor, the temperature signal from the temperature sensor, and the gyro signal from the gyroscope at the current time step; determine with a Kalman filter an innovation vector, based on a difference between the tracker signal, the wheel speed signal, the temperature signal, the gyro signal, and a plurality of associated predicted observations; generate an adapted measurement covariance matrix, based on the innovation vector, and further based on a measurement covariance matrix; update the Kalman filter based on the tracker signal, the wheel speed signal, the temperature signal, and the gyro signal; predict at least one of the predicted radar heading, the predicted doppler, an estimated gyro scale factor of the gyroscope, a wheel speed sensor scale factor of the wheel speed sensor, and a gyro drift of the gyroscope based on the updated Kalman filter; and determine a corrected yaw rate while the motor vehicle is in motion, with the corrected yaw rate based on at least the current radar heading, the current doppler effect, and the current velocity of the motor vehicle, and the measured yaw rate at the current time step.
2. The system of claim 1 where the at least one processor determines a whitened innovation e according to a maximum correntropy variation of the Kalman filter, by computing:
3. The system of claim 2 where the at least one processor generates the adapted measurement covariance matrix according to:
4. The system of claim 3 where the at least one processor updates the Kalman filter with an implicit nonlinear observation model to estimate at least a gyro scale factor and the gyro drift according to:
5. The system of claim 4 where the at least one processor predicts at least one of the estimated gyro scale factor, the wheel speed sensor scale factor, and the gyro drift based on the updated Kalman filter with a process model according to:
6. The system of claim 5 where the at least one processor predicts the gyro drift of the gyroscope according to:
x=(t v w T.sub.w).sup.T.sup.
x.sub.u=(x.sub.t?T.sub.
x.sub.v=(x.sub.t?T.sub.
7. The system of claim 6 where the at least one processor further predicts the gyro drift of the gyroscope according to a spectral mixture kernel:
8. A computer for a system of a motor vehicle, the system having a radar unit for generating a radar signal associated with a detected target positioned about the motor vehicle, a tracker coupled to the radar unit and generating a tracker signal associated with a current radar heading and a current doppler for a stationary target based on the radar signal, a temperature sensor for generating a temperature signal associated with an ambient temperature, a wheel speed sensor for generating a wheel speed signal associated with a current velocity of the motor vehicle, and a gyroscope for generating a gyro signal associated with a measured yaw rate at a current time step, the computer comprising: at least one processor coupled to the tracker, the wheel speed sensor, and the gyroscope; and a non-transitory computer readable storage medium including instructions such that the at least one processor is programmed to: receive the tracker signal from the tracker, the wheel speed signal from the wheel speed sensor, the temperature signal from the temperature sensor, and the gyro signal from the gyroscope at the current time step; determine with a Kalman filter an innovation, based on a difference between the tracker signal, the wheel speed signal, the temperature signal, the gyro signal, and a plurality of associated predicted observations; generate an adapted measurement covariance matrix, based on the innovation vector, and further based on a measurement covariance matrix; update the Kalman filter based on the tracker signal, the wheel speed signal, the temperature signal, and the gyro signal; predict at least one of the predicted radar heading, the predicted doppler, an estimated gyro scale factor of the gyroscope, a wheel speed sensor scale factor of the wheel speed sensor, and a gyro drift of the gyroscope based on the updated Kalman filter; and determine a corrected yaw rate while the motor vehicle is in motion, with the corrected yaw rate based on at least the current radar heading, the current doppler effect, and the current velocity of the motor vehicle, and the measured yaw rate at the current time step.
9. The computer of claim 8 where the at least one processor determines a whitened innovation e according to a maximum correntropy variation of the Kalman filter, by computing:
10. The computer of claim 9 where the at least one processor generates the adapted measurement covariance matrix according to:
11. The computer of claim 10 where the at least one processor updates the Kalman filter with an implicit nonlinear observation model to estimate at least a gyro scale factor and the gyro drift according to:
12. The computer of claim 11 where the at least one processor predicts at least one of the estimated gyro scale factor, the wheel speed sensor scale factor, and the gyro drift based on the updated Kalman filter with a process model according to:
13. A process of operating a system for a motor vehicle, with the system including a radar unit, a tracker coupled to the radar unit, a wheel speed sensor, a temperature sensor, a gyroscope, and a computer coupled to the tracker, the wheel speed sensor, the temperature sensor, and the gyroscope, and the computer including a at least one processor and a non-transitory computer readable storage medium including instructions, the process comprising: generating, using the radar unit, a radar signal associated with a detected target positioned about the motor vehicle; generating, using the tracker, a tracker signal associated with a current radar heading and a current doppler for a stationary target based on the radar signal; generating, using the wheel speed sensor, a wheel speed signal associated with a current velocity of the motor vehicle; generating, using the temperature sensor, a temperature signal associated with an ambient temperature; generating, using the gyroscope, a gyro signal associated with a measured yaw rate at a current time step; receiving, with the at least one processor, the tracker signal from the tracker, the gyro signal from the gyroscope, and the wheel speed signal from the wheel speed sensor at the current time step; determining, with the at least one processor using a Kalman filter, an innovation vector, based on a difference between the tracker signal, the wheel speed signal, the temperature signal, the gyro signal, and a plurality of associated predicted observations; generating, using the at least one processor, an adapted measurement covariance matrix, based on the innovation vector, and further based on a measurement covariance matrix; updating, using the at least one processor, the Kalman filter based on the tracker signal, the wheel speed signal, the temperature signal, and the gyro signal; predicting, using the at least one processor, at least one of the predicted radar heading, the predicted doppler, an estimated gyro scale factor of the gyroscope, a wheel speed sensor scale factor of the wheel speed sensor, and a gyro drift of the gyroscope based on the updated Kalman filter; and determining, with the at least one processor, a corrected yaw rate while the motor vehicle is in motion, with the corrected yaw rate based on at least the current radar heading, the current doppler effect, and the current velocity of the motor vehicle, and the measured yaw rate at the current time step.
14. The process of claim 13 where the at least one processor determines the gyro drift according to:
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The drawings described herein are for illustration purposes only and are not intended to limit the scope of the present disclosure in any way.
(2)
(3)
DETAILED DESCRIPTION
(4) The following description is merely exemplary in nature and is not intended to limit the present disclosure, application, or uses.
(5) The present disclosure describes one example of a motor vehicle having a system with a gyroscope, a radar unit, a tracker, a temperature sensor, and a computer that determines a gyroscope drift and a corrected yaw rate. More specifically, in the non-limiting example described in detail below, the system is implemented in an advanced driver assistance system (ADAS) with the gyroscope for determining pose and attitude of the motor vehicle and integrating angular rates of the motor vehicle, such as pitch, roll, and yaw rates. However, it is contemplated that the system can be implemented in any other suitable automotive or non-automotive systems having a gyroscope. The computer is programmed to estimate the kinematics of the vehicle by using the radar unit, the tracker, the wheel speed sensor, the temperature sensor, and the gyroscope without requiring the motor vehicle to stop. As described in detail below, the tracker identifies one or more static targets based on a lack of motion of those targets. The processor uses predictions from a Kalman filter to adapt the provided covariance to reduce the impact of unmodelled noise. The processor further utilizes the Kalman filter to fuse radar signals, WSS information, ambient temperature data, and gyroscope signals at to estimate a corrected or unbiased yaw rate.
(6) Referring now to
(7) The ADAS 102 may include one or more sensors 104 and one or more computers 106. In this non-limiting example, the sensors 104 may include a gyroscope 108 for generating a gyro signal associated with a measured yaw rate at a current time step. The sensors 104 may further include a pair of wheel speed sensors 110, 112 coupled to an associated one of two wheels 118, 120. Each wheel speed sensor 110, 112 generates a wheel speed signal associated with a current velocity of the motor vehicle 100. The sensors 104 may further include a radar unit 118 for generating a radar signal associated with a detected target positioned about the motor vehicle 100. The sensors 104 may further include a tracker 120 coupled to the radar unit 118 and generating a tracker signal associated with a current radar heading and a current doppler for a stationary target based on the radar signal. More specifically, the tracker 120 determines the associated untracked heading, the doppler (along with corresponding error covariances), and the identification of the stationary targets. The sensors 104 may further include a temperature sensor 122 for generating a temperature signal associated with an ambient temperature.
(8) It is contemplated that the ADAS can have any number of each of these sensors and/or other suitable sensors. A non-exhaustive and non-limiting list of other vehicle sensors can include one or more of a vehicle pitch sensor, a vehicle roll sensor, a motion sensor, a proximity sensor, a laser identification detection and ranging (LIDAR) sensor, an imaging sensor (e.g., a complementary metal oxide semiconductor (CMOS) sensor, a charge-coupled sensor (CCDs), an image intensifying sensor, etc.), an infrared sensor, a thermal sensor, a short-, medium-, or long-range wireless signal sensor, a vehicle position sensor (e.g., a Global Positioning System (GPS) and a Global Navigation Satellite System (GLONASS) sensor), a vehicle acceleration sensor, a vehicle braking sensor, and a vehicle steering sensor, just to name a few examples.
(9) The system 102 further includes one or more computers 122. Each computer 106 includes one or more processors 124 coupled to the gyroscope 108, the wheel speed sensors 110, 112, the tracker 120, and the temperature sensor 122. Each computer 106 further includes a non-transitory computer readable storage medium 126 (CRM) including instructions, such that the processor 124 is programmed to determine a gyro drift and a corrected yaw rate while the motor vehicle 100 is in motion, with the gyro drift and the corrected yaw rate based on at least the current radar heading, the current doppler effect, the current velocity of the motor vehicle 100, and the measured yaw rate at the current time step. More specifically, as descried in the non-limiting detailed example below, the processor 124 is programmed to receive the tracker signal from the gyro signal from the gyroscope 108, the wheel speed signal from the wheel speed sensors 110, 112, the tracker 120, and the temperature sensor 122 at the current time step, determine the gyro drift, and determine a corrected yaw rate based on the same.
(10) The processor 124 is programmed to determine with a Kalman filter an innovation vector, based on a difference between the tracker signal, the wheel speed signal, the temperature signal, the gyro signal, and a plurality of associated predicted observations. The processor 124 determines a whitened innovation e according to:
(11)
(12) where e represents the current innovation, related to an error between an actual measurement vector z and a predicted measurement vector (i.e. e=z?Hx, where x is a predicted state vector and H is a linearized measurement covariance matrix); where
(13)
indicates an inverse of a Cholesky decomposition of the linearized measurement covariance matrix.
(14) The processor 124 is programmed to generate an adapted measurement covariance matrix for robustness, based on the innovation vector, and further based on a measurement covariance matrix. More specifically, the processor 124 generates the adapted measurement covariance matrix according to:
(15)
(16) where K.sub.?(x) represents a kernel function; ? represents a positive tuning parameter; ?.sub.i represents an element i in a vector ?; C represents an adapted measurement covariance matrix; {circumflex over (R)} represents an updated measurement covariance matrix; and T represents a matrix transpose operator. This process may be iterated after running the Kalman filter update step using the latest state estimate in place of the predicted state to determine the innovation.
(17) The processor 124 is programmed to update the Kalman filter with an implicit nonlinear observation model to further estimate at least a gyro scale factor and the gyro drift according to:
(18)
(19) where w.sub.z represents the corrected yaw rate of the motor vehicle; where x.sub.R.sup.B represents an X-coordinate of the radar unit on the motor vehicle; where y.sub.R.sup.B represents a Y-coordinate of the radar unit on the motor vehicle; where ?.sub.0 represents a nominal mounting azimuth angle of the radar unit; where ? represents a calibration error of the radar unit; where {circumflex over (?)}.sub.i represents the radar heading associated with the tracking signal; where v.sub.y represents a lateral velocity of the motor vehicle; where v.sub.x represents a longitudinal velocity of the motor vehicle; where {circumflex over (v)}.sub.x,wss represents an estimated longitudinal velocity of the motor vehicle; where {circumflex over (d)}.sub.l represents the doppler speed associated with the tracking signal; where ?.sub.gyro represents the gyro scale factor; where ?.sub.wss represents a wheel speed sensor scale factor; where ?.sub.gyro represents the gyro drift; where n represents an iid noise; and where ?.sub.z,gyro represents the measured yaw rate associated with the gyro signal generated by the gyroscope.
(20) The processor 124 is programmed to predict at least one of the predicted radar heading, the predicted doppler, an estimated gyro scale factor of the gyroscope, a wheel speed sensor scale factor of the wheel speed sensor, and the gyro drift of the gyroscope 108 based on the updated Kalman filter. More specifically, the processor 124 is programmed to predict at least one of an estimated gyro scale factor, a wheel speed sensor scale factor, and the gyro drift based on the updated Kalman filter with a process model according to:
(21)
(22) where G.sub.u represents a predictor for the gyro drift; where t represents the current time step; and where t+1 represents a next time step.
(23) The processor 124 is further programmed to predict at least one of the estimated gyro scale factor, the wheel speed sensor scale factor, and the gyro drift based on the updated Kalman filter with a process noise according to:
(24)
(25) The processor 124 is further programmed to predict the gyro drift according to:
G.sub.u(x.sub.v)=K.sub.vuK.sub.uu.sup.?1Eq. 8
P.sub.u(x.sub.v)=K.sub.vvK.sub.uu.sup.?1?G.sub.u(x.sub.v)K.sub.uvEq. 9
K.sub.ij=[k(x.sub.i,x.sub.j)]Eq. 10
(26) where the gyro drift is modeled as a zero mean Gaussian process with a known covariance kernel k(.Math.,.Math.).
(27) The processor 124 is further programmed to predict the gyro drift of the gyroscope according to
x=(t v w T.sub.w).sup.T.sup.
x.sub.u=(x.sub.t?T.sub.
x.sub.v=(x.sub.t?T.sub.
(28) where x represents an independent predictor variable for the gyro drift of the gyroscope; where t represents the current time step; where v represents the longitudinal velocity; where w represents the yaw rate; where x.sub.u represents a predictive variable for the gyro drift of the gyroscope for the previous time step; and where x.sub.v represents a predictive variable for the gyro drift of the gyroscope for the current time step.
(29) The processor 124 is further programmed to predict the gyro drift of the gyroscope according to a spectral mixture kernel:
(30)
(31) where C=C(?) is a spherically parameterized correlation matrix which models a correlation between the predictor variables for the previous and current time steps and ?.sub.i=diag(?.sub.i.sup.(1) . . . ?.sub.i.sup.(4)); where a plurality of parameters {?.sub.i.sup.2, ?.sub.i, f.sub.i}.sub.i=1.sup.N, ? is learned from data. For computational reasons, the predictor vectors may be assumed to lay on a regular grid so that the Kronecker structure may be exploited.
(32) Referring now to
(33) At block 204, the tracker 120 generates the tracker signal associated with the current radar heading and the current doppler for the stationary target based on the radar signal.
(34) At block 206, the wheel speed sensor 110, 112 generates the wheel speed signal associated with the current velocity of the motor vehicle 100.
(35) At block 208, the temperature sensor 120 generates the temperature signal associated with the ambient temperature.
(36) At block 210, the gyroscope 108 generates a gyro signal associated with a measured yaw rate at a current time step.
(37) At block 212, while the motor vehicle 100 is in motion, the processor 124 determines the gyro drift and the corrected yaw rate while the motor vehicle 100 is in motion, with the gyro drift and the corrected yaw rate being based on at least the current radar heading, the current doppler effect, and the current velocity of the motor vehicle, and the measured yaw rate at the current time step. More specifically, the processor 124 receives the gyro signal from the gyroscope 108, and the wheel speed signal from the wheel speed sensor 110, 112, the tracker signal from the tracker 120, and the temperature signal from the temperature sensor 122 at the current time step. The processor 124 uses a Kalman filter to determine an innovation, based on a difference between the tracker signal, the wheel speed signal, the temperature signal, the gyro signal, and a plurality of associated predicted observations according to Equation 1 above. The processor further generates the adapted measurement covariance matrix for robustness, based on the whitened innovation determined at the current time step, and further based on a measurement covariance matrix according to Equations 2 through 4 above. The processor 124 further updates the Kalman filter based on the tracker signal, the wheel speed signal, the temperature signal, and the gyro signal according to Equation 5 above.
(38) At block 214, the processor 124 predicts at least one of the predicted radar heading, the predicted doppler, an estimated gyro scale factor of the gyroscope, a wheel speed sensor scale factor of the wheel speed sensor, and the gyro drift of the gyroscope, based on the updated Kalman filter according to Equations 6 through 15 above.
(39) Thus, there has been described a machine learning system that includes a fuzzy controller that receives a dataset, such as a plurality of state-action values, from a reinforcement learning agent (RLA) controller. The controllers may be embodied in software, in hardware, or in a combination thereof. By using the two controllers in series, where the output of the RLA controller (data) is received as input to the fuzzy controller, a machine learning system can be created where the output data is interpretable using the fuzzy controller. In this manner, engineers, system designers, etc. may more fully appreciate and/or troubleshoot their implementations.
(40) According to one non-limiting example, the computers 106 may include a vehicle engine control computer, a vehicle braking system computer, and a vehicle steering control computer, where each of the computers 106 execute instructions to carry out at least one autonomous or partially-autonomous vehicle operation (e.g., such as adaptive cruise control (ACC), lane keeping assist, lane departure warning, forward-collision warning, automated emergency braking, pedestrian detection, and blind spot warning, just to name a few examples). It should be appreciated that system 102 does not require multiple computers; e.g., it may have more computers. And the vehicle engine control computer, the vehicle braking system computer, and the vehicle steering control computer are merely examples. A non-exhaustive and non-limiting list of vehicle computers could include a body control module (BCM), a powertrain control module (PCM), a power transfer unit (PTU), and a suspension control module, just to name a few examples. As will be described more below, by system 102 providing an output to one or more of computers 106, system 102 may initiate a vehicle function (e.g., such as controlling vehicle acceleration, controlling vehicle braking, and/or controlling vehicle steering).
(41) In general, the computing systems and/or devices described may employ any of a number of computer operating systems, including, but by no means limited to, versions and/or varieties of the MYLINK or INTELLILINK application. Examples of computing devices include, without limitation, an on-board vehicle computer, a computer workstation, a server, a desktop, notebook, laptop, or handheld computer, or some other computing system and/or device.
(42) Computing devices generally include computer-executable instructions, where the instructions may be executable by one or more computing devices such as those listed above. Computer-executable instructions may be compiled or interpreted from computer programs created using a variety of programming languages and/or technologies, including, without limitation, and either alone or in combination, JAVA, C, C++, VISUAL BASIC, JAVA SCRIPT, PERL, etc. Some of these applications may be compiled and executed on a virtual machine, such as the JAVA VIRTUAL MACHINE, the DALVIK virtual machine, or the like. In general, a processor (e.g., a microprocessor) receives instructions, e.g., from a memory, a computer-readable medium, etc., and executes these instructions, thereby performing one or more processes, including one or more of the processes described herein. Such instructions and other data may be stored and transmitted using a variety of computer-readable media.
(43) A computer-readable medium (also referred to as a processor-readable medium) includes any non-transitory (e.g., tangible) medium that participates in providing data (e.g., instructions) that may be read by a computer (e.g., by a processor of a computer). Such a medium may take many forms, including, but not limited to, non-volatile media and volatile media. Non-volatile media may include, for example, optical or magnetic disks and other persistent memory. Volatile media may include, for example, dynamic random-access memory (DRAM), which typically constitutes a main memory. Such instructions may be transmitted by one or more transmission media, including coaxial cables, copper wire and fiber optics, including the wires that comprise a system bus coupled to a processor of a computer. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASH-EEPROM, any other memory chip or cartridge, or any other medium from which a computer can read.
(44) Databases, data repositories or other data stores described herein may include various kinds of mechanisms for storing, accessing, and retrieving various kinds of data, including a hierarchical database, a set of files in a file system, an application database in a proprietary format, a relational database management system (RDBMS), etc. Each such data store is generally included within a computing device employing a computer operating system such as one of those mentioned above and are accessed via a network in any one or more of a variety of manners. A file system may be accessible from a computer operating system and may include files stored in various formats. An RDBMS generally employs the Structured Query Language (SQL) in addition to a language for creating, storing, editing, and executing stored procedures, such as the PL/SQL language mentioned above.
(45) In some examples, system elements may be implemented as computer-readable instructions (e.g., software) on one or more computing devices (e.g., servers, personal computers, etc.), stored on computer readable media associated therewith (e.g., disks, memories, etc.). A computer program product may comprise such instructions stored on computer readable media for carrying out the functions described herein.
(46) The processor is implemented via circuits, chips, or other electronic component and may include one or more microcontrollers, one or more field programmable gate arrays (FPGAs), one or more application specific circuits ASICs), one or more digital signal processors (DSPs), one or more customer integrated circuits, etc. The processor may be programmed to process the sensor data. Processing the data may include processing the video feed or other data stream captured by the sensors to determine the roadway lane of the host vehicle and the presence of any target vehicles. As described below, the processor instructs vehicle components to actuate in accordance with the sensor data. The processor may be incorporated into a controller, e.g., an autonomous mode controller.
(47) The memory (or data storage device) is implemented via circuits, chips or other electronic components and can include one or more of read only memory (ROM), random access memory (RAM), flash memory, electrically programmable memory (EPROM), electrically programmable and erasable memory (EEPROM), embedded MultiMediaCard (eMMC), a hard drive, or any volatile or non-volatile media etc. The memory may store data collected from sensors.
(48) With regard to the media, processes, systems, methods, heuristics, etc. described herein, it should be understood that, although the steps of such processes, etc. have been described as occurring according to a certain ordered sequence, such processes may be practiced with the described steps performed in an order other than the order described herein. It further should be understood that certain steps may be performed simultaneously, that other steps may be added, or that certain steps described herein may be omitted. In other words, the descriptions of processes herein are provided for the purpose of illustrating certain embodiments, and should in no way be construed so as to limit the claims.
(49) Accordingly, it is to be understood that the above description is intended to be illustrative and not restrictive. Many embodiments and applications other than the examples provided would be apparent to those of skill in the art upon reading the above description. The scope of the invention should be determined, not with reference to the above description, but should instead be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. It is anticipated and intended that future developments will occur in the arts discussed herein, and that the disclosed systems and methods will be incorporated into such future embodiments. In sum, it should be understood that the invention is capable of modification and variation and is limited only by the following claims.
(50) All terms used in the claims are intended to be given their plain and ordinary meanings as understood by those skilled in the art unless an explicit indication to the contrary in made herein. In particular, use of the singular articles such as a, the, said, etc. should be read to recite one or more of the indicated elements unless a claim recites an explicit limitation to the contrary.