This patent application claims priority from EP Application No. 11 176 400.7 filed Aug. 3, 2011, which is hereby incorporated by reference.
The present application relates to a method for vehicle navigation and to a corresponding navigation system.
In vehicle navigation, it is known to determine the position of a vehicle from satellite positioning data. For example, such satellite positioning data may be derived from satellite positioning signals of the global positioning system (GPS) or other satellite based positioning system. In addition, it is also known to use an inertial navigation system for determining the vehicle position. For example, use of an inertial navigation system may be useful if satellite positioning signals cannot be received, such as in tunnels or other buildings.
Moreover, there is also the possibility of combining satellite positioning data with measurements of an inertial navigation system to thereby improve accuracy of position estimation. For example, satellite positioning data and measurements of an inertial navigation system may be combined using a correspondingly designed Kalman filter.
However, implementation of vehicle position estimation using both satellite positioning data and measurements of an inertial navigation system may require use of a rather complex Kalman filter to combine the satellite positioning data and the measurements of the inertial navigation system.
Accordingly, there is a need for techniques which allow for efficiently improving accuracy of position estimation using satellite positioning data.
According to an embodiment, a method for vehicle navigation is provided. The method comprises obtaining satellite positioning data from a satellite positioning device of a vehicle, e.g., from a GPS receiver. The method also receives vehicle sensor data from a number of sensors of the vehicle. For example, such sensors may be an odometer which measures the velocity of the vehicle and/or a gyroscopic sensor which measures a yaw rate of the vehicle. Further, the vehicle sensor data may also comprise a steering angle of the vehicle, e.g., as measured by a power steering controller of the vehicle. The method further comprises combining the satellite positioning data and the vehicle sensor data by a Kalman filter to obtain a combined state vector estimate of the vehicle. Typically, the combined state vector estimate will comprise a position of the vehicle, e.g., as defined by geographical coordinates, and also a velocity of the vehicle.
According to the method, the Kalman filter comprises a first filter, a second filter, and a third filter. The first filter receives the satellite positioning data and generates a first state vector estimate of the vehicle and a corresponding first state error covariance matrix. The second filter receives the vehicle sensor data and generates a second state vector estimate of the vehicle and a corresponding second state error covariance matrix. The third filter receives the first state vector estimate, the first state error covariance matrix, the second state vector estimate, and the second state error covariance matrix and generates the combined state vector estimate and a corresponding combined state error covariance matrix. The third filter comprises a prediction processor, which generates a predicted state vector estimate on the basis of the combined state vector estimate and generates a predicted state error covariance matrix on the basis of the combined state error covariance matrix. The predicted state vector estimate and the predicted state error covariance matrix may apply to a future state of the vehicle as expected for a next iteration of the Kalman filter. The predicted state vector estimate and the predicted state error covariance matrix are fed back to the first filter, the second filter, and the third filter.
In the first filter the first state vector estimate can thus be determined by updating the fed back predicted state vector estimate with the received satellite positioning data. The first state error covariance matrix can be determined on the basis of the fed back predicted error covariance matrix and a measurement error covariance matrix of the satellite positioning data.
In the second filter, the second state vector estimate can be determined by updating the fed back predicted state vector estimate with the received satellite positioning data. The second state error covariance matrix can be determined on the basis of the fed back predicted state error covariance matrix and a measurement error covariance matrix of the vehicle sensor data.
In the third filter the combined state error covariance matrix can be determined on the basis of the fed back predicted state error covariance matrix. The combined state vector estimate can be determined on the basis of the fed back predicted state vector estimate and the fed back predicted state error covariance matrix.
The prediction processor of the third filter may be based on a state transition model with a linear state transition matrix.
According to a further embodiment, a navigation system for a vehicle is provided. The navigation system comprises a satellite positioning device, e.g., a GPS receiver, configured to obtain satellite positioning data. Further, the navigation system comprises a Kalman filter. The Kalman filter is configured to obtain a combined state vector estimate of the vehicle by combining the satellite positioning data and vehicle sensor data received from a number of vehicle sensors of the vehicle. The Kalman filter comprises a first filter, a second filter, a third filter, and a feedback arrangement. The first filter is configured to receive the satellite positioning data and generate a first state vector estimate of the vehicle and a corresponding first state error covariance matrix. The second filter is configured to receive the vehicle sensor data and generate a second state vector estimate of the vehicle and a corresponding second state error covariance matrix. The third filter is configured to receive the first state vector estimate, the first state error covariance matrix, the second state vector estimate, and the second state error covariance matrix and generate the combined state vector estimate and a corresponding combined state error covariance matrix. The third filter comprises a prediction processor configured to generate a predicted state vector estimate on the basis of the combined state vector estimate and a predicted state error covariance matrix on the basis of the combined state error covariance matrix. The predicted state vector estimate and the predicted state error covariance matrix may apply to a future state of the vehicle as expected for a next iteration of the Kalman filter. The feedback arrangement of the Kalman filter is configured to feed back the predicted state vector estimate and the predicted state error covariance matrix to the first filter, the second filter, and the third filter.
The navigation system may be configured to perform according to the method as explained above.
According to further embodiment, a vehicle is provided. The vehicle comprises a navigation system as explained above and a number of vehicle sensors configured to provide the vehicle sensor data, e.g., an odometer configured to measure a velocity of the vehicle, a gyroscopic sensor configured to measure a yaw rate of the vehicle, and/or a power steering controller of the vehicle configured to measure a steering angle of the vehicle.
In the above embodiments, positioning accuracy on the basis of the satellite positioning data can be efficiently improved by combining the satellite positioning data with the vehicle sensor data. It is possible to reuse vehicle sensor data as provided by existing vehicle sensors, e.g., an odometer or a sensor for measuring the steering wheel angle as provided in a power steering controller. In addition, simple gyroscopic sensors may be used, such as a gyroscopic sensor for measuring the yaw rate. The structure of the Kalman filter allows for efficiently combining the satellite positioning data and the vehicle sensor data. In particular, the first filter and the second filter do not need to be implemented as complete Kalman filters with prediction of future state vectors and corresponding state error covariance matrices. In addition, the feedback of the predicted state vector estimate and the predicted state error covariance matrix from the third filter to the first filter, the second filter, and the third filter allows for obtaining a global optimum of the combined state vector estimate.
Further embodiments and features thereof, as well as accompanying advantages, will be apparent from the following detailed description of embodiments in connection with the drawings.
These and other objects, features and advantages of the present invention will become apparent in light of the detailed description of the best mode embodiment thereof, as illustrated in the accompanying drawings. In the figures, like reference numerals designate corresponding parts.
In the following, embodiments of the invention will be described with reference to the drawings. It should be noted that features of different embodiments as described herein may be combined with each other as appropriate.
The satellite positioning device 30 is configured to obtain satellite positioning data. For example, the satellite positioning device 30 may evaluate satellite positioning signals so as to measure coordinates of the vehicle, a velocity of the vehicle, and/or a heading angle of the vehicle. These measurements may be represented in the satellite positioning data in the form of a position vector and a velocity vector.
The vehicle sensors are configured to obtain various measurements concerning the state of motion of the vehicle 10. For example, the odometer 62 may be configured to measure the velocity of the vehicle. The gyroscopic sensor 64 may be configured to measure a yaw rate of the vehicle 10. In addition, the steering angle sensor of the power steering controller 66 may be configured to measure a steering angle of the vehicle 10, which is related to the heading angle of the vehicle 10.
As further illustrated in
At step 210, satellite positioning data are obtained, e.g., by a satellite positioning device such as the satellite positioning device 30 of
At step 220, vehicle sensor data are obtained. For example, the vehicle sensor data may be obtained from vehicle sensors as illustrated in
At step 230, the satellite positioning data and the vehicle sensor data are combined by a Kalman filter.
The Kalman filter as used in the navigation system 20 of
Accordingly, in this Kalman filter the first filter may determine the first state vector estimate by updating the fed back predicted state vector estimate with the received satellite positioning data. Further, the first filter may determine the first state error covariance matrix on the basis of the fed back predicted state error covariance matrix and a measurement error covariance matrix of the satellite positing data. Similarly, the second filter may determine the second state vector estimate by updating the fed back predicted state vector estimate with the received vehicle sensor data. Further, the second filter may determine the second state error covariance matrix on the basis of the fed back predicted state error covariance matrix and a measurement error covariance matrix of the vehicle sensor data. The third filter may determine the combined state error covariance matrix on the basis of the fed back predicted state error covariance matrix. Further, the third filter may determine the combined state vector estimate on the basis of the fed back predicted state vector estimate and the fed back predicted state error covariance matrix. The state transition model used by the prediction processor may be based on a linear state transition matrix.
Further details of the Kalman filter as used in the navigation system 20 of
For these explanations, a state space model is assumed in which a state vector is given by
Accordingly, the state vector includes a position in a x-direction denoted by x, a velocity in the x-direction, denoted by {dot over (x)}, a position in a y-direction, denoted by y, and a velocity in the y-direction, denoted by {dot over (y)}.
The state space model may be expressed in continuous form by
In equation (2), the matrix F describes transitions of the state vector on the basis of a physical model for motion of the vehicle. The matrix G describes the influence of disturbances represented by a vector u, and the vector w describes a noise component.
As can be seen from equation (3), a state transition matrix in discrete form can be written as
where Δt denotes a time interval between two discrete states.
An error covariance matrix corresponding to the state transition matrix φ can be expressed as
As mentioned above, two different types of measurement data are received by the Kalman filter.
The first type of measurement data are the satellite positioning data which can be expressed by a vector
in which x denotes the position along the x-direction, y denotes the position along the y-direction, v denotes the absolute value of the velocity, and θ denotes the heading angle of the vehicle.
The second type of measurement data are the vehicle sensor data, which can be expressed by a vector
in which v is the absolute value of the velocity and {dot over (θ)} is the yaw rate of the vehicle.
Here, it should be noted that the vector z2 of equation (7) is merely an example of vehicle sensor data which can be used in embodiments of the invention. For example, the steering angle may be used as an additional measurement value or as an alternative to one of the measurement values in the vector z2, e.g., as a replacement of the yaw rate {dot over (θ)}.
It can be seen that there exist the following relations between the measurement values of equations (6) and (7) and the state vector of equation (1):
These relations are non linear. Accordingly, measurement matrices mapping the measurement vectors z1 and z2 to the state vector space can be expressed in Jacobi matrix form as:
The operation of the Kalman filter will now be further explained by referring to the block diagram of
As shown in
P1,k−1=(Pk−)−1+H1,kTR1−1H1,k (12)
and a first state vector estimate according to
{circumflex over (x)}1=P1,k((Pk−1)—1{circumflex over (x)}k−1+H1,kTR1−1z1,k (13)
Here, H1,k denotes the first measurement matrix, as calculated according to equation (10), in iteration k. Further, H1,kT denotes the transposed first measurement matrix. R1 denotes a first measurement error matrix representing measurement errors in obtaining the satellite positioning data. Pk− represents a predicted state error covariance matrix, and {circumflex over (x)}k− represents a predicted state vector estimate. The first filter 42 obtains the predicted state error covariance matrix Pk− and the predicted state vector estimate {circumflex over (x)}k− via feedback from the third filter 46.
Alternatively, the operation of the first filter 42 can also be expressed by first calculating a first Kalman gain according to
K1,k=P1,kH1,kTR1−1 (14)
and calculating the first state vector estimate according to
{circumflex over (x)}1,k=P1,k((Pk−)−1{circumflex over (x)}k−1+H1,kTR1−1z1,k). (15)
The calculations of equations (13) and (15) correspond to an updating of the predicted state vector estimate {circumflex over (x)}k− with the received satellite positioning data.
As shown in
P2,k−1=(Pk−1)−1+H2,kTR2−1H2,k (16)
and a second state vector estimate according to
{circumflex over (x)}2=P2,k((Pk−1)−1{circumflex over (x)}k−1+H2,kTR2−1z2,k) (17)
Here, H2,k denotes the second measurement matrix, as calculated according to equation (11), in iteration k. Further, H2,kT denotes the transposed second measurement matrix. R2 denotes a second measurement error matrix representing measurement errors in obtaining the satellite positioning data. Pk− represents a predicted state error covariance matrix, and {circumflex over (x)}k− represents a predicted state vector estimate. The second filter 44 obtains the predicted state error covariance matrix Pk− and the predicted state vector estimate {circumflex over (x)}k− via feedback from the third filter 46.
Alternatively, the operation of the second filter 44 can also be expressed by first calculating a second Kalman gain according to
K2,k=P2,kH2,kTR2−1 (18)
and calculating the second state vector estimate according to
{circumflex over (x)}2=P2,k((Pk−)−1{circumflex over (x)}k−+H2,kTR2−1z2,k). (19)
The calculations of equations (17) and (19) correspond to an updating of the predicted state vector estimate {circumflex over (x)}k− with the received vehicle sensor data.
As further shown in
The third filter 46 determines a combined state error covariance matrix according to
Pk−1=P1,k−1+P2,k−1−(Pk−)−1 (20)
and a combined state vector estimate according to
{circumflex over (x)}k=Pk(P1,k−1{circumflex over (x)}1,k+P2,k−1{circumflex over (x)}2,k−(Pk−)−1{circumflex over (x)}k−) (21)
Since equations (20) and (21) are based on the inverse of the first state error covariance matrix P1,k−1 and the inverse of the second state error covariance matrix P2,k−1, these may be supplied from the first and second filters 42, 44 in inverted form, as indicated by the annotations in
As can be seen, also equations (20) and (21) are based on the predicted state vector estimate {circumflex over (x)}k− and the corresponding predicted state error covariance matrix Pk−1. The third filter 46 receives these as local feedback parameters from the prediction processor 48.
The prediction processor 48 operates on the basis of a state transition model as explained above and calculates the predicted state vector estimate for the next iteration according to
{circumflex over (x)}k+1−=φ{circumflex over (x)}k (22)
and calculates the predicted state error covariance matrix for the next iteration according to
Pk+1−=φPkφT+Q (23)
Further, the third filter 46 supplies the predicted state vector estimate {circumflex over (x)}k+1− for the next iteration and the predicted state error covariance matrix Pk+1− to the first filter 42 and the second filter 44. The predicted state vector estimate {circumflex over (x)}k+1− and the predicted state error covariance matrix Pk+1− can therefore be used in each of the filters 42, 44, 46 in the operations of the next iteration step, i.e., of iteration k+1.
In the above calculations, it should be noted that the measurement matrices H1 and H2 are to be calculated on the basis of the predicted state vector estimate {circumflex over (x)}k− as well, using the expressions of equations (10) and (11). Further, the measurement error covariance matrices R1 and R2 can be statically determined, i.e., assuming that measurement errors occur independently from each other, which would result in a diagonal structure of these matrices in which the diagonal elements are variances of the measurement errors corresponding to the respective components of the measurement vector. Further, it is to be understood that at a starting point of the iterative Kalman filtering process, starting values need to be set appropriately. In particular, a starting value of the predicted state vector estimate and a starting value of the predicted state error covariance matrix may be set. Such starting values may for example be based on initial satellite positioning data and appropriate assumptions for the measurement errors of the satellite positioning data.
The Kalman filter as used in the above described embodiments may be implemented by using correspondingly configured computer program code to be executed by a processor.
In this implementation, the navigation system 20 comprises a satellite positioning receiver, e.g., a GPS receiver, a vehicle sensor interface, e.g., implemented by a vehicle bus system, such as the CAN (Controller Area Network) bus. Further, the navigation system 20 comprises a memory 160 storing software code modules and/or data to be used by the processor 150. Further, the navigation system 20 of the illustrated implementation comprises a user interface 170.
The satellite positioning receiver 130 has the purpose of receiving satellite positioning signals and generating signal processing data therefrom, e.g., in the form of pseudo-ranges, geographical coordinates, velocities and/or heading angles of the vehicle. The satellite positioning receiver supplies the satellite positioning data to the processor 150. Here, it is to be understood that the processor 150 may perform further conditioning of the satellite positioning data, e.g., conversion of pseudo-ranges to geographical coordinates, velocities, and/or heading angles.
The vehicle sensor interface 140 is configured to receive vehicle sensor data from various types of vehicle sensors, such as an odometer, a gyroscopic sensor, and/or a steering angle sensor of a power steering controller. Accordingly, the vehicle data may comprise a velocity as measured by an odometer, a yaw rate as measured by a gyroscopic sensor, and/or a steering angle as measured by a power steering controller of the vehicle.
The user interface 170 may be configured to implement various types of interaction with a user. For this purpose, the user interface 170 may comprise a graphical or text display, e.g., for displaying navigation information to a vehicle user, an acoustic output device, such as a loudspeaker, e.g., for outputting acoustic navigation instructions to the vehicle user, and/or an input device for receiving inputs from the vehicle user.
The memory 160 may include a read-only memory (ROM), e.g., a flash ROM, a random-access memory (RAM), e.g., a dynamic RAM (DRAM) or static RAM (SRAM), a mass storage, e.g., a hard disk or solid state disk, or the like. As mentioned above, the memory 160 may include suitably configured program code to be executed by the processor 150 and data to be used by the processor 150. In this way, the navigation system 20 may be configured to operate as explained in connection with
It is to be understood that the implementation of the navigation system 20 as illustrated in
It should be noted that the examples and embodiments as explained above have the purpose of illustrating concepts according to some embodiments of the present invention and are susceptible to various modifications. For example, the concepts as explained above may be used to combine satellite positioning data with vehicle sensor data from any number of vehicle sensors, which may include the examples of vehicle sensor data as mentioned above or may be different therefrom. Also, it is to be understood that details of the calculations in the different components of the Kalman filter may be modified as appropriate, e.g., to take into account a refined measurement error model.
Although the present invention has been illustrated and described with respect to several preferred embodiments thereof, various changes, omissions and additions to the form and detail thereof, may be made therein, without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
11176400 | Aug 2011 | EP | regional |
Number | Name | Date | Kind |
---|---|---|---|
5343209 | Sennott et al. | Aug 1994 | A |
5957982 | Hughes et al. | Sep 1999 | A |
6266584 | Hur-Diaz et al. | Jul 2001 | B1 |
6408245 | An et al. | Jun 2002 | B1 |
6453238 | Brodie et al. | Sep 2002 | B1 |
6643587 | Brodie et al. | Nov 2003 | B2 |
7289906 | van der Merwe et al. | Oct 2007 | B2 |
7490008 | Draganov | Feb 2009 | B2 |
20040150557 | Ford | Aug 2004 | A1 |
20060074558 | Williamson et al. | Apr 2006 | A1 |
20110001663 | Anand et al. | Jan 2011 | A1 |
Entry |
---|
Chang et al, Performance Evaluation of Track Fusion with Information Matrix Filter, IEEE Transactions on Aerospace and Electronic Systems, vol. 38, ISS. 2, 2002, pp. 455-466. |
Eom et al, Hierarchical Object Recognition Algorithm Based on Kalman Filter for Adaptive Cruise Control System Using Scanning Laser, 1999 IEEE 49th Vehicular Technology Conference, 1999, pp. 2343-2347. |
Wagli, “Trajectory Determination and Analysis in Sports by Satellite and Inertial Navigation”, Jan. 2009, , pp. 1-6, I, XP002564487, http://biblion.epfl.ch/EPFL/theses/2009/4288/EPFL—TH4288.pdf. |
Number | Date | Country | |
---|---|---|---|
20130035855 A1 | Feb 2013 | US |