kalibr标定realsenseD435i(三)--imu+双目标定
作者:互联网
步骤一:编写camchain.yaml,具体的参数参考上面得到的yaml文件,没有的参数可以删除。
cam0:
camera_model: pinhole
distortion_coeffs: [0.3741003900681439, -0.3881978058678547, 3.1716618459908745,
-6.001063348025562]
distortion_model: equidistant
intrinsics: [390.758503853357, 391.25816160400524, 321.83897980850134, 239.4465181428646]
resolution: [640, 480]
rostopic: /infra_left
cam1:
T_cn_cnm1:
- [0.9999998901585861, -4.294157013095873e-05, 0.00046673208390293774, -0.05012845047306967]
- [4.2939084706306155e-05, 0.9999999990638859, 5.335182709763375e-06, -4.592119433712806e-05]
- [-0.00046673231256714554, -5.315141075253501e-06, 0.9999998910663435, 2.7033932716557476e-06]
- [0.0, 0.0, 0.0, 1.0]
camera_model: pinhole
distortion_coeffs: [0.34234774358277686, 0.11586227173983633, 0.1467711250555194,
-0.10482812645454345]
distortion_model: equidistant
intrinsics: [390.99220733802025, 391.5150578117259, 321.8225997794459, 239.3566665455548]
resolution: [640, 480]
rostopic: /infra_right
步骤二:编写imu.yam,具体参数使用之前imu标定得到的参数
accelerometer_noise_density: 1.3105289977393427e-02
accelerometer_random_walk: 2.6279926558638435e-04
gyroscope_noise_density: 1.5606318435633282e-03
gyroscope_random_walk: 1.6355489539708390e-05
rostopic: /imu
update_rate: 200.0
步骤三:准备好之前的checkerboard.yaml文件
步骤四:复制realsense-ros包中rs_camera.launch,重命名为rs_imu_stereo.launch,更改内容为
将
<arg name="enable_sync" default="false"/>
改为:
<arg name="enable_sync" default="true"/>
这样来使imu和双目数据时间对齐
将
<arg name="unite_imu_method" default=""/>
改为
<arg name="unite_imu_method" default="linear_interpolation"/>
这样来保证会有imu话题
步骤五:启动realsense
我是在~/catkin_ws$ 里运行!!后面文件数据录制结束储存地方也在/catkin_ws)
roslaunch realsense2_camera rs_imu_stereo.launch
步骤六:关闭IR结构光,参考上面
rosrun rqt_reconfigure rqt_reconfigure
打开后将camera->stereo_module中的emitter_enabled设置为off(0)
步骤七:打开rviz,add imu topic和infra1 topic以及infra2 topic,同时调整realsenseD435i位置,要确保双目图像数据一直包含标定板全部内容
步骤八:调整imu和双目topic的发布频率以及以新的topic名发布它们,其中双目图像的发布频率改为20Hz,imu发布频率改为200Hz
使用Ctrl+shift+T,打开新的终端,一个终端运行一个,分别运行
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
步骤九: 开始录制数据包,,同样注意双目图像在整个过程要包含整个标定板,同时运动不能太快,这样会造成图像过于模糊,在前后左右上下方向来回移动,录制大概90秒,前后15秒等下可以不使用。录制命令为:
使用Ctrl+shift+T,打开另一个新的终端运行
rosbag record -O imu_stereo.bag /infra_left /infra_right /imu
其生成文件imu_stereo.bag位置在运行启动realsense终端的路径中,要将它复制过来放 kalibr_workspace中,与下面标定命令的文件夹放在一起。
步骤十:开始进行标定,标定命令为
kalibr_calibrate_imu_camera --target checkerboard.yaml --cam camchain.yaml --imu imu.yaml --bag imu_stereo.bag –show-extraction
最后标定生成4个文件:
camchain-imucam-imu_stereo.yaml
imu-imu_stereo.yaml
report-imucam-imu_stereo.pdf
results-imucam-imu_stereo.txt
标签:stereo,--,标定,topic,yaml,camera,imu 来源: https://blog.csdn.net/weixin_45868890/article/details/123197741