ROS/Kinect2相机/驱动安装/标定/PCD点云导入Matlab 1.简介 3D相机作为环境感知重要传感器,在机器人及人工智能领域应用广泛。 在ROS环境下使用kinect v2相机采集点云数据,首先介绍ROS环境下安装相机驱动,在Rviz组件中进行图像显示,并使用棋盘格对相机参数进行标定,然后采集环境点云数据,导出PCD格式点云数据,并导入Matlab中进行后续的点云处理,为进一步开展三维空间重建、三维物体识别、位姿识别、三维测量等应用开发实验奠定基础。 2.实验条件: 2.1软件环境: Ubuntu 16.04、ROS Kinetic 或 Ubuntu 18.04、ROS Melodic 以上两个环境均完成安装,过程基本相同,有略微差异。 2.2硬件要求: Kinect v2相机*1台、PC机*1台、标定板*1个 3.安装相机驱动libfreenect2(详见README) 3.1下载源代码 3.2.依赖项安装 (该步骤可能下载安装更新错误,建议更换国内服务器,如阿里云) 3.3.Cmake编译并安装 3.4.设置udev rules (指令为将platform/linux/udev/目录下的90-kinect2.rules文件拷贝到etc/udev/rules.d/文件夹内) 4.测试Kinect V2 (注意在libfreenect2文件夹内执行,Kinect V2只识别USB 3.0接口,指令运行后相机红外灯开启,view测试显示四个图像窗口如下图所示,ctrl+c关闭窗口,测试成功,完成驱动安装,若报错,可重新插拔USB接口)
Protonect测试图像 5.安装ROS功能包iai_kinect2 5.1下载源码并编译 (如果报错,根据提示执行以下指令处理) 5.2启动ROS功能包 (Ubuntu 18.04、ROS Melodic环境下报错,尝试采用如下指令启动,注意在catkin工作空间内启动指令) 5.3功能包测试查看点云图 在catkin工作空间内重新启动新终端,产看点云窗口;
Cloud view点云窗口 (点云显示为实验室天花板,其他图像查看使用如下指令 6.ROS rviz相机图像显示 选中Fixed Frame,在右侧出现选择框,kinect2_link;左下角add添加camera,当然如果想显示点云的话,Depthcloud;在camera中的image topic选择不同的话题进行显示自此便完成了rviz深度图显示工作;在rviz中将FixedFrame设为kinect2_link,在显示面板添加PointCloud2,并订阅话题为/kinect/sd/points
Rviz中显示点云图像 7.kinect相机标定 7.1.准备标定棋盘格 为了保证实验精度,实验采用的棋盘格在某宝购买,规格为12*9*20mm,对应指令参数chess8x11x0.02,如下图所示。
标定棋盘格 72.创建校准文件夹 在home目录下创建kinect_cal_data文件夹 7.2.启动kinect2_bridge 另启一个终端窗口 7.3.设置帧数 另启一个终端窗口 7.4.采集RGB相机图像 (注意:在kinect_cal_data文件下启动终端窗口,标定时按空格键进行标定。标定后的文件需要放到catkin_ws/src/iai_kinect2/kinect2_bridge/data文件夹内,如图所示为识别内部棋盘格图)
标定棋盘格识别图 7.5.标定RGB相机 kinect_cal_data文件下终端指令 7.6.采集红外相机图像 7.7.标定红外相机 7.8.采集RGB+红外相机图像 7.9校准相机配准矩阵 7.10校准相机配准矩阵 7.11复制校准文件 00为相机序列号,每台不同,可在roslaunch kinect2_bridge指令中查看。将以下文件calib_color.yaml calib_depth.yaml calib_ir.yaml calib_pose.yaml 从校准目录(〜/ kinect_cal_data)复制到刚刚创建的目录中
kinect_cal_data文件夹标定图片 8.导出PCD点云文件 8.1.安装ros-melodic-pcl-ros 8.2导出点云PCD文件 (首先要启动相机节点,话题名为/kinect2/sd/points,系统将按帧连续保存点云文件) 9.Matlab软件导入PCD点云文件 9.1文件拷贝 将.pcd结尾文件拷贝到Matlab工作目录。 9.2.Matlab导入文件
Matlab点云导入界面 9.3.Matlab点云图显示 运行代码程序得到如下图所示,对比与ROS环境中的点云图像一致。
Matlab显示的点云图
Matlab点云显示及数据导入 9.4.去除点云噪点 pcdenoise函数用于去除点云噪点,具体参数详见help文档
去除点云噪点 9.5.提取ROI区域 ROI(region of interest)选取点云兴趣区域,如图将roi边界内的点云红色显示;
选取兴趣区域点云 10.参考资料: https://blog.csdn.net/hehedadaq/article/details/80557926 https://blog.csdn.net/creative1/article/details/122128020 https://blog.csdn.net/Yibaomeimei/article/details/124708308 https://blog.csdn.net/rayso9898/article/details/121444814 https://blog.csdn.net/rayso9898/article/details/121444116?spm=1001.2014.3001.5502 https://blog.csdn.net/creative1/article/details/122143018 https://blog.csdn.net/sigusoft_27353621/article/details/127284957 https://www.freesion.com/article/9163574965/ https://ww2.mathworks.cn/products/computer-vision.html https://m.elecfans.com/article/1307015.html https://zhuanlan.zhihu.com/p/525882015 https://zhuanlan.zhihu.com/p/421383209 https://blog.csdn.net/sigusoft_40791099/article/details/106628391 https://sigusoft.com/developer/article/2166377 计算机视觉基础——相机标定 – 知乎 (zhihu.com)
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/57996.html