【Ubuntu18.04 D435i RGB相机与IMU标定详细版(一)】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

Ubuntu18.04 D435i RGB相机标定


一、环境配置

笔者的版本:ubuntu18.04、ros melodic

1、D435i驱动

源码:

c 复制代码
git clone https://github.com/IntelRealSense/librealsense.git

依赖:

c 复制代码
sudo apt-get install git libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev
sudo apt-get install libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev at

编译:

c 复制代码
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j8
sudo make install

测试:

c 复制代码
realsense-viewer

成功!

2、ROS包安装(注意笔者是ros1)


这里我选择ros1版本

编译:

c 复制代码
mkdir -p realsense_ws/src
cd realsense_ws/src
 #ros1对应的源码:
git clone -b ros1-legacy https://github.com/IntelRealSense/realsense-ros.git
git clone https://github.com/pal-robotics/ddynamic_reconfigure.git
cd .. && catkin_make

添加环境依赖:

c 复制代码
echo "source ~/realsense_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

测试安装是否成功:

c 复制代码
roslaunch realsense2_camera demo_pointcloud.launch 

成功!

3、Kalibr工具安装

依赖:

c 复制代码
sudo apt-get install python-setuptools python-rosinstall ipython libeigen3-dev  doxygen libopencv-dev ros-melodic-vision-opencv ros-melodic-image-transport-plugins ros-melodic-cmake-modules  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 python-pyx

安装python-igraph:

c 复制代码
sudo apt-get install -y libigraph0-dev

注意笔者安装的是老版本的

c 复制代码
sudo pip install python-igraph==0.7.0

创建工作空间:

c 复制代码
mkdir -p ~/kalibr_workspace/src
cd ~/kalibr_workspace

下载源码

c 复制代码
cd ~/kalibr_workspace/src
git clone https://github.com/ethz-asl/Kalibr.git

编译

c 复制代码
catkin_make -DCMAKE_BUILD_TYPE=Release

设置环境变量

c 复制代码
echo "source ~/kalibr_workspace/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

测试

c 复制代码
rosrun kalibr kalibr_create_target_pdf --type checkerboard --nx 5 --ny 8 --csx 0.045 --csy 0.045

成功

二、RGB相机标定

1.文件准备

创建一个文件夹,用来保存摄像头校正数据。

c 复制代码
mkdir ~/calib_data/camera_calib
cd ~/calib_data/camera_calib

下载标定版和yaml文件:

下载链接:https://github.com/ethz-asl/kalibr/wiki/downloads

这里一定要注意根据自己的标定版,修改tagsize和tagspacing

2.录制摄像头标定rosbag

运行realsense相机

c 复制代码
roslaunch realsense2_camera rs_camera.launch  # D435i默认分辨率是1280*720,30fps,可以通过参数指定具体的分辨率

roslaunch realsense2_camera rs_camera.launch color_width:=640 color_height:=480 color_fps:=30

# 如果不指定帧率,无法成功修改分辨率,所以分辨率需要一起指定
# 理论上在这里同样可以修改帧率,但我遇到了报错,提示设备不支持,所以分辨率这里需要指定默认的30fps

将话题重命名为color,并利用throttle工具降低录制RGB图像的频率至4Hz

c 复制代码
rosrun topic_tools throttle messages /camera/color/image_raw 4.0 /color
# /camera/color/image_raw 表示原始的图像话题
# 4.0 表示新话题帧率
# /cam0/color/image_raw   表示映射的新话题名(与本文不一样,只做解释)

打开rviz查看摄像头视角,录制的过程中调整相机的角度,各个方向都采集一下,但是拍到的棋盘格要完整。---

注意:fied frame : carmera_link

或者用rqt查看

c 复制代码
rqt_image_view

进入自己想要保存包的文件夹,然后用rosbag录制,ctrl+c结束录制

-O为重命名包的名字,这里命名为camd435i

c 复制代码
cd ~/calib_data/camera_calib
rosbag record -O camd435i /color
# 录制图像话题数据名称为camd435i
# 录制图像话题数据 4fps

注意:录制完之后检查一下camd435i.bag的大小,如果很小说明没录制成功

3.开始标定

代码如下(示例):

c 复制代码
cd ~/calib_data/camera_calib
c 复制代码
rosrun kalibr kalibr_calibrate_cameras --target april_6x6_80x80cm.yaml --bag camd435i.bag --models pinhole-radtan --topics /color

#可视化 --show-extraction
#第 5 帧到第 150 帧 进行标定--bag-from-to 5 150
#用于同步图像和 IMU 数据(如果有) --approx-sync 0.04

4.标定结果

生成三个文件

一定要记住camchain-camd435i.yaml,因为在摄像头和IMU联合标定的时候要用


三、IMU标定见(【Ubuntu18.04 D435i RGB相机与IMU标定详细版(二)】)

四、RGB与IMU联合标定(【Ubuntu18.04 D435i RGB相机与IMU标定详细版(三)】)

相关推荐
浪里镖客14 小时前
RM65B睿尔曼机械臂与realsense d4354i相机眼在手外的手眼标定
数码相机
长江后浪博客17 小时前
陶瓷盘UV喷墨印刷中的Z轴高度测量与防碰撞技术方案
数码相机·uv·陶瓷盘uv打印·uv喷墨印刷·z轴测高·喷头防碰撞·激光位移传感器
挽安学长3 天前
浅谈一下,伟财工程水印相机的特点及优势!
数码相机
蓝宝石的傻话3 天前
因为MiBeeNVR,决定接 onvif-go 自己管理并重构
数码相机·重构·golang
格林威3 天前
C# 相机Burst模式图像采集:使用相机内存配合OpenCvSharp和Halcon实现短时间的高速采集的方法
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
长江后浪博客4 天前
黑色滴灌带三角结构视觉检测光源设计方案——200mm高角度环光 + 低角度条形暗场补光
人工智能·数码相机·视觉检测·机器视觉·光源设计·暗场补光·环形光
长江后浪博客5 天前
陶瓷浮雕盘印刷视觉定位方案:8K线扫相机 + 暗场光源 + 旋转平台
人工智能·数码相机·机器视觉·视觉定位·线扫相机·暗场光源·陶瓷印刷
爱分享的康康5 天前
破解座舱数采五大痛点:DMS/OMS多路相机数采工程方案
数码相机·自动驾驶
k4m7v2pz5 天前
Godot 4 窗口拉伸黑边与变形:stretch 配置全解析
数码相机·游戏引擎·godot·2d游戏·黑边·stretch·画面比例
成都佳洋光电科技有限公司5 天前
一文了解工业相机是怎么实现触发的?
数码相机·工业相机·工业镜头·短波红外