This invention relates to the field of robotics, and more particularly to the driftless attitude determination and reliable localization of vehicles, such as mobile robots, waking robots, or humanoid robots.
Both position and attitude determination of a mobile robot are necessary for navigation, guidance and steering control of the robot. Dead-reckoning using vehicle kinematic model and incremental measurement of wheel encoders are the common techniques to determine the position and orientation of mobile robots for indoor applications. However, the application of this technique for localization of outdoor robots is limited, particularly when the robot has to traverse an uneven terrain or loose soils. This is because wheel slippage and wheel imperfection cause quick accumulation of the position and attitude errors.
The problem with inertial systems is that they require additional information about absolute position and orientation to overcome long-term drift. An attitude estimation system based on utilization of multiple inertial measurements of a mobile robots is known. Only pitch and roll angles may be estimated in this method by using gravity components deduced from measurements of two accelerometer, but the yaw angle is not detectable. An integrated inertial platform consisting of three rate gyros, a triaxial accelerometer and two tilt sensors is known to minimize long-term drift. Other research focuses on using vision system as the absolute sensing mechanism required to update the prediction position obtained by inertial measurements.
Attitude determination GPS (ADGPS) using a multi-GPS antenna technology, in which the receiver gives not only the position but also the velocity data, are used for airborne applications as well as marine vessels and ships. Integration of such a GPS system and Inertial Navigation System (INS) is straightforward because attitude measurements from the two systems is directly available. ADGPS however need large antenna separation, e.g., 17 m, for offering competitive accuracy for azimuth and pitch determination of a ship. Multiple GPS antennas with separation distance of 11 m has been tried for attitude determination of aircraft. Methods for attitude estimation of UAVs based on position and velocity information obtained from a single GPS antenna have been disclosed. Since the velocity information is obtained from the Doppler shift measurement of the GPS carrier signals, these methods are suitable for fast moving vehicles such as UAVs, but not for mobile robots or humanoid robots.
Nowadays, differential Global Navigation Satellite Systems (GNSSs) to centimeter-level accuracy are commercially available making them attractive for localization, guidance and control of outdoor mobile robots. GNSS is the generic term for a satellite-based navigation system, such as the Global Positioning System (GPS), the Russian GLONASS, or European Galileo systems, and the term will be used in this specification to encompass all such systems. It will also be understood that in some environments, such as on mars, a satellite-based system may not be available. However, in such environments, it is possible to replace the satellites by transmitters placed at fixed locations that are functionally equivalent to satellites. Such transmitters are known as “pseudolites”, and it will be understood that the expression GNSS as used herein will also encompass such pseudolite-based systems. However, for convenience the invention will be described specifically in the context of the GPS system, which is the most widely used system today.
In conventional GPS, the pseudo ranges to satellites are measured by aligning the locally generated pseudorandom signal to the received signal. In Real Time Kinematic (RTK) GPS, and more specifically RTK GPS, an attempt is made to align the carriers rather than the signals modulated on to the carriers. Since the carriers are about 1000 times faster than the signals, considerable improvements in accuracy over conventional GPS can be achieved.
One method of improving the accuracy of localization systems using RTK GPS in the presence of GPS latency is to use a localization algorithm based on Kalman filtering that tries to fuse information coming from an inexpensive single GPS with inertial data and map-based data. A decentralized data fusion algorithm for simultaneous position estimation of a land vehicle and building the map of the environment by incorporating data from inertial sensor, GPS, laser scanner, the wheel and steering encoders is described in J. Vaganay, M. J. Aldon and A. Fournier, “Mobile robot attitude estimation by fusion of intertial data”, IEEE Int Conference on Robotics & Automation, Atlanta Georgia, May 1993, pp 277-282.
The use of vision systems has also been investigated. However, vision systems have proven to be sensitive to the lighting condition of the environment.
According to a first aspect of the present invention there is provided a method of determining positional information about a vehicle, comprising: computing estimates of the covariance matrices of Real Time Kinematic (RTK) Global Satellite Navigation System (GNSS) measurement data obtained by at least two GNSS receivers mounted on the mobile vehicle; and fusing the RTK GNSS measurement data according to their corresponding covariance matrices to obtain enhanced positional information.
Embodiments of the invention provide a method for estimating vehicle attitude and position, in three dimensions, by optimally fusing two RTK GNSS measurements, accelerometric measurements of gravity from an accelerometer (or an inclinometer instrument) and angular rate measurements from a rate gyro. The relation between the GPS noises and the difference between the measured and actual antenna-to-antenna baselines is developed that allows to estimate the covariance matrix of the GNSS measurement noises.
First, the covariance matrices associated with the two RTK GNSS measurements are estimated based on the error on the magnitude of the antenna-to-antenna baseline measurement and the confidence of the GNSS receivers on the horizontal and vertical axes measurements. Then, the observation vector is constructed from the measurements of the onboard accelerometer and two RTK GNSSs. The measurement of the onboard rate gyro, the discrete-time observation as well as the estimated measurement covariance matrices are used by an Extended Kalman filter for driftless attitude determination of the mobile robot. Finally, the estimated attitude (in term of quaternion), RTK GPS measurements and the estimated covariance matrixes are used by another estimator to optimally localize the mobile robot by taking advantage of the redundancy in the GPS measurements plus the knowledge of the GNSS noise characteristics. This allows enhancing the accuracy and robustness of the GNSS-based localization of vehicles.
According to a second aspect of the invention there is provided an apparatus for determining positional information about a vehicle, comprising: at least two GNSS receivers for mounting on the vehicle robot and defining an antenna-to-antenna baseline therebetween; and a processor configured to compute estimates of the covariance matrices of Real Time Kinematic (RTK) Global Satellite Navigation System (GNSS) measurement data obtained by at least two GNSS receivers mounted on the vehicle, and to fuse the RTK GNSS measurement data according to their corresponding covariance matrices to obtain enhanced positional information.
A further aspect of the invention provides an apparatus for determining positional information about a vehicle, comprising at least two GNSS receivers for mounting on the vehicle and defining an antenna-to-antenna baseline therebetween; an inertial Measurement Unit (IMU) for obtaining data about the movement of the mobile robot; and a processor configured to and to fuse the RTK GNSS measurement data and the data from the IMU to obtain enhanced positional information.
The invention will now be described in more detail, by way of example only, with reference to the accompanying drawings, in which:
The apparatus shown in
The mobile robot 1 also includes a processor 10, which may be a general-purpose computer, comprising a plurality of software/and or hardware modules, namely a covariance estimation module 11, a stochastic estimator module 12, an observation vector module 13, and an extended Kalman filter module 14, and an initializer 18.
The signals from the receivers 4 are subtracted from each other in subtraction module 15.
It will be understood that the various modules can be implemented in software, hardware or a combination of the two.
A base antenna 16 is also provided at a fixed location as is known in RTK GPS.
The method of estimating robot attitude and position, in three dimensions, involves optimally fusing two RTK GPS measurements, accelerometric measurements of gravity from an accelerometer (or an inclinometer) and angular rate measurements from a rate gyro in the Kalman filter 14 (KF). In addition to the pose, the KF 14 also estimates the gyro bias.
RTK GPS devices notoriously suffer from signal robustness issue as their signal can be easily disturbed by many factors such as satellite geometry, atmospheric condition and shadow. To deal with the uncertain GPS noise problem, the covariance matrix of the GPS noises is estimated in real-time so that the KF filter 14 is continually “tuned” as well as possible.
Kinematics
A(q)=(2qo2−1)13+2qo[qv×]+2qvqvT, (1)
where [.×] denotes the matrix form of the cross-product. Consider quaternions q1, q2, and q3. Then, A(q3)=A(q1)A(q1) and q3=q2q1 are equivalent, where denotes the quaternion-product and the operators [q] is defined, analogous to the cross-product matrix as
The conjugate q* of a quaternion is defined such that q*q=qq*=[0 0 0 1]T.
Now, assume that vector r represents the location of the origin of frame {B} that is expressed in coordinate frame {A}, and pi is the output of the ith GPS measurement. Apparently, from
p
i
=r+A(q)ei+vp
where constant vectors eis are the locations of the GPS antennas in the vehicle-fixed frame and vp
The IMU 20 is equipped with an accelerometer which can be used for accelerometric measurements of gravity. In general, accelerometer output contain components of the acceleration of gravity and the inertial acceleration. In mobile robots, the level of inertial acceleration is negligible compared to the acceleration of gravity; typically maximum inertial acceleration is about 0.02 g. Therefore, despite the fact that estimation of the inertial acceleration of the robot can be obtained from the GPS data, it is sufficient to model the inertial acceleration as a measurement noise in the KF. Let assume that a be the accelerometer output. Then, the acceleration equation can be written as
where ∥•∥ denotes the Euclidean norm, and unit vector k is defined to be aligned with the gravity vector in frame {A}, while va captures the accelerometer noise and inertial acceleration all together. We treat va as a random walk noise with covariance E[vavaT]=σa213.
Observation Equations
The objective of the extended Kalman filter (EKF) is to determine the vehicle attitude and position by fusing the IMU and GPS measurements.
In principle, the attitude of a rigid body can be determined from two non-collinear position vectors each of which expressed each in two coordinate systems. Equation (3) gives the gravity vector in both frames, while the baseline vector Δp≅p1−p2 is the rotated version of the vector from one antenna to the other, i.e., e1−e2. Therefore, equations (2) and (3) suffice to obtain the attitude q and the position r. However, this will lead to an inaccurate estimate because of low signal-to-noise ratio of the Δp measurement. Denoting vectors Δe=e1−e2 and vp=vp
and the RHS of (5) is obtained by the first-order approximation of the norm of summation of two vectors. Antenna-to-antenna baseline ∥Δe∥ is approximately 1 m, whereas the GPS error isabout ±5 cm. This means that the error in measurement of orientation of vector Δp is about 10%, which is far from desired accuracy. The two GPS observations in conjunction with the measurements of the acceleration gravity are used as external updates in an elaborate Kalman filter integrating a rate gyro data with the observation data.
In the described embodiment, the IMU signals are given at the rate of 20 Hz, whereas the GPS data can be acquired at the rate of 1 Hz. Therefore, an average of the IMU signal can be obtained between two consecutive GPS data acquisitions. This tends to decrease the IMU noise. Therefore, the discrete-time measurement of the acceleration can be obtained by averaging through integration of the IMU signals at that interval tk−tΔ<t≦tk, where tΔ denotes the GPS sampling rate, i.e.,
Therefore, the discrete-time measurement vector is defined as
In view of (2), (3) and (6), the observation vector as a function of the discrete-time variables qk and kk can be written as
Thus, the observation equation is
is the overall additive measurement noise. Assuming that the noises of the two GPS receivers are not mutually corrected and that they are also not corrected with the IMU noise, the covariance matrix of the measurement noise takes the form
where
is the covariance matrix associated with the measurement nose of the ith GPS.
The discrete-time observation vector (7) is a nonlinear function of the quaternion. To linearize the observation vector, one also needs to derive the sensitivity of the nonlinear observation vector with respect to the system variables. To this end, consider small orientation perturbations
δq=q
around a nominal quaternion
A(δq)≈13+2[δqv×].
To take the decomposition rules of quaternion into account, the state vector to be estimated by the EKF is defined as
x=col(δqv,b) (10)
where vector b is the corresponding gyro bias. Thus, the sensitivity matrix can be written as
where Ā=A(
zk≈Hxk±vk (12)
Covariance Estimation of the GPS Error
Efficient implementation of the KF requires the statistical characteristics of the measurement noise. The IMU noises are not usually characterized by time-invariant covariance. Therefore, σa is a constant parameter, which can be either derived from the sensor specification or empirically tuned. The GPS noise characteristics, however, are time-varying; the errors vary depending on many factors such as satellite geometry, atmospheric condition, multipath areas, and shadow.
The covariance of the GPS antenna-to-antenna measurements can be estimated from the difference between ∥Δp∥ and ∥Δe∥, which are both the antenna to antenna baselines expressed in two different frames. The magnitude of a vector is invariant under rotation transformation, i.e., ideally ∥Δp∥=∥Δe∥ if GPS data is noise-free. However, from the error equation (4), we can infer that
E[(∥Δpk∥−∥Δe∥)2]=Δ{tilde over (p)}kTRp
If the covariance matrix is assumed diagonal as
Rp
then σp
σp
Most Real Time Kinematic (RTK) GPS receivers can estimate the confidence on their position measurements in real-time that allows us to characterize the covariance matrix more accurately. Typically, the positions of horizontal axes are measured with the same confidence, while the height measurements are given with less confidence. Therefore, for the i-th GPS, we can say Ci=diag(ch
Rp
where the scaling factor ρ is yet to be found. Substituting (15) in the RHS of (13) yields
Thus, the covariance matrix of the GPS noise can be computed from
Attitude Estimation
The relation between the time derivative of the quaternion and the angular velocity ω can be readily expressed by
The angular rate obtained from the gyro measurement is
ωg=ω−b−εg (17)
where b is the corresponding bias vector; εg is the angular random walk noises with covariances E[εgεgT]=σg213. The gyro bias is traditionally modeled as
{dot over (b)}=εb, (18)
where εb is the random walk with covariances E[εbεbT]=σb213. Then, adopting a linearization technique one can linearize (16) about the nominal quaternion
to obtain
Since δqo is not an independent variable and it has variations of only the second order, its time derivative can be ignored. Setting the dynamics equations (19) and (18) in the standard state space form, gives
where ε=col(εg,εb); and
Observabilty Analysis
A successful use of Kalman filtering requires that the system be observable. A linear time-invariant (LTI) systems is said to be globally observable if and only if its observability matrix is full rank. The observability matrix associated with linearized system (20) together with the observation model (11) is
O=[H
T(HF)T . . . (HF5)T]T.
The states of the system are assumed to be completely observable if and only if rank 0 =6 (21)
which is equivalent to O having 18 independent rows.
Although the described system is not time-invariant as F and H are defined on the nominal trajectory at a frozen instant in time, examination of the LTI observability measure can still provide a useful insight into the local observability of the system at that time. To this end, we construct the submatrices of the observability matrix O, i.e.,
where k′=ĀTk is the unit gravity vector expressed in the vehicle frame and we used the identity ĀT[k×]Ā=[k′×] to obtain (22). The observability matrix can be reduced to the following block-triangular matrix by few elementary Matrix Row Operations (MRO)
and hence rank O=rank O′. It is clear from (23) that the full rankness of the block-triangular matrix rests on the invertibility of the square matrix M. In other words, if M is invertible, then the system is observable.
Proposition 1 If a line connecting the two GPS antennas is not collinear with the gravity vector, then system (12)-(20) is observable.
Proof: In a proof by contradiction, we show that M ∈ R3×3 must be a full-rank matrix. If M is not full-rank, then there must exist a non-zero vector η≠ 03×1 such that
Mη=03×1 (25)
In view of definition (24) and the property of the vector product of three vectors {a, b, c},
a×(b×c)=(a·c)b−(a·b)c,
one can easily show that LHS of (25) is equivalent to
in which, the inequality of (26) is inferred from the fact that vectors k′ and Δe are not parallel and hence they can not annihilate one other. Therefore, it is not possible for (25) to be true meaning that matrix M must be full rank.
Discrete Time Model
The equivalent discrete-time model of (20) is
x
k+1=Φkxk+wk (27)
where Φk=Φ(tk+tΔ,tk) is the state transition matrix over time interval tΔ. In order to find a closed form solution for the state transition matrix, we need the nominal values. The nominal values of the relevant states at interval tk<τ≦k+tΔ are obtained from the latest estimate update, i.e.,
Therefore, the nominal angular velocity remains constant in the interval. Under these circumstances, the state transition matrix can be obtained in closed form for constant angular velocity or for varying angular velocity remains constant in direction. Let us define θk(τ)=
where the elements of the above matrix are given as
Let Σe=blockdiag(σg213,σb213) be the continuous-time covariance matrix of the entire process noise. Then, the corresponding discrete-time covariance matrix is
which has the following structure
For small angle θk, where
the elements of the state-transition matrix (30) can be effectively simplified. Then, upon integration of the substitution of the simplified state transition matrix into (31) we arrive at
Estimator Design
The state transition matrix (29) is used only for covariance propagation, while the system states have to be propagated separately by solving their own differential equations. Let us compose the redundant state ax=col(q,b), which contains the full quaternion q and parameters b. Combining (16), (18), we then describe the state-space model of the system as
a
{dot over (x)}=f(ax,ε)
The EKF-based observer for the associated noisy discrete system (27) is given in two steps: (i) estimate correction
K
k
=P
k
−
H
k
T(HkPk−HkT±Rk)−1 (33)
{circumflex over (x)}
k
={circumflex over (x)}
k
−
+K(zk−h({circumflex over (χ)}k−)) (34)
P
k=(112−KkHk)Pk− (35)
and (ii) estimate propagation
a
{circumflex over (x)}
k+1
−=a{circumflex over (x)}k+∫t
P
k+1
−=ΦkPkΦkT+Qk (37)
The vector of discrete-time states, xk, which is to be estimated by the KF, contains only the variations δqv
δ{circumflex over (q)}k−={circumflex over (q)}k−
A natural choice for the nominal value of quaternion is its update estimate as
It can be shown that the above exponential matrix function has a closed-form expression so that the above equation can be written as
From (38), the KF step, i.e., (34), can be written in terms of the full quaternion, qk instead of its variation δqv
where
Substituting (40) into (42) gives
Initialization of the Kalman Filter
For the first iteration of the EKF, an adequate guess of the initial states is required. The best guess for the parameters at t=0 s is =03, while the initial orientation of the vehicle with respect to the inertial frame at t=0 s is not known beforehand. It is that presumed ∥δqv∥≦1. If this condition is violated, the error quaternion will not be unit norm. To prevent this from happening, it is important to keep the initial error in quaternion estimate small as much as possible.
Mathematically, the rotation matrix can be computed from two non-collinear unit vectors k and Δ{tilde over (p)} and their rotated versions ã≅a/∥a∥ and Δ{tilde over (e)}. Similar to the methods for registration of 3-D laser scanning data, let us form the following matrices from the units vectors as
D
a
=[k Δ{tilde over (p)} k×Δ{tilde over (p)}] (43)
D
b
=[ã Δ{tilde over (e)} ã×Δ{tilde over (e)}] (44)
Then, in the absence of measurement noise, i.e., v≡0, the above matrices are related by
Da=ADb (45)
Matrices Da and Db are non singular as long as k and Δ{tilde over (j)} are not collinear, i.e., the line connecting the GPS antennas is not parallel to the gravity vector. Then, under this circumstance, the rotation matrix can be obtained from
A=D
a
D
b
−1 (46)
Solution (46) yields a valid rotation matrix A so that ATA=13 , only if there is no error in the column vectors of matrices (45). However, due to the IMU and GPS noises, a valid rotation matrix may not be obtained from solution (46). To correct this problem, one may observe that all singular values of any orthogonal matrix must be one. This means that the singular value decomposition of the RHS of (33) yields
D
a
D
b
−1
=UΣV
T,
where U and V are orthogonal matrices and matrix Σ=13+ΔΣ is expected to be close to the identity matrix, i.e., ∥ΔΣ∥1. Therefore, by ignoring small matrix ΔΣ, a valid solution to the rotation matrix can be found as
Â=UVT, (47)
which then can be used to obtain the equivalent quaternion at t=0 s.
Position Estimation
With the estimation of attitude in hand, one can use the two sets of position and orientation equations (4) to compute r. Despite an estimate of r can be obtained from one set of equations, a better estimation can be achieved by solving two equations together if the measurement noise characteristic is known.
Setting the two GPS equations (4) in the matrix form, we get
while GPS measurement errors and attitude estimation errors are respectively represented by vectors
Using the argument that mutual correlation between np and nq is negligible, we can write the covariance matrix of the entire noise in (48) as:
where Pq=E[δ{tilde over (q)}vδ{tilde over (q)}vT] ∈ R3×3. Since the Kalman filer gives the covariance matrix of all estimated states including the quaternion, one can get Pq from the filter covariance matrix as
Then an optimal solution to (48) can be obtained by the weighted pseudo inverse where a suitable weighting matrix is the covariance matrix of the noise. That is
Using (48) in (50) yields
{circumflex over (r)}=(LTRr−1L)−1LTRr−1
If the orientation estimation error is sufficiently small, i.e., the second term in RHS of (49) is negligible, then (50) can be conveniently written as
{circumflex over (r)}=W
1(p1−Ae1)+W2(p2−Ae2),
where the weighting matrices are defined as
W1≅Rp
W2≅Rp
It is worth noting that W1+W2=13. This means that the estimator (51) proportionally puts more weight on that GPS measurement with the smallest covariance matrix in order to estimate the position.
Experimental Verification
The test vehicle was equipped with three RTK GPS antennas as shown in
Assume that p3 and e3 denote the third GPS measurement and the location of its antenna on the vehicle, respectively. Also, denote Δp′=p1−p3 and Δe′=e1−e3 and
N
a
=[Δp Δp′ Δp×Δp′]
N
b
=[Δe Δe′ Δe×Δe′] (54)
where identity Na=ANb holds in the absence of GPS measurement noise. Therefore, in a development similar to (40) -(47), one can calculate the rotation matrix from the above matrices.
A rover equipped with three RTK GPS receivers along with satellite antennas and radio modems (model Promark3RTK from Magellan Navigation Inc.) in addition to an INIU device from Crossbow Technology, Inc. (model IMU300) was used for experiments. Experiments were conducted on the 30×60 m Mars Emulation Terrain (MET) of the Canadian Space Agency. The locations of the GPS antennas expressed in the vehicle-frame are shown in the following table. The additional GPS receiver was provided to permit estimation of the vehicle pose indpendently of the IMU measurements.
An operator sent a pre-scheduled sequence of primitive commands to the mobile robot-e.g., “move forward of a certain distance”, “rotate clockwise by 45°”, etc-so that the robot follows a preplanned path going through some specified via points.
The Two-GPS-IMU fusion method was compared with One-GPS-IMU method. Although it was not possible to obtain ground truth attitude and position information during the test, it was possible to obtain an estimate of the attitude without any drift and a fairly reliable estimate of position by processing the data acquired from the three GPS receivers.
Position Error=∥{circumflex over (r)}−rref∥
Orientation Error=2 sin−1∥vec(qref{circumflex over (q)}*)∥
and the results are plotted in
The described system can be used for outdoor mobile robots for terrestial applications and to provide a ground-truth pose estimation of a vehicle during testing. The system is also applicable to applications on other worlds, such as the Moon or Mars, where low power pseudolites can be substituted for orbiting satellites.