Method for dynamic autocalibration of a multi-sensor tracking system and apparatus incorporating it therein
First Claim
1. A method for dynamic autocalibration of a multi-sensor tracking system, having a system state xi within a state space, including the steps of:
- a. dividing the state space into a plurality of patches pj;
b. providing a variable bias map including a plurality of bias entries {circumflex over (B)}j with each particular one of the plurality of bias entries {circumflex over (B)}j associated with a particular one of the plurality of patches pj;
c. providing a vector zi of inputs from a plurality of sensors for a given time step i;
d. determining the patch pj to which the vector zi from the plurality of sensors applies;
e. combining the vector zi with the bias entry {circumflex over (B)}j corresponding to the patch pj to which the input zi from the plurality of sensors applies to provide a bias adjusted sensor input;
f. providing a state estimator to receive the bias adjusted sensor input and to produce a system state estimation {circumflex over (x)}i corresponding to the time step i;
g. using a combination of the bias adjusted sensor input and the system state estimation {circumflex over (x)}i to adjust the bias entry {circumflex over (B)}j of the variable bias map corresponding to the patch pj to which the input zi from the plurality of sensors applies; and
h. repeating steps c through g for each time step i to provide a continual system update.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for dynamic auto-calibration of a multi-sensor tracking system and apparatus incorporating it therein are presented. The method and apparatus utilize information from complementary sensors, filtered by a simultaneously running filter that combines the sensor data into an estimate of the state of the monitored system to iteratively tune the bias estimate. To track a dynamic system, complimentary or redundant sensors may be combined with a model of the system so that the uncertainty in the estimated state of the dynamic system is less than the noise in the individual sensors. In addition to noise, the sensors may have bias, which has the same value whenever the system is in a particular state. While estimating the actual value of the state, the present invention allows the estimator to determine the bias. The present invention, in its most general embodiment requires complex computations. However, significant simplifications have also been developed, which reduce the necessary computational power to a manageable level. The present invention has been reduced to practice in the context of a head-tracking system employing a plurality of sensors to determine the orientation of a human head.
60 Citations
28 Claims
-
1. A method for dynamic autocalibration of a multi-sensor tracking system, having a system state xi within a state space, including the steps of:
-
a. dividing the state space into a plurality of patches pj;
b. providing a variable bias map including a plurality of bias entries {circumflex over (B)}j with each particular one of the plurality of bias entries {circumflex over (B)}j associated with a particular one of the plurality of patches pj;
c. providing a vector zi of inputs from a plurality of sensors for a given time step i;
d. determining the patch pj to which the vector zi from the plurality of sensors applies;
e. combining the vector zi with the bias entry {circumflex over (B)}j corresponding to the patch pj to which the input zi from the plurality of sensors applies to provide a bias adjusted sensor input;
f. providing a state estimator to receive the bias adjusted sensor input and to produce a system state estimation {circumflex over (x)}i corresponding to the time step i;
g. using a combination of the bias adjusted sensor input and the system state estimation {circumflex over (x)}i to adjust the bias entry {circumflex over (B)}j of the variable bias map corresponding to the patch pj to which the input zi from the plurality of sensors applies; and
h. repeating steps c through g for each time step i to provide a continual system update. - View Dependent Claims (2, 3, 4, 5, 6, 7)
a. obtaining a calibration bias pair including an externally specified calibration bias {circumflex over (B)} and a corresponding system state calibration value x*; and
b. applying the calibration bias pair to the variable bias map to eliminate the constant bias offset.
-
-
3. A method for dynamic autocalibration of a multi-sensor tracking system as set forth in claim 2, wherein a learning rate γ
- ′
is determined prior to the beginning of the repitition of steps c through g, and wherein the adjustment of the variable bias map is performed by means of gradient descent utilizing the learning rate γ
′ and
the combination of the bias adjusted sensor input and the system state estimate {circumflex over (x)}i.
- ′
-
4. A method for dynamic autocalibration of a multi-sensor tracking system as set forth in claim 3, wherein the next state of the system xi+1, corresponding to the next time step i+1, is modeled by
-
5. A method for dynamic autocalibration of a multi-sensor tracking system as set forth in claim 3, wherein the gradient descent is performed parametrically.
-
6. A method for dynamic autocalibration of a multi-sensor tracking system as set forth in claim 4, wherein the vector zi from the plurality of sensors depends on the system state xi corresponding to the time step i by the following relationship,
-
7. A method for dynamic autocalibration of a multi-sensor tracking system as set forth in claim 6, wherein the calculation of the Jacobian is simplified into the following relationship,
-
d i ∂ B ^ j = - I , and is used in the adjustment of the bias entries {circumflex over (B)}j.
-
-
8. A method for dynamic autocalibration of a multi-sensor tracking system including the steps of:
-
a. providing a variable bias map parameterized by a plurality of weights;
b. providing a vector zi of inputs from a plurality of sensors for a given time step i;
c. combining the vector zi with a bias estimate {circumflex over (B)} derived from the variable bias map to provide a bias adjusted sensor input;
d. providing a state estimator to receive the bias adjusted sensor input and to produce a system state estimation {circumflex over (x)}i corresponding to the time step i;
e. using a combination of the bias adjusted sensor input and the system state estimation {circumflex over (x)}i to adjust the plurality of weights of the variable bias map; and
f. repeating steps b through e for each time step i to provide a continual system update. - View Dependent Claims (9, 10, 11, 12, 13, 14)
a. obtaining a calibration bias pair including an externally specified calibration bias {circumflex over (B)}* and a corresponding system state calibration value x*; and
b. applying the calibration bias pair to the variable bias map to eliminate the constant bias offset.
-
-
10. A method for dynamic autocalibration of a multi-sensor tracking system as set forth in claim 9, wherein a learning rate γ
- ′
is determined prior to the beginning of the repitition of steps c through g, and wherein the adjustment of the variable bias map is performed by means of gradient descent utilizing the learning rate γ
′ and
the combination of the bias adjusted sensor input and the system state estimate {circumflex over (x)}i.
- ′
-
11. A method for dynamic autocalibration of a multi-sensor tracking system as set forth in claim 10, wherein the variable bias map includes a plurality l of Gaussian fuzzy sets Wl, and the bias estimate {circumflex over (B)} is defined by
-
( x ^ l ) = ∑ l = 1 N W l - x ^ i - c l 2 σ W 2 where N represents the total number of Gaussian fuzzy sets Wl in the bias map, σ
W2 defines the widths of the Gaussian fuzzy sets Wl, l is an indexing variable, and cl defines the center of the lth Gaussian fuzzy set Wl.
-
-
12. A method for dynamic autocalibration of a multi-sensor tracking system as set forth in claim 11, wherein cl=10l, σ
- =20, N=36, and ∥
{circumflex over (x)}i−
cl∥
2=({circumflex over (x)}i−
10l)2.
- =20, N=36, and ∥
-
13. A method for dynamic autocalibration of a multi-sensor tracking system as set forth in claim 12 wherein the vector zi of inputs from a plurality of sensors is from a sensor system including at least one gyroscope, at least one compass, and at least one tilt sensor.
-
14. A dynamic autocalibration system for a multi-sensor tracking system as set forth in claim 13, wherein the at least one gyroscope, at least one compass, and at least one tilt sensor are utilized as part of a head-mounted orientation tracker.
-
15. A dynamic autocalibration system for a multi-sensor tracking system operating in a system'"'"'s state space which is divided into a plurality of patches pj, and operative to receive sensor input in the form of a vector zi from a plurality of sensors where i represents a particular time step, the dynamic autocalibration system including:
-
a. a variable bias map including a plurality of bias entries {circumflex over (B)}j with each particular one of the plurality of bias entries {circumflex over (B)}j associated with a particular one of the plurality of patches pj, said variable bias map operative to receive a system state estimation {circumflex over (x)}i and to determine an associated patch pj and the corresponding bias entry {circumflex over (B)}j;
b. a first comparator operative to receive the vector zi from the plurality of sensors and a bias entry {circumflex over (B)}j from the bias map and to subtract the bias entry {circumflex over (B)}j from the vector z1, resulting in the difference zi−
{circumflex over (B)}j;
c. a system state estimator operatively connected with the first comparator to receive the difference zi−
{circumflex over (B)}j to provide a system state estimation {circumflex over (x)}i to the bias map;
d. a constant matrix H multiplier including a constant matrix H for mapping state values onto the system state xi, which is connected to receive the system state estimation {circumflex over (x)}i and multiply it by the constant matrix H, resulting in a constant matrix H multiplied system state estimate H{circumflex over (x)}i;
e. a second comparator connected to receive the constant matrix H multiplied system state estimate H{circumflex over (x)}i from the constant matrix H multiplier and the difference zi−
{circumflex over (B)}j from the first comparator and to subtract the constant matrix H multiplied system state estimate H{circumflex over (x)}i from the difference zi−
{circumflex over (B)}j, resulting in di=(zi−
{circumflex over (B)}j)−
(H{circumflex over (x)}i);
f. an error minimizer connected to receive di=(zi−
{circumflex over (B)}j)−
(H{circumflex over (x)}i) from the second comparator and the particular bias entry {circumflex over (B)}j associated with the particular patch pj to which the current system state estimation {circumflex over (x)}i applies and to adjust the particular bias entry {circumflex over (B)}j.- View Dependent Claims (16, 17, 18, 19, 20, 21)
-
19. A dynamic autocalibration system for a multi-sensor tracking system as set forth in claim 17, wherein the gradient descent is performed parametrically.
-
20. A dynamic autocalibration system for a multi-sensor tracking system as set forth in claim 18, wherein the vector zi from the plurality of sensors depends on the system state xi corresponding to the time step i by the following relationship,
-
21. A dynamic autocalibration system for a multi-sensor tracking system as set forth in claim 18, wherein the calculation of the Jacobian in the error minimizer is simplified into the following relationship,
-
d i ∂ B ^ j = - I , and is used in the adjustment of the bias entries {circumflex over (B)}j.
-
-
-
22. A dynamic autocalibration system for a multi-sensor tracking system operating in a system'"'"'s state space, and operative to receive sensor input in the form of a vector zi from a plurality of sensors where i represents a particular time step, the dynamic autocalibration system including:
-
a. a variable bias map parameterized by a plurality of weights;
b. a first comparator operative to receive the vector zi from the plurality of sensors and a bias entry {circumflex over (B)}i for the time step i from the bias map and to subtract the bias entry {circumflex over (B)}i from the vector zi, resulting in the difference zi−
{circumflex over (B)}i;
c. a system state estimator operatively connected first comparator to receive the difference zi−
{circumflex over (B)}i to provide a system state estimation {circumflex over (x)}i to the bias map;
d. a constant matrix H multiplier including a constant matrix H for mapping state values onto the system state xi, which is connected to receive the system state estimation {circumflex over (x)}i and multiply it by the constant matrix H, resulting in a constant matrix H multiplied system state estimate H{circumflex over (x)}i;
e. a second comparator connected to receive the constant matrix H multiplied system state estimate H{circumflex over (x)}i from the constant matrix H multiplier and the difference zi−
{circumflex over (B)}i from the first comparator and to subtract the constant matrix H multiplied system state estimate H{circumflex over (x)}i from the difference zi−
{circumflex over (B)}i, resulting in di=(zi−
{circumflex over (B)}i)−
(H{circumflex over (x)}i);
f. an error minimizer connected to receive di=(zi−
{circumflex over (B)}i)−
(H{circumflex over (x)}i) from the second comparator and the particular bias entry {circumflex over (B)}i and to adjust the particular bias entry {circumflex over (B)}j.- View Dependent Claims (23, 24, 25, 26, 27, 28)
where N represents the total number of Gaussian fuzzy sets Wl in the bias map, σ
W2 defines the widths of the Gaussian fuzzy sets Wl, l is an indexing variable, and cl defines the center of the lth Gaussian fuzzy set Wl.
-
-
26. A dynamic autocalibration system for a multi-sensor tracking system as set forth in claim 25, wherein cl=10l, σ
- =20, N=36, and ∥
{circumflex over (x)}i−
cl∥
2=({circumflex over (x)}i−
10l)2.
- =20, N=36, and ∥
-
27. A dynamic autocalibration system for a multi-sensor tracking system as set forth in claim 26 wherein the vector zi of inputs from a plurality of sensors is from a sensor system including at least one gyroscope, at least one compass, and at least one tilt sensor.
-
28. A dynamic autocalibration system for a multi-sensor tracking system as set forth in claim 27, wherein the at least one gyroscope, at least one compass, and at least one tilt sensor are utilized as part of a head-mounted orientation tracker.
Specification