// 单个粒子数据结构
typedef struct
{
// 粒子状态
pf_vector_t pose; // 粒子权重
double weight; } pf_sample_t; // Information for a cluster of samples
// 粒子聚类
typedef struct
{
// 粒子数量
int count; // 该聚类中的粒子总权重
double weight; // 聚类统计量
pf_vector_t mean;
pf_matrix_t cov; // Workspace
double m[4], c[2][2]; } pf_cluster_t; // 一组样本粒子数据结构
typedef struct _pf_sample_set_t
{
// The samples
int sample_count;
pf_sample_t *samples; // A kdtree encoding the histogram
pf_kdtree_t *kdtree; // 聚类数据
int cluster_count, cluster_max_count;
pf_cluster_t *clusters; // Filter statistics
pf_vector_t mean;
pf_matrix_t cov;
int converged;
} pf_sample_set_t; // 整个滤波器数据结构
typedef struct _pf_t
{
// This min and max number of samples
int min_samples, max_samples; // Population size parameters
double pop_err, pop_z; // The sample sets. We keep two sets and use [current_set]
// to identify the active set.
int current_set;
pf_sample_set_t sets[2]; // Running averages, slow and fast, of likelihood
double w_slow, w_fast; // Decay rates for running averages
double alpha_slow, alpha_fast; // Function used to draw random pose samples 随机粒子的生成函数
pf_init_model_fn_t random_pose_fn;
void *random_pose_data; // 随机粒子位姿数据 double dist_threshold; //distance threshold in each axis over which the pf is considered to not be converged
int converged;
} pf_t;

PF部分代码解读的更多相关文章

  1. Android MVP模式 谷歌官方代码解读

    Google官方MVP Sample代码解读 关于Android程序的构架, 当前(2016.10)最流行的模式即为MVP模式, Google官方提供了Sample代码来展示这种模式的用法. Repo ...

  2. 优秀开源代码解读之JS与iOS Native Code互调的优雅实现方案

    简介 本篇为大家介绍一个优秀的开源小项目:WebViewJavascriptBridge. 它优雅地实现了在使用UIWebView时JS与ios 的ObjC nativecode之间的互调,支持消息发 ...

  3. SoftmaxLayer and SoftmaxwithLossLayer 代码解读

    SoftmaxLayer and SoftmaxwithLossLayer 代码解读 Wang Xiao 先来看看 SoftmaxWithLoss 在prototext文件中的定义: layer { ...

  4. Hybrid----优秀开源代码解读之JS与iOS Native Code互调的优雅实现方案-备

    本篇为大家介绍一个优秀的开源小项目:WebViewJavascriptBridge. 它优雅地实现了在使用UIWebView时JS与ios 的ObjC nativecode之间的互调,支持消息发送.接 ...

  5. Jsoup代码解读之六-防御XSS攻击

    Jsoup代码解读之八-防御XSS攻击 防御XSS攻击的一般原理 cleaner是Jsoup的重要功能之一,我们常用它来进行富文本输入中的XSS防御. 我们知道,XSS攻击的一般方式是,通过在页面输入 ...

  6. Jsoup代码解读之五-实现一个CSS Selector

    Jsoup代码解读之七-实现一个CSS Selector 当当当!终于来到了Jsoup的特色:CSS Selector部分.selector也是我写的爬虫框架webmagic开发的一个重点.附上一张s ...

  7. Jsoup代码解读之四-parser

    Jsoup代码解读之四-parser 作为Java世界最好的HTML 解析库,Jsoup的parser实现非常具有代表性.这部分也是Jsoup最复杂的部分,需要一些数据结构.状态机乃至编译器的知识.好 ...

  8. Jsoup代码解读之三-Document的输出

    Jsoup代码解读之三-Document的输出   Jsoup官方说明里,一个重要的功能就是output tidy HTML.这里我们看看Jsoup是如何输出HTML的. HTML相关知识 分析代码前 ...

  9. Jsoup代码解读之一-概述

    Jsoup代码解读之一-概述 今天看到一个用python写的抽取正文的东东,美滋滋的用Java实现了一番,放到了webmagic里,然后发现Jsoup里已经有了…觉得自己各种不靠谱啊!算了,静下心来学 ...

随机推荐

  1. 打印流(PrintWriter )

    PrintWriter package cn.lijun.demo1; import java.io.File; import java.io.FileNotFoundException; impor ...

  2. 1.1实战项目:电影周周看V1(初识小程序)

    第一小程序的实战项目: 覆盖的小程序技术: 讲解方式: 学习方法:

  3. Mac影音多媒体工具软件推荐

    今天和大家分享软件专题:「影音多媒体工具」,今天的「影音多媒体工具」主要包含音乐播放.音频编辑.视频播放.视频编辑.截图录像等类别的软件. 有需要其他类型的软件,可在评论区留言或私信于我[磨人的小妖精 ...

  4. Go多组Raft库

    Go多组Raft库 https://github.com/lni/dragonboat/blob/master/README.CHS.md 使用用例 https://github.com/lni/dr ...

  5. 信用评分卡 (part 7 of 7)

    python信用评分卡(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_camp ...

  6. 在Java中如何高效的判断数组中是否包含某个元素

    原文出处: hollischuang(@Hollis_Chuang) 如何检查一个数组(无序)是否包含一个特定的值?这是一个在Java中经常用到的并且非常有用的操作.同时,这个问题在Stack Ove ...

  7. 声源测向: TDOA-GCC-PATH方法

    收藏链接: http://www.funcwj.cn/2018/05/10/gcc-phat-for-tdoa-estimate/

  8. IPv6地址测试宏

  9. python DB-API

    python为数据库访问开发了统一的API(Application Programming Interface,应用程序编程接口):DB-API. MySQL的实现叫做MySQLdb,Oracle实现 ...

  10. springboot的@CrossOrigin注解解决细粒度的配置跨域

    import java.util.HashMap; import org.springframework.web.bind.annotation.CrossOrigin; import org.spr ...