博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SLAM技术的思路和大框架的整理
阅读量:5926 次
发布时间:2019-06-19

本文共 1209 字,大约阅读时间需要 4 分钟。

     SLAM simultaneous localization and mapping的缩写,中文名称翻译为同时定位与地图构建。

  最近,在机器人的导航领域,SLAM大火。作为一个对SLAM略知一二的选手,也想记录一下自己对SLAM的理解,整理一下自己的思路。

     SLAM目前大量用于机器人导航领域,要进行导航,简而言之,一般需要几大块:

  1. 建图。机器人得知道自己将要在一个什么样的环境里面运动。这个环境提前是不知道的,机器人需要在里面跑一段时间之后,才能知道整个的外部环境是怎么样的,才能建成外部的图。
  2. 定位。简单来说就是,我在哪里。
  3. 路径规划。 我现在在这里,我要去另一个地方,我怎么去呢? 中间肯定有很多障碍物,我如何绕开这些障碍物,选择一条最合适的路径,到达我们的目的地呢?
  4. 运动。让机器人的轮子,按照步骤3规划好的路径前进。

 

         SLAM目前常见的分为两大类:激光SLAM和视觉SLAM

   激光SLAM使用的Sensor是激光雷达,测距建图时,激光SLAM比视觉SLAM准。缺点是,激光雷达在室外效果不好,所以激光SLAM常用于室内导航。另外,激光雷达扫描的是一个二维平面。比如室内有一个桌子,激光SLAM的高度如果低于桌面,那么它就只能扫描到4个桌腿,于是机器人就有可能会撞上桌子面。另外,激光SLAM面对玻璃墙时,可靠性不高。当然,玻璃是千古难题,视觉SLAM本身也不见得有多好的解决方案,工程上对付玻璃的常见办法是在机器人上加一个测距的超声波。

   视觉SLAM通常使用多目摄像头。多个摄像头拍到同一个物体,提取上面的特征点进行匹配。然后,由于这几个摄像头本身的物理距离是固定已知的,通过立体视觉的算法,就能算出物体的实际距离了。视觉SLAM对视觉匹配算法的要求较高,如果算法出错,算出来的距离会差很多。所以,不如激光SLAM那种直接用激光测出来的距离可靠。当然,视觉SLAM基于单目也有相应的做法,但是计算量大而且可靠性都不好,实际应用较少。

 

  目前的常见的建图和定位算法: cartogragher

  经典的路径规划算法:全局路径规划RRTA*  局部路径规划DWA

 

  机器人的运动,现在靠谱使用的都是依靠轮子的轮式机器人。我们曾经尝试做过双足,但是后来失败了。轮式机器人的运动中,会有一些常见问题:比如轮子打滑;比如两轮的同步的问题。

  两轮同步的问题: 比如让机器人走一段直线,理论上走直线是很简单的,实际工程这是一个很复杂的过程。左右轮不可能绝对对称,所以机器人必然会往左或者往右偏,如果运动轨迹是闭环的,这种误差会相互抵消,稍微好点;但是如果轨迹是开环的,这个误差会非常明显。这时我们就需要进行实时的修正。

  于是我们就需要IMU了。

  于是我们就需要底盘融合信息。

  于是我们就需要卡尔曼滤波了。

 

转载于:https://www.cnblogs.com/stay-foolish1984/p/8916841.html

你可能感兴趣的文章
spring_简介
查看>>
Daily scrum[2013.12.01]
查看>>
JS页面刷新保持数据不丢失
查看>>
避免IE在ajax请求时,返回json出现下载
查看>>
AOP集成log4j日志
查看>>
浏览器兼容性工具 Spoon Browser Sandbox
查看>>
[转]用Ant实现Java项目的自动构建和部署
查看>>
5.4.4 表
查看>>
Codeforces 817F - MEX Queries
查看>>
软件需求规格说明书
查看>>
纯CSS实现展开列表
查看>>
算法基础-打开算法之门 (Thomas H.Corme 著)
查看>>
jQuery+bootstrap实现美化警告/确认/提示对话框插件
查看>>
js实现table内 某列的内容进行即时筛选
查看>>
JAVA特性-跨平台/面向对象
查看>>
利用Win10计划任务 + 弹窗,提醒你自己
查看>>
《php和mysql web开发》读书笔记
查看>>
第二章 生成、打包、部署和管理应用程序及类型
查看>>
Generate Parentheses
查看>>
括号配对问题2
查看>>