0.环境配置
博主系统:ubuntu20
相机:海康MV-CS016
激光雷达:Mid-360
ROS1
Sophus安装
SLAM系列之Fast Livo复现(一)_哔哩哔哩_bilibili
Ubuntu 安装 RealSense SDK 及 RealSense-ROS 驱动程序-CSDN博客
这里的Realsense不必安装,顺带一起装了
Realsense ROS1 驱动安装
进入realsense文件夹
cd ~/realsense_ws
运行依赖项
source devel/setup.bash
执行realsense节点
roslaunch realsense2_camera rs_camera.launch
新建终端执行
rosrun rviz rviz
PCL库安装
【PCL】Ubuntu22.04 安装 PCL 库_ubuntu安装pcl-CSDN博客
eigen一般默认安装好了,查看eigen版本,一般头文件就显示版本
cd /usr/include/eigen3/Eigen/src/Core/util
gedit Macros.h

opencv 安装
这里我没有记录,直接问豆包和Kimi
PCL && Eigen && OpenCV
PCL>=1.6
Eigen>=3.3.4
OpenCV>=3.2
Sophus安装
git clone https://github.com/strasdat/Sophus.git
cd Sophus
git checkout a621ff
mkdir build && cd build && cmake ..
make
sudo make install
Vikit安装
我的电脑安装路径为 ~/catkin_fl
cd catkin_ws/src
git clone https://github.com/xuankuzcr/rpg_vikit.git
livox_ros_driver2安装
我的安装路径在:~/livo_driver/src/ws_livox
海康MVS客户端安装
下载链接:https://www.hikrobotics.com/cn/machinevision/service/download/?module=0
安装
sudo dpkg -i xxxx.deb
启动MVS客户端
cd /opt/MVS/bin #进入软件目录
sudo ./MVS.sh #运行客户端
在MVS客户端查看是否能正常识别。
1.相机标定
新建终端执行下列命令:
roslaunch mvs_ros_driver mvs_camera_trigger.launch
另起终端,执行以下代码,参数自己改一改
rosrun camera_calibration cameracalibrator.py --size 9x6 --square 0.85 image:=/left_camera/image
标定结果可视化

以下是标定结果:
**** Calibrating ****
mono pinhole calibration...
D = [-0.0825793412579484, 0.18889546268346563, -0.0002599860454348438, 0.0009403060803430131, 0.0]
K = [1790.2637974341574, 0.0, 742.4372092570699, 0.0, 1790.8901983778176, 556.7092892509689, 0.0, 0.0, 1.0]
R = [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0]
P = [1773.902587890625, 0.0, 742.850288264126, 0.0, 0.0, 1778.455322265625, 556.2129828573743, 0.0, 0.0, 0.0, 1.0, 0.0]
None
# oST version 5.0 parameters
[image]
width
1440
height
1080
[narrow_stereo]
camera matrix
1790.263797 0.000000 742.437209
0.000000 1790.890198 556.709289
0.000000 0.000000 1.000000
distortion
-0.082579 0.188895 -0.000260 0.000940 0.000000
rectification
1.000000 0.000000 0.000000
0.000000 1.000000 0.000000
0.000000 0.000000 1.000000
projection
1773.902588 0.000000 742.850288 0.000000
0.000000 1778.455322 556.212983 0.000000
0.000000 0.000000 1.000000 0.000000
注意:需要提前修改mvs_ros_drive配置文件config/left_camera_trigger.yaml里的riggerEnable: 0,原本为1图像出不来,记得标定好修改回去,为同步做准备
2.抓取ROS包
新建4个终端
第一个终端,打开相机ros终端
roslaunch mvs_ros_driver mvs_camera_trigger.launch

第二个终端打开livox的rviz界面
roslaunch livox_ros_driver2 rviz_MID360.launch

第三个终端,启动点云滤波
rosrun pointcloud_filter pass_through_filter
第四个终端,打开rviz进行配置
rosrun rviz rviz

记得修改这个Rviz的Fixed_Frame为livox_frame
第五个终端,进入bag文件夹并进行录制bag文件(全部点云)
cd ~/Data/calib/
rosbag record /left_camera/camera_info /left_camera/image /livox/lidar
或者记录滤波点云(建议使用这个)
rosbag record /left_camera/camera_info /left_camera/image /livox/lidar_filtered
查看bag文件
rosbag info 2025-11-22-23-48-36.bag

3.direct visual lidar calibration进行标定
注意,该方法需要适配(多传感器联合标定--direct_visual_lidar_calibration),不然会报错
标定预处理
rosrun direct_visual_lidar_calibration preprocess ~/Data/calib ~/catkin_fl/src/direct_visual_lidar_calibration/result -av

初始估计
rosrun direct_visual_lidar_calibration initial_guess_manual ~/catkin_fl/src/direct_visual_lidar_calibration/result

优化估计
rosrun direct_visual_lidar_calibration calibrate ~/catkin_fl/src/direct_visual_lidar_calibration/result

优化配准
rosrun direct_visual_lidar_calibration viewer ~/catkin_fl/src/direct_visual_lidar_calibration/result

标定参数
{
"camera": {
"camera_model": "plumb_bob",
"distortion_coeffs": [
-0.0825793412579484,
0.18889546268346563,
-0.0002599860454348438,
0.0009403060803430131,
0.0
],
"intrinsics": [
1790.2637974341574,
1790.8901983778176,
742.4372092570699,
556.7092892509689
]
},
"meta": {
"bag_names": [
"2025-11-22-23-48-36.bag"
],
"camera_info_topic": "/left_camera/camera_info",
"data_path": "/home/wisdom/Data/calib",
"image_topic": "/left_camera/image",
"intensity_channel": "intensity",
"points_topic": "/livox/lidar_filtered"
},
"results": {
"T_lidar_camera": [
0.04040893983177123,
-0.0003016413283030992,
-0.11782197698838458,
-0.5189411728685212,
0.48017297233895034,
-0.48250621050814646,
0.5170316552766282
],
"init_T_lidar_camera": [
0.05825143679976463,
-0.016030732542276382,
-0.1090027391910553,
-0.5192230367835269,
0.4779940593907771,
-0.4793294806661294,
0.5217014086975291
]
}
}
我们可以取T_lidar_camera的标定外参格式内容为
TUM [tx ty tz qx qy qz qw]]
即:【X轴平移、y轴平移、z轴平移、四元数_x、四元数_y、四元数_z、四元数_w】
使用以下链接进行转换:https://staff.aist.go.jp/k.koide/workspace/matrix_converter/matrix_converter.html

转换矩阵为:
0.07324 0.00058 0.99731 0.04041
-0.99731 -0.00422 0.07325 -0.00030
0.00426 -0.99999 0.00027 -0.11782
0.00000 0.00000 0.00000 1.00000
在这里感谢赵博士对我的大力支持^u^!
2479

被折叠的 条评论
为什么被折叠?



