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

信标组件的位置确定方法、装置、设备及存储介质

文献发布时间:2024-04-18 20:01:23


信标组件的位置确定方法、装置、设备及存储介质

技术领域

本申请涉及无线定位技术领域,尤其涉及一种信标组件的位置确定方法、装置、设备及存储介质。

背景技术

随着人工智能技术的发展,各种能够自主移动的自移动设备产品逐渐进入人们的日常生活。自移动设备在移动过程中,需要实时定位自身位置;另外,在发生被抱起、脚踢或是打滑等情况时,可能造成自移动设备自身定位失效,此时也需要重新定位自身位置。定位功能是自移动设备智能导航和环境探索的重要基础,也是自移动设备实现自主移动的关键技术。

目前,一些自移动设备基于视觉进行定位。但是在环境变化、光照变化、四季交替、环境纹理特征不足时,视觉定位容易出现定位失败或错误的情况。还有一些自移动设备通过视觉和超宽带(Ultra Wide Band,UWB)技术结合进行定位,利用UWB减小纯视觉定位带来的偏差,能提高定位的鲁棒性和降低定位失效的风险。

但是,基于UWB的定位过程受能够探测到的UWB个数的限制,在无法探测到足够数量的UWB工作站的情况下,就无法进行定位。因此,在满足定位需求的前提下,如何合理地进行UWB部署是目前亟待解决的技术问题。

发明内容

本申请的多个方面提供一种信标组件的位置确定方法、装置、设备及存储介质,用以合理部署信标组件,提高定位的鲁棒性及降低定位失效的风险。

本申请实施例提供一种信标组件的位置确定方法,包括:获取部署在工作区域边界上的K个信标组件的第一初始位置,K是≥1的自然数,工作区域包括至少两个子区域,不同子区域的视觉特征信息的丰富度不同,且对信标信标信号覆盖度的要求不同;根据至少两个子区域对信标信标信号覆盖度的要求,对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置。

本申请实施例还提供另一种信标组件的位置确定方法,包括:获取待部署在工作区域的边界上的信标组件的数量K,并初始化K个信标组件在边界上的第二初始位置,K是≥1的自然数;根据工作区域对信标信标信号覆盖度的要求,对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置。

本申请实施例还提供一种信标组件的位置确定装置,包括:位置获取模块,用于部署在工作区域边界上的K个信标组件的第一初始位置,K是≥1的自然数,工作区域包括至少两个子区域,不同子区域的视觉特征信息的丰富度不同,且对信标信号覆盖度的要求不同;位置优化模块,用于根据至少两个子区域对信标信号覆盖度的要求,对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置。

本申请实施例还提供另一种信标组件的位置确定装置,包括:数量获取模块,用于获取待部署在工作区域的边界上的信标组件的数量K;初始化模块,用于初始化K个信标组件在边界上的第二初始位置,K是≥1的自然数;位置优化模块,用于根据工作区域对信标信号覆盖度的要求,对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置。

本申请实施例还提供一种自移动设备,包括:设备主体,设备主体不上部署有一个或多个存储器和一个或多个处理器;一个或多个存储器,用于存储计算机程序;一个或多个处理器与一个或多个存储器耦合,用于执行计算机程序,以用于实现以上方法中的步骤。

本申请实施例还提供一种计算机设备,包括:设备主体,设备主体不上部署有一个或多个存储器和一个或多个处理器;一个或多个存储器,用于存储计算机程序;一个或多个处理器与一个或多个存储器耦合,用于执行计算机程序,以用于实现以上方法中的步骤。

本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当计算机程序被处理器执行时,致使处理器实现以上方法中的步骤。

在本申请一些实施例中,针对信标组件的部署问题,基于工作区域的视觉特征信息,将工作区域划分为视觉特征信息丰富度不同的子区域,结合这些子区域对信标信号覆盖度的不同要求进行信标组件的优化部署,能够在视觉特征信息较好的子区域部署较少数量的信标组件,在视觉特征信息较差的子区域部署较多数量的信标组件,实现信标组件的合理部署。这样,在定位过程中,能够实现信标组件定位和视觉定位的互补,提高定位的鲁棒性和降低定位失效的风险;另外,按需部署合理数量的信标组件,能有效减少信标组件的数量,降低总成本。

在本申请另一些实施例中,针对信标组件的部署问题,能够根据工作区域对信标信号覆盖度的要求进行信标组件的优化部署,给出信标组件的合理部署位置,这样,在按照给出的部署位置部署信标组件的情况下,使得在视觉特征信息较好的子区域部署较少数量的信标组件,在视觉特征信息较差的子区域部署较多数量的信标组件,在定位过程中,能够实现信标组件定位和视觉定位的互补,提高定位的鲁棒性和降低定位失效的风险。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1a为本申请一示例性实施例提供的3个信标组件用于平面定位时的布局方案;

图1b为本申请一示例性实施例提供的4个信标组件用于空间定位时的布局方案;

图1c为本申请一示例性实施例提供的信标组件的位置确定方法的流程示意图;

图1d为本申请一示例性实施例提供的另一信标组件的位置确定方法的流程示意图;

图1e为本申请一示例性实施例提供的割草机的工作区域的信标组件部署示意图;

图2为本申请一示例性实施例提供的再一信标组件的位置确定方法的流程示意图;

图3为本申请一示例性实施例提供的信标组件的位置确定装置的结构示意图;

图4为本申请一示例性实施例提供的另一信标组件的位置确定装置的结构示意图;

图5为本申请一示例性实施例提供的自移动设备的结构示意图;

图6为本申请一示例性实施例提供的计算机设备的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

信标组件在实际使用中,由用户手动布置在工作区域内或工作区域周围。目前,用户可能不具备了解信标组件工作特性的能力,缺少布置信标组件的经验,无法合理的布置信标组件使其满足辅助视觉定位的需求,尤其是在信标组件个数较少时,基于信标组件的定位过程受能够探测到的信标组件个数的限制,在无法探测到足够数量的信标组件的情况下,可能会出现定位的鲁棒性较差及定位失效的风险。

针对上述问题,本申请一些实施例给出了一种信标组件的部署方案,基于工作区域的视觉特征信息,将工作区域划分为视觉特征信息丰富度不同的子区域,结合这些子区域对信标信号覆盖度的不同要求进行信标组件的部署,能够在视觉特征信息较好的子区域部署较少数量的信标组件,在视觉特征信息较差的子区域部署较多数量的信标组件,实现信标组件的合理部署。这样,在定位过程中,能够实现信标组件定位和视觉定位的互补,提高定位的鲁棒性和降低定位失效的风险;另外,按需部署合理数量的信标组件,能有效减少信标组件的数量,降低总成本。

在介绍本申请实施例提供的信标组件部署方案之前,先对本申请实施例中涉及的信标组件及其定位原理进行简单介绍。

在本实施例中,对自移动设备的种类不做限定,自移动设备可以是任何能够自主移动的设备,举例说明,自移动设备可以是能够自主移动的割草机,也可以是能够自主移动的扫地机器人,还可以是能够自主移动的空气净化器,或者是能够自主移动的货运小车、无人驾驶车辆等。

本实施例在自移动设备所处的工作区域中,需要预先部署至少一个信标组件,这些信标组件被部署在工作区域的不同位置,负责对外发射信标信号,并接收自移动设备发出的信标信号。相应地,自移动设备上安装有与信标组件适配的对应组件,为便于描述,将与信标组件对应的组件称为第一组件。第一组件不仅可以接收信标组件发射的信标信号,也可以向信标组件发射信标信号。本实施例对工作区域不做限定,只要在该工作区域中能够部署信标组件,且允许自移动设备随意行走即可。举例说明,自移动设备所处的工作区域可以是户外环境,也可以是室内环境。进一步,室内环境可以是家庭环境,也可以是各种商场、超市、办公楼宇等环境。户外环境可以是各种户外的草地、草坪等。

在本实施例中,信标组件可以是各种能够收发无线信号的设备,例如可以是UWB基站或固定站,相应地,第一组件可以是该UWB传感器或者称为UWB信号探测器,信标信号可以是UWB信号。或者,信标组件也可以是红外收发器,相应地,第一组件可以是红外收发器,信标信号可以是红外信号。在本申请各实施例中,信标组件优选为UWB基站或固定站,信标信号优选为UWB信号。

其中,自移动设备借助于第一组件和至少一个信标组件之间可以通过信标信号(如UWB信号)进行通信,除此之外,也可以根据两者之间收发的信标信号对自移动设备进行定位。在此说明,本申请各实施例中提到的定位过程,既包括在自移动设备刚开始移动时以及在移动过程中实时定位的过程,也包括自移动设备在移动过程中因为发生被抱起、脚踢或是打滑等情况造成自身定位失效,重新对自移动设备进行定位的过程。

在基于信标组件的定位方案中,对信标组件的布局合理性具有一定要求。通常信标组件的布局方式是,若应用于平面上的二维定位,需要在工作区域布置3个信标组件,如图1a所示,整个工作区域被3个信标组件的信标信号覆盖;若应用于空间上的三维定位,需要在工作区域布置4个信标组件,如图1b所示,整个工作区域被4个信标组件的信标信号覆盖。其中,自移动设备可以在其所处工作区域中自主移动,在其移动过程中可以利用第一组件(如UWB传感器)接收周围信标组件(如UWB基站)发射的信标信号(如UWB信号),根据接收到的信标信号可以探测到周围存在哪些信标组件以及所存在的信标组件的数量。具体地,信标组件发射的信标信号中包含有信标组件的标识信息,标识信息可以是信标组件的IP地址或MAC地址等具有唯一标识作用的信息;自移动设备上的第一组件在接收到至少一个信标组件发射的信标信号后,可以根据接收到的信标信号中携带的标识信息,确定其周围存在哪些信标组件以及所存在的信标组件的数量。

在上述信标组件的部署方式下,除了能够确定周围存在哪些信标组件以及所存在的信标组件的数量之外,自移动设备能够探测到至少3个信标组件提供的观测信息,进一步结合至少3个信标组件的位置信息,就可以计算出自移动设备的当前定位信息,即可以得到自移动设备的当前位置和朝向。其中,信标组件提供的观测信息可以包括但不限于:信标组件发出的信标信号,自移动设备接收到这些信标信号的时间、接收到的信标信号的强度及基于信标信号经过计算得到的一些间接信息,例如信标信号的飞行时间,进一步基于该飞行时间确定的信标组件和自移动设备之间的距离信息,以及计算出的自移动设备的初始位置,等等。

在本申请各实施例中,以信标组件提供的观测信息重点是信标组件提供的其与自移动设备之间的距离信息为例进行说明。其中,该距离信息可以是信标组件根据自移动设备发送的信标信号的飞行时间或信号强度等信息计算得到的,也可以是自移动设备根据信标组件发送的信标信号的飞行时间或信号强度等信息计算得到的,并统称为是信标组件提供的距离信息。其中,在根据信标信号的飞行时间估计信标组件与自移动设备之间的距离包括:将信标信号的飞行时间与信标信号的飞行速度的乘积作为信标组件与自移动设备之间的距离信息。其中,信标信号的飞行时间指的是从信标组件至自移动设备的单程飞行时间,或者从自移动设备到信标组件的单程飞行时间,其中,信标信号的飞行速度是已知的。在一可选实施例中,若信标信号是UWB信号,则其飞行速度接近光速。

需要说明的是,在能够探测到至少3个信标组件的情况下,自移动设备可以单独基于信标组件进行定位。但在实际应用中,自移动设备有可能无法探测到至少3个信标组件,例如仅探测到2个信标组件,或者1个信标组件,甚至存在无法探测到任何信标组件的情况。针对这些情况,可以将基于信标组件的定位方法与基于视觉的定位方法进行融合,即基于定标组件来辅助视觉定位。在基于信标组件辅助视觉定位的场景中,可以认为是信标组件定位和视觉定位进行融合形成的融合定位方式。在该融合定位方式中,为了让基于信标组件的定位不再受自移动设备探测到的信标组件数量的限制,预先对自移动设备探测到的信标组件数量进行了区分,并针对不同信标组件数量,分别提供了与信标组件数量适配的定位流程,这些定位流程是本申请实施例特别提供的,这些定位流程至少基于信标组件提供的观测信息,但并不限于此,例如,可以是单独依赖信标组件的定位流程,也可以是同时依赖信标组件和其它信息(例如视觉信息)的融合定位流程。这样,无论自移动设备探测到期周围存在几个信标组件,都能够基于根据与之适配的定位流程,以较高的准确性完成定位操作,能够实现信标组件定位和视觉定位的互补,提高定位的鲁棒性和降低定位失效的风险。

在本申请一可选实施例中,可以将自移动设备探测到的信标组件的数量区分为以下三种情况,即1个信标组件的情况、2个信标组件的情况,以及3个或3个以上信标组件的情况。相应地,在本实施例中,针对每种情况分别提供与之适配的定位流程。为了便于描述,可以将信标组件的数量为1个时对应的定位流程称为第一定位流程,将信标组件的数量为2个时对应的定位流程称为第二定位流程,将信标组件的数量为3个或3个以上时对应的定位流程称为第三定位流程。

下面分别对自移动设备探测到的信标组件的数量为1个、2个或3个及以上三种情况下的定位过程进行详细阐述。

首先,自移动设备在其所处作业区域中进行移动,并在移动过程中探测周围是否存在信标组件。若周围不存在信标组件,则采用基于视觉的定位流程。其中,基于视觉的定位流程是指自移动设备预先采集环境图像,构建环境地图;自移动设备在当前移动过程中实时采集周围的环境图像,基于环境地图和采集到的环境图像对自移动设备进行视觉定位的过程。其中,基于环境地图和采集到的环境图像对自移动设备进行视觉定位的过程,包括:获取环境图像上的视觉特征点,根据视觉特征点遍历环境地图以进行特征点匹配,获取匹配成功的特征点对;将匹配成功的特征点在环境地图中对应的位置和朝向作为自移动设备的定位信息。进一步,根据视觉特征点遍历环境地图以进行特征点匹配,获取匹配成功的特征点对的过程包括:在环境地图上选取初始匹配角度,并将初始匹配角度作为当前匹配角度;按照当前匹配角度将视觉特征点与环境地图进行特征点匹配,并获取匹配成功的特征点数;将当前匹配角度作为已匹配角度,在已匹配角度上加上预设度数重新作为当前匹配角度,并重复上述特征点匹配的步骤,直到完成360度匹配为止;获取匹配成功的特征点数最多的特征点对作为匹配成功的特征点对。

若周围存在信标组件,自移动设备统计探测到的周围存在的信标组件的数量,并根据探测到的信标组件的数量,采用不同的定位流程。若探测到的信标组件的数量为1个,则执行第一定位流程。若探测到信标组件的数量为2个,则执行第二定位流程;若探测到信标组件的数量为3个或3个以上,则执行第三定位流程。下面分别对三种情况进行详细说明:

对于探测到的信标组件的数量为1个的情况,执行第一定位流程得到自移动设备的初始定位信息的详细实施过程如下:

控制自移动设备在当前所在位置接收信标组件提供的距离信息;根据信标组件提供的距离信息和信标组件的位置信息,获取自移动设备的预估定位区域;基于预估定位区域的环境地图,获取自移动设备的初始定位信息。其中,信标组件的位置信息是已知的。

在一可选实施例中,上述根据信标组件提供的距离信息和信标组件的位置信息,获取自移动设备的预估定位区域一具体实施方式如下:基于信标组件提供的距离信息和预设的测距误差,确定两个距离值,即为第一距离值和第二距离值,第一距离值是指该距离信息与测距误差之差,第二距离值是指该距离信息与测距误差之和;根据信标组件的位置信息和两个距离值,确定自移动设备的预估定位区域。预估定位区域是指自移动设备当前可能所在的区域。

在一可选实施例中,上述基于预估定位区域的环境地图,获取自移动设备的初始定位信息的一具体实施方式为:控制自移动设备在预估定位区域采集环境图像,获取该环境图像上的视觉特征点,根据所述视觉特征点遍历环境地图以进行特征点匹配,获取匹配成功的特征点对;根据所述匹配成功的特征点和信标组件的位置信息,获取自移动设备的初始定位信息。

在一可选实施例中,上述根据从环境图像中提取出的视觉特征点遍历环境地图以进行特征点匹配,获取匹配成功的特征点对的过程包括:在环境地图上选取初始匹配角度,并将初始匹配角度作为当前匹配角度;按照当前匹配角度将上述视觉特征点与环境地图进行特征点匹配,并获取匹配成功的特征点数;然后,将当前匹配角度作为已匹配角度,在已匹配角度上加上预设度数重新作为当前匹配角度,并重复上述按照当前匹配角度将上述视觉特征点与环境地图进行特征点匹配,并获取匹配成功的特征点数的步骤(简称为特征点匹配的步骤),直到与环境地图完成360度匹配;最后,从所有匹配过程匹配到的特征点对中,获取匹配成功的特征点数最多的特征点对作为匹配成功的特征点对。其中,按照当前匹配角度将上述视觉特征点与环境地图进行特征点匹配的过程是指将上述视觉特征点与环境地图中各位置信息对应的在当前匹配角度下的视觉特征点进行匹配的过程。

在上述实施例中,预设度数也可以称为偏航角。偏航角相邻两次匹配过程中环境地图之间的偏差角度。在本实施例中,并不限定偏航角的角度值,例如可以是30°、10°、20°、60°等,具体可以根据期望达到的匹配精度而定,若希望匹配精度较高,则偏航角可以设置的较小;反之亦然。另外,在此说明,在本实施例中对自移动设备用于采集环境图像的摄像头不做限定,例如,可以是全景摄像头,也可以是普通的单目摄像头或双目摄像头。

进一步,在得到匹配成功的特征点对之后,可以将匹配成功的特征点对对应的当前匹配角度作为自移动设备当前的朝向信息,并匹配成功的特征点对在环境地图中对应的位置信息作为自移动设备当前所在的位置信息,完成对自移动设备的定位,从而得到自移动设备的初始定位信息。

对于探测到的信标组件的数量为2个的情况,根据信标组件提供的距离信息,执行第二定位流程,得到自移动设备的初始定位信息的详细实施过程如下:

控制自移动设备从当前所在位置按照设定的轨迹方向移动,并在移动过程中接收2个信标组件提供的距离信息;根据移动过程中2个信标组件提供的距离信息,生成两条候选移动轨迹;从两条候选移动轨迹中,选择轨迹方向与设定的轨迹方向适配的候选移动轨迹,作为自移动设备的实际移动轨迹;根据实际移动轨迹和2个信标组件的位置信息,获取自移动设备的初始定位信息。

在本申请实施例中,预设的轨迹方向是非直线的轨迹方向,该轨迹方向是已知的,该预设的轨迹方向所限定的移动轨迹不做限定,例如可以是拐弯方向确定的圆弧轨迹、也可以是拐弯方向确定的直角拐弯轨迹、或者是拐弯方向确定的S型轨迹等。

在一可选实施例中,上述控制自移动设备从当前所在位置按照设定的轨迹方向移动的一具体实施方式如下:控制自移动设备从当前所在第一位置向前移动第一距离,在移动第一距离到达的位置旋转指定角度后,继续向前移动第二距离至第二位置。需要说明的是,无论预设的轨迹方向是何种形态,在2个信标组件的情况,因为自移动设备当前所在的位置并不唯一确定,所以在根据2个信标组件在自移动设备自当前所在位置按照设定的轨迹方向移动过程中提供的距离信息,可以计算出两条候选移动轨迹。需要说明的是,自移动设备在移动第一距离到达的位置旋转的指定角度可以是任何非0角度,例如,可以是30°、60°、90°、120°或150°。优选地,指定角度可以是90°,此时,预设的轨迹方向具体为直行向左,或直行向右。

接续于上述实施例,在得到两条候选轨迹信息的情况下,也就得到了两条候选轨迹信息的轨迹方向,则可以从两条候选轨迹信息中选择轨迹方向与预设的轨迹方向适配(即相同)的候选轨迹信息,作为自移动设备的实际移动轨迹信息。进一步,在确定自移动设备的实际移动轨迹之后,结合2个信标组件的位置信息,就可以唯一确定出自移动设备在移动过程中的位置和朝向,以及最终移动到的当前位置和朝向,完成对自移动设备的定位,从而得到自移动设备的初始定位信息。

对于信标组件的数量为3个及以上的情况,根据信标组件提供的距离信息,执行第三定位流程,得到自移动设备的初始定位信息的详细实施过程如下:

控制自移动设备从当前所在位置向前移动,并在移动过程中接收3个或3个以上信标组件提供的距离信息;根据移动过程中3个或3个以上信标组件提供的距离信息,结合3个或3个以上信标组件的位置信息,生成自移动设备的移动轨迹以及轨迹方向;根据自移动设备的移动轨迹以及轨迹方向,获取自移动设备的初始定位信息。

进一步可选地,为了确保自移动设备的初始定位信息的准确性,可以通过其他定位方式对初始定位信息进行验证。可选地,可以利用视觉定位技术对上述三个定位流程得到的初始定位信息进行视觉验证,最终得到自移动设备的目标定位信息。在一可选实施例中,所述定位方法还包括:根据初始定位信息,控制自移动设备在当前所在位置采集环境图像;基于环境地图和该环境图像,对自移动设备的初始定位信息进行视觉校验,以得到目标定位信息。

可选地,上述基于环境地图和该环境图像,对自移动设备的初始定位信息进行视觉校验,以得到目标定位信息的实施方式包括:获取该环境图像上的视觉特征点,根据所述视觉特征点遍历环境地图以进行特征点匹配,以获取匹配成功的特征点对;若获取到匹配成功的特征点对,则说明初始定位信息通过了视觉校验,表示初始定位信息是准确的,故可以确定初始定位信息为目标定位信息;若未获取到匹配成功的特征点对,则说明初始定位信息未能通过视觉校验,表示初始定位信息的准确度不够,可能是因为信标组件的数量不足或信标组件提供的距离信息不够准确等因素造成的,则可以控制自移动设备向前移动一定距离,并返回到最开始的步骤重新执行定位流程,直至得到目标定位信息。

在上述定位过程中,依赖于自移动设备能够探测到至少一个信标组件,而且根据自移动设备探测到的信标组件的数量的不同,对视觉信息的依赖也会有所不同。例如,在部分工作区域,视觉特征信息较丰富,可以单纯依靠视觉进行定位,在这部分区域可以不用部署信标组件;在另一部分工作区域,视觉特征信息较差,需要1个、2个或3个及以上的信标组件辅助视觉定位。也就是说,在信标组件定位辅助视觉定位的场景中,对信标组件的部署位置有一定的要求,即在视觉较好区域覆盖不需要或需要较少数量的信标组件进行信号覆盖,在视觉较差的区域,需要较多数量的信标组件进行信号覆盖,即既要能够做到信标信号的合理覆盖,又要尽量减少信标组件的数量,降低成本。基于此,本申请下述实施例提供了一种信标组件的位置确定方法。以下结合附图,详细说明本申请各实施例提供的技术方案。

图1c为本申请一示例性实施例提供的信标组件的位置确定方法的流程示意图。如图1c所示,该方法包括:

101、获取部署在工作区域边界上的K个信标组件的第一初始位置,K是≥1的自然数,工作区域包括至少两个子区域,不同子区域的视觉特征信息的丰富度不同,且对信标信号覆盖度的要求不同;

102、根据至少两个子区域对信标信号覆盖度的要求,对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置。

在本申请实施例中,考虑到部署信标组件后的美观因素,预先将K个信标组件部署在工作区域的边界上。K个信标组件一般会被部署在工作区域边界的不同位置,负责对外发射信标信号。本实施例对K的取值不做限定,具体可以根据工作区域的面积以及视觉特征的丰富程度灵活确定。另外,在本申请实施例中,也不限定预先将K个信标组件部署在工作区域边界上的方式。

在一可选实施例中,信标组件会配有说明书,说明书中记载了信标组件的使用详情,使用详情包括但不限于:信标信号的覆盖范围及信标组件的布局准则等信息。例如,单个信标组件的信标信号的可覆盖范围可以是半径为30m的圆,信标组件的布局准则是工作区域的每个位置都需要有信标信号覆盖。基于此,用户可以根据信标组件的说明书中的使用详情,在工作区域的边界上布置K个信标组件。

在一可选实施例中,也可以由专业人员上门为用户在工作区域的边界上部署K个信标组件。凡是能够在工作区域的边界上部署K个信标组件的方式均适用于本申请实施例。

为了便于描述,将预先部署在工作区域边界上的K个信标组件的位置称为信标组件的第一初始位置。在本实施例中,可以获取部署在工作区域边界上的K个信标组件的第一初始位置。关于获取在工作区域边界上的K个信标组件的第一初始位置的方式不做限定,可参见后续实施例的描述。

在本实施例中,工作区域中的不同位置的视觉特征信息的丰富度不同。视觉特征信息指的是工作区域中不同位置周围存在的颜色、纹理、形状等可通过视觉传感器被捕捉到的特征信息。可选地,自移动设备在移动过程中基于视觉传感器采集工作区域中不同位置周围的环境图像,从环境图像中提取工作区域不同位置处的视觉特征信息。在视觉特征信息中的颜色种类较多、纹理明显且形状较为多样化时,说明视觉特征信息较为丰富;在视觉特征信息中的颜色较为单一、纹理不清晰且形状单一时,说明视觉特征信息较为单一,不够丰富。

在本实施例中,基于获取到的工作区域中不同位置处的视觉特征信息的丰富度的差异,将工作区域划分为至少两个子区域,不同子区域中视觉特征信息的丰富度不同。本实施例对划分出的子区域的数量不做限定,如可以划分为2个子区域,或4个子区域等。在划分为2个子区域的情况下,两个子区域可以是视觉较好的子区域和视觉较差的子区域;在划分为4个子区域的情况下,可以是视觉最差的子区域、视觉较差的子区域、视觉较好的子区域、视觉好的子区域及视觉最好的子区域。在一可选实施例中,将工作区域可以划分为两个子区域,即第一子区域和第二子区域,第一子区域的视觉特征信息的丰富度优于第二子区域的,也就是说第二子区域是视觉较差的子区域,第一子区域是视觉较好的子区域。

在本实施例中,不同子区域的视觉特征信息的丰富度不同,对信标信号覆盖度的要求也就不同。视觉特征信息的丰富度较差的子区域,对信标信号覆盖度的要求较高,可能需要被至少两个信标组件的信标信号进行覆盖;视觉特征信息的丰富度较好的子区域,对信标信号覆盖度的要求较低,可能只需要被一个信标组件的信标信号进行覆盖。

考虑到K个信标组件在工作区域边界上的第一初始位置可能不能满足上述各子区域对信标信号覆盖度的要求,在本申请实施例中,可以根据至少两个子区域对信标信号覆盖度的要求对K个信标组件在边界上的部署位置进行优化。在本实施例中,更多关注的是如何根据至少两个子区域对信标信号覆盖度的要求对K个信标组件在边界上的部署位置进行优化的过程。需要说明的是,对K个信标组件在边界上的部署位置进行优化时,至少需要保证以下两点:(1)尽量保证工作区域的每个位置都能被单个信标组件的信标信号覆盖;(2)考虑到美观因素,尽量把信标组件部署在工作区域的边界上,尤其是部署在边界上障碍物旁边或不影响外观的角落位置。

其中,根据至少两个子区域对信标信号覆盖度的要求对K个信标组件在边界上的部署位置进行优化,可以得到K个信标组件在工作区域边界上的目标位置。进而,可以根据该K个信标组件在工作区域边界上的目标位置重新部署K个信标组件,K个信标组件在工作区域边界上的目标位置可以满足至少两个子区域对信标信号覆盖度的要求,这样自移动设备在工作区域中随意移动,都可以根据周围信标组件提供的探测信息,结合信标组件的目标位置,定位自己的位置和朝向。

而且,在本实施例中,结合至少两个子区域对信标信号覆盖度的不同要求进行信标组件的优化部署,能够在视觉特征信息较好的子区域部署较少数量的信标组件,在视觉特征信息较差的子区域部署较多数量的信标组件,实现信标组件的合理部署。这样,在定位过程中,能够实现信标组件定位和视觉定位的互补,提高定位的鲁棒性和降低定位失效的风险;另外,按需部署合理数量的信标组件,能有效减少信标组件的数量,降低总成本。在本申请上述实施例中,需要获取部署在工作区域边界上的K个信标组件的第一初始位置,但并未限定获取方式。下面进行举例说明:

方式一,用户可以手动测量或预估K个信标组件在工作区域边界上的第一初始位置,并将第一初始位置手动输入本实施例提供的信标组件的位置确定方法的执行主体。可选地,本实施例提供的信标组件的位置确定方法的执行主体可以是自移动设备,也可以是其它具有一定计算能力和通信能力的计算机设备,例如可以是智能手机、笔记本电脑、台式机电脑、平板电脑等终端设备,也可以常规服务器、云服务器、服务器集群等服务端设备。

方式二:控制自移动设备沿着工作区域的边界移动;在移动过程中,采用各种定位方式定位自移动设备的多个位置,并在每个位置上探测自移动设备周围存在的信标组件;基于自移动设备的多个位置以及自移动设备与探测到的信标组件之间的距离,利用三角定位原理,得到K个信标组件的第一初始位置。

在本实施例中,在控制自移动设备沿着工作区域的边界移动过程中,定位自移动设备的多个位置可以采用的定位方式包括:基于ORB-SLAM(Oriented FAST and RotatedBRIEF-simultaneous localization and mapping)的定位方式、基于视觉里程计(VisualOdometry,简称VO)的定位方式、基于惯性测量装置(Inertial Measurement Unit,IMU)的定位方式、基于编码器(Encoder)的定位方式、基于GPS的定位方式中的任一种或任几种形成的融合定位方式。

其中,基于ORB-SLAM的定位原理如下:自主移动设备预先采集环境图像,构建环境地图,该环境地图中包含关键帧图像;自移动设备在当前移动的过程中根据所处的位置和朝向会实时采集当前环境的图像,将当前环境图像和环境地图中的关键帧图像进行匹配;若匹配成功,根据关键帧图像在地图上的特征,可以定位出自移动设备的位置。

基于VO的定位原理如下:作为视觉同步定位与地图构建技术的一部分,主要是通过相机传感器获取一系列拥有时间序列图像的信息,从而预估自移动设备的位姿信息。

基于IMU的定位原理如下:对自移动设备的加速度进行积分得到速度,再对速度进行积分得到位移,同时对角速度进行积分得到姿态变化量,将位移与位姿变化累积到初始位姿上来计算当前位置和姿态。

进一步,在定位出自移动设备的每个位置后,自移动设备在该位置上会接收周围信标组件提供的距离信息。关于距离信息的计算方式可参见前文中的描述,在此不再赘述。对于同一信标组件,若自移动设备在3个或3个以上位置上接收到该信标组件提供的距离信息,就可以基于自移动设备的3个或3个以上的位置以及自移动设备与探测到的信标组件之间的距离,利用三角定位原理,得到该信标组件的第一初始位置。具体地,对同一信标组件,可以从自移动设备探测到该信标组件的多个位置中任意选取三个位置,根据三个位置和同一信标组件与三个位置的距离,利用三角定位原理,可以唯一确定该目标组件的第一初始位置。同理,可以根据上述方式确定工作区域内其他信标组件的第一初始位置。

在本实施例中,在控制自移动设备沿着工作区域的边界移动过程中,除了可以探测到自移动设备与信标组件之间的距离外,还可以获取工作区域的视觉特征信息。获取工作区域的视觉特征信息的一具体实施方式为:在自移动设备沿着工作区域的边界移动过程中,控制自移动设备采集多张环境图像;根据多张环境图像,获取工作区域的视觉特征信息。进一步,在获取到工作区域的视觉特征信息后,可以根据工作区域的视觉特征信息,将工作区域划分为至少两个子区域,即两个或两个以上的子区域。优选地,可以将工作区域划分为两个子区域,以及其具体实施方式为:根据工作区域的视觉特征信息的丰富度,将其划分为两个子区域。为了便于描述,将工作区域划分的两个子区域称为第一子区域和第二子区域,且每个子区域是连通区域。为了便于区分,可以视第一子区域的视觉特征信息的丰富度优于所述第二子区域。

进一步,在得到至少两个子区域之后,由于各子区域的视觉特征信息丰富度不同,所以对信标信号覆盖度的要求也不同。例如,视觉特征信息较好的子区域,需要较少数量的信标组件进行覆盖,视觉特征信息较差的子区域,需要较多数量的信标组件进行覆盖,从而实现信标组件的合理部署。具体地,在视觉较好的子区域,可能需要部署1个信标组件,甚至不需要信标组件;在视觉较差的子区域,可能需要部署2个或更多信标组件进行覆盖。

在实际应用中,考虑到至少两个子区域的视觉特征信息丰富度的不同,在对K个信标组件在工作区域边界上的位置进行优化的过程中,可能不需要参考所有目标子区域对信标信号覆盖度的要求。基于此,在本申请一些可选实施例中,可以从至少两个子区域中确定目标子区域,目标子区域是视觉特征信息的丰富度小于设定值,或者是视觉特征信息的丰富度最差的子区域;其中,目标子区域可能是全部子区域,也可能是部分子区域,对此不做限定;进而,基于工作区域对信标信号覆盖度的要求和目标子区域对信标信号覆盖度的要求,确定是否需要对K个信标组件在工作区域边界上的部署位置进行优化。若工作区域或目标子区域的信标信号覆盖度小于对应阈值,说明需要对K个信标组件在工作区域边界上的部署位置进行优化;反之,若工作区域和目标子区域的信标信号覆盖度均大于等于对应阈值,说明不需要对K个信标组件在工作区域边界上的部署位置进行优化。

具体地,可以根据K个信标组件的第一初始位置,确定位于目标子区域中的目标信标组件,目标信标组件的数量可能是1个或多个,对此不做限定;根据K个信标组件中每个信标组件在工作区域中的信标覆盖面积和该工作区域的面积,得到每个信标组件的初始信标信号覆盖度;根据目标信标组件在目标子区域中的信号覆盖面积和该目标子区域的面积,得到目标子区域的初始信标信号覆盖度。

其中,每个信标组件在工作区域中的信标覆盖面积是指该信标组件的信标信号的覆盖范围与该工作区域相交部分的面积。具体地,对每个信标组件而言,将该信标组件在工作区域中的信标覆盖面积与该工作区域的面积的比值,作为该信标组件的初始信标信号覆盖度。相应地,目标信标组件在目标子区域中的信号覆盖面积是指目标信标组件的信标信号的覆盖范围与该目标子区域相交部分的面积。具体地,若目标信标组件为一个,则将该目标信标组件在目标子区域中的信号覆盖面积与该目标子区域的面积的比值,作为该目标子区域的初始信标信号覆盖度。若目标信标组件为多个,例如两个,则可以将多个目标信标组件在目标子区域中的信号覆盖面积之和与该目标子区域的面积的比值,作为该目标子区域的初始信标信号覆盖度。

进一步,将每个信标组件的初始信标信号覆盖度与第一阈值进行比较,并将目标子区域的初始信标信号覆盖度与第二阈值进行比较;若每个信标组件的初始信标信号覆盖度和目标子区域的初始信标信号覆盖度中存在小于对应信标信号覆盖度阈值的情况,也就是说,若存在至少一个信标组件的初始信标信号覆盖度小于第一阈值,或者目标子区域的初始信标信号覆盖度小于第二阈值,则说明需要对K个信标组件在工作区域边界上的部署位置进行优化,于是执行对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置的操作。

若每个信标组件的初始信标信号覆盖度中和目标子区域的初始信标信号覆盖度中不存在小于对应阈值的情况,即每个信标组件的初始信标信号覆盖度均大于等于第一阈值,且目标子区域的初始信标信号覆盖度大于等于第二阈值,则说明不需要对K个信标组件在工作区域边界上的部署位置进行优化,可以直接将K个信标组件的第一初始位置作为K个信标组件的目标位置。

在上述实施例中,K个信标组件的信标信号覆盖度可代表整个工作区域的信标信号覆盖度,当每个信标组件的信标信号覆盖度均大于等于第一阈值时,也就说明整个工作区域的信标信号覆盖度大于等于对应的第三阈值,即满足信标信号覆盖度要求;反之,当存在至少一个信标组件的信标信号覆盖度小于第一阈值的情况时,说明整个工作区域的信标信号覆盖度小于对应的第三阈值,即不满足信标信号覆盖度要求。

在一可选实施例中,上述对K个信标组件在工作区域边界上的部署位置进行优化,得到K个信标组件各自的目标位置的一具体实施方式如下:利用粒子群算法,对K个信标组件在工作区域边界上的部署位置进行优化,得到K个信标组件各自的目标位置。需要说明,对K个信标组件在工作区域边界上的部署位置进行优化采用的算法并不限于粒子群算法。在下面实施例中,重点以粒子群算法为例,对该优化过程进行详细说明。

在一可选实施例中,利用粒子群算法,对K个信标组件在工作区域边界上的部署位置进行优化,得到K个信标组件各自的目标位置的一具体实施方式如下:

将工作区域的边界进行栅格化,得到包括M个栅格的向量,每个栅格代表该边界上的一个部署位置,M是≥K的正整数;将K个信标组件在M个栅格中的布局方式作为粒子,将全局信标信号覆盖度作为粒子的适应度函数;利用粒子群算法对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置;其中,全局信标信号覆盖度同时反映每个信标组件的信标信号覆盖度和目标子区域的信标信号覆盖度。

其中,对每个粒子而言,计算全局信标信号覆盖度的一具体实现方式为:一方面计算出该粒子中每个信标组件的信标信号覆盖度,另一方面针对该粒子计算出目标子区域的信标信号覆盖度,然后,对该粒子中每个信标组件的信标信号覆盖度和该粒子对应的目标子区域的信标信号覆盖度进行加权求和,得到该粒子的全局信标信号覆盖度,也就是该粒子的适应度函数。在本实施例中,针对每个粒子,全局信标信号覆盖度具体可以采用以下公式计算得到:全局信标信号覆盖度F=K1*每个信标组件的信标信号覆盖度+K2*目标子区域的信标信号覆盖度。其中,每个信标组件的信标信号覆盖度=每个信标组件在工作区域中的信号覆盖面积/工作区域的面积;目标子区域的信标信号覆盖度=目标子区域中各信标组件(即目标信标组件)在目标子区域中的信号覆盖面积之和/目标子区域的面积。需要说明的是,这里的符号“/”表示求比值或求商的意思。K1和K2分别为两个预设的加权系数,均为大于0的自然数,且K1+K2=1。若K1较大,则表示信标组件的位置确定方法侧重于工作区域中单个信标组件的信标信号覆盖度,若K2较大,则表示信标组件的位置确定方法侧重于目标子区域的信标信号覆盖平。在本申请各实施例中,信标信号覆盖度也可以称为信标信号覆盖占比。

进一步可选地,上述利用粒子群算法对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置的具体实施方式如下:

初始化N个粒子,每个粒子代表K个信标组件在M个栅格中的一种布局方式,这些粒子中K个信标组件在M个栅格中的初始位置可以是根据K个信标组件的第一初始位置确定的,例如,以第一初始位置为基础,在此基础之上进行随机移动得到N组新的位置,分别作为N个粒子中的初始位置;另外,每个粒子中的信标组件具有在M个栅格中移动的初始速度,N是≥1的正整数,对N的具体取值不做限定,可以根据优化精度预先设定N的取值。

对N个粒子进行迭代,直至得到满足迭代终止条件的目标粒子;获取目标粒子中K个信标组件的部署位置,作为K个信标组件各自的目标位置。其中,迭代终止的条件可以是预先设定的最大迭代次数,则当迭代次数达到最大迭代次数时,将最终得到的全局信标信号覆盖度最大的粒子作为目标粒子,或者,迭代终止条件也可以是要求出现全局信标信号覆盖度大于设定覆盖度阈值的粒子,则当出现了全局信标信号覆盖度大于设定覆盖度阈值的粒子时,也会终止迭代,并将该全局信标信号覆盖度大于设定覆盖度阈值的粒子作为目标粒子。两种迭代条件可以择一使用,或者组合使用,组合使用时,满足其中任一条件即可终止迭代。

其中,在每次迭代过程中,执行以下操作:根据上述公式,计算本次迭代中N个粒子对应的全局信标信号覆盖度,并获取本次迭代中全局信标信号覆盖度最大的粒子,记为第一粒子,以及获取历史迭代中全局信标信号覆盖度最大的粒子,记为第二粒子;根据第一粒子中K个信标组件的部署位置和速度以及第二粒子中K个信标组件的部署位置和速度,对本次迭代中N个粒子中K个信标组件的部署位置和速度进行更新,得到用于下次迭代的N个新的粒子。基于N个新的粒子继续执行下一次迭代,直至满足迭代终止条件,得到目标粒子。获取目标粒子中K个信标组件的部署位置,作为K个信标组件各自的目标位置。

接续于上述得到K个信标组件各自的目标位置的操作,进一步可以输出K个信标组件各自的目标位置,进而引导用户根据目标位置重新对K个信标组件进行部署。在一可选实施例中,可以控制自移动设备分别移动至K个信标组件各自的目标位置,以引导用户将K个信标组件部署在各自的目标位置上。进一步可选地,可以将K个信标组件的第一初始位置和目标位置进行比较,获取第一初始位置与目标位置不同的L个信标组件,针对这L个目标组件,控制自移动设备分别移动至L个信标组件各自的目标位置,以引导用户将L个信标组件部署在各自的目标位置上;其中,L是大于等于1的自然数,且L≤K。也就是说,对于K个信标组件中第一初始位置和目标位置相同的信标组件,可以不用重新部署其位置。

进一步,为了保证K个信标组件能够较为精确地部署在各自的目标位置上,在用户将K个信标组件部署在各自的目标位置之后,还可以针对每个信标组件,控制自移动设备在当前位置基于信标信号探测其与该信标组件之间的距离,为了便于区分和描述,将其称为第一距离;以及根据自移动设备当前所在位置与该信标组件的目标位置计算二者之间的距离,将其称为第二距离;理论上,若该目标组件当前被部署到的位置与目标位置一致,则两个距离应该相同或具有较小误差;反之,两个距离不同且误差会较大;于是,将第一距离与第二距离进行比较;若第一距离和第二距离的差值大于设定的距离阈值,说明两个距离之间的误差较大,该信标组件当前被部署到的位置与目标位置存在较大偏差,因此输出提示信息,为了便于区分和描述,将其称为第一提示信息,以提示用户该信标组件的部署位置不准确,需重新部署。也就是说,该信标组件被重新部署到的位置与利用粒子群算法计算得到的该信标组件的目标位置存在较大误差,需要对该信标组件进行重新部署,以至于将该信标组件部署到对应的目标位置上。本实施例对第一提示信息的形式和内容不做限定,第一提示信息可以是语音提示信息,如语音信号“误差较大,重新部署”,第一提示信息也可以是图文提示信息,如文本信息“误差较大,重新部署”。

进一步,若第一距离和第二距离的差值小于或等于设定的距离阈值,说明该信标组件的部署位置比较准确,该信标组件当前被部署到的位置与根据粒子群算法优化得到的该信标组件的目标位置相同或非常接近。需要说明的是,在得到K个信标组件的目标位置,且在将K个信标组件部署到对应的目标位置之后,可以在该工作区域的环境地图中标记K个信标组件的最终部署位置,也就是K个信标组件的目标位置

对于第一距离和第二距离的差值大于设定的距离阈值的情况,也就是需要对信标组件重新进行部署的情况,如果用户重新部署信标组件的位置,则在重新部署信标组件的位置之后,还可以重新计算第一距离,并重新将第一距离和第二距离的差值与对应的距离阈值进行比较等操作,直至两个距离的差值小于等于设定的距离阈值为止,并在环境地图中标记出信标组件经过重新部署得到的最终部署位置。当然,用户也可以选择不对信标组件进行重新部署,而是直接使用信标组件当前被部署到的位置。如果用户不重新部署信标组件,则在环境地图中需要标记该信标组件实际被部署到的位置,也就是说,标记在环境地图中的信标组件的位置不是该信标组件的目标位置,而是该信标组件的实际部署位置。

进一步可选地,还可以控制自移动设备在工作区域以弓字形路线移动,基于以弓字形路线移动采集到的环境图像,构建工作区域的环境地图。在确定K个信标组件在工作区域边界上的最终部署位置之前,可以在环境地图中标记有K个信标组件的第一初始位置;以及在得到K个信标组件在工作区域边界上的最终部署位置(该最终部署位置可能是信标组件的目标位置,或者是与目标位置有偏差的实际部署位置)之后,更新K个信标组件在环境地图中的位置。

上述内容介绍了对K个信标组件在工作区域边界上的部署位置进行优化能够得到满足至少两个子区域对信标信号覆盖度的要求的目标位置的情况。实际应用中,可能存在无论如何对K个信标组件在工作区域边界上的部署位置进行优化,都无法得到满足至少两个子区域对信标信号覆盖度的要求的目标位置的情况。这种情况可能是因为信标组件的数量不足引起的,因此,若对K个信标组件在工作区域边界上的部署位置进行优化无法得到满足至少两个子区域对信标信号覆盖度的要求的目标位置,可以输出第二提示信息,以提示用户信标组件的数量不足并建议增加信标组件的数量。其中,本实施例对第二提示信息的形式和内容不做限定,第二提示信息可以是语音提示信息,如语音信号“信标组件数量不足”,第一提示信息也可以是图文提示信息,如文本信息“信标组件数量不足”。

对用户来说,可以增加信标组件的数量,在增加新的信标组件后,继续利用上文所述的信标组件的位置确定方法得到信标组件的目标位置并根据目标位置部署各信标组件,并在环境地图中标记出各信标组件的最终部署位置,具体实现过程可参见上文,此处不再赘述。

基于上述图1c提供的信标组件的位置确定方法,图1d为本申请实施例提供的另一种信标组件的位置确定方法的流程示意图,如图1d所示,该方法包括以下步骤:

步骤1,用户获取信标组件的部署说明书,该说明书告知用户部署信标组件时,尽量覆盖所有工作区域。

步骤2,用户根据说明书在工作区域的边界上布置信标组件。具体地,可以根据说明书中关于信标组件的使用详情在工作区域的边界上随机部署信标组件,此时信标组件在边界上的位置为第一初始位置,需要说明的是,应尽量保证工作区域的每个位置都能被单个信标组件覆盖到。

步骤3,部署好信标组件后,用户可以遥控自移动设备沿着工作区域的边界移动,在移动过程中,采用下面至少一种定位方式对自移动设备进行粗定位。一方面,自移动设备可以基于ORB-SLAM的定位方式、基于视觉里程计的定位方式、IMU的定位方式、基于编码器的定位方式、基于GPS的定位方式中的任一种或任几种形成的融合定位方式对自身进行定位,

步骤4,自移动设备在移动过程中,探测周围的信标组件,并接收探测到的信标组件提供的其与自移动设备的距离信息,基于自移动设备的位置以及自移动设备与探测到的信标组件之间的距离信息,利用三角定位原理,得到K个信标组件的第一初始位置。

步骤5,计算工作区域中每个信标组件的初始信标信号覆盖度和目标子区域的初始信标信号覆盖度。关于目标子区域的定义和初始信标信号覆盖度的计算方式均参见前文描述,在此不再赘述。

步骤6,判断每个信标组件的初始信标信号覆盖度是否大于或等于第一阈值;若是,执行步骤7;若否,执行步骤8;

步骤7,判断目标子区域的初始信标信号覆盖度是否大于或等于第二阈值;若是,直接将信标组件的第一初始位置作为目标位置对信标组件,进入步骤18;若否,则执行步骤8。

步骤8,利用利用粒子群算法,对K个信标组件在工作区域边界上的部署位置进行优化,得到K个信标组件各自的目标位置。

步骤9,在得到K个信标组件各自的目标位置后,重新计算每个信标组件的目标信标信号覆盖度和目标子区域的目标信标信号覆盖度。

步骤10,根据上述每个信标组件的目标信标信号覆盖度和目标子区域的目标信标信号覆盖度,判断优化得到的K个信标组件的目标位置是否满足信号覆盖度要求。若是,执行步骤11;若不满足,执行步骤16。

步骤11,控制自移动设备依次前往K个信标组件的目标位置,引导用户重新部署信标组件。

步骤12,在重新部署好信标组件后,针对每个信标组件,控制自移动设备在当前位置探测其与信标组件之间的第一距离,以及根据自移动设备当前所在位置与信标组件的目标位置计算出的二者之间的第二距离。

步骤13,判断第一距离和第二距离的差值是否大于设定的距离阈值,即判断重新部署的信标组件的位置和通过粒子群算法计算得到的目标位置的误差是否在设定范围内,如果误差在设定范围内,认为信标组件部署在目标位置,执行步骤18;如果误差超过了设定范围,则执行步骤14。

步骤14,发出第一提示信息,提示用户信标组件的部署位置不准确,需重新部署。

步骤15,判断用户是否选择重新部署信标组件,如果用户确定重新部署,则重新部署信标组件的位置,并返回执行步骤12;如果否,则执行步骤17。

步骤16,输出第二提示信息,以提示用户信标组件的数量不足并建议增加信标组件的数量。

步骤17,在确定K个信标组件的最终部署位置之后,在工作区域中进行弓字型建图,得到工作区域的环境地图,也可以将K个信标组件的最终部署位置标记在边界地图中。需要说明的是,环境地图中标记K个信标组件的位置不一定是目标位置,但一定是实际部署位置。也就是说,对于信标组件而言,其实际部署位置可能与目标位置相同,也可能不相同。

下面以割草机在草坪区域工作为例,以信标组件是UWB对在草坪区域部署3个UWB的具体过程进行阐述。

如图1e所示,为草坪区域和3个UWB布局示意图,其中,粗实线方框内为草坪区域,即割草机的工作区域,草坪左侧为房屋,除草坪和房屋外,假设周围无明显的其他视觉特征。假设一开始,用户根据UWB的说明书将3个UWB部署在粗实线方框上3个空心圈代表的位置,即第一初始位置。然后,遥控割草机沿着草坪边界(即粗实线方框)移动一圈。在移动过程中,割草机摄像头会捕捉割草机周围的视觉特征,用于视觉定位,并且可计算出3个UWB的第一初始位置。与此同时,由于草坪纹理接近,无法提供有效的全局视觉特征,只有房屋能够提供明显的全局视觉特征。草坪左半边由于离房屋较近,房屋提供的视觉特征更清晰有效,因此视觉特征较好,而草坪右侧区域,由于离房屋较远,视觉特征较差。将草坪区域分为左右两个子区域,左侧子区域的视觉丰富度优于右侧子区域。

然后,割草机按照第一初始位置,自动计算在工作区域内,每个UWB和目标子区域的初始信标信号覆盖度,若其中一个覆盖率小于设定的阈值,如每个UWB的初始信标覆盖度不足80%或目标子区域的初始信标信号覆盖度不足60%,则通过粒子群算法进行UWB目标位置的确定。其中,如图1e中,粗实线方框上3个实心小黑圈表示经过粒子群算法优化得到的3个UWB的目标位置。

同时,在得到UWB的目标位置后,根据目标位置,计算每个UWB和目标子区域的目标信标信号覆盖度;若每个UWB或目标子区域的目标信标信号覆盖度不满足要求,则直接提示用户,UWB个数不足,建议添加新的UWB;

若每个UWB或目标子区域的目标信标信号覆盖度满足要求,即每个UWB的目标信标覆盖度大于80%或目标子区域的目标信标信号覆盖度大于60%,则割草机前往每个UWB的目标位置,引导用户将UWB重新布置在目标位置上。

在用户布置完成后,对于每个UWB,割草机备接收该UWB和割草机之间的测距d1,同时计算由目标位置到割草机当前位置的理论测距d2,若d1和d2间误差小于2m,则认为UWB布置在了目标位置上,否则提示用户UWB的布置位置不准确,请用户重新部署UWB。

最后,推荐布置的UWB的目标位置如图1e中的UWB1、UWB2、UWB3所示,虚线圆圈为单个UWB的覆盖区域,草坪左侧视觉特征较好只需单UWB覆盖大部分区域,由UWB1的信标信号覆盖了浅灰色区域;草坪右侧为视觉较差,需要2个UWB覆盖大部分区域,因此由UWB2和UWB3共同覆盖了深灰色区域。

在上述实施例中,以预先将K个信标组件部署在工作区域边界上,并以此为基准进行K个信标组件的部署位置的优化处理,但并不限于此。在一些实施例中,也可以直接根据工作区域对信标信号覆盖度的要求,直接对K个信标组件的部署位置进行优化,而不需要预先将K个信标组件部署在工作区域边界上。基于此,本申请实施例还提供了另一种信标组件的位置确定方法。

图2为本申请一示例性实施例提供的另一信标组件的位置确定方法的流程示意图。如图2所示,该方法包括:

201、获取待部署在工作区域的边界上的信标组件的数量K,并初始化K个信标组件在边界上的第二初始位置,K是≥1的自然数;

202、根据工作区域对信标信号覆盖度的要求,对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置。

在本实施例中,需要在工作区域的边界上部署K个信标组件。为了能够准确给出K个信标组件在工作区域边界上的合理部署位置,在本实施例中,获取信标组件的数量K,然后,初始化K个信标组件在边界上的第二初始位置。需要说明的是,这里的第二初始位置并不是K个信标组件在工作区域边界上的实际部署位置,而是本方案中初始化得到的一种假设位置。基于此,结合工作区域对信标信号覆盖度的要求,对K个信标组件在所述边界上的部署位置进行优化,得到K个信标组件各自的目标位置。

可选地,根据所述工作区域对信标信号覆盖度的要求,对所述K个信标组件在所述边界上的部署位置进行优化,得到所述K个信标组件各自的目标位置,包括:将所述工作区域的边界进行栅格化,得到包括M个栅格的向量,每个栅格代表所述边界上的一个部署位置,M是≥K的正整数;将所述K个信标组件在所述M个栅格中的布局方式作为粒子,将全局信标信号覆盖度作为粒子的适应度函数;利用粒子群算法对所述K个信标组件在所述边界上的部署位置进行优化,得到所述K个信标组件各自的目标位置;其中,所述全局信标信号覆盖度同时反映每个信标组件的信标信号覆盖度和所述目标子区域的信标信号覆盖度。

可选地,利用粒子群算法对所述K个信标组件在所述边界上的部署位置进行优化,得到所述K个信标组件各自的目标位置,包括:初始化N个粒子,每个粒子代表所述K个信标组件在所述M个栅格中的一种布局方式,且每个粒子中的信标组件具有在所述M个栅格中移动的初始速度,N是≥1的正整数;对所述N个粒子进行迭代,直至得到满足迭代终止条件的目标粒子;获取所述目标粒子中K个信标组件的部署位置,作为所述K个信标组件各自的目标位置;

其中,在每次迭代中,执行以下操作:

计算本次迭代中N个粒子对应的全局信标信号覆盖度,并获取本次迭代中全局信标信号覆盖度最大的第一粒子,以及历史迭代中全局信标信号覆盖度最大的第二粒子;根据所述第一粒子K个信标组件的部署位置和速度和第二粒子中K个信标组件的部署位置和速度,对本次迭代中N个粒子中K个信标组件的部署位置和速度进行更新,得到用于下次迭代的N个新的粒子。

进一步可选地,控制自移动设备移动至所述K个信标组件各自的目标位置,以引导用户将所述K个信标组件部署在各自的目标位置上。

需要说明的是,本实施例的上述步骤的具体实现可参考上述实施例的相关描述,此处不再赘述。

图3为本申请一示例性实施例提供的信标组件的位置确定装置的结构示意图。如图3所示,该装置包括:

位置获取模块31,用于部署在工作区域边界上的K个信标组件的第一初始位置,K是≥1的自然数,所述工作区域包括至少两个子区域,不同子区域的视觉特征信息的丰富度不同,且对信标信号覆盖度的要求不同;

位置优化模块32,用于根据所述至少两个子区域对信标信号覆盖度的要求,对所述K个信标组件在所述边界上的部署位置进行优化,得到所述K个信标组件各自的目标位置。

位置获取模块31,在用于获取部署在工作区域边界上的K个信标组件的第一初始位置时,具体用于:控制自移动设备沿着工作区域的边界移动;在移动过程中,定位自移动设备的多个位置,并在每个位置上探测自移动设备周围存在的信标组件;基于多个位置以及自移动设备与探测到的信标组件之间的距离,基于三角定位原理,得到K个信标组件的第一初始位置。

其中,定位自移动设备的多个位置采用的定位方式包括:基于ORB-SLAM的定位方式、基于视觉里程计的定位方式、基于IMU的定位方式、基于编码器的定位方式、基于GPS的定位方式中的任一种或任几种形成的融合定位方式。

位置获取模块31,还用于:在自移动设备沿着工作区域的边界移动过程中,获取工作区域的视觉特征信息;根据工作区域的视觉特征信息,将工作区域划分为至少两个子区域。

可选地,在自移动设备沿着工作区域的边界移动过程中,位置获取模块31用于获取工作区域的视觉特征信息时,具体用于:在自移动设备沿着工作区域的边界移动过程中,控制自移动设备采集多张环境图像;根据多张环境图像,获取工作区域的视觉特征信息。

位置获取模块31,在用于根据工作区域的视觉特征信息,将工作区域划分为至少两个子区域时,具体用于:根据工作区域的视觉特征信息,将工作区域划分为第一子区域和第二子区域;其中,第一子区域的视觉特征信息的丰富度优于第二子区域。

位置优化模块32,在用于根据至少两个子区域对信标信号覆盖度的要求,对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置时,具体用于:从至少两个子区域中确定目标子区域,目标子区域是视觉特征信息的丰富度小于设定阈值,或者是视觉特征信息的丰富度最差的子区域;若工作区域或目标子区域的信标信号覆盖度小于对应阈值,对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置。

位置优化模块32,在用于对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置时,具体用于:利用粒子群算法,对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置。

位置优化模块32,在用于利用粒子群算法,对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置时,具体用于:将工作区域的边界进行栅格化,得到包括M个栅格的向量,每个栅格代表边界上的一个部署位置,M是≥K的正整数;将K个信标组件在M个栅格中的布局方式作为粒子,将全局信标信号覆盖度作为粒子的适应度函数;利用粒子群算法对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置;其中,全局信标信号覆盖度同时反映每个信标组件的信标信号覆盖度和目标子区域的信标信号覆盖度。

位置优化模块32,在用于利用粒子群算法对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置时,具体用于:初始化N个粒子,每个粒子代表K个信标组件在M个栅格中的一种布局方式,且每个粒子中的信标组件具有在M个栅格中移动的初始速度,N是≥1的正整数;对N个粒子进行迭代,直至得到满足迭代终止条件的目标粒子;获取目标粒子中K个信标组件的部署位置,作为K个信标组件各自的目标位置。

其中,在每次迭代中,执行以下操作:计算本次迭代中N个粒子对应的全局信标信号覆盖度,并获取本次迭代中全局信标信号覆盖度最大的第一粒子,以及历史迭代中全局信标信号覆盖度最大的第二粒子;根据第一粒子K个信标组件的部署位置和速度和第二粒子中K个信标组件的部署位置和速度,对本次迭代中N个粒子中K个信标组件的部署位置和速度进行更新,得到用于下次迭代的N个新的粒子。

可选地,全局信标信号覆盖度采用以下公式计算得到:全局信标信号覆盖度F=K1*每个信标组件的信标信号覆盖度+K2*目标子区域的信标信号覆盖度;其中,每个信标组件的信标信号覆盖度=每个信标组件在工作区域中的信号覆盖面积/工作区域的面积;目标子区域的信标信号覆盖度=目标子区域中各信标组件在目标子区域中的信号覆盖面积之和/目标子区域的面积。

位置优化模块32,在用于在对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置之前,还用于:根据K个信标组件的第一初始位置,确定位于目标子区域中的目标信标组件;根据K个信标组件在工作区域中的信号覆盖面积和工作区域的面积,得到每个信标组件的初始信标信号覆盖度;根据目标信标组件在目标子区域中的信号覆盖面积和目标子区域的面积,得到目标子区域的初始信标信号覆盖度;若每个信标组件和目标子区域的初始信标信号覆盖度中存在小于对应阈值的情况,则执行对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置的操作。

位置优化模块32,还用于:若每个信标组件和目标子区域的初始信标信号覆盖度中不存在小于对应阈值的情况,则将K个信标组件的第一初始位置作为K个信标组件的目标位置。

位置优化模块32,还用于:控制自移动设备移动至K个信标组件各自的目标位置,以引导用户将K个信标组件部署在各自的目标位置上。

进一步,在将K个信标组件部署在各自的目标位置之后,位置优化模块32还用于:针对每个信标组件,控制自移动设备在当前位置探测其与信标组件之间的第一距离;根据自移动设备当前所在位置与信标组件的目标位置,计算第二距离;若第一距离和第二距离的差值大于设定的距离阈值,输出第一提示信息,以提示用户信标组件的部署位置不准确需重新部署。

位置优化模块32,还用于:构建工作区域的环境地图,环境地图中标记有K个信标组件的第一初始位置;以及在得到K个信标组件各自的目标位置之后,更新K个信标组件在环境地图中的位置。

位置优化模块32,还用于:若对K个信标组件在边界上的部署位置进行优化无法得到满足至少两个子区域对信标信号覆盖度的要求的目标位置,输出第二提示信息,以提示用户信标组件的数量不足并建议增加信标组件的数量。

需要说明的是,本实施例的提供上述模块或单元的具体实现可参考上述实施例的相关描述,此处不再赘述。

图4为本申请一示例性实施例提供的另一信标组件的位置确定装置的结构示意图。如图4所示,该装置包括:

数量获取模块41,用于获取待部署在工作区域的边界上的信标组件的数量K并初始化K个信标组件在所述边界上的第二初始位置,K是≥1的自然数;

位置优化模块42,用于根据所述工作区域对信标信号覆盖度的要求,对所述K个信标组件在所述边界上的部署位置进行优化,得到所述K个信标组件各自的目标位置。

位置优化模块42,在用于根据所述工作区域对信标信号覆盖度的要求,对所述K个信标组件在所述边界上的部署位置进行优化,得到所述K个信标组件各自的目标位置时,具体用于:将所述工作区域的边界进行栅格化,得到包括M个栅格的向量,每个栅格代表所述边界上的一个部署位置,M是≥K的正整数;将所述K个信标组件在所述M个栅格中的布局方式作为粒子,将全局信标信号覆盖度作为粒子的适应度函数;利用粒子群算法对所述K个信标组件在所述边界上的部署位置进行优化,得到所述K个信标组件各自的目标位置;其中,所述全局信标信号覆盖度同时反映每个信标组件的信标信号覆盖度和所述目标子区域的信标信号覆盖度。

位置优化模块42,在用于利用粒子群算法对所述K个信标组件在所述边界上的部署位置进行优化,得到所述K个信标组件各自的目标位置时,具体用于:初始化N个粒子,每个粒子代表所述K个信标组件在所述M个栅格中的一种布局方式,且每个粒子中的信标组件具有在所述M个栅格中移动的初始速度,N是≥1的正整数;对所述N个粒子进行迭代,直至得到满足迭代终止条件的目标粒子;获取所述目标粒子中K个信标组件的部署位置,作为所述K个信标组件各自的目标位置。

其中,在每次迭代中,执行以下操作:计算本次迭代中N个粒子对应的全局信标信号覆盖度,并获取本次迭代中全局信标信号覆盖度最大的第一粒子,以及历史迭代中全局信标信号覆盖度最大的第二粒子;根据所述第一粒子K个信标组件的部署位置和速度和第二粒子中K个信标组件的部署位置和速度,对本次迭代中N个粒子中K个信标组件的部署位置和速度进行更新,得到用于下次迭代的N个新的粒子。

进一步,该装置还包括:移动模块,用于控制自移动设备移动至所述K个信标组件各自的目标位置,以引导用户将所述K个信标组件部署在各自的目标位置上。

需要说明的是,本实施例提供的上述模块或单元的具体实现可参考上述实施例的相关描述,此处不再赘述。

图5为本申请一示例性实施例提供的自移动设备的结构示意图。如图5所示,包括:设备主体50,设备主体不上部署有一个或多个存储器50a和一个或多个处理器50b;

一个或多个存储器50a,用于存储计算机程序;一个或多个处理器50b与一个或多个存储器50a耦合,用于执行计算机程序,以用于实现以下步骤:

获取部署在工作区域边界上的K个信标组件的第一初始位置,K是≥1的自然数,工作区域包括至少两个子区域,不同子区域的视觉特征信息的丰富度不同,且对信标信号覆盖度的要求不同;

根据至少两个子区域对信标信号覆盖度的要求,对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置。

进一步可选地,处理器50b在用于获取部署在工作区域边界上的K个信标组件的第一初始位置时,具体用于:控制自移动设备沿着工作区域的边界移动;在移动过程中,定位自移动设备的多个位置,并在每个位置上探测自移动设备周围存在的信标组件;基于多个位置以及自移动设备与探测到的信标组件之间的距离,基于三角定位原理,得到K个信标组件的第一初始位置。

进一步可选地,定位自移动设备的多个位置采用的定位方式包括:基于ORB-SLAM的定位方式、基于视觉里程计的定位方式、基于IMU的定位方式、基于编码器的定位方式、基于GPS的定位方式中的任一种或任几种形成的融合定位方式。

进一步,处理器50b还用于:在自移动设备沿着工作区域的边界移动过程中,获取工作区域的视觉特征信息;根据工作区域的视觉特征信息,将工作区域划分为至少两个子区域。

进一步可选地,在自移动设备沿着工作区域的边界移动过程中,处理器50b在用于获取工作区域的视觉特征信息时,具体用于:在自移动设备沿着工作区域的边界移动过程中,控制自移动设备采集多张环境图像;根据多张环境图像,获取工作区域的视觉特征信息。

进一步可选地,处理器50b在用于根据工作区域的视觉特征信息,将工作区域划分为至少两个子区域时,具体用于:根据工作区域的视觉特征信息,将工作区域划分为第一子区域和第二子区域;其中,第一子区域的视觉特征信息的丰富度优于第二子区域。

进一步可选地,处理器50b在用于根据至少两个子区域对信标信号覆盖度的要求,对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置时,具体用于:从至少两个子区域中确定目标子区域,目标子区域是视觉特征信息的丰富度小于设定阈值,或者是视觉特征信息的丰富度最差的子区域;若工作区域或目标子区域的信标信号覆盖度小于对应阈值,对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置。

进一步可选地,处理器50b在用于对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置时,具体用于:利用粒子群算法,对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置。

进一步可选地,处理器50b在用于利用粒子群算法,对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置时,具体用于:将工作区域的边界进行栅格化,得到包括M个栅格的向量,每个栅格代表边界上的一个部署位置,M是≥K的正整数;将K个信标组件在M个栅格中的布局方式作为粒子,将全局信标信号覆盖度作为粒子的适应度函数;利用粒子群算法对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置;其中,全局信标信号覆盖度同时反映每个信标组件的信标信号覆盖度和目标子区域的信标信号覆盖度。

进一步可选地,处理器50b在用于利用粒子群算法对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置时,具体用于:初始化N个粒子,每个粒子代表K个信标组件在M个栅格中的一种布局方式,且每个粒子中的信标组件具有在M个栅格中移动的初始速度,N是≥1的正整数;对N个粒子进行迭代,直至得到满足迭代终止条件的目标粒子;获取目标粒子中K个信标组件的部署位置,作为K个信标组件各自的目标位置。

其中,在每次迭代中,执行以下操作:计算本次迭代中N个粒子对应的全局信标信号覆盖度,并获取本次迭代中全局信标信号覆盖度最大的第一粒子,以及历史迭代中全局信标信号覆盖度最大的第二粒子;根据第一粒子K个信标组件的部署位置和速度和第二粒子中K个信标组件的部署位置和速度,对本次迭代中N个粒子中K个信标组件的部署位置和速度进行更新,得到用于下次迭代的N个新的粒子。

可选地,全局信标信号覆盖度采用以下公式计算得到:全局信标信号覆盖度F=K1*每个信标组件的信标信号覆盖度+K2*目标子区域的信标信号覆盖度;其中,每个信标组件的信标信号覆盖度=每个信标组件在工作区域中的信号覆盖面积/工作区域的面积;目标子区域的信标信号覆盖度=目标子区域中各信标组件在目标子区域中的信号覆盖面积之和/目标子区域的面积。

进一步可选地,处理器50b在用于在对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置之前,还用于:根据K个信标组件的第一初始位置,确定位于目标子区域中的目标信标组件;根据K个信标组件在工作区域中的信号覆盖面积和工作区域的面积,得到每个信标组件的初始信标信号覆盖度;根据目标信标组件在目标子区域中的信号覆盖面积和目标子区域的面积,得到目标子区域的初始信标信号覆盖度;若每个信标组件和目标子区域的初始信标信号覆盖度中存在小于对应阈值的情况,则执行对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置的操作。

进一步,处理器50b还用于:若每个信标组件和目标子区域的初始信标信号覆盖度中不存在小于对应阈值的情况,则将K个信标组件的第一初始位置作为K个信标组件的目标位置。

进一步,处理器50b还用于:控制自移动设备移动至K个信标组件各自的目标位置,以引导用户将K个信标组件部署在各自的目标位置上。

进一步,在将K个信标组件部署在各自的目标位置之后,处理器50b还用于:针对每个信标组件,控制自移动设备在当前位置探测其与信标组件之间的第一距离;根据自移动设备当前所在位置与信标组件的目标位置,计算第二距离;若第一距离和第二距离的差值大于设定的距离阈值,输出第一提示信息,以提示用户信标组件的部署位置不准确需重新部署。

进一步可选地,处理器50b还用于:构建工作区域的环境地图,环境地图中标记有K个信标组件的第一初始位置;以及在得到K个信标组件各自的目标位置之后,更新K个信标组件在环境地图中的位置。

进一步可选地,处理器50b还用于:若对K个信标组件在边界上的部署位置进行优化无法得到满足至少两个子区域对信标信号覆盖度的要求的目标位置,输出第二提示信息,以提示用户信标组件的数量不足并建议增加信标组件的数量。

或者处理器50b执行如下信标组件的位置确定方法中的步骤:

获取待部署在工作区域的边界上的信标组件的数量K,并初始化K个信标组件在边界上的第二初始位置,K是≥1的自然数;根据工作区域对信标信号覆盖度的要求,对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置。

进一步可选地,处理器50b在用于根据工作区域对信标信号覆盖度的要求,对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置时,具体用于:将工作区域的边界进行栅格化,得到包括M个栅格的向量,每个栅格代表边界上的一个部署位置,M是≥K的正整数;将K个信标组件在M个栅格中的布局方式作为粒子,将全局信标信号覆盖度作为粒子的适应度函数;利用粒子群算法对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置;其中,全局信标信号覆盖度同时反映每个信标组件的信标信号覆盖度和目标子区域的信标信号覆盖度。

进一步可选地,处理器50b在用于利用粒子群算法对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置时,具体用于:初始化N个粒子,每个粒子代表K个信标组件在M个栅格中的一种布局方式,且每个粒子中的信标组件具有在M个栅格中移动的初始速度,N是≥1的正整数;对N个粒子进行迭代,直至得到满足迭代终止条件的目标粒子;获取目标粒子中K个信标组件的部署位置,作为K个信标组件各自的目标位置。

其中,在每次迭代中,执行以下操作:计算本次迭代中N个粒子对应的全局信标信号覆盖度,并获取本次迭代中全局信标信号覆盖度最大的第一粒子,以及历史迭代中全局信标信号覆盖度最大的第二粒子;根据第一粒子K个信标组件的部署位置和速度和第二粒子中K个信标组件的部署位置和速度,对本次迭代中N个粒子中K个信标组件的部署位置和速度进行更新,得到用于下次迭代的N个新的粒子。

进一步可选地,处理器50b还用于:控制自移动设备移动至K个信标组件各自的目标位置,以引导用户将K个信标组件部署在各自的目标位置上。

进一步地,如图5所示,该自移动设备还包括:通信组件50c、电源组件50d、音频组件50e等其它组件。图5中仅示意性给出部分组件,并不意味着电子设备只包括图5所示组件。

需要说明的是,本实施例提供的上述模块或单元的具体实现可参考上述实施例的相关描述,此处不再赘述。

图6为本申请一示例性实施例提供的计算机设备的结构示意图。如图6所示,包括:设备主体60,所述设备主体上部署有一个或多个存储器60a和一个或多个处理器60b;

所述一个或多个存储器60a,用于存储计算机程序;所述一个或多个处理器60b与所述一个或多个存储器60a耦合,用于执行所述计算机程序,以用于实现以下步骤:

获取部署在工作区域边界上的K个信标组件的第一初始位置,K是≥1的自然数,工作区域包括至少两个子区域,不同子区域的视觉特征信息的丰富度不同,且对信标信号覆盖度的要求不同;

根据至少两个子区域对信标信号覆盖度的要求,对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置。

进一步可选地,处理器60b在用于获取部署在工作区域边界上的K个信标组件的第一初始位置时,具体用于:控制自移动设备沿着工作区域的边界移动;在移动过程中,定位自移动设备的多个位置,并在每个位置上探测自移动设备周围存在的信标组件;基于多个位置以及自移动设备与探测到的信标组件之间的距离,基于三角定位原理,得到K个信标组件的第一初始位置。

进一步可选地,定位自移动设备的多个位置采用的定位方式包括:基于ORB-SLAM的定位方式、基于视觉里程计的定位方式、基于IMU的定位方式、基于编码器的定位方式、基于GPS的定位方式中的任一种或任几种形成的融合定位方式。

进一步,处理器60b还用于:在自移动设备沿着工作区域的边界移动过程中,获取工作区域的视觉特征信息;根据工作区域的视觉特征信息,将工作区域划分为至少两个子区域。

进一步可选地,在自移动设备沿着工作区域的边界移动过程中,处理器60b在用于获取工作区域的视觉特征信息时,具体用于:在自移动设备沿着工作区域的边界移动过程中,控制自移动设备采集多张环境图像;根据多张环境图像,获取工作区域的视觉特征信息。

进一步可选地,处理器60b在用于根据工作区域的视觉特征信息,将工作区域划分为至少两个子区域时,具体用于:根据工作区域的视觉特征信息,将工作区域划分为第一子区域和第二子区域;其中,第一子区域的视觉特征信息的丰富度优于第二子区域。

进一步可选地,处理器60b在用于根据至少两个子区域对信标信号覆盖度的要求,对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置时,具体用于:从至少两个子区域中确定目标子区域,目标子区域是视觉特征信息的丰富度小于设定阈值,或者是视觉特征信息的丰富度最差的子区域;若工作区域或目标子区域的信标信号覆盖度小于对应阈值,对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置。

进一步可选地,处理器60b在用于对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置时,具体用于:利用粒子群算法,对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置。

进一步可选地,处理器60b在用于利用粒子群算法,对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置时,具体用于:将工作区域的边界进行栅格化,得到包括M个栅格的向量,每个栅格代表边界上的一个部署位置,M是≥K的正整数;将K个信标组件在M个栅格中的布局方式作为粒子,将全局信标信号覆盖度作为粒子的适应度函数;利用粒子群算法对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置;其中,全局信标信号覆盖度同时反映每个信标组件的信标信号覆盖度和目标子区域的信标信号覆盖度。

进一步可选地,处理器60b在用于利用粒子群算法对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置时,具体用于:初始化N个粒子,每个粒子代表K个信标组件在M个栅格中的一种布局方式,且每个粒子中的信标组件具有在M个栅格中移动的初始速度,N是≥1的正整数;对N个粒子进行迭代,直至得到满足迭代终止条件的目标粒子;获取目标粒子中K个信标组件的部署位置,作为K个信标组件各自的目标位置。

其中,在每次迭代中,执行以下操作:计算本次迭代中N个粒子对应的全局信标信号覆盖度,并获取本次迭代中全局信标信号覆盖度最大的第一粒子,以及历史迭代中全局信标信号覆盖度最大的第二粒子;根据第一粒子K个信标组件的部署位置和速度和第二粒子中K个信标组件的部署位置和速度,对本次迭代中N个粒子中K个信标组件的部署位置和速度进行更新,得到用于下次迭代的N个新的粒子。

可选地,全局信标信号覆盖度采用以下公式计算得到:全局信标信号覆盖度F=K1*每个信标组件的信标信号覆盖度+K2*目标子区域的信标信号覆盖度;其中,每个信标组件的信标信号覆盖度=每个信标组件在工作区域中的信号覆盖面积/工作区域的面积;目标子区域的信标信号覆盖度=目标子区域中各信标组件在目标子区域中的信号覆盖面积之和/目标子区域的面积。

进一步可选地,处理器60b在用于在对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置之前,还用于:根据K个信标组件的第一初始位置,确定位于目标子区域中的目标信标组件;根据K个信标组件在工作区域中的信号覆盖面积和工作区域的面积,得到每个信标组件的初始信标信号覆盖度;根据目标信标组件在目标子区域中的信号覆盖面积和目标子区域的面积,得到目标子区域的初始信标信号覆盖度;若每个信标组件和目标子区域的初始信标信号覆盖度中存在小于对应阈值的情况,则执行对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置的操作。

进一步,处理器60b还用于:若每个信标组件和目标子区域的初始信标信号覆盖度中不存在小于对应阈值的情况,则将K个信标组件的第一初始位置作为K个信标组件的目标位置。

进一步,处理器60b还用于:控制自移动设备移动至K个信标组件各自的目标位置,以引导用户将K个信标组件部署在各自的目标位置上。

进一步,在将K个信标组件部署在各自的目标位置之后,处理器60b还用于:针对每个信标组件,控制自移动设备在当前位置探测其与信标组件之间的第一距离;根据自移动设备当前所在位置与信标组件的目标位置,计算第二距离;若第一距离和第二距离的差值大于设定的距离阈值,输出第一提示信息,以提示用户信标组件的部署位置不准确需重新部署。

进一步可选地,处理器60b还用于:构建工作区域的环境地图,环境地图中标记有K个信标组件的第一初始位置;以及在得到K个信标组件各自的目标位置之后,更新K个信标组件在环境地图中的位置。

进一步可选地,处理器60b还用于:若对K个信标组件在边界上的部署位置进行优化无法得到满足至少两个子区域对信标信号覆盖度的要求的目标位置,输出第二提示信息,以提示用户信标组件的数量不足并建议增加信标组件的数量。

或者处理器60b执行如下信标组件的位置确定方法中的步骤:

获取待部署在工作区域的边界上的信标组件的数量K,并初始化K个信标组件在边界上的第二初始位置,K是≥1的自然数;根据工作区域对信标信号覆盖度的要求,对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置。

进一步可选地,处理器60b在用于根据工作区域对信标信号覆盖度的要求,对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置时,具体用于:将工作区域的边界进行栅格化,得到包括M个栅格的向量,每个栅格代表边界上的一个部署位置,M是≥K的正整数;将K个信标组件在M个栅格中的布局方式作为粒子,将全局信标信号覆盖度作为粒子的适应度函数;利用粒子群算法对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置;其中,全局信标信号覆盖度同时反映每个信标组件的信标信号覆盖度和目标子区域的信标信号覆盖度。

进一步可选地,处理器60b在用于利用粒子群算法对K个信标组件在边界上的部署位置进行优化,得到K个信标组件各自的目标位置时,具体用于:初始化N个粒子,每个粒子代表K个信标组件在M个栅格中的一种布局方式,且每个粒子中的信标组件具有在M个栅格中移动的初始速度,N是≥1的正整数;对N个粒子进行迭代,直至得到满足迭代终止条件的目标粒子;获取目标粒子中K个信标组件的部署位置,作为K个信标组件各自的目标位置。

其中,在每次迭代中,执行以下操作:计算本次迭代中N个粒子对应的全局信标信号覆盖度,并获取本次迭代中全局信标信号覆盖度最大的第一粒子,以及历史迭代中全局信标信号覆盖度最大的第二粒子;根据第一粒子K个信标组件的部署位置和速度和第二粒子中K个信标组件的部署位置和速度,对本次迭代中N个粒子中K个信标组件的部署位置和速度进行更新,得到用于下次迭代的N个新的粒子。

进一步可选地,处理器60b还用于:控制自移动设备移动至K个信标组件各自的目标位置,以引导用户将K个信标组件部署在各自的目标位置上。

进一步地,如图6所示,该自移动设备还包括:通信组件60c、电源组件60d、音频组件60e等其它组件。图6中仅示意性给出部分组件,并不意味着电子设备只包括图6所示组件。

需要说明的是,本实施例提供的上述模块或单元的具体实现可参考上述实施例的相关描述,此处不再赘述。

本申请一示例性实施例还提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被处理器执行时,致使所述处理器实现以上所述方法中的步骤。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信标信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

相关技术
  • 一种锂电池正极浆料的制备方法及锂电池
  • 一种锂离子电池水系正极浆料及其制备方法、锂离子电池
  • Li-CO2电池正极催化剂材料及其制备方法、电池正极材料以及电池
  • 锂离子电池正极活性材料、其制备方法、正极、其制备方法及电池
  • 核壳结构聚合物、制备方法和用途、正极浆料、二次电池、电池模块、电池包和用电装置
  • 核壳结构聚合物、制备方法和用途、正极浆料、二次电池、电池模块、电池包和用电装置
技术分类

06120116550721