WiFi导航SLAMD的室内导航技术有多牛

一文让你从0到1了解SLAM,还有机器人vSLAM!
智东西(公众号:zhidxcom)
4月11日,智东西创课邀请到速感科技CTO张一茗,就《从0到1了解SLAM》这一主题在智东西旗下「机器人」社群(有入群需求请天骄智小西微信zhidxrobot)开讲。本文为本场创课的全程图文实录,分为主讲+Q&A二部分。全文共计5026字,读完大概需要15分钟,你可以掌握:
1、SLAM的定义、发展史;
2、机器人视觉传感器的演进史;
3、三维深度传感器的不同技术路线及差异比较;
4、SLAM如何实现,尤其是vSLAM;
5、vSLAM应用在机器人上存在的问题;
关于嘉宾:张一茗,速感科技CTO,毕业于北京航空航天大学,参与总装备部、火箭军等多型号惯性及其组合导航定位系统设计,负责惯性/卫星/光学组合导航系统及算法设计,具有丰富的定位导航系统设计经验。
张一茗:感谢大家的支持,也感谢何总(注:智东西联合创始人何峰)的邀请,来到这里跟大家分享我在SLAM领域的认识和理解,也欢迎分享后和大家一起探讨SLAM技术在机器人行业的应用。
各位千万别客气,我先来按照我的思路来跟大家分享以下我对SLAM的理解吧。
SLAM全称simultaneous localization and mapping大家应该都比较熟悉了,字面可见分为两大部分:定位、构图。
定位(严格来说是定位、定姿)这个问题几千年来都是个炒的火热的问题。定位的场景千差万别,对精度的要求也越来越苛刻。与此同时,定位也是个细分市场,出于不同场景对于体积、成本、精度、更新频率需求的差异,衍生了多种多样的定位方式。比如GPS、惯导、DR、无线电甚至蓝牙、wifi等等。GPS具有体积小、米级定位精度、无累计误差可做差分、可授时等优势,缺点是要工作在室外,更新频率低,易受多径效应等影响。
惯性导航系统具有短时定位精度极高、输出频率极高,但是它的高成本、大体积、需初始对准的特性使它不会大规模进入消费类市场。消费级机器人领域,通过DR(Dead reckoning)航位推算方法,能够用很低成本的编码器,实现精准的速度控制和短时间的位置朝向估计,但是具有比较大的累计误差且不能实现重定位。随着Rangefinder、CMOS、高性能CPU的发展,人们能够用足够的算力和存储,采集足够的信息,利用场景模型等参数作为先验信息融入到位置姿态估计中。SLAM这种同时建模与构图的概念开始成为一个研究热点。
我这里有一篇论文《1991 Simultaneous map building and localization for an autonomous mobile robot》。(下载论文)
在1991年的时候,SLAM的开山鼻祖们使用了18个超声传感器,利用EKF设计了第一套针对移动机器人的SLAM系统。后来随着激光雷达的出现,系统能够更容易的识别2D平面的角点特征,雷达SLAM的实用性上升了一个级别。而后随着CPU算力的提升,图像的处理能力越来越强,基于单摄像头、多摄像头、深度摄像头的SLAM研究与应用如雨后春笋般冒出来。
基于视觉影像的SLAM系统体积小、功耗低、可靠性高,在提供准确定位的同时,也能够建立或稀疏或稠密的地图,给人无限遐想的空间。十多年来,学术界针对视觉SLAM的研究日新月异,创造了许多优秀的理论。然而到了今天大家也都发现,纯视觉的vSLAM依然有它的缺点,比如受光照条件影响大,高动态环境精度下降,对场景复杂度要求高等特点,以Visual-SLAM为基础的多传感器融合SLAM成为新的热点。
2012年美国军方提出了一个相当宏伟的概念,开展了在GPS服务被干扰、被阻断,即不能使用GPS服务背景下的高精度定位、导航与授时技术:“全源导航”(ASPN)技术研究,以期在未来对抗条件下的军事行动中保持、占据精确PNT(Position navigation time)能力的优势。希望建立一套算法和软硬件架构兼容10种以上的传感器。 尤其是最近几年,microPNT的概念也被军方炒的越来越火热。
目前的导航定位算法大多被迫在完备性与效率之间进行折中和选择。“全源导航”需要发展新的滤波算法,能够全面兼容各类导航算法,如高斯、非高斯统计算法,或线性、非线性测量模型算法等;同时,新的导航算法必须满足真实环境下实时运行的要求。新的导航算法应当能够处理平台运动和测量可用性之间产生的时变状态空间问题,能够对所有导航测量结果进行统计。因此,在执行任务时,新的导航算法应能够灵活地对传感器、敏感器,以及测量量的引入和去除进行调整,从而提供准确和可靠的导航解决方案。
这个概念很难,难在要适用于水下,地下,丛林,郁闭森林,郊区,城市峡谷,建筑室内,开放区域等各种环境、同时还要满足步行,无人机(所有规格),潜水器,轮式车辆,履带式车辆,飞机,小型机器人等各种平台,测量影像,速度,加速度,旋转速率,时间,位置,海拔高度,方向,相位来实现组合定位导航。
除了2D/3D成像系统以外,他们采用了倾角罗盘,,距离/伪距测距仪,气压计,温度传感器,方位角速率传感器,GPS,激光雷达,加速度计,陀螺仪,磁力计,回转罗盘,计时器,毫米波雷达以及其他雷达,1、2、3轴AOA/LOB/TDOA传感器,计步器,星敏感器,红外传感器,无线局域网(WiFi)/射频接收机,声学传感器等等传感器。也只有用上这些传感器,才有可能实现真正全天候、全场景、全平台的定位导航系统。
这是他们大概的架构,可想而知有多复杂。
ASPN的项目给了我最大的一个警示就是:不谈场景去谈定位就是在耍流氓。所以咱们来好好谈谈针对机器人领域中的vSLAM方案。
vSLAM在机器人上最难的问题我认为是这句话:start as a scientist, end as an eigineer。
Dyson出了一款360deg的omnidirectional的vSLAM扫地机,他们的研发起于21世纪初,做了十多年,才把一个扫地机做的漂亮(受一些客观条件限制,效果没有它的外观那么漂亮)。
学术界上各种各样vSLAM算法天花乱坠,可是如果没有自己的技术积累和工程化经验,这离实际的产品化差距还是太远。
对于机器人的vSLAM而言,视觉传感器在其中举重若轻。一个好的视觉传感器就是一个明亮的眼睛。今天咱们按照维度的高低来简单介绍下:
传统面阵相机/多目被动式相机采用面阵CMOS作为核心元件,随着手机行业对于镜头的强劲需求,使得整个CMOS、镜头制造行业迅猛发展,低成本廉价的镜头成为轻而易举的事情。满足了机器人行业对于监控、目标识别与分析、跟踪与定位的需求。
机器人行业的兴起带火了很多摄像头公司,如果归类的话依然脱离不了以下几类:
对于单目结构光:激光投射器通过DOE投射出特征明显的散斑,被红外摄像头捕获,然后解算出深度信息。图中可以看到Kinect(采用primesense方案)透射出去的散斑图,DOE二维光学结构使得激光穿过DOE时,先扩散成伪随机散斑,然后衍射为9束,形成看似随机其实略有玄机的散斑。
然后受投射器功率的影响,单目结构光很难工作在室外。双目结构光则可以规避这个缺陷当然还有一些其他的结构光
这个是hptg提供的pattern图案,他们设计的一体化投射器模组能够实现小体积低温漂移的点阵图案,他是由两幅十分规律的散斑组成,最后同时被红外相机获得,精度相对较高。
还有一种比较独特的方案,它采用mems微镜的方式,类似DLP原理,将激光器进行调频,通过微镜反射出去,并快速改变微镜姿态,进行行列扫描,实现结构光的投射。比如Intel的realsense方案,这种方案可以做到比hptg还要薄的厚度,缺点是信噪比相对较差,动态效果略差一点,也算是体积与性能之间的一种折中。
ToF(time of flight)也是一种被炒的火热的深度获取方法,主要分为脉冲式和相位式两种。这是一种相位式tof的原理,通过采集四个采样点的相位,解算时间差,获得对应pixel的深度信息。
传感器发出经调制的近红外光,遇物体后反射,传感器通过计算光线发射和反射时间差或相位差,来换算被拍摄景物的距离,以产生深度信息。
相位法可以减轻背景光对于深度提取的影响,但是受这种四个采样点分时曝光的限制,它对于动态物体的效果要比脉冲式差一些。脉冲式是一种更常见的tof测距方法,从传统的工业雷达,到现在炒的比较火的面振tof都大量存在它的踪影。
除了以上结构光、tof和普通相机以外,还有一种有趣的摄像头叫eventcamera。
他检测的是变化的像素,大大缩减了输出的数据量,轻轻松松实现类似光流的算法而且具有极高的输出频率。学术界也有人在使用它在做slam,大家可以去搜索相关的论文看看。
这里找到了一个dyson360的一个有趣的vSLAM展示,通过采集全景镜头的视频数据,只有640*480的分辨率,实现了很有趣的vSLAM定位。
SLAM算法在实现的时候主要要考虑以下4个方面:
1、地图表示问题比如dense和sparse都是它的不同表达方式,这个需要根据实际场景需求去抉择。
2. 信息感知问题,需要考虑如何全面的感知这个环境,RGBD摄像头FOV通常比较小,但激光雷达比较大。我们也做过一个类似dyson的方案,能够实现很低成本,小体积的机器人定位。
3. 数据关联问题,不同的sensor的数据类型、时间戳、坐标系表达方式各有不同,需要统一处理
4. 定位与构图问题,就是指怎么实现位姿估计和建模,这里面涉及到很多数学问题,物理模型建立,状态估计和优化。
我们也做过一个类似dyson的方案,能够实现很低成本,小体积的机器人定位。
vSLAM里面还要考虑的有回环检测问题,探索问题(exploration),以及绑架问题(kidnapping)。
vSLAM在算法部分,对数学的基础要求比较高,对概率统计、最小二乘估计、随机梯度下降(或者高斯牛顿、LM)、线性系统建模与估计、非线性系统的概念和优化都得有较深的理解,同时也得有一个open的视野,熟练的编程能力,来实现效率更高的算法。
在团队配置上,更需要要更种各样的人,算法工程师、嵌入式工程师、光学工程师、传感器工程师、算法优化工程师、结构工程师、机电工程师以及丰富的产品测试安排。
比如这就是几周前我们对IMU进行的一系列测试的一部分,受温漂影响,IMU的输出会随着芯片温度上升零偏发生漂移。这就会给一些绝对的姿态参考造成很大的问题,需要通过温度试验摸出imu的噪声误差一致性,从而进行有效的补偿。
整个SLAM大概可以分为前端和后端,前端做配准,研究不同帧之间的变换关系。
首先提取每帧图像特征点,利用相邻帧图像,进行特征点匹配,然后利用RANSAC去除大噪声,然后进行ICP匹配,同时可以利用IMU提供的姿态信息进行滤波融。
这是我们的传感器配合上我们6dof Visual Inertial SLAM算法的一个简单展示。
vSLAM在机器人上的应用最难的就是产品化和成本上的考虑,好在机器人的vSLAM不需要特别高的实时性,也没有VR、AR令人难受的眩晕效应,不需要将计算速率提的特别高,机器人行业的vSLAM是一个真正短期内看得见的爆发点。
配合低频的visual解算,100ms内利用imu纯积分实现高频率的vSLAM姿态输出,基本上可以实现很低jitter的定位定姿。当然这个行业还远没有达到成熟的阶段,比如依然没有合适的芯片,没有覆盖全场景全天候的解决方案,这也是整个slam行业要继续解决下去的问题。
时间差不多了,今天大概先分享到这里。
Q&A环节实录
目前比较主流使用的slam算法都有哪些?分别都有哪些实际应用中的优势和局限?
张一茗:目前的开源SLAM方法还是很多很多的,国内有一些研究者整理过一个网站。
http://slamcn.org/index.php/%E9%A6%96%E9%A1%B5#.E4.B8.BB.E6.B5.81.E5.BC.80.E6.BA.90SLAM.E6.96.B9.E6.A1.88
但是我的看法是,这些算法都是科研成果,是属于scientist的东西。他们并不能轻松实现产品化,start as a scientist, end as an eigineer,如果没有自己的算法,别人走过的坑该踩还是要踩,才能真正走向产品化的。
目前市场中做SLAM的公司很多,如何去识别哪家更有优势?对于做这一块的公司,您认为应该怎样才能突围而出?
张一茗:我认为识别公司优势的指标就是成熟度,demo很容易,出产品很难。必须有丰富的产品化经验以及脚踏实地的扣每一个细节,才能够突围而出,胜算体现在一些细节,比如标定设备、标定方法、测试方法、生产线设计等等。
目前主流的ORB-SLAM的关键点和优化方向是什么?
张一茗:ORB-SLAM只是开源算法的一种,它构建了一种思路很清晰的vslam方法,前端后端严谨,框架清晰,很适合初学者学习,但是我个人认为在产品化的路上他并不是一个特别好的方案。
vslam是否可以用于室外空旷区域?
张一茗:vSLAM在室外是可以用的,但是有一些限制。比如说基于Depth的SLAM在室外是几乎是没法用的。因为室外光源太强,很难获得一个准确的Depth。所以深度图的这种匹配是完全不起作用。然后,对于基于纯视觉SLAM在室外的话,大部分场景是可用的。但是如果说,室外的这种景深太过单调,比如说十分空旷,体现不出层次感的话,他依然是不能够实现一个很好的定位的。只要室外的场景错落有致一些,它依然能够实现一个比较好的精度。
(补充提问):针对第4点的提问,是否可以理解说SLAM主要是运用在室内的而不是室外呢?
张一茗:绝大部分室外场景是可用的,除非特别空旷的一些极端环境。我们测试过我们的算法,没有问题。
室内三维重建有没有推荐的开源算法,刚入门应该从何入手?
张一茗:这个需求跟SLAM领域略有不同,应该是属于SFM的领域,这个领域开源方法也很多,您可以去SFM领域的paper中搜寻下
机器视觉领域创业公司和大公司比优势和劣势在哪里?速感科技的核心优势是什么?公司面临的核心挑战是?
张一茗:我认为定位这个行业最大的特点就在于,没有万能的定位方案,每个应用场景都有不同的需求,大家都是在搜寻一个更大的市场,即使是大公司,也很难做到类似apple这样的垄断。对于创业公司,做大公司未来得及做之事,在大公司做起来之前的窗口期抢占对自己有优势的市场,赚取足够的利润并成为新的巨头,这是我认为创业公司的生存之道 (回答完毕)。
请问SLAM硬件在基于FPGA实现的实践中能做到多高的深度分辨率和帧率,还有需要多少逻辑单元?
张一茗:slam并不适合用纯粹的fpga去实现,因为slam中虽然确实有很多可以并行化的部分,但是同时也有很多串行逻辑运算,我认为比较合适的方案还是arm加其他并行处理器的soc架构。我们目前用一些并行化的dsp去做特征提取,500个特征点可以花几个ms来完成,而pc上需要20ms。
我们目前用一些并行化的dsp去做特征提取,500个特征点可以花几个ms来完成,而pc上需要20ms。
基于SLAM的移动机器人,在行进过程中,如何克服周边环境变化的影响?(比如在仓库物流应用中,周围货物车辆人员的动态变化)
张一茗:这个问题可以通过两个方面解决,一个是扩大传感器的视野,比如用大视场角的镜头或360deg的雷达,另一方面利用其他传感器比如惯性、编码器进行组合,都可以进行周围环境变化的抑制。
想问一下,贵公司宣传的M-32传感器定位精度1cm,这个精度指的是RMSE吗?如果是,groundtruth是通过什么方法得到的?
张一茗:groundtruth采用的是类似vicon的光学方案进行标定的,精度mm级别。1cm的定位精度是指的RMSE,是在室内环境进行的测试。
张总好。我们在用Tof摄像头的来做AGV导航。有好的厂家推荐吗?你们有适合的模组吗?谢谢
张一茗:Tof模组我们不设计,做Tof的公司很多,最上游的有pmd、ti、epc等等公司,下游的模组公司有很多,可能不太适合在这里广告,您可以网上多搜寻一下,或者私下沟通一下。
责任编辑:
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
今日搜狐热点【招聘_】-前程无忧
抱歉,该职位已经过期或者不存在!
无忧工作网版权所有(C)51job.com(沪ICP备)查看: 1727|回复: 1
智能移动机器人,第一步就是要拥有自主定位导航规划能力
移动机器人想要在完全陌生的环境中(没有预先录入地图的情况下)实现智能导航,显然不是那么简单。所以,移动机器人实现智能化的第一步,当然是像人一样拥有“眼睛”和“小脑”,拥有自主定位、导航、避障的能力。
机器人技术.jpg (77.87 KB, 下载次数: 6)
10:29 上传
SLAMTEC—思岚科技作为机器人自主定位导航方案服务商和领航者,从2009年开始就进行自主定位导航方案的相关研究,经过不断的技术升级、产品优化,2015年发布了SLAMWARE自主定位导航方案。
自主定位导航方案.jpg (21.18 KB, 下载次数: 6)
10:30 上传
SLAMWARE自主定位导航方案所含组件:SLAMWARE Core
SLAMWARE.jpg (11.81 KB, 下载次数: 6)
10:30 上传
内含SLAM定位导航算法,仅为硬币大小,基于RPLIDAR提供实时定位和自主导航功能,同时支持串口和以太网交互导航信息。 RPLIDAR
RPLIDAR.jpg (15.27 KB, 下载次数: 6)
10:30 上传
自主定位导航算法核心传感器,通过SLAMWARE内置的先进算法驱动,可在未知环境中实时提供定位,并构建最高达5cm分辨率的环境地图。 SLAMWARE自主定位导航是思岚科技的核心技术,当家花旦,分为商用和家用版本。商用版本采用16米激光雷达,最高8K/s 激光测距,适用于多种应用场景,提供稳定可靠的现场表现。那么,SLAMWARE自主定位导航方案都有哪些核心功能呢? SLAMWARE定位导航模块核心功能 自主定位与建图采用激光SLAM技术,无需对环境进行修改,即可在未知场景中完成实时定位并利用SharpEdge构图技术测绘高精度、厘米级别地图,无需二次优化修饰,直接满足用户心理预期;
sharpedge.jpg (1.59 MB, 下载次数: 4)
10:30 上传
自主寻路导航与运动控制带有多种导航和运动控制算法,轻松实现机器人虚拟墙、虚拟轨道、自主导航和障碍物规避等功能;采用特色的D*路径规划系统,实现边行走边建图;
建图.gif (1.6 MB, 下载次数: 3)
10:30 上传
支持多传感器融合支持接入如深度摄像头、超声波、防碰撞、深度摄像头等多种传感器数据,利用融合数据,进行可靠导航。
多传感器融合.jpg (18.16 KB, 下载次数: 2)
10:30 上传
扩展开发,灵活适配SLAMWARE提供丰富的通讯接口,可结合SDK进行灵活、多样的功能扩展;
SLAMWARE各种接口.png (154.09 KB, 下载次数: 2)
10:30 上传
只有满足市场需求,被市场接受和认可的产品才是好产品。那么,SLAMWARE自主定位导航方案从2015年推出至今,都有哪些实际的落地应用呢? SLAMWARE自主定位导航方案凭借低成本、高性能,被广泛应用于各类商用服务机器人、家用扫地机、安保安防、教育、家庭陪伴、办公、展览馆等领域。 家用—扫地机器人扫地机器人最早走进普通家庭,也是最受消费者接受的期待的家用机器人。作为扫地机器人,要清楚得知道家里哪里扫过了,哪里没有扫,哪个是房间,并以房间为单位进行重点清扫和断点清扫。 SLAMTEC—思岚科技自主定位导航方案利用RPLIDAR 获取周围环境数据,结合SLAMWARE Core构建室内高精度地图,给扫地机器人提供实时定位和地图数据。同时,融合多传感器数据,模拟人类大脑进行思考,进行自主定位导航,开展室内每个角落的清扫,不漏扫。
扫地机.jpg (18.86 KB, 下载次数: 4)
10:30 上传
商场/银行/酒店/4S店/医院/政务大楼面向服务行业的商用机器人,采用智能化、便捷化、高科技化的服务方式,给消费者/客户带来不一样的新鲜体验。要达到这一目标,第一步就是要实现自由行走。 在目前常用的定位导航方案中,有利用电磁导航的,成本虽低,但铺设麻烦;有利用WiFi、蓝牙、UWB等技术进行定位的,但其信号容易衰减,精度差;有利用视觉进行导航,但如果是长距离高像素处理,速度会变慢,实时性不好。 SLAMTEC—思岚科技自主研发的定位导航方案可以基于纯软件方式,构建虚拟墙、虚拟轨道、兴趣点等特色功能,无需改变实际使用环境,且不受室内信号影响,快速进行自主行走导航,完成导航、导览、迎宾等工作。
优必选_副本.jpg (35.31 KB, 下载次数: 5)
10:30 上传
穿山甲.jpg (265.33 KB, 下载次数: 3)
10:30 上传
alice.jpg (123.47 KB, 下载次数: 6)
10:30 上传
家庭陪伴/养老院/教育家庭陪伴/养老/教育机器人,除了要拥有萌萌哒的外表、能说会唱、强大的互动能力之外,还需要能常伴左右,自由行走,完成指定任务。
艾伊特教育机器人.jpg (1.73 MB, 下载次数: 8)
10:30 上传
Bingo.jpg (29.02 KB, 下载次数: 5)
10:30 上传
康力优蓝.jpg (20.02 KB, 下载次数: 3)
10:30 上传
养老陪伴.jpg (25.64 KB, 下载次数: 5)
10:30 上传
养老陪伴 餐饮送餐机器人必须具备可以随意在餐厅行走,还不会碰撞到客人的能力。SLAMWARE自主定位导航方案能够实时获取周围信息,帮助机器人完成实时定位与导航避障,出色完成菜品传递、来回传菜的任务。同时,工作人员还可以利用虚拟墙和虚拟轨道,帮助餐饮机器人在固定区域或固定轨迹上活动,无需额外铺设。
艾米.jpg (78.92 KB, 下载次数: 5)
10:30 上传
办公畅想一下,在办公的过程中,如果你懒得走路,想要递送文件、开个远程会议,是不是可以随时让机器人为你服务。这一切,是不是都得建立在机器人能自主行走、导航和避障的基础上。
办公2.png (524.3 KB, 下载次数: 6)
10:33 上传
安保安防安防服务机器人通过Wifi或4G网络将机器人状态、位置、周围图像信息、视频数据及各传感器信息回传至智能安防综合管理平台,经过信息融合与智能分析,可为特定区域提供安全预警、巡逻等服务,及时采取安防措施。
大陆.jpg (169.53 KB, 下载次数: 3)
10:30 上传
安防_副本.jpg (116.29 KB, 下载次数: 4)
10:33 上传
爱好者研究利用SLAMWARE自主定位导航方案帮助机器人自由行走,借助RPLIDAR 获取周围环境信息,协助进行一系列开发研究。
投篮机器人.jpg (232.94 KB, 下载次数: 3)
10:30 上传
投篮机器人
自主定位导航小车_副本.jpg (107.92 KB, 下载次数: 7)
10:30 上传
自主定位导航小车…… SLAMWARE自主定位导航系统的特点1、易使用客户在使用SLAMWARE自主定位导航方案时,无需额外开发调试和二次开发,装上SLAMWARE,即可使机器人具有自主定位导航能力,不仅大幅降低研发时间,还可利用SLAMWARE提供的通讯接口,结合SDK进行灵活、多样的功能扩展。 2、成本低丰富的导航算法支持,具备各种功能,低成本的自主定位导航方案使得处在产业初期的服务机器人厂商没有较大的成本压力; 3、精确度高相较于开源的ROS机器人操作系统,SLAMWARE内置的SLAM算法构建出的地图更加精确,即使受到外界干扰也可以保持较高的定位精度。 SLAMWARE自主定位导航方案选型指引
SLAMWARE选型指引.png (84.64 KB, 下载次数: 6)
10:34 上传
所以,给机器人加载SLAMWARE自主定位导航解决方案,实现智能移动的第一步!
(42.61 KB, 下载次数: 5)
10:30 上传
对于初学者觉得实在太高端了
Powered by论文推荐|邸凯昌:视觉SLAM技术的进展与应用
视觉SLAM技术的进展与应用
邸凯昌1 , 万文辉1 , 赵红颖2 , 刘召芹1 , 王润之1 , 张飞舟2
1. 中国科学院遥感与数字地球研究所遥感科学国家重点实验室, 北京 100101;
2. 北京大学遥感与地理信息系统研究所, 北京 100871
收稿日期:;修回日期:
基金项目:国家重点研发计划(2016YFB0502102);国家自然科学基金面上项目()
第一作者简介:邸凯昌(1967-), 男, 博士, 研究员, 博士生导师, 主要研究方向为行星遥感制图与导航定位。E-mail:dikc@radi.ac.cn
通信作者:张飞舟, E-mail:zhangfz@pku.edu.cn
摘要:视觉SLAM技术依靠体积小、功耗低、信息获取丰富的视觉传感器,为未知环境下的机器人提供环境地图及自身在地图中的定位结果,对机器人自动化、智能化应用有着重要意义。本文介绍了视觉SLAM方法的关键技术,总结了目前视觉SLAM的研究现状,分析了当前视觉SLAM研究的主要趋势,最后讨论了视觉SLAM技术在深空、室内等受限环境下的应用现状与前景。
关键词:视觉SLAM特征提取卡尔曼滤波图优化闭环检测
Progress and Applications of Visual SLAM
DI Kaichang1 , WAN Wenhui1 , ZHAO Hongying2 , LIU Zhaoqin1 , WANG Runzhi1 , ZHANG Feizhou2
Abstract: Visual SLAM provides mapping and self-localization results of a robot in an unknown environment based on visual sensor, which has the advantages of small volume, low power consumption, and richness of information acquisition.Visual SLAM is critical and significant in supporting of robots' automated and intelligent applications.This paper presents the key techniques of visual SLAM, summarizes the current status of visual SLAM research, and analyzes the new trends of visual SLAM research and development.Finally, status and prospect of visual SLAM application in restricted environments, such as deep space, indoor scene and so on, are discussed.
Key words: visual SLAMfeature extractionKalman filtergraph based optimizationloop closure detection
同时定位与制图(simultaneous localization and mapping,SLAM)是机器人在未知环境下自主作业的核心关键技术,是机器人自动化领域的研究重点[1]。未知环境下,基于机器人外部传感器获取的环境感知数据,SLAM为机器人构建周围环境图,同时提供机器人在环境图中的位置,并随着机器人的移动而进行环境图的增量式构建与机器人的连续定位,是实现机器人环境感知与自动化作业的基础。SLAM中一般采用距离传感器作为环境感知的数据源[2]。相比雷达、声呐等测距仪器,视觉传感器具有体积小、功耗低、信息获取丰富等特点,可为各型机器人提供丰富的外部环境纹理信息,因而基于视觉的SLAM成为当前研究的热点[3]。由于相机获取的视觉信息容易受到环境干扰,存在较大噪声,视觉SLAM处理难度大、复杂度高。当前,获取随着计算机视觉技术的不断发展,视觉SLAM的技术水平也随之提高,并在室内自主导航、VR/AR等领域得到初步的应用[4-7]。
1 视觉SLAM关键技术
视觉SLAM以相机获取的序列图像数据为基础,依据图像信息结合成像模型恢复环境与相机间的关系,随着相机运动递增式地确定周围环境图,并输出相机在环境图中的位置。依照视觉SLAM的一般处理流程,可分为前端处理、后端处理及闭环检测[8-9],如图 1。前端处理负责序列图像数据同环境地标物的数据关联与参数的初始化,目前主流的方式是通过序列图像的特征提取与匹配,实现序列图像上的同名特征点追踪,进而将序列图像上的同名观测与环境地标点进行关联,并初始化系统的状态参数,是地图递增式构建与自主连续定位的必要前提。前端处理算法的适应性直接决定了视觉SLAM方法的稳健性[10]。后端处理负责对观测数据进行环境图结果与定位参数的最优估计,以获取高精度的定位与制图结果[11-12]。闭环检测是SLAM系统中判别当前观测到的环境地标是否已被观测过的处理,是为消除长距离运动后的误差累计而构建闭环约束的基础[13-14]。以上三部分处理依次完成了视觉SLAM中的数据关联、环境图与定位参数估计及闭环优化。下面就此展开论述。
图 1 视觉SLAM方法基本流程Fig. 1The flowchart of general visual SLAM
1.1 特征点提取与追踪
视觉SLAM中需要将图像观测信息同环境进行关联,即确定序列图像内容与真实环境的对应关系。当前视觉SLAM中,角点特征经常被用于序列图像间的关联。通过图像间特征点的提取与追踪,在多帧图像间形成空间物方点与同名像方点的对应关系。由于序列图像获取时相机的位置和视角不同,加之环境光照的变化,同名点在序列图像上的外观必然改变,这就要求特征点表达能够不受图像几何变化如旋转、缩放、倾斜及光照亮度等变化的影响。早期,图像特征点的提取基本以Harris[15]、F?rstner[16]等局部角点特征提取算子为主,特征追踪则采用模板匹配[17-20]或是光流追踪方法[21-22]。以上方法在相邻图像视角变化不大时颇为有效,若相机不规则运动导致视角变化剧烈,则难以获得稳健的追踪结果,甚至导致追踪失败。随着以SIFT为代表的图像局部不变特征描述方法的兴起,图像特征点的提取与匹配也能适应一定程度的图像形变及光照变化,提高了视觉SLAM在复杂环境中的适用性[23-25]。然而,SIFT算法较大的计算量限制了定位与制图的效率,难以满足实时性要求。为了提高处理效率,研究人员们陆续开发了SURF[26-27]、CensurE[28]、BRISK[29]、ORB[30-31]等算子。这些算子尽管性能有不同程度降低,但其效率却得到了数倍至数十倍的提升[32-35],使得实时视觉SLAM成为现实[31]。
1.2 环境图与定位参数估计
环境感知数据中存在一定的噪声与误差。为获得高精度的结果,需要从带有噪声的数据中估计整个系统状态及其不确定性。研究者们将概率论原理引入研究中,分析机器人所处环境与自身位置信息中的不确定性分布,以贝叶斯规则为基础,构建系统状态概率模型,结合机器人运动信息与环境观测数据,实现环境信息与位姿参数的最优估计[36-39]。卡尔曼滤波(KF)作为一种以最小均方根误差为准则实现线性系统最优估计的方法[40],被最早引入SLAM当中用于系统状态的最优估计[41-42]。由于SLAM系统的非线性特点,需要基于Extend KF(EKF)方法用泰勒级数展开方式实现系统的线性化近似[43]。早期的SLAM研究中,基于EKF的参数估计方法占据了主流[43-44]。然而,如果系统的非线性较强,可能造成线性化近似的误差较大,导致EKF滤波性能的急剧降低。随后,提出了一些改进的滤波方法如Unscented KF[46]、Cubature KF[47]、Central Difference KF[48]等,这些滤波方法可以获得比EKF更好的逼近精度,但仍需进行线性化计算。粒子滤波基于蒙特卡洛方法,通过状态空间传播的随机样本用以近似表示概率密度函数[49],突破了高斯分布假设限制,在视觉SLAM中得到了成功的应用[50-51]。然而这类基于滤波的参数估计方法都是基于系统的马尔可夫性假设,未能更好地利用全体观测数据。近年来,图优化方法在SLAM研究中得到了广泛的关注。图优化方法针对全体观测数据进行估计,并在系统估计改变时重新进行线性化近似,减小了线性化误差,可适应更多的非线性系统,因而成为当前主流的环境图与定位参数估计方法[92-93]。由于图优化方法每次优化均对所有状态量重新进行估计,在大场景环境下过多的待估参数导致计算量过大。现有研究中主要通过尽量减少优化迭代的次数[54-56]以及分析状态矩阵的稀疏性[57-59]来降低相应的计算量。
1.3 闭环检测
视觉SLAM系统在缺少外部控制信息的约束时,系统不确定性逐渐增大,长时间运动后定位误差累计较大。实际应用中,相机可能运动至之前经过的地方从而形成闭环约束,将该约束引入图优化中可获得全局一致的定位结果,有效降低定位误差[60]。因而,闭环检测对于长时间远距离运动的视觉SLAM有着重要意义。闭环检测的实质是判断当前图像内容同较早的历史图像内容的对应关系。早期的闭环检测主要是通过随机抽取历史图像数据同当前图像进行特征匹配,依据特征的正确匹配数量确定是否存在关联。这类方法认为所有历史数据均可能同当前图像存在关联,因而随着历史数据的增多,计算量显著增大,检测效率较低[61]。后续的研究通过对历史数据存在关联的可能性做初步的判断进而提高检测效率。其中,一类方法是依靠定位结果来判断相机是否回到之前的位置,据此确定可能存在的闭环情况[62]。由于长时间下的定位结果误差累计较大,该类方法实际效果不佳。另一类方法是基于图像内容构建图像描述词袋模型(Bag of Words),通过图像上出现的“单词”组合形成描述整幅图像的单词向量,进而通过判断图像相似程度而确定可能的关联关系[62-63]。由于此类方法判别准则是图像中是否出现了的相应的特征,并不考虑特征的位置与顺序,具备更强的环境适应性。
2 视觉SLAM研究新趋势
目前视觉SLAM方法研究已取得较大的进步,在定位制图精度与效率上可满足部分简单场景的应用需求。但视觉信息的获取始终受环境纹理丰富度的影响,环境光照及不稳定的运动模式更是加大了视觉信息的处理难度,视觉SLAM在复杂环境下的运行稳健性仍待提高。当前,研究人员通过进一步挖掘图像信息可用性,并融合其他类型传感器数据,试图实现更为稳健的SLAM方法,提高复杂环境下的定位与制图适应性。
2.1 视觉多类别特征提取与追踪
在室内等复杂环境中,人工目标较多,图像中具有更多的直线特征,仅依靠点特征提取方法不能完全利用图像视觉信息。因而,研究人员尝试进一步提炼图像中的信息,提取图像中多类别特征,通过多类特征集合的追踪实现更为稳健的定位与制图。除点特征外,直线特征被较多地引入视觉SLAM中[66-69]。由于直线特征的方向约束性强,可有效改善相机在转弯等剧烈运动导致相邻图像重叠区减少而带来的误差快速累计[70]。若考虑多直线形成的空间平面特征,将空间平面约束加入系统最优估计,则可带来更高的定位制图精度[71]。由于新类别特征的加入,需要构建新的多特征追踪及优化模型,进而准确估计这些特征结果的不确定性。
2.2 直接法SLAM
视觉SLAM中的特征提取与追踪算法复杂,计算耗时,且只能利用部分图像信息,更多的纹理信息被丢弃。直接法SLAM是直接利用图像本身的明暗变化信息,跳过特征提取与匹配步骤,以图像间最小光度误差为准则实现状态参数的最优估计,可充分利用图像信息实现定位与制图,在部分缺少明显纹理的区域也能获得较好的定位制图结果[72]。不同于基于特征的视觉SLAM方法,直接法SLAM不仅可获得稀疏地图[73],也可获得半稠密[74]和稠密地图[75]。由于减少了特征提取与追踪的过程,直接法具备较高的运行效率,可用于实时性较高且计算资源有限的场景。然而,直接法SLAM是基于图像同名区域灰度不变的假设,受环境光照、相机曝光等因素影响,在图像光度变化剧烈的场景中容易导致处理失败,一定程度上限制了其应用范围。
2.3 多传感器融合的SLAM
视觉SLAM方法依靠相机获取的环境纹理信息作为数据源,其处理效果直接受环境纹理条件影响,难以在纹理贫乏区域中可靠地工作。为了完成复杂环境下的稳健定位与制图,提升算法在实际应用中的性能,研究人员通过多类型的传感器的集成,融合各类别传感器数据,进而弥补各自数据缺陷以提高视觉SLAM的稳健性与精度。IMU具备完全自主的测量特性,可稳定获得定位定姿数据,能有效弥补视觉SLAM在贫纹理区域的环境信息缺失,同时高精度的视觉定位定姿结果可有效改正IMU快速漂移,提升系统定位与制图的精度[76],因而成为常见的用于同相机进行融合的传感器[77-80]。激光测距仪同样具备体积小、功耗低等优点[81],同单相机集成进行SLAM能有效确定环境图模型尺度,并修正连续定位中的尺度漂移,可形成便携穿戴式的定位导航系统,满足救护员、宇航员等人员的自主定位需要[82-84]。近年来,以Kinect为代表的深度相机以其具备直接获取丰富的空间三维信息的能力而受到广泛关注,该类传感器基于结构光、光编码或飞行时等测量原理,以主动方式测量空间三维信息,可直接获得局部三维地图,成像受环境条件影响小[85]。通过深度相机同可见光相机的集成形成RGB-D相机用于SLAM中,可同时获得环境纹理与空间稠密几何信息,进而处理得到稠密环境图数据,且空间三维信息的引入提高了SLAM观测数据质量,有效提升了SLAM的稳健性与精度[86-89]。多类别传感器的引入加强了环境感知数据的丰富度,但同时也意味着加入了新的误差源,若要获得最优估计结果需要在分析各自数据源误差特性基础上构建多传感器最优估计模型,以实现多传感器融合的SLAM。
2.4 基于深度学习的视觉SLAM
当前人工智能领域,深度学习以超越传统机器学习方法的识别性能而在图像目标识别分类、语音识别等方面得到了飞速的应用[90-92]。目前已有将深度学习引入视觉SLAM的相关研究,这些研究利用深度学习在深度神经网络中学习到的高层次特征用于图像帧间的位姿估计[93-95]与闭环检测[96-98]。在位姿估计方面,通过引入端对端的深度学习方法,使得视觉图像帧间的位姿参数解算无须特征匹配与复杂的几何运算,可直接输入相邻帧图像快速得到帧间相对位姿参数。闭环检测方面,利用深度学习的强大识别能力,提取图像更高层次的稳健特征,使得系统能对视角、光照等图像变化具备更强的适应能力,提高闭环图像识别能力。当前,深度学习在提升视觉SLAM算法的稳健性方面展现了巨大的潜力,一定程度可改善传统方法中人工特征设计带来的应用局限性。但是,深度学习需要数量巨大的训练样本库,且工作场景需同样本库接近,否则性能下降明显。这些问题使得基于深度学习的视觉SLAM的总体表现还未能超越传统方法。未来随着深度学习理论与方法的不断发展,深度学习必将在视觉SLAM中发挥更为重要的作用。
3 视觉SLAM典型应用
当前,随着卫星定位导航技术的普及与应用,相应的定位导航服务可通过导航卫星接收机而获得。然而,在太空、地下、室内等无导航卫星信号的环境中,机器人的定位导航与环境感知面临更大挑战。视觉SLAM作为一种自主定位与环境感知的重要手段,可为机器人的自主作业提供基础数据。本节针对视觉SLAM在深空探测、室内定位导航及大场景下的自主导航现状进行总结和讨论。
3.1 深空探测
20世纪50年代末,随着以美国和前苏联为代表的航天大国开启了与深空探测的征程,先后发射了大量的探测器用于对各类天体的探测。到目前为止,人类已向月球与火星发射了月球车与火星车用于着陆巡视探测。由于行星表明环境复杂,与地球迥然不同,这些探测车需要一定程度的自动化与智能化,以面对恶劣作业环境的挑战。早期的探测车技术尚不成熟,只能小范围内执行简单的观测任务。随着探测范围的扩大与任务复杂度的提升,要求探测车具备较强的自主定位与环境感知能力,以满足安全避障、任务规划的需要。2003年发射的美国“机遇号”与“勇气号”火星探测车,以及2011年发射的“好奇号”火星车均配备了双目立体导航相机,通过序列图像视觉测程方法修正了航迹推算方法的定位误差,并为探测车提供了安全避障与路径规划所需的基础地图结果,在探测车穿越崎岖困难区域时提供了高精度定位与制图结果,为火星车探测任务的执行提供了不可替代的重要作用[99-102]。我国于2013年发射的“嫦娥三号”着陆器携带“月兔号”月球车实现了在月面的着陆巡视探测。着陆过程中着陆器上降落相机获取的序列图像被用于着陆点位置评估[103]及着陆轨迹的恢复[104],所生成着陆区的高精度地图[105],成为嫦娥三号任务规划的重要基础数据。“月兔号”同样配置了一对用于环境感知的立体导航相机,通过站点间立体图像的匹配实现了月球车在探测站点上的高精度视觉定位(如图 2),修正了GNC系统航迹推算定位结果误差,将定位精度由7%提升至4%[105-106],如图 3。由于深空探测任务寿命有限,探测车几乎不会回到已行驶的路线上,因而难以构成闭环约束修正累计误差,未来随着探测任务要求的不断提高,须融入其他观测信息,提升定位制图处理的稳健性与精度,以满足新一代自动化与智能化探测的需要。
图 2 玉兔号导航相机站间图像匹配Fig. 2Matching results in cross-site navcam images of Yutu Rover
图 3 玉兔号月球车视觉定位轨迹Fig. 3Traverse of Yutu Rover based on visual localization
3.2 室内定位导航
目前的室内定位主要是通过在室内中布设WiFi或蓝牙基站,依据接收机接收的多基站无线信号的强度分布来估计当前的室内位置[107-108]。由于室内环境十分复杂,存在较多干扰无线信号的因素,使得基于无线信号的室内定位结果精度不够准确,容易出现楼层定位错误等问题,难以满足高精度的室内定位需要。相比无线信号,室内视觉图像信息丰富、直观,在无线信号无法覆盖区域视觉SLAM能够进行自主定位导航,不受外部基站布设的限制,具备更强的环境适用性。尽管已有不少室内视觉定位的相关研究,但目前实际应用于室内定位的视觉SLAM系统还比较少。2014年Google发布的Tango是首款面向普通用户的、用于未知室内环境感知的产品。Tango通过集成RGB-D相机与IMU,在实现定位的同时完成对未知环境的稠密三维重建[109],可用于室内的导航定位及VR、AR等应用[110-112]。随后微软发布的HoloLens混合显示头盔采用类似的技术路线,同时加入手势识别与语音识别,实现人与周围环境的全方位交互[113-114]。尽管视觉定位具备满足室内高精度定位需求的潜力,但当前的视觉定位技术还难以完全应对室内环境的高动态性与复杂性,同时要实现高精度的长距离室内定位还需借助高精度室内地图进行定位校正,以至目前还没有相应成熟的应用。未来,随着视觉图像处理水平的提高,视觉SLAM技术必将在室内定位领域发挥越来越重要的作用。
3.3 大场景下的自主导航
近来十分热门的无人机以其机动性好、生存能力强、可远距离操作等特点而在电力巡查、地质勘探、森林防火等领域迅速得到应用。这些无人机在GPS、北斗等卫星导航信号支持下以预设任务航线进行作业,实现了远距离大场景下的高效作业。然而,面对复杂的未知场景,这些无人机大部分尚不具备成熟的自主避障与路径规划能力,只能依靠操作员的人工控制完成飞行任务,自动化与智能化程度还不高。大疆创新将双目视觉传感器引入“精灵”系列无人机,利用视觉SLAM的环境图结果,实现了无人机的空中避障与路径自主规划,提升了无人机在复杂环境下的生存与自主作业能力[115]。当前,随着卫星导航信号干扰与诱骗技术的出现,军事飞行器如军用无人机、导弹等要求具备完全自主定位导航能力,以摆脱对卫星导航信号的依赖[116-117]。视觉SLAM技术的迅速发展为飞行器在大场景下的自主导航提供了新的技术支撑,然而,飞行器的快速运动给视觉图像带来了不同程度的质量退化,也对定位算法的实时性与稳健性提出了更高的要求。
当前,随着计算机视觉、数字图像处理、人工智能等技术的进步,视觉SLAM的研究和应用得到迅速发展。然而,视觉SLAM始终受环境纹理与光照条件的影响,复杂环境下的定位与制图的稳健性仍是挑战。目前的研究中,一方面充分利用图像信息,尽可能多的提取图像特征;另一方面通过融合深度相机、IMU等其他类别传感器,满足视觉SLAM在困难条件下的稳健定位制图需要。尽管目前的视觉SLAM算法在复杂场景下处理的稳健性还有待提高,但已经展露了巨大的潜力,未来随着技术水平的提升,必将在机器人自动化、智能化领域发挥重要的作用。
【引文格式】邸凯昌, 万文辉, 赵红颖, 等. 视觉SLAM技术的进展与应用[J]. 测绘学报,):770-779. DOI: 10.11947/j.AGCS.2
来源:测绘学报(版权归原作者及刊载媒体所有。)
编辑/ 印涌强 审核 /游志龙 韩磊
责任编辑:
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
今日搜狐热点}

我要回帖

更多关于 高德导航为什么要打开WiFi 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信