前言
事件相机与自身IMU标定流程
一、DAVIS346驱动安装
见
https://github.com/uzh-rpg/rpg_dvs_ros
sudo apt-get install libcaer-dev:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo
add-apt-repository ppa:inivation-ppa/inivation-bionic sudo apt-get
update
二、校准
1.标定手册
- 官网有相机在VICON的标定
https://inivation.gitlab.io/dv/dv-docs/docs/getting-started.html
- 苏黎世理工大学有ROS官方标定教程🔗
http://wiki.ros.org/camera_calibration/Tutorials/MonocularCalibration
- kalibr标定工具
https://github.com/ethz-asl/kalibr/wiki/installation
2.使用方法三进行imu与相机同时标定
- kalibr 安装
https://github.com/ethz-asl/kalibr/wiki/installation
- 安装依赖
sudo apt-get install python-setuptools python-rosinstall ipython libeigen3-dev libboost-all-dev doxygen libopencv-dev ros-melodic-vision-opencv ros-melodic-image-transport-plugins ros-melodic-cmake-modules python-software-properties software-properties-common libpoco-dev python-matplotlib python-scipy python-git python-pip ipython libtbb-dev libblas-dev liblapack-dev python-catkin-tools libv4l-dev
sudo pip install python-igraph --upgrade
- 创建空间
mkdir -p ~/kalibr_workspace/src
cd ~/kalibr_workspace
source /opt/ros/melodic/setup.bash
catkin init
catkin config --extend /opt/ros/melodic
catkin config --merge-devel # Necessary for catkin_tools >= 0.4.
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release
cd ~/kalibr_workspace/src #clone from github
git clone https://github.com/ethz-asl/Kalibr.git
cd ~/kalibr_workspace
catkin build -DCMAKE_BUILD_TYPE=Release -j4
source ~/kalibr_workspace/devel/setup.bash
- 开始标定
https://github.com/ethz-asl/kalibr/wiki/camera-imu-calibration
- 首先通过ros话题订阅事件相机的raw_image,肉眼直接调节相机焦距和光圈大小,使成像清晰。也可通过Siemens图像进行调焦距。固定好当前参数设置。
kalibr_camera_focus --topic /cam0/image_raw /cam1/image_raw
- 打开dv-gui,查看话题列表;订阅/dvs/image_raw /dvs/imu
- 使相机静止不动,移动标定板,改变相机图像话题频率到4hz (rosrun topic_tools throttle messages <msgs_per_sec> [outtopic]); rosbag record /dvs/image_raw ,记录一段时间数据。
hint:使图像充满整个相机视线,不同角度、不同距离 - 固定标定板,移动相机。修改相机图像频率为20hz;IMU修改为200hz,或不修改获取当前工作频率,而将其复制到yaml文件中对应频率。
- 旋转各种相机IMU工作方向和加速度轴
- 保证曝光程度,确保不模糊,尽量避免振动。
- 记录
rosbag record /cam0/image_raw /cam1/image_raw /imu0 -O dynamic.bag
- 运行标定
标定工具推荐:
https://www.zhihu.com/question/273511459/answer/962288574
标定过程:
https://github.com/ethz-asl/kalibr/wiki/calibrating-the-vi-sensor
pinhole-equi 为畸变类型,可改为其他畸变类型:radtan…
kalibr_calibrate_cameras --models pinhole-equi pinhole-equi --topics /cam0/image_raw /cam1/image_raw --bag static.bag --target aprilgrid_6x6.yaml
kalibr_camera_validator --chain chain.yaml --target aprilgrid_6x6.yaml#检查结果
kalibr_calibrate_imu_camera --cam chain.yaml --target aprilgrid_6x6.yaml --imu imu0.yaml --bag dynamic.bag#检查结果