kalibr架构之齐次变换矩阵yaml文件保存

51 篇文章 3 订阅
39 篇文章 8 订阅

问题: kalibr里面在获取到齐次变换矩阵T_t_c之后如何输出到文件里面进行保存呢?

现以camera calibrate过程中获取的靶标坐标系和相机坐标系间的齐次变换矩阵T_t_c为例进行说明:
分析代码结构可以发现, 每个占位相机姿态参数保存在targetObservations list中,targetObservations的获取过程见后面说明.
齐次变换矩阵T_t_c存储在outObservation的_T_t_c变量之中:

提供了T_t_c()函数来访问该齐次变换矩阵

以targetObservations list为基础,yaml文件保存齐次变换矩阵T_t_c的函数如下:

其中:
1. T_cam_target 属于sm::kinematics::Transformation类型, 其定义见Transformation.hpp文件
kalibr/Schweizer-Messer/sm_kinematics/include/sm/kinematics/Transformation.hpp

2. obs.T_t_c().inverse() 通过求逆来获取的camera --> lidar 坐标系的变换矩阵

3. T_cam_target.T() 获取Eigen::Matrix4d类型的变换矩阵

4. data = {'extrinsic': T_cam_target.T().tolist()} 定义yaml格式数据

最终的保存结果如下:

 

读取代码如下:


Transformation.hpp:

 

targetObservations的获取过程:

kalibr/aslam_cv/aslam_cv_python/src/GridCalibration.cpp

kalibr/aslam_cv/aslam_cameras/src/GridDetector.cpp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值