D435i相机标定

标定工具安装:

三个包code_utils、imu_utils、kalibr
当时安装链接: https://pan.baidu.com/s/1KkZzfk-QbYjkNvYEaPlZJg 提取码: l215
在工作空间内先将code_utils放进去编译一遍然后放imu_utils编译
kalibr的安装教程官网:https://github.com/ethz-asl/kalibr/wiki/installation
然后标定流程详细看:https://blog.csdn.net/qq_35616298/article/details/116171823
我整理的是这个:

双目相机标定

创建存储标定文件的目录

mkdir -p ~/calibr_data/d435i-0/multi_camera_cali
cd ~/calibr_data/d435i-0/multi_camera_cali

建立标定yaml文件

touch checkerboard.yaml

内容为:

target_type: 'checkerboard'  #gridtype
targetCols: 5                #number of internal chessboard corners
targetRows: 8                #number of internal chessboard corners
rowSpacingMeters: 0.045      #size of one chessboard square [m] //这里要测量标定板方格的大小
colSpacingMeters: 0.045      #size of one chessboard square [m]

录制相机视频为bag包

roslaunch realsense2_camera rs_camera_orb3.launch

rosrun topic_tools throttle messages /camera/infra1/image_rect_raw 4.0 /infra_left & rosrun topic_tools throttle messages /camera/infra2/image_rect_raw 4.0 /infra_right

rosbag record -O mult_cam_d435i /infra_left /infra_right

开始标定

rosrun kalibr kalibr_calibrate_cameras --target checkerboard.yaml --bag mult_cam_d435i.bag --models pinhole-radtan pinhole-radtan --topics /infra_left /infra_right
当重投影误差小于0.1时结果可用

imu标定

用realsense官方标定程序,标定imu的零偏与非正交性,可以直接写入相机内部

cd ~/librealsense/tools/rs-imu-calibration
python rs-imu-calibration.py

用港科大imu_utils标定imu随机游走

imu_utils包下面的launch文件内容:

<launch>
    <node pkg="imu_utils" type="imu_an" name="imu_an" output="screen">
        <param name="imu_topic" type="string" value= "/camera/imu"/>
        <param name="imu_name" type="string" value= "Realsense"/>
        <param name="data_save_path" type="string" value= "$(find imu_utils)/data/"/>
        <param name="max_time_min" type="int" value= "120"/>
        <param name="max_cluster" type="int" value= "100"/>
    </node>
</launch>

录制并标定imu随机游走
roslaunch realsense2_camera rs_camera_orb3.launch
rosbag record -O D435i_imu /camera/imu
roslaunch imu_utils D435i_imuCali.launch
rosbag play -r 400 D435i_imu.bag

imu与双目相机联合标定

roslaunch realsense2_camera rs_camera_orb3.launch
rosrun topic_tools throttle messages /camera/infra1/image_rect_raw 20.0 /infra_left & rosrun topic_tools throttle messages /camera/infra2/image_rect_raw 20.0 /infra_right & rosrun topic_tools throttle messages /camera/imu 200.0 /imu
rosbag record -O imu_stereo.bag /infra_left /infra_right /imu
rosrun kalibr kalibr_calibrate_imu_camera --target checkerboard.yaml --cam camchain-mult_cam_d435i.yaml --imu imu.yaml --bag imu_stereo.bag

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
手眼标定是将相机与机械臂(或其他运动平台)之间的关系进行确定的过程。手眼标定的目的是确定相机坐标系与机械臂坐标系之间的变换矩阵,以实现相机与机械臂的精确配合。 下面是realsense d435i深度相机手眼标定的一般步骤: 1. 准备工作:在手眼标定之前,需要先对机械臂进行坐标系的确定,并在机械臂上安装标定板。标定板可以是一个黑白棋盘或者其他的平面,但必须能够提供足够的特征点以用于标定。同时,需要在相机上安装一个相机标定板,用于标定相机内参数。 2. 采集数据:将相机与机械臂固定在一起,通过机械臂的运动,采集多组相机与机械臂之间的位置数据。每一组数据需要记录机械臂的末端执行器位置(机械臂坐标系),以及相机拍摄到的标定板图像(相机坐标系)。 3. 提取特征点:对于每组数据,需要从相机拍摄到的标定板图像中提取出足够的特征点。常用的特征点提取算法包括SIFT、SURF等。 4. 计算变换矩阵:通过多组相机与机械臂之间的位置数据,以及相机拍摄到的标定板图像中提取出的特征点,可以计算出相机坐标系与机械臂坐标系之间的变换矩阵。 5. 验证:最后需要验证所得到的变换矩阵是否准确。可以通过将相机与机械臂移动到新的位置,然后使用标定的变换矩阵将相机坐标系转换到机械臂坐标系,验证转换后的结果是否正确。 以上是realsense d435i深度相机手眼标定的一般步骤,具体操作过程可以参考realsense官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值