对激光雷达畸变去除的理解

最常见的是由机器人本体运动产生的畸变

如:机器人运动的比较快、机器人旋转的幅度比较大。

一、IMU对点云的运动畸变进行去除

IMU主要提供角速度信息(加速度信息积分发散,不够可靠)。

在一帧点云时间内(雷达转一圈)对所有的IMU角速度进行积分得到IMU的旋转角度,再转换到激光雷达上,对雷达的姿态进行姿态四元数球面线性插值,将对应点云转换到末状态的姿态上实现去点云运动畸变去除。

注意:

激光雷达的频率远低于IMU的频率;

话句话说:雷达的一个周期内(一帧点云),IMU会产生十几个或几十个周期。(具体看频率)

我们要做的是:

(1)对IMU的每一个周期计算它的角度变化(角度=角速度X时间);

(2)把这十几个周期的角度变化值进行累加,累加后的结果作为雷达一个周期内的角度变化。

1.对IMU进行角速度积分

                                                               

2.使用四元数表示

  四元数概念:

四元数:只是用来表示机器人3D姿态的一种表达方式

第1种表示方法:一个四元数拥有一个实部和三个虚部(i、j、k):

第2种表示方法:一个标量(scalar)+ 一个向量(vector):

  用四元数表示旋转:

原文链接:https://blog.csdn.net/weixin_41681988/article/details/124378390

 IMU中如下:

IMU测量x,y,z三个轴的变化角度,分别为αx, αy, αz;

qt为t时刻的姿态四元数,qt0为前一时刻姿态四元数,qdt为t——t0时间段内四元数变化值(IMU单个周期)

 二、相关概念

运动补偿的目的:把所有的点云补偿到某一时刻,这样就可以把本身在过去100ms内收集的点云统一到一个时间点上去 ,这个时间点可以是起始时刻,也可以是结束时刻,也可以是中间的任意时刻;常见的是补偿到起始时刻

畸变校准方法
因此运动补偿需要知道每个点时刻对应的位姿 T_start_current 通常有几种做法

1 如果有高频里程计,可以比较方便的获取每个点相对起始扫描时刻的位姿

2 如果有imu,可以方便的求出每个点相对起始点的旋转

3 如果没有其它传感器,可以使用匀速模型假设,使用上一帧间里程计的结果,作为当前两帧之间的运动,同时假设当前帧也是匀速运动,也可以估计出每个点相对起始时刻的位姿
k-1 到 k 帧 和 k到k+1帧的运动是一至的,用k-1到k帧的位姿变换当做k到k+1帧的位姿变换, 可以求到k到k+1帧的每个点的位姿变换
原文链接:https://blog.csdn.net/qq_32761549/article/details/120738568

线性插值则意味这机器人在要插值的这一小段内直接做匀速运动

二次插值则意味这机器人在要插值的这一小段内直接做匀(加、减)速运动;图像为二次函数

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值