Step 1. Initialization, initialize the position of the |
robot , and the particles in local filters. |
for |
{ |
Step 2. Reconstruct the local filters |
{ |
Delete the local filters without input observation |
Added local filters for new observation |
} |
Step 3. Generate the probabilities of the particles |
The probabilities of the particles in local filters |
are calculated by (*). The particles closer |
to the observation have larger probabilities. |
(*) |
(a) Update the weights of the particles in time k by (*). |
(b) Calculate the variance of the particles and |
use the variance as parameter to |
recalculate the by (*). |
(c) Update by (**) |
(**) |
Step 4. Evaluate the state in every local filter by (***). |
(***) |
Step 5. Calculate the evaluation result of the master filter |
The result of evaluation calculated by each local |
filter is transformed to the master filter. And the |
weight of each local filter is calculated by (17). |
Step 6. Save the distribution of the particles in every local filter |
The probabilities of the particles in every local filter |
are saved to generate the distribution of the particles in next iteration. |
Step 7. Resample |
Where is the threshold of the number of |
peffective particle, if the of a local filter lower |
than , this local filter should be resample. |
if () |
{ |
Resample this local filter; |
} |
} |