https://www.cnblogs.com/wangguchao/p/7381309.html
不管什么类型的机器人,只要自主移动,就需要在家庭或其他环境中进行导航定位。自主导航作为一项核心技术,是赋予机器人感知和行动能力的关键。机器人在运动过程中会碰到并解决以下三个问题:(1)我现在何处?(2)我要往何处走?(3)我如何到达该处?其中第一个问题是其导航系统总的定位及其跟踪问题,第二、三个是导航系统的路径规划问题。
一、视觉导航定位
在视觉导航定位系统中,目前应用较多的是基于局部视觉的在机器人中安装车载摄像机的导航方式。在这种导航方式中,控制设备和传感装置装载在机器人车体上,图像识别、路径规划等高层决策都由车载控制计算机完成。
视觉导航定位系统主要包括:摄像机(或CCD图像传感器)、视频信号数字化设备、基于DSP的快速信号处理器、计算机及其外设等。现在有很多机器人系统采用CCD图像传感器,其基本元件是一行硅成像元素,在一个衬底上配置光敏元件和电荷转移器件,通过电荷的依次转移,将多个象素的视频信号分时、顺序地取出来,如面阵CCD传感器采集的图像的分辨率可以从32×32到1024×1024像素等。
视觉导航定位系统的工作原理简单说来就是对机器人周边的环境进行光学处理,先用摄像头进行图像信息采集,将采集的信息进行压缩,然后将它反馈到一个由神经网络和统计学方法构成的学习子系统,再由学习子系统将采集到的图像信息和机器人的实际位置联系起来,完成机器人的自主导航定位功能。
二、光反射导航定位
典型的光反射导航定位方法主要是利用激光或红外传感器来测距。激光和红外都是利用光反射技术来进行导航定位的。
激光全局定位系统一般由激光器旋转机构、反射镜、光电接收装置和数据采集与传输装置等部分组成。
工作时,激光经过旋转镜面机构向外发射,当扫描到由后向反射器构成的合作路标时,反射光经光电接收器件处理作为检测信号,启动数据采集程序读取旋转机构的码盘数据(目标的测量角度值),然后通过通讯传递到上位机进行数据处理,根据已知路标的位置和检测到的信息,就可以计算出传感器当前在路标坐标系下的位置和方向,从而达到进一步导航定位的目的。
激光测距具有光束窄、平行性好、散射小、测距方向分辨率高等优点,但同时它也受环境因素干扰比较大,因此采用激光测距时怎样对采集的信号进行去噪等也是一个比较大的难题,另外激光测距也存在盲区,所以光靠激光进行导航定位实现起来比较困难,在工业应用中,一般还是在特定范围内的工业现场检测,如检测管道裂缝等场合应用较多。
红外传感技术经常被用在多关节机器人避障系统中,用来构成大面积机器人“敏感皮肤”,覆盖在机器人手臂表面,可以检测机器人手臂运行过程中遇到的各种物体。典型的红外传感器包括一个可以发射红外光的固态发光二极管和一个用作接收器的固态光敏二极管。由红外发光管发射经过调制的信号,红外光敏管接收目标物反射的红外调制信号,环境红外光干扰的消除由信号调制和专用红外滤光片保证。设输出信号Vo代表反射光强度的电压输出,则Vo是探头至工件间距离的函数:
Vo=f(x,p)
式中,p—工件反射系数。p与目标物表面颜色、粗糙度有关。x—探头至工件间距离。
当工件为p值一致的同类目标物时,x和Vo一一对应。x可通过对各种目标物的接近测量实验数据进行插值得到。这样通过红外传感器就可以测出机器人距离目标物体的位置,进而通过其他的信息处理方法也就可以对移动机器人进行导航定位。
虽然红外传感定位同样具有灵敏度高、结构简单、成本低等优点,但因为它们角度分辨率高,而距离分辨率低,因此在移动机器人中,常用作接近觉传感器,探测临近或突发运动障碍,便于机器人紧急停障。
三、GPS全球定位系统
如今,在智能机器人的导航定位技术应用中,一般采用伪距差分动态定位法,用基准接收机和动态接收机共同观测4颗GPS卫星,按照一定的算法即可求出某时某刻机器人的三维位置坐标。差分动态定位消除了星钟误差,对于在距离基准站1000km的用户,可以消除星钟误差和对流层引起的误差,因而可以显着提高动态定位精度。
但是因为在移动导航中,移动GPS接收机定位精度受到卫星信号状况和道路环境的影响,同时还受到时钟误差、传播误差、接收机噪声等诸多因素的影响,因此,单纯利用GPS导航存在定位精度比较低、可靠性不高的问题,所以在机器人的导航应用中通常还辅以磁罗盘、光码盘和GPS的数据进行导航。另外,GPS导航系统也不适应用在室内或者水下机器人的导航中以及对于位置精度要求较高的机器人系统。
四、超声波导航定位
超声波导航定位的工作原理也与激光和红外类似,通常是由超声波传感器的发射探头发射出超声波,超声波在介质中遇到障碍物而返回到接收装置。
通过接收自身发射的超声波反射信号,根据超声波发出及回波接收时间差及传播速度,计算出传播距离S,就能得到障碍物到机器人的距离,即有公式:S=Tv/2式中,T—超声波发射和接收的时间差;v—超声波在介质中传播的波速。
当然,也有不少移动机器人导航定位中用到的是分开的发射和接收装置,在环境地图中布置多个接收装置,而在移动机器人上安装发射探头。
在移动机器人的导航定位中,因为超声波传感器自身的缺陷,如:镜面反射、有限的波束角等,给充分获得周边环境信息造成了困难,因此,通常采用多传感器组成的超声波传感系统,建立相应的环境模型,通过串行通信把传感器采集到的信息传递给移动机器人的控制系统,控制系统再根据采集的信号和建立的数学模型采取一定的算法进行对应数据处理便可以得到机器人的位置环境信息。
由于超声波传感器具有成本低廉、采集信息速率快、距离分辨率高等优点,长期以来被广泛地应用到移动机器人的导航定位中。而且它采集环境信息时不需要复杂的图像配备技术,因此测距速度快、实时性好。
同时,超声波传感器也不易受到如天气条件、环境光照及障碍物阴影、表面粗糙度等外界环境条件的影响。超声波进行导航定位已经被广泛应用到各种移动机器人的感知系统中。
五、目前主流的机器人定位技术是SLAM技术(Simultaneous Localization and Mapping即时定位与地图构建)。行业领先的服务机器人企业,80%都采用了SLAM技术。
SLAM(Simultaneous Localization and Mapping,即时定位与地图构建),自1988年被提出以来,主要用于研究机器人移动的智能化。对于完全未知的室内环境,配备激光雷达等核心传感器后,SLAM技术可以帮助机器人构建室内环境地图,助力机器人的自主行走。
SLAM问题可以描述为:机器人在未知环境中从一个未知位置开始移动,在移动过程中根据位置估计和传感器数据进行自身定位,同时建造增量式地图。
SLAM技术的实现途径主要包括VSLAM、Wifi-SLAM与Lidar SLAM。
1.VSLAM(视觉SLAM)
指在室内环境下,用摄像机、Kinect等深度相机来做导航和探索。其工作原 理简单来说就是对机器人周边的环境进行光学处理,先用摄像头进行图像信息采集,将采集的信息进行压缩,然后将它反馈到一个由神经网络和统计学方法构成的学习子系统,再由学习子系统将采集到的图像信息和机器人的实际位置联系起来,完成机器人的自主导航定位功能。
但是,室内的VSLAM仍处于研究阶段,远未到实际应用的程度。一方面,计算量太大,对机器人系统的性能要求较高;另一方面,VSLAM生成的地图(多数是点云)还不能用来做机器人的路径规划,需要进一步探索和研究。简单来说,VSLAM是一个集合了视觉里程计,建图,和重定位的算法系统。
2.Wifi-SLAM
指利用智能手机中的多种传感设备进行定位,包括Wifi、GPS、陀螺仪、加 速计和磁力计,并通过机器学习和模式识别等算法将获得的数据绘制出准确的室内地图。该技术的提供商已于2013年被苹果公司收购,苹果公司是否已经把 Wifi-SLAM 的科技用到iPhone上,使所有 iPhone 用户相当于携带了一个绘图小机器人,这一切暂未可知。毋庸置疑的是,更精准的定位不仅有利于地图,它会让所有依赖地理位置的应用(LBS) 更加精准。
3.Lidar SLAM
指利用激光雷达作为传感器,获取地图数据,使机器人实现同步定位与地图构建。就技术本身而言,经过多年验证,已相当成熟,但Lidar成本昂贵这一瓶颈问题亟待解决。
Google无人驾驶汽车正是采用该项技术,车顶安装的激光雷达来自美国 Velodyne公司,售价高达7万美元以上。这款激光雷达可以在高速旋转时向周围发射64束激光,激光碰到周围物体并返回,便可计算出车体与周边物体的距离。计算机系统再根据这些数据描绘出精细的3D地形图,然后与高分辨率地图相结合,生成不同的数据模型供车载计算机系统使用。激光雷达占去了整车成本的一半,这可能也是 Google 无人车迟迟无法量产的原因之一。
激光雷达具有指向性强的特点,使得导航的精度得到有效保障,能很好地适应室内环境。但是,Lidar SLAM却并未在机器人室内导航领域有出色表现,原因就在于激光雷达的价格过于昂贵。
机器人定位技术揭秘
定位技术是机器人实现自主定位导航的最基本环节,是机器人在二维工作环境中相对于全局坐标的位置及其本身的姿态。目前SLAM (Simultaneous Localization and Mapping即时定位与地图构建)是业内主流的定位技术,有激光SLAM和视觉SLAM之分。
什么是激光SLAM?
激光SLAM脱胎于早期的基于测距的定位方法(如超声和红外单点测距)。激光雷达(Light Detection And Ranging)的出现和普及使得测量更快更准,信息更丰富。激光雷达采集到的物体信息呈现出一系列分散的、具有准确角度和距离信息的点,被称为点云。通常,激光SLAM系统通过对不同时刻两片点云的匹配与比对,计算激光雷达相对运动的距离和姿态的改变,也就完成了对机器人自身的定位。
激光雷达距离测量比较准确,误差模型简单,在强光直射以外的环境中运行稳定,点云的处理也比较容易。同时,点云信息本身包含直接的几何关系,使得机器人的路径规划和导航变得直观。激光SLAM理论研究也相对成熟,落地产品更丰富。
什么是视觉SLAM?
眼睛是人类获取外界信息的主要来源,视觉SLAM也具有类似特点,它可以从环境中获取海量的、富于冗余的纹理信息,拥有超强的场景辨识能力。早期的视觉SLAM基于滤波理论,其非线性的误差模型和巨大的计算量成为了它实用落地的障碍。近年来,随着具有稀疏性的非线性优化理论(Bundle Adjustment)以及相机技术、计算性能的进步,实时运行的视觉SLAM已经不再是梦想。
通常,一个视觉SLAM系统由前端和后端组成。前端负责通过视觉增量式计算机器人的位姿,速度较快。后端,主要负责两个功能:
一是在出现回环(即判定机器人回到了之前访问过的地点附近)时,发现回环并修正两次访问中间各处的位置与姿态;
二是当前端跟踪丢失时,根据视觉的纹理信息对机器人进行重新定位。简单说,前端负责快速定位,后端负责较慢的地图维护。
视觉SLAM的优点是它所利用的丰富纹理信息。例如两块尺寸相同内容却不同的广告牌,基于点云的激光SLAM算法无法区别他们,而视觉则可以轻易分辨。这带来了重定位、场景分类上无可比拟的巨大优势。同时,视觉信息可以较为容易的被用来跟踪和预测场景中的动态目标,如行人、车辆等,对于在复杂动态场景中的应用这是至关重要的。第三,视觉的投影模型理论上可以让无限远处的物体都进入视觉画面中,在合理的配置下(如长基线的双目相机)可以进行很大尺度场景的定位与地图构建。
一直以来,业内对激光SLAM与视觉SLAM到底谁更胜一筹,谁是未来主流趋势都有自己的看法,以下将简单从几个方面进行对比。
应用场景
从应用场景来说,视觉SLAM 的应用场景要丰富很多。视觉SLAM 在室内外环境下均能开展工作,但是对光的依赖程度高,在暗处或者一些无纹理区域是无法进行工作的。而激光 SLAM 目前主要被应用在室内,用来进行地图构建和导航工作。
定位和地图构建精度
在静态且简单的环境中,激光SLAM定位总体来讲优于视觉SLAM,但在较大尺度且动态的环境中,视觉SLAM因为其具有的纹理信息,表现出更好的效果。在地图构建上,激光 SLAM精度较高,国内思岚科技的 RPLIDAR 系列构建的地图精度可达到 2cm 左右。而视觉SLAM,比如大家常见的,也用的非常多的深度摄像机 Kinect,(测距范围在 3-12m 之间),地图构建精度约 3cm;所以激光 SLAM 构建的地图精度一般来说比 视觉SLAM 高,且能直接用于定位导航。
易用性
激光 SLAM和基于深度相机的 视觉SLAM 均是通过直接获取环境中的点云数据,根据生成的点云数据,测算哪里有障碍物以及障碍物的距离。但是基于单目、双目、鱼眼摄像机的 视觉SLAM 方案,则不能直接获得环境中的点云,而是形成灰色或彩色图像,需要通过不断移动自身的位置,通过提取、匹配特征点,利用三角测距的方法测算出障碍物的距离。
除了上面几点之外,在探测范围、运算强度、实时数据生成、地图累计误差等方面,激光 SLAM 和视觉 SLAM 也会存在一定的差距。
注:左为 Lidar SLAM,右为 视觉SLAM,数据来源:KITTI
可以明显看出,对于同一个场景,视觉SLAM 在后半程中出现了偏差,这是因为累积误差所引起的,所以 视觉SLAM 要进行回环检验。
总体来说,激光 SLAM 是目前比较成熟的机器人定位导航技术,而视觉 SLAM是未来研究的主流方向。未来,多传感器的融合是一种必然的趋势。取长补短,优势结合,为市场打造出真正好用的、易用的 SLAM 方案。