HK40012306A - 用於自主導航中的動態路線規劃的系統和方法 - Google Patents
用於自主導航中的動態路線規劃的系統和方法 Download PDFInfo
- Publication number
- HK40012306A HK40012306A HK62020001513.4A HK62020001513A HK40012306A HK 40012306 A HK40012306 A HK 40012306A HK 62020001513 A HK62020001513 A HK 62020001513A HK 40012306 A HK40012306 A HK 40012306A
- Authority
- HK
- Hong Kong
- Prior art keywords
- route
- robot
- pose
- poses
- points
- Prior art date
Links
Description
优先权
本申请要求2016年11月2日提交的具有相同标题的共同拥有且共同未决的美国专利申请第15/341,612号的优先权,所述申请的内容以全文引用的方式并入本文中。
版权
此专利文献的一部分公开内容包含受版权保护的材料。此专利文献的一部分公开内容包含受版权保护的材料。版权所有者不反对任何人对此专利文献或专利公开内容进行传真复制,因为它出现在专利和商标局的专利文件或记录中,但是在其它方面保留所有版权。
技术领域
本申请大体上涉及机器人技术,且更具体来说,涉及用于自主导航中的动态路线规划的系统和方法。
背景技术
机器人导航可能是一个复杂的问题。在一些情况下,机器人可以确定行进路线。举例来说,机器人可以学习用户演示的路线(例如,用户可以沿着路线控制机器人和/或可以上载含有路线的地图)。作为另一个例子,机器人可以基于它对环境的了解(例如,地图)规划它自己在环境中的路线。然而,可能出现的挑战是机器人确定路线之后,环境的特征可能会改变。例如,物品可能会掉落到路线的路径中,和/或环境的一些部分可能会改变。当前机器人可能无法响应于这些改变(例如,堵塞)而对它的规划路径进行实时调整。在此类情形中,当前机器人可能会停止、碰撞到物体,和/或对其路线进行次优调整。因此,需要改进用于自主导航的系统和方法,包含用于动态路线规划的系统和方法。
发明内容
本公开满足上述需要,它特别提供了用于自主导航中的动态路线规划的设备和方法。本文中所描述的实例实施方案具有创新特征,其中每一个创新特征都不是必不可少的或仅负责其期望属性。在不限制权利要求的范围的情况下,现在将概述一些有利特征。
在第一方面,公开一种机器人。在一个示例性实施方案中,机器人包含:一个或多个传感器,其配置成收集关于环境的数据,包含关于环境中的一个或多个物体上的检测点的数据;以及控制器,其配置成:至少部分地基于收集到的数据形成环境的地图;在地图中确定机器人将行进的路线;生成路线上的一个或多个路线位姿,其中每个路线位姿包括指示机器人沿着路线的位姿的印迹,且每个路线位姿中安置有多个点;确定每个路线位姿的多个点中的每一个上的力,所述力包括来自一个或多个物体上的一个或多个检测点的排斥力和来自一个或多个路线位姿中的其它路线位姿上的多个点中的一个或多个的吸引力;响应于一个或多个路线位姿的每个点上的力而重新定位一个或多个路线位姿;以及在一个或多个路线位姿之间执行内插以在一个或多个路线位姿之间生成供机器人行进的无碰撞路径。
在一个变化形式中,一个或多个路线位姿形成机器人沿着路线行进的序列;且内插包括在一个或多个路线位姿中的连续路线位姿之间的线性内插。
在另一变化形式中,内插生成具有大体上类似于每个路线位姿的印迹的印迹的一个或多个内插路线位姿。在另一变化形式中,确定一个或多个路线位姿的每个点上的力另外包括计算至少部分地使每个路线位姿的每个点上的力与环境中的物体的一个或多个特性相关联的力函数。
在另一变化形式中,一个或多个特性包含距离、形状、材料和颜色中的一个或多个。在另一变化形式中,力函数关联第一物体上的第一检测点所施加的零排斥力,其中第一点和第一路线位姿的第二点之间的距离高于预定距离阈值。
在另一变化形式中,每个路线位姿的印迹具有与机器人的印迹大体上类似的大小和形状。
在另一变化形式中,机器人包括地板清洁器。
在第二方面中,公开一种用于机器人的动态导航的方法。在一个示例性实施方案中,方法包含:使用来自一个或多个传感器的数据生成环境的地图;在地图上确定路线,所述路线包含一个或多个路线位姿,每个路线位姿包括至少部分地指示机器人沿着路线的位姿和形状的印迹,且每个路线位姿中安置有多个点;计算环境中的物体上的点对一个或多个路线位姿中的第一路线位姿的多个点的排斥力;至少响应于排斥力而重新定位第一路线位姿;以及在重新定位的第一路线位姿和一个或多个路线位姿中的另一个路线位姿之间执行内插。
在一个变化形式中,确定从一个或多个路线位姿中的另一个路线位姿上的点施加在第一路线位姿的多个点上的吸引力。在另一变化形式中,利用一个或多个传感器检测环境中的多个物体,所述多个物体中的每一个具有检测点;以及定义力函数,所述力函数计算多个物体的每一个检测点施加在第一路线位姿的多个点上的排斥力,其中每个排斥力是向量。
在另一变化形式中,重新定位第一路线位姿包含计算力函数的最小值。
在另一变化形式中,重新定位第一路线位姿包含平移和旋转第一路线位姿。
在另一变化形式中,内插包含:生成具有大体上类似于机器人的形状的印迹的内插路线位姿;以及至少基于经过平移和旋转的第一路线位姿和一个或多个路线位姿中的另一个路线位姿之间的无碰撞路径,确定内插路线位姿的平移和旋转。
在另一变化形式中,方法另外包括在物体上的点在第一路线位姿的印迹外部的情况下,将排斥力的量值计算为与物体上的点和第一路线位姿的多个点中的每一个之间的距离成正比。
在另一变化形式中,在物体上的点在第一路线位姿的印迹内部的情况下,将排斥力的量值计算为与物体上的点和第一路线位姿的多个点中的每一个之间的距离成反比。
在另一变化形式中,方法另外包含计算由于排斥力而施加到第一路线位姿的多个点上的扭力。
在第三方面中,公开一种非暂时性计算机可读存储设备。在一个实施例中,非暂时性计算机可读存储设备上存储有多个指令,所述指令可由处理设备执行以操作机器人。所述指令配置成在由处理设备执行时使处理设备进行以下操作:使用来自一个或多个传感器的数据生成环境的地图;在地图上确定路线,所述路线包含一个或多个路线位姿,每个路线位姿包括至少部分地指示机器人沿着路线的位姿和形状的印迹,且每个路线位姿中安置有多个点;以及计算环境中的物体上的点对一个或多个路线位姿中的第一路线位姿的多个点的排斥力。
在一个变化形式中,所述指令在由处理设备执行时另外使处理设备确定从一个或多个路线位姿中的另一个路线位姿上的点施加在第一路线位姿的多个点上的吸引力。
在另一变化形式中,所述指令在由处理设备执行时另外使处理设备确定从一个或多个路线位姿中的另一个路线位姿上的点施加在第一路线位姿的多个点上的扭力。
本公开的这些和其它目的、特征和特性,以及结构的相关元件的操作方法和功能以及部件的组合和制造经济性将在参考附图考虑以下描述和所附权利要求时变得显而易见,所有这些均形成本说明书的一部分,其中相同的附图标记表示各附图中的对应部分。然而,应该清楚地理解,附图仅用于说明和描述的目的,并不旨在作为本公开的限制的定义。如说明书和权利要求书中所使用的那样,除非上下文另有明确规定,否则单数形式的“一个/一种”、“所述”包含复数指示物。
附图说明
将在下文中结合附图来描述所公开的方面,提供附图是为了说明而不是限制所公开的方面,其中相同符号表示相同元件。
图1说明根据本公开的原理的机器人的示例性主体形式的各个侧面视图。
图2A是根据本公开的一些实施方案的机器人沿着路径行走的俯视图的图。
图2B说明用户在机器人在环境中沿着路线自主行进之前向机器人演示路线的俯视图。
图3是根据本公开的一些原理的机器人的功能框图。
图4A是根据本公开的一些实施方案的说明机器人和障碍物之间的交互的俯视图。
图4B是根据本公开的实施方案的全局层、中间层和局部层的图。
图4C是根据本公开的一些实施方案的用于动态路线规划的示例性方法的过程流程图。
图4D说明根据本公开的一些实施方案的路线位姿以及物体所施加的排斥力的俯视图。
图4E说明根据本公开的一些实施方案的示出路线位姿之间的吸引力的俯视图。
图5是根据本公开的一些实施方案的示出路线位姿之间的内插的图的俯视图。
图6是根据本公开的一些实施方案的用于操作机器人的示例性方法的过程流程图。
图7是根据本公开的一些实施方案的用于操作机器人的示例性方法的过程流程图。
本文公开的所有附图均为Copyright 2017Brain Corporation。版权所有。
具体实施方式
在下文中参考附图更全面地描述了本文公开的新颖系统、设备和方法的各个方面。然而,本公开可以以许多不同的形式表现,并且不应该被解释为限于贯穿本公开内容给出的任何特定结构或功能。相反,提供这些方面是为了使本公开彻底和完整,并且将本公开的范围完全传达给本领域技术人员。基于本文的教导,本领域技术人员应当理解,本公开的范围旨在涵盖本文公开的新颖系统、设备和方法的任何方面,无论是独立于本公开的任何其它方面实施还是与其组合实施。例如,可以使用本文阐述的任何数量的方面来实现设备或者实践方法。另外,本公开的范围旨在涵盖使用其它结构、功能性或补充或不同于本文所阐述的本公开的各个方面的结构和功能性来实践的这种设备或方法。应该理解的是,本文公开的任何方面均可以通过权利要求的一个或多个要素来实现。
尽管本文描述了特定方面,但是这些方面的许多变化和置换在本公开的范围内。尽管提到了优选方面的一些益处和优点,但是本公开的范围并不旨在限于特定的益处、用途和/或目标。详细描述和附图仅是对本公开的说明而不是限制,本公开的范围由所附权利要求及其等同物限定。
本公开提供改进的用于自主导航中的动态路线规划的系统和方法。如本文所使用的,机器人可包含机械实体或虚拟实体,所述机械实体或虚拟实体配置成自动执行一系列复杂的动作。在一些情况下,机器人可以是由计算机程序或电子电路系统引导的机器。在一些情况下,机器人可包含配置用于导航的机电组件,其中机器人可以从一个位置移动到另一个位置。此类导航机器人可包含自动驾驶汽车、地板清洁器、漫游车、无人机、推车等等。
如本文中所提到的,地板清洁器可包含手动控制(例如,驱动或远程控制)和/或自主(例如,几乎不用用户控制)的地板清洁器。例如,地板清洁器可包含清洁工、保管人或其他人操作的地板擦洗器和/或在环境中自主导航和/或清洁的机器人地板擦洗器。类似地,地板清洁器还可包含真空吸尘器、蒸汽机、缓冲器、拖把、抛光机、扫地机、磨光器等。
现在提供对本公开的系统和方法的各种实现方案和变化形式的详细描述。尽管本文所论述的许多实例是在机器人地板清洁器的上下文中,但是应了解,本文所含的所述系统和方法可用于其它机器人。鉴于本公开的内容,本领域普通技术人员将容易地设想本文所述技术的无数其它示例性实施方案或用途。
有利的是,本公开的系统和方法至少:(i)实现自主导航机器人的动态路线规划;(ii)提高在环境中导航的效率,从而可以实现对所用资源(例如,能量、燃料、清洁液等)的改进和/或高效利用;以及(iii)提供可以减少在机器人导航时对处理能力、能量、时间和/或其它资源的消耗的计算效率。鉴于本公开的内容,本领域普通技术人员可以容易地辨别出其它优点。
例如,当前许多可以自主导航的机器人编程成沿着路线和/或路径行走到目标。为了沿着这些路线行走,这些机器人可形成路径规划(例如,全局解决方案)。并且,这些机器人可在它周围的小区域(例如,大约几米)中具有局部计划,其中机器人可以确定它将如何绕过其传感器检测到的障碍物行走(通常是在检测到物体时通过基本命令进行转弯)。接着,机器人可以穿越图案中的空间,并通过例如停止、减速、向左或向右偏转等来避开其传感器检测到的障碍物。然而,在许多当前应用中,此类穿越和避开可能比较复杂,且机器人可能会出现非所要结果(例如,中断或碰撞),和/或无法在更复杂的情形中导航。在一些情况下,此类当前应用还可为计算昂贵的和/或运行缓慢的,使得机器人不能自然运作。
有利的是,使用本文公开的系统和方法,机器人可以偏离它的编程,遵循更高效的路径和/或进行更复杂的调整以避开障碍物。在本文描述的一些实施方案中,此类移动可通过一种更高效、更快速的方式确定,当机器人规划更复杂的路径时,这看起来也更自然。
本领域普通技术人员将理解,如本文中所提到的,机器人可具有数种不同的外观/形式。图1说明根据本公开的原理的机器人的示例性主体形式的各个侧面视图。这些是非限制性实例,意在进一步说明多种主体形式,但并不意在将本文中所描述的机器人限制为任何特定主体形式。例如,主体形式100说明其中机器人是站立式车间真空吸尘器的实例。主体形式102说明其中机器人是具有大体上类似于人体的外观的人形机器人的实例。主体形式104说明其中机器人是具有螺旋桨的无人机的实例。主体形式106说明其中机器人具有带车轮和乘客舱的车辆形状的实例。主体形式108说明其中机器人是漫游机的实例。
主体形式110可以是其中机器人是机动地板擦洗器的实例。主体形式112可以是具有座椅、踏板和方向盘的机动地板擦洗器,其中在主体形式112清洁时,用户可以像车辆那样驾驶主体形式112,但是主体形式112也可以自主操作。另外设想了其它主体形式,包含可以自动化的工业机器,例如叉车、拖船、船、飞机等。
图2A是根据本公开的一些实施方案的机器人202沿着路径206行走的俯视图的图。机器人202可在环境200中自主导航,环境200可包括各种物体208、210、212、218。机器人202可开始于初始位置并结束于结束位置。如所说明,初始位置和结束位置大体上相同,从而示出一个大体上闭合的环路。然而,在其它情况下,初始位置和结束位置可能并不是大体上相同的,从而形成开环。
举例来说,在一些实施方案中,机器人202可以是机器人地板清洁器,例如机器人地板擦洗器、真空吸尘器、蒸汽机、拖把、磨光器、扫地机等等。环境200可以是具有想要清洁的地板的空间。例如,环境200可以是商店、仓库、办公楼、住宅、储存设施等。物体208、210、212、218中的一个或多个可以是货架、显示器、物体、物品、人、动物或可位于地板上或以其它方式阻碍机器人在环境200中导航的能力的任何其它实体或事物。路线206可以是机器人202自主行进的清洁路径。路线206可沿循在物体208、210、212和218之间穿行的路径,如实例路线206所说明。例如,如果物体208、210、212、218是商店里的货架,那么机器人202可以沿着商店的过道前进并清洁过道的地板。然而,还设想了其它路线,例如但不限于沿着开放的地板区域来回穿行的路线和/或用户可以用来清洁地板(例如,在用户手动操作地板清洁器的情况下)的任何清洁路径。在一些情况下,机器人202可多次经过一个部分。因此,路线可自身重叠。因此,路线206仅意图作为说明性实例,且可以与所说明的方式不同的方式呈现。并且,如所说明,示出了环境200的一个实例,但是应了解,环境200可采用任何数目个形式和布置(例如,任何大小、配置和布局的房间或建筑物),且不受本公开的实例图示限制。
在路线206中,机器人202可开始于初始位置,初始位置可以是机器人202的起点。接着,机器人202可以自主沿着路线206进行清洁(例如,几乎不用用户控制),直到它到达结束位置,在那里它可以停止清洁。结束位置可由用户指定和/或由机器人202确定。在一些情况下,结束位置可以是路线206中的某一位置,在这一位置之后,机器人202已经清洁完所需地板区域。如先前描述,路线206可以是闭环或开环。作为说明性实例,结束位置可以是机器人202的存储位置,例如临时停放点、储藏室/壁橱等等。在一些情况下,结束位置可以是训练和/或编程机器人202的任务的用户停止训练和/或编程的点。
在地板清洁器(例如,地板擦洗器、真空清洁器等)的上下文中,机器人202可以在沿着路线206的每个点处进行清洁,也可以不在沿着路线206的每个点处进行清洁。举例来说,如果机器人202是机器人地板擦洗器,那么机器人202的清洁系统(例如,水流、清洁刷等)可以仅在路线206的一些部分中操作,而在路线206的其它部分中不操作。例如,机器人202可使一些动作(例如,转弯、打开/关闭水、喷水、打开/关闭真空吸尘器、移动真空软管方位、挥动臂、抬起/降低升降器、移动传感器、打开/关闭传感器等)与沿着演示路线的特定方位和/或轨迹(例如,当沿着特定方向移动或沿着路线206以特定顺序移动时)相关联。在地板清洁器的上下文中,当地板中仅一些区域要清洁而其它区域不用清洁时和/或在一些轨迹中,此类关联可以是合乎需要的。在这些情况下,机器人202可在用户为机器人202演示要清洁的区域中打开清洁系统,在不用清洁的区域中关闭清洁系统。
图2B说明用户在机器人202在环境200中沿着路线206自主行进之前向机器人202演示路线216的俯视图。在演示路线216时,用户可以在初始位置处启动机器人202。接着,机器人202可以在物体208、210、212、218周围穿行。机器人202可以在结束位置处停止,如先前描述。在一些情况下(且如所说明),自主导航路线206可与演示路线216完全相同。在一些情况下,路线206可能不与路线216完全相同,但是可以大体上类似。例如,当机器人202沿着路线206行走时,机器人202使用它的传感器感测它与它的周围环境的关系。在一些情况下,此类感测可为不精确的,从而可能使得机器人202无法沿着所演示的且机器人202被训练沿循的精确路线行走。在一些情况下,当机器人202沿着路线206自主行走时,环境200的较小改变可能会使机器人202偏离路线216,所述改变例如货架的移动和/或货架上的物品的改变。作为另一实例,如先前描述,机器人202在沿着路线206自主行走时可通过在物体周围转弯、减速等来避开物体。当用户演示路线216时,这些物体可能不存在(且未被避开)。例如,这些物体可能是临时放置和/或暂时性物品,和/或可以是对环境200的暂时性和/或动态改变。作为另一实例,用户可能已经糟糕地演示了路线216。例如,用户可能已经撞到和/或碰到墙壁、货架、物体、障碍物等。作为另一实例,障碍物可能在用户演示路线216时存在,但是当机器人202沿着路线206自主行走时并不存在。在这些情况下,机器人202可在存储器(例如,存储器302)中存储它可以校正的一个或多个动作,例如撞到和/或碰到墙壁、货架、物体、障碍物等。当机器人202之后沿着演示路线216(例如,如路线206)自主行走时,机器人202可以校正此类动作,并且在它自主导航时不执行它们(例如,不撞到和/或碰到墙壁、货架、物体、障碍物等)。通过这种方式,机器人202可以确定沿着例如演示路线的导航路线的至少一部分不进行自主导航。在一些实施方案中,确定沿着导航路线的至少一部分不进行自主导航包含确定何时避开障碍物和/或物体。
如先前所提及,当用户演示路线216时,用户可以打开和关闭机器人202的清洁系统或执行其它动作,以便训练机器人202沿着路线216在何处(例如,在什么方位)和/或沿着什么轨迹进行清洁(随后训练机器人202何时沿着路线206进行自主清洁)。机器人可以在存储器302中记录这些动作,并且之后在自主导航时执行它们。这些动作可包含机器人202可以执行的任何动作,例如转弯、打开/关闭水、喷水、打开/关闭真空吸尘器、移动真空软管位置、挥动手臂、抬起/降低升降机、移动传感器、打开/关闭传感器等。
图3是根据本公开的一些原理的机器人202的功能框图。如图3中所说明,机器人202可包含控制器304、存储器302、用户界面单元308、外感受传感器单元306、本体感受传感器单元310和通信单元312,以及其它组件和子组件(例如,其中的一些可能并未说明)。鉴于本公开的内容,本领域的普通技术人员将容易清楚,尽管在图3中说明了特定实施方案,但是应了解,架构在某些实施方案中可以变化。
控制器304可控制由机器人202执行的各种操作。控制器304可包含一个或多个处理器(例如,微处理器)和其它外围设备。如本文中所使用,处理器、微处理器和/或数字处理器可包含任何类型的数字处理装置,例如但不限于数字信号处理器(“DSP”)、精简指令集计算机(“RISC”)、通用(“CISC”)处理器、微处理器、门阵列(例如,现场可编程门阵列(“FPGA”))、可编程逻辑装置(“PLD”)、可重新配置计算机结构(“RCF”)、阵列处理器、安全微处理器、专用处理器(例如,神经处理器)和专用集成电路(“ASIC”)。此类数字处理器可容纳在单个一体式集成电路裸片上或横跨多个组件分布。
控制器304可以操作方式和/或以通信方式连接到存储器302。存储器302可包含任何类型的集成电路或配置成存储数字数据的其它存储装置,包含但不限于只读存储器(“ROM”)、随机存取存储器(“RAM”)、非易失性随机存取存储器(“NVRAM”)、可编程只读存储器(“PROM”)、电可擦除可编程只读存储器(“EEPROM”)、动态随机存取存储器(“DRAM”)、移动DRAM、同步DRAM(“SDRAM”)、双倍数据速率SDRAM(“DDR/2SDRAM”)、经扩展数据输出(“EDO”)RAM、快页模式RAM(“FPM”)、减小时延DRAM(“RLDRAM”)、静态RAM(“SRAM”)、快闪存储器(例如,NAND/NOR)、忆阻器存储器、伪静态RAM(“PSRAM”)等。存储器302可向控制器304提供指令和数据。例如,存储器302可以是其上存储有多个指令的非暂时性计算机可读存储介质,所述指令可由处理设备(例如,控制器304)执行以操作机器人202。在一些情况下,指令可配置成在由处理设备执行时使处理设备执行本公开中描述的各种方法、特征和/或功能性。因此,控制器304可基于存储在存储器302内的程序指令来执行逻辑和算术运算。
在一些实施方案中,外感受传感器单元306可包括可以检测机器人202内和/或机器人202周围的特性的系统和/或方法。外感受传感器单元306可包括多个传感器和/或传感器的组合。外感受传感器单元306可包含在机器人202内部或外部的传感器,和/或具有部分在内部和/或部分在外部的组件。在一些情况下,外感受传感器单元306可包含外感受传感器,例如声纳、LIDAR、雷达、激光器、相机(包含摄像机、红外相机、3D相机等)、飞行时间(“TOF”)相机、天线、麦克风和/或本领域中已知的任何其它传感器。在一些实施方案中,外感受传感器单元306可收集原始测量结果(例如,电流、电压、电阻、门逻辑等)和/或变换后的测量结果(例如,距离、角度、障碍物中的检测点等)。外感受传感器单元306可至少部分地基于测量结果而生成数据。此类数据可以数据结构形式存储,例如矩阵、阵列等。在一些实施方案中,传感器数据的数据结构可以被称作图像。
在一些实施方案中,本体感受传感器单元310可包含可测量机器人202的内部特性的传感器。例如,本体感受传感器单元310可测量机器人202的温度、功率电平、状态和/或任何其它特性。在一些情况下,本体感受传感器单元310可配置成确定机器人202的里程。例如,本体感受传感器单元310可包含本体感受传感器单元310,其可包括传感器,例如加速度计、惯性测量单元(“IMU”)、里程计、陀螺仪、速度计、相机(例如,使用视觉里程计)、时钟/定时器等等。里程计有助于机器人202的自主导航。此里程计可包含机器人202相对于初始位置的方位(例如,其中方位包含机器人的位置、移位和/或定向,并且有时可与如本文所使用的术语位姿互换)。在一些实施方案中,本体感受传感器单元310可收集原始测量结果(例如,电流、电压、电阻、门逻辑等)和/或变换后的测量结果(例如,距离、角度、障碍物中的检测点等)。此类数据可以数据结构形式存储,例如矩阵、阵列等。在一些实施方案中,传感器数据的数据结构可以被称作图像。
在一些实施方案中,用户界面单元308可配置成使得用户能够与机器人202交互。例如,用户界面308可包含触控面板、按钮、小键盘/键盘、端口(例如,通用串行总线(“USB”)、数字视频接口(“DVI”)、显示器端口、E-Sata、Firewire、PS/2、串行、VGA、SCSI、音频端口、高清多媒体接口(“HDMI”)、个人计算机内存卡国际协会(“PCMCIA”)端口、存储卡端口(例如,安全数字(“SD”)和miniSD)和/或计算机可读媒体的端口)、鼠标、滚球、控制台、振动器、音频转换器和/或供用户输入和/或接收数据和/或命令的任何界面,不管是以无线方式连接还是通过电线连接。用户界面单元308可包含显示器,例如但不限于液晶显示器(“LCD”)、发光二极管(“LED”)显示器、LED LCD显示器、平面内切换(“IPS”)显示器、阴极射线管、等离子显示器、高清(“HD”)面板、4K显示器、视网膜显示器、有机LED显示器、触摸屏、表面、画布和/或任何显示器、电视、监视器、面板和/或本领域中已知的用于视觉呈现的装置。在一些实施方案中,用户界面单元308可定位在机器人202的主体上。在一些实施方案中,用户界面单元308可定位成远离机器人202的主体,但是可以通信方式(例如,通过通信单元,包含传输器、接收器和/或收发器)直接或间接(例如,通过网络、服务器和/或云)连接到机器人202。
在一些实施方案中,通信单元312可包含一个或多个接收器、传输器和/或收发器。通信单元312可配置成发送/接收传输协议,例如Wi-Fi、感应无线数据传输、射频、无线电传输、射频标识(“RFID”)、近场通信(“NFC”)、红外、网络接口、例如3G(3GPP/3GPP2)的蜂窝技术、高速下行链路包接入(“HSDPA”)、高速上行链路包接入(“HSUPA”)、时分多址(“TDMA”)、码分多址(“CDMA”)(例如,IS-95A、宽带码分多址(“WCDMA”)等)、跳频扩频(“FHSS”)、直接序列扩频(“DSSS”)、全球移动通信系统(“GSM”)、个人局域网(“PAN”)(例如,PAN/802.15)、全球微波接入互操作性(“WiMAX”)、802.20、长期演进(“LTE”)(例如,LTE/LTE-A)、时分LTE(“TD-LTE”)、全球移动通信系统(“GSM”)、窄带/频分多址(“FDMA”)、正交频分复用(“OFDM”)、模拟蜂窝、蜂窝数字包数据(“CDPD”)、卫星系统、毫米波或微波系统、声学、红外(例如,红外数据协会(“IrDA”)),和/或任何其它形式的无线数据传输。
如本文中所使用,网络接口可包含具有组件、网络或过程的任何信号、数据或软件接口,包含但不限于那些火线(例如,FW400、FW800、FWS800T、FWS1600、FWS3200等)、通用串行总线(“USB”)(例如,USB 1.X、USB 2.0、USB 3.0、USB C型等)、以太网(例如,10/100、10/100/1000(千兆以太网)、10-Gig-E等)、同轴电缆多媒体联盟技术(“MoCA”)、Coaxsys(例如,TVNETTM)、射频调谐器(例如,带内或OOB、电缆调制解调器等)、Wi-Fi(802.11)、WiMAX(例如,WiMAX(802.16))、PAN(例如,PAN/802.15)、蜂窝(例如,3G、LTE/LTE-A/TD-LTE/TD-LTE、GSM等)、IrDA系列等。如本文中所使用,Wi-Fi可包含以下中的一个或多个:IEEE-Std.802.11、IEEE-Std.802.11的变化形式、与IEEE-Std.802.11相关的标准(例如,802.11a/b/g/n/ac/ad/af/ah/ai/aj/aq/ax/ay),和/或其它无线标准。
通信单元312还可配置成通过有线连接发送/接收传输协议,所述有线连接例如具有信号线路和接地的任何电缆。例如,此类电缆可包含以太网电缆、同轴电缆、通用串行总线(“USB”)、火线和/或本领域中已知的任何连接。此类协议可供通信单元312使用以与外部系统通信,例如计算机、智能电话、平板电脑、数据捕获系统、移动电信网络、云、服务器等等。通信单元312可配置成发送和接收信号,所述信号包括数字、字母、字母数字字符和/或符号。在一些情况下,信号可以使用例如128位或256位密钥的算法和/或遵守各标准的其它加密算法进行加密,所述标准例如高级加密标准(“AES”)、RSA、数据加密标准(“DES”)、三重DES等等。通信单元312可配置成发送和接收状态、命令和其它数据/信息。例如,通信单元312可与用户操作者通信以允许用户控制机器人202。通信单元312可与服务器/网络通信,以便允许机器人202向服务器发送数据、状态、命令和其它通信。服务器还可以通信方式连接到可用于远程监测和/或控制机器人202的计算机和/或装置。通信单元312还可从机器人202的服务器接收更新(例如,固件或数据更新)、数据、状态、命令和其它通信。
在一些实施方案中,组件和/或子组件中的一个可从机器人202远程实例化。例如,绘图和定位单元262可通过通信单元312定位在云中和/或连接到机器人202。连接可以是直接的和/或通过服务器和/或网络。因此,本公开的功能性的实施方案还应该被理解为包含远程交互,其中数据可以使用通信单元312传送,且过程的一个或多个部分可以远程完成。
图4A是根据本公开的一些实施方案的说明机器人202和障碍物402之间的交互的俯视图。在沿着路线216行走时,机器人202可能会遇到障碍物402。障碍物402可阻碍机器人202的路径,所述路径被说明为路线部分404。如果机器人要继续沿循路线部分404,那么它可能会碰撞到障碍物402。然而,在一些情况下,使用外感受传感器单元306和/或本体感受传感器单元310,机器人202可以在碰撞到障碍物402之前停止。
与障碍物402的这一交互说明了根据本公开的实施方案的优点。图4B是根据本公开的实施方案的全局层406、中间层408和局部层410的图。全局层406、中间层408和局部层410可以是在存储器302和/或控制器304中的一个或多个中实例化的硬件和/或软件层。全局层406可包含实施全局绘图和选路的软件和/或硬件。例如,高级绘图可包含环境200的地图。地图还可包含路线216的表示,其允许机器人202在环境200中的空间中导航。
在一些实施方案中,全局层406可包含全局规划器。通过这种方式,全局层406可确定以下中的一个或多个:机器人202的位置(例如,呈例如二维坐标、三维坐标、四维坐标等全局坐标形式);机器人202应该采用以到达它的目标的路径;和/或较高级(例如,远程)规划。通过这种方式,机器人202可确定它从一个位置行进到另一位置的一般路径和/或方向。
局部层410包含实施局部规划的软件和/或硬件。例如,局部层410可包含配置成控制局部运动约束的短程规划。局部层410可处理从外感受传感器单元306接收的数据,并确定靠近机器人202的障碍物和/或物体的存在和/或定位。例如,如果物体在外感受传感器单元306的传感器(例如,LIDAR、声纳、相机等)的范围内,那么机器人202可检测到物体。局部层410可计算和/或控制在物体周围行走的运动功能,例如通过控制致动器转弯、向前移动、反向移动等。在一些情况下,局部层410中的处理可以是计算密集的。例如,局部层410可从外感受传感器单元306和/或本体感受传感器单元310的传感器接收数据。接着,局部层410可确定运动功能,以避开外感受传感器单元306检测到的物体(例如,使用电机向左和向右转动驾驶杆,和/或使用电机向前推动机器人)。局部层410和全局层406的相互作用可允许机器人202进行局部调整,同时仍然大体上沿着路线移动到它的目标。
然而,在一些情况下,可能需要以比通过全局层406计算的水平更高的水平进行调整,但不是以局部层410的精确运动功能的计算密集水平进行调整。因此,中间层408可包含在机器人202绕过物体行走时可确定机器人202的中间调整的硬件和/或软件。
在中间层408中,机器人202可规划如何在其环境中避开物体和/或障碍物。在一些情况下,中间层408可以利用全局层406的全局路径规划器初始化为至少具有局部路径和/或路线。
因为物体(例如,障碍物、墙壁等)具有机器人202可能会碰撞到的事物,所以物体和/或障碍物可能会对机器人202产生排斥力。在一些情况下,通过物体排斥机器人202,机器人202可以沿着无碰撞路径绕过那些物体和/或障碍物行走。
图4C是根据本公开的一些实施方案的用于动态路线规划的示例性方法450的过程流程图。在一些实施方案中,方法450可由中间层408和/或由控制器304执行。框452可包含获得含有一个或多个路线位姿的路线。在一些情况下,此路线可由机器人202形成和/或上载到机器人202上。在一些情况下,路线可从全局层406传递到中间层408。框454可包含选择第一路线位姿。框456可包含针对第一路线位姿,确定来自环境中的物体的排斥力。框458可包含针对第一路线位姿,确定来自其它路线位姿的吸引力。框460可包含确定由排斥力和吸引力所致的第一路线位姿的平移和/或旋转。框462可包含考虑到经过平移和/或旋转的路线位姿而执行内插。将贯穿本公开说明这个过程和其它过程。
举例来说,图4D说明根据本公开的一些实施方案的路线位姿414和416。以及物体所施加的排斥力。例如,路线上的点可以是沿着路径的分散位置,例如路线位姿,它说明机器人202在其整个路线中的位姿。在一些情况下,此类分散位置还可具有相关联的概率,例如粒子或气泡。路线位姿可识别机器人202将沿着路线行进的方位和/或定向。在平面应用中,路线位姿可包含(x,y,θ)坐标。在一些情况下,θ可以是平面中机器人的前进方向。路线位姿可以沿着机器人202的路线规则地或不规则地间隔开。在一些情况下,中间层可从全局层406获得含有一个或多个路线位姿的路线,如方法450的框452中所描述。在一些实施方案中,路线位姿可形成序列,其中机器人202沿着路线在连续路线位姿之间行进。例如,路线位姿414和416可为机器人202行进到路线位姿414然后行进到路线位姿416的路线位姿序列。
举例来说,路线位姿414和416说明沿着路线部分404的分散位置。此说明性实例示出形状像机器人202一样的具有大体上类似的印迹的路线位姿414和416。路线位姿414和416的印迹的大小可依据人们预期机器人碰撞的保守程度进行调整。碰撞的可能性越高,可存在越小的印迹,但是此类更小的印迹可允许机器人202远离比它在自主导航时应该能够远离的区域更多的区域。较大的印迹可降低碰撞的可能性,但是机器人202将无法自主通过它原本能够通过的一些地方。印迹可以通过设置机器人202的印迹大小(例如,尺寸)的印迹参数预定,如路线位姿(例如,路线位姿414和416)中所说明。在一些情况下,可存在多个不对称地控制机器人202的路线位姿的大小的印迹参数。
在图4D中,尽管说明和描述了路线位姿414和416,但是本领的普通技术人员应了解,在整个路线中可存在任何数目个路线位姿,且本公开的实施方案的描述可适用于那些路线位姿。有利的是,使路线位姿414和416的形状类似于机器人202(例如,机器人202的印迹)可使得机器人202能够确定它在行进时能够适合的地方。印迹参数可用于调整机器人202如何投射自身。例如,用于路线位姿414和/或416的较大印迹可为更加保守的,因为它可至少部分地致使机器人202行进得更加远离物体。相比之下,更小的印迹可至少部分地致使机器人202行进得更接近物体。路线位姿(例如,路线位姿414和416)可具有彼此不同的大小。举例来说,可能需要机器人202在某些情形中更加保守,例如在转弯处。因此,在此图示中,路线位姿在转弯处的印迹可以大于路线位姿在直路上的印迹。路线位姿的这种动态重整形可通过使路线位姿的大小取决于路线位姿相对于其它路线位姿的旋转或路线位姿的平移和/或旋转的改变来执行。路线上的路线位姿中的一个或多个(例如,路线位姿414和/或416)还可以是除机器人202的形状以外的不同形状。例如,路线位姿可以是圆形的、方形的、三角形的和/或任何其它形状。
如方法450的框454中所描述,可将路线位姿414或416视为第一路线位姿。然而,出于说明的目的,且为了说明本公开的所述实施方案的广度,路线位姿414和416将一起描述。
沿着物体的点(例如,通过绘图、通过由外感受传感器单元306的传感器检测等确定的点)可向机器人202的路线位姿(例如,路线位姿414和416)施加排斥力。通过这种方式,物体可在概念上防止机器人202碰撞到它们。在一些情况下,这些点可至少部分地表示位姿和/或多组位姿。例如,箭头412说明来自沿着物体210的点的排斥力。
在一些实施方案中,通过物体的点施加的力可以是均匀的,因为路线位姿414和416上的每个点上可具有大体上类似的力施加。然而,在其它实施方案中,物体的点施加在路线位姿414和416上的力可能并不是均匀的,并且可基于力函数而变化。
举例来说,在一些情况下,力函数(例如,排斥力函数)可至少部分地确定物体施加在路线位姿414或416上的点上的排斥力。例如,在方法450的框456中,可使用力函数确定来自环境中的物体针对第一路线位姿(例如,路线位姿414和416的第一路线位姿)的排斥力。在一些实施方案中,力函数可取决于物体相对于路线位姿414和416呈现的特性。接着,力函数可表示路线位姿414和416上的点(例如,在路线位姿414和416的表面上的一个或多个点、路线位姿414和416的中心、路线位姿414和416的质量中心,和/或路线位姿414和416的任一点和/或其周围的任一点)所经受的力。因为力可取决于它们的方向和量值,所以排斥力(和/或吸引力)可以是向量。在一些情况下,排斥力可向路线位姿施加旋转力,这可显示为扭力。
例如,排斥力和扭力可在沿着路径的n个不同位姿处计算。在一些情况下,这n个不同位姿可与路线位姿相关联。每个位姿可由印迹中的m个点组成。在一些情况下,这m个点可以是路线位姿上的点。
在一些情况下,多个点可限定机器人202的主体,如路线位姿414和416中所反映,从而提供对机器人202的一部分主体和/或机器人202的大体上整个主体的代表性覆盖。例如,15到20个点可以分布在机器人202的整个表面和/或内部中,并在路线位姿414和416中反映。然而,在一些情况下,可存在更少的点。图4F说明路线位姿414上的实例点,例如点418。每个点可至少部分地经受由路线位姿414的周围环境中的物体施加在它上面的力(例如,排斥力)。
有利的是,通过在路线位姿414和416的主体上具有可经受力的多个点,路线位姿414和416的点可相对于彼此平移和/或旋转,从而至少部分地使得路线位姿414和416重新定位(例如,平移和/或旋转)。路线位姿414和416的这些平移和/或旋转可导致机器人202的导航路线变形。
当路线位姿上的不同点经受不同量值和方向的力时,可出现扭力。因此,扭力可致使路线位姿旋转。在一些情况下,预定参数可至少部分地限定路线位姿414和416所经受的扭力。例如,预定扭力参数可包含针对路线位姿414或416上的点所经受的旋转力的乘数。此预定扭力参数可指示由路线位姿414或416和路径的未对准所致的力。在一些情况下,预定扭力参数可基于力是排斥性的还是内聚性的而变化。
返回到图4D,力函数所部分依据的特性可以是物体上的点相对于路线位姿414和416的方位。距离可至少部分地基于外感受传感器单元306的传感器而确定。作为第一实例,从在机器人202外部(例如,不在路线位姿414和416的印迹内,例如障碍物210和212上的点,如所说明)的物体上的点施加到路线位姿414和416上的排斥力可至少部分地由函数r(d)∝1/d表征,其中r是物体上的点的排斥力,d是物体上的点和路线位姿414或路线位姿416上的点之间的距离。通过这种方式,物体上的点的排斥力与物体上的点和路线位姿414或路线位姿416上的点之间的距离成反比。有利的是,相比于更远的物体,此函数允许接近路线位姿414和416的物体施加更大的排斥力,从而可能更强烈地影响机器人202的路线以免碰撞。
在一些情况下,预定排斥距离阈值可为路线位姿414和路线位姿416上的点和物体上的点之间的距离。此预定排斥性距离阈值可至少部分地指示路线位姿414或路线位姿416上的点和物体上的点之间的最大距离,其中物体上的点可对路线位姿414或416上的点施加排斥力(和/或扭力)。因此,当物体上的点例如与路线位姿414或路线位姿416上的点相隔的距离高于(或等于和/或高于,这取决于阈值的定义)阈值时,排斥力和/或扭力可为零或大体上为零。有利的是,在一些情况下,具有预定排斥性距离阈值可防止物体上的一些点对路线位姿414和416上的点施加力。通过这种方式,当存在预定排斥距离时,机器人202可以更接近某些物体和/或不受更远物体的影响。
作为第二实例,从在路线位姿414和416的内部(例如,在路线位姿414和416的印迹内))的点向路线位姿414和416施加排斥力。例如,物体402具有在路线位姿416内部出现的部分420。在这些情况下,可通过部分420中的物体402的点将不同力函数施加到部分420中的路线位姿416的点上。在一些实施方案中,这个力可至少部分地由函数r(d)∝d表征,其中变量如上文所描述。有利的是,通过针对内部物体限定不同的力函数,路线位姿416可不对称地移动,从而产生旋转。
在一些实施方案中,力函数还可取决于物体的其它特性,例如物体的形状、材料、颜色和/或任何其它特性。这些特性可根据本领域中已知的方法通过外感受传感器306中的一个或多个传感器确定。有利的是,考虑到特性可另外表明机器人202应该如何绕过物体行走。在一些情况下,基于这些特性,可使用成本地图来计算额外排斥力值。
例如,物体的形状可至少部分地指示相关联的碰撞影响。举例来说,人形形状可以指示人。因而,检测到具有此形状的物体可对路线位姿414和416产生更大的排斥力,以便将路径推动得更远离人形形状。作为另一实例,如果出现碰撞,那么物体的形状可部分地指示增加的损坏(例如,针对物体或机器人202)。举例来说,尖头物体、瘦削物体、不规则物体、预定形状(例如,花瓶、灯、显示器等)和/或任何其它形状可至少部分地指示产生了增加的损坏。大小可为可以考虑的另一形状特性。例如,较小的物体在碰撞的情况下可能更易碎,而较大的物体可对机器人202造成更大损坏。在大小的情况下,力函数可考虑物体的大小,使得那些物体上的点视需要成比例地排斥路线位姿414和416上的点。举例来说,如果路线位姿414在较大物体和较小物体之间,如果较大物体的点具有如至少部分地基于力函数所限定的相对较大排斥力,那么路线位姿414将被推动得相对更接近较小物体。如果较小物体的点具有如至少部分地基于力函数所限定的相对较大排斥力,那么路线位姿414将被推动得相对更接近较大物体。因此,对路线位姿414和416的排斥力可至少部分地基于形状进行调整。形状可至少部分地通过外感受传感器单元306的传感器检测。作为另一说明性实例,可以在成本地图中识别墙壁,并且排斥力可因为墙壁的大小和形状而与墙壁相关联。
在一些实施方案中,力函数还可取决于物体的材料。例如,如果出现碰撞,那么某些材料可至少部分地指示更多损坏。举例来说,玻璃、瓷、镜子和/或其它易碎材料可证明在发生碰撞的情况下更易损坏。在一些情况下,例如在镜子的情况下,材料有时会引起外感受传感器单元306的传感器出现误差。因此,在一些情况下,可能需要将机器人202导航成离这些物体更远,这可在力函数中反映(例如,相较于其它材料,增大由一些材料制成的物体上的点施加的排斥力力)。
在一些实施方案中,可通过外感受传感器单元306的传感器检测颜色。力函数可至少部分地取决于物体和/或物体上的点的颜色。例如,环境中的特定物体可能具有特定颜色(例如,红色、黄色等),以至少部分地指示机器人202(或在一些情况下,人们)应该小心对待那些物体。因此,在一些情况下,可能需要将机器人202导航成离这些物体更远,这可在力函数中反映。
在一些实施方案中,力函数可取决于其它因素,例如物体的位置。例如,(例如,如从全局层406传递的)地图的某些区域可具有特性。举例来说,地图(例如,成本地图)的一些区域可以是机器人202不应通过的区域。还可能存在机器人202无法进入的地方,因为这些地方无法进入(例如进入物体中)。因此,在一些情况下,力函数可在考虑到这些地方的情况下调整。在一些实施方案中,力函数可使那些地方中的点不向路线位姿414和416上的点施加力(或大体上不施加力)。有利的是,没有力可反映机器人202无法前往的区域(例如,物体内部等等)。相比之下,在一些实施方案中,这些地方可被视为障碍物,从而向路线位姿414和416施加排斥力。有利的是,具有此类排斥力可阻止机器人202试图进入此类区域。
在一些实施方案中,并非路线位姿414和416上的所有力都是排斥性的。例如,路线位姿(例如,路线位姿414和416)上的点可施加吸引(例如,内聚)力,这可至少部分地将路线位姿拉向彼此。图4E说明根据本公开的一些实施方案的路线位姿414和416之间的吸引力。箭头至少部分地指示路线位姿沿着路线部分404被拉向彼此。有利的是,路线位姿之间的内聚力可至少部分地使机器人202沿循大体上类似于全局层406所规划的路径的路径(例如,大体上类似于原始路线的路线,例如在不存在要绕开行走的物体的情况下机器人202应该沿循的最初演示路线)。
内聚力可通过力函数(例如,内聚力函数)设置,所述力函数可取决于路径的特性,例如路线位姿/粒子之间的间隔距离、路径的平滑度、对机器人202沿循路径的希望程度等。在一些情况下,内聚力函数可至少部分地基于预定内聚力乘数,其可至少部分地确定将路线位姿拉到一起的力。较低的预定内聚力乘数可减小路线部分404的内聚强度(例如,将路线位姿吸向它的吸力),并且在一些情况下,可能会导致机器人202的行进路径丧失平滑度。在一些情况下,仅连续路线位姿向彼此的点施加内聚力。在其它情况下,所有路线位姿都向彼此施加内聚力。在又其它情况中,一些路线位姿向其它路线位姿施加内聚力。确定哪些路线位姿配置成向彼此施加内聚力可取决于数个因素,这些因素可根据具体情况而变化。例如,如果路线是圆形的,那么可能需要所有路线位姿向彼此施加内聚力以便紧固圆圈。作为另一实例,如果路线是复杂的,那么某些复杂路径可能只需要使连续路线位姿向彼此施加内聚力。此限制可允许机器人202进行更多转弯和/或具有更多可预测结果,因为其它定位路线位姿不会过度地影响它。关于复杂性的前述实例之间的实例可使路线位姿中的一些施加内聚力。作为另一实例,路线位姿的数目也可能是一个因素。如果路线上的大量路线位姿全都对彼此施加内聚力,那么它们可能会产生非预期结果。如果存在更少的路线位姿,那么这可能不是问题,且路线位姿中的所有或一些可以施加力。在一些情况下,可存在预定内聚力距离阈值,其中如果第一路线位姿上的点与第二路线位姿上的点相隔的距离大于预定内聚力距离阈值(或大于等于,这取决于阈值是如何定义的),那么内聚力可为零或大体上为零。
在一些实施方案中,内聚力函数和排斥力函数可以是相同的力函数。在其它实施方案中,内聚力函数和排斥力函数是不同的。根据方法450的框458,内聚力函数可用于确定来自其它路线位姿的吸引力。在一些实施方案中,内聚力和排斥力均可产生路线位姿的扭力(例如,使路线位姿旋转)。
如参考中间层408所描述,路线位姿414和416可经受不同的吸引力和排斥力。在一些实施方案中,力可以阵列形式存储。例如,可存在指示排斥力、扭力、内聚力等的力阵列。
在一些情况下,力可以例如通过使用开/关参数切换,所述开/关参数可打开或关闭来自某个点的任一个力和/或任一组力。例如,开/关参数可以是二进制的,其中一个值打开力,且另一个值关闭力。通过这种方式,一些力可以关闭,例如基于物体与路线位姿相隔的距离,点是否在物体或禁行区域内部,路线位姿之间的距离等等。
为了平衡,路线位姿414和416上的净力可重新定位路线位姿414和416中的一个或多个。例如,路线位姿414和416可进行移位。路线位姿414和416可进行移位(例如,平移和/或旋转),直到它们在任何方向上的净力大体上为零和/或最小化为止。通过这种方式,路线位姿414和416可以移位到至少部分地指示供机器人202行进以避开物体(例如,障碍物402)的调整路线的位置。由排斥力和吸引力所致的路线位姿的平移和/或旋转可根据方法450的框460确定。
可进行不同调整以确定路线位姿414和416的移位。例如,在一些情况下,可以只考虑吸引力,而不是考虑路线位姿414和416上的所有力。有利的是,这种系统可允许机器人202一直沿着固定的路径。至少部分地基于路线位姿414和416的移位,机器人202可为路线规划器设置新路径。在新路径中,当机器人202沿着路径行进时,轨迹可表示机器人202上的点,例如机器人202的中心。
在机器人202确定路线位姿414和416的移位之后,机器人202可确定行进路径。例如,基于路线位姿414和416的方位(例如,位置和/或定向),机器人202可确定从它现在位置行走到路线位姿414和416和/或任何其它路线位姿和/或它们之间的路径。在一些情况下,机器人202将依序在相连(例如,连续)路线位姿之间行进,从而至少部分地限定路径。例如,考虑到机器人202可在那些点之间行进的路径,此确定可至少部分地基于路线位姿之间的内插。在许多情况下,可使用线性内插。根据方法450中的框462,通过使用执行内插,机器人202可以考虑到经过平移和/或旋转的路线位姿。
图5是根据本公开的一些实施方案的示出路线位姿414和416之间的内插的图的俯视图。如本文所描述,基于施加在路线位姿414和416上的力,路线位姿414和416出现移位。如所说明,路线位姿414同时出现平移和旋转。平移可以标准单位和/或相对/非绝对单位来测量,所述标准单位例如英寸、英尺、米或任何其它测量单位(例如,公制、美制或其它测量系统),所述相对/非绝对单位例如滴答计数、像素、传感器的范围的百分比等等。旋转可以度、弧度等为单位来测量。类似地,路线位姿416同样已经平移和/或旋转。值得注意的是,路线位姿414和416均远离障碍物402。因为路线位姿414和416表示沿着机器人202行进的路径的分散位置,所以机器人202可在它们之间内插以确定它应该采取的路径。内插的位姿502A-502D说明在路线位姿414和416之间行进的路径。值得注意的是,机器人202还可内插其它路径(未说明),以移动到路线位姿和/或路线位姿之间。
内插的位姿502A-502D可具有相关联的大体上类似于路线位姿414和416中的一个或多个的印迹的印迹。在一些情况下,如图5中所说明,内插的位姿502A-502D可以是内插的路线位姿。因此,内插的位姿502A-502D可表示机器人202将沿着路线的方位和/或定向。有利的是,这可允许内插的路径将机器人202引导到机器人202适合的地方。此外,可确定内插的位姿502A-502D,使得内插位姿502-502D中的任一个的印迹和物体(例如,障碍物402、物体210或物体212)之间不存在重叠,从而避开碰撞。
还可考虑到从路线位姿414变成路线位姿416的旋转和/或平移而确定内插的位姿502A-502D。例如,机器人202可确定路线位姿414的位姿和路线位姿416的位姿。接着,机器人202可查找路线位姿414和路线位姿416的位姿之间的差异,然后确定如何从路线位姿414的位姿变成路线位姿416的位姿。例如,机器人202可在内插的位姿502A-502D之间分配旋转和平移,使得机器人202将从路线位姿414旋转和平移到路线位姿416。在一些情况下,机器人202可在内插的位姿502A-502D之间大体上相等地分配旋转和平移。例如,如果存在N个内插方位,那么机器人202可在那些N个内插方位中大体上均匀地划分路线位姿414和416的位姿的位置和旋转的差异。可替换地,机器人202可在那些N个内插方位中不均匀地划分路线位姿414和416的位姿的位置和/或旋转的差异。有利的是,均匀划分可允许机器人202从路线位姿414平滑地行进到路线位姿416。然而,不均匀划分可使得机器人202能够通过在一些区域中移动得比其它区域中更加细微而更轻易地顾及到并避开物体。例如,为了避开内插的位姿502A-502D靠近的物体,机器人202将不得不进行急转弯。因此,考虑到所述转弯,可能需要更多围绕所述转弯的内插位姿。在一些情况下,内插方位的数目可以是动态的,且可按需要使用比N个更多或更少的数目个内插方位。
图6是根据本公开的一些实施方案的用于操作机器人的示例性方法600的过程流程图。框602包含至少部分地基于收集到的数据形成环境的地图。框604包含在地图中确定机器人将行进的路线。框606包含生成路线上的一个或多个路线位姿,其中每个路线位姿包括指示机器人沿着路线的位姿的印迹,且每个路线位姿中具有多个点。框608包含确定每个路线位姿的多个点中的每一个上的力,所述力包括来自一个或多个物体上的一个或多个检测点的排斥力和来自一个或多个路线位姿中的其它路线位姿上的多个点中的一个或多个的吸引力。框610包含响应于每个路线位姿的每个点上的力而重新定位每个路线位姿。框612包含在一个或多个重新定位的路线位姿之间执行内插以在一个或多个路线位姿之间生成供机器人行进的无碰撞路径。
图7是根据本公开的一些实施方案的用于操作机器人的示例性方法700的过程流程图。框702包含使用来自一个或多个传感器的数据生成环境的地图。框704包含在地图上确定路线,所述路线包含一个或多个路线位姿,每个路线位姿包括至少部分地指示机器人沿着路线的位姿、大小和形状的印迹,且每个路线位姿中具有多个点。框706包含计算环境中的物体上的点对一个或多个路线位姿中的第一路线位姿的多个点的排斥力。框708包含至少响应于排斥力而重新定位第一路线位姿。框710包含在重新定位的第一路线位姿和一个或多个路线位姿中的另一个路线位姿之间执行内插。
如本文所使用,计算机和/或计算装置可包含但不限于个人计算机(“PC”)和小型计算机,无论是台式计算机、膝上型计算机还是其它,大型计算机、工作站、服务器、个人数字助理(“PDA”)、手持式计算机、嵌入式计算机、可编程逻辑装置、个人通信器、平板计算机、移动装置、便携式导航装置、配备J2ME的装置、蜂窝电话、智能电话、个人集成通信或娱乐装置,和/或任何其它能够执行一组指令并处理输入数据信号的装置。
如本文所使用,计算机程序和/或软件可包含执行功能的任何序列或人或机器可识别的步骤。这样的计算机程序和/或软件可以用任何编程语言或环境来呈现,所述编程语言包含例如C/C++、C#、Fortran、COBOL、MATLABTM、PASCAL、Python、汇编语言、标记语言(例如,HTML、SGML、XML和VoXML)等,以及面向对象的环境,例如公共对象请求代理体系结构(“CORBA”)、JAVATM(包含J2ME、Java Bean等)、二进制运行时环境(例如,BREW)等。
如本文所使用,连接、链路、传输信道、延迟线和/或无线可包含任何两个或更多个实体(无论是物理的还是逻辑的/虚拟的)之间的因果链接,所述链接实现实体之间的信息交换。
将认识到,虽然根据方法的特定步骤顺序描述了本公开的某些方面,但是这些描述仅是本公开的更广泛方法的说明,并且可以根据特定应用的需要进行修改。在某些情况下,某些步骤可能变得不必要或可选。另外,可以将某些步骤或功能性添加到所公开的实施方案,或者改变两个或更多个步骤的执行次序。所有这些变化都被认为涵盖在本文公开和要求保护的公开内容内。
虽然以上详细描述已经示出、描述并指出了应用于各种实施方案的本公开的新颖特征,但是应当理解,在不脱离本公开的情况下,本领域技术人员可以对所示装置或过程的形式和细节进行各种省略、替换和改变。前面的描述是目前设想的实现本公开的最佳模式。该描述绝不意味着限制,而是应当视为对本公开的一般原理的说明。应该参考权利要求确定本公开的范围。
虽然已经在图式和上述描述中详细说明并描述了公开内容,但是此类说明和描述应该视为说明性或示例性的而不是限制性的。本公开不限于所公开的实施例。通过研究附图、公开内容和所附权利要求,本领域技术人员在实践要求保护的公开内容时可以理解和实现所公开实施例的变型。
应当注意,在描述本公开的某些特征或方面时使用特定术语不应被视为暗示本文中重新定义术语以将其限制为包含与该术语相关联的本公开的特征或方面的任何特定特征。除非另有明确说明,否则本申请中使用的术语和短语及其变型,尤其是所附权利要求中的术语和短语及其变型,应被解释为开放式的而非限制性的。作为上述内容的实例,术语“包含”应理解为“包含且不限于”、“包含但不限于”等等;如本文所使用的术语“包括”与“包含”、“含有”或“特征在于”同义,且是包含性或开放式的,并不排除额外的、未列出的元件或方法步骤;术语“具有”应理解为“至少具有”;术语“例如”应理解为“例如且不限于”;术语“包含”应理解为“包含但不限于”;术语“实例”用于在论述时提供物品的示例性实例,而不是物品的穷举性或限制性列表,并且应理解为“例如但不限于”;例如“熟知的”、“通常的”、“标准的”的形容词和具有类似含义的术语不应被理解为将所描述的物品限于给定时间段或限于截至给定时间可用的物品,而是应理解为涵盖现在或在将来的任何时间可为可用的或熟知的、通常的或标准的技术;以及如“优选地”、“优选的”、“期望”或“合乎需要的”的术语及具有类似含义的词语的使用不应理解为暗示某些特征对于本公开的结构或功能来说是关键的、必不可少的或甚至是至关重要的,而是仅仅旨在突显可以用于也可以不用于特定实施例的替代方案或额外特征。同样地,除非另外明确陈述,否则用连接词“和”连在一起的一组物品不应被理解为要求那些物品中的每个物品都存在于所述分组中,而是应被理解为“和/或”。类似地,除非另外明确陈述,否则用连接词“或”连在一起的一组物品不应被理解为在那一群组中需要相互排斥,而是应被理解为“和/或”。术语“约”或“大致”等等是同义的,且用于指示由所述术语修饰的值具有与其相关联的理解范围,其中所述范围可以是±20%、±15%、±10%、±5%或±1%。术语“大体上”用于指示结果(例如,测量值)接近目标值,其中接近可意味着例如结果在值的80%内、值的90%内、值的95%内或值的99%内。并且,如本文所使用,“定义”或“确定”可包含“预定义”或“预定”和/或以其它方式确定的值、条件、阈值、测量结果等等。
Claims (20)
1.一种其上存储有多个指令的非暂时性计算机可读存储设备,所述指令可由处理设备执行以操作机器人,所述指令配置成在由所述处理设备执行时使所述处理设备进行以下操作:
使用来自一个或多个传感器的数据生成环境的地图;
在所述地图上确定路线,所述路线包括一个或多个路线位姿,每个路线位姿包括至少部分地指示所述机器人沿着所述路线的位姿和形状的印迹,且
每个路线位姿中安置有多个点;以及
计算所述环境中的物体上的点对所述一个或多个路线位姿中的第一路线位姿的所述多个点的排斥力。
2.根据权利要求1所述的非暂时性计算机可读存储设备,另外包括一个或多个指令,所述指令在由所述处理设备执行时另外使所述处理设备确定从所述一个或多个路线位姿中的另一个路线位姿上的点施加在所述第一路线位姿的所述多个点上的吸引力。
3.根据权利要求1所述的非暂时性计算机可读存储设备,另外包括一个或多个指令,所述指令在由所述处理设备执行时另外使所述处理设备确定从所述一个或多个路线位姿中的另一个路线位姿上的点施加在所述第一路线位姿的所述多个点上的扭力。
4.一种用于机器人在环境中的动态导航的方法,包括:
使用来自一个或多个传感器的数据生成所述环境的地图;
在所述地图上确定路线,所述路线包含一个或多个路线位姿,每个路线位姿包括至少部分地指示所述机器人沿着所述路线的位姿和形状的印迹,且
每个路线位姿中安置有多个点;
计算所述环境中的物体上的点对所述一个或多个路线位姿中的第一路线位姿的所述多个点的排斥力;
至少响应于所述排斥力而重新定位所述第一路线位姿;以及
在所述重新定位的第一路线位姿和所述一个或多个路线位姿中的另一个路线位姿之间执行内插。
5.根据权利要求4所述的方法,另外包括确定从所述一个或多个路线位姿中的另一个路线位姿上的点施加在所述第一路线位姿的所述多个点上的吸引力。
6.根据权利要求4所述的方法,另外包括:
利用所述一个或多个传感器检测所述环境中的多个物体,所述多个物体中的每一个具有检测点;以及
定义力函数,所述力函数计算由所述多个物体的每一个所述检测点施加在所述第一路线位姿的所述多个点上的排斥力,其中每个排斥力包括向量。
7.根据权利要求6所述的方法,其中重新定位所述第一路线位姿包括计算所述力函数的最小值。
8.根据权利要求4所述的方法,其中所述重新定位所述第一路线位姿包括平移和旋转所述第一路线位姿。
9.根据权利要求4所述的方法,其中所述内插包括:
生成具有大体上类似于所述机器人的形状的印迹的内插路线位姿;以及
至少基于所述经过平移和旋转的第一路线位姿和所述一个或多个路线位姿中的所述另一个路线位姿之间的无碰撞路径,确定所述内插路线位姿的平移和旋转。
10.根据权利要求4所述的方法,另外包括在所述物体上的所述点在所述第一路线位姿的所述印迹外部的情况下,将所述排斥力的量值计算为与所述物体上的所述点和所述第一路线位姿的所述多个点中的每一个之间的距离成正比。
11.根据权利要求4所述的方法,另外包括在所述物体上的所述点在所述第一路线位姿的所述印迹内部的情况下,将所述排斥力的量值计算为与所述物体上的所述点和所述第一路线位姿的所述多个点中的每一个之间的距离成反比。
12.根据权利要求4所述的方法,另外包含计算由于所述排斥力而施加到所述第一路线位姿的所述多个点上的扭力。
13.一种机器人,包括:
一个或多个传感器,其配置成收集关于环境的数据,包含关于所述环境中的一个或多个物体上的检测点的数据;以及
控制器,其配置成:
至少部分地基于所述收集到的数据,形成所述环境的地图;
在所述地图中确定所述机器人将行进的路线;
生成所述路线上的一个或多个路线位姿,其中每个路线位姿包括指示所述机器人沿着所述路线的位姿的印迹,且每个路线位姿中安置有多个点;
确定每个路线位姿的所述多个点中的每一个上的力,所述力包括来自所述一个或多个物体上的一个或多个所述检测点的排斥力和来自所述一个或多个路线位姿中的其它路线位姿上的所述多个点中的一个或多个的吸引力;
响应于所述一个或多个路线位姿的每个点上的所述力而重新定位一个或多个路线位姿;以及
在一个或多个路线位姿之间执行内插,以在所述一个或多个路线位姿之间生成供所述机器人行进的无碰撞路径。
14.根据权利要求13所述的机器人,其中:
所述一个或多个路线位姿形成所述机器人沿着所述路线行进的序列;以及
所述内插包括所述一个或多个路线位姿中的连续路线位姿之间的线性内插。
15.根据权利要求13所述的机器人,其中所述内插生成具有大体上类似于每个路线位姿的所述印迹的印迹的一个或多个内插路线位姿。
16.根据权利要求13所述的机器人,其中所述确定所述一个或多个路线位姿的每个点上的所述力另外包括计算至少部分地使每个路线位姿的每个点上的所述力与所述环境中的物体的一个或多个特性相关联的力函数。
17.根据权利要求4所述的机器人,其中所述一个或多个特性包含距离、形状、材料和颜色中的一个或多个。
18.根据权利要求4所述的机器人,其中:
所述力函数关联第一物体上的第一检测点所施加的零排斥力,其中所述第一检测点和第一路线位姿的第二点之间的距离高于预定距离阈值。
19.根据权利要求13所述的机器人,其中每个路线位姿的所述印迹具有与所述机器人的所述印迹大体上类似的大小和形状。
20.根据权利要求13所述的机器人,其中所述机器人包括地板清洁器。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/341,612 | 2016-11-02 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK40012306A true HK40012306A (zh) | 2020-07-24 |
| HK40012306B HK40012306B (zh) | 2023-03-31 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110023866B (zh) | 用于自主导航中的动态路线规划的系统和方法 | |
| US11701778B2 (en) | Systems and methods for robotic path planning | |
| US20250068163A1 (en) | Systems and methods for optimizing route planning for tight turns for robotic apparatuses | |
| US12393196B2 (en) | Systems and methods for training a robot to autonomously travel a route | |
| US20210223779A1 (en) | Systems and methods for rerouting robots to avoid no-go zones | |
| US9481087B2 (en) | Robot and control method thereof | |
| US20220016778A1 (en) | Systems, apparatuses, and methods for cost evaluation and motion planning for robotic devices | |
| CN121411450A (zh) | 用于对机器人进行初始化以沿着训练路线自主行进的系统和方法 | |
| HK40012306A (zh) | 用於自主導航中的動態路線規劃的系統和方法 | |
| HK40012306B (zh) | 用於自主導航中的動態路線規劃的系統和方法 |