由于autoware 1.10版本以后工具箱木了? ,或者不需要其他功能想单独使用。
1。下载nlopt,github链接,或者搜gitee
https://gitee.com/cuizhi/nlopt?_from=gitee_search
git clone git://github.com/stevengj/nlopt
cd nlopt
mkdir build
cd build
cmake ..
make
sudo make install
2。下载标定工具包。
https://github.com/XidianLemon/calibration_camera_lidar
github有时不能用,需要github镜像,以下有几个地址,并不稳定,可以自己搜。
https://blog.csdn.net/qq_34608447/article/details/106834636
3。将该包放在自己的工作空间下,这个包除了可以 标定以外,还可以发布外参tf。
catkin_make
1)可能会遇到如下错误,不编译3个可执行文件,因为ros版本号那里,增加自己的版本,把cmakelists.txt 改成如下,3个地方。
2) nlopt
error_msg 的问题,没有定义那个函数,但是没有关系,把出错的那行 改称 return "error_msg";
4。source devel/setup.bash
rosrun calibration_camera_lidar calibration_toolkit
rosrun calibration_camera_lidar calibration_publisher (根据自己需要,一般标定不需要此步骤)
5。使用
5.1 选择自己的图像话题类型
5.2
5.3
5.4 更改 标定版格子大小以及角点个数。更改完以后,关掉再重新打开一次,以更新这些改过的数据。
5.5 播放标定包,这步应该在前面,播放开始后马上空格暂停,等标定开始后再space开始。
rosbag play 2021-03-17-10-27-49.bag /rslidar_points:=/points_raw 将我自己的点云话题重映射到 该工具箱需要的话题 /points_raw
5.6 标定
播到想标定的那张,将rosbag暂停,点击grab,看图像角点是否正确,调整点云界面到合适角度,在右下选取标定版平面。
重复30个位置.
5.7 标定计算
点击MainWindow右上角”Calibrate”进行计算。由于计算量很大,这个过程可能会突然占满所有计算资源,但是时间很短。
5.8 验证标定
点击MainWindow右上角”Project”进行验证, 左下方图像中会出现根据计算结果和激光雷达数据生成的图像对应位置,以红色散点表示。如果散点分布在标定板上,说明标定正确;如果散点不在标定板上,则对右下方激光图像重新点选。
正确情况
错误情况
5.9 如果有需要更新的标记,重新点选后,重复以上内容,直至验证通过
5.10 保存结果:
点击MainWindow左上方的”Save”,将结果保存到合适位置。对于下面的两个弹窗,都选择”NO”。
这里写图片描述
#显示
roslaunch runtime_manager runtime_manager.launch
我们使用Autoware自带的Calibration Publisher和Point Image节点获得点云-图像融合的point-image,在Autoware/Sensing/中打开Calibration Publisher,并将保存好的内外参文件读取进来,打开Autoware/Sensing下的Point Image节点,在Rviz中,Panels/Add New Panel内添加ImageViewerPlugin,填写Image Topic,本例为/galaxy_camera/image_raw,Point Topic,本例为/point_image,得到如下融合图:
#标定板文件
https://download.csdn.net/download/qq_40297851/15714403
#我自己录制的标定包,文件很大15.12个G. 32线激光雷达和单目彩色相机.
链接: https://pan.baidu.com/s/1iEftKjcVOO3KeGpUPgHiIg 提取码: bgr9
#5.6-5.10 直接复制了大佬的内容,懒得写了.
https://blog.csdn.net/AdamShan/article/details/81670732