16 -总结-【cartographer源码分析】系列的第二部分【transform源码分析】

本文详细分析了cartographer中transform模块的源码,涵盖了rigid_transform.h、transform.h和transform_interpolation_buffer.h三个核心部分。主要内容包括Rigid2和Rigid3的2D、3D变换,如旋转、平移、四元数操作,以及TransformInterpolationBuffer的插值变换和时间戳管理。文章旨在提供cartographer transform模块的深入理解。
摘要由CSDN通过智能技术生成

【cartographer源码分析】系列的第二部分【transform源码分析】

现总结transform文件夹涉及到的主要功能:

【1】transform/rigid_transform.h:

rigid_transform.h主要定义了Rigid2 和Rigid3,并封装了2D变换和3D变换的相关函数。


Rigid2 封装了2D平面的旋转和平移操作,方便使用2D变换。

  • 含有2个数据成员

    • translation_代表平移向量[dx,dy]
    • Rotation2D rotation_;即Eigen::Rotation2D,代表旋转的方向角 [θ]旋转变换
      .
  • 提供2个构造函数

    • Rigid2();//平移向量为单位向量[1,0]^t,旋转角度为0,debugstring()输出:[1,0,0]
    • Rigid2(const Vector& translation, const Rotation2D& rotation);//双参构造函数,给定平移向量[dx,dy]和旋转角度0
      .
  • 提供4个静态成员函数

    • static Rigid2 Rotation(const double rotation) { //给定旋转角度θ,返回Rigid2,debugstring()是[0,0,θ ]
    • static Rigid2 Rotation(const Rotation2D& rotation) {//角度为θ,返回Rigid2,debugstring()是[0,0,θ ]
    • static Rigid2 Translation(const Vector& vecto
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值