C# 基础学习之 :ArrayList 取值

摘要: 由于ArrayList是泛型,其类型不确定,所以无法直接读取其中的元素数据, 应该先将ArrayList数据值进行强制转换然后再读取。例如使用库读取二维码,由于使用的是库,ArrayList类型不确定 需要进行强制转换: static void Main (string[] args) { Mat 阅读全文
posted @ 2022-06-10 10:49 kuangxionghui 阅读(1236) 评论(0) 推荐(0) 编辑

通过激光雷达识别货架腿定位

摘要: 通过雷达来识别货架腿,这在AGV做二次定位导航是非常常见的一种方法。对于2个腿来说,主要是6个步骤 步骤1:获取雷达当前帧的数据。 步骤2:找到AGV附近所有的斑点。 步骤3:找到离开目标点最近的斑点。 步骤4:斑点之间的配对。 步骤5:配对成功后,找到配对斑点的中心点,然后连线。 步骤6:连线的中 阅读全文
posted @ 2022-02-24 18:34 kuangxionghui 阅读(189) 评论(0) 推荐(0) 编辑

利用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 阅读(1258) 评论(0) 推荐(0) 编辑

ROS下多雷达融合算法

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

卡尔曼滤波C++代码

摘要: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 12 using namespace std; 13 using Eigen::MatrixXd; ... 阅读全文
posted @ 2019-02-15 10:26 kuangxionghui 阅读(3063) 评论(0) 推荐(0) 编辑

循环队列c++代码

摘要: #include #include #include #include #include #include #include #include #include #include using namespace std; typedef struct _QUEUE_NODE { int *pData; int length; int head; ... 阅读全文
posted @ 2019-02-15 10:25 kuangxionghui 阅读(218) 评论(0) 推荐(0) 编辑

ndt算法学习

摘要: NDT算法原理: NDT算法的基本思想是先根据参考数据(reference scan)来构建多维变量的正态分布, 如果变换参数能使得两幅激光数据匹配的很好,那么变换点在参考系中的概率密度将会很大。 因此,可以考虑用优化的方法求出使得概率密度之和最大的变换参数,此时两幅激光点云数 据将匹配的最好。 算 阅读全文
posted @ 2018-09-21 15:15 kuangxionghui 阅读(5221) 评论(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 阅读(2658) 评论(0) 推荐(1) 编辑

几种常见建图算法简介

摘要: 一、gmapping gmaping主要是采用一个粒子滤波的方式来实现。主要框架如下: (1) 数据输入 在ROS GMapping包中,获取激光和里程计数据传入openslam GMapping包中,为新一时刻的建图做准备。 (2)运动模型 根据t-1时刻的粒子位姿以及里程计数据,预测t时刻的粒子 阅读全文
posted @ 2018-03-02 18:13 kuangxionghui 阅读(8510) 评论(0) 推荐(0) 编辑

ros局部路径规划-DWA学习

摘要: ROS的路径规划器分为全局路径和局部路径规划,其中局部路径规划器使用的最广的为dwa,个人理解为: 首先全局路径规划会生成一条大致的全局路径,局部路径规划器会把全局路径给分段,然后根据分段的全局路径的坐标,进行局部重新规划,例如: 全局规划后有一组目标点数组【1,2,3,4,5,......】,局部 阅读全文
posted @ 2018-02-28 17:30 kuangxionghui 阅读(25506) 评论(0) 推荐(0) 编辑