机器人视觉测距,机器人测距技术

原创
zblog 2023-03-11 13:20 阅读数 4 #换电站
文章标签 机器人视觉测距

机器人的视觉传感器有哪些?

如今机器人视觉测距的机器人已具有类似人一样机器人视觉测距的肢体及感官功能,有一定程度的智能,动作程序灵活,在工作时可以不依赖人的操纵。而这一切都少不了传感器的功劳,传感器是机器人感知外界的重要帮手,它们犹如人类的感知器官,机器人的视觉、力觉、触觉、嗅觉、味觉等对外部环境的感知能力都是由传感器提供的,同时,传感器还可用来检测机器人自身的工作状态,以及机器人智能探测外部工作环境和对象状态。并能够按照一定的规律转换成可用输出信号的一种器件,为了让机器人实现尽可能高的灵敏度,在它的身体构造里会装上各式各样的传感器,那么机器人究竟要具备多少种传感器才能尽可能的做到如人类一样灵敏呢?以下是从机器人家上看到的机器人视觉测距,希望对你有用

根据检测对象的不同可将机器人用传感器分为内部传感器和外部传感器。

内部传感器主要用来检测机器人各内部系统的状况,如各关节的位置、速度、加速度温度、电机速度、电机载荷、电池电压等,并将所测得的信息作为反馈信息送至控制器,形成闭环控制。

而外部传感器是用来获取有关机器人的作业对象及外界环境等方面的信息,是机器人与周围交互工作的信息通道,用来执行视觉、接近觉、触觉、力觉等传感器,比如距离测量、声音、光线等。

具体介绍如下:

1、视觉传感器

机器视觉是使机器人具有感知功能的系统,其通过视觉传感器获取图像进行分析,让机器人能够代替人眼辨识物体,测量和判断,实现定位等功能。业界人士指出,目前在中国使用简便的智能视觉传感器占了机器视觉系统市场60%左右的市场份额。视觉传感器的优点是探测范围广、获取信息丰富,实际应用中常使用多个视觉传感器或者与其它传感器配合使用,通过一定的算法可以得到物体的形状、距离、速度等诸多信息。

以深度摄像头为基础的计算视觉领域已经成为整个高科技行业最热门的投资和创业热点之一。有意思的是,这一领域的许多尖端成果都是由初创公司先推出,再被巨头收购发扬光大,例如Intel收购RealSense实感摄像头、苹果收购Kinect的技术供应商PrimeSense, Oculus又收购了一家主攻高精确度手势识别技术的以色列技术公司PebblesInterfaces。在国内计算视觉方面的创业团队虽然还没有大规模进入投资者的主流视野,但当中的佼佼者已经开始取得了令人瞩目的成绩。

深度摄像头早在上世纪 80 年代就由 IBM 提出相关概念,这家持有过去、现在和未来几乎所有硬盘底层数据的超级公司,可谓是时代领跑者。2005年创建于以色列的 PrimeSense 公司可谓该技术民用化的先驱。当时,在消费市场推广深度摄像头还处在概念阶段,此前深度摄像头仅使用在工业领域,为机械臂、工业机器人等提供图形视觉服务。由它提供技术方案的微软Kinect成为深度摄像头在消费领域的开山之作,并带动整个业界对该技术的民用开发。

2、声觉传感器

声音传感器的作用相当于一个话筒(麦克风)。它用来接收声波,显示声音的振动图象。但不能对噪声的强度进行测量。声觉传感器主要用于感受和解释在气体(非接触感受)、液体或固体(接触感受)中的声波。声波传感器复杂程度可以从简单的声波存在检测到复杂的声波频率分析,直到对连续自然语言中单独语音和词汇的辨别。

据悉,从20世纪50年代开始,BELL实验室开发了世界上第一个语音识别Audry系统,可以识别10个英文数字。到20世纪70年代声音识别技术得到快速发展,动态时间规整(DTW)算法、矢量量化(VQ)以及隐马尔科夫模型(HMM)理论等相继被提出,实现了基于DTW技术的特定 人孤立语音识别系统。近年来,声音识别技术已经从实验室走向实用,国内外很多公司都利用声音识别技术开发出相应产品。比较知名的企业有思必驰、科大讯飞以及腾讯、百度等巨头,共闯语音技术领域。

3、距离传感器

用于智能移动机器人的距离传感器有激光测距仪(兼可测角)、声纳传感器等,近年来发展起来的激光雷达传感器是目前比较主流的一种,可用于机器人导航和回避障碍物,比如SLAMTEC-思岚科技研发的RPLIDARA2激光雷达可进行360度全方面扫描测距,来获取周围环境的轮廓图,采样频率高达每秒4000次,成为目前业内低成本激光雷达最高的测量频率。配合SLAMTEC-思岚科技的SLAMWARE自主定位导航方案可帮助机器人实现自主构建地图、实时路劲规划与自动避开障碍物。

4、触觉传感器

触觉传感器主要是用于机器人中模仿触觉功能的传感器。触觉是人与外界环境直接接触时的重要感觉功能,研制满足要求的触觉传感器是机器人发展中的技术关键之一。随着微电子技术的发展和各种有机材料的出现,已经提出了多种多样的触觉传感器的研制方案,但目前大都属于实验室阶段,达到产品化的不多。

5、接近觉传感器

接近觉传感器介于触觉传感器和视觉传感器之间,可以测量距离和方位,而且可以融合视觉和触觉传感器的信息。接近觉传感器可以辅助视觉系统的功能,来判断对象物体的方位、外形,同时识别其表面形状。因此,为准确抓取部件,对机器人接近觉传感器的精度要求是非常高的。这种传感器主要有以下几点作用:

发现前方障碍物,限制机器人的运动范围,以避免不障碍物収生碰撞。

在接触对象物前得到必要信息,比如与物体的相对距离,相对倾角,以便为后续动作做准备。获取物体表面各点间的距离,从而得到有关对象物表面形状的信息。

6、滑觉传感器

滑觉传感器主要是用于检测机器人与抓握对象间滑移程度的传感器。为了在抓握物体时确定一个适当的握力值,需要实时检测接触表面的相对滑动,然后判断握力,在不损伤物体的情况下逐渐增加力量,滑觉检测功能是实现机器人柔性抓握的必备条件。通过滑觉传感器可实现识别功能,对被抓物体进行表面粗糙度和硬度的判断。滑觉传感器按被测物体滑动方向可分为三类:无方向性、单方向性和全方向性传感器。其中无方向性传感器只能检测是否产生滑动,无法判别方向;单方向性传感器只能检测单一方向的滑移;全方向性传感器可检测个方向的滑动情况。这种传感器一般制成球形以满足需要。

7、力觉传感器

力觉传感器是用来检测机器人自身力与外部环境力之间相互作用力的传感器。力觉传感器经常装于机器人关节处,通过检测弹性体变形来间接测量所受力。装于机器人关节处的力觉传感器常以固定的三坐标形式出现,有利于满足控制系统的要求。目前出现的六维力觉传感器可实现全力信息的测量,因其主要安装于腕关节处被称为腕力觉传感器。腕力觉传感器大部分采用应变电测原理,按其弹性体结构形式可分为两种,筒式和十字形腕力觉传感器。其中筒式具有结构简单、弹性梁利用率高、灵敏度高的特点;而十字形的传感器结构简单、坐标建立容易,但加工精度高。

8、速度和加速度传感器

速度传感器有测量平移和旋转运动速度两种,但大多数情况下,只限于测量旋转速度。利用位移的导数,特别是光电方法让光照射旋转圆盘,检测出旋转频率和脉冲数目,以求出旋转角度,及利用圆盘制成有缝隙,通过二个光电二极管辨别出角速度,即转速,这就是光电脉冲式转速传感器。

加速度传感器是一种能够测量加速度的传感器。通常由质量块、阻尼器、弹性元件、敏感元件和适调电路等部分组成。传感器在加速过程中,通过对质量块所受惯性力的测量,利用牛顿第二定律获得加速度值。根据传感器敏感元件的不同,常见的加速度传感器包括电容式、电感式、应变式、压阻式、压电式等。

机器人要想做到如人类般的灵敏,视觉传感器、声觉传感器、距离传感器、触觉传感器、接近觉传感器、力觉传感器、滑觉传感器、速度和加速度传感器这8种传感器对机器人极为重要,尤其是机器人的5大感官传感器是必不可少的,从拟人功能出发,视觉、力觉、触觉最为重要,目前已进入实用阶段,但它的感官,如听觉、嗅觉、味觉、滑觉等对应的传感器还等待一一攻克。

从传感器到算法原理,机器人视觉避障原来是这样的

避障是指移动机器人在行走过程中,通过传感器感知到在其规划路线上存在静态或动态障碍物时,按照 一定的算法实时更新路径,绕过障碍物,最后达到目标点。

避障常用哪些传感器?

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

超声波

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

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

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

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

红外

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

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

激光

常见的激光雷达是基于飞行时间的(ToF,time of flight),通过测量激光的飞行时间来进行测距d=ct/2,类似于前面提到的超声测距公式,其中d是距离,c是光速,t是从发射到接收的时间间隔。激光雷达包括发射器和接收器 ,发射器用激光照射目标,接收器接收反向回的光波。机械式的激光雷达包括一个带有镜子的机械机构,镜子的旋转使得光束可以覆盖 一个平面,这样我们就可以测量到一个平面上的距离信息。

对飞行时间的测量也有不同的方法,比如使用脉冲激光,然后类似前面讲的超声方案,直接测量占用的时间,但因为光速远高于声速,需要非常高精度的时间测量元件,所以非常昂贵;另一种发射调频后的连续激光波,通过测量接收到的反射波之间的差频来测量时间。

图一

图二

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

激光雷达的测量距离可以达到几十米甚至上百米,角度分辨率高,通常可以达到零点几度,测距的精度也高。但测量距离的置信度会反比于接收信号幅度的平方,因此,黑体或者远距离的物体距离测量不会像光亮的、近距离的物体那么好的估计。并且,对于透明材料,比如玻璃,激光雷达就无能为力了。还有,由于结构的复杂、器件成本高,激光雷达的成本也很高。

一些低端的激光雷达会采用三角测距的方案进行测距。但这时它们的量程会受到限制,一般几米以内,并且精度相对低一些,但用于室内低速环境的SLAM或者在室外环境只用于避障的话,效果还是不错的。

视觉

常用的计算机视觉方案也有很多种, 比如双目视觉,基于TOF的深度相机,基于结构光的深度相机等。深度相机可以同时获得RGB图和深度图,不管是基于TOF还是结构光,在室外强光环境下效果都并不太理想,因为它们都是需要主动发光的。

像基于结构光的深度相机,发射出的光会生成相对随机但又固定的斑点图样,这些光斑打在物体上后,因为与摄像头距离不同,被摄像头捕捉到的位置也不相同,之后先计算拍到的图的斑点与标定的标准图案在不同位置的偏移,利用摄像头位置、传感器大小等参数就可以计算出物体与摄像头的距离。而我们目前的E巡机器人主要是工作在室外环境,主动光源会受到太阳光等条件的很大影响,所以双目视觉这种被动视觉方案更适合,因此我们采用的视觉方案是基于双目视觉的。

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

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

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

KITTI采集的图

实际输出的深度图,不同的颜色代表不同的距离

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

以上几种是最常见的几种传感器 ,各有其优点和缺点,在真正实际应用的过程中,一般是综合配置使用多种不同的传感器 ,以最大化保证在各种不同的应用和环境条件下,机器人都能正确感知到障碍物信息。我们公司的E巡机器人的避障方案就是以双目视觉为主,再辅助以多种其他传感器,保证机器人周边360度空间立体范围内的障碍物都能被有效侦测到,保证机器人行走的安全性。

避障常用算法原理

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

Bug算法知乎用户无方表示

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

Bug1算法示例

改进后的Bug2算法中,机器人开始时会跟踪物体的轮廓,但不会完全围绕物体一圈,当机器人可以直接移动至目标时,就可以直接从障碍分离,这样可以达到比较短的机器人行走总路径。

Bug2算法示例

除此之外,Bug算法还有很多其他的变种, 比如正切Bug算法等等。在许多简单的场景中,Bug算法是实现起来比较容易和方便的,但是它们并没有考虑到机器人的动力学等限制,因此在更复杂的实际环境中就不是那么可靠好用了。

势场法(PFM)

实际上,势场法不仅仅可以用来避障,还可以用来进行路径的规划。势场法把机器人处理在势场下的 一个点,随着势场而移动,目标表现为低谷值,即对机器人的吸引力,而障碍物扮演的势场中的一个高峰,即斥力,所有这些力迭加于机器人身上,平滑地引导机器人走向目标,同时避免碰撞已知的障碍物。当机器人移动过程中检测新的障碍物,则需要更新势场并重新规划。

上面这个图是势场比较典型的示例图,最上的图a左上角是出发点,右下角是目标点,中间三个方块是障碍物。中间的图b就是等势位图,图中的每条连续的线就代表了一个等势位的一条线,然后虚线表示的在整个势场里面所规划出来的一条路径,我们的机器人是沿着势场所指向的那个方向一直行走,可以看见它会绕过这个比较高的障碍物。

最下面的图,即我们整个目标的吸引力还有我们所有障碍物产生的斥力最终形成的一个势场效果图,可以看到机器人从左上角的出发点出发,一路沿着势场下降的方向达到最终的目标点,而每个障碍物势场表现出在很高的平台,所以,它规划出来的路径是不会从这个障碍物上面走的。

一种扩展的方法在基本的势场上附加了了另外两个势场:转运势场和任务势场。它们额外考虑了由于机器人本身运动方向、运动速度等状态和障碍物之间的相互影响。

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

另外还有谐波势场法等其他改进方法。势场法在理论上有诸多局限性, 比如局部最小点问题,或者震荡性的问题,但实际应用过程中效果还是不错的,实现起来也比较容易。

向量场直方图(VFH)

它执行过程中针对移动机器人当前周边环境创建了一个基于极坐标表示的局部地图,这个局部使用栅格图的表示方法,会被最近的一些传感器数据所更新。VFH算法产生的极坐标直方图如图所示:

图中x轴是以机器人为中心感知到的障碍物的角度,y轴表示在该方向存在障碍物的概率大小p。实际应用的过程中会根据这个直方图首先辨识出允许机器人通过的足够大的所有空隙,然后对所有这些空隙计算其代价函数,最终选择具有最低代价函数的通路通过。

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

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

类似这样传统的避障方法还有很多,除此之外,还有许多其他的智能避障技术,比如神经网络、模糊逻辑等。

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

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

一、ROS机器人如何利用GPS模块来精确定位?

GPS模块在户外机器的定位导航方面是一个最基本的配置。注意这里主要是针对在户外工作的机器人机器人视觉测距,若您的机器人是室内使用的机器人视觉测距,根本不会被允许到室外工作,那么GPS模块就没有任何价值了。因为建筑物的屋顶和墙体会把GPS卫星信号大幅度削弱,一般商用级别的GPS模块根本接收不到符合要求的信号。是不是户外机器人搭载GPS模块,就可以精确知道自己的位置?璞数技术来为大家解答一下机器人视觉测距:是,也不是!说是,是因为在大尺度地图(比例尺一般为每厘米100米左右)上,普通商用经济款的GPS模块一般能达到的定位精度是20米~50米,在100米/厘米这个级别的地图上可以比较准确的知道机器人当前位置。说不是,是指在机器人工作区域的微尺度地图(一般是每厘米10米以下),GPS模块给出的位置误差范围太大,仅仅利用GPS模块算出来的经纬度坐标无法实现机器人的准确定位,当然更无法推算出机器人的准确运动方向。很遗憾,20米~50米的位置误差对机器人完成指定任务的应用来说是不可接受的。

机器人视觉测距,机器人测距技术 换电站

机器人感知世界要用到哪些传感器?

机器人要用到避障的传感器、测距的传感器、亮度判断的传感器、检测地面灰度的传感器等等。

用于避障的传感器

避障可以说是各种机器人最基本的功能,不然机器人一走动就碰到花花草草就不好了。机器人并不一定要通过视觉感知自己前方是否有障碍物,它们也可以通过触觉或像蝙蝠那样通过声波感知。因此,检测机器人前方是否存在障碍物的传感器,可以分为接触式和非接触式的。

最典型的接触式测障传感器便是碰撞开关(图1)。碰撞开关的工作原理非常简单,完全依靠内部的机械结构来完成电路的导通和中断。当碰撞开关的外部探测臂受到碰撞,探测臂受力下压,带动碰撞开关内部的簧片拨动,从而电路的导通状态发生改变(图2)。

图1 碰撞开关

图2 碰撞开关的工作状态图

用于测距的传感器

机器人光知道哪个方向有障碍物并不够,还必须知道障碍物距离自己具体有多远,才好判断下一步的行动。这时我们就需要测距传感器。

测距传感器大多为非接触式的,目前在个人机器人制作领域用得比较多的是红外和超声波测距传感器两种。

提到红外测距传感器,就不能不提夏普的GP2D12红外测距传感器(图3)。GP2D12几乎可以说是机器人爱好者的必备传感器,在我们平时常看到的一些个人机器人作品中,绝大多数都可以看到它的身影。

图3 夏普GP2D12 红外测距传感器

用于亮度判断的传感器

很多朋友制作的机器人都需要判断环境光的亮度,这时就需要亮度传感器。最常用的便是光敏电阻(图4)。光敏电阻是一种随着照射在上面的可见光强度变化而阻值发生相应变化的电阻,可以根据其阻值的变化判断出光强。光敏电阻的使用也非常简单,只要将它当作普通电阻接入电路,根据电流变化便可得出电阻值的变化,进而判断出光强的变化。对于机器人制作,光敏电阻是一种成本低廉、可靠性好、测量准确的元件。

图4 光敏电阻

用于检测地面灰度的传感器

很多人最开始做的机器人的基本功能就是循线,白色的地板上贴着一条黑线,让机器人沿着地面的黑线前进。很多机器人高手都是从制作类似的作品成长起来的。因此,有必要介绍一下检测地面灰度的常用传感器。

可见光地面灰度检测器,就是使用一个发光装置与一个光敏电阻搭配,装在机器人底部离地面较近的一个位置上。发光装置发射可见光,照射到不同颜色上面后,反射光的强度会有一定的差异,根据光敏电阻的返回值便可知道机器人下方的地面颜色(图5)。

图5 一种利用发光二极管作为发光装置的地面灰度检测器

其他

微电子领域的发展日新月异,每天都有各种各样的新传感器问世,很多以前高不可攀的传感器如今也变成了几块钱甚至几毛钱一个,因此经常去电子市场转转,关注一下最新的传感器信息是必要的。

热门