深蓝学院-多传感器融合定位-第4章作业

本文档介绍了在深蓝学院多传感器融合定位课程中的第四章作业,涉及Scan Context方法和GNSS定位的应用。在及格部分,实现了代码跑通。在良好部分,讨论了从原点初始化定位导致的问题。在优秀部分,详细分析了Scan Context的工作原理,并尝试使用GNSS数据进行初始化,发现由于坐标转换问题导致定位不准确。最终通过修正初始化点的GNSS坐标,实现了准确的定位效果。
摘要由CSDN通过智能技术生成


在这里插入图片描述

一. 及格部分

代码跑通

直接编译,跑通:
catkin config --install && catkin build
在这里插入图片描述

二. 良好部分

从原点开始初始化定位, 这个在代码中已经实现了,直接跑就行。

可是跑一下就会飞,估计是因为原始的Rotation也没有(就一个Identity Matrix啥都没…),匹配不上。

不过只要跑就可以良好,所以咱们在第三题解决这个初始化问题。
在这里插入图片描述

三. 优秀部分

Scan Context

(为了理解这个SC方法,我写了一篇博客1来分析它的原理)
简单来说,Scan Context会直接通过与全局的Scan Context Matrix进行Two-phase search来找到最有可能re-localization的位置的pose(包括R, t)。 在咱们作业里,直接一句代码就可以调用:

bool MatchingFlow::UpdateMatching() {
   
   if (!matching_ptr_->HasInited()) {
   
   
       matching_ptr_->SetScanContextPose(current_cloud_data_); 
       
   }
   return matching_ptr_->Update(current_cloud_data_, laser_odometry_);
}

在这里插入图片描述

Fig. 0s初始化

在这里插入图片描述

Fig. 100s初始化

(鉴于老师说不能用Scan Context,我就没继续尝试200s 300s了,但估计效果都可以)

只是这里有个问题,Odom Trajectory是右上角绿色那佗,是正常的。

小红薯: 但是, GNSS轨迹就还是以(0,0)为起点在走,而不是100s的位置开始走,所以左边黄色那根轨迹,平移了好远!
小红薯: 这个我就不知道怎么设置GNSS的轨迹也重新按100s 200s的点为起点了…
大师兄: 其实,这个就是咱们下一题GNSS要解决的问题!

GNSS牛刀小试

  • 先尝试直接一句话来
  • 4
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值