设备:UAV2
一.内参获取
一.环境:matlab2022(a)
二.步骤:
1.获取图片:
#usb cam 获取话题:/UAV2_usbcam/image_raw
cd px4_dep
//启动launch文件获取相机画面
roslaunch usb_cam usb_cam_uav2.launch
//开窗口获取实时相机数据
rqt_image_view
//截取标定板图片(截取时可以稍微移动)
rosrun image_view extract_images _sec_per_frame:=0.5 image:=/UAV2_usbcam/image_raw
2.在matlab中对图片进行标定(可以选取大概30张左右)
标定教程:用matlab对相机进行标定获取相机内参_matlab 相机内参 fc-CSDN博客
二.外参标定
一.方法:1.joint-calib-ladir(此方法未跑通)
2.livox-camera-calib(成功)
二.步骤:
1.配置livox-camera-calib环境
①.需要配置:ubuntu20.04、ros-noetic、pcl、ceres solver、eigen
②.build:
cd ~/livox_ws/src
git clone https://github.com/hku-mars/livox_camera_calib.git
cd ../
catkin_make
source ~/catkin_ws/devel/setup.bash
完成编译后可以进行外参标定。
③.路径修改:
注意:image和pcd文件可以参考github文件给的例子图片直接实验,也可以自己用无人机获取相机图片,切记把camera_matrix参数换成自己内参单目标定获得的齐次变换矩阵数据
法一:例程标定:github上下载图片包
参考例程:http://t.csdnimg.cn/2PovN
# Data path. adjust them!
common:
image_file: "/home/test/lidarimu/catkin_ws/src/livox_camera_calib/data/0.png"##存放png的地址
pcd_file: "/home/test/lidarimu/catkin_ws/src/livox_camera_calib/data/0.pcd"##存放pcd的地址
result_file: "/home/test/lidarimu/catkin_ws/src/livox_camera_calib/result/extrinsic.txt"##存放结果的文件
# Camera Parameters. Adjust them!
#注意修改
camera:
camera_matrix: [1364.45, 0.0, 958.327,
0.0, 1366.46, 535.074,
0.0, 0.0, 1.0 ]
dist_coeffs: [0.0958277, -0.198233, -0.000147133, -0.000430056, 0.000000]
# Calibration Parameters.!
calib:
calib_config_file: "/home/test/lidarimu/catkin_ws/src/livox_camera_calib/config/config_outdoor.yaml"##连接的另外一个yaml的文件
use_rough_calib: true # set true if your initial_extrinsic is bad
法二:通过连接无人机获取png和pcd文件:
1.按照单目内参标定打开相机
2.打开雷达
cd mid360_ws
//运行launch文件获取雷达数据
roslaunch livox_ros_driver2 msg_MID3602.launch
3.截图和获取pcd文件
截图按照内参标定所用方法即可
获取pcd和截图需要同时运行和终止进程,获取到的是消息包,通过下面方法获取pcd文件
//截取消息
rosbag record /nav2/livox/lidar
通过上方命令可以获取bag文件,在bag_to_pcd.launch(livox-camera-clib-master文件下)中改动参数
第一行bag文件改成自己的位置,第二行value改成自己的节点话题名称,第三行value注意自己的pcd文件命名,运行结束后会在result文件中生成pcd文件,然后就可以
1213

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



