随笔分类 -  ROS and Slam

利用vs pcl库将多个PCD文件合并成一张PCD地图
摘要:主机环境:win10系统,pcl库1.11.1, vs2019 pcl库安装以及环境配置如下连接: https://www.jb51.net/article/190710.htm 代码很简单,主要是做个坐标转换,如下: #include <io.h> #include <fstream> #incl 阅读全文

posted @ 2020-12-12 08:40 kuangxionghui 阅读(1511) 评论(0) 推荐(0)

ROS下多雷达融合算法
摘要:有些小车车身比较长,如果是一个激光雷达,顾前不顾后,有比较大的视野盲区,这对小车导航定位避障来说都是一个问题,比如AGV小车, 所有想在小车前后各加一个雷达,那问题是ROS的建图或者定位导航都只是支持一个雷达,这个时候就需要我们做2个雷达的融合了。 方法比较简单:我的思路是先将两个激光雷达获得的la 阅读全文

posted @ 2019-12-18 15:12 kuangxionghui 阅读(5449) 评论(0) 推荐(2)

ndt算法学习
摘要:NDT算法原理: NDT算法的基本思想是先根据参考数据(reference scan)来构建多维变量的正态分布, 如果变换参数能使得两幅激光数据匹配的很好,那么变换点在参考系中的概率密度将会很大。 因此,可以考虑用优化的方法求出使得概率密度之和最大的变换参数,此时两幅激光点云数 据将匹配的最好。 算 阅读全文

posted @ 2018-09-21 15:15 kuangxionghui 阅读(5508) 评论(0) 推荐(0)

ICP 匹配定位算法学习记录
摘要:icp 算法原理是: 选取目标点云P和源点云Q,按照一定的约束条件,找到最邻近点(pi,qi),然后计算出最优R和t(旋转和平移), 使得误差函数最小,误差函数E(R,t): 基本算法流程: 1、在目标点云P中选取点集pi。 2、在源点云Q中选取对应的点集qi,使得||qi-pi||==min,也就 阅读全文

posted @ 2018-07-26 10:48 kuangxionghui 阅读(2760) 评论(0) 推荐(1)

几种常见建图算法简介
摘要:一、gmapping gmaping主要是采用一个粒子滤波的方式来实现。主要框架如下: (1) 数据输入 在ROS GMapping包中,获取激光和里程计数据传入openslam GMapping包中,为新一时刻的建图做准备。 (2)运动模型 根据t-1时刻的粒子位姿以及里程计数据,预测t时刻的粒子 阅读全文

posted @ 2018-03-02 18:13 kuangxionghui 阅读(8852) 评论(0) 推荐(0)

ros局部路径规划-DWA学习
摘要:ROS的路径规划器分为全局路径和局部路径规划,其中局部路径规划器使用的最广的为dwa,个人理解为: 首先全局路径规划会生成一条大致的全局路径,局部路径规划器会把全局路径给分段,然后根据分段的全局路径的坐标,进行局部重新规划,例如: 全局规划后有一组目标点数组【1,2,3,4,5,......】,局部 阅读全文

posted @ 2018-02-28 17:30 kuangxionghui 阅读(26507) 评论(0) 推荐(0)

ROS机器人路径规划介绍--全局规划
摘要:ROS机器人路径规划算法主要包括2个部分:1)全局路径规划算法;2)局部路径规划算法; 一、全局路径规划 global planner ROS 的navigation官方功能包提供了三种全局路径规划器:carrot_planner、global_planner、navfn,默认使用的是navfn, 阅读全文

posted @ 2018-02-06 18:11 kuangxionghui 阅读(4740) 评论(0) 推荐(0)

PCL学习之:将超声数据按照PCL点云方式发布出去
摘要:前言:基于2D激光雷达的机器人,想让它跑自动导航,众所周知有2个比较明显的缺陷,1,那就是普通的激光雷达无法对玻璃或是镜面物体有反映; 2,机器人避障时只能对某一个平面的物体有反映,超过或者低于这个平面就不行,类似桌面等悬空的物体就无法检测。 基于这个缺陷,大部分的做法是使用廉价的超声雷达来辅助激光 阅读全文

posted @ 2018-02-05 12:20 kuangxionghui 阅读(1344) 评论(2) 推荐(1)

STM32移植ROS--发布超声波信息
摘要:前言:之前ROS跟单片机的底层通讯主要是通过串口自定的协议来做,比如官网提供的arduino串口驱动一样,需要ROS往下发一个指令,单片机再回传一个指令,要写一大堆的协议,这样很麻烦,效率也比较低, 想着如果stm32也能像ROS一样,进行订阅发布,不去管其中的协议那样就方便多了,基于这种想法,于是 阅读全文

posted @ 2018-02-02 18:22 kuangxionghui 阅读(3273) 评论(2) 推荐(0)

如何用代码设置机器人初始坐标实现 2D Pose Estimate功能
摘要:前言:ROS机器人有时候会遇到极端的情况:比如地面打滑严重,IMU精度差,导致积累误差严重,或是amcl匹配错误,导致机器人定位失败, 这时候如何矫正机器人位置变得非常重要,我的思路是利用相机或是在地埋rfid的辅助定位方法。 一、首先是设置机器人初始位置。 主要是发布initalpose这个主题, 阅读全文

posted @ 2018-01-23 15:01 kuangxionghui 阅读(4646) 评论(1) 推荐(0)

ROS融合IMU笔记
摘要:ROS官网有一个叫robot_pose_ekf的包,是专门处理传感器融合的包,具体介绍:http://wiki.ros.org/robot_pose_ekf 其中主要功能是订阅主题包括odom(里程计)、imu_data(姿态传感器)、vo(视觉里程计)输入,三者或是其中两者融合后,输出合成的里程计 阅读全文

posted @ 2018-01-22 11:26 kuangxionghui 阅读(9346) 评论(0) 推荐(0)

路径规划基础A*算法
摘要:1,Dijkstra’s 算法 一种发散性寻找最短路径算法。 由起点开始向四周开始发散,直到碰到目标点为止。这时就是最短路径。优点:能找到与目标点的最短路径;缺点:搜索花费的时间会比较长。 2,Greedy Best-First-Search 快速搜索算法。 启发性的算法,根据目标点的方向去搜索。优 阅读全文

posted @ 2018-01-19 15:52 kuangxionghui 阅读(2797) 评论(0) 推荐(0)

APP 链接ROS时出现pymongo.errors.ServerSelectionTimeoutError: localhost:27017 错误
摘要:ROS版本上kinetic ,APP是官网开源的make a map,当app链接ROS进行建图时,会出现报错:pymongo.errors.ServerSelectionTimeoutError: localhost:27017: [WinError 10061] 由于目标计算机积极拒绝,无法连接 阅读全文

posted @ 2018-01-18 19:41 kuangxionghui 阅读(1611) 评论(0) 推荐(0)

百度语音识别在ROS下的应用-导航
摘要:先去wiki下载百度的ros语音识别包:http://wiki.ros.org/baidu_speech 里面包含语音识别voice和speak的node节点,不过voice_node里面有一个小的错误,不知道是不是我的机器的问题, 跑起来总是会出错。后面改了之后就ok了。具体: 原版的len()没 阅读全文

posted @ 2018-01-12 09:36 kuangxionghui 阅读(446) 评论(0) 推荐(0)

a2 任意角度选取设置
摘要:思岚的激光雷达A2固定角度是0-360°,但是由于结构空间限制往往无法得到360°的数据,如何设置获取任意角度呢?咨询过思岚的技术支持,得到的回答是:“我们已经不支持ROS系统。。”让人有点蛋疼。。,所以咨询了之前的同事卤蛋大神, 在他的帮助下实现这一功能。其实很简单,只有增加几行代码就可以实现。具 阅读全文

posted @ 2018-01-09 13:21 kuangxionghui 阅读(469) 评论(0) 推荐(0)