laser_scan_matcher 坐标变换代码分析

整个是激光回调函数中的部分 代码

getPrediction(pr_ch_x, pr_ch_y, pr_ch_a, dt);

这里是先用里程计算出,上一次回调和本次回调时间内,里程计的增量。

tf::Transform pr_ch;

createTfFromXYTheta(pr_ch_x, pr_ch_y, pr_ch_a, pr_ch);

把增量变换成tf类型的变换,相当于一个齐次坐标

目标是得到 laser坐标系下,从参考帧PF到本次回调这时间内的变换关系

f2b_:上一次回调时,base_link在odom下的坐标变换 是齐次坐标 即位姿

f2b_pf_: 关键帧那次回调,base_link在odom下的坐标变换 即位姿

此外,有这样的更新代码在后面 :f2b_ = f2b_pf_ * corr_ch;

if (newKeyframeNeeded(corr_ch)) f2b_kf_ = f2b_;

关键帧是机器人移动了一段距离或旋转了一定角度达到阈值时得到激光帧作为关键帧。

所以f2b_pf_不是每次都更新的。

f2b_是回调一次如果匹配算法成功了就会更新的,公式就是f2b_ = f2b_pf_ * corr_ch;是从最近的这次关键帧做一个增量的变换得到。

下面分析下面的代码,其目的是得到pf->now时间内,laser的坐标变换

pr_ch = pr_ch * (f2b_ * f2b_kf_.inverse());

(f2b_ * f2b_kf_.inverse())会得到一个增量,即关键帧到上一次回调时间内,base在odom下的变换,再左乘一个pr_ch即上一次到本次回调时间内base的变换,就得到了pf到本次回调时间内base再odom系的坐标变换。

tf::Transform pr_ch_l;

pr_ch_l = laser_to_base_ * f2b_.inverse() * pr_ch * f2b_ * base_to_laser_ ;

这个计算我是这么来看的,先看中间三项 f2b_.inverse() * pr_ch * f2b_,用坐标变换的左乘来分析,f2b_先左乘pr_ch,即将f2b_做了一个pr_ch的变换,这个变换是以固定坐标系来变换的,就是odom,然后再左乘f2b_inverse(), 又做了一个f2b_的反向变换,f2b_是上一次回调时,base_link在odom下的坐标变换,最终得到了,base_link在odom系下,pf->now时间内,base_link在odom下的坐标变换,因为f2b_的逆抵消掉了开始的f2b_,剩下的就是pr_ch的变换了,也就是 得到了

Tbasepf_basenow ,  公式变成了  laser_to_base_ * Tbasepf_basenow  * base_to_laser_,

就得到了,laser系下,pf->now的时间内,laser的变换。这个作为该次回调时 激光雷达的相对于PF时的激光雷达的位姿

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: LaserScanMatcher 是一种用于将激光雷达扫描数据与地图进行匹配的算法。它通常用于机器人的定位和导航,通过比较激光雷达扫描数据与地图中的特征来确定机器人的位置。该算法常用于激光雷达SLAM (Simultaneous Localization and Mapping) 系统。 ### 回答2: laser_scan_matcher(激光扫描匹配器)是一种用于激光雷达数据匹配与定位的算法或软件工具。它广泛应用于机器人导航、SLAM(同时定位与地图构建)和无人驾驶等领域。 激光扫描匹配器的主要作用是通过比较不同时间步骤下的激光雷达扫描数据,找到匹配最佳的位置与姿态。其原理基于几何模型和优化算法,通过最小化匹配误差来寻找最佳匹配结果。具体来说,它将一帧激光雷达数据与先前保存的地图进行比较,推断机器人当前的位置和姿态。 激光扫描匹配器的优点是高精度和实时性。由于激光雷达的高精度测量和数据点密集性,它能够提供准确的位置估计结果。此外,激光扫描匹配器的计算效率较高,能够实时更新机器人的位置信息。 然而,激光扫描匹配器也面临一些挑战和限制。首先,当环境中有重复结构、低反射或遮挡物时,匹配器可能出现错误或局部最优解。其次,由于激光雷达本身存在盲区和测量误差,匹配器的准确性可能受到限制。最后,激光扫描匹配器的实时性对硬件和计算资源的要求较高,限制了其适用范围。 总结而言,激光扫描匹配器是一种用于激光雷达数据匹配与定位的重要算法或软件工具。它能够提供高精度和实时的位置估计结果,广泛应用于机器人导航、SLAM和无人驾驶等领域。尽管存在一些挑战和限制,但随着技术的不断发展和进步,激光扫描匹配器的性能将不断提升。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值