tion over a large time interval. Therefore, there have
been attempts to adapt the number of samples (Fox,
2003). However, during an excessive time interval un-
certainty increases and many useful observations are
dropped; a proper interval to complete a particle filter
iteration should be approximately equal to the rate of
incoming data. A trade-off must therefore be reached
between time constraints imposed by the need of col-
lecting sensor data incoming with a given rate and the
number of samples determining localization perfor-
mance.
The Real-Time Particle Filter (RTPF) (Kwok
et al., 2004) is a variant of a standard particle filter
addressing this problem. This algorithm relies on the
decomposition of the posterior by partitioning the set
of samples in smaller subsets computed taking into
account the sensor data received in different time in-
tervals. By choosing the proper size for partitions, a
particle filter iteration can be performed aligned with
the sensor acquisition cycle.
While RTPF represents a remarkable step toward
a viable particle filter-based localizer, there are a few
issues to be addressed in developing an effective im-
plementation. RTPF convergence is prone to some
numerical instability in the computation of important
parameters of the algorithm, namely the coefficients
of the mixture constituting the posterior. Further-
more, even adopting RTPF as the basic architecture,
the design of a flexible and customizable particle fil-
ter remains a challenging task. For example, life cy-
cle of samples extends beyond a single iteration and
covers an estimation windows in which mixture pos-
terior computation is completed. This extended life
cycle of samples impacts over software design. More-
over, RTPF addresses observations management and
derived constraints. A good implementation should
be adaptable to a variety of sensors.
This paper proposes improvements in both the al-
gorithmic solution and the implementation of RTPF.
In section 2, a novel approach in the computation
of mixture weights based on the effective number of
samples is proposed. This approach simplifies RTPF
and tries to avoid spurious numeric convergence of
gradient descent methods. In section 3, a localiza-
tion library implementing a highly configurable par-
ticle filter localizer is described. The library takes
care of efficient life cycle of samples and control data,
which is different in RTPF and standard particle fil-
ter, and supports multiple motion and sensor mod-
els. This flexibility is achieved by applying generic
programming techniques and a policy pattern. More-
over, differing from other particle filter implementa-
tions (e.g., CARMEN (Montemerlo et al., 2003)), the
library is independent from specific control frame-
works and toolkits. In section 4, simulation and ex-
perimental results are reported and compared with the
original RTPF performance. These results confirm the
effectiveness and viability of the proposed algorithm
and its implementation.
2 ADDRESSING ALGORITHMIC
COMPLEXITY
In particle filters, updating the particles used to rep-
resent the probability density function (potentially a
large number) usually requires a time which is a mul-
tiple of the cycle of sensor information arrival. For ex-
ample, range scanners return hundreds of values per
scan, at a rate of several scans per second; vision sen-
sors often require advanced algorithms to identify vi-
sual landmarks (Se et al., 2002; Sridharan et al., 2005)
draining computational resources from the process of
localization.
Naive approaches, yet often adopted, include dis-
carding observations arriving during the update of the
sample set, aggregating multiple observations into a
single one, and halting the generation of new samples
upon a new observation arrival (Kwok et al., 2004).
These approaches can affect filter convergence, as ei-
ther they loose valuable sensor information, or they
result in inefficient choices in algorithm parameters.
An advanced approach dealing with such situa-
tions is the Real-Time Particle Filters (RTPF), pro-
posed in (Kwok et al., 2004), which will be briefly
described in the following.
2.1 Real-time Particle Filter
Assume that the system received k observations
within an estimation window, i.e. the time required
to update the particles. The key idea of the Real-Time
Particle Filter is to distribute the samples in sets, each
one associated with one of the k observations. The
distribution representing the system state within an
estimation window will be defined as a mixture of the
k sample sets as shown in Figure 1. At the end of each
Figure 1: RTPF operation: samples are distributed in sets,
associated with the observations. The distribution is a mix-
ture of the sample sets based on weights α
i
(shown as a
i
in
figure).
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
356