用于自主无人机导航的系统和方法与流程

文档序号:16504849发布日期:2019-01-05 08:58阅读:262来源:国知局
用于自主无人机导航的系统和方法与流程

本申请要求2016年3月21日提交的美国临时专利申请62/311,060的优先权,其通过引用而全文并入于此。



背景技术:

诸如仓库和大型超市等的大型设施存储和/或展示了大量的不同产品。仓库中的库存和零售商店中的产品展示需要持续的检查以确保其存在以及服从于公司的产品展示规则。传统地,检查库存和产品展示需要分配公司雇员以手动地验证库存状况以及产品展示的依从性。

无人机是可在没有直接用户控制的情况下自主运行、或者可由用户直接控制的机器人装置。无人机可以是航空载具,可以是陆基载具,以及/或者可以在水下环境中运行。飞行的无人机经由偏航、俯仰和横滚命令采用与飞机相同的方式进行操作。自主无人机可以接收飞行路径,并且在没有来自用户的进一步指令的情况下按该飞行路径进行导航。所有种类的无人机可以配备有实现与监视位置通信的通信功能、允许无人机拍摄视频或静止图片的成像功能,以及/或者可以包括抓取并携载物体的能力。



技术实现要素:

在一个实施例中,一种无人机系统包括:无人机,其配备有成像装置;以及计算装置,其配备有提取模块、转换模块以及用于实现与所述无人机的通信的通信接口。所述提取模块被配置为接收cad蓝图的选择。所述cad蓝图包括建筑物的内部部分的测量。所述提取模块还被配置为:接收用于在所述cad蓝图上指示起始点和结束点的输入,分析所述cad蓝图以生成从所述起始点到所述结束点的路线,以及确定在距离和度数方面的第一组指令以按所生成的路线进行导航。所述转换模块包括api并且被配置为使用所述api来对所述第一组指令进行处理以生成供无人机操作用的第二组指令。所述第二组指令表示被转换为偏航、俯仰和横滚指令的所述第一组指令的距离和度数。所述转换模块还被配置为经由所述通信接口将所述第二组指令作为命令导出至所述无人机,以使所述无人机在所述建筑物中按所述路线进行导航。

在另一实施例中,一种用于对无人机进行导航的方法包括在提取模块处接收cad蓝图的选择。所述cad蓝图包括建筑物的内部的测量。所述方法还包括:接收用于在所述cad蓝图上指示起始点和结束点的输入,分析所述cad蓝图以生成从所述起始点到所述结束点的路线,以及确定在距离和度数方面的第一组指令以按所生成的路线进行导航。所述方法还使用api在转换模块处对所述第一组指令进行处理以生成供无人机操作用的第二组指令。所述第二组指令表示被转换为偏航、俯仰和横滚指令的所述第一组指令的距离和度数。另外,所述方法经由所述通信接口将所述第二组指令作为命令导出至所述无人机,以使所述无人机在所述建筑物中按所述路线进行导航。

在又一实施例中,一种非暂时性计算机可读介质存储有在由处理器执行时使所述处理器实现用于对无人机进行导航的方法的指令。所述方法包括在提取模块处接收cad蓝图的选择。所述cad蓝图包括建筑物的内部的测量。所述方法还包括:接收用于在所述cad蓝图上指示起始点和结束点的输入,分析所述cad蓝图以生成从所述起始点到所述结束点的路线,以及确定在距离和度数方面的第一组指令以按所生成的路线进行导航。所述方法还在转换模块处对所述第一组指令进行处理以生成供无人机操作用的第二组指令。所述第二组指令表示被转换为偏航、俯仰和横滚指令的所述第一组指令的距离和度数。另外,所述方法经由所述通信接口将所述第二组指令作为命令导出至所述无人机,以使所述无人机在所述建筑物中按所述路线进行导航。

附图说明

并入本说明书并构成本说明书的一部分的附图示出本发明的一个或多个实施例,并且与说明书一起帮助解释本发明。实施例通过示例的方式示出,并且不应被理解为限制本发明。在附图中:

图1是示出根据示例性实施例的、以模块形式实现的无人机导航系统的框图;

图2是示出根据示例性实施例的用于对无人机进行导航的典型方法的流程图;

图3示出描绘了根据示例性实施例的用于实现无人机导航系统的系统的网络图;以及

图4是可用于实现这里所述的无人机导航系统的典型实施例的典型计算装置的框图。

具体实施方式

使用遍历仓库和商店通道的公司雇员来进行库存和产品展示检查的一种替代方案是使用无人机来代替商店雇员。使用无人机来执行任务可以得到较高的效率和较低的成本。然而,如果无人机可以在无需与人类进行持续交互的情况下自主地操作,则可以最大程度地节省成本。传统系统使用gps或信标用于无人机在户外的自主操作。然而,gps和信标的使用不是很适合用于无人机在室内执行库存检查和其它任务的自主操作。本发明的实施例提供了不依赖于gps或信标的自主无人机操作的技术。

这里详细描述了用于无人机导航系统的系统、方法和计算机可读介质。典型实施例提供了在不使用gps或信标技术的情况下的无人机室内自主操作。这里所述的无人机导航系统使用计算机辅助设计(cad)蓝图来帮助无人机的自主操作。如这里所使用的,cad蓝图是指使用cad生成的蓝图,其中蓝图记录了建筑物测量的架构和内部布局、以及与内部布局相关的距离。使用cad蓝图以生成供无人机导航用的路线和方向。然后将路线方向转换为无人机可以理解并用于路线导航的命令。在非限制性示例中,可以在零售商店环境中使用无人机导航系统来检查仓库中的库存或零售商店中的产品展示。

如这里所使用的,“无人机”是指无人航空载具或地面载具。无人机可以是能够执行这里所述的功能(包括在室内环境中操作)的任何商业可用的或其它的无人机。无人机能够自主飞行,感知其周围环境,并且可编程。无人机还包括用以捕捉照片、视频和/或音频的诸如照相机等的成像装置或图像拍摄装置。无人机还可以包括处理装置或机载计算装置、用以存储指令或数据的存储器、以及用以与监视装置进行通信的通信能力。

如这里所使用的,api是指包括例程、协议和工具的集合的应用程序编程接口(applicationprograminterface)。这里所述的api可以具体地被配置为帮助将根据cad蓝图中的测量而生成的第一组指令转换为用作无人机命令的第二组指令。

图1是示出根据示例性实施例的、模块形式的无人机导航系统100的框图;模块可以包括提取模块110、转换模块120、通信接口模块130、以及图像处理模块140。系统100中的一个或多个模块可以在图3的装置320或服务器330中实现。例如,模块110、120和130可以在装置320中实现,而模块140可以在服务器330中实现。模块可以包括各种电路、电路系统、以及一个或多个软件组件、程序、应用、或者被配置为供装置320或服务器330中所包括的一个或多个处理器执行的其它代码库单元或指令。尽管在图1中、模块110、120、130和140被示出为不同的模块,但应当理解,模块110、120、130和140可被实现为比图示更少或更多的模块。应当理解,模块110、120、130和140中的任意模块可以与(图3的)系统300中所包括的诸如无人机310、装置320、服务器330或数据库340等的一个或多个组件进行通信。

提取模块110可被配置为管理和分析cad蓝图,基于cad蓝图来管理和生成导航路线,并且管理和生成用以按所生成的路线进行导航的指令或指示。转换模块120可被配置为保有api,并且分析用以按路线进行导航的指示并将其转换为无人机导航或操作命令。通信接口模块130可被配置为管理并促进装置和无人机之间的通信。图像处理模块140可被配置为管理并分析无人机所提供的图像数据。

图2是示出根据示例性实施例的用于对无人机进行导航的典型方法200的流程图。方法200的步骤可以由图1所示的一个或多个模块执行。

在步骤202处,提取模块110接收cad蓝图的选择,该cad蓝图包括建筑物的内部部分的测量。可以基于建筑物的内部尺寸和布局来预先生成cad蓝图。在示例性实施例中,建筑物可以是仓库或零售商店。建筑物可以包括用以保持库存或物品的各种固定件和搁架。搁架和固定件可以按照排或通道的形式布置在建筑物中。cad蓝图指示出固定件和搁架在建筑物内的位置,并且可以包括该建筑物中所容纳的多个搁架排或搁架通道。cad蓝图提供了其所描绘的内部位置中的特征之间的距离和可确定的测量。

在示例性实施例中,可以经由装置(例如,装置320)上所显示的用户接口来向用户呈现多个cad蓝图。用户可以经由装置上的用户接口(经由触摸屏接口或者诸如鼠标等的输入装置)来选择cad蓝图其中之一,并且提取模块110接收cad蓝图的选择。用户可以基于他或她想要无人机在其中进行导航的建筑物来选择cad蓝图。在一些实施例中,cad蓝图可以仅基于建筑物的一部分,并且用户可以选择他或她想要无人机在建筑物的哪个部分中进行导航。

在步骤204处,提取模块110接收用于在蓝图上指示起始点和结束点的输入。用户可以经由用户接口在蓝图上选择表示他或她想要无人机开始其导航的位置的起始点。用户还可以经由用户接口在蓝图上选择表示他或她想要无人机结束其导航的位置的结束点。用户可以通过点击用户接口中所显示的蓝图上的各个点或位置来选择起始点和结束点。或者,用户可以经由用户接口所显示的文本域或一些其它输入域来输入与起始点和结束点有关的信息。

在示例性实施例中,用户还可以经由用户接口来选择主基点(homebasepoint),其中该主基点指示无人机在完成所生成的路线的导航之后可以导航至的位置。主基点可以是无人机的充电站。

在步骤206处,提取模块110分析蓝图以生成从起始点到结束点的路线。在示例性实施例中,在蓝图包括搁架排或搁架通道的情况下,提取模块110被配置为生成从起始点通过多个搁架排或搁架通道中的各个搁架排或搁架通道而到结束点的路线。提取模块110可以使用任何适当的映射或路线算法来生成从起始点到结束点的路线。在一个实施例中,路线可被生成为覆盖最短距离。在另一实施例中,路线可被生成为遍历最多的通道。在实施例中,提取模块接收作为路线输入的起始点和结束点,并在距cad蓝图所指示的各固定件的预定距离处建立航路点。在该路线上,无人机被指示在航路点之间飞行,在各航路点处停止以记录各固定件,直到整个设施都已被扫描为止。应当理解,可以使用固定件的子集来建立航路点,而不是基于cad蓝图中所描绘的所有固定件来建立航路点,因此所述路线是基于例如固定件的类型或一些其它标准的。

在步骤208处,提取模块110确定在距离和度数方面的第一组指令以按所生成的路线进行导航。可以将第一组指令视为供人类使用距离和转向来按路线进行导航的指示。可以使用可能与用于生成路线的算法不同或相同的任何适当的映射或路线算法来确定第一组指令。第一组指令还可以包括供无人机操作以按所生成的路线进行导航的安全高度。

在步骤210处,转换模块120处理第一组指令以生成用于操作无人机(例如,无人机310)的第二组指令。该第二组指令表示作为供无人机按所生成的路线进行导航或飞行用的偏航、俯仰和横滚指令的来自第一组指令的距离和度数。偏航、俯仰和横滚通常用于帮助飞机的飞行。这一概念在这里适用于使无人机按照所生成的路线飞行。转换模块120包括api,该api具体地被配置为将第一组指令的距离和度数转换或转译为用于操作无人机的偏航、俯仰和横滚指令。在不使用飞行的无人机的实施例中,转换模块可以将第一组指令转换为适用于其它类型的无人机(例如,地面无人机或水基无人机)的命令。

在步骤212处,通信接口130将第二组指令作为命令导出至无人机。在示例性实施例中,可以将第二组指令从装置无线地通信至无人机。可以将来自第二组的各指令作为命令逐一地发送至无人机。在执行各命令之后,无人机可以向装置发送完成信号或消息。在接收到完成信号或消息之后,通信接口130自动地向无人机发送下一命令。以这种方式,无人机与装置进行持续通信。如果无人机失去与装置的通信连接,则可以生成警告消息并经由装置上的用户接口来显示该警告消息。用户可以响应于警告消息而采取任何必要的动作以与无人机进行重新连接。在一些实施例中,如果无人机撞向物体或人,则可以生成警告消息并在装置上显示该警告消息。在检测到飞行危险的情况下,可以使用无人机上的传感器来生成该警告消息。

在一些实施例中,当无人机正在按路线进行导航时,装置可以基于无人机所观察到的相对于指定路线的任何漂移来调整第二组指令。可以由无人机上的传感器检测所述漂移,并且第二组指令可以适当地校正无人机的航线或者使无人机与路线重新对准。

在示例性实施例中,第二组指令还包括使无人机在按路线进行导航时定期地停止并且启动成像装置获取成像数据的指令。在一个实施例中,无人机可以在其进行路线导航的同时存储成像数据,并且该成像数据可以在完成路线之后被发送至服务器(例如,服务器330)以供该服务器中所包括的图像处理模块140进行图像处理。在另一实施例中,无人机可以在继续遍历路线的同时发送成像数据。在一些实施例中,无人机的位置以及启动成像装置的时间由服务器记录在数据库(例如,数据库340)中。

在非限制性示例中,在建筑物是仓库或零售商店的情况下,成像数据可以指示与放置在建筑物中的多个搁架上的物品相关的信息。成像模块140可以自动处理成像数据以识别搁架上的一个或多个物品。成像模块140还可以自动判断物品是在正确的搁架处或者是否在正确的通道中(即,物品是否被错误搁置),或者搁架是否需要重新进货。成像模块140还可以判断建筑物中的固定件是否需要检查。

以这种方式,无人机导航系统提供了无人机室内路线导航的自主操作。如上所述,通过使用建筑物的内部部分的cad蓝图、使用cad蓝图来生成路线以及用以按该路线进行导航的指示、然后将指示转换为无人机可以理解的命令来实现这一点。

图3示出描绘了根据示例性实施例的用于实现无人机导航系统的系统300的网络图。系统300可以包括网络305、建筑物309内部的无人机310、装置320、服务器330、以及数据库340。组件310、320、330和340中的各组件与网络305进行通信。

在示例性实施例中,网络305的一个或多个部分可以是自组织网络、内联网、外联网、虚拟专用网络(vpn)、局域网(lan)、无线局域网(wlan)、广域网(wan)、无线广域网(wwan)、城域网(man)、因特网的一部分、公共交换电话网络(pstn)的一部分、蜂窝电话网络、无线网络、wifi网络、wimax网络、任何其它类型的网络、或者两个或更多个这样的网络的组合。

无人机310可以包括但不限于用以捕捉视频、照片和/或音频数据的诸如照相机等的摄像装置。无人机310还可以包括用以帮助与诸如装置320等的各种装置以及/或者诸如服务器330等的服务器进行通信的无线通信接口或机制。

装置320可以包括但不限于工作站、计算机、通用计算机、因特网设备、手持式装置、无线装置、便携式装置、可穿戴式计算机、蜂窝或移动电话、便携式数字助理(pda)、智能电话、平板计算机、超极本、上网本、膝上型计算机、台式计算机、多处理器系统、基于微处理器的或可编程的消费性电子产品、游戏机、机顶盒、网络pc、以及小型计算机等。装置320可以包括与图4所示的计算装置400结合描述的一个或多个组件。在一个实施例中,装置320是由零售商店或仓库的雇员操作的平板计算装置。

装置320可以经由有线或无线连接而连接到网络305。装置320可以包括一个或多个应用,例如但不限于这里所述的无人机导航系统100。

在示例性实施例中,无人机导航系统100的一些组件可被包括在装置320中,而其它组件被包括在服务器330中。这里所述的无人机导航系统的一些功能可以由装置320执行,诸如接收cad蓝图的选择、生成导航路线、以及将命令导出至无人机310等,而其它功能可以由服务器330执行,诸如处理并分析无人机310所获取的图像数据。

数据库340和服务器330各自经由有线连接而连接至网络305。或者,数据库340和服务器330中的一个或多个可以经由无线连接而连接至网络305。服务器330包括被配置为经由网络305而与无人机310、装置320和数据库340进行通信的一个或多个计算机或处理器。服务器330主持装置320所访问的一个或多个应用或网站,以及/或者促进对数据库340的内容的访问。数据库340包括用于存储装置320和服务器330所使用的数据和/或指令(或代码)的一个或多个存储装置。数据库340和/或服务器330可以位于相对于彼此或者相对于装置320地理分布的一个或多个位置处。或者,数据库340可被包括在服务器330内。

图4是可用于实现这里所述的无人机导航系统100的典型实施例的典型计算装置400的框图。计算装置400包括一个或多个非暂时性计算机可读介质,所述计算机可读介质用于存储实现典型实施例所用的一个或多个计算机可执行指令或软件。非暂时性计算机可读介质可以包括但不限于一种或多种类型的硬件存储器和非暂时性有形介质(例如,一个或多个磁存储盘、一个或多个光盘、一个或多个闪存驱动器)等。例如,计算装置400中所包括的存储器406可以存储用于实现无人机导航系统100的典型实施例的计算机可读且计算机可执行的指令或软件。计算装置400还包括可配置和/或可编程处理器402和相关的核404、以及可选的一个或多个附加的可配置和/或可编程处理器402'和相关的核404'(例如,在计算机系统具有多个处理器/核的情况下),以执行存储器406中所存储的计算机可读且计算机可执行的指令或软件以及用于控制系统硬件的其它程序。处理器402和处理器402'各自可以是单核处理器或多核(404和404')处理器。

可以在计算装置400中采用虚拟化,使得可以动态地共享计算装置中的基础架构和资源。可以提供虚拟机414来处理多个处理器上所运行的进程,使得该进程看起来像仅使用一个计算资源而不是多个计算资源。也可以利用一个处理器使用多个虚拟机。

存储器406可以包括计算机系统存储器、或者诸如dram、sram和edoram等的随机存取存储器。存储器406也可以包括其它类型的存储器或其组合。

用户可以通过诸如计算机监视器等的视觉显示装置418来与计算装置400进行交互,其中该视觉显示装置418可以显示可根据典型实施例而设置的一个或多个图形用户接口422。计算装置400可以包括用于从用户接收输入的其它i/o装置,例如,键盘或任何合适的多点触摸接口408、指点装置410(例如,鼠标)、麦克风428、以及/或者摄像装置432(例如,照相机或扫描仪)。多点触摸接口408(例如,键盘、密码键盘、扫描仪、触摸屏等)和指点装置410(例如,鼠标、触控笔等)可以连接至视觉显示装置418。计算装置400可以包括其它合适的传统i/o外围装置。

计算装置400还可以包括诸如硬盘驱动器、cd-rom或其它计算机可读介质等的一个或多个存储装置424,来存储数据以及用于实现这里所述的无人机导航系统100的典型实施例的计算机可读指令和/或软件。典型存储装置424还可以存储一个或多个数据库,所述一个或多个数据库用于存储实现典型实施例所需的任何合适的信息。例如,典型存储装置424可以存储用于存储信息(诸如cad蓝图、无人机310所拍摄的图像数据、无人机310的规格或型号信息、以及/或者系统100的实施例所要使用的任何其他信息等)的一个或多个数据库426。可以在任何合适的时间手动地或自动地更新数据库,以在数据库中添加、删除和/或更新一个或多个项。

计算装置400可以包括网络接口412,其中该网络接口412被配置为经由一个或多个网络装置420、通过各种连接来与一个或多个网络连接,所述网络例如,局域网(lan)、广域网(wan)或因特网,所述连接包括但不限于标准电话线、lan或wan链路(例如,802.11、t1、t3、56kb、x.25)、宽带连接(例如,isdn、帧中继、atm)、无线连接、控制器区域网络(can)、或者以上的任意或全部的一些组合。在典型实施例中,计算装置400可以包括一个或多个天线430以帮助计算装置400和网络之间的(例如,经由网络接口的)无线通信。网络接口412可以包括内置网络适配器、网络接口卡、pcmcia网卡、卡总线网络适配器、无线网络适配器、usb网络适配器、调制解调器、或者适用于使计算装置400与能够通信并且进行这里所述的操作的任何类型的网络相结合的任何其它装置。此外,计算装置400可以是任何计算机系统,诸如工作站、台式计算机、服务器、膝上型计算机、手持式计算机、平板计算机(例如,ipadtm平板计算机)、移动计算或通信装置(例如,iphonetm通信装置)、销售点终端、公司内部装置、或者能够通信并且具有足够的处理器能力和存储器容量来进行这里所述的操作的其它形式的计算或电信装置等。

计算装置400可以运行任何操作系统416,诸如操作系统的任何版本、unix和linux操作系统的不同发布版本、麦金塔(macintosh)计算机所用的的任何版本、任何嵌入式操作系统、任何实时操作系统、任何开源操作系统、任何专有操作系统、或者能够运行在计算装置上并进行这里所述的操作的任何其它操作系统等。在典型实施例中,操作系统416可以在本机模式或仿真模式下运行。在典型实施例中,操作系统416可以在一个或多个云机器实例上运行。

以下描述被呈现为使得本领域技术人员能够创建并使用计算机系统配置以及相关方法和制品以灵活地保护卡数据。示例性实施例的各种修改对于本领域技术人员将是明显的,并且这里所定义的一般原理可以在不偏离本发明的精神和范围的情况下适用于其它实施例和应用。此外,在以下描述中,为了解释目的而阐述了许多详情。然而,本领域普通技术人员将意识到,可以在不使用这些具体详情的情况下实践本发明。在其它情况下,以框图形式示出公知的结构和处理,以免不必要的详情模糊本发明的描述。因此,本发明不旨在限于所示的实施例,而是应符合与这里所公开的原理和特征一致的最宽范围。

在描述典型实施例时,为清楚起见使用特定的术语。为了描述的目的,各个特定术语旨在至少包括以相同的方式进行操作以实现相同的目的的所有技术和功能等同项。另外,在特定典型实施例包括多个系统元件、装置组件或方法步骤的一些实例中,这些元件、组件或步骤可以被单个元件、组件或步骤代替。同样,单个元件、组件或步骤可以被服务于相同目的的多个元件、组件或步骤代替。此外,虽然已经参考特定实施例示出并描述了典型实施例,但本领域普通技术人员将理解,在不偏离本发明的范围的情况下,可以在形式和细节上进行各种替换和更改。更进一步地,其它实施例、功能和优点也在本发明的范围内。

这里为了说明目的而提供了典型流程图,并且这些流程图是方法的非限制性示例。本领域普通技术人员将认识到,典型方法可以包括比典型流程图中所示的更多或更少的步骤,并且典型流程图中的步骤可以按照与说明性流程图中所示的顺序不同的顺序执行。

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