摘要: fmod取余数 // wrapping angle to [-pi .. pi] angle_increment = fmod(angle_increment + 5*M_PI, 2*M_PI) - M_PI; 函数: double fmod (double numer , double denom 阅读全文
posted @ 2021-07-17 16:21 水水滴答 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 在看AMCL过程中,对坐标转移的关系不太清晰,整理下: 1、tf2::Transform map_pose = latest_tf_.inverse() * odom_pose_tf2;表示的是: void AmclNode::savePoseToServer() { // We need to a 阅读全文
posted @ 2021-07-17 15:53 水水滴答 阅读(457) 评论(0) 推荐(0) 编辑
摘要: 上一章讲粒子滤波的初始化时,说到初始化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) 编辑
摘要: 从地图数据的处理中,有粒子滤波器的初始化,以及用Pose初始值初始化滤波器,这就不得不开始看滤波器部分了。 上篇文章,讲到初始化函数pf_alloc、pf_init。在开始说明这些函数前,先了解下粒子滤波器的一些数据结构。 1、粒子滤波器的各种数据结构 滤波器的定义:定义了粒子集pf_sample_ 阅读全文
posted @ 2021-07-14 17:05 水水滴答 阅读(590) 评论(0) 推荐(0) 编辑
摘要: 之前看AMCL只是关注粒子滤波的流程,对于地图数据怎么转换没仔细看。现在有空就简单理理。 1、处理地图数据的入口是函数:handleMapMessage。ROS地图数据转换、粒子滤波器的初始化、创建传感器对象及其模型参数的初始化,均在处理地图数据的时候进行。 void AmclNode::handl 阅读全文
posted @ 2021-07-14 15:03 水水滴答 阅读(349) 评论(0) 推荐(0) 编辑
摘要: uniformPoseGenerator函数中,按均匀分布在地图上随机生成一个位姿。 unsigned int rand_index = drand48() * free_space_indices.size(); //均匀采样drand48(),随机找到一个像素点的序号 std::pair<int 阅读全文
posted @ 2021-07-14 11:48 水水滴答 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 在看AMCL源码中,发现srand函数 srand48(time(NULL)); 表示根据当前系统时间,获取48位运算随机数 需要的头文件 #include <stdlib.h> #include <time.h> [此处内容转自https://blog.csdn.net/cnmilan/artic 阅读全文
posted @ 2021-07-14 11:09 水水滴答 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 在看AMCL源码时,有几处用到函数指针的声明,如下 // Function prototype for the initialization model; generates a sample pose from // an appropriate distribution. typedef pf_ 阅读全文
posted @ 2021-07-14 10:54 水水滴答 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 修复ros录制包的时候,执行某个命令,报这个错误,报错的原因还不明白,暂时找到解决办法,参考:https://blog.csdn.net/u010918541/article/details/50445415 1、sudo rm /etc/ros/rosdep/sources.list.d/20-d 阅读全文
posted @ 2020-03-16 19:35 水水滴答 阅读(5815) 评论(0) 推荐(0) 编辑
摘要: 录制ros包,不是用ctrl+c关闭终端节点,会导致生成.active结尾的包。 给出修复方法: 1、rosbag reindex xxx.bag.active; 2、rosbag fix xxx.bag.active result.bag; 阅读全文
posted @ 2020-03-16 19:29 水水滴答 阅读(1372) 评论(0) 推荐(1) 编辑
摘要: 原驱动代码 for( std::size_t i=0; i<scandata.distance_data.size(); i++ ) { scanmsg.ranges[i] = float(scandata.distance_data[i])/1000.0f; scanmsg.intensities 阅读全文
posted @ 2020-03-03 12:39 水水滴答 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 行列与坐标系对应关系 行rows:Y (height) 列cols:X (width) 在Mat类型变量访问时下标是反着写的,即:按照(y, x)的关系形式访问 阅读全文
posted @ 2020-03-03 12:36 水水滴答 阅读(549) 评论(0) 推荐(0) 编辑
摘要: 1、VirtualBox安装: 下载镜像参考:https://mirror.tuna.tsinghua.edu.cn/help/virtualbox/ 安装配置参考:https://blog.csdn.net/qq_37189082/article/details/79549209、https:// 阅读全文
posted @ 2020-03-03 01:14 水水滴答 阅读(210) 评论(0) 推荐(0) 编辑
摘要: CLion自动格式化的快捷键默认为Ctrl+Alt+L,代码前后跳转CRTL+ALT+Left或CRTL+ALT+Right 但有时会和系统的快捷键冲突,需要修改CLion里面的快捷键 如图:settings -> keymap 中修改 (2)ubuntu安装完CLion后,需要设置~/.bashr 阅读全文
posted @ 2020-02-27 16:48 水水滴答 阅读(4948) 评论(0) 推荐(0) 编辑
摘要: 处理激光数据时,需要将处理后的激光数据再发布,需要保持一致的频率,所以必须在回调函数中发布激光数据信息。 代码参考:https://blog.csdn.net/heyijia0327/article/details/45567373 需要注意的是类内的回调函数,需要this调用 阅读全文
posted @ 2020-02-26 16:26 水水滴答 阅读(2117) 评论(0) 推荐(0) 编辑
摘要: Eigen中定义了一系列的vector和matrix,相比copy数据,更一般的方式是复用数据的内存,将它们转变为Eigen类型。Map类很好地实现了这个功能。 Map定义: Map(PointerArgType dataPtr, Index rows, Index cols, const Stri 阅读全文
posted @ 2020-02-11 17:22 水水滴答 阅读(3037) 评论(0) 推荐(0) 编辑
摘要: 系统版本:ubuntu 16.04sudo rm -r /usr/include/pcl-1.7 /usr/share/pcl /usr/bin/pcl* /usr/lib/libpcl*sudo apt-get --purge remove libpcl-dev然后再 sudo apt-get u 阅读全文
posted @ 2019-12-19 16:30 水水滴答 阅读(4804) 评论(0) 推荐(0) 编辑
摘要: 手持激光,并用cartographer建图,保存的地图是.pbstream格式 rosservice call /finish_trajectory 0 rosservice call /write_state "{filename: '${HOME}/Downloads/carto_map.pbs 阅读全文
posted @ 2019-11-16 20:22 水水滴答 阅读(3597) 评论(0) 推荐(0) 编辑