掌桥专利:专业的专利平台
掌桥专利
首页

自移动设备的定位方法、装置、自移动设备及存储介质

文献发布时间:2024-04-18 19:52:40



技术领域

本申请属于自移动设备技术领域,尤其涉及自移动设备的定位方法、装置、自移动设备及存储介质。

背景技术

随着科学技术的发展,割草机器人等自移动设备的应用也越来越广泛。在自移动设备的使用过程中,通常需要对自移动设备进行定位。

相关技术中,自移动设备通常需要依赖卫星信号来进行定位,但是,若自移动设备所处的位置存在遮挡,比如,大树遮挡、高楼遮挡、大棚遮挡等,可能导致自移动设备所接收的卫星信号不好,甚至接收不到卫星信号,导致自移动设备难以定位。

发明内容

本申请实施例提供了自移动设备的定位方法、装置、自移动设备及存储介质,旨在解决相关技术中,自移动设备所接收的卫星信号不好,甚至接收不到卫星信号所导致的自移动设备难以定位的问题。

第一方面,本申请实施例提供了一种自移动设备的定位方法,该方法应用于第一自移动设备,包括:

响应于协同作业的预设指令,获取协同作业的地图数据;

在按照地图数据进行协同作业的过程中检测到卫星信号存在异常时,获取协同作业中的第二自移动设备的位置信息和卫星信号质量,其中,卫星信号质量用于指示卫星信号是否异常;

根据第二自移动设备的卫星信号质量和第二自移动设备与第一自移动设备之间的位置距离,确定参考自移动设备;

根据参考自移动设备的定位信息,以及第一自移动设备与参考自移动设备之间的偏移位置信息,确定第一自移动设备在地图中的定位信息。

本申请实施例与相关技术相比存在的有益效果是:通过对与第一自移动设备协同工作的第二自移动设备对应的卫星信号质量和位置距离进行分析,实现从一个或多个第二自移动设备中确定出用于对该第一自移动设备进行定位参考的参考自移动设备,以及基于参考自移动设备的定位信息,对第一自移动设备进行辅助定位,可以实现在第一自移动设备的卫星信号存在异常时,对第一自移动设备进行有效定位。

第二方面,本申请实施例提供了一种自移动设备的定位装置,该装置应用于第一自移动设备,包括:

地图获取单元,用于响应于协同作业的预设指令,获取协同作业的地图数据;

信息获取单元,用于在按照地图数据进行协同作业的过程中检测到卫星信号存在异常时,获取协同作业中的第二自移动设备的位置信息和卫星信号质量,其中,卫星信号质量用于指示卫星信号是否异常;

参考确定单元,用于根据第二自移动设备的卫星信号质量和第二自移动设备与第一自移动设备之间的位置距离,确定参考自移动设备;

定位执行单元,用于根据参考自移动设备的定位信息,以及第一自移动设备与参考自移动设备之间的偏移位置信息,确定第一自移动设备在地图中的定位信息。

第三方面,本申请实施例提供了一种自移动设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述自移动设备的定位方法的步骤。

第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现上述自移动设备的定位方法的步骤。

第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在自移动设备上运行时,使得自移动设备执行上述自移动设备的定位方法。

可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请的一个实施例可以应用于其中的示例性系统架构图;

图2是本申请一实施例提供的自移动设备的定位方法的流程示意图;

图3是本申请一实施例提供的由多个自移动设备共同完成某一项任务的场景示意图;

图4是本申请一实施例提供的创建工作地图的流程示意图;

图5是本申请一实施例提供的通过多个自移动设备分别创建的子地图融合得到工作地图的效果示意图;

图6是本申请一实施例提供的第一自移动设备与参考自移动设备之间的相对位置关系示意图;

图7是本申请一实施例提供的用于确定参考自移动设备的流程示意图;

图8是本申请另一实施例提供的自移动设备的定位方法的流程示意图;

图9是本申请一实施例提供的自移动设备的定位装置的结构框图;

图10是本申请一实施例提供的自移动设备的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。

为了说明本申请的技术方案,下面通过以下实施例来进行说明。

图1是本申请的一个实施例可以应用于其中的示例性系统架构图。如图1所示,系统架构可以包括用户端101、服务器102和多个自移动设备,比如,自移动设备A、自移动设备B和自移动设备C。其中,各个自移动设备可以独立作业,也可以协同作业。用户端101可以通过网络与服务器102连接,服务器102可以通过网络分别与各个自移动设备连接。上述网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

实践中,用户端101上可以安装有各种应用,例如即时通信类应用、设备管理类应用、远程监控类应用等。实际应用中,用户可以通过与用户端101上安装的应用与服务器102进行交互。比如,通过设备管理类应用,实现与服务器102交互,从而对服务器102连接的每个自移动设备进行使用或控制。

在一个应用场景中,若用户需要多个自移动设备进行协同作业,则用户可以在用户端101上的对应应用中,通过选择各自移动设备的身份标识。比如,选择A和B,从而实现选取对应的自移动设备A与自移动设备B。另外,用户也可以在该应用中分别为各自移动设备选取工作区域和/或工作内容。比如,可以将工作地图中的区域1选作自移动设备A的工作区域,并将自移动设备A的割草高度设定为5厘米,以及将工作地图中的区域2选作自移动设备B的工作区域,并将自移动设备B的割草高度设定为3厘米。之后,用户端101可以将用户选取或者设定的关于多个自移动设备协同作业的信息发送至服务器102。这样,服务器102可以确定需要协同作业的所有自移动设备,以及控制这些自移动设备进入协同作业。最后,需要协同作业的各自移动设备可以按照各自的工作内容和工作区域进行协同作业。

实际应用中,用户可以结合待执行任务涉及的区域及工作内容,以及各自移动设备的当前位置、当前电量、各自移动设备所需挂载的设备等,对各自移动设备的工作区域和/或工作内容进行分配。

应该理解,图1中的用户端、服务器和自移动设备的数目仅仅是示意性的。根据实现需要,可以具有任意数目的用户端、服务器和自移动设备。

在一些实施例中,服务器102可以用于存储用户端101与自移动设备(A、B、C)之间的绑定关系。在实际应用中,在用户端的应用中可以显示与该用户端相互绑定的所有自移动设备,供用户选择自移动设备进行控制。容易理解的是,在用户选择相应的自移动设备后,用户端101与被选择的自移动设备之间可以通过近场通信的方式进行交互。例如,用户端101与被选择的自移动设备之间通过蓝牙进行连接,用户端101可以直接向被选择的自移动设备发送控制指令,控制被选择的自移动设备执行相应的操作或任务。

继续参阅图2,图2为本申请实施例提供的自移动设备的定位方法的一种流程示意图。图2所示的该自移动设备的定位方法的执行主体通常为第一自移动设备,该自移动设备的定位方法可以通过如下步骤201-步骤204实现。

步骤201,响应于协同作业的预设指令,获取协同作业的地图数据。

其中,上述预设指令通常是预先设定的用于指示协同作业的指令。预设指令还可以是用户利用用户端向服务器发送控制指令,服务器根据该控制指令生成的用于指示协同作业的预设指令。该预设指令也可以是用户利用用户端通过近场通信的方式向第一自移动设备发送。

在本实施例中,上述自移动设备的定位方法的执行主体通常为第一自移动设备,其中,第一自移动设备可以是协同作业的多个自移动设备中的任一自移动设备。

这里,第一自移动设备可以通过网络接收到服务器发送的预设指令,在接收到上述预设指令之后,第一自移动设备可以从服务器中获取协同作业的地图数据。或者,第一自移动设备接收用户端通过近场通信的方式发送的预设指令,通过响应该预设指令从预设的存储器中获取协同作业的地图数据,其中,预设的存储器可以是第一自移动设备中的存储器,也可以是协同作业任务涉及的其他自移动设备中的存储器。这样,第一自移动设备可以基于该地图数据进行协同作业。实践中,多个自移动设备协同作业通常是共同完成某一项任务,比如,在各自移动设备为割草机器人时,该项任务可以是共同完成对某一片草地进行割草。

图3为本申请实施例提供的由多个自移动设备共同完成某一项任务的场景示意图。如图3所示,由A、B、C三个自移动设备共同完成对某一片草地进行割草。图3中,A对应的工作区域为左侧区域,且A的割草高度为5厘米;B对应的工作区域为右侧区域中的部分区域,且B的割草高度为8厘米;C对应的工作区域为右侧区域中除B的工作区域外的区域,且C的割草高度为5厘米。

需要指出的是,协同作业的多个自移动设备通常共用一个工作地图,且该工作地图通常在协同作业之前创建得到。该工作地图可以通过一个自移动设备创建得到,也可以通过多个自移动设备分别创建的子地图融合得到。

图4为本申请实施例提供的创建工作地图的流程示意图。如图4所示,自移动设备可以实现为机器人,比如,可以为割草机器人,该实现流程可以包括如下步骤401-步骤411。

步骤401,用户构建地图。

这里,用户可以在用户端上进行操作,触发启动构建地图。

步骤402,用户选择构建方式。

这里,用户可以在用户端上选择用于构建地图的方式。构建方式可以包括单机器人构图模式和多机器人构图模式。在单机器人构图模式时,可以采用单个自移动设备构建全部工作地图。在多机器人构图模式时,可以采用多个自移动设备分别构建部分地图,也即是构建子地图,然后通过将多个子地图融合起来得到工作地图。

步骤403,若构建方式为单机器人构图模式,则执行步骤405。

这里,在单机器人构图模式下,工作地图由一个自移动设备创建得到。

步骤404,若构建方式为多机器人构图模式,则执行步骤409。

这里,在多机器人构图模式下,工作地图通过多个自移动设备分别创建的子地图融合得到。

步骤405,遥控机器人构建地图。

这里,用户可以通过用户端,控制所选定的自移动设备按照指定的行驶路径行驶,这样,该自移动设备可以创建地图。

步骤406,机器人完成地图构建,服务器获取地图。

这里,所选定的自移动设备构建工作地图之后,可以将所构建的工作地图传输至服务器中,这样,服务器可以获取到该工作地图。

步骤407,服务器将工作地图同步至所有机器人。

步骤408,每个机器人获取到工作地图。

这里,与服务器通信连接的每个自移动设备可以获取到工作地图。图4中,与服务器通信连接的A、B、C等多个自移动设备可以获取到工作地图。

步骤409,分别遥控各机器人构建地图。

这里,用户可以通过用户端,分别控制各自移动设备按照指定的行驶路径行驶,这样,各自移动设备可以创建对应的子地图。图4中,可以分别控制A、B、C等多个自移动设备构建子地图。这里,遥控自移动设备构建子地图时,用户端通过近场通信的方式与自移动设备建立连接,例如,用户端与自移动设备建立蓝牙连接,用户端直接向自移动设备发送遥控指令,控制自移动设备在工作区域内移动,根据移动轨迹构建得到子地图。

步骤410,各机器人分别完成地图构建,服务器获取地图。

这里,每个自移动设备构建子地图之后,可以将所构建的子地图传输至服务器中,这样,服务器可以获取到多个子地图。

步骤411,服务器对多个子地图进行融合,得到工作地图之后,执行步骤407。

这里,服务器可以通过对多个子地图取交集,实现对多个子地图进行融合,从而得到工作地图。

图5为本申请实施例提供的通过多个自移动设备分别创建的子地图融合得到工作地图的效果示意图。如图5所示,多个自移动设备,比如,A、B、C三个自移动设备,分别创建的子地图对应的地图区域,通过并集操作,可以融合得到工作地图。

步骤202,在按照地图数据进行协同作业的过程中检测到卫星信号存在异常时,获取协同作业中的第二自移动设备的位置信息和卫星信号质量。

其中,卫星信号质量用于指示卫星信号是否异常。

其中,上述第二自移动设备泛指与第一自移动设备协同作业的自移动设备。容易理解的是,在协同作业中,用户可以选择多台自移动设备开展协同作业。也即,除了第一自移动设备之外,第二自移动设备可以是一台或者多台,在此不作限制。

实践中,在第一自移动设备按照地图数据进行协同作业的过程中,若第一自移动设备检测到卫星信号存在异常,此时,第一自移动设备可以从服务器获取第二自移动设备的位置信息和卫星信号质量,其中,服务器用于与协同作业中的所有自移动设备通信。实际应用中,每个自移动设备可以将自身的位置信息和卫星信号质量实时发送至服务器中,故而,第一自移动设备可以从服务器获取到第二自移动设备的位置信息和卫星信号质量。

实践中,每个自移动设备可以通过如下方式确定自身的卫星信号是否异常:通过自身安装的卫星信号接收装置输出的信号状态指示信息,确定卫星信号是否异常。作为示例,在上述卫星信号接收装置为实时差分定位接收机(Real Time Kinematic,RTK)时,若信号状态指示信息为“4”,则指示卫星信号正常,若信号状态指示信息为“0”,则指示卫星信号异常。

步骤203,根据第二自移动设备的卫星信号质量和第二自移动设备与第一自移动设备之间的位置距离,确定参考自移动设备。

这里,第二自移动设备的数量可以有一个也可以有多个。针对每个第二自移动设备,第一自移动设备可以计算其与该第二自移动设备之间的位置距离。之后,第一自移动设备可以结合第二自移动设备的卫星信号质量以及其与第二自移动设备之间的位置距离,从一个或多个第二自移动设备中确定得到一个参考自移动设备。作为示例,可以将卫星信号质量指示卫星信号正常且位置距离小于某个阈值的第二自移动设备确定为参考自移动设备。

步骤204,根据参考自移动设备的定位信息,以及第一自移动设备与参考自移动设备之间的偏移位置信息,确定第一自移动设备在地图中的定位信息。

其中,上述偏移位置信息通常用于指示第一自移动设备与参考自移动设备之间的相对位置。实践中,上述偏移位置信息可以包括偏移角度和偏移位移。偏移角度用于指示第一自移动设备与参考自移动设备之间的相对角度,偏移位移用于指示第一自移动设备与参考自移动设备之间的相对位移。

这里,参考自移动设备通常会将实时的定位信息发送至服务器中,因此,第一自移动设备可以通过服务器获取到参考自移动设备的实时定位信息。之后,第一自移动设备可以采用参考自移动设备的定位信息和上述偏移位置信息,计算得到第一自移动设备在地图中的定位信息。

图6为本申请实施例提供的第一自移动设备与参考自移动设备之间的相对位置关系示意图。图6中,A、B、C三个自移动设备正在协同作业,bs1为A对应的基站,bs2为B对应的基站,bs3为C对应的基站,bs1在地图中的坐标为(0,0)。如图6所示,在第一自移动设备为C,参考自移动设备为B时,若B的定位信息为(6,-9),则根据B与C之间的偏移角度θ和偏移位移L可以计算得到C在地图中的定位信息。具体地,可以计算得到C的定位信息为(Xc,Yc),其中,Xc=Xb+L×cos(π-θ),Yc=Yb+L×sin(π-θ),(Xb,Yb)为B的定位信息。

实践中,由于协同作业的各自移动设备通常是按照预先规划的行驶路径行驶,因此,在第一自移动设备的卫星信号异常时,该第一自移动设备的行驶路径通常不发生变化,第一自移动设备可以结合行驶路径及自身安装的各种传感器,比如,深度摄像头、里程计等,测量得到其与参考自移动设备之间的偏移位置信息,比如,采用深度摄像头采集得到第一自移动设备与参考自移动设备之间的偏移位移。

本实施例提供的自移动设备的定位方法,通过对与第一自移动设备协同工作的第二自移动设备对应的卫星信号质量和位置距离进行分析,实现从一个或多个第二自移动设备中确定出用于对该第一自移动设备进行定位参考的参考自移动设备,以及基于参考自移动设备的定位信息,对第一自移动设备进行辅助定位,可以实现在第一自移动设备的卫星信号存在异常时,对第一自移动设备进行有效定位。

图7为本申请一实施例提供的用于确定参考自移动设备的流程示意图。结合图7,上述步骤203中,根据第二自移动设备的卫星信号质量和第二自移动设备与第一自移动设备之间的位置距离,确定参考自移动设备,可以包括如下步骤701至步骤703。

步骤701,若第二自移动设备有多个,则将对应卫星信号质量指示卫星信号正常的第二自移动设备,确定为候选自移动设备。

这里,在第二自移动设备有多个的情况下,第一自移动设备可以结合每个第二自移动设备的卫星信号质量,从多个第二自移动设备中,选取出卫星信号正常的第二自移动设备作为候选自移动设备。

步骤702,确定每个候选自移动设备与第一自移动设备之间的距离值。

这里,针对每个候选自移动设备,可以采用该候选自移动设备的位置信息和第一自移动设备的位置信息,计算该候选自移动设备与第一自移动设备之间的距离值。

步骤703,将距离值满足预设筛选条件的候选自移动设备,确定为参考自移动设备。

其中,上述预设筛选条件通常是预先设定的用于筛选候选自移动设备的条件。作为示例,上述预设筛选条件可以为筛选对应距离值最小的候选自移动设备。

这里,第一自移动设备可以从一个或多个候选自移动设备中,选取出一个对应距离值满足预设筛选条件的候选自移动设备,作为上述参考自移动设备。

本实施例中,同时结合第二自移动设备的卫星信号质量和第二自移动设备与第一自移动设备之间的位置距离,来确定用于对该第一自移动设备进行定位参考的参考自移动设备,可以实现对参考自移动设备的准确有效选取。

在上述实现方式中,上述将距离值满足预设筛选条件的候选自移动设备,确定为参考自移动设备,可以包括:将距离值最小的候选自移动设备,确定为参考自移动设备;或者将距离值小于预设距离阈值的候选自移动设备,确定为参考自移动设备。

其中,上述预设距离阈值通常是预先设定的距离值。

这里,由于距离越近,第一自移动设备能够更准确有效地识别其与第二自移动设备之间的偏移位置信息,因此,将距离值较小的候选自移动设备确定为参考自移动设备,可以实现第一自移动设备准确有效的确定出上述偏移位置信息,从而进一步提高第一自移动设备定位的准确性。

在本实施例的一些可选的实现方式中,上述步骤203中,根据第二自移动设备的卫星信号质量和第二自移动设备与第一自移动设备之间的位置距离,确定参考自移动设备,可以包括:若第二自移动设备有一个,则在第二自移动设备的卫星信号质量指示卫星信号正常时,将第二自移动设备,确定为参考自移动设备。

这里,在只有一个第二自移动设备的情况下,可以结合该第二自移动设备的卫星信号质量,确定该第二自移动设备的卫星信号是否正常,若卫星信号正常,则直接将该第二自移动设备确定为上述参考自移动设备。这样可以实现第一自移动设备在卫星信号异常的情况下,基于卫星信号正常的第二自移动设备的定位信息进行辅助定位,从而保障第一自移动设备准确有效地定位。

在本实施例的一些可选的实现方式中,上述步骤202中,在按照地图数据进行协同作业的过程中检测到卫星信号存在异常时,获取协同作业中的第二自移动设备的位置信息和卫星信号质量,可以包括如下步骤一和步骤二。

步骤一,在按照地图进行协同作业的过程中检测到卫星信号存在异常时,对卫星信号存在异常的持续时长进行计时,得到卫星定位异常时长。

这里,在第一自移动设备按照地图进行协同作业的过程中,若检测到卫星信号存在异常,此时,第一自移动设备可以开始计时,通过该计时得到卫星信号存在异常的持续时长,也即是得到上述卫星定位异常时长。

步骤二,若卫星定位异常时长大于预设时长阈值时,获取协同作业中的第二自移动设备的位置信息和卫星信号质量。

其中,上述预设时长阈值通常是预先设定的时长值,比如,可以为10秒、15秒等。

这里,在卫星定位异常时长大于预设时长阈值时,可以执行获取第二自移动设备的位置信息和卫星信号质量的步骤。

本实施例中,在卫星定位异常时长大于预设时长阈值的情况下,才执行上述获取第二自移动设备的位置信息和卫星信号质量的步骤,可以避免由于信号偶然的波动所导致的信号异常情况,从而避免频繁切换定位方案,有助于提高第一自移动设备进行定位的稳定性。

在本实施例的一些可选的实现方式中,上述第一自移动设备设置有目标传感器,实践中,上述目标传感器可以包括但不限于图像采集装置、行程测量装置等。实际应用中,上述图像采集装置可以为深度摄像头,上述行程测量装置可以为里程计。

该实施例中,在获取协同作业中的第二自移动设备的位置信息和卫星信号质量的步骤之前,上述自移动设备的定位方法还可以包括如下步骤:

首先,获取目标传感器采集到的位置变化数据和/或当前位置信息。

上述位置变化数据通常是指示位置变化量的数据。作为示例,在目标传感器为里程计时,上述位置变化数据可以为里程计的行程变化量。作为另一个示例,在目标传感器为深度摄像头时,上述位置变化数据也可以为该深度摄像头所采集的前后帧图像针对同一目标的位移变化量。

这里,第一自移动设备可以获取到自身的当前位置信息。同时,第一自移动设备可以采用目标传感器获取到第一自动设备的位置变化数据。

然后,根据目标传感器采集的位置变化数据和/或第一自移动设备的当前位置,确定第一自移动设备的定位信息。

这里,第一自移动设备可以采用上述位置变化数据与当前位置,计算得到第一自移动设备的定位信息。

本实施例中,在第一自移动设备的卫星信号异常时,通常会先启动自身的目标传感器进行融合定位,比如,可以采用里程计计算得到位置变化数据,再添上第一自移动设备的当前位置进行融合定位,再比如,可以采用深度摄像头前后帧对比来计算得到位置变化数据,再添上第一自移动设备的当前位置进行融合定位。实际应用中,若机器人正常工作时,可以优先采用里程计进行融合定位,这样计算量小定位速度快,但是,当里程计位置在不断累积变化,而机器人的RTK定位并没有变化时,自移动设备可能存在打滑情况,此时,可以采用深度摄像度进行融合定位。第一自移动设备进行可以基于多种方式进行融合定位,有助于实现准确定位。

继续参阅图8,图8为本申请另一实施例提供的自移动设备的定位方法的流程示意图。如图8所示,自移动设备可以实现为机器人,比如,可以为割草机器人,该自移动设备的定位方法可以包括如下步骤801-步骤811。图8中,A、B、C三个自移动设备协同作业,A为第一自移动设备,B和C为第二自移动设备,步骤801-步骤811的执行主体为A,即第一自移动设备。

步骤801,A开始工作。

步骤802,A实时获取卫星信号用于定位。

步骤803,A判断当前卫星信号是否异常,若正常则执行步骤804,若异常则执行步骤805。

步骤804,继续工作。

步骤805,使用多传感器融合定位,继续工作。

这里,A判断自身卫星信号异常时,可以首先采用多传感器融合定位,以继续工作。实践中,A可以采用里程计计算得到位置变化数据,再添上A的当前位置进行融合定位,再比如,A可以采用深度摄像头前后帧对比来计算得到位置变化数据,再添上A的当前位置进行融合定位。

步骤806,判读当前卫星信号是否恢复正常,若果恢复正常则执行步骤802,若超过10秒没有恢复正常,则执行步骤807。

其中,上述10秒即为前述预设时长阈值。

步骤807,A从服务器获取到B和C当前的位置信息以及B和C当前卫星信号情况。

这里,卫星信号情况与前述卫星信号质量概念等同。

步骤808,从B和C中找到卫星信号正常且距离A最近的目标机器人。

步骤809,摄像头识别目标机器人与A当前位置之间的偏移位置信息。

这里,若步骤808找出的目标机器人为B,则A可以通过摄像头识别B与A之间的偏移位置信息。

步骤810,获取到目标机器人的当前实时位置信息添加上的偏移位置信息,实现定位。

这里,若步骤808找出的目标机器人为B,则A可以从服务器中获取B的实时位置信息,也即是可以实时获取到B的定位信息。在B的定位信息的基础上,添加上B与A之间的偏移位置信息,可以得到A的定位信息,从而实现对A进行定位。

步骤811,判断当前卫星信号是否恢复正常,若恢复正常则执行步骤802,若没有恢复则执行步骤807。

这里,若A的卫星信号恢复正常,则可以通过自身所获取的卫星信号进行定位。若A的卫星信号没有恢复正常,则继续采用协同作业的其它机器人的定位信息,对A进行辅助定位。

对应于上文实施例的自移动设备的定位方法,图9示出了本申请实施例提供的自移动设备的定位装置900的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。参照图9,该装置可以应用于第一自移动设备,包括地图获取单元901、信息获取单元902、参考确定单元903和定位执行单元904。

地图获取单元901,用于响应于协同作业的预设指令,获取协同作业的地图数据;

信息获取单元902,用于在按照地图数据进行协同作业的过程中检测到卫星信号存在异常时,获取协同作业中的第二自移动设备的位置信息和卫星信号质量,其中,卫星信号质量用于指示卫星信号是否异常;

参考确定单元903,用于根据第二自移动设备的卫星信号质量和第二自移动设备与第一自移动设备之间的位置距离,确定参考自移动设备;

定位执行单元904,用于根据参考自移动设备的定位信息,以及第一自移动设备与参考自移动设备之间的偏移位置信息,确定第一自移动设备在地图中的定位信息。

在一些实施例中,参考确定单元903包括候选确定模块、距离确定模块和第一参考模块。第一候选模块,用于若第二自移动设备有多个,则将对应卫星信号质量指示卫星信号正常的第二自移动设备,确定为候选自移动设备;距离确定模块,用于确定每个候选自移动设备与第一自移动设备之间的距离值;第一参考模块,用于将距离值满足预设筛选条件的候选自移动设备,确定为参考自移动设备。在一些实施例中,第一参考模块,具体用于将距离值最小的候选自移动设备,确定为参考自移动设备;或者将距离值小于预设距离阈值的候选自移动设备,确定为参考自移动设备。

在一些实施例中,参考确定单元903还包括第二参考模块。第二参考模块,用于若第二自移动设备有一个,则在第二自移动设备的卫星信号质量指示卫星信号正常时,将第二自移动设备,确定为参考自移动设备。

在一些实施例中,信息获取单元902包括计时执行模块和数据获取模块。计时执行模块,用于在按照地图进行协同作业的过程中检测到卫星信号存在异常时,对卫星信号存在异常的持续时长进行计时,得到卫星定位异常时长;数据获取模块,用于若卫星定位异常时长大于预设时长阈值时,获取协同作业中的第二自移动设备的位置信息和卫星信号质量。

在一些实施例中,第一自移动设备设置有目标传感器;装置还可以包括信息采集单元和融合定位单元。信息采集单元,用于获取目标传感器采集到的位置变化数据和/或当前位置信息;融合定位单元,用于根据目标传感器采集的位置变化数据和/或第一自移动设备的当前位置,确定第一自移动设备的定位信息。

在一些实施例中,信息获取单元902中,获取协同作业中的第二自移动设备的位置信息和卫星信号质量,包括:从服务器获取第二自移动设备的位置信息和卫星信号质量,其中,服务器用于与协同作业中的所有自移动设备通信。

本实施例提供的装置,通过对与第一自移动设备协同工作的第二自移动设备对应的卫星信号质量和位置距离进行分析,实现从一个或多个第二自移动设备中确定出用于对该第一自移动设备进行定位参考的参考自移动设备,以及基于参考自移动设备的定位信息,对第一自移动设备进行辅助定位,可以实现在第一自移动设备的卫星信号存在异常时,对第一自移动设备进行有效定位。

需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。

图10为本申请一实施例提供的自移动设备1000的结构示意图。如图10所示,该实施例的自移动设备1000包括:至少一个处理器1001(图10中仅示出一个处理器)、存储器1002以及存储在存储器1002中并可在至少一个处理器1001上运行的计算机程序1003,例如自移动设备的定位程序。处理器1001执行计算机程序1003时实现上述任意各个方法实施例中的步骤。处理器1001执行计算机程序1003时实现上述各个自移动设备的定位方法的实施例中的步骤。处理器1001执行计算机程序1003时实现上述各装置实施例中各模块/单元的功能,例如图9所示地图获取单元901、信息获取单元902、参考确定单元903和定位执行单元904的功能。

示例性的,计算机程序1003可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器1002中,并由处理器1001执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序1003在自移动设备1000中的执行过程。例如,计算机程序1003可以被分割成地图获取单元,信息获取单元,参考确定单元,定位执行单元,各单元具体功能在上述实施例中已有描述,此处不再赘述。

自移动设备1000可包括:但不仅限于,处理器1001,存储器1002。本领域技术人员可以理解,图10仅仅是自移动设备1000的示例,并不构成对自移动设备1000的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如自移动设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器1001可以是中央处理单元(Central Processing Unit,CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器1002可以是自移动设备1000的内部存储单元,例如自移动设备1000的硬盘或内存。存储器1002也可以是自移动设备1000的外部存储设备,例如自移动设备1000上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器1002还可以既包括自移动设备1000的内部存储单元也包括外部存储设备。存储器1002用于存储计算机程序以及自移动设备所需的其它程序和数据。存储器1002还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置/自移动设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/自移动设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。其中,计算机可读存储介质可以是非易失性的,也可以是易失性的。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读存储介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。

以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

相关技术
  • 一种定位方法及装置、移动设备和计算机可读存储介质
  • 定位方法、装置、存储介质及移动设备
  • 移动设备操作方法、装置、计算机设备及存储介质
  • 菜单显示方法、装置、移动设备以及计算机可读存储介质
  • 一种移动设备的定位方法及装置和移动设备
  • 自移动设备的定位方法、装置、自移动设备及存储介质
  • 移动设备定位导航方法、装置、移动设备及存储介质
技术分类

06120116334393