- 博客(13)
- 收藏
- 关注
原创 gazebo中插入激光雷达velodyne VLP16
关于这方面的教程已经很多了,说的也比较完善,如果是刚开始接触gazebo的朋友,可以参考教程。上边介绍的非常详细,完全可以照着来一部一部做。我之所以写这篇博文,是记录一下我在使用过程中遇到的奇葩bug,如果有人遇到同样的问题,希望对你有帮助。经过这个经历,也算是重新学习了一下xacro文件的语法。
2024-12-03 12:21:31
431
原创 当前开源相机与Lidar联合标定程序实现
做得课题是关于激光与Lidar联合标定算法研究,现在做对比试验,需要与当前开源标定程序的性能进行对比。这个领域的文章不少,但是开源的就相对来说比较少。针对这些开源程序的说明就几乎没有了。因此我就接着做实验的契机,对我所实现的开源程序进行记录和汇总。希望对相关领域研究的同学有帮助。
2024-09-30 12:13:19
1810
原创 Ubuntu系统上VScode找不到头文件
最近在复现一个关于激光雷达与相机联合标定的项目。这个代码可以在终端中正常运行launch文件。但是我想看看它的源码,做一些局部修改。问题就出现了,用的VScode,代码第一行的头文件总是报错。我已经对着引用的头文件将文件地址写入**c_cpp_property.json**文件了,如图所示。关键点不是这个文件本身,我按着Ctrl键点击是可以直接转到对应文件的。如果我把<ros/ros.h>放到第一行,也是报错 <ros/ros.h>找不到。但是vscode依旧是报错找不到头文件。
2024-08-22 16:40:28
406
原创 gazebo中插入velodyne激光雷达,无法查看点云数据
首先是在rviz中需要先选择“Fixed frame”,我原来的项目中,这里会自动弹出可选选项,比如我原来的坐标系就有“velodyne",这个就是我的点云坐标系。但是这一次没有弹出可选选项,我以为是那里出现问题,Lidar没有工作。但其实是应该自己查询固定帧坐标系,然后输入。关于在gazebo中插入velodyne激光雷达模型,各个部分都做好了,但是在rviz中无法查看点云数据。根据上一步获得的结果,在rviz中的“fixed frame"中删除map,输入上一步查询的结果。我的坐标系就是hdl32。
2024-08-11 15:07:13
529
原创 Could not find module FindOpenCV.cmake
至于这个FindOpenCV.cmake文件,就看你电脑中OpenCV的位置。一般在OpenCV/build里边,如果里边没有 FindOpenCV.cmake文件,但是有OpenCVConfig.cmake文件,就把这个文件复制一份,将备份的名字改为FindOpenCV.cmake就可以了。在编译代码的时候,报错:不能找到OpenCV库。
2023-12-20 19:25:47
664
原创 相机内参和外参
具体包括欧拉角(ω、δ、 θ)和平移向量(Tx、Ty、Tz),根据欧拉角,将其分别代入对应的旋转矩阵并依次相乘即可获得两个坐标系之间的旋转矩阵。其中F是相机的焦距,dx和dy是单个像素的水平和竖直的物理尺寸,也就是一个像素实际的宽和高。因为相机参照的是像素坐标系,所以相机的焦距自然应该转变成像素坐标系下的形式。相机内参主要是四个参数fx,fy,u0,v0。分别代表图像中心的像素坐标到像素坐标系原点的水平距离和竖直距离,理论上应该是图片水平分辨率和竖直分辨率的一半,但实际情况下并不是,存在偏差。
2023-10-09 15:48:00
1702
1
原创 雷达相机——点云提取标定板角点【代码解读1】
首先对输入点云的尺寸进行判断,要求点云的规模应该大于100,然后再进行平面提取,seg会将提取到的平面中点云的序号保存在*inliner中,将拟合得到的平面系数保存在*coefficients中。判定是否为目标点云的依据是,选取这个点云团的第一个点,计算它与点云中其他点距离的最大值,这个最大值应该满足小于标定板的对角线,大于标定板的长。首先判定是不是目标点云平面,如果是目标点云平面,就输出平面系数、保存点云文件,然后边界提取。输入: cloud_input 点云指针变量,保存着用于拟合平面的点云。
2023-09-17 12:07:30
534
3
原创 PCL读取点云数据报错:Failed to find match for field ‘x‘/ ‘y‘/ ‘z‘.
原因:使用matlab生成的pcd文件,点云数据是双精度类型,pcl处理的点云数据是单精度类型。解决方案:使用matlab生成的点云坐标单精度化,然后在生成点云加以存储。
2023-09-12 11:43:23
643
原创 Windows提取文件夹中所有.lib文件的文件名
把这个新建文件的扩展名从.txt改为.bat,双击就会发现文件夹中生成一个list.txt。
2023-09-10 21:50:24
275
1
原创 [OpenCV]轮廓:vector<vector(point)>,vector<Vec4i>,vector<Rect>之间区别
vector容器里面放了一个vector容器,子容器里放点。vector<Rect>每一组中存储轮廓的长、宽和起始坐标。vector容器里面放4个int数据;
2023-08-26 15:40:02
244
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人