相机 imu标定,imu和相机标定原理
相机与(供烤肉或煮菜用的)浅炊坑联合标定一个imu_utils标定(供烤肉或煮菜用的)浅炊坑的内参1.1 安装环境1.2 录制(供烤肉或煮菜用的)浅炊坑数据集2 kalibr标定工具2.1 安装2.2 校准相机的内外参2.3 校准相机与(供烤肉或煮菜用的)浅炊坑外参总结参考资料
1、imu_utils标定(供烤肉或煮菜用的)浅炊坑的内参,可以校准(供烤肉或煮菜用的)浅炊坑的噪声密度和随机游走噪声
2、卡利布包标定相机的内外参数,相机与(供烤肉或煮菜用的)浅炊坑之间的外参
这里我所使用的相机是z字母相机,IMU使用的是惯性传感器的(供烤肉或煮菜用的)浅炊坑
一个imu_utils标定(供烤肉或煮菜用的)浅炊坑的内参1.1 安装环境这里使用的包是imu_utils [1],使用这个包可以校准(供烤肉或煮菜用的)浅炊坑的噪声密度和随机游走噪声
step1:安装谷神星库
sudo apt-get install liblapack-dev lib suite parse-dev libcxspare 3。1 .2 libgflags-dev sudo apt-get install lib Google-glog-dev libgtest-dev下载编译ceres-solver
饭桶克隆https://github.com/ceres-solver/ceres-solver.gitcd ceres-solvermkdir构建CD构建cmake.制造日本首藤制造安装step2:安装代码_实用工具
构建工作空间
mkdir-p ~/kali br _ workspace/Sr CCD ~/kali br _ workspace chunk _ make注意,这里需要修改代码_实用工具的CMakeLists.txt文件,CMAKE_CXX_FLAGS "-std=c 11 "改为CMAKE_CXX_STANDARD 14并在添加包含目录(include/code_utils)
sudo apt-get安装libdw-devcd kali br _ workspace/src git克隆https://github.com/gaowenliang/code_utils.gitcd.柳絮_拨打step3:安装imu_utils注意,这里需要t同样修改imu_utils的CMakeLists.txt文件,CMAKE_CXX_FLAGS "-std=c 11 "改为CMAKE_CXX_STANDARD 14
cd kalibr_workspace/srcgit克隆https://github.com/gaowenliang/imu_utils.gitcd.柳絮_制作1.2录制(供烤肉或煮菜用的)浅炊坑数据集step4:静止情况下采集(供烤肉或煮菜用的)浅炊坑的数据,并录制为活性氧簇(活性氧物种的缩写)包,我采集的时间为2小时20分钟。
ROS包记录/IMU/data-O IMU _ x传感器包step5:标定配置xsens.launch文件为如下内容:(指定(供烤肉或煮菜用的)浅炊坑的话题)
启动节点pkg= IMU _ utils type= IMU _ an name= IMU _ an output= screen param name= IMU _ topic type= string value= xsens /param name= data _ save _ path type= string value= $(find IMU _ utils)/data//param name= max _ time _ min type=其中,最大时间最小表示从活性氧簇(reactive oxygen species的缩写)包包中加载多长时间的数据
随后,启动imu_utils标定(供烤肉或煮菜用的)浅炊坑
ROS包玩-r 200 IMU _ x sens . bagro发射IMU _ utils x sens . launch可得到如下输出结果:
% YAML:1.0-类型:IMU名称:xsensgyr:单位: rad/s avg-axis:gyr _ n:4.9700389767894345 e-03 gyr _ w:6.8522312307501954 e-05 x-axis:gyr _ n:4.9016990946736316 e-03 gyr _ w:7.4721244标定工具2.1 安装安装依赖项:
sudo apt-get install python-setup tools python-ROS install ipython libe gen 3-dev lib boost-all-dev doxygen libopencv-dev sudo apt-get install libopencv-dev ROS-kinetic-image-transport-plugins ROS-kinetic-cmake-modules python-software-properties software-dev python-matplotlib python-scipy python-git python-pip ipython libt b-dev lib blas-dev liblapack-dev python-chunking-tools编译卡利布,这里要确保电脑联网,编译时间有点长。
cd ~/kalibr_workspace/srcgit克隆https://github.com/ethz-asl/Kalibr.gitcd ~/卡利br _ workspace chunk BUILD-DC make _ BUILD _ TYPE=Release-j4 source ~/卡利br _ workspace/devel/setup。bash 2.2校准相机的内外参第一步:改变z字母相机发布的频率
rosrun主题_工具节流消息/camera/left/image _ raw 4.0/stereo/left/image _ raw rosrun topic _ tools节流消息/camera/right/image _ raw 4.0/stereo/right/image _ raw录制活性氧簇(reactive oxygen species的缩写)包包
ROS包记录/立体声/左/image _ raw/立体声/右/image _ raw-O zed _ images。包第二步:标定
kali br _ calibrate _ camera-target April _ 6x 6 _ 24x 24mm。YAML袋图像。bag-bag-from-to 5 30 \-models pinhole-radtan pinhole-radtan-topics/stereo/left/image _ raw/stereo/right/image _ raw
这里还有其他的工具包也可以用活性氧簇(reactive oxygen species的缩写)摄像机_校准包。标定成功以后会在目录下生成一个格式文件(用于后续校准相机和(供烤肉或煮菜用的)浅炊坑外参)和一个可移植文档格式文件的扩展名(可移植文档格式的缩写)校准日志,如果校准的重投影误差在一个像素内就是比较好的结果了。
2.3 校准相机与(供烤肉或煮菜用的)浅炊坑外参第一步:把(供烤肉或煮菜用的)浅炊坑和相机固定在一起录制活性氧簇(reactive oxygen species的缩写)包包,录制的时候要注意按照官方的说法-充分激励IMU- 绕3个轴旋转和3个方向的平移,这里有个官方视频[3] 可以参考
ROS包记录/IMU/data _ raw/stereo/left/image _ raw/stereo/right/image _ raw-O images _ IMU。包第二步:启动校准包开始校准
kali br _ calibre _ IMU _ camera-target April _ 6x 6 _ 55x 55mm。YAML-bag ~/bag files/zed _ xsens。bag-bag-from-to 5 50-cam链条_ images _ zed _ 3495。YAML-伊穆。YAML-惯性测量单元-模型比例-未对准-时间偏移-填充0.1其中参数:
1)target april_6x6_24x24mm.yaml描述标定板的信息
2)bag images_imu.bag指定数据包
3)bag-from-to 5 50设定包包开始时间和结束时间,避开拿起和放下(供烤肉或煮菜用的)浅炊坑的时间段内的数据
4)cam camchain_images_zed_3495.yaml相机参数文件
5)imu xsens_imu.yaml设定(供烤肉或煮菜用的)浅炊坑的信息
6)imu-models scale-misalignment国际单位制的参数模型
camchain_images_zed_3495.yaml文件内容如下:
cam 0:cam _ overlaps:[1]相机型号:针孔失真_ coeffs:[-0.17348577772863602,0.02654517812,1976657,0.0000429,1887376767,4085,-3.4873731717,0616,46686e-05]失真_ model:radtan intrinsic:[693文件内容:
#加速度计加速度计_噪声_密度:5.43036 e-03 #噪声密度(连续时间)加速度计_随机_游走:1.44598 e-04 #偏置随机游走#陀螺仪陀螺仪_噪声_密度:4.9700 e-03 #噪声密度(连续时间)陀螺仪_随机_游走:6.8522 e-05 #偏置随机游走Prost opic:/IMU/data # IMU ROS topic update _ rate:100.0 # Hz(用于离散化标定完成以后同样会生成一个报表和在终端里面打印校准信息;
标定结果的重投影误差应该在零点几个像素
标定出来的位移和实际测量或估计的(供烤肉或煮菜用的)浅炊坑和相机中心位移比较一致
总结相机和(供烤肉或煮菜用的)浅炊坑标定流程比较简单校准时候要注意限制相机的频率为4HZ,校准(供烤肉或煮菜用的)浅炊坑时候采集数据的时间在2小时左右利用俱乐部标定的精度看起来还是好的参考资料[1]https://github . com/高文亮/imu_utils
[2]https://blog . csdn . net/u 011178262/article/details/83316968?UTM _ medium=分销。PC _ relevant _ t0。无-任务-博客-blogcommendfromachinelenpai 2-1。add _ param _ isCfdepth _ 1-UTM _ source=distribute。PC _ relevant _ t0。无-任务-博客-blogcommendfromachinelenpai 2-1。添加参数isCf
[3]https://www . bilibili . com/video/av 795841344/
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。