English | 英文

技术资讯

从技术的角度解读机械人如何避障:传感器、算法原理……

避障是指移动机械人在行走历程中,通过传感器感知到在其计划路线上保存静态或动态障碍物时,凭据 的算法实时更新路径,绕过障碍物,Z后抵达目标点 。

避障常用哪些传感器?

不管是要进行导航计划照旧避障,感知周边情况信息是D 1步 。就避障来说,移动机械人需要通过传感器 实时获取自身周围障碍物信息,包括尺寸、形状和位置等信息 。避障使用的传感器多种多样,各有差别的原理和特点,目前常见的主要有视觉传感器、激光传感器、红外传感器、超声波传感器等 。下面我简单介绍一下这几种传感器的基本事情原理 。

超声波传感器

超声波传感器的基来源理是丈量超声波的航行时间,通过d=vt/2丈量距离,其中d是距离,v是声速,t是 航行时间 。由于超声波在空气中的速度与温湿度有关,在比较精确的丈量中,需把温湿度的变革和其它因素考虑进去 。

jxf祥瑞坊(中国)官网登录

上面这个图就是超声波传感器信号的一个示意 。通过压电或静电变送器爆发一个频率在几十kHz的超声波脉冲组成波包,系统检测高于某阈值的反向声波,检测到后使用丈量到的航行时间盘算距离 。超声波传感器一般作用距离较短,普通的U效探测距离都在几米,可是会有一个几十毫米左右的Z小探测盲区 。由于超声传感器的本钱低、实现要领简单、技术成熟,是移动机械人中常用的传感器 。超声波传感器也有一些缺点,首先看下面这个图 。

jxf祥瑞坊(中国)官网登录

因为声音是锥形流传的,所以我们实际测到的距离并不是 一个点,而是某个锥形角度规模内Z近物体的距离 。

另外,超声波的丈量周期较长,好比3米左右的物体,声波传输这么远的距离需要约20ms的时间 。再者,差别质料对声波的反射或者吸引是不相同的,另有多个超声传感器之间有可能会相互滋扰,这都是实际应用的历程中需要考虑的 。

红外传感器

一般的红外测距都是接纳三角测距的原理 。红外发射器凭据 角度发射红外光束,遇到物体之后,光会反向回来,检测到反射光之后,通过结构上的几何三角关系,就可以盘算出物体距离D 。

jxf祥瑞坊(中国)官网登录

当D的距离足够近的时候,上图中L值会相当大,如果凌驾CCD的探测规模,这时,虽然物体很近,可是传感器反而看不到了 。当物体距离D很大时,L值就会很小,丈量量精度会变差 。因此,常见的红外传感器 丈量距离都比较近,小于超声波,同时远距离丈量也有Z小距离的限制 。另外,关于透明的或者近似黑体的物体,红外传感器是无法检测距离的 。但相关于超声来说,红外传感器具有更高的带宽 。

激光雷达

常见的激光雷达是基于航行时间的(ToF,time of flight),通过丈量激光的航行时间来进行测距d=ct/2,类似于前面提到的超声测距公式,其中d是距离,c是光速,t是从发射到接收的时间间隔 。激光雷达包括发射器和接收器 ,发射器用激光照射目标,接收器接收反向回的光波 ;凳降募す饫状锇ㄒ桓龃芯底拥幕祷,镜子的旋转使得光束可以笼罩 一个平面,这样我们就可以丈量到一个平面上的距离信息 。

对航行时间的丈量也有差别的要领,好比使用脉冲激光,然后类似前面讲的超声计划,直接丈量占用的时间,但因为光速远高于声速,需要很是精度高的时间丈量元件,所以很是腾贵;另一种发射调频后的连续激光波,通过丈量接收到的反射波之间的差频来丈量时间 。

jxf祥瑞坊(中国)官网登录

jxf祥瑞坊(中国)官网登录

比较简单的计划是丈量反射光的相移,传感器以已知的频率发射 幅度的调制光,并丈量发射和反向信号之间的相移,如上图一 。调制信号的波长为lamda=c/f,其中c是光速,f是调制频率,丈量到发射和反射光束之间的相移差theta之后,距离可由lamda * theta/4pi盘算获得,如上图二 。

激光雷达的丈量距离可以抵达几十米甚至上百米,角度区分率高,通?梢缘执锪愕慵付,测距的精度也高 。但丈量距离的置信度会反比于接收信号幅度的平方,因此,黑体或者远距离的物体距离丈量不会像灼烁的、近距离的物体那么好的预计 。并且,关于透明质料,好比玻璃,激光雷达就无能为力了 A碛,由于结构的庞大、器件本钱高,激光雷达的本钱也很高 。

一些低端的激光雷达会接纳三角测距的计划进行测距 。但这时它们的量程会受到限制,一般几米以内,并且精度相对低一些,但用于室内低速情况的SLAM或者在室外情况只用于避障的话,效果照旧不错的 。

视觉传感器

常用的盘算机视觉计划也有许多种, 好比双目视觉,基于TOF的深度相机,基于结构光的深度相机等 。深度相机可以同时获得RGB图和深度图,不管是基于TOF照旧结构光,在室外强光情况下效果都并不太理想,因为它们都是需要主动发光的 。像基于结构光的深度相机,发射出的光会生成相对随机但又牢固的黑点图样,这些光斑打在物体上后,因为与摄像头距离差别,被摄像头捕获到的位置也不相同,之后先盘算拍到的图的黑点与标定的标准图案在差别位置的偏移,利用摄像头位置、传感器巨细等参数就可以盘算出物体与摄像头的距离 。而我们目前的E巡机械人主要是事情在室外情况,主动光源会受到太阳光等条件的很大影响,所以双目视觉这种被动视觉计划更适合,因此我们接纳的视觉计划是基于双目视觉的 。

jxf祥瑞坊(中国)官网登录

双目视觉的测距实质上也是三角测距法,由于两个摄像头的位置差别,就像我们人的两只眼睛一样,看到的物体纷歧样 。两个摄像头看到的同一个点P,在成像的时候会有差别的像素位置,此时通过三角测距就可以测出这个点的距离 。与结构光要领差别的是,结构光盘算的点是主动发出的、已知确定的,而双目算法盘算的点一般是利用算法抓取到的图像特征,如SIFT或SURF特征等,这样通过特征盘算出来的是稀疏图 。

要做良好的避障,稀疏图照旧不太够的,我们需要获得的是浓厚的点云图,整个场景的深度信息 。浓厚匹配的算法大致可以分为两类,局部算法和全局算法 。局部算法使用像素局部的信息来盘算其深度,而全局算法接纳图像中的全信息进行盘算 。一般来说,局部算法的速度更快,但全局算法的精度更高 。

这两类各有许多种差别方法的具体算法实现 。能过它们的输出我们可以估算出整个场景中的深度信息,这个深度信息可以资助我们寻找地图场景中的可行走区域以及障碍物 。整个的输出类似于激光雷达输出的3D点云图,可是相比来讲获得信息会更富厚,视觉同激光相比优点是价格低许多,缺点也比较明显,丈量精度要差 一些,对盘算能力的要求也高许多 。虽然,这个精度差是相对的,在实用的历程中是 足够的,并且我们目前的算法在我们的平台NVIDIA TK1和TX1上是可以做到实时运行 。

jxf祥瑞坊(中国)官网登录

KITTI收罗的图

jxf祥瑞坊(中国)官网登录

实际输出的深度图,差别的颜色代表差别的距离
 

在实际应用的历程中,我们从摄像头读取到的是连续的视频帧流,我们还可以通过这些帧来预计场景中 目标物体的运动,给它们建立运动模型,预计和预测它们的运动偏向、运动速度,这对我们实际行走、避障计划是很有用的 。

以上几种是Z常见的几种传感器 ,各有其优点和缺点,在真正实际应用的历程中,一般是综合配置使用多种差别的传感器 ,以Z大化包管在种种差别的应用和情况条件下,机械人都能正确感知到障碍物信息 。我们公司的E巡机械人的避障计划就是以双目视觉为主,再辅助以多种其他传感器,包管机械人周边360度空间立体规模内的障碍物都能被U效侦测到,包管机械人行走的性 。

避障常用算法原理

在讲避障算法之前,我们假定机械人已经有了一个导航计划算法对自己的运动进行计划,并凭据计划的路径行走 。避障算法的任务就是在机械人执行正常行走任务的时候,由于传感器的输入感知到了障碍物的保存,实时地更新目标轨迹,绕过障碍物 。

Bug算法

Bug算法应该是Z简单的一种避障算法了,它的基本思想是在发明障碍后,围着检测到的障碍物轮廓行走,从而绕开它 。Bug算法目前有许多变种, 好比Bug1算法,机械人首先 地围绕物体,然后从距目标Z短距离的点离开 。Bug1算法的效率很低,但可以包管机械人抵达目标 。

jxf祥瑞坊(中国)官网登录

Bug1算法示例

革新后的Bug2算法中,机械人开始时会跟踪物体的轮廓,但不会 围绕物体一圈,当机械人可以直接移动至目标时,就可以直接从障碍疏散,这样可以抵达比较短的机械人行走总路径 。

jxf祥瑞坊(中国)官网登录

Bug2算法示例

除此之外,Bug算法另有许多其他的变种, 好比正切Bug算法等等 。在许多简单的场景中,Bug算法是实现起来比较容易和便当的,可是它们并没有考虑到机械人的动力学等限制,因此在更庞大的实际情况中就不是那么可靠好用了 。

势场法(PFM)

实际上,势场法不可以用来避障,还可以用来进行路径的计划 。势场法把机械人处理在势场下的 一个点,随着势场而移动,目标体现为低谷值,即对机械人的吸引力,而障碍物饰演的势场中的一个岑岭,即斥力,全这些力迭加于机械人身上,平滑地引导机械人走向目标,同时制止碰撞已知的障碍物 。当机械人移动历程中检测新的障碍物,则需要更新势场并重新计划 。

jxf祥瑞坊(中国)官网登录

上面这个图是势场比较典范的示例图,Z上的图a左上角是出发点,右下角是目标点,中间三个方块是障碍物 。中间的图b就是等势位图,图中的每条连续的线就代表了一个等势位的一条线,然后虚线体现的在整个势场里面所计划出来的一条路径,我们的机械人是沿着势场合指向的那个偏向一直行走,可以看见它会绕过这个比较高的障碍物 。Z下面的图,即我们整个目标的吸引力另有我们全障碍物爆发的斥力Z终形成的一个势场效果图,可以看到机械人从左上角的出发点出发,一路沿着势场下降的偏向抵达Z终的目标点,而每个障碍物势场体现出在很高的平台,所以,它计划出来的路径是不会从这个障碍物上面走的 。
 

一种扩展的要领在基本的势场上附加了了另外两个势 。鹤耸瞥『腿挝袷瞥 。它们特别考虑了由于机械人自己运动偏向、运动速度等状态和障碍物之间的相互影响 。

转动势场考虑了障碍与机械人的相对方位,当机械人朝着障碍物行走时,增加斥力, 而当平行于物体行走时,因为很明显并不会撞到障碍物,则减小斥力 。任务势场则排除了那些凭据目今机械人速度不会对近期势能造成影响的障碍,因此允许计划出 一条更为平滑的轨迹 。

另外另有谐波势场法等其他革新要领 。势场法在理论上有诸多局限性, 好比局部Z小点问题,或者震荡性的问题,但实际应用历程中效果照旧不错的,实现起来也比较容易 。

向量场直方图(VFH)

它执行历程中针对移动机械人目今周边情况创立了一个基于极坐标体现的局部地图,这个局部使用栅格图的体现要领,会被Z近的一些传感器数据所更新 。VFH算法爆发的极坐标直方图如图所示:

jxf祥瑞坊(中国)官网登录

图中x轴是以机械人为中心感知到的障碍物的角度,y轴体现在该偏向保存障碍物的概率巨细p 。实际应用的历程中会凭据这个直方图首先辨识出允许机械人通过的足够大的全空隙,然后对全这些空隙盘算其价钱函数,Z终选择具有Z低价钱函数的通路通过 。

价钱函数受三个因素影响: 目标偏向、机械人目今偏向、之前选择的偏向,Z终生成的价钱是这三个因素的加权值,通过调理差别的权重可以调解机械人的选择偏好 。VFH算法也有其他的扩展和革新,好比在VFH+算法中,就考虑了机械人运动学的限制 。由于实际底层运动结构的差别,机械的实际运动能力是受限的,好比汽车结构,就不可随心所欲地原地转向等 。VFH+算法会考虑障碍物对机械人实际运动能力下轨迹的阻挡效应,屏蔽掉那些虽然没有被障碍物占据但由于其阻挡实际无法抵达的运动轨迹 。我们的E巡机械人接纳的是两轮差动驱动的运动形式,运动很是灵活,实际应用较少受到这些因素的影响 。

具体可以看 一下这个图示:

jxf祥瑞坊(中国)官网登录

类似这样古板的避障要领另有许多,除此之外,另有许多其他的智能避障技术,好比神经网络、模糊逻辑等 。

神经网络要领对机械人从初始位置到目标位置的整个行走路径进行训练建模,应用的时候,神经网络的输 入为之前机械人的位姿和速度以及传感器的输 入,输出期望的下一目标或运动偏向 。

模糊逻辑要领焦点是模糊控制器,需要将专家的知识或操作人员的经验写成多条模糊逻辑语句,以此控制机械人的避障历程 。 好比这样的模糊逻辑:D 1条,若右前方较远处检测到障碍物,则稍向左转;第 二条,若右前方较近处检测到障碍物,则减速并向左转更多角度;等等 。

避障历程中保存哪些问题

- 传感器失效

从原理上来讲,没有哪个传感器是,比方说机械人面前是一块 透明的玻璃,那么接纳红外、激光雷达或视觉的计划,就可能因为这个光线直接穿过玻璃导致检测失败,这时候就需要超声波这样的传感器来进行障碍物的侦测 。所以我们在真正应用的历程中,肯建都需要接纳多种传感器的结合,对差别传感器收罗到的数据进行一个交叉验证,以及信息的融合,包管机械人能够稳定可靠的事情 。

除此之外也有其他模式可能导致传感器失效,好比超声波测距,一般需要超声阵列,而阵列之间的传感器如果同时事情的话,会容易相互爆发滋扰,传感器A发射的光波反射回来被传感器B接收,导致丈量结果泛起过失,可是如果凭据顺序一个个事情,由于超声波传感器采样的周期相比照较长,会减慢整个收罗的速度,对实时避障造成影响,这就要求从硬件的结构到算法都须设计好,尽可能提高采样速度,减少传感器之间的串扰 。

另有好比说,机械人如果需要运动的话,一般都需要电机和驱动器,它们在事情历程中都会爆发电容兼容性的问题,有可能会导致传感器收罗泛起过失,尤其是模拟的传感器,所以在实现历程中要把电机驱动器等设备、传感器的收罗部分,以及电源通信部分坚持隔离,包管整个系统是能够正常事情的 。

- 算法设计

在刚刚提到的几个算法,许多在设计的时候都并没有完善考虑到整个移动机械人自己运动学模型和动力学模型,这样的算规则划出来的轨迹有可能在运动学上是实现不了的,有可能在运动学上可以实现,可是控制起来很是困难,好比刚刚提到的如果一台机械人的底盘是汽车的结构,就不可随心所欲地原地转向,或者哪怕这个机械人是可以原地转向,可是如果一下子做一个很大的机动的话,我们的整个电机是执行不出来的 。所以在设计的时候,就要优化好机械人自己的结构和控制,设计避障计划的时候,也要考虑到可行性的问题 。

然后在整个算法的架构设计的时候,我们要考虑到为了避让或者是制止伤人或者伤了机械人自己,在执行事情的时候,避障是优先级比较高的任务,甚至是Z高的任务,并且自身运行的优先级Z高,对机械人的控制优先级也要Z高,同时这个算法实现起来速度要足够快,这样才华满足我们实时性的要求 。

总之,在我看来,避障在某种水平上可以看做机械人在自主导航计划的一种特殊情况,相比整体全局的导航,它对实时性和可靠性的要求更高一些,然后,局部性和动态性是它的一个特点,这是我们在设计整个机械人硬件软件架构时 要注意的 。

多机协同的避障战略有哪些?

多机协同避障战略在整个SLAM偏向上都照旧一个在钻研的热点领域,纯粹就避障来说,目前的计划是,当有两个或多个机械人协同事情的时候,每个机械人会在一个局部各自维护一个相对的动态地图,全机械人共享一个相对静态的地图,而关于单个机械人来说,它们会各自维护一个越发动态的地图,这样当两个机械人接近一个位置时,它们会将它们维护的动态地图合并起来 。

这样子有什么利益呢,好比视觉只能看到前方一个偏向,这时候跟后面机械人的动态地图合并之后,就能看到前后整个局部的动态信息,然后完成避障 。

多机协同的要害在于,两个局部地图之间的分享,就是它们划分在整个相对静态的全局地图上是有一小块一个窗口的位置,到这两个窗口可能融合的话,会把它们融合在一起,同时去指导两个机械人的避障 。在具体实现历程中,也要考虑整个信息传输的问题,如果是自己自己的局部地图,由于都是本机的运算,速度一般都比较快,如果是两个机械人协作的话,就要考虑到传输的延时,以及带宽的问题 。

避障有无标准的测试标准和指标?

目前就我所了解业界并没有什么统一的测试标准和指标,我们目前测试的时候会考虑这些指标,好比在单个障碍物或是多个障碍物,障碍物是静态的或动态的情况下避障效果如何,以及实际计划出的路径度如何,另有这个轨迹是否平滑,切合我们观感的效果 。

虽然,这个Z重要的指标我觉得应该避障是否失败就是乐成率的问题,要包管这个避障不管是碰到静态的或者是动态的物体,然后那个物体不管是什么材质,好比说如果是动态的人,我们穿什么样的衣服会不会对整个避障功效造成影响,另外就是差别的情况又会有什么样的影响,好比光线富足或昏暗 。关于避障来说,乐成率才是Z为要害的 。


获得更多产品支持与培训

加入WELINKIRT

是否有任何疑问?

世界各地的WELINKIRT代表可以随时为您提供支持,满足您的视觉和工业读码需求 。

联系jxf祥瑞坊
sitemap网站地图