Ubuntu18.04 相机与二维激光雷达联合标定

学自autoware1.14安装相机和激光雷达联合标定工具

单独安装标定工具

1 安装nlopt

git clone git://github.com/stevengj/nlopt.git
cd nlopt
mkdir build
cd build
cmake ..
make
sudo make install

2 calibration_camera_lidar安装

mkdir -p ~/calibration/src
cd ~/calibration/src
git clone https://github.com/XidianLemon/calibration_camera_lidar.git

需要修改~/calibration/src/calibration_camera_lidar/ls_calibration/calibration_camera_lidar 目录下的CMakeLists.txt文件

sudo gedit ~/calibration/src/calibration_camera_lidar/ls_calibration/calibration_camera_lidar/CMakeLists.txt

将文件中所有的if ("${ROS_VERSION}" MATCHES "(indigo|jade|kinetic)")修改为if ("${ROS_VERSION}" MATCHES "(indigo|jade|kinetic|melodic)"),因为默认的是不支持melodic的。

cd ~/calibration
catkin_make
source devel/setup.bash
rosrun calibration_camera_lidar calibration_toolkit

如果报错是

/home/willingham/calibration/devel/lib/calibration_camera_lidar/calibration_toolkit: error while loading shared libraries: libnlopt.so.0: cannot open shared object file: No such file or directory

是libnlopt.so.0链接位置问题
运行

cd /etc/ld.so.conf.d
sudo touch libnlopt.conf
sudo gedit libnlopt.conf 

加入/usr/local/lib
配置生效

sudo ldconfig

重新运行

rosrun calibration_camera_lidar calibration_toolkit

成功打开

标定过程

请下载雷达驱动,这个是我上次用rpladir时弄过的,思岚A2 运行cartographer
然后启动雷达

source ~/rplidar/devel/setup.bash
roslaunch rplidar_ros view_rplidar.launch

请下载相机驱动,相机驱动我在之前标定zed2时做过了,ubuntu18.04 ZED2相机标定
启动相机

source ~/zed_ws/devel/setup.bash
roslaunch zed_wrapper zed2.launch

我使用的相机时zed2(双目相机),因此我只启动了左摄像头的可视化界面,因为我后面也只用它的topic

rosrun image_view image_view image:=/zed2/zed_node/left/image_rect_color

可以查看一下topic

rostopic list

在里面可以看到/scan/zed2/zed_node/left/image_rect_color

启动录制bag

rosbag record -O Calibra_data.bag /zed2/zed_node/left/image_rect_color /scan

播放bag,并在开始一瞬间按空格暂停

roscore
#新终端
rosbag play Calibra_data.bag

打开工具

rosrun calibration_camera_lidar calibration_toolkit

选择自己的图像topic
在这里插入图片描述
选择模式camera->2d LIDAR
在这里插入图片描述
修改参数,自己测量一下标定板
在这里插入图片描述
关闭后重新打开界面使参数得到修改,并在重新打开后将整体界面调整至下图样式,方便后面使用。
在这里插入图片描述
接下来的标定步骤为

  1. 开始播放bag,得到一个较好雷达图像时按空格暂停
  2. 点击右上角grab进行捕捉,会得到一个相机标定界面,和此时的激光雷达图
  3. 在激光雷达图中框选标定板区域

重复上述步骤,捕获次数越多越好

在这里插入图片描述
因为是在测试,所以只是在寝室里搞一搞,雷达周围有一大片空白是因为我的雷达和相机固定在了一个平面,并且这个平面上还有另一个雷达离rplidar很近,而且桌子上有电脑和键盘,雷达线短只能放在桌子上,所以有很大一片空白,不过后面安在车上实验的时候就会好了。

猜你喜欢

转载自blog.csdn.net/qq_41746268/article/details/116330086