已有地图的直线特征检测

任务动机:检测已有地图中的直线特征,以此为参照,旋转地图至“合理”的方向。

任务描述:栅格地图开始建立的时候,地图方向由机器人的位置决定,为了能在任意位置启动,得到一个人类看图习惯的地图,需要将地图进行一个旋转。

1. 前言

        在使用激光构建地图时,形成的地图在rviz中呈现一般如下图所示,它和初始的建图位姿有关,如果手动的调整建图起始位置的朝向,将激光雷达正对墙壁或者其他参考,建图后效果,会是墙壁对齐于视图,当然在rviz中可以直接用鼠标中键旋转,如果想让地图在建图中自己调整至垂直的方向,就需要做一些工作。

raw

 

2. 思路

        目标是将墙壁对齐与显示区域,所以墙壁是要检测的目标,从三个方面考虑

  1. 主方向检测;检测二维图像中两个主要的方向;
  2. 检测图片中的墙壁直线;
  3. 检测激光数据中的直线。

        方法1简单明了,直接使用PCA方法,SVD分解后的U矩阵向量,即为主向量; 方法2需要识别直线,然后找到一堆直线中的所需直线; 方法3需要定义激光点中什么样的数据点是直线。

3. 方法

3.1 PCA分解图片

        PCA分解方法是图像降维的一种方法,在二维点的特殊情况下,可以这样理解

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值