摘要: 上一章讲粒子滤波的初始化时,说到初始化kd tree以及插入节点。这一章,单独讲kdtree在这里面的应用。 其实这部分代码之前也看过,但是迷迷糊糊。后来刷了一些二叉排序树的题后,又回头看这部分代码,理解也清晰了很多。 基本上就是一个多维度的二叉排序树。划分的维度由Pose的坐标(x,y,theta 阅读全文
posted @ 2021-07-15 13:26 水水滴答 阅读(440) 评论(0) 推荐(0) 编辑
摘要: 在看AMCL源码时,遇到memset函数,记录下用法: 作用:用来对一段内存空间全部设置为某个字符,一般用在定义字符串进行初始化为‘ ’或者‘/0’ memset(node, 0, sizeof(pf_kdtree_node_t)); 将node(指针)指向的空间的kdtree_node节点大小的空 阅读全文
posted @ 2021-07-15 10:28 水水滴答 阅读(104) 评论(0) 推荐(0) 编辑
摘要: AMCL源码中,多次用到calloc函数,用于分配一定大小的内存,如下: self = calloc(1, sizeof(pf_kdtree_t)); 分配1个kdtree结构体所需的空间内存,并返回这块内存的指针给self。 self->nodes = calloc(self->node_max_ 阅读全文
posted @ 2021-07-15 10:19 水水滴答 阅读(215) 评论(0) 推荐(0) 编辑