SLAM前端技术选择思考
以前是专门做室内定位技术研究的,先后学习和分析了多种基于电磁的室内定位技术,如WiFi指纹定位(先后出现过RSSI、CTF、CIR多种指纹特征)、WiFi ToF定位、低功耗蓝牙BLE以及iBeacon定位,调研和测试过超宽带(UWB)定位技术、地磁指纹定位等技术。后面有时间会准备一个适用场景和性能指标的详细对比分析。
室内定位技术通常以定位区域的精准结构及地图已知为前提,随着机器人相关技术的发展和应用场景的逐步拓展,同步定位与地图构建SLAM技术日益重要,近两个月学习和测试了下SLAM相关的技术。作为新手,也是结合自己以前的工作积累和近期思考,今天先从SLAM技术的前端感知技术入手介绍下SLAM前端的选择。
SLAM的前端技术选择对于后续的处理算法和适用的应用场景具有十分重要的意义。SLAM前端包括单目视觉、双目视觉、激光雷达、深度摄像机(RGB-D),由于需要构建地图,无法形成高密度点云的毫米波雷达、超声波雷达一般仅作为避障使用,或者是类似于惯性测量单元IMU、里程计等用于辅助确定位置。下表分析比较了上述不同SLAM前端的特性。
| 名称 | 适用场景 | 测距精度 | 测距范围 | 计算复杂度 | 支持自身快速移动 | 成本 | 环境适应性 | 系统稳定性 | 情景识别能力 |
| 单目摄像头 |
室内外简单场景 无快速移动的背景物体 |
较低 | 中 | 高 | 否 | 低 | 中 | 低,易失捕 | 高 |
| 双目摄像头 | 室内外简单场景 | 中 | 较近 | 高 | 否 | 低 | 中 | 低,易失捕 | 较高 |
| 激光雷达 | 室内外较复杂场景 | 高 | 远 | 中 | 是 | 高 | 较高 | 高 | 较低 |
| 深度摄像机 | 室内较复杂场景 | 高 | 较近 | 中 | 否 | 中 | 低 | 较高 | 高 |
根据上述对SLAM前端技术的分析,考虑器件成本的未来下降空间,后续将主要围绕激光雷达或深度摄像机作为SLAM前端的传感器,分析相关SLAM的开源项目,解读其核心算法。
SLAM前端技术选择思考的更多相关文章
- CoreCRM 开发实录——开始之新项目的技术选择
2016年11月,接受了一个工作,是对"悟空CRM"进行一些修补.这是一个不错的 CRM,开源,并提供一个 SaaS 的服务.正好微软的 .NET Core 和 ASP.NET C ...
- 百度前端技术学院—-小薇学院(HTML+CSS课程任务)
任务一:零基础HTML编码 课程概述 作业提交截止时间:04-24 重要说明 百度前端技术学院的课程任务是由百度前端工程师专为对前端不同掌握程度的同学设计.我们尽力保证课程内容的质量以及学习难度的合理 ...
- 三年前端,面试思考(头条蚂蚁美团offer)
小鱼儿本人985本科,软件工程专业,前端.工作三年半,第一家创业公司,半年.第二家前端技术不错的公司,两年半.第三家,个人创业半年.可以看出,我是个很喜欢折腾的人,大学期间也做过很多项目,非常愿意参与 ...
- 8分钟为你详解React、Angular、Vue三大前端技术
[引言] 当前世界中,技术发展非常迅速并且变化迅速,开发者需要更多的开发工具来解决不同的问题.本文就对于当下主流的前端开发技术React.Vue.Angular这三个框架做个相对详尽的探究,目的是为了 ...
- 百度前端技术学院(IFE)2016春季学期总结
今天(5月16日)作为第八个提交者提交了任务五十:RIA微型问卷管理平台 这样一个综合性的大任务,宣告我的IFE春季学期课程学习顺利完成.其实任务五十并不复杂,现在再让我来做,可能一周不到就写出来了, ...
- 前端技术之_CSS详解第一天
前端技术之_CSS详解第一天 一html部分 略.... 二.列表 列表有3种 2.1 无序列表 无序列表,用来表示一个列表的语义,并且每个项目和每个项目之间,是不分先后的. ul就是英语unorde ...
- 前端技术之_CSS详解第二天
前端技术之_CSS详解第二天 1.css基础选择器 html负责结构,css负责样式,js负责行为. css写在head标签里面,容器style标签. 先写选择器,然后写大括号,大括号里面是样式. & ...
- 使用前端技术和MySQL+PHP制作自己的一个个人博客网站
源代码地址:https://github.com/YauCheun/BlogCode 我的博客网站地址:http://www.yublog.fun/ 制作前景: 想拥有一个自己独自开发的一个小型博客网 ...
- 让老板虎躯一震的前端技术,KPI杀手
本文由云+社区发表 作者:思衍Jax 天下武功,唯 (wei) 快(fu) 不(bu) 破(po). 随着近几年的前端技术的高速发展,越来越多的团队使用 React.Vue 等 SPA 框架作为其主要 ...
随机推荐
- 继续Django
环境准备 1. 创建一个Django后,Django的目录: │ manage.py │ ├─Django_s1 │ settings.py │ urls.py │ wsgi.py │ __in ...
- (转)nodejs中npm常用命令
npm install <name>安装nodejs的依赖包 例如npm install express 就会默认安装express的最新版本,也可以通过在后面加版本号的方式安装指定版本, ...
- Android四大核心组件之BroadCastReceiver
实验内容 实现BroadCast发送和接受 通过BroadCast传递信息 动态注册和注销BroadCast 实验要求 实现BroadCast发送和接受 通过BroadCast传递信息 动态注册和注销 ...
- 数据库触发器inserted和deleted详解
create trigger updateDeleteTime on user for update as begin update user set UpdateTime=(getdate()) ...
- python os 命令,及判断文件夹是否存在
使用前 import os导入模块 os模块: os.sep 可以取代操作系统特定的路径分割符 os.linesep 字符串给出当前平台使用的行终止符.例如,Windows使用'\r\n ...
- 1393: Robert Hood 旋转卡壳 凸包
http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1393 http://poj.org/problem?id=2187 Beauty Contest ...
- paper 132:图像去噪算法:NL-Means和BM3D
这篇文章写的非常好,确定要~认真~慎重~的转载了,具体请关注本文编辑作者:http://wenhuix.github.io/research/denoise.html 我不会告诉你这里的代码都是f ...
- js基础练习二之简易日历
今天学到了js基础教程3,昨天的课后练习还没来的及做,这个是类似简易日历的小案例,视频还没听完,今晚继续...... 先看效果图: 其实做过前面的Tab选项卡,这个就很好理解了,通过鼠标放在不同月份月 ...
- jquery.serialize
jQuery - serialize() 方法 serialize() 方法通过序列化表单值,创建 URL 编码文本字符串. serialize()函数用于序列化一组表单元素,将表单内容编码为用于提交 ...
- Nop源码分析二
上文我们已经通过该行代码:var typeFinder = containerManager.Resolve<ITypeFinder>(); 从注入容器中获取到了typeFinder实例. ...