pcd_viewer
查看pcd文件 pcd_viewer <filename>
设置点的大小
pcl_viewer file.pcd -ps 3
设置点的颜色:
pcl_viewer -fc 173,255,47 file.pcd
查看点云的坐标:
pcl_viewer test.pcd -use_point_picking
,然后按住shift选择点,在界面显示界面选择点云之后,会在终端输出点云坐标。同一窗口里打开多个文件,分开显示:
pcl_viewer -multiview 1 pig1.pcd pig2.pcd test.pcd
同一窗口打开多个文件,在一起显示:
pcl_viewer pig1.pcd pig2.pcd test.pcd
快捷键:
- 1键: 改变点云颜色
- r键: 重现视角。如果读入文件没有在主窗口显示,不妨按下键盘的r键一试。
- j键: 截图功能。
- g键: 显示/隐藏 坐标轴。
如何判断点云的数据类型
先转成pcd文件,然后用文本形式打开,看FIELDS
一行,可能的结果有1
2FIELDS x y z
FIELDS x y z intensity timestamp ring
pcl_ros 包
这个包的工具如下:
如果想获得雷达的点云数据,可以发布PointCloud2
类型的话题,同时用rosbag record
录制得到bag文件,然后使用pcl_ros
包中的bag_to_pcd
得到pcd点云文件,用法:rosrun pcl_ros bag_to_pcd input.bag topic output_directory
,过程:
注意输出是个目录,因为bag文件的消息数量就是生成的pcd文件数量,bag文件的消息数量可以用rosbag info
查看
可以用pcl_viewer
工具查看pcd,但是这样转换出的点云pcd文件在用Cloud Compare
打开时报错
考虑换一种生成方式,在当前路径将点云ROS数据转为pcd文件,也就是一个pcd对应一帧点云,但是会不停地转换rosrun pcl_ros pointcloud_to_pcd input:=/hesai/pandar _prefix:=./pcd
pcd转ply程序: pcl_pcd2ply
,使用格式:pcl_pcd2ply demo.pcd demo.ply
。生成的pcd转成ply之后可以导入Cloud Compare
pointcloud_to_laserscan包
将3D点云转换为2D的雷达scan, 最适用于把Kinect相机用作雷达,再使用2D算法。详细使用
我们可以直接利用kinect的点云数据,因为costmap2D的接口是直接调用点云。问题是计算量很大,点云规模太大,可以把点云数量降下去,但这样效果又不好了,可能无法识别障碍。点云覆盖信息大,对障碍物信息敏感。计算量大,实时性差。从障碍物进入相机视野出现到加入代价地图有1.5秒时间
depthimage_to_laserscan
如果想从RGBD相机创建虚拟的雷达scan,这个包的效果更好,它直接处理图像数据而不是点云。
详细使用
使用Kinect的一个方案是把点云或深度图降维生成线激光,本质上是当成2D激光雷达,在平坦地面环境用。还是用gmapping、hector SLAM、cartographer等手段建图