用于为自主式机器人构建障碍物的不存在和存在中的一种的概率的图的方法与流程

文档序号:11160495阅读:461来源:国知局
用于为自主式机器人构建障碍物的不存在和存在中的一种的概率的图的方法与制造工艺

本发明涉及机器人编程系统的领域。更具体地,本发明适用于创建障碍物的不存在和存在中的一种的概率的本地图。这种图特别地但非排他性地适用于碰撞避免技术。



背景技术:

当机器人能够以高度的自主性执行行为或任务时,机器人可以取得自主的资格,甚至是在最初未知的环境中。为了安全地移动并执行行为,自主式机器人需要定位并收集关于潜在有危险的障碍物的信息。

因此,自主地收集关于本地障碍物的信息的问题是在机器人技术的领域中的关键性问题。

根据现有技术,用于障碍物检测的最佳已知的技术属于被称为“同步定位与构图”(SLAM)的方法的类别。这些方法提供了对障碍物的同步检测和机器人相对于其环境的定位。SLAM技术由下列资料公开:THRUN、S.BURGARD、W.FOX D.的Probabilistic Robotic.MIT Press,2005;MONTEMERLO、M.THRUN、S.KOLLER、D.WEGBREIT B的FastSLAM:A factored solution to the simultaneous localization and mapping problem,AAAI/IAAI,2002,第593到598页。

当机器人从其具有某些人类外观属性:头、躯干、双臂、双手等的时刻起有资格为人形。然而,人形机器人可能或多或少是复杂的。人形机器人的肢体可以具有较多或较少数量的关节。人形机器人可以静态和动态地控制其自身的平衡并且用下肢行走,可能是以三维的形式行走或仅是滚动底座。人形机器人可以从环境中提取信号(“听”、“看”、“触摸”、“感测”等),并且根据或多或少复杂的行为作出反应,并且通过谈话或通过手势与其它机器人或人类进行交互。

可以特别为了人类交互作用来设计这种机器人。然而,这些交互(包括面部和情感识别以及手势和对话)是高度CPU密集的。这些交互作用是人形机器人的核心。因此,机器人设计者必须解决的一个问题是将所有其它机器人功能设计成以最低可能的CPU使用率来进行操作。这些其它功能尤其包括必须在从机器人被通电时的时刻起连续地执行的定位、碰撞避免和障碍物检测。

当机器人发现其环境的新部分时,在SLAM技术中由机器人使用的环境图的尺寸增加。由于SLAM技术使用环境的所有已知的部分来计算机器人位置,所以提供障碍物检测复杂度的上限并且从而在具有未知尺寸的环境中使用SLAM技术提供CPU使用率几乎是不可能的。而且,SLAM实施方式使用CPU密集的技术,例如用于EKF-SLAM(或扩展卡尔曼滤波SLAM)的协方差矩阵。SLAM技术估计机器人位置以及一组路标的位置。当机器人发现其环境时,它将新路标添加到这个组。在EKF SLAM中,每个新路标被添加到状态向量和协方差矩阵。因此,具有大量潜在路标的大环境可能产生非常高的复杂度。因此,SLAM技术的使用可能导致用于脚底定位(sole localization)和障碍物检测的关键CPU使用率,从而威胁用于人类交互的CPU可用性。同时,SLAM技术被设计为使用静止路标来定位处于静态的机器人。因此,这在检测移动障碍物时是低效的。C.-C Wang在“Simultaneous localization,mapping and moving object tracking”中公开了用于同时使用SLAM和移动对象追踪(MOT)的方法。然而,这种技术基本上在于SLAM和MOT的同时执行以克服一个SLAM限制,因而增加了甚至额外的复杂度。

欧洲专利申请n°14305543.2公开了用于与SLAM技术相比较用减少的CPU使用率在导致机器人的精确定位的定位平面中定位机器人的方法。

这种方法解决了机器人定位问题。但仍然存在对用足够的可靠性检测障碍物以避免碰撞而是最不复杂且最不CPU密集的需要。



技术实现要素:

为了这个效果,本发明公开了用于由自主式机器人上的计算机确定在机器人的环境中的障碍物不存在和存在中的至少一种的概率的像素图的方法,所述方法的特征在于,其包括下列步骤:在机器人上的存储器中初始化在机器人周围限定并实质上关联到(attached to)所述机器人的初始图,所述图预先确定限制并被预定尺寸的像素铺设(pave),其中在每个像素中的障碍物不存在和存在中的至少一种的概率的值被设置为预定值;从至少感测过程获取表示在机器人的环境中的障碍物不存在和存在中的至少一种的数据;将用于至少下列操作的过程同时应用于初始图程序:更新在所述数据的初始图的至少一个像素中的障碍物不存在和存在中的至少一种的概率的值;将先前观察的障碍物的不存在或存在的概率修改为更接近预定值的值。

有利地,只要机器人保持在预定数量的像素内,初始图就在固定参考系中保持静止,并且在机器人移动到这个预定数量的像素之外时随着机器人移动。

有利地,初始图的限制被预先确定为所述机器人可能面对即时碰撞威胁所处于的区域的尺寸的函数。

有利地,像素的预定尺寸被选择为碰撞避免距离的函数。

有利地,初始图限定正方形。

有利地,在修改先前观察的障碍物不存在和存在中的一种的概率和用于初始化图的过程中的预定值是表示确定的障碍物存在的值与表示确定的障碍物不存在的值的平均值。

有利地,计算不存在的概率的图,其中障碍物不存在的概率是在0与1之间的数字,其中0表示确定的障碍物的存在,1表示确定的障碍物的不存在,并且0.5表示未知的障碍物的存在。

有利地,用于给障碍物和未知像素定界的阈值Tsobs被限定为在区间[0;0.5]中的数字,并且用于给无障碍物和未知像素定界的阈值Tsfree被限定为在区间[0.5;1]中的数字。

有利地,根据所述障碍物阈值和预定的收敛时间Τconv通过以下公式来限定用于修改障碍物不存在的概率的时间演变比Rtemp:Rtemp=exp(ln(1-2.0*Tsobs)/(Τconv*更新频率))。

有利地,修改先前观察的障碍物不存在的概率的过程使用了用于根据其在先前图中的值计算每个像素的值的几何分布定律,并且使用公式:VC320=Rtemp*(VC310-0.5)+0.5,其中VC320是像素的已修改值,并且V310是其先前值。

有利地,为多个补充的感测过程初始化多个初始图,并且多个图同时被合并成融合图。

有利地,合并多个初始图满足:障碍物不存在的概率低于在至少一个初始图中的阈值Tsobs的每个像素是融合图中的障碍物;不是融合图中的障碍物且障碍物不存在的概率高于在至少一个初始图中的阈值Tsfree的每个像素是融合图中的无障碍物像素。

有利地,合并多个初始图包括下列步骤:产生第一预融合图和第二预融合图;将第一预融合图中的像素中的障碍物不存在的概率的值设置为在多个初始图中的同一像素中的不存在的概率的值的最小值;将第二预融合图中的像素中的障碍物不存在的概率的值设置为在多个初始图中的同一像素中的不存在的概率的值的最大值;将值低于障碍物的阈值Tsobs的在第一预融合图中的像素中的障碍物不存在的概率的值设置为0;将值高于障碍物的阈值Tsobs的在第一预融合图中的像素中的障碍物不存在的概率的值设置为1;将在融合图(360)中的像素中的障碍物不存在的概率的值设置为在第一和第二预融合图中的同一像素中的不存在的概率的值的最小值。

有利地,使用从不同的传感器组获取的数据来更新在多个初始图当中的每个图,所述数据对观察相同类型的障碍物的传感器进行分组。

有利地,第一组传感器对在机器人上的激光传感器进行分组;第二组传感器对在机器人上的3D相机进行分组;第三组传感器对在机器人上的超声传感器进行分组;第四组传感器对在机器人上的接触传感器进行分组。

有利地,至少从感测过程获取表示在机器人的环境中的障碍物不存在和存在中的至少一种的数据的步骤至少包括:从传感器获取原始数据值;使用机器人运动关节模型和角关节传感器来创建与传感器相关联的6D传感器变换;使用所述6D传感器变换和所述原始数据来创建表示由传感器观察的障碍物的一组3D点。

有利地,更新初始图中的至少一个像素中的障碍物不存在和存在中的至少一种的概率的值至少包括:填充至少一个2D像素,其中至少一个3D点被找出有表示确定的障碍物存在的值;填充在所述至少一个像素与具有表示确定的障碍物不存在的值的传感器的位置之间的每条线。

本发明还公开了自主式机器人,其包括至少多个定向距离传感器;机器人运动关节模型;机载存储器,其用于存储在机器人周围限定的、具有预定的限制并由预定尺寸的像素铺设的初始图,障碍物存在和不存在中的至少一种的概率的值被存储在该存储器中;用于通过将每个像素的值设置为预定值来初始化所述图的模块;用于从至少一个所述定向距离传感器获取表示在机器人的环境中的障碍物不存在和存在中的至少一种的数据的模块;用于将用于至少下列操作的过程同时应用于所述图的模块:根据所述数据更新在初始图的至少一个像素中的障碍物不存在和存在中的至少一种的概率的值;将先前观察的障碍物不存在或存在的概率修改为更接近预定值的值。

本发明还公开了存储在计算机可读介质上的计算机程序产品,其包括用于使计算机实现确定在机器人的环境中的障碍物不存在和存在中的至少一种的概率的像素图的方法的代码单元,所述计算机程序产品的特征在于,其至少包括:用于在存储器中初始化在自主式机器人周围限定并实质上关联到所述机器人的初始图的模块,所述图预先确定限制并被预定尺寸的像素铺设,其中在每个像素中的障碍物不存在和存在中的至少一种的概率的值被设置为预定值;用于从至少第一类型的感测过程获取表示在机器人的环境中的障碍物不存在和存在中的至少一种的数据的模块;用于将用于至少下列操作的过程同时应用于初始图的模块:根据所述数据更新在初始图的至少一个像素中的障碍物不存在和存在中的至少一种的概率的值;将先前观察的障碍物不存在和存在中的一种的概率修改为更接近预定值的值。

本发明公开了用于利用在自主式机器人的封闭环境中的所有威胁和障碍物来构建图的方法。这可以本质上但不仅仅用于碰撞避免。其也可用于轨迹计算。

根据本发明的方法具有非常低的CPU使用率。实际上,这使用简单的操作(如像素值比较和填充)在具有有限和有界数量的像素的像素图上进行操作。

由于图的有限的数量和尺寸,其也具有低内存占用量。而且,根据本发明的方法的内存占用量被定界。

本方法还检测移动障碍物出现和消失而没有任何额外的复杂度。

在多个实施例中,本发明还利用在机器人中的所有种类的传感器来使用所有类型的障碍物的较精细的检测。

因此,根据本发明的方法以足够的可靠性检测障碍物以对机器人和环境(人、周围物体……)确保安全,而为了人形机器人的人类交互节省CPU和内存。

附图说明

根据多个示例性实施例及其附图的以下描述,本发明将被更好地理解并且其各种特征和优点将出现,在附图中:

-图1显示在本发明的多个实施例中的人形机器人的物理架构;

-图2显示在本发明的多个实施例中的机器人的软件模块的功能架构;

-图3显示本发明的多个实施例的全局流程图;

-图4显示在本发明的多个实施例中的利用来自一个传感器的观察来更新传感器族图的流程图;

-图5提供像素区域的示例,其中在本发明的多个实施例中对图进行计算;

-图6提供在本发明的多个实施例中的障碍物不存在的概率的时间演变的示例;

-图7显示在本发明的多个实施例中的利用未知概率来进行初始化并利用单个传感器观察来进行更新的传感器族图的示例;

-图8a、8b、8c、8d显示在本发明的多个实施例中的具有较早的观察的同时更新和根据新观察的像素的修改的传感器族图的演变;

-图9a、9b、9c提供在本发明的多个实施例中的多个传感器族图的融合的示例。

具体实施方式

图1显示在本发明的多个实施例中的人形机器人的物理架构。

在附图上的特定机器人100仅被当作可以实施本发明的人形机器人的示例。在附图上的机器人的下肢不是为行走而设计的,但可以用其底座140在任何方向上移动,底座140在其置放的表面上滚动。本发明可以容易在适合于行走的机器人(例如NaoTM)机器人中实现。通过示例的方式,这个机器人具有可以是大约120cm的高度110、大约65cm的深度120和大约40cm的宽度130。在特定的实施例中,本发明的机器人具有平板电脑150,利用平板电脑150机器人可以将消息(音频、视频、网页)传送到其周围环境,或通过平板电脑的触觉界面从用户接收输入。除了平板电脑的处理器以外,本发明的机器人还使用其自身的母板的处理器,处理器可以例如是来自IntelTM的ATOMTMZ530。在本发明的特定实施例中,本发明的机器人还有利地包括专用于在母板且尤其是容纳磁性旋转编码器(MRE)的板与传感器之间的数据流的处理,所述传感器控制在肢体中的关节的发动机和机器人用作轮子的球体。根据明确的关节所需的最大转矩的大小,发动机可以是不同的类型。例如,可以使用来自e-minebeaTM的有刷DC无核发动机(例如SE24P2CTCA),或来自MaxonTM的无刷DC发动机(例如EC45_70W)。MRE是具有12位或14位准确度的使用霍尔效应的优选类型。

在本发明的实施例中,图1上显示的机器人还包括各种类型的传感器。这些传感器中的一些传感器用于控制机器人的位置和移动。这是例如位于包括3轴陀螺仪和3轴加速度计的机器人的躯干中的惯性单元的情况。机器人还可以包括位于片上系统(SOC)类型的机器人(顶部和底部)的前额上的两个2D彩色RGB相机,例如来自深圳V-Vision技术有限公司TM的相机(OV5640),其具有以每秒5帧的5百万像素分辨率以及大约57°水平和44°垂直的视场(FOV)。在机器人眼睛的后方还可以包括一个3D传感器,例如具有以每秒20帧的30万像素的分辨率的ASUS XTIONTM SOC传感器,其具有大约与2D相机相同的FOV。本发明的机器人还可以配备有激光线发生器,例如在头部180a中有三个并且在底座180b中有三个,从而能够在机器人的周围环境中感测到其相对于对象/人的位置。本发明的机器人还可以包括能够感测其周围环境中的声音的麦克风。在实施例中,具有以1kHz和300Hz到12kHz(-10dB相对于1kHz)的频率范围的300mv/Pa+/-3dB的灵敏度的四个麦克风可以植入在机器人的头部上。本发明的机器人还可以包括可能位于其底座的正面和背面的两个声纳传感器,这两个声纳传感器用于测量到机器人周围环境中的对象/人的距离。

机器人还可以包括位于其头部和手上的触觉传感器,该触觉传感器用于允许与人的交互。机器人还可以包括位于其底座上的缓冲器1B0以感测在机器人的路线上机器人遇到的障碍物。

机器人还可以通过计算在所规划的轨迹与实际轨迹之间的差异来感测其上部构件与它们接触的对象的接触。

为了解释机器人的情感并且在其周围环境中与人进行沟通,本发明的机器人还可以包括:

-LED,例如在机器人的眼中、耳中和机器人的肩膀上;

-扬声器,例如位于机器人耳中的两个。

本发明的机器人可以通过以太网RJ45或WiFi 802.11连接与基站进行或者其它机器人进行通信。

可以通过具有大约400Wh的能量的磷酸铁锂电池来对本发明的机器人进行供电。机器人可以接入适于其包括的电池类型的充电站。

图2是在本发明的若干实施例中允许本发明的实施方式的物理和功能架构的图。

在本发明的实施例中,机器人(例如NAO)有利地被赋予允许机器人的功能的引导的高级软件。尤其在2009年10月15日公布的专利申请WO2009/124955中公开了被称为NAOQI的这种类型的软件架构。其包括用于管理在机器人和PC或远程站点之间的通信并交换软件的基本功能,该软件提供本发明的实施方式所必需的软件基础设施。

NAOQI是对机器人应用优化的框架;其支持几种语言,尤其是C++、Python和Urbi。

在本发明的背景下,NAQQI的以下模块是特别有用的:

-模块ALMemory 210,管理在NAOQI的各种模块之间共享的存储器;

-模块DCM 220,管理与物理机器人(发电机、传感器)的通信;

-模块ALMotion 230,在参考系中计算机器人的各个部分的移动并且从而计算传感器的位置/定向。

这三个模块有利地用C++进行编码。附图还指示在模块之间的数据流。

具体而言,障碍物功能的不存在和存在中的一种的概率的图的实施方式所必需的输入是:

-传感器的值(例如脚压力传感器、激光器、超声传感器);

-机器人的姿势。

在有规律的时间间隔处,障碍物不存在图构建功能更新障碍物不存在和存在中的一种的概率的图。为了这么做,其提取来自DCM模块220的传感器值和来自ALRobotPosture模块230的机器人姿势值。

图3显示本发明的多个实施例的全局流程图。

在本发明的多个实施例中,传感器被分组成传感器族。每个传感器族可以包括一个或多个传感器。有利地,在每个族中的传感器包括被设计成观察同一类型的障碍物的传感器。例如,机器人100可以包括3D相机传感器170、具有三个激光线发生器180a和三个激光线发生器180b的第二族、具有两个声纳传感器190的第三族和具有触觉传感器、缓冲器1B0和感测接触的任何传感器的第四族,其包括通过在所规划的轨迹和实际轨迹之间的差异的计算来感测接触的逻辑传感器。

在以下示例中,计算具有[0;1]的范围的障碍物不存在的概率的图,其中1的概率指示确定的障碍物的不存在,0的概率指示确定的障碍物的存在,并且0.5指示未知的障碍物不存在的概率。本发明不限于这样的示例和概率的表示,并且以障碍物的另一种表示嵌入本发明对技术人员而言是简单的任务。例如,障碍物存在概率的图可以替代地被计算,其中1表示确定的障碍物存在,并且0表示确定的障碍物的不存在。概率的[0;1]区间可以由百分比、具有离散值的占有的状态、表示障碍物存在或不存在的布尔值或表示障碍物存在或不存在的任何其它标度进行替换。

从每个传感器族中,创建传感器族图(310,320,330,340)。在描述的其余部分中,传感器族图可以被称为“传感器族图”或“初始图”。通过合并来自每个传感器组图340、350的信息来形成(360)融合图。这些图中的每一个图关联到机器人,并且具有预定尺寸和像素尺寸。在本发明的多个实施例中,所有图具有相同的尺寸、像素尺寸和原点。因此,具有给定坐标的像素表示在每个图中的相同区域,这使在图像素之间的比较和操作变得非常容易。在其余部分中,对图3的参考将指示过程和在该过程结束时创建或修改的图。例如,330可以标示更新传感器族图的过程以及被更新的图。预定像素尺寸可以被设置为作为机器人的最小停止距离的函数的值,当以其最慢速度(例如10cm)移动时,使得当障碍物被检测到在最接近的像素内时,机器人在要停止的位置上。图尺寸随后可以被确定为限制的函数,该函数被设置为由本发明的方法使用的处理能力例如预定10cm尺寸的30×30(900)像素,其给出3m的图的预定尺寸和在机器人和图的限制之间的1.5m的距离。还可以首先将图的预定尺寸确定为在机器人的环境中的可能障碍物的函数,并且可以将像素的数量或它们的尺寸或这两者的组合确定为被分配给本发明的方法的处理能力的函数。这些折衷可以由普通技术人员确定并且随后使用普通技术人员已知的过程在机器人的软件模块中进行编程。

传感器族图340和350以及融合图360在有规律的基础上被更新。在机器人100中,3D相机170、激光线发生器180a和180b以及声纳传感器190都在它们自身的频率下生成度量。有利地,传感器族图和融合图在来自所有传感器的最低频率下被更新。在实施例中,在10fps下更新传感器和图。这个频率将被称为“更新频率”。这个示例不是限制性的,并且可以选择任何更新频率,如果没有新的度量可用于更新频率,则可以从任何传感器使用旧的度量。

在每次更新时,使用这个族的传感器310的先前图以及来自属于这个族的传感器的新观察331、332为每个传感器族产生传感器族图340。在步骤320,过程适用于更新先前图310的像素值。在示例中,这样的过程使每个像素中的值更接近值0.5,因而将更小的价值给予先前的观察。在这个过程结束时,先前的图310被转换成具有降低的置信度320的传感器族图。具有降低的置信度320的这个图以后在步骤330用来自传感器331和332的新观察被更新。这个更新过程用1的障碍物不存在的概率填充传感器观察到障碍物不存在的每个像素,并且通过0的障碍物不存在的概率填充传感器观察到障碍物存在的每个像素。一旦用来自属于其传感器族的每个传感器的观察更新图320,其就被转换成包含在来自传感器的一个族的时间可得到的所有信息的传感器族图340。

在多个实施例中,机器人中的传感器具有不同程度的可靠性。例如,较老的传感器可被认为是比新的传感器更不可靠。关于观察的可靠性的信息因此在更新330期间被添加到更新像素。这可以通过对于较不可靠的传感器将值设置为更接近0.5或除了障碍物不存在的概率以外还添加可靠性信息来完成。可靠性还可以被设置为传感器的类型的函数,例如取决于机器人的环境。通过示例的方式,普通技术人员已知激光线发生器在存在多个透明的障碍物的环境中更易于出错。相反,在这种类型的环境中,声纳传感器将更可靠。

对于全局过程的第一次执行,图310在存储器中以预定值被初始化。在优选实施例中,所述预定值指示未知的障碍物存在。在示例中,在过程的第一次执行时,图310在其所有的像素中以值0.5被初始化。对于所有其它的执行,图310是在先前更新期间产生的传感器族图340。在机器人的位置改变的情况下,图的像素可以被转变。这可以发生在机器人不再在图的中心处时。例如,如果在该过程的开始时机器人是远离图的中心的几个像素,或如果机器人离图的中心的距离接近机器人的尺寸,则图的像素可被转变。如果机器人离图的中心高于预定值,例如30cm,则也可以转变像素。在转变的情况下,图的原点在水平和/或垂直方向上或在机器人的运动的方向上移动了整数个像素。因此,所有像素的值在那个方向上移动。例如,如果机器人在图的中心以上30cm并且像素尺寸是10cm,则图的位置可以在固定参考中的垂直轴的顶部中移动30cm,并且所有每个像素的值可以被设置为位于3个像素以下的先前像素的值。位于图(其中在先前图中没有找到先前值)的边界上的所有像素被设置为未知值0.5。

在每次更新时,传感器族图340和350被融合以创建融合图360。在本发明的多个实施例中,这个融合过程被设计成保持由至少一个传感器族检测的障碍物。这个融合图360包含来自先前的观察和对每个传感器族的传感器的新观察的所有信息。因此这适合于在需要障碍物不存在的最完整描述的应用(例如轨迹计算)中使用。

图4显示在本发明的多个实施例中的利用来自一个传感器的观察来更新传感器族图的流程图。

每个传感器提供表示其观察的类型的原始数据400。例如,激光传感器180a和180b提供在它们面向的方向上最接近的非透明表面的距离,而缓冲器1B0指示在它们的位置上的接触的出现。

使用机器人运动关节模型410和关节的角传感器420来推断出传感器的3D位置和定向,其包含关于在机器人坐标系统中的传感器的6D位置和定向以及在固定坐标系统中的机器人的6D位置和定向的信息。这个信息允许6D传感器变换430的创建,6D传感器变换430将由传感器检测到的3D点转变成在固定坐标系中表示的一组3D点440。例如,可以容易地利用运动关节模型410和指示在机器人坐标系统中的传感器的相对位置的机器人角关节传感器420的知识来在固定3D坐标系中对在离激光传感器180a 3米的距离处观察到的障碍物进行定位。在另一示例中,如果缓冲器1B0中的一个检测到接触的出现,则可以使用机器人模型410和关节传感器420将表示障碍物的3D点放置在缓冲器的确切的3D位置中。

最后,传感器模型450用于使用3D点440在步骤330期间更新传感器族图。例如,激光传感器180a的模型可以解释以下事实:障碍物在其定向上在由激光传感器返回的距离处被观察到,并且没有障碍物在激光传感器与这个障碍物之间被观察到。因此,由激光传感器返回的3D点障碍物可以通过首先在图330中、在固定坐标系中位于这个3D点处的像素中设置0的障碍物不存在的概率并且在固定坐标系中位于3D点与激光传感器之间的线中的所有像素处设置1的障碍物不存在的概率来更新传感器族图330。在使用缓冲器传感器180a的示例中,如果3D点存在,则可以通过在3D点所位于的图330的像素中将障碍物不存在的概率设置为0来放置障碍物。如果对于这个传感器没有3D点存在,则没有接触出现在其位置上。因此可以通过在图330中缓冲器传感器所位于的像素中将障碍物不存在的概率设置为1来更新图。

图5提供像素区域的示例,其中在本发明的多个实施例中对图进行计算。

正方形500表示环境的限制,其中机器人进行演变。这个环境可以是单个房间。机器人100位于位置520上。在多个实施例中,这个区域被设计为覆盖机器人可能面对与障碍物的碰撞的即时威胁所处于的所有区域。

有利地,在实质上以机器人520的位置为中心的正方形区域510中对图进行计算。尽管在所有过程期间图保持实质上关联到机器人,机器人520的位置可以稍微不同于图的中心。实际上,使机器人的位置精确地在图的中心上将涉及在几乎每个循环时转变先前图310的像素而移动非整数的像素,这将不是合乎需要的。因此,机器人位于图510的中心附近,并且对图进行转变,以便于使图的中心在每个循环开始时接近机器人520的位置,其中机器人位置520离图的中心比预定距离更远。

图510的宽度530和像素尺寸540在图尺寸和计算复杂度之间是折衷的。在多个实施例中,像素尺寸是碰撞避免距离的函数。其可以是感测障碍物和停止机器人的最小距离的函数。在多个实施例中,这个最小距离比最小机器人尺寸小几倍。例如,可以为机器人100限定10cm的像素尺寸540。使用这样的像素尺寸,机器人占据几个像素的表面。因此,对于这种类型的机器人,像素尺寸540对障碍物的精细检测是足够的,同时限制像素的数量。图的宽度530应当被设计为覆盖机器人可能面向即时碰撞威胁所处于的区域,同时不太大以降低计算负荷。这可以被设计为覆盖机器人可能在最大速度下在几秒内所位于的所有区域。这个宽度530以及像素尺寸540还可以为机器人模型或由机器人经销商预先确定以适合于机器人特定的应用。在示例中,像素尺寸被限定为10cm并且图的尺寸被限定为1.5m×1.5m,其表示30×30像素区域。因此,利用像素尺寸540和宽度530的合理限定,在这个区域中的障碍物不存在的概率的计算足以避免障碍物,同时限制图的尺寸并且因而限制CPU和内存使用率。与SLAM技术不同,在本发明中的障碍物的计算仅仅对有限的区域和有限数量的值出现,这减小障碍物存在计算的CPU和内存占用量。而且,与SLAM技术不同,其提供了有界限的区域。

图6提供在本发明的多个实施例中的障碍物不存在的概率的时间演变的示例。

使用先前传感器族图310来创建具有降低的置信度320的传感器族图。为了这个效果,在障碍物先前被检测到(障碍物不存在的概率<0.5)的图310中的所有像素使它们的障碍物不存在的概率增加,而障碍物被检测到(障碍物不存在的概率>0.5)的像素使它们的障碍物不存在的概率降低。曲线图600显示对值未被新观察更新的像素在连续更新上的障碍物不存在的概率的演变的示例。垂直轴610显示在0和1之间的障碍物不存在的概率。水平轴620显示连续更新的次数。双向箭头630表示任何障碍物像素有高于Tsobs的障碍物不存在的概率所必需的更新的最大数量,并且因此被认为是未知的呼叫。线640表示对于原始概率为1的像素的障碍物不存在的概率的演变的示例。线650表示对于原始概率为0的像素的障碍物不存在的概率的演变的示例。线660表示像素中的值被认为是无障碍物时所高于的线,如果无障碍物阈值Tsfree的值稍微高于0.5,例如0.6。线670表示像素中的值被认为是障碍物时所低于的线,如果障碍物阈值Tsobs的值稍微低于0.5,例如0.4。

障碍物不存在的概率遵循几何分布定律以从0或1的值收敛到值0.5。预定的收敛时间Tconv表示任何障碍物像素被认为是未知像素时的时间。这个时间必须在不将像素认为是障碍物(如果没有新观察观察到位于其内的障碍物)的能力和机器人的安全性之间是折衷的。它的值可以根据参数(例如机器人的速度或传感器的更新频率)来设置。它对于机器人模型可以是固定的或由机器人零售商设置为出于特定的目的进行优化。在示例中,Τconv被设置为5s。因此,更新630的最大次数等于用秒表示的Τconv乘以用每秒更新次数表示的更新频率。在Τconv=5s并且每秒20次更新的更新频率的示例中,更新630的最大次数是100。

在几何分布定律中,在图320中的每个像素的值取决于在图310中的这个像素的值。如果在图320中的像素的值被限定为VC320并且在图310中的同一像素的值被限定为VC310,则在步骤320中修改值的过程使用以下公式:VC320=Rtemp*(VC310-0.5)+0.5,其中Rtemp比的特征在于几何分布的时间演变。因此,根据Τconv来限定这个Rtemp比,从而使具有0的初始障碍物不存在的概率的障碍物像素需要更新630的最大次数来得到高于障碍物阈值Tsobs的障碍物概率。根据几何分布定律,Rtemp由以下公式给出:

在本发明的其它实施例中,障碍物不存在的概率随着时间推移的演变是线性的。在多个实施例中,还可以通过降低可靠性信息来嵌入障碍物不存在的概率的这个自然演变,除了障碍物不存在的概率以外,该可靠性信息也被添加。

图7显示在本发明的多个实施例中的利用未知概率来进行初始化并利用单个传感器观察来进行更新的传感器族图的示例。

在本发明的多个实施例中,对于第一次更新,利用未知的概率来初始化先前传感器族图310,并且其所有的像素被设置为0.5。因此,步骤320没有效果,并且在其结束时传感器族图在其所有的像素中仍然具有0.5的值。图400表示在用来自一个传感器311的数据更新之后的图330中的一个。在这个示例中,使用距离传感器,如超声传感器190的其中之一。这个传感器观察在表示它的视场的区域中的远处的障碍物。在示例中,视场是圆锥体,并且在每个方向上,它将所观察到的最接近的点认为是障碍物,并且将在传感器和障碍物之间的线中的所有点认为是无障碍物点。有利地,用来自一个传感器331的数据的更新代替像素,其中障碍物由0的障碍物不存在的概率观察,从创建用黑色显示的障碍物像素710。其也代替像素,其中障碍物不存在由1的障碍物不存在的概率观察,从而创建用白色显示的无障碍物像素720。在这个示例中,没有障碍物存在或不存在被观察到的所有像素保持它们先前不存在的概率值0.5。在这个示例中,这些像素是用灰色显示的障碍物未知像素730。

图8a、8b、8c显示在3次连续传感器族图更新过程之后的传感器族图340的示例,其中传感器族图包括单个传感器,其位置是固定的并且其视场旋转。

图8d显示在3次连续更新之后的传感器族图340的示例,其中传感器族图包括与在8a、8b、8c中相同的单个传感器,伴随有在第一和第二传感器族图更新过程之间的传感器的额外转变。

传感器族图800a表示在第一传感器族图更新过程320、330之后的传感器族图340的状态。对于第一传感器族图更新过程,先前的传感器族图310以0.5的障碍物不存在的概率被初始化。在概率更新过程320之后,传感器族图在其所有的像素中仍然具有0.5的障碍物不存在的概率。在步骤330,应用单个传感器观察,并且障碍物不存在或存在被检测到时所处的像素被填充。传感器检测到障碍物像素830a并用0的障碍物不存在的概率对它们进行填充,并且检测到无障碍物像素820a并用1的障碍物不存在的概率对它们进行填充。传感器没有观察到任何东西时所处的所有像素810a保持0.5的障碍物不存在的概率。

传感器族图800b表示在第二传感器族图更新过程320、330之后的传感器族图340的状态。因此对于传感器族图更新过程,传感器族图800a被用作先前传感器族图310。传感器族图过程使所有像素值更接近未知的不存在的概率0.5。因此,在先前观察830b中观察的障碍物像素具有高于0的障碍物不存在的概率,并且在第一观察820b期间观察的无障碍物像素具有低于1的障碍物不存在的概率。此外,来自传感器的第二观察已观察到新障碍物和无障碍物区。因此,障碍物像素840b被填充有0的障碍物不存在的概率,并且无障碍物像素850b被填充有1的障碍物不存在的概率。

传感器族图800c表示在第三传感器族图更新过程320、330之后的传感器族图340的状态。因此对于传感器族图更新过程,传感器族图800b被用作先前传感器族图310。传感器族图过程使所有像素值更接近未知的不存在的概率0.5。因此,在第一观察830c期间观察的障碍物像素具有比像素830b更高的障碍物不存在的概率,并且在第一观察820c期间观察的无障碍物像素具有比像素830c更高的障碍物不存在的概率。同时,在第二观察840c期间观察的障碍物像素具有略高于0的障碍物不存在的概率,并且在第二观察850c期间观察的无障碍物像素具有略低于1的障碍物不存在的概率。此外,来自传感器的第三观察已观察到新障碍物和无障碍物区。因此,障碍物像素870c被填充有0的障碍物不存在的概率,并且无障碍物像素860c被填充有1的障碍物不存在的概率。

传感器族图800d表示在3个传感器族图更新过程之后的传感器族图340的状态,其中传感器也在它的第一和第二观察之间执行转变。在这个图中,无障碍物像素820d、850d和860d具有与在图800c中的无障碍物像素820c、850c和860c相同的障碍物不存在的概率。同时,障碍物像素830d、840d和870d具有与障碍物像素830c、840c和870c相同的障碍物不存在的概率。然而,由于传感器的转变,它在第二和第三观察期间的视场改变。因此,无障碍物像素850d和860d都是被包括在这些新视场中的无障碍物像素。

图9a、9b、9c提供在本发明的多个实施例中的传感器族图的融合的示例。图9a显示包括障碍物像素910a、无障碍物像素920a和具有未知概率的像素930a的第一传感器族图900a。在先前更新期间观察到障碍物和无障碍物像素910a和920a。因此,像素910a的障碍物不存在的概率略高于0,而像素920a的障碍物不存在的概率略低于1。图9b显示第二传感器族图900b。在最新的更新期间观察到障碍物像素920b和无障碍物像素930b。因此,障碍物像素920b具有0的障碍物不存在的概率,而无障碍物像素930b具有1的障碍物不存在的概率。图9c显示在步骤360的步骤900a和900b的融合之后的最终融合结果图900c。有利地,障碍物不存在的概率在至少一个传感器族图中低于阈值Tsobs的像素被认为是障碍物。

在障碍物像素910a和910b中的值都低于Tsobs阈值。因此,在最终融合图900c中的障碍物像素910c包括所有像素910a和910b,其障碍物不存在的概率的值被设置为0。在无障碍物像素920a和920b中的障碍物不存在的概率都高于Tsfree阈值。因此,在融合图900c中的无障碍物像素920c包括所有无障碍物像素920a和920b,除了作为障碍物像素的像素910c以外。在最终融合图900c中的未知像素930c包括在任何传感器族图中既不是障碍物也不是无障碍物像素的所有像素。

在多个实施例中,从图900a和900b逐个像素地对融合图900c进行计算。第一步骤用于创建第一和第二临时或预融合图。在第一预融合图中的每个像素被设置为在要合并的所有传感器族图中的相同像素的最小值,并且在第二预融合图中的每个像素被设置为在要合并的所有传感器族图中的这个像素的最大值。过程随后被应用于第一预融合图以将障碍物与所有像素分隔开:在第一预融合图中的值低于Tsobs的每个像素的值被设置为0,并且在第一预融合图中的所有其它像素的值被设置为1。随后,在融合图中的每个像素的值是在第一和第二预融合图之间的最小值。

用于融合的一般算法是:

*得到每个源的最小值(min)和最大值(max)的两个图。

*求最小值图的阈值以只得到黑和白。

*使用在最大值和已求阈值的最小值图之间的最小值。

这个算法的实施例的示例性伪代码是:创建两个临时图TMPmax和TMPmin。

##最小值最大值步骤

对于TMPmin的每个像素(i,j),TMPmin(i,j)=min(900a(i,j),900b(i,j))

对于TMPmax的每个像素(i,j),TMPmax(i,j)=max(900a(i,j),900b(i,j))

##阈值二进制步骤

然后对于在TMPmin中的每个像素pixel(i,j),

如果TMPmin(i,j)<TSobs,则TMPmin(i,j)=0

否则TMPmin(i,j)=1

##我们在TMPmin中只有黑和白

##最小值步骤

##我们按照下文创建900c:

对于在900c中的每个像素(i,j),

900c(i)=min(TMPmin(i,j),TMPmax(i,j))

这样的逐个像素的计算产生合乎需要的结果。实际上,在要合并的至少一个传感器族图900a、900b中值低于Tsobs的每个像素在第一预融合图中并且从而在融合图900c中具有0的障碍物不存在的概率。不是障碍物像素的所有其它像素在第一预融合图中具有1的概率。它们将因此在合并过程期间从第二预融合图得到它们的值,并且如果在要合并的至少一个传感器族图900a、900b中的这个单元的值高于TSfree,则具有无障碍物单元概率。

以上所述的示例作为本发明的实施例的例示被给出。它们并不以任何方式限制由所附权利要求限定的本发明的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1