A brief explanation about the resampling wheel in CS373 PROGRAMMING A ROBOTIC CAR
来源:互联网 发布:韦德06年总决赛数据 编辑:程序博客网 时间:2024/06/05 09:34
At this week's Programming a robotic car class, there is a slightly difficult concept about how to implement resampling particles procedure.
And according to Prof. Sebastian Thrun. We have a magical wheel to resample the particles in terms of their important weight.
But this approach contains many magic steps. As for me, there are two questions:
- Why we add the beta by a uniform distributed random number in [0, 2*Wmax]
- What the purpose of the if else pseudo code
And there is my explanation of this algorithm.
First of all, let's consider what we actually do by adding the random number to beta. With the definition of expectation, we know the expectation of U{0...2*Wmax} is
hence, we know we add Wmax to beta in each iteration.
Then, let's look an example:
This is an pie diagram that contains 3 slice. And consider we start at index_1, and we add Wmax, that is 50% to beta, then we comes to the position of index_2. Therefore, by adding up the beta with Wmax, we can reach any point in the pie. That means we can pick up any slice to which the arrow pointed by the probability/area. Thus, the first question got its answer
As for question 2, it's actually a while loop instead of the if test, and we just treat the beta as the location to which the arrow pointed in the pie diagram I posted. And you will find that it's just find the index of the slice of this location located in, and then return this index.
==========================================================================================================================
While this is a simple approach, there are a bunch of solution for particle filter resampling. You can find the information of some comparison in this paper and A simple explanation about some of them at here
Again, we have many talented student in this class and they have find some even more powerful solution to this problem, you can follow this thread
- A brief explanation about the resampling wheel in CS373 PROGRAMMING A ROBOTIC CAR
- Programming A Robotic Car 汉语版
- A Brief intro to X11 Programming
- The kernel module programming primer(3)-A brief introduction for module utilities
- A Brief description of the FTP protocol
- A brief description of the FTP protocol
- A brief overview of the Windows debuggers
- A Brief Note about Boltzmann/Softmax Exploration Strategy
- A few notes about the CommDb (use in Symbian OS)
- Similarity in Elasticsearch: A Brief Introduction to the Similarity Models Available
- Object-orientation and inheritance in JavaScript: a comprehensive explanation
- A simple explanation of rejection sampling in R
- Part1:A Brief Study of Classes and Object-oriented Programming.
- A simple explanation of the Lasso and Least Angle Regression
- Programming Grads Meet a Skills Gap in the Real World
- A trap about .net asynchronous programming
- About relationships in a database
- 2017 Wuhan University Programming Contest (Online Round) A One car comes and one car goes
- 如何在android模拟器中安装并运行已经开发好的或者别人写好的apk文件 .
- VS2008+Boost+1_47_0+STLPort-5.2.1安装及使用配置
- 关于Java的Classpath详解
- zoj 1216 Deck
- qemu 内存模型(内存仿真概念)
- A brief explanation about the resampling wheel in CS373 PROGRAMMING A ROBOTIC CAR
- HTML5游戏开发的5条最佳实践
- java 反射机制
- Word公式居中编号靠右
- 能在局域网中使用的IP地址有哪些?
- poj 1942 Paths on a Grid
- 从实例看struts2运行原理
- 关于手机端JQuery的使用心得(1)
- VMWare的 OEM BIOS如何添加和修改问题