-
相机内参标定
- 采用Kalibr工具:https://github.com/ethz-asl/Kalibr
- 基于环境镜像:https://github.com/ethz-asl/kalibr/wiki/installation
-
docker pull stereolabs/kalibr
-
#!/bin/sh data_dir=$1 if [ ! -d "$data_dir" ]; then echo "data directory does not exist: $data_dir" exit 1 fi xhost +local:root; docker run -it -e DISPLAY -e QT_X11_NO_MITSHM=1 -v /tmp/.X11-unix:/tmp/.X11-unix:rw -v $data_dir:/root/data stereolabs/kalibr:kinetic /bin/bash -c "cd /root/data; /bin/bash" xhost -local:root;
-
chmod +x run_kalibr.sh
-
./run_kalibr.sh <path-to-data-dir>, where
<path-to-data-dir>
is the path to the directory on your computer which contains your calibration bag file -
安装pyx:
-
echo ' deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse' > /etc/apt/sources.list
-
apt-get install -y python-pyx
-
-
-
标定步骤
-
生成棋盘格
-
# 生成棋盘格标定板 type:checkerboard或apriltag # --nx [NUM_COLS] --ny [NUM_ROWS] --tsize [TAG_WIDTH_M] --tspace [TAG_SPACING_PERCENT] kalibr_create_target_pdf --type checkerboard --nx 6 --ny 7 --csx 0.030 --csy 0.030
-
-
编写checkerboard.yaml文件
-
target_type: 'checkerboard' #gridtype targetCols: 6 #number of internal chessboard corners targetRows: 7 #number of internal chessboard corners rowSpacingMeters: 0.029 #size of one chessboard square [m] colSpacingMeters: 0.029 #size of one chessboard square [m]
-
-
系统下录制bag包(基于ros安装、realsense sdk安装好的前提下)
- mkdir ~/temp/data && cd ~/temp/data
- roslaunch realsense2_camera rs_camera.launch
-
rosrun topic_tools throttle messages /camera/color/image_raw 4.0 /color
-
rosbag record -O camd435i /color(过程中打开rviz查看)
-
-
docker cp camd435i 容器工作目录
-
docker cp checkerboard.yaml 容器工作目录
-
进入到上述容器工作目录
-
kalibr_calibrate_cameras --target ~/kalibr_ws/src/Kalibr/data/checkerboard.yaml --bag ~/kalibr_ws/src/Kalibr/data/camd435i.bag --models pinhole-equi --topics /color --show-extractio --approx-sync 0.04
-
报错:Cameras are not connected through mutual observations, please check the dataset. Maybe adjust the approx. sync. tolerance
-
# 注释/kalibr_workspace/src/Kalibr/aslam_offline_calibration/kalibr/python/kalibr_calibrate_cameras文件中下面这几行,201行左右 if not graph.isGraphConnected(): obsdb.printTable() print "Cameras are not connected through mutual observations, please check the dataset. Maybe adjust the approx. sync. tolerance." graph.plotGraph() sys.exit(-1)
-
-
-
-
相机外参标定
Intel Realsense D435i相机标定
最新推荐文章于 2024-04-18 15:26:41 发布