用于机器人自主运动规划和导航的系统和方法与流程

文档序号:22187744发布日期:2020-09-11 21:57阅读:157来源:国知局
用于机器人自主运动规划和导航的系统和方法与流程

关于联邦政府赞助的研究与开发的声明

本发明是在政府的支持下在合同号va118-12-c-0051下完成的。政府拥有本发明的某些权利。



背景技术:

本文公开的主题涉及机器人在所处的环境中的任务规划和导航。

各种实体可在室内环境或者人类也存在的其他环境中采用机器人或其他自主控制的设备。例如,可以采用这样的设备以在环境内移动或递送物品、清洁或检查环境的各部分、或操作环境内的仪器或设备。

在这样的背景下,常规应用可采用实时感测以允许机器人或类似设备实时地确定环境中的人的存在和/或位置,并且作出反应以避免接触所感测到的人。然而,这样的实时感测和避碰可能是计算密集的,并且可能影响设备(例如,机器人)的计算资源。此外,感测和反应方法虽然适合于处理紧邻的周围环境,但与反应相反,在总体规划的背景下可能不太适合于任务和/或运动规划。



技术实现要素:

在一个实施方式中,提供了一种机器人导航系统。根据该实施方式,机器人导航系统包括:传感器网络,被配置为随时间生成环境内的历史人类活动数据;以及一个或多个基于处理器的系统,被配置为接收历史人类活动数据并且基于历史人类活动数据导出环境内的多个位置之间的路径数据。机器人导航系统还包括:机器人,被配置为在环境内执行一个或多个任务,机器人包括:一个或多个传感器;以及处理组件,处理组件被配置为:接收从历史人类活动数据生成的路径数据;针对相应的任务,使用路径数据生成多个路点;使机器人依次沿着路点移动并且在某些或所有的路点处执行指定的动作;以及响应于由存在于机器人上的一个或多个传感器获取的实时感测数据,对机器人沿着路点的移动作出调整。

在又一实施方式中,提供了一种用于在与人类共享的环境中导航机器人的方法。根据该方法,随时间在环境内获取历史人类活动数据。基于历史人类活动数据导出环境内的多个位置之间的路径数据。然后,在机器人上:接收从历史人类活动数据生成的路径数据;基于路径数据生成与待执行的任务相对应的多个路点;使机器人依次沿着路点移动并且在某些或所有的路点处执行指定的动作;响应于由存在于机器人上的一个或多个传感器获取的实时感测数据,对机器人沿着路点的移动作出调整。

在额外的实施方式中,提供了一种机器人。根据该实施方式,机器人包括:一个或多个传感器;包括电动机的驱动系统;以及处理组件。处理组件被配置为:从外部源接收路径数据,其中,路径数据从历史人类活动数据生成;针对相应的任务,使用路径数据生成多个路点;将指令传达至电动机以使机器人依次沿着路点移动;并且响应于由存在于机器人上的一个或多个传感器获取的实时感测数据,对机器人沿着路点的移动作出调整。

附图说明

当参考附图阅读以下详细描述时,本发明的这些和其他特征、方面和优点将变得更好理解,贯穿这些附图,相同的字符表示相同的部分,在附图中:

图1是根据本公开的方面的机器人和联网环境的示意图;

图2是根据本公开的方面适合用于图1的任务规划和导航系统的基于处理器的系统的框图;

图3描述了根据本公开的方面的描述人类活动的热图的实例;

图4描述了根据本公开的方面的描述人类活动的隐马尔可夫模型的实例;

图5描述了根据本公开的方面的人类活动图的实例;

图6描述了根据本公开的方面的成本图的实例;以及

图7描述了根据本公开的方面在共享环境中导航机器人的步骤的处理流程。

具体实施方式

下面将描述一个或多个具体实施方式。为了提供这些实施方式的简明描述,在说明书中可能未对实际实现的所有特征进行描述。应当理解的是,在任何这种实际实现的研发中,如在任何工程或设计项目中,必须作出大量实施方案特定的决策以实现开发者的特定目标,诸如遵循与系统相关和商业相关的约束,这些约束随实现不同而变化。此外,应当理解,这种开发工作可以是复杂并且耗时的,但是尽管如此,对于从本公开中受益的普通技术人员来说,这仍是常规的设计、生产和制造工作。

当介绍本公开的各种实施方式的元件时,冠词“一个(a)”、“一种(an)”、“该(the)”和“所述(said)”旨在表示存在一种或多种元件。术语“包含(comprising)”、“包括(including)”和“具有”旨在是包容性的并且是指可以存在除了所列元件以外的另外的元件。此外,在下面的讨论中的任何数值实例旨在是非限制性的,并且因此另外的数值、范围和百分比在所公开的实施方式的范围内。

如本文所讨论的,机器人或机器人设备可以在室内环境中操作以在执行动作或任务(诸如,递送或移动物品、执行保管任务、执行安全或监视功能等)时沿着路径移动。具体地,本方法的各方面辅助此类机器人在与人类共享的室内环境中以安全、稳健且高效的方式进行导航(例如,路线规划和移动)。本方法解决了若干问题,包括与以下各项有关的问题:检测人类活动,包括但不限于人类运动;对人类活动进行建模并且将所建模的人类活动结合到规划机器人运动或移动中;在复杂室内环境中规划机器人运动或移动,包括具有多于一个楼层或层面的环境;以及全局路线规划和局部反应性规划或调整的组合。

考虑到前述内容,该方法的特征在于具有两个方面:人类活动建模的建模和规划混合运动。关于人类活动建模,在一个实现方式中,网络或互联网连接的服务器(例如,云服务器)连接到一个或多个传感器,该一个或多个传感器被定位成感测所讨论的室内环境中(诸如,感兴趣的建筑物中)的人类活动,以连续地或周期性地收集人类活动数据。可基于在系统操作期间获得的数据来调整或重新配置这种传感器网络。基于所收集的数据,在服务器上执行的例程可以生成环境的模型,该环境包含所观察的人类活动和/或在人类活动中可辨别的趋势(例如,在不同时间和/或日期的给定位置处的人类活动中所观察到的趋势或关系、每个位置和/或不同时间的人类运动或活动的方向或流动特性等等)。在一个实现方式中,这种模型可以结合“成本”的概念,并且可以基于由该模型确定的机器人的成本来评估、建议和/或选择机器人的潜在路径或运动。例如,与区域或位置相关联的成本值越高,便越不太期望将机器人移动到该区域中。即,在这种实现方式中,可以基于成本最小化来选择或建议路径。在一个实施方式中,可以构建一图表以描述跨建筑物中所有感兴趣的楼层的这种“成本”,并且该图表可以用于规划一个或多个机器人的运动。

对于第二方面,机器人或与机器人通信的服务器可以采用成本图表来规划机器人的运动,以允许机器人以从图表确定的可接受的运动成本(诸如,最低运动成本)执行一个或多个任务。在这样的背景下,该图表为机器人提供关于全局环境的信息以及与人流量和移动有关的概率期望。在执行使用图表确定的运动规划中,可以采用机器人上的传感器进行实时感测来检测或以另外的方式感测附近环境。以这种方式,可执行局部反应运动和/或避碰。连接至云服务器以获得历史图表数据和最新的(即,最近的)传感器数据,有助于机器人本地地和全局地优化其规划。

如本文所使用的,术语机器人或机器人设备包括但不限于基于地面的移动机器人,包括具有腿、轮子、履带等的机器人。这种设备还可以包括也是可编程的并且可移动以执行任务的致动器或其他可移动组件(例如,抓爪、臂等)。应当理解,本文中表征为机器人的设备包括任何合适的自主移动设备,这些自主移动设备能够在没有或有限的人类监督的情况下进行可编程的移动,或能够通过自动化系统或控制器进行远程控制。这种可编程的移动在采用时可以基于由远程系统(例如,服务器或控制器)生成并传送给机器人的本地生成的路径路点或指导或路径指导和路点。因此,如本文所使用的,这种设备在操作阶段或周期期间完全或基本没有直接人为干预或控制的情况下或者在具有有限或部分人为干预或监督的情况下移动。尽管本文主要讨论了基于地面的机器人,但是本方法也可涉及在无人驾驶飞行器(uav)的背景下的导航和/或任务规划,无人驾驶飞行器包括固定机翼和旋翼机翼飞行器以及无人驾驶水下航行器(usv),无人驾驶水下航行器可在本讨论的教导的背景下(诸如,在与人类共享的监测或封闭环境中)沿着液体面游动或移动。

此外,就本文使用的术语“路径”的范围,应理解的是,该术语涵盖一维(1d)(如沿着轨道)、二维(2d)(如沿着定义是或未定义的平面路线)、三维(3d)(如空中的移动或大体上沿着平面但采用竖直元件(包括楼梯、电梯、管道等)的移动)、或四维(4d)(诸如存在可以表征速度、加速度或在路点处的到站时间(timeonstation)的定义时间方面的地方)方面。如本文中所使用的路径涉及路线或其他移动规划,机器人沿该路线或其他移动规划移动作为执行一个或多个任务的一部分,该一个或多个任务作为自动化或半自动化过程的一部分。因此,如本文所使用的“路径”可以表征为任何1d、2d、3d或4d路线或路径,设备(诸如,机器人)沿着该路线或路径移动以执行一个或多个所分配任务。这样的路径可以是自适应的,诸如响应于由局部环境的机器人实时或接近实时地获取的传感器数据而动态地适应,并且可由机器人以有序方式沿其行进的一个或多个路点组成,路点的序列和位置定义路径或路线。应当理解,此路径不仅可以并入时间和/或空间位置,而且还可以并入在路径上定义的点和/或时间处将要采取的动作指令,诸如,推动电梯按钮、打开门等等。

为了便于解释和提供有用的真实世界场景,本文中可参考室内环境的各种实例,诸如,办公室、学校、医院工厂等。然而,如可以认识到的,本方法可以广泛地适用于任何存在人类和机器人的封闭和/或监测的空间,其中可以采用传感器来随时间监测流量和运动方式。由此,提供本文中所描述的任何实例仅为了便于解释,并且本方法适于在如本文中所描述的任何室内或类似环境中使用。因此,本方法不旨在限于本实例的背景。

考虑到前述内容,并且转向附图,图1示出了机器人导航系统10的各方面,该机器人导航系统使用适于在与人类共享的室内环境中执行任务的一个或多个机器人12。在所示出的实例中,还示出了经由网络接口可访问的一个或多个远程服务器(例如,云服务器16)。这种基于网络或云的计算可以用于访问用于存储、计算或本文所述的其他功能的一个或多个远程服务器、虚拟机等。这种服务器16可以与一个或多个机器人12通信以协调一个或多个机器人12的操作,例如,用于导航与人类共享的环境以执行一个或多个任务。

尽管图1中仅示出了单个远程服务器16,但应当理解,由远程服务器16执行的功能可由多个远程服务器16和/或由服务器环境的虚拟化实例来执行。在各种实现方式中,远程服务器16包括数据处理系统,该数据处理系统可以包括存储器组件和用于处理从机器人12接收的数据和/或将被中继至机器人12的指令的处理器。如下面更详细地描述的,在一些实施方式中,机器人12可以向远程服务器16提供传感器数据以传达有关机器人12当前感测到的环境的信息,该信息可以与机器人12的导航和/或机器人12的任务执行有关。

在一个实施方式中,一个或多个机器人12具有机载蜂窝或网络连接,并且可以在执行一个或多个任务之前、期间和/或之后与远程服务器16通信。在某些实现方式中,一个或多个机器人12的蜂窝或网络连接允许在任务执行期间通信,允许在执行相应任务时获取的数据(例如,传感器数据)被传达至远程服务器16和/或允许远程服务器16将指令传达至给定机器人12。在一些实例中,诸如机器人12在远程服务器16的通信范围之外操作或响应于其他通信中断的情况下,机器人12内部的(即,机载)处理器可以确定路径的变化。

回到图1,将更详细地描述任务执行和导航系统10的某些细节。例如,图1示出了机器人12的一个实施方式的示意图。然而,应当理解,设想机器人12的其他实施方式具有额外的组件、更少的组件和/或不同的组件组合。如图所示,机器人12包括为机器人12的操作提供电力的电源20。电源20可包括可更换或可再充电的电池、内燃机、发电机和电动机、太阳能电池板、基于化学反应的发电系统等,或其某种组合。

机器人可包括用户界面,通过该用户界面,用户可设置或调整机器人12的各种设置。用户界面可包括一个或多个输入设备(例如,旋钮、按钮、开关、拨盘等),并且在一些情况下可包括用于向用户提供反馈的显示器(例如,屏幕、led阵列等)。

网络接口22(诸如,经由云)实现与远程服务器16或其他设备(例如,对接台、遥控器、智能电话、计算设备、平板设备等)的通信。例如,网络接口22可以经由无线网络连接、有线网络连接、蜂窝数据服务、蓝牙、近场通信(nfc)、zigbee、ant+或一些其他通信协议来实现通信。

感测系统26可以包括一个或多个传感器28(例如,触觉传感器、化学传感器、甲烷传感器、温度传感器、激光器/lidar、声纳、相机、红、蓝、绿、深度(rgb-d)相机、惯性测量单元(imu)等),该一个或多个传感器被配置为在机器人12的导航期间和/或机器人12执行任务期间感测各种质量并且收集数据。传感器28可以用于获取与传感器类型和观察范围相对应的感测数据,该感测数据传达关于机器人12所在环境的信息。

驱动系统34可致动机器人12沿着表面、通过空气等的移动。如图所示,驱动系统34可以包括一个或多个电动机36和一个或多个编码器38。一个或多个电动机36可以驱动螺旋桨、腿、轮子、履带等。一个或多个编码器38可以感测一个或多个电动机36的一个或多个参数(例如,旋转速度)并将数据提供给控制系统。

该控制系统可以包括一个或多个存储器组件和一个或多个处理器。运动控制系统可以从驱动系统34的一个或多个编码器38接收信号并且将控制信号输出至一个或多个电动机36以控制机器人12的移动。类似地,数据收集控制系统可以控制感测系统26的操作并且从感测系统26接收数据。传感器28与车载处理器之间的通信接口可以是标准工业接口,包括并行总线、串行总线(i2c、spi)和usb。数据处理和分析系统可以接收由感测系统26收集的数据并且处理或分析所收集的数据。在一些实施方式中,数据处理和分析系统可以诸如基于传感器模态和/或基于任务或导航特定考虑处理和分析不同程度的数据。

在传感器和驱动组件的前述实例的情况下,在一个这样的实例中,激光雷达和/或编码器可以用于机器人12的定位(即,将机器人12准确地定位在环境中),而其他传感器(例如,包括rgb和红外的相机)用于收集环境信息。在某些实现方式中,rgb-d传感器用于增强感测系统26的性能并且减少计算成本。

在所描述的实例中,机器人12还被描述为包括用于机器人导航规划40、任务规划42、定位/slam(同步定位与地图构建)44和/或人类检测和环境分析46的子系统。这种子系统和/或算法可以作为控制系统的一部分或者与控制系统通信来提供,并且在下面更详细地描述。如图1所示,系统10还可以包含外部因素或参数,诸如,任务要求50、去往或来自一个或多个远程服务器16的通信等。

除了机器人12之外,图1所示的机器人导航系统10的另一个方面是传感器网络70,该传感器网络可以由远程服务器16(例如,云服务器)管理和/或与远程服务器16通信。在一个实现方式中,传感器网络70收集在机器人12导航的环境中的人类活动数据(由参考标号76表示)并将该数据发送到远程服务器16。传感器网络70可连续或周期性地运行和更新以随着时间收集环境中的人类活动数据76。在一个实现方式中,传感器网络70中的传感器单元74不是固定的,而是可根据需要移动、调整、添加、移除等。

作为实例,在一个实施方式中,传感器74中的一些或全部可以是rgb-深度(rgb-d)相机,rgb-深度相机获取并提供rgb和深度信息以生成所观察的环境的点云。rgb纹理可以被映射到点云上以生成所感测的环境的3d模型。在这样的情况下,可使用rgb-d传感器来连续地跟踪共享环境中的人类活动76,使得也能够随时间获得人类骨架的关节的位置和取向。基于可使用推导出的骨架从该数据确定的姿势和/或其他运动数据,可在延长的时间段内确定共享环境中的人类运动活动。除了rgb-d传感器之外或代替rgb-d传感器,可以采用其他类型的传感器74来跟踪人类活动76。例如,除了rgb-d相机之外或代替rgb-d相机,可使用传感器74(诸如,激光雷达、声纳、雷达、多普勒传感器、rgb相机等),尽管与从导出的人类骨架数据所导出的运动数据相反,此类传感器可能被限制为以人类随时间的位置信息的形式来提供人类活动数据。

如图1所示,由传感器网络70获取的数据可被转发至远程服务器16。如本文中所讨论的,随时间获取的传感器数据可以用于对被监测的环境(即,由人类和至少一个机器人12共享的环境)中的人类活动进行建模。人类活动的这种建模可允许基于位置、时间或其他时间趋势模式(例如,每周模式、每月模式等)中的一者或多者来表征人类活动。

考虑到前述内容,可以注意到,系统10的各个方面可以涉及组件或设备,其处理传感器数据和/或执行例程或算法以对这样的数据进行建模或在共享环境中执行导航功能。在将额外细节提供到系统10的操作中之前,简要地提供基于处理器的系统90的各方面的实例可能是有益的,该基于处理器的系统的各方面可对应于在机器人12和/或远程服务器16中的一者或两者中发现的组件或特征。例如,转到图2,这样的设备或系统可包含如图所示的组件,该图描述了计算设备90的示例性组件的框图,计算设备可存在于与系统10的其他设备通信的远程服务器16、机器人12、或工作站或设备内。如本文中所使用,计算设备90可实现为机器人12或包含膝上型计算机、笔记本计算机、台式计算机、平板计算机或工作站计算机的一个或多个计算系统,以及服务器类型设备或便携式通信类型设备,诸如,蜂窝式电话,和/或其他合适的计算设备。

如所示出的,计算设备90可包括各种硬件组件,诸如,一个或多个处理器92、一个或多个总线94、存储器96、输入结构98、电源100、网络接口102、用户界面104、和/或对执行本文中描述的功能有用的其他计算机组件。

在某些实现方式中,一个或多个处理器92为微处理器(例如,cpu、gpu等),微处理器被配置为执行存储在存储器96中或其他可访问位置的指令。可替换地,一个或多个处理器92可以实施为专用集成电路(asic)、现场可编程门阵列(fpga)、和/或被设计成以专用的方式进行本文中讨论的功能的其他设备。应当理解,多个处理器92或处理组件可以用于以分布或并行的方式执行本文中讨论的功能。

存储器96可包含用于存储数据或可执行例程(包括用于执行本文所讨论的人类活动建模、路径寻找和/或成本最小化步骤的例程和/或算法)的任何有形、非暂时性介质,包括易失性存储器、非易失性存储器或其任何组合。尽管为了方便示出为图2中的单个框,但是存储器96实际上可以包含在相同的或不同的物理位置的各种离散介质或介质类型。一个或多个处理器92可以经由一个或多个总线94访问存储器96中的数据。

输入结构98用于允许用户向设备90输入数据和/或命令,并且可包括鼠标、触摸板、触摸屏、键盘、vr控制器、运动或光学传感器、麦克风等。电源100可以是用于将电力提供至计算设备90的各种组件的任何合适的源,包括电线和电池电源。在所描述的实例中,设备90包括网络接口102。这种网络接口102可以允许使用一个或多个通信协议与网络上的其他设备通信。在所描述的实例中,设备90包括用户界面104,诸如,显示器和/或扬声器,显示器被配置为显示图像或数据,并且扬声器被配置为播放由一个或多个处理器92提供的声音或声音数据。

应当理解,在现实世界的场景中,可以采用基于处理器的系统(诸如,图2的计算设备90)以实现本方法的某些或所有,诸如,执行图1所示的远程服务器16和/或机器人12的功能或所使用的操作或监控在共享环境中导航的机器人12的其他处理设备的功能。

考虑到前述内容,并返回到图1,将讨论以上介绍的各种组件的相互关系和操作。如本文中描述的,系统10是用于在与人类共享的环境内在不同的工作位置之间导航移动式机器人12的导航系统。一个或多个计算机可以用于为机器人12提供车载计算资源以处理(诸如,来自感测系统26的)感测数据、规划运动、作决定、以及以另外方式控制机器人和存在于机器人12上的任何机械手(例如,机械手臂)。

为了促进这种导航,本方法的第一方面使用传感器网络70检测人类运动和活动。在一个实施方式中,使用传感器网络70获取的人类活动数据(诸如,在远程服务器16处)生成一个或多个热图。

在一个这种实现方式中,热图描述了长期的人类活动,从这些人类活动中可以确定人类移动和流量模式。这些模式然后可以用于为机器人12提供导航指令,以促成机器人12执行分配的任务。例如,模式可以用于确定机器人12行驶以执行任务的路线,该路线限制或最小化人类交互或者人类存在的可能性。

考虑到这一点,在一个实施方式中,传感器74被放置在环境中以被导航充足的时间(例如,一天、一周、两周、一个月、六个月、一年等等)从而利用时间信息足够详细地记录人类位置以确定人类移动和流量模式。该过程的持续时间取决于位置环境(例如,低对高流量、24小时对12小时占用等)和应用的需求,诸如,人类存在对于机器人12执行任务可接受的程度。例如,在一个实现方式中,可以将传感器74放置在环境中一周以收集基于每周的数据,这允许确定特定于一天中的小时和一周中的天的变化。这样的方案对于具有在每周时间范围内可辨别的一些可跟踪模式的人类活动可以是特别有用的。

转到图3,图3描述了随时间获取基于传感器数据生成的(诸如,一个远程服务器16)热图120的实例。热图120通过颜色、灰度或强度传达在不同空间位置处的相对人类运动。例如,如图3所示的热图120可以描述环境内的人类活动,其中,从由感测数据生成的骨架数据导出人类活动数据,该感测数据是使用该环境内的一个或多个rgb-d相机获取的。

基于所检测的人类活动和/或运动,可以(诸如,在远程服务器16)生成环境中的人类活动的模型。在一个实现方式中,为了简化建模过程,高斯混合模型(gmm)用于对与人类活动对应的位置进行建模。“热”或高活动位置被描述为高斯模型,高斯模型的中心是每天发生的人类活动的峰值点。例如,人类活动的这样的峰值点可以对应于环境中的公共或共享空间,诸如,电梯、楼梯、进/出门口、走廊、会议室、大厅、洗手间、自助餐厅等等。在数学上,每个高斯模型的位置被描述为:

(1)gk(j)={(x,y),σ}

其中,k表示第k层,j是高斯模型在第k层上的索引号,(x,y)是高斯模型的中心相对于第k层的局部坐标的位置,并且σ是方差。

在一个实施例中,基于时间信息(例如,时间或数据以及与相应人类活动位置数据相关联的时间)生成隐马尔可夫模型(hmm)。hmm模型描述了每个位置之间的关系,该位置包括当人在使用高斯模型描述的区域内时他/她将移动到的位置。图4中示出了根据本方法构建的hmm140的实例。如图4中所示,与方向箭头144一起示出了对应于人类活动的各个位置的索引的高斯模型gk(j)(由参考标号142指示),该方向箭头指示基于人类在位置之间的流动或移动的各模型142之间的关系。

一旦已经基于在此讨论的人类活动检测过程确定了高活动区域,就可以基于该信息生成地图或图表以描述在给定时间每个建模位置的环境信息和时间数据。在一个这种实施方式中,该地图或图表传达了与在感兴趣的时间(如当前时间)在不同建模位置之间的移动相关联的“成本”。然后,可以诸如通过最小化成本函数在进行路径寻找时采用这种成本,这可以允许为机器人12的导航确定路径,以便限制通过人类移动或人类存在量大的位置的移动。

在前述实例的情况下,高斯模型可以用于描述环境中的高活动位置处的人类活动。然而,不必使用全局最短路径搜索操作中的所有模型(即,建模位置)。相反,在基于成本的方法中,感兴趣的参数是关键位置之间的而不是所有位置之间的成本。例如,在一个实现方式中,关键位置可包括(但不限于):(1)连接两个楼层的电梯和楼梯,以及(2)目标位置,其可以不必是如本文中描述的所检测的高活动位置,但应是机器人需要移动以执行所分配的任务的位置。

在一个方法中,可以将静态地图的自由空间分割成网格。如图5所示,然后可以覆盖或以另外的方式在静态的基于网格的地图(即,覆盖图150)上表示如本文讨论的识别出的高活动区域。在一个这种实例中,从一个网格移动到相邻的自由网格的成本为1,并且使用以下等式定义从一个网格移动到相邻阻抗(即,高活动)网格的成本(即,c(i,j)):

(2)c(i,j)=η*(阻抗当前+1)+(1-η)阻抗历史(t)

其中,阻抗当前由该位置存在的人的数量定义。并且阻抗历史是由在时间t在该位置从历史数据检测出的人的数量定义。

基于这些成本c(i,j),可为每一楼层生成成本图,例如,反应性关键成本图。在图6中示出了从图5的覆盖图150生成的一个这种成本图160的实例。如之前提到的,各位置之间的路径可能不是必需的。然而,确实需要确定关键位置之间的路径成本。

通常,导航任务的目标位置是公共场所(例如,会议室、办公室等),其可能不靠近关键位置。怀着这个目的,在生成成本图表之前,可以将额外的关键位置构建到成本图中。一旦生成成本图160,将最近的相邻者连接至目标节点并且使用高斯阻抗面积计算成本:

(3)c(i,t)=阻抗(i)*n(x︱xi,σ)

其中x是目标位置,xi是高斯阻抗面积的中心,并且σ是方差矩阵。然后应用路径搜索算法来找到每个楼层上的所有关键位置之间的最短路径。在一个实现方式中,可以采用a*算法,因为地图是已知的,并且启发法和现行成本都是已知的。具体地,a*路径搜索算法选择使以下项最小化的路径:

(4)f(n)=g(n)+h(n)

其中,n是路径上的最后一个节点,g(n)是从起始节点到n的路径的成本,并且h(n)是估计从n到目标的最便宜的路径的成本的启发法。

然后可以将以这种方式确定的路径传达到机器人12以便遵循该路径从而执行所分配的任务,或者在其他实施方式中,可以将沿着路径的步骤或动作而不是完整的路径传达到机器人12,以便于执行任务。

除了以上讨论的全局路径查找过程之外,回到图1,可以由机器人12提供或执行其他功能以便促进在与人类共享的环境中的任务执行和/或导航。例如,机器人12在环境中的定位也是机器人12的导航的一个方面。在一个实现方式中,可提供使用由激光雷达和imu感测到的信息的定位/slam功能(由参考框44指示)。在该实例中,定位算法运行以连续地或周期性地定位机器人12在环境中的姿态,包括机器人12的位置和取向。在一个这样的实现方式中,同时构建环境模型。在一些情况下,可以在执行任务之前完成地图构建或者在机器人12正在移动时开始地图构建以降低计算成本。如在图1的实例中所示,可以将定位算法的输出(例如,机器人姿态信息、环境模型等)提供给任务规划功能和/或机器人导航规划功能中的一者或两者。

此外,如图1所示,可以在机器人12上设置用于人类检测和/或环境分析46的功能。与本文所讨论的有助于基于(诸如,可以使用传感器网络70导出的)经过时间或历史数据进行全局活动地图构建的人类检测过程不同,对机器人12执行的人类检测46过程可以是检测当前紧邻机器人12的人(或其他物体)的实时和/或本地过程。通过举例的方式,如图1中所示,感测系统26(例如,相机、声纳、激光雷达等)的各种传感器28可以用于当机器人12沿着所提供的路径移动时检测紧邻机器人12的人或物体。然后可以采取校正动作(例如,停止、转弯等)以避免接触由本地感测系统26检测到的人或其他环境特征。在又一实施方式中,可以将感测系统26以这种方式检测到的信息提供给远程服务器16以更新成本图160,潜在地导致对路径的更新或修订,该路径是指示机器人12在执行给定的任务时使用的路径。

对于设置在机器人12上的任务规划42功能,该方面规划机器人12在执行所分配的任务时要执行的一系列操作。该规划基于由人类操作者或系统提供的任务需求50。在一个实现方式中,任务规划特征的输出可以是分类实例的阵列,其中每个实例表示一个操作。在每个操作的描述中,可以提供以下各项中的一项或多项:机器人12的机械手或臂或者机器人12的基座的规格或选择、目标配置、目标操作或环境约束的确定或规格、和/或动作执行的指示。可以将任务规划特征的输出提供给机器人导航规划例程或算法40。

在可以通过任务规划42来触发的导航规划功能40中,规划路径上的路点以生成路点序列,路点序列可以对应于或促进要在工作位置执行的操纵任务。如图1所示,机器人12上的导航规划可从任务计划42、人类检测和环境分析46、定位/slam44、远程服务器16、编码器38等接收输入。通过举例的方式,声纳感测模式可以用于检测环境中的障碍物并且向驱动系统34的电动机36发送信号,以便避免在导航规划的背景之内或之外的障碍物(诸如,响应于在机器人12附近的人的突然出现)。尽管在图1中被示为发生在机器人12上,但是应当理解,导航规划中的一些或全部可以替代地发生在远程服务器16上,其中路点随后被传达给机器人12。

在一个实例中,在生成和验证了路点之后,任务规划42诸如使用本文中所讨论的a*路径选择算法触发机器人导航规划40以规划机器人12(例如,机器人基座)的运动轨迹。在该实例中,规划过程为机器人12提供规划,该规划导航机器人通过所有规划的路点并在每个处理位置处执行对应的期望的操纵任务。然后,可以将指令或命令例如经由运动控制系统传达至驱动系统34的电动机36。运动控制系统可以被配置为控制机器人基座的位置、速度、和/或加速度。可以从定位/slam子系统、感测系统26、人类检测和环境分析46、和/或编码器38中的一者或多者提供对运动控制系统的反馈。此外,运动规划算法可以不仅考虑机器人基座(诸如,经由驱动系统34)的移动,而且还考虑机器人12的一个或多个机械手、臂或抓爪的移动。可以在运动计划中采用的算法的实例包括但不限于:势场算法和rrt连接算法。

考虑到前述内容,转到图7,图7提供本方法的一个示例性流程的处理流程。在所描述的流程中,在左侧指示对机器人12本身执行的过程,而在右侧指示在机器人12的外部(诸如,在远程服务器16上)发生的过程。在这个实例中,导航规划总体上被描述为发生在机器人12上,尽管如上所述,一些或所有的导航规划可以替代地发生在机器人12外部,其中,如此计算的路点190或其他路径参数被传达给机器人12。

考虑到与图1至图6相关的论述,在所描述的处理流程实例中,生成对应于路径的路点190以及机器人12要在路径上执行的任务,路点和任务用作提供给(步骤192)至少机器人12的驱动系统34的指令集的一部分。在该实例中,在机器人12上生成(步骤194)路点190。路点190的生成可以基于机器人12要执行的一个或多个任务200、机器人12的当前位置204、以及物体或人与机器人12的实时或当前接近度208,这些可以通过监测(步骤212)机器人12上的本地传感器28(诸如,相机、声纳、激光雷达等)来确定。

如上文讨论的,路点190的生成还采用了路径信息,在一个实施方式中,路径信息包括每个楼层上的不同的关键位置之间的最短路径(基于成本最小化算法确定的)。在本实例中,该过程包括监测(步骤220)设置在机器人12将被导航通过的环境中的传感器网络70。传感器网络70的监测可以发生在延长的时间段(例如,一天、七天(例如,工作周)、一周、一个月等)内。

如此获取的传感器数据224用于导出或以另外的方式确定(步骤226)在感兴趣的时间段内所观察到的人类活动的指标228和/或识别对应于时间、一周中的天数等的有用趋势。例如,如本文中所讨论的,如此导出的人类活动的一个表示可以是热图120或相似的构造。

所观察的人类活动228可以依次用于对各种位置处的人类活动进行建模(步骤232),各种位置诸如是峰值活动的区域或者以另外方式超过某个感兴趣的阈值水平的活动。这种建模位置236还可以提供各位置之间的关系的信息(诸如,业务流信息)。如本文讨论的,这种模型的一个实例可以是隐马尔可夫模型(140)。

可以采用位置模型生成(步骤240)一个或多个成本图160,成本图提供在某些或所有感兴趣的位置之间行进的成本(基于人类活动)的指示。这种成本图160可以是特定于时间和/或日期的,例如,两个位置之间行进的成本可基于时间和/或日期而变化。成本图160可以与路径确定算法一起使用,以确定(步骤250)在给定时间和/或日期的位置(例如,关键位置)之间的最短的或以其他方式合适的路径254。在该实例中,这些路径254进而可以提供给机器人12以在导航过程(诸如,所描述的路点生成过程194)中使用。

如从前面的讨论可以理解,当机器人12正在移动时,仍然可以采用常规的在线感测规划动作算法,以避免意外的人类活动。然而,本方法基本上减少了机器人侧的计算工作负荷。例如,基于由历史数据构建的模型(例如,hmm模型),机器人12具有在环境中所发生的事情的模型。在这样的实例中,假设当前情形类似于每天或每周的相同时间的历史情形,则该模型可被用于基于历史信息找到最优的或以其他方式合适的路径。

本发明的技术效果包括促进机器人在与人类共享的室内环境中的导航(例如,路线规划和移动)。本方法包括检测人类随时间的活动,包括但不限于人类运动;使用历史人类活动对人类活动进行建模,并且使用所建模的人类活动来规划机器人运动或移动。

本书面描述使用实例以公开本发明,包括本发明的最佳模式,并还使任意本领域技术人员能够实践本发明,包括制造和使用任何设备或系统并执行任意结合的方法。本发明的可专利范围是由权利要求限定的,并且可以包括本领域技术人员想到的其它实例。只要实例具有不与权利要求的字面语言不同的结构要素,或者只要它们包含与权利要求中的字面语言非实质性不同的等同结构要素,则这些其他实例旨在被包含在权利要求的范围内。

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