有一天,我会放开双手,任由汽车带着我遨游山河。

有一天,我会放松身心,透过车窗去看这美丽景色。

无人驾驶,随着科技的不断进步倍受关注,它不再是一个遥不可及的设想,也不再是只有在科幻片里才能看到的景象。它已经开始慢慢进入人们的生活。

我曾向你提及无人驾驶技术(驰骋在科技之海,无人驾驶也可一往无前。),我相信,你已经有了初步了解,但是,仅仅初步的了解远远无法满足你对无人驾驶的求知欲。

所以,今天,我决定向你介绍无人驾驶的一些技术,以便你更好、更深入的了解无人驾驶。

ROS全开源 阿克曼转向 智能网联 无人驾驶车

我们要说的,是无人驾驶车涉及的技术之一——SLAM自主建图技术

SLAM自主建图 · 技术

(对道路路面信息、障碍物进行数据建模,生成高精度地图。)

了解SLAM自主建图技术的第一步,就要先明白,它能够构建的地图分为几种类型

按地图类型分类

1、栅格图(grid maps):将地图分为m*n的栅格,每个栅格内的数值代表是否被占用。

2、地标图(landmark-based maps):基于地标建图,已知某些标志物在地图中的确定位置。

按建图原理分类

1、占用图(occupancy maps):对于每个栅格单元,代表是否被占用。

2、反射图(reflection maps):对于每个单元,表示传感器束反射的概率。

构建 · 地图

在了解了SLAM自主建图技术都可以构建哪些类型的地图之后,我们就要开始研究它构建地图方面的一些知识。

建图原理

根据运动模型获取机器人的移动路径;根据传感器模型获取移动路径上周边环境的信息,两者匹配起来得到完整地图。

SLAM难点

由于机器人的移动路径与周边环境的信息都是未知的,且移动路径的误差随着机器人的移动而不断累积;当环境信息是之前已经检测到并构建到地图中时,将该信息作为地标来修正机器人的移动路径信息,使机器人的移动路径的误差收敛。

算法流程(基于扩展卡尔曼滤波EKF)

①预测机器人状态:基于运动模型,预测机器人当前位置状态。
②预测测量量:基于①得到的预测位置,预测应该得到哪些测量量。
③测量:测量当前真实环境信息。
④数据融合:利用EKF将②、③中的信息融合。
⑤更新机器人状态:根据④的结果,更新机器人位置状态,收敛误差。
⑥更新地图:根据④、⑤,更新地图数据。

算法介绍

建图开始时,将机器人当前位置设为已知的起始点,此时建立一个3x1的向量Xk,一个3x3的矩阵Ck。Xk代表已知点,Ck代表已知点之间的关系。

随着机器人的移动及环境信息的输入,将更新的地标信息m1、m2、...添加到Xk、Ck中。

矩阵Ck中,对角线Cr、Cm1、Cm2、...Cmn代表不同的地标信息,其他元素代表对应行、列上地标信息的位置关系。比如Cm1m2代表Cm1地标与Cm2地标的位置关系。

闭环检测:当机器人又回到已经识别的区域时,通过重新审视已经映射的区域,可以减少机器人和地标估计的不确定性。

其中一种方法是,当环境信息真实测量值与原有测量值的差小于某一设定阈值,认为这两点是重合的,并据此重新更新机器人当前位置;当该差值大于设定阈值,认为是新的地图信息并添加到地图中。

在上述Ck矩阵中,当机器人再次检测到Cm2地标,则会根据新的测量值修正Ck矩阵的中Cm2所在的行、列元素的值,代表Cm2与其他所有地标的相对位置关系发生了变化。

建图 · 算法

接下来要给大家介绍的,是几种SLAM自主建图的建图算法。

1. hector-slam

要求: 高更新频率、小测量噪声的激光扫描仪,不需要里程计,可手持建图。

2. gmapping-slam: tutorial

目前激光2Dslam用得最广的方法,gmapping采用的是RBPF的方法,优点是定位准确,但需要完整的硬件平台。

3. karto_slam

karto_slam是基于图优化的方法,用高度优化和非迭代cholesky矩阵进行稀疏系统解耦作为解。图优化方法利用图的均值表示地图,每个节点表示机器人轨迹的一个位置点和传感器测量数据集,箭头的指向的连接表示连续机器人位置点的运动,每个新节点加入,地图就会依据空间中的节点箭头的约束进行计算更新。

karto_slam的ROS版本,其中采用的稀疏点调整(the Spare Pose Adjustment(SPA))与扫描匹配和闭环检测相关。landmark越多,内存需求越大,然而图优化方式相比其他方法在大环境下制图优势更大.在某些情况下karto_slam更有效,因为他仅包含点的图(robot pose),求得位置后再求map。

4. core_slam

core_slam是为了更加简单容易地理解性能损失最小化的一种slam算法。将算法简化为距离计算与地图更新的两个过程, 第一步,每次扫描输入,用基于简单的粒子滤波算法来计算距离,粒子滤波的匹配器用于激光与地图的匹配,每个滤波器粒子代表机器人可能的位置和相应的概率权重,这些都依赖之前的迭代计算。选择好最好的假设分布,即低权重粒子消失,新粒子生成。在更新步骤,扫描得到的线加入地图中,当障碍出现时,围绕障碍点绘制调整点集,而非仅一个孤立点。

看完上述关于SLAM自主建图技术的讲解,有没有感觉对无人驾驶汽车的了解更进一步呢?

虽然无人驾驶还没有完全普及到我们的生活当中,但是,目前无人驾驶的发展速度可谓是突飞猛进,相信在未来的某一天,无人驾驶将会普及到生活中,给人们带来更大的便利。

想要获取更多人工智能方面的知识,请关注我们。

探索无人驾驶汽车:SLAM自主建图技术。相关推荐

  1. 巡检机器人自主建图麻烦又不准?算丰征途为巡检机器人研究“傻瓜式”精准建图法

    自主建图是巡检机器人自主定位.避障.规划路线的前提和依据之一,对巡检机器人的任务执行有重大作用. 打个比方来说,自主建图之于巡检机器人,就像电脑之于企业高管.目前业内的自主建图技术主要是各机器人企业自 ...

  2. 技术分享 | 为什么学习rrt_exploration实现自主建图容易掉坑?

    在无人车领域当中,SLAM和导航两个部分一直是研究人员关注的重点,无人车作为移动机器人,这两个功能也十分重要,无人车到一个未知的环境中,人为控制无人车进行建图,建立好地图后,再使用导航,这是目前在无人 ...

  3. 【SLAM】基于explore_lite的移动机器人自主建图

    系列文章目录 ·[SLAM]基于explore_lite的移动机器人自主建图 ·[SLAM]基于rrt_explore的移动机器人自主建图 ·[问题解决]rrt_exploration功能包使用过程中 ...

  4. 从零开始搭建ROS下无人机激光雷达SLAM——hector_slam建图入门——综述篇

    首先我们看下最终无人机SLAM定位的计算图,然后根据计算图追根溯源分析实现算法在ROS中实现的流程 从图中可以看出总共包含的ros节点有5个,分别所属三个包,其中包1.2是ROS官方现成直接可以使用的 ...

  5. 疑难杂症篇(十八)--ROS系统中使用SLAM算法建图时出现地图漂移的几种原因

    本篇主要介绍在ROS系统中使用SLAM算法建地图时出现地图定位漂移的几种原因及可以采取的措施. 1.SLAM建图时出现的定位漂移现象 2.原因分析 里程计数据发生异常: 计算机的配置不高,计算机建图过 ...

  6. turtlebot2利用turtlebot_exploration_3d进行自主建图

    安装octomap_ros和rviz插件 sudo apt-get install ros-indigo-octomap* 源码安装:turtlebot_exploration_3d(本机为Ubunt ...

  7. 真实机器人的RRT自主探索建图

    在ros当中使用rrt_exploration来实现自主建图,官方文档(http://wiki.ros.org/rrt_exploration)说得比较清楚,这篇博客简单地讲解一下流程,主要是针对一些 ...

  8. 综述|深度学习在SLAM定位与建图中的应用(近250篇参考文献)

    作者丨Jasper@知乎 编辑丨Realcat  计算机视觉SLAM " 近年来深度学习被广泛应用于定位与建图中.相比于传统的手动建模方法,深度学习提供了一种数据驱动的解决方案,并逐步发展成 ...

  9. 高精地图构建与SLAM感知优化建图策略

    高精度地图对自动驾驶系统功能研发的影响已经越来越明显,整体上来讲主要包含但不仅限于提升车端感知性能.拓展自动驾驶新功能.动态建图等相关应用.具体体现在如下几个重要方面: 如上所述提升车端感知能力是通过 ...

最新文章

  1. Dockefile CentOS SSH 服务的实现
  2. ARM再次表态:不会向华为断供芯片技术
  3. python就业方向有哪些-目前Python这么火,Python有哪些就业方向?
  4. 保险运用计算机的工作干什么,关于计算机在保险业务中的应用研究
  5. vue --- 获取子组件数据的一个应急方案$refs
  6. 红帽linux6的版本号,RedHat CentOS发行版本号及内核版本号对照表
  7. windows 导入表(动态调用)
  8. Window/linux(Ubuntu)使用反编译工具jad
  9. 4.Vue跨域session问题解决
  10. MySQL error(2014) Commands out of sync; you can't run this command now(情形1)
  11. imap能和服务器同步文件夹吗,IMAP 同步
  12. Web前端大作业——城旅游景点介绍(HTML+CSS+JavaScript) html旅游网站设计与实现
  13. 国产操作系统银河麒麟V10桌面版新手小白常见问题
  14. FF系列重要Staff全列表 (转自天幻网)
  15. 查看局域网内其它电脑名称和IP
  16. Liferay 6.2 改造系列之三:删除Docbar中的添加内容功能
  17. 【allegro 17.4软件操作保姆级教程九】布线后检查与调整
  18. android 2.3 StrictMode 使用
  19. Hexo博客搭建之Next主题添加搜索服务
  20. async/await 中的 try/catch

热门文章

  1. Autodesk Fusion 360安装指引
  2. .word的意思是什么?
  3. 利用GPU并行计算beta-NTI,大幅减少群落构建计算时间
  4. opengl画立方体、朝向问题
  5. java计算机毕业设计小型健身俱乐部网站源码+lw文档+系统+数据库
  6. 1 计算机主机里面都有些什么东西,电脑主机里面都有什么?都是干什么用的呢?...
  7. MySQL JSON的支持
  8. 百度地图新手教程3(转载自百度)
  9. minecraft 服务器修改器,【1.6.2】Minecraft內置修改器TMI(包含整合包)
  10. CCIR|一场认知智能技术支撑的信息检索学术革命