基于AdamShan博主雷达点云处理踩坑手册(一)
一、文件配置及worksapce编译:
1、首先,我们按照博主的要求安装好PCL点云库
cd ~
mkdir -p pcl_ws/src
cd pcl_ws
catkin_make
source devel/setup.bash
cd src
catkin_create_pkg pcl_test roscpp sensor_msgs pcl_ros
这时我们就建好了pcl_ws这个package。
2、接下来修改pcl_ws下的src文件下的Camkelist文件和package.xml配置文件,将其里面之前的代码全部删掉,直接粘贴复制即可。(具体代码请参考博主二十四讲解)
3、下一步编写文件时应该注意具体文件的具体位置,配置错了编译会出错,下面就具体的位置提供参考:
建立文件夹本人使用的touch命令,如果建错位置可以使用rm命令删除即可。
二、Rviz仿真显示:
1、首先回到workspace下进行编译:
cd pcl_ws
catkin_make
2、下一步运行我们的launch文件(launch文件的具体讲解请点击此链接)来启动源代码节点(注意先source刷新一下工作空间):
source devel/setup.bash
roslaunch pcl_test.launch
3、此时我们准备的bag就要发挥作用了,将bag包放到我们的home里即可,不必为bag建立一个文件夹,此时打开另一个新的终端,运行如下命令:
rosbag play test.bag
4、下一步将我们的点云数据可视化,此时打开第三个新的终端,输入如下命令来启动Rviz(其具体操作方法请点击此链接):
rviz
5、此时不能直接看到我们bag里面录好的点云数据,我们需要配置一下rviz的Fixed frame(在左上方的位置,默认为map)框架为velodyne(双击map即可修改),下一步add此时的topic,当我们的bag打开后会有原始的点云topic:velodyne_points以及运行节点后的filtered_points两个话题,添加进来即可,此时Rviz即可可视化我们的点云数据,按空格键即可暂停我们的bag,再按一次会继续进行。
6、此时的点云太小,不易看清楚,我们可以在左侧栏中修改size大小,大约0.03就合适,具体如下图:
7、此时我们要看初步处理点云数据的话需要关掉最初的点云的topic显示(本人认为两个topic同时可视化会存在干扰),在左侧栏中将对勾勾掉即可,此时我们可以看到处理之后的点云如下:
三、总结思考:
Rviz可视化我们的点云数据时根据我们的src文件下的源代码发布的topic,此时需要进一步了解其通信机制,以及运行这个源代码文件所编写的launch文件,这样的话举一反三,我们就可以随心所欲想要看任何topic,只需add进来即可。
下面是学习过程中利用率较高的几篇博主的文章:
写一个消息的发布者与订阅者;
ros节点;
ros入门 工程目录结构、节点通信方式、基本操作命令;
学习操作之后,我觉得,想要可视化的点云数据,在cmakelist中编译好所需编译的源代码文件,然后运行相应的launch文件即可运行node节点来发布我们所需的topic,最终在rviz中订阅我们的topic即可可视化处理后的点云数据。
最后鉴于本渣实力见解有限,想必有不少错误之处,欢迎大家在评论区留言指出错误,一起交流学习,我们共同进步!