zed2相机标定(相机+imu)

本文详细介绍了如何通过rosbag录制imu和相机数据,使用kalibr进行标定,包括文件准备、数据获取、标定过程及结果解读。重点涉及imu噪声参数设置和相机校准指标评估。

相机和imu单独标定请参考前面的博客

1、准备文件

  • checkboard.yaml
  • 相机标定文件camera_calibration.yaml
  • imu标定文件imu_calibration.yaml

IMU标定文件格式需要改为如下:

rostopic: /zed2/zed_node/imu/data_raw
update_rate: 200.0 #Hz

accelerometer_noise_density: 1.95210249097e-03 #continous
accelerometer_random_walk: 3.21657754841e-05 
gyroscope_noise_density: 1.66653821181e-03 #continous
gyroscope_random_walk: 3.62995642537e-06

2、录制数据包

rosbag record -O camera_imu.bag /zed2/zed_node/imu/data_raw /zed2/zed_node/left_raw/image_raw_color /zed2/zed_node/right_raw/image_raw_color

具体晃动方式,请参考:https://github.com/ethz-asl/kalibr

3、获取标定结果

kalibr_calibrate_cameras --bag camera_imu.bag  
--topics /zed2/zed_node/left_raw/image_raw_color /zed2/zed_node/right_raw/image_raw_
ZED 2i相机在ROS中进行IMU标定的方法如下: 1. **数据录制**:找个地方放置相机,保持静止,录制2个多小时的IMU数据。在终端中依次执行以下命令: ```bash source ~/桌面/zed/ros/catkin_ws/devel/setup.bash roslaunch zed_wrapper zed2i.launch rosbag record -O /zed2i/zed_node/imu/data /zed2i/zed_node/imu/data ``` 也可采用另一种录制方式,把相机静止放置录制两小时imu数据,执行命令: ```bash rosbag record -O imu_calibration /imu/data ``` 2. **标定**: - 若采用上述第二种录制方式,需要修改launch文件如下: ```xml <launch> <node pkg="imu_utils" type="imu_an" name="imu_an" output="screen"> <param name="imu_topic" type="string" value= "/zed2/zed_node/imu/data_raw"/> <param name="imu_name" type="string" value= "ZED2"/> <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= "200"/> </node> </launch> ``` 然后在终端执行以下命令: ```bash roslaunch imu_utils ZED2_calibration.launch rosbag play -r 200 imu_calibration.bag ``` 3. **频率调整(可选)**:通常设备采集的频率为20 - 60 hz,会使标定的图像过多导致计算量太大,可通过topic_tools将ros topic的频率降低到合适值进行采集,同时设置IMU的频率为200HZ。在终端执行以下命令: ```bash rosrun topic_tools throttle messages /zed2i/zed_node/imu/data_raw 200 /zed2i/zed_node/imu/data_raw2 rosrun topic_tools throttle messages /zed2i/zed_node/left/image_rect_color 4.0 /zed2i/zed_node/left/image_rect_color2 rosrun topic_tools throttle messages /zed2i/zed_node/right/image_rect_color 4.0 /zed2i/zed_node/right/image_rect_color2 ``` 也可按以下命令修改节点频率并发布topics: ```bash rosrun topic_tools throttle messages /zed2i/zed_node/right_raw/image_raw_color 20.0 /right/image_raw rosrun topic_tools throttle messages /zed2i/zed_node/left_raw/image_raw_color 20.0 /left/image_raw rosrun topic_tools throttle messages /zed2i/zed_node/imu/data_raw 200.0 /imu/data_raw ``` 4. **联合标定(若需要)**: - 启动rviz可视化: ```bash roslaunch zed_display_rviz display_zed2i.launch ``` - 录制rosbag: ```bash rosbag record -O stereo-imu-calibrate.bag /right/image_raw /left/image_raw /imu/data_raw ``` - 修改yaml文件并播放rosbag进行联合标定: ```bash rosrun kalibr kalibr_calibrate_imu_camera --target checkerboard.yaml --cam camera_calibra_checker-camchain.yaml --imu zed2i_imu.yaml --bag stereo-imu-calibrate.bag --show-extraction --timeoffset-padding 0.1 ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值