相機+imu標定

參考:
雙目相機與IMU camera IMU 聯(lián)合標定工具箱使用方法——Kalibr
官方推薦教程:DIY Indoor Autonomous Drone! - Part 2 (Kalibr & Calibration) (需要自行FQ)

官方上是跑在ros indigo上的,但是實測用kinetic也沒問題,主要就是裝依賴的時候改下名字(下面命令行里有寫注釋)

1 工具箱 Kalibr 安裝

官網(wǎng):https://github.com/ethz-asl/kalibr
安裝官網(wǎng):https://github.com/ethz-asl/kalibr/wiki/installation
采用第二種——原碼編譯的方式安裝

  1. 安裝依賴
sudo apt-get install python-setuptools python-rosinstall ipython libeigen3-dev libboost-all-dev doxygen libopencv-dev ros-kinetic-vision-opencv ros-kinetic-image-transport-plugins ros-kinetic-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 # 注意把官網(wǎng)的indigo換成kinetic

sudo pip install python-igraph --upgrade # 這個一開始沒裝,后來使用過程中提示少igraph
  1. 新建一個workspace,或者在已存在的workspace中進行
cd src/
git clone https://github.com/ethz-asl/Kalibr.git
  1. build(這步久一點)
cd <workspace>
catkin build -DCMAKE_BUILD_TYPE=Release -j4
  1. source
source ~/kalibr_workspace/devel/setup.bash

2 使用Kalibr標定

https://github.com/ethz-asl/kalibr/wiki/downloads的Sample datasets中IMU-camera calibration為例(需要自行FQ下載,當然也可以不跑這個example,只是為了熟悉流程查看效果):

  1. 相機標定(以只標定1個camera為例)
kalibr_calibrate_cameras --target april_6x6.yaml --bag dynamic.bag --models pinhole-equi --topics /cam0/image_raw
  1. imu+相機(可以只用上面生成的1個camera信息,壓縮包里自帶的是2個cam的信息)
kalibr_calibrate_imu_camera --target april_6x6.yaml --bag dynamic.bag --cam camchain-dynamic.yaml --imu imu_adis16448.yaml

自己使用時:
(要先打印好april tag,并更改april、imu的yaml文件,并確定好自己需要的topic名稱,打開相機和imu)

  1. 錄制rosbag
# 可以只錄制需要的topics(在這里是/camera/color/image_raw和/imu),并命名為topics.bag
rosbag record -O topics /camera/color/image_raw /imu

# 若錄制全部topics
rosbag record -a
  1. 可以查看錄制的topics.bag
rosbag play topics.bag

然后用rosrun rivz rviz、rostopic echo /imu等方式查看錄制的rosbag

  1. 相機標定 及 imu+相機標定 見上面,改成自己的文件即可

3 另一種相機標定方法:camera_calibration

此方法只用于標定相機,而kalibr可用于相機和imu的聯(lián)合標定

  1. 安裝
sudo apt-get install ros-kinetic-camera-calibration
  1. 使用
    官網(wǎng)http://wiki.ros.org/camera_calibration/上例子:
rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.108 image:=/my_camera/image camera:=/my_camera

標定過程非常方便直觀且較準確

4 也可以直接看相機參數(shù)

realsense相機出廠時標定過參數(shù),可以通過以下方法查看:(對于realsense D435)

  1. 打開相機
roslaunch realsense2_camera rs_camera.launch
  1. 查看相應相機的信息
rostopic echo /camera/color/camera_info

5 相機信息

  1. 內(nèi)參矩陣A:(cx,cy)為主光軸點,一般為圖像的中心;fx和fy為焦距
  2. 畸變參數(shù)向量:[k1,k2,p1,p2]
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容