如何提取激光雷达的角点坐标

描述

提取激光雷达的角点坐标

将激光雷达的rosbag转为pcd文件

  • 打开pcdTransfer.launch
  • 设置 rosbag路径
    设置rosbag的数量
    将rosbag以0.bag, 1.bag…命名。
&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;launch&gt;  &lt;param name="input_bag_path"        value="$(find camera_lidar_calibration)/data/lidar/" /&gt;  &lt;!-- rosbag folder --&gt;  &lt;param name="output_pcd_path"       value="$(find camera_lidar_calibration)/data/pcdFiles/" /&gt;  &lt;!-- path to save new pcd files --&gt;  &lt;param name="threshold_lidar"       type="int" value="80" /&gt;  &lt;!-- the limit of messages to transfer to the pcd file, 80 means maximum 80 messages of lidar --&gt;  &lt;param name="data_num"              type="int" value="12" /&gt;  &lt;!-- the number of the rosbag --&gt;  &lt;node pkg="camera_lidar_calibration" name="pcdTransfer" type="pcdTransfer" output="screen"&gt;&lt;/node >< /launch&gt;

然后运行指令将rosbag批量转化成PCD文件,PCD文件默认保存在data/pcdFiles文件夹中

roslaunch camera_lidar_calibration pcdTransfer.launch

终端会逐渐的打印转换的过程,把上面录的文件逐个转换完就可以了

程序

之后在pcdFiles文件夹中检查下,文件:

程序

提取标定板角点坐标

然后使用pcl_viewer打开PCD文件,按住shift+左键点击即可获得对应的点坐标。

pcl_viewer -use_point_picking xx.pcd

选择标定板的角点,然后记录下它的坐标,注意这里记录顺序,之后要和照片的记录顺序保持一致,可以选择左上角开始,然后逆时针记录。

记录的时候在data文件夹下,新建一个corner_lidar.txt,安照下面的格式记录下来,格式一定要正确.

慢慢调下pcl_viewer的视角,然后shift+左键点击,在终端中会打印出该点的坐标,手动写入txt中按照格式

程序

之后程序读取数据的时候,设置是这样的,每行数据只有超过10个字母程序才会将其读取为计算的参数,所以上面的数据中用来编号的1 2 3 4 和标题,test0 test1 是不会被读的。

程序读到空行就会停止读取参数开始计算,所以保存时不要空行,把雷达的角点全部标完之后,就可以提取照片中的角点像素了。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分