{"title": "Real-Time Particle Filters", "book": "Advances in Neural Information Processing Systems", "page_first": 1081, "page_last": 1088, "abstract": null, "full_text": "Real-time Particle Filters\n\nMarina Meil\u02d8a\u0001\nCody Kwok\n Dept. of Computer Science & Engineering, \u0001 Dept. of Statistics\n\nDieter Fox\n\nUniversity of Washington\n\nSeattle, WA 98195\n\n\u0002 ctkwok,fox\n\n@cs.washington.edu, mmp@stat.washington.edu\n\nAbstract\n\nParticle \ufb01lters estimate the state of dynamical systems from sensor infor-\nmation. In many real time applications of particle \ufb01lters, however, sensor\ninformation arrives at a signi\ufb01cantly higher rate than the update rate of the\n\ufb01lter. The prevalent approach to dealing with such situations is to update\nthe particle \ufb01lter as often as possible and to discard sensor information that\ncannot be processed in time. In this paper we present real-time particle \ufb01l-\nters, which make use of all sensor information even when the \ufb01lter update\nrate is below the update rate of the sensors. This is achieved by represent-\ning posteriors as mixtures of sample sets, where each mixture component\nintegrates one observation arriving during a \ufb01lter update. The weights of\nthe mixture components are set so as to minimize the approximation error\nintroduced by the mixture representation. Thereby, our approach focuses\ncomputational resources (samples) on valuable sensor information. Exper-\niments using data collected with a mobile robot show that our approach\nyields strong improvements over other approaches.\n\n1 Introduction\n\nDue to their sample-based representation, particle \ufb01lters are well suited to estimate the state\nof non-linear dynamic systems. Over the last years, particle \ufb01lters have been applied with\ngreat success to a variety of state estimation problems including visual tracking, speech\nrecognition, and mobile robotics [1]. The increased representational power of particle \ufb01l-\nters, however, comes at the cost of higher computational complexity.\n\nThe application of particle \ufb01lters to online, real-time estimation raises new research ques-\ntions. The key question in this context is: How can we deal with situations in which the rate\nof incoming sensor data is higher than the update rate of the particle \ufb01lter? To the best of\nour knowledge, this problem has not been addressed in the literature so far. The prevalent\napproach in real time applications is to update the \ufb01lter as often as possible and to discard\nsensor information that arrives during the update process. Obviously, this approach is prone\nto losing valuable sensor information. At \ufb01rst sight, the sample based representation of parti-\ncle \ufb01lters suggests an alternative approach similar to an any-time implementation: Whenever\na new observation arrives, sampling is interrupted and the next observation is processed.\nUnfortunately, such an approach can result in too small sample sets, causing the \ufb01lter to\ndiverge [1, 2].\n\nIn this paper we introduce real-time particle \ufb01lters (RTPF) to deal with constraints imposed\nby limited computational resources. Instead of discarding sensor readings, we distribute the\n\n\u0003\n\f(a)\n\n z\n\n t\n1\n\n z\n\n t\n2\n\n z\n\n t\n3\n\n(b)\n \n t+1 1\n\n z\n\n z\n\n. . . . . \n\n t\n3\n\n z\n\n t+1 1\n\n z\n\n t+1 2\n\nz\n\n t+1 3\n\n(c)\n\n z\n\n t\n1\n\n z\n\n t\n2\n\n z\n t\n3\n\n z\n\nt+1 1\n\n ut t t\n\n1 2 3\n\nS\n\nt\n\n1\n\nSt+1 1\n\nS\n\nt\n\n1\n\n ut t+1 t+1\n\n3 1 2\n\nS\nt+1 1\n\n ut1\n\nS\n\nt\n\n1\n\nS\n\nt\n\n2\n\n ut 2\n\n u\n\n3t\n\nS\n\nt\n\n3\n\nSt+1 1\n\nFigure 1: Different strategies for dealing with limited computational power. All approaches process\nthe same number of samples per estimation interval (window sizeq three). (a) Skip observations, i.e.\nintegrate only every third observation. (b) Aggregate observations within a window and integrate them\nin one step. (c) Reduce sample set size so that each observation can be considered.\n\nsamples among the different observations arriving during a \ufb01lter update. Hence RTPF repre-\nsents densities over the state space by mixtures of sample sets, thereby avoiding the problem\nof \ufb01lter divergence due to an insuf\ufb01cient number of independent samples. The weights of the\nmixture components are computed so as to minimize the approximation error introduced by\nthe mixture representation. The resuling approach naturally focuses computational resources\n(samples) on valuable sensor information.\n\nThe remainder of this paper is organized as follows: In the next section we outline the basics\nof particle \ufb01lters in the context of real-time constraints. Then, in Section 3, we introduce our\nnovel technique to real-time particle \ufb01lters. Finally, we present experimental results followed\nby a discussion of the properties of RTPF.\n\n2 Particle \ufb01lters\n\n\u0006\f\u000b\u000e\n\n(+*.,\n\n& \u0006\n\n\u0006\u0019\u0018 \u001a!\u000b#\"\n\n(1)\n\n\u0002\u0001\u0004\u0003\n\b\u0011\u0010\n\u0006\u0013\u0012\n\n\u0006\u0014\u000b\n\n\b\u0016\u0005\n\n\u0006\u0017\u0012\n\u0006\u0019\u0018 \u001a\n\nParticle \ufb01lters are a sample-based variant of Bayes \ufb01lters, which recursively estimate poste-\nrior densities, or beliefs\nof a dynamical system (see [1, 3] for details):\n\n, over the state\n\nHere\nthe system. Particle \ufb01lters represent beliefs by sets\n\n\u0002\u0001\u0004\u0003\t\b\n\u0005\nis a sensor measurement and\n\u0010%\u0006\nis a state, and the\n\n\u0002\u0001\u0004\u0003\t\b\n\u0005\n\u0006\u0019\u0018 \u001a\u0004$\nof weighted samples\n\n\u0005\u0007\u0006\n\u0006\u0019\u0018\u001b\u001a\u001d\u001c\t\u001e\u0007\u0006\u0019\u0018\u001b\u001a\u001f\u000b\nis control information measuring the dynamics of\n. Each\nare non-negative numerical factors called importance weights,\n\u0005 (.*+,\nwhich sum up to one. The basic form of the particle \ufb01lter realizes the recursive Bayes \ufb01lter\naccording to a sampling procedure, often referred to as sequential importance sampling with\nresampling (SISR):\n1. Resampling: Draw with replacement a random state\n(discrete) distribution de\ufb01ned through the importance weights\n2. Sampling: Use\n\u0006\u0019\u0018\u001b\u001a\ndistribution\n.\n3. Importance sampling: Weight the sample\nrepresenting the posterior.\nEach iteration of these three steps generates a sample\nAfter\niterations, the importance weights of the samples are normalized so that they sum up\nto one. Particle \ufb01lters can be shown to converge to the true posterior even in non-Gaussian,\nnon-linear dynamic systems [4].\n\n\u0006\u0019\u0018 \u001a\n\u0005\u00072\n, which describes the dynamics of the system.\nby the observation likelihood\n\nand the control information\n\nfrom the set\n.\n\n-1(.*+,\n\u0006\u0019\u0018\u001b\u001a\nto sample\n\naccording to the\n\n'\u0016\u0005)(+*+,\n\n\u001c\t-\n\n(+*.,\n\u00060/\n\n2\u001b3\n\n\b\u0011\u0010\n\n\u0006\u0013\u0012\n\n\b\n\u0005\n\n\u001c\t\u001e\u0007\u0006\u0019\u0018\u001b\u001a!\u000b\n\naccording to the\n\n'\u0016\u0005\u001b2\n\n\u001c\t-\n\nA typical assumption underlying particle \ufb01lters is that all samples can be updated whenever\nnew sensor information arrives. Under realtime conditions, however, it is possible that the\nupdate cannot be completed before the next sensor measurement arrives. This can be the\ncase for computationally complex sensor models or whenever the underlying posterior re-\nquires large sample sets [2]. The majority of \ufb01ltering approaches deals with this problem by\nskipping sensor information that arrives during the update of the \ufb01lter. While this approach\nworks reasonably well in many situations, it is prone to miss valuable sensor information.\n\n\u000f\n\u0005\n\u0015\n\u000f\n\u0005\n\u0005\n\u001e\n\u0006\n\u0006\n-\n\u0006\n\u0005\n&\n\u0005\n\u001e\n\u000f\n2\n\u0012\n\u0005\n\u0005\n2\n-\n\u000f\n\u0005\n2\n\u000b\n2\n/\n4\n\fz\n\nt\n\n1\n\nS\n\nt\n1\n\na 1\n\nz\n\nt\n\n2\n\nS\n\nt\n\n2\n\na 2\n\nz\n\nt\n\n3\n\nS\n\nt\n\n3\na 3\n\n z\n\n t+1\n 1\n\n z\n\n t+1\n 2\n\n z 3\n\n t+1\n\nS\n\nt+1\n 1\n\n\u2019\n\n1\n\nS\nt+1 2\n\n\u2019\n\n2\n\nS\nt+1 3\n\u2019\n\n3\n\nEstmation window t\n\nEstimation window t+1\n\nFigure 2: Real time particle \ufb01lters. The\nsamples are distributed among the observations within one\nestimation interval (window size three in this example). The belief is a mixture of the individual sample\nsets. Each arrow additionally represents the system dynamics\n\n.\n\n\u0001\u0003\u0002\u0005\u0004\u0007\u0006\u0005\b\u0003\t\u000b\n\r\f\u000e\u0004\u000f\u0006\u0011\u0010\u0013\u0012\u0015\u0014\u000f\u0006\u0016\n\u0017\u0010\u000e\u0018\n\nBefore we discuss ways of dealing with such situations, let us introduce some notation. We\nassume that observations arrive at time intervals\n, which we will call observation intervals.\nLet\nbe the number of samples required by the particle \ufb01lter. Assume that the resulting\nupdate cycle of the particle \ufb01lter takes\nand is called the estimation interval or estimation\nwindow. Accordingly,\nobservations arrive during one estimation interval. We call this\nnumber the window size of the \ufb01lter, i.e. the number of observations obtained during a \ufb01lter\nupdate. The\n, respectively.\n\n-th observation and state within window\n\nare denoted\n\nand\n\n\u001a\u0007\u0019\n\nFig. 1 illustrates different approaches to dealing with window sizes larger than one. The sim-\nplest and most common aproach is shown in Fig. 1(a). Here, observations arriving during\nthe update of the sample set are discarded, which has the obvious disadvantage that valuable\nsensor information might get lost. The approach in Fig. 1(b) overcomes this problem by ag-\ngregating multiple observations into one. While this technique avoids the loss of information,\nit is not applicable to arbitrary dynamical systems. For example, it assumes that observations\ncan be aggregated optimally, and that the integration of an aggregated observation can be\nperformed as ef\ufb01ciently as the integration of individual observations, which is often not the\ncase. The third approach, shown in Fig. 1(c), simply stops generating new samples whenever\nsamples). While this ap-\nan observation is made (hence each sample set contains only\nproach takes advantage of the any-time capabilities of particle \ufb01lters, it is susceptible to \ufb01lter\ndivergence due to an insuf\ufb01cent number of samples [2, 1].\n\n4\u001e\u001d\u001f\u001a\n\n\u0010\u001d\u0006\n\n3 Real time particle \ufb01lters\nIn this paper we propose real time particle \ufb01lters (RTPFs), a novel approach to dealing with\nlimited computational resources. The key idea of RTPFs is to consider all sensor measure-\nments by distributing the samples among the observations within an update window. Addi-\ntionally, by weighting the different sample sets within a window, our approach focuses the\ncomputational resources (samples) on the most valuable observations. Fig. 2 illustrates the\nsmaller sample\napproach. As can be seen, instead of one sample set at time\n. We treat such a \u201cvirtual sample set\u201d, or belief, as a mixture of the distribu-\nsets at\ntions represented in it. The mixture components represent the state of the system at different\npoints in time. If needed, however, the complete belief can be generated by considering the\ndynamics between the individual mixture components.\n\n, we maintain\n\n$\u001f$\n\n\u001c! \n\nCompared to the \ufb01rst approach discussed in the previous section, this method has the ad-\nvantage of not skipping any observations. In contrast to the approach shown in Fig. 1(b),\nRTPFs do not make any assumptions about the nature of the sensor data, i.e. whether it can\nbe aggregated or not. The difference to the third approach (Fig. 1(c)) is more subtle. In both\napproaches, each of the\nsamples. The belief state that\nis propagated by RTPF to the next estimation interval is a mixture distribution where each\nsample sets, all generated independently\nmixture component is represented by one of the\nfrom the previous window. Thus, the belief state propagation is simulated by\nsample tra-\njectories, that for computational convenience are represented at the points in time where the\nobservations are integrated. In the approach (c) however, the belief propagation is simulated\nwith only\n\nsample sets can only contain\n\nindependent samples.\n\n4\u001e\u001d\u001f\u001a\n\n\u001a\r\"$#\n\n4\u001e\u001d\u001f\u001a\n\na\na\na\n\n\u0019\n4\n\u001a\n\u001b\n\u001c\n\n\u0005\n\u0006\n\n\u001c\n\u001a\n\u001c\n\u001a\n\u001c\n$\n\u001a\n\u001a\n \n\fWe will now show how RTPF determines the weights of the mixture belief. The key idea is\nto choose the weights that minimize the KL-divergence between the mixture belief and the\noptimal belief. The optimal belief is the belief we would get if there was enough time to\ncompute the full posterior within the update window.\n\n3.1 Mixture representation\nLet us restrict our attention to one estimation interval consisting of\nmal belief\nof the Bayes \ufb01lter update on each obseration [3]:\n\nobservations. The opti-\nat the end of an estimation window results from iterative application\n\n1\u0001%\u0003\u0001\u0003\u0002!\u0006\n\n\b\u0016\u0005\n\n\u0006\u0001\u0004\n\n*\b\u0007\n\n\b\u0016\u0005\n\n\b\u0011\u0010\n\n$\u001f$\n\n\u0017\u0012\n\n\u0006\u0001\u0004\n\b\u0016\u0005\n\n\u0006\u000e\r\u001f\u000b\n\n\t\f\u000b\n\n\t\u000b\u0007\u000f\n\n1\u0001\u0004\u0003\t\b\u0016\u0005\n\n\t\f\u000b\u001d\u001c\t\u001e\u0007\u0006\n\n\u0005\u0002!\u0006\n\b\u0016\u0005\n\u0002\u0001\u0004\u0003\n\n1\u0001%\u0003\ndenotes the belief generated in the previous estimation window. In essence,\nHere\n(2) computes the belief by integrating over all trajectories through the estimation interval,\nwhere the start position of the trajectories is drawn from the previous belief\n. The\nprobability of each trajectory is determined using the control information\n,\nand the likelihoods of the observations\ndenote the belief resulting from integrating only the\nwindow. RTPF computes a mixture of\ndenoted\n\n\u001f\u000b\n1\u0001\u0004\u0003\t\b\u0016\u0005\u001b\u0006\n\u0006\u0001\u0004\n\u000b\u0004\u001c\u001f$\u001f$\n$\u001f\u001c\nalong the trajectory. Now let\n\b\n\u0005\n1\u0001\u0004\u0003\nobservation within the estimation\nsuch beliefs, one for each observation. The mixture,\n, where\n\n, is the weighted sum of the mixture components\n\n\u0006\u000f\u000b%\u001c\u001f$\n\n\u0006\u000e\r#$\n\n\t\f\u000b\n\u0006\u0001\u0004\n\n\t\f\u000b\n\n$\u001f$\n\n$\u001f$\n\n\u0006\u0001\u0004\n\n\u0006\u0001\u0004\n\n\u0006\u000e\n\n\u001b\u0011\u0010\n\n\u001c\u0013\u0012\n\n\u0002\u0001\u0004\u0003\n\n\b\u0016\u0005\n\n(2)\n\n(3)\n\ndenotes the mixture weights:\n\n1\u0001\u0004\u0003\n\u0014\n\n\u0012\u0017\u0016\n\n\b\u0016\u0005\n\n*\b\u0015\n\n\u0002\u0001\u0004\u0003\n\n\b\u0016\u0005\n\n\u0006\u0001\u0004\n\n\u0012\u000e\u0016\n\n*\b\u0015\n\n1\u0001%\u0003\n\n\b\u0016\u0005\n\n\u0006\u0001\u0004\n\n*\b\u0007\n*\b\u0007\n\nand\n\nwhere\n(2), however, each trajectory selectively integrates only one of the\nestimation interval1.\n\n\b\u0016\u0005\n\n\f\u0012\n\n\t\u000b\n\n\b\n\u0010%\u0006\n. Here, too, we integrate over all trajectories. In contrast to\nobservations within the\n\n\u0002\u0001\u0004\u0003\t\b\n\u0005\n\n\u0010\u0005\t\f\u000b\u001d\u001c\t\u001e\n\n\u0010\u0005\t\f\u000b!\u000b\n\n\u001d$.$.$\n\n\t\f\u000b\n\n\u0010%\u0012\n\n\u000b\f\"\n\n\u0006\u0001\u0004\n\n$\u001f$\n3 \u001f\n\n*\u001b\u001a\u001d\u001c\n\n.\n\n*#\u0015\n\nand\n\n\u0002\u0001\u0004\u0003\n\n3.2 Optimizing the mixture weights\nWe will now turn to the problem of \ufb01nding the weights of the mixture. These weights re\ufb02ect\nthe \u201cimportance\u201d of the respective observations for describing the optimal belief. The idea is\nto set them so as to minimize the approximation error introduced by the mixture distribution.\nby minimizing the KL-divergence [5]\nMore formally, we determine the mixing weights\nbetween\n\n\u0016\"!\n1\u0001%\u0003\u000e\u0005\u0002!\u0006\n\u000b\u001f\u0012.\u0012\n\u0002\u0001\u0004\u0003\n\u0014\n\b\u0016\u0005\n*#\u0015\n\u0003\u000f576\n\u0002\u0001\u0004\u0003\u000e\u0005\u0002!\u0006\nIn the above\n. Optimizing the weights of mixture\n\u001c<\u0016\napproximations can be done using EM [6] or (constrained) gradient descent [7]. Here, we\n\u001a=\u001c?>\nperform a small number of gradient descent steps to \ufb01nd the mixture weights. Denote by\n\f$\u0004\n\ncan be \u201cconcatenated\u201d so that\nonly two predictions for each trajectory have to be performed, one before and one after the correspond-\ning observation.\n\n\u0002\u0001\u0004\u0003\u000e\u0005\u0002\n\b\n1\u0001\u0004\u0003\n132\n\u0002\u0001\u0004\u0003\n*\b\u0015\n\n$&%('\u0017)+*#,\n-/.\u00170\n$&%('\u0017)+*#,\n-/.\u00170\n3:9\n\n1Note that typically the individual predictions\n\n\u00124\u0016\n\u0012\u0017\u0016\n3;\u001f\n\n\b!\"\n\u0006\u0001\u0004\n\n*#\u0015\n\b\u0016\u0005\n\n\u0006\u0001\u0004\n\b\n\u0005\n\n\u0001\u0003\u0002\u0005\u0004\n\n(4)\n\n(5)\n\n\u00124\u0016\n\n\u0006\u0001\u0004\n\n\u0006\u0001\u0004\n\n*#\u0007\n\n\u0010\u0005\t\f\u000b\u0013\u0012\u0015\u0014\n\n\u0010\u0005\t\f\u000b\n\n\u001a\n\u000b\n\u000b\n\n\u0015\n$\n\u0015\n \n\u0006\n\u001a\n\u000f\n\u0006\n\u0005\n\u0006\n\u0006\n\n\u0012\n\u0005\n\u0006\n\u000b\n\u000b\n\"\n\u0005\n\"\n\u0005\n$\n\u001e\n\u0006\n\n\u001c\n\u001e\n\u0006\n\u001e\n\u0010\n\u001c\n\u0010\n*\n\u000b\n\u001a\n\u0006\n\u0004\n\u000b\n*\n\u0006\n\u0004\n\u000b\n\u0016\n\u0014\n\u000b\n3\n \n\u0018\n\u001a\n\u0016\n*\n*\n\u000b\n\n \n\u0018\n\u001a\n\u0016\n*\n\u0015\n$\n\u0015\n\u000f\n\u0005\n\u0006\n \n\u0006\n\u0019\n\u0007\n\u001a\n\u000f\n\u0006\n\u0005\n\u0006\n\u0006\n\u0006\n\n\u0005\n\u0006\n\"\n\u0005\n$\n\u0016\n\u001e\n*\n\u0016\n*\n\u001a\n\u0014\n\u0006\n\u0016\n!\n3\n\u0014\n\u000b\n3\n\u0015\n\u0014\n\u000b\n\u000b\n\u000b\n\"\n\u0005\n$\n8\n\u0016\n\u0012\n\u001e\n \n\u001a\n\u0016\n*\n*\n\u0006\n\u0010\n\u0006\n\u0006\n\u0018\n\fthe criterion to be minimized in (5). The gradient of \n\nis given by\n\n*\b\u0015\n\b\u0016\u0005\n\n\b\u0016\u0005\n\u0006\u0001\u0004\n\n\u0006\u0001\u0004\t\u0012\n\n\u000b\u0003\u0002\u0005\u0004\n\n\u0002\u0001\u0004\u0003\n\u0014\n\n\u0006\u0001\u0004\t\u0012\n\u000b\n\u0002\u0007\u0004\n\n\u0002\u0001\u0004\u0003\n\u0014\n1\u0001\u0004\u0003\n*#\u0015\n\u0005\u0002\n\u0002\u0001\u0004\u0003\n\n\u0002\u0001\u0004\u0003\n\u0014\n\u0002\u0001\u0004\u0003\nfor the gradient descent is chosen to be the center of the weight domain\n$\u001f$\n\n\b\u0016\u0005\n\u0006\u0001\u0004\n\u0006\u0001\u0004\n\n\u0006\u0001\u0004\n$\u001f$\n\n\b\u0016\u0005\n\u001c\u001f$\n\n*\b\u0015\n\b\n\u0005\n\b\n\u0005\n\n\u0002\u0001\u0004\u0003\n\n\u0005\u0002!\u0006\n\n\u000b\u0006\u0002\u0007\u0004\n\n \u0010\u000f\u0012\u0011\n\n\u0006\u0001\u0004\n\n\b\n\u0005\n\n*#\u0015\n\n.\n\n\u0006\u0001\u0004\n\n(6)\n\n,\n\n\u001f\t\b\n\nThe start point\nthat is\n3\u000e\n\n\u0016\f\u000b\n\n3.3 Monte Carlo gradient estimation\n\n\u0006\u0001\u0004\n\nThe exact computation of the gradients in (6) requires the computation of the different be-\nliefs, each in turn requiring several particle \ufb01lter updates (see (2), (3)), and integreation over\nall states\n. This is clearly not feasible in our case. We solve this problem by Monte Carlo\napproximation. The approach is based on the observation that the beliefs in (6) share the same\ntrajectories through space and differ only in the observations they integrate. Therefore, we\n\ufb01rst generate sample trajectories through the estimation window without considering the ob-\nservations, and then use importance sampling to generate the beliefs needed for the gradient\nestimation. Trajectory generation is done as follows: we draw a sample\nfrom a sample\n\u0006\u0019\u0018 \u001a\nis given by the\nset of the previous mixture belief, where the probability of chosing a set\n&)\u0006\u0019\u0018\u001b\u001a\nmixture weights\nsamples\nat each time step\nThe resulting trajectories are drawn from the following proposal distribution\n\n\u0019 . This sample is then moved forward in time by consecutively drawing\n\nfrom the distributions\n\n:\n\n.\n\n*\b\u0007\n\n\b\u0016\u0005\n\n\b\u0016\u0005\n\n\b\n\u0005\n\n$\u001f$\n\n\u000e\t\f\u000b\u0004\u001c\n\n\u0006\u000e\r#$\u001f$\n\u000b#\"\nby simply\nUsing importance sampling, we obtain sample-based estimates of\n\u0002\u0001\u0004\u0003\n, respectively (compare\nweighting each trajectory with\n\b\n\u0010\u0004\u0006\n\n\t\u000b\nis generated with minimal computational overhead by averaging the\n(2) and (3)).\nweights computed for the individual\ndistributions. The use of the same trajectories for\nall distributions has the advantage that it is highly ef\ufb01cient and that it reduces the variance\nof the gradient estimate. This variance reduction is due to using the same random bits in\nevaluating the diverse scenarios of incorporating one or another of the observations [8].\n\n\t\f\u000b\n1\u0001\u0004\u0003\u000e\u0003\u0002!\u0006\n\n1\u0001\u0004\u0003\n\u0014\n\n\u0002\u0001\u0004\u0003\n\n\b\n\u0010%\u0006\n\nand\n\nor\n\n\u0006\u000e\n\n*#\u0015\n\nFurther variance reduction is achieved by using strati\ufb01ed sampling on trajectories. The tra-\njectories are grouped by determining connected regions in a grid over the state space (at time\n). Neighboring cells are considered connected if both contain samples. To compute the\ngradients by formula (6), we then perform summation and normalization over the grouped\ntrajectories. Empirical evaluations showed that this grouping greatly reduces the number of\ntrajectories needed to get smooth gradient estimates. An additional, very important bene\ufb01t\nof grouping is the reduction of the bias due to different dynamics applied to the different\nsample sets in the estimation window. In our experiments the number of trajectories is less\nof the total number of samples, resulting in a computational overhead of about 1%\nthan\nof the total estimation time.\n\nTo summarize, the RTPF algorithm works as follows. The number\nof independent samples\nneeded to represent the belief, the update rate of incoming sensor data, and the available\nprocessing power determine the size\nof the estimation window and hence the number of\nmixture components. RTPF computes the optimal weights of the mixture distribution at the\nend of each estimation window. This is done by gradient descent using the Monte Carlo esti-\nmates of the gradients. The resulting weights are used to generate samples for the individual\nsample sets of the next estimation window. To do so, we keep track of the control information\n(dynamics) between the different sample sets of two consecutive windows.\n\n\u0015\u0017\u0016\n\n\b\u0016\u0005\n\n\u000e\t\f\u000b\u0004\u001c\t\u001e\u0007\u0006\n\n\u000e\t\f\u000b\n\n\t\f\u000b!\u000b\n\u0002\u0001\u0004\u0003\n\n\u001c\u001b$\u001f$\n\n(7)\n\n\n\b\n\u0016\n\u000b\n\b\n\u0016\n\u000b\n\u0001\n\n\u0001\n\u0016\n*\n3\n\u0015\n\u0001\n\u0001\n\u0016\n*\n\u0016\n'\n\u0016\n\u000b\n\u0010\n\u0001\n\u0001\n\u0016\n*\n\u0012\n\u0016\n'\n\u000b\n3\n\u0015\n*\n'\n\u0014\n\u0012\n\u0016\n\u000b\n\u0006\n\u000b\n\"\n\u0005\n\u001c\n\u001b\n3\n\u001f\n\u001a\n$\n8\n\u0016\n\u000b\n\u001a\n \n\u001a\n \n$\n\u001a\n\u0005\n\u0005\n\u0010\n\u0016\n\u0005\n\u0006\n\n\u000f\n\u0006\n\n\u0012\n\u0005\n\u0006\n\u001c\n*\n\u001c\n\u001b\n3\n\u001f\n$\n\u001a\n\u0013\n\u0013\n\u0006\n\u0004\n\u000b\n3\n\u0015\n$\n\u0015\n \n\u0006\n\u001a\n\u000f\n\u0006\n\n\u0012\n\u0005\n\u0006\n\u001e\n\u0006\n\u000b\n\u0005\n$\n\"\n\u0005\n\u0006\n\u0004\n*\n\u000f\n\n\u0012\n\u0005\n\u0006\n\u0014\n \n\u0019\n\u0007\n\u001a\n\u000f\n\u0010\n\u0012\n\u0005\n\u0006\n\u0010\n\u000b\n*\n\u001c\n\u001a\n4\n\u001a\n\fm\n8\n1\n\nFig. 3: Map of the environment used for the experiment. The robot was moved around the symmetric\nloop on the left. The task of the robot was to determine its position using data collected by two distance\nmeasuring devices, one pointing to its left, the other pointing to its right.\n\n54m\n\n4 Experiments\n\nIn this section we evaluate the effectiveness of RTPF against the alternatives, using data\ncollected from a mobile robot in a real-world environment. Figure 3 shows the setup of\nthe experiment: The robot was placed in the of\ufb01ce \ufb02oor and moved around the loop on the\nleft. The task of the robot was to determine its position within the map, using data collected\nby two laser-beams, one pointing to its left, the other pointing to its right. The two laser\nbeams were extracted from a planar laser range-\ufb01nder, allowing the robot only to determine\nthe distance to the walls on its left and right. Between each observation the robot moved\napproximately 50cm (see [3] for details on robot localization and sensor models). Note that\nthe loop in the environment is symmetric except for a few \u201clandmarks\u201d along the walls of\nthe corridor. Localization performance was measured by the average distance between the\nsamples and the reference robot positions, which were computed of\ufb02ine.\n\nIn the experiments, our real-time algorithm, RTPF, is compared to particle \ufb01lters with skip-\nping observations, called \u201cSkip data\u201d (Figure 1a), and particle \ufb01lters with insuf\ufb01cient sam-\nples, called \u201cNaive\u201d (Figure 1c). Furthermore, to gauge the ef\ufb01ciency of our mixture weight-\ning, we also obtained results for our real-time algorithm without weighting, i.e. we used\n. We denote this variant \u201cUniform\u201d. Fi-\nmixture distributions and \ufb01xed the weights to\nnally, we also include as reference the \u201cBaseline\u201d approach, which is allowed to generate\nsamples for each observation, thereby not considering real-time constraints.\n\nThe experiment is set up as follows. First, we \ufb01x the sample set size\nfor the robot to localize itself. In our experiment\n\ufb01lters may fail at lower\nin different window sizes\nnumber of samples that can be generated for each observation decreases to (\n\nwhich is suf\ufb01cient\nis set empirically to 20,000 (the particle\n, see also [2]). We then vary the computational resources, resulting\n. Larger window size means lower computational power, and the\n\n).\n\n4\u001e\u001d\n\nFigure 4 shows the evolutions of average localization errors over time, using different win-\ndow sizes. Each graph is obtained by averaging over 30 runs with different random seeds\nand start positions. The error bars indicate 95% con\ufb01dence intervals. As the \ufb01gures show,\n\u201cNaive\u201d gives the worst results, which is due to insuf\ufb01cient numbers of samples, resulting in\ndivergence of the \ufb01lter. While \u201cUniform\u201d performs slightly better than \u201cSkip data\u201d, RTPF is\nthe most effective of all algorithms, localizing the robot in the least amount of time. Further-\nmore, RTPF shows the least degradation with limited computational power (larger window\nsizes). The key advantage of RTPF over \u201cUniform\u201d lies in the mixture weighting, which\nallows our approach to focus computational resources on valuable sensor information, for\nexample when the robot passes an informative feature in one of the hallways. For short\nwindow sizes (Fig. 4(a)), this advantage is not very strong since in this environment, most\nfeatures can be detected in several consecutive sensor measurements. Note that because the\n\u201cBaseline\u201d approach was allowed to integrate all observations with all of the 20,000 samples,\nit converges to a lower error level than all the other approaches.\n\n\u001f\n\u001d\n\u001a\n4\n4\n4\n4\n\u001a\n\u001a\n\f]\n\nm\nc\n[\n \nr\no\nr\nr\ne\n\n \n\nn\no\n\ni\nt\n\na\nz\n\ni\nl\n\na\nc\no\nL\n\n \n\ne\ng\na\nr\ne\nv\nA\n\n]\n\nm\nc\n[\n \nr\no\nr\nr\ne\n\n \n\nn\no\n\ni\nt\n\na\nz\n\ni\nl\n\na\nc\no\nL\n\n \n\ne\ng\na\nr\ne\nv\nA\n\n1000\n\n800\n\n600\n\n400\n\n200\n\nBaseline\nSkip data\nRTPF\nNaive\nUniform\n\n1000\n\n800\n\n600\n\n400\n\n200\n\n]\n\nm\nc\n[\n \nr\no\nr\nr\ne\n\n \n\nn\no\n\ni\nt\n\na\nz\n\ni\nl\n\na\nc\no\nL\n\n \n\ne\ng\na\nr\ne\nv\nA\n\nBaseline\nSkip data\nRTPF\nNaive\nUniform\n\n0\n\n0\n\n50\n\n100\n\n150\n\n200\n250\nTime [sec]\n\n300\n\n350\n\n400\n\n450\n\n(a)\n\n0\n\n0\n\n50\n\n100\n\n150\n\n200\n250\nTime [sec]\n\n300\n\n350\n\n400\n\n450\n\n(b)\n\nBaseline\nSkip data\nRTPF\nNaive\nUniform\n\n1000\n\n800\n\n600\n\n400\n\n200\n\n0\n\n0\n\n50\n\n100\n\n150\n\n200\n250\nTime [sec]\n\n300\n\n350\n\n400\n\n450\n\n(c)\n\np\nu\nd\ne\ne\np\ns\n \n\nn\no\n\ni\nt\n\na\nz\n\ni\nl\n\na\nc\no\nL\n\n2.8\n\n2.6\n\n2.4\n\n2.2\n\n2\n\n1.8\n\n1.6\n\n1.4\n\n1.2\n\n1\n\n2\n\n4\n\n6\n\n8\n\n10\n\n12\n\n14\n\nWindow size\n\n(d)\n\n-axis represents time elapsed since the beginning of the localization experiment. The\n\nFig. 4(a)-(c): Performance of the different algorithms for window sizes of 4, 8, and 12 respectively.\nThe\n-axis plots\nthe localization error measured in average distance from the reference position. Each \ufb01gure includes\nthe performance achieved with unlimited computational power as the \u201cBaseline\u201d graph. Each point\nis averaged over 30 runs, and error bars indicate 95% con\ufb01dence intervals. Fig. 4(d) represents the\nlocalization speedup of RTPF over \u201cSkip data\u201d for various window sizes. The advantage of RTPF\nincreases with the dif\ufb01culty of the task, i.e. with increasing window size. Between window size 6 and\n12, RTPF localizes at least twice as fast as \u201cSkip data\u201d.\n\nWithout mixture weighting of RTPF, we did not expect \u201cUniform\u201d to outperform \u201cSkip data\u201d\nsigni\ufb01cantly. To see this, consider one estimation window of length\n. Suppose only one of\nobservations detects a landmark, or very informative feature in the hallway. In such\nthe\na situation, \u201cUniform\u201d considers this landmark every time the robot passes it. However, it\nsamples to this landmark detection. \u201cSkip data\u201d on the other hand, detects\nonly assigns\nthe landmark only every\nsamples to it. Therefore, averaged over\nmany different runs, the mean performance of \u201cUniform\u201d and \u201cSkip data\u201d is very similar.\nHowever, the variance of the error is signi\ufb01cantly lower for \u201cUniform\u201d since it considers\nthe detection in every run. In contrast to both approaches, RTPF detects all landmarks and\ngenerates more samples for the landmark detections, thereby gaining the best of both worlds,\nand Figures 4(a)\u2013(c) show this is indeed the case.\n\n-th time, but assigns all\n\n4\u001e\u001d\n\n-axis represents the window size and the\n\nIn Figure 4(d) we summarize the performance gain of RTPF over \u201cSkip data\u201d for different\nwindow sizes in terms of localization time. We considered the robot to be localized if the\naverage localization error remains below 200 cm over a period of 10 seconds. If the run\nnever reaches this level, the localization time is set to the length of the entire run, which is\n-axis the localization speedup.\n574 seconds. The\nFor each window size speedups were determined using\n-tests on the localization times for\nthe 30 pairs of data runs. All results are signi\ufb01cant at the 95% level. The graph shows that\nwith increasing window size (i.e. decreasing processing power), the localization speedup\nincreases. At small window sizes the speedup is 20-50%, but it goes up to 2.7 times for\nlarger windows, demonstrating the bene\ufb01ts of the RTPF approach over traditional particle\n\ufb01lters. Ultimately, for very large window sizes, the speedup decreases again, which is due to\nthe fact that none of the approaches is able to reduce the error below 200cm within the run\ntime of an experiment.\n\n\u0004\n\n\u001a\n\u001a\n\u001a\n\u001a\n4\n\u0005\n\u0001\n\u001c\n\f5 Conclusions\nIn this paper we tackled the problem of particle \ufb01ltering under the constraint of limited com-\nputing resources. Our approach makes near-optimal use of sensor information by dividing\nsample sets between all available observations and then representing the state as a mixture of\nsample sets. Next we optimize the mixing weights in order to be as close to the true posterior\ndistribution as possible. Optimization is performed ef\ufb01ciently by gradient descent using a\nMonte Carlo approximation of the gradients.\n\nWe showed that RTPF produces signi\ufb01cant performance improvements in a robot localization\ntask. The results indicate that our approach outperforms all alternative methods for dealing\nwith limited computation. Furthermore, RTPF localized the robot more than 2.7 times faster\nthan the original particle \ufb01lter approach, which skips sensor data. Based on these results, we\nexpect our method to be highly valuable in a wide range of real-time applications of particle\n\ufb01lters. RTPF yields maximal performance gain for data streams containing highly valuable\nsensor data occuring at unpredictable time points.\n\nThe idea of approximating belief states by mixtures has also been used in the context of\ndynamic Bayesian networks [9]. However, Boyen and Koller use mixtures to represent belief\nstates at a speci\ufb01c point in time, not over multiple time steps. Our work is motivated by\nreal-time constraints that are not present in [9].\n\nSo far RTPF uses \ufb01xed sample sizes and \ufb01xed window sizes. The next natural step is to adapt\nthese two \u201cstructural parameters\u201d to further speed up the computation. For example, by the\nmethod of [2] we can change the sample size on-the-\ufb02y, which in turn allows us to change the\nwindow size. Ongoing experiments suggest that this combination yields further performance\nimprovements: When the state uncertainty is high, many samples are used and these samples\nare spread out over multiple observations. On the other hand, when the uncertainty is low,\nthe number of samples is very small and RTPF becomes identical to the vanilla particle \ufb01lter\nwith one update (sample set) per observation.\n\n6 Acknowledgements\nThis research is sponsored in part by the National Science Foundation (CAREER grant num-\nber 0093406) and by DARPA (MICA program).\n\nReferences\n[1] A. Doucet, N. de Freitas, and N. Gordon, editors. Sequential Monte Carlo in Practice. Springer-\n\nVerlag, New York, 2001.\n\n[2] D. Fox. KLD-sampling: Adaptive particle \ufb01lters and mobile robot localization. In Advances in\n\nNeural Information Processing Systems (NIPS), 2001.\n\n[3] D. Fox, S. Thrun, F. Dellaert, and W. Burgard. Particle \ufb01lters for mobile robot localization. In\n\nDoucet et al. [1].\n\n[4] P. Del Moral and L. Miclo. Branching and interacting particle systems approximations of feynam-\nkac formulae with applications to non linear \ufb01ltering. In Seminaire de Probabilites XXXIV, number\n1729 in Lecture Notes in Mathematics. Springer-Verlag, 2000.\n\n[5] T. M. Cover and J. A. Thomas. Elements of Information Theory. Wiley Series in Telecommunica-\n\ntions. Wiley, New York, 1991.\n\n[6] W. Poland and R. Shachter. Mixtures of Gaussians and minimum relative entropy techniques\nIn Proc. of the Conference on Uncertainty in Arti\ufb01cial\n\nfor modeling continuous uncertainties.\nIntelligence (UAI), 1993.\n\n[7] T. Jaakkola and M. Jordan. Improving the mean \ufb01eld approximation via the use of mixture distri-\n\nbutions. In Learning in Graphical Models. Kluwer, 1997.\n\n[8] P. R. Cohen. Empirical methods for arti\ufb01cial intelligence. MIT Press, 1995.\n[9] X. Boyen and D. Koller. Tractable inference for complex stochastic processes. In Proc. of the\n\nConference on Uncertainty in Arti\ufb01cial Intelligence (UAI), 1998.\n\n\f", "award": [], "sourceid": 2305, "authors": [{"given_name": "Cody", "family_name": "Kwok", "institution": null}, {"given_name": "Dieter", "family_name": "Fox", "institution": null}, {"given_name": "Marina", "family_name": "Meila", "institution": null}]}