具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
本申请实施例提供的救生圈的控制方法可以应用于智能救生圈本身,也可以应用于与智能救生圈相连接的设备,例如手机、平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digitalassistant,PDA)等电子设备上,本申请实施例对电子设备的具体类型不作任何限制。
为了说明本申请所提出的技术方案,下面通过具体实施例来进行说明。
图1示出了本申请提供的救生圈的控制方法的示意性流程图,该救生圈搭载有视觉传感器,该控制方法包括:
步骤110、获取视觉传感器观测范围内的障碍物的第一概率分布以及落水者的第二概率分布。
当视觉传感器观测范围内出现障碍物和落水者时,为了能够控制救生圈对落水者实现高效可靠的救援,可以先获取障碍物和落水者各自在当前时刻的概率分布,即第一概率分布和第二概率分布,以便于后续基于这两个概率分布得到可靠性较高的控制指令。可以理解的是,视觉传感器能够针对目标物体进行观测并识别,以确定观测到的目标物体是否为待救援的落水者和需要避开的障碍物,并在确定当前的观测范围内有落水者和障碍物时,进一步获取对应的第一概率分布及第二概率分布。
步骤120、基于第一概率分布以及第二概率分布计算针对救生圈的控制指令的边缘分布。
在得到第一概率分布和第二概率分布后,即可基于这两个概率分布计算控制指令的边缘分布,其中,边缘分布是一种特殊的概率分布,是指仅包含部分变量的概率分布。此处,基于对控制指令的边缘分布进行计算,能够降低距离对控制指令的准确性的影响,从而有助于提高控制救生圈对落水者进行救援的可靠性。
步骤130、基于边缘分布求解控制指令的最优解,得到目标控制指令。
边缘分布即为控制指令的置信度分布情况,因此可以根据边缘分布确定当前的控制指令的置信度分布,以确定控制指令的最优解,即得到目标控制指令。
步骤140、基于目标控制指令控制救生圈对落水者进行救援。
在得到目标控制指令后,可以将该目标控制指令发送至救生圈的控制模块,由救生圈的控制模块解析并执行目标控制指令,以实现对救生圈的控制。救生圈的控制模块会按照目标执行指令调整航向和航速,向落水者靠近以提供救援。
在本申请实施例中,在测量距离较远,测量准确率较低的情况下,可以先获取障碍物的第一概率分布以及落水者的第二概率分布,然后基于两个概率分布计算控制指令的边缘分布,能够降低距离对控制指令准确性的影响,以确定控制指令的最优解,即目标控制指令,最后基于该目标控制指令控制救生圈对落水者进行救援,能够提高该救生圈救援的可靠性。
在一些实施例中,为了提高第一概率分布以及第二概率分布的准确性,上述步骤110具体包括:
步骤111、获取救生圈的运动状态。
步骤112、基于运动状态预测障碍物的第一预测概率分布以及落水者的第二预测概率分布。
步骤113、基于视觉传感器对障碍物以及落水者进行定位,得到障碍物的第一观测位置以及落水者的第二观测位置。
步骤114、基于第一预测概率分布以及第一观测位置确定第一概率分布。
步骤115、基于第二预测概率分布以及第二观测位置确定第二概率分布。
为了能够求解得到准确性较高的目标控制指令,可以先获取当前时刻救生圈的运动状态,例如救生圈当前所在位置、前进的速度以及前进行方向等。在确定出救生圈的运动状态后,为了提高第一概率分布以及第二概率分布的准确性,本申请实施例采用贝叶斯定理来确定第一概率分布以及第二概率分布,即:先基于运动状态预测出障碍物的第一预测概率分布以及落水者的第二预测概率分布,而后基于视觉传感器对障碍物和落水者进行定位,得到两个观测位置,针对障碍物或者落水者,可以根据其对应的预测概率分布和对应的观测位置确定出其概率分布。其中,观测位置即为视觉传感器观测到的位置信息,在本申请实施例中是对两个目标物体的位置进行观测,因此可以得到两个观测位置。为了便于区分,将视觉传感器观测得到的障碍物的位置记作第一观测位置,将视觉传感器观测得到的落水者的位置记作第二观测位置。也就是说,最终可以根据障碍物的第一预测概率分布和第一观测位置确定第一概率分布,根据落水者的第二预测概率分布和第二观测位置确定第二概率分布。
在一些实施例中,上述步骤112具体包括:
步骤1121、获取障碍物在当前时刻的上一时刻的第一概率分布以及落水者在上一时刻的第二概率分布。
步骤1122、基于运动状态以及障碍物在上一时刻的第一概率分布,预测障碍物在当前时刻的第一预测概率分布。
步骤1123、基于运动状态以及落水者在上一时刻的第二概率分布,预测落水者在当前时刻的第二预测概率分布。
为了提高两个预测概率分布的准确性,不论是障碍物的预测概率分布还是落水者的预测概率分布,都可以跟随时间的推移按照预设时间间隔实时迭代。对于每一次迭代,可以利用前次迭代得到的概率分布来预测本次的预测概率分布,从而使得预测概率分布逐渐趋近真实概率分布。也就是说,随着时间的推演,该预测过程可以是一个往复迭代趋近于真实分布的过程。相应地,在预测过程中,第一预测概率分布会趋于障碍物的真实概率分布,第二预测概率分布也会趋于落水者的真实概率分布。可以理解的是,在获取得到的障碍物和落水者当前时刻的上一时刻的概率分布中,上一时刻可以根据预设时间间隔确定。举例来说,若当前时刻为2021年11月26日11时10分8秒,该时刻即为本次执行上述预测步骤的时刻,如果时间间隔设置为0.2秒,则可以推导出前次执行上述预测步骤的时刻为2021年11月26日11时10分7.8秒,该时刻也即上一时刻。在得到上一时刻的第一概率分布和上一时刻的第二概率分布后,对于障碍物,可以根据运动状态对上一时刻的第一概率分布进行更新,得到当前时刻的第一预测概率分布;对于落水者,可以根据运动状态对上一时刻的第二概率分布进行更新,得到当前时刻的第二预测概率分布。
在一些实施例中,上述步骤114具体包括:
将第一观测位置离散化得到障碍物的第一观测概率分布,基于第一观测概率分布以及第一预测概率分布确定第一概率分布。
上述步骤115具体包括:
将第二观测位置离散化得到落水者的第二观测概率分布,基于第二观测概率分布以及第二预测概率分布确定第二概率分布。
在本申请实施例中,为了概率分布确定的准确性,针对同一目标物体,即障碍物或者落水者,可以基于预测概率分布和观测概率分布确定该目标物体最终的概率分布。为了得到观测概率分布,针对障碍物,可以基于第一观测位置进行离散化,得到第一观测概率分布;针对落水者,可以基于第二观测位置进行离散化,得到第二观测概率分布。在得到第一预测概率和第一观测概率后,即可确定障碍物的第一概率分布;同理,在得到第二预测概率和第二观测概率后,即可确定障碍物的第二概率分布。应当理解的是,此处提到的第一预测概率分布、第一观测概率分布、第一概率分布、第二预测概率分布、第二观测概率分布以及第二概率分布均为当前时刻的概率分布。
在一些实施例中,上述步骤130具体包括:
步骤131、基于边缘分布计算控制指令的概率分布方差。
步骤132、基于概率分布方差求解控制指令的最优解,得到目标控制指令。
为了保障救生圈的综合性能,可以基于边缘分布确定控制指令的置信度分布,并根据该置信度分布情况的不同,采取不同的策略。其中,可以基于控制指令的概率分布方差确定控制指令置信度,具体的确定方法是在求解目标控制指令之前,先通过边缘分布计算控制指令的概率分布方差,而后再基于概率分布方差进一步求解控制指令的最优解,以得到目标控制指令。
在一些实施例中,为了提高控制救生圈对落水者救援的可靠性,上述步骤132具体包括:
步骤1321、判断概率分布方差是否大于或等于预设方差阈值;
步骤1322、若概率分布方差大于或等于预设方差阈值,则将边缘分布中置信度最高的控制指令确定为目标控制指令。
要确定控制指令的置信度分布情况,可以将计算得到的概率分布方差与预设方差阈值进行比较,如果该概率分布方差大于或等于预设方差阈值,则说明当前时刻视觉传感器感知到的信息不确定性较低,控制指令的置信度分布较集中。针对该置信度分布情况,可以直接将边缘分布中置信度最高的控制指令确定为目标控制指令,从而提高控制救生圈对落水者救援的可靠性。
在一些实施例中,针对另一种控制指令分布情况,在上述步骤1321之后还包括:
步骤1323、若概率分布方差小于预设方差阈值,则计算航向控制指令的子边缘分布。
步骤1324、将子边缘分布中置信度最高的航向控制指令确定为目标航向控制指令。
步骤1325、基于目标航向控制指令计算航速控制指令的条件分布。
步骤1326、计算条件分布的期望,将期望确定为目标航速控制指令。
步骤1327、基于目标航向控制指令以及目标航速控制指令确定目标控制指令。
若经过概率分布方差与预设方差阈值的比较,确定概率分布方差小于预设方差阈值,则说明当前时刻视觉传感器感知到的信息不确定性较高,控制指令的置信度分布较分散。针对该置信度分布情况,可以通过降低航速控制指令的精度来增加航向控制指令的鲁棒性。具体地,为了保障航向控制的鲁棒性,可以先将边缘分布中置信度最高的航向控制指令确定为目标航向控制指令,然后以目标航向控制指令作为条件,计算航速控制指令的条件分布,并将条件分布指令的期望确定为目标航速控制指令,最终得到的目标航向控制指令以及目标航速控制指令即为目标控制指令。根据该目标控制指令控制救生圈对落水者进行救援,能够提高救生圈前进方向的鲁棒性,进而提高控制救生圈对落水者救援的鲁棒性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
为便于理解,下面以实际应用场景来说明本申请提出的救生圈的控制方法。
图2示出了智能救生圈20示意图,该智能救生圈搭载了两个视觉传感器21,两个视觉传感器21的观测范围合并后是一个扇面。如图3所示,该扇面可以划分成为17个区间,以便于后续预测障碍物和落水者在当前时刻的概率分布。要预测障碍物在当前时刻的概率分布,需要将障碍物信息离散化到17个区间,每个区间i对应有两个离散随机变量diri和disi,diri表示障碍物的方位,disi表示救生圈和障碍物之间的距离。为了便于后续表述,将所有区间的两个随机变量分别表达为障碍物置信度dir-8:8以及障碍物距离dis-8:8。
同理,对于落水者,落水者方位dirT和落水者距离disT属于离散随机变量,其中,根据两个视觉传感器所能观测的范围确定落水者方位dirT的取值范围为{0°,10°,20°,…,350°},落水者距离的取值范围为{0m,1m,2m,3m,10m,10+m}。
对于救生圈的控制指令,包括航向控制指令Heading和航速控制指令Vel,这两个控制指令也均为离散随机变量。可以理解的是,航向控制指令Heading的取值范围和落水者方位dirT的取值范围相同,均为{0°,10°,20°,…,350°};航速控制指令Vel的取值与理论最大速度的比值范围可以包括{0%,10%,20%,…,80%},假设理论最大速度为V km/h,则航速控制指令Vel的取值范围可以是{0km/h,0.1Vkm/h,0.2Vkm/h,…,0.8Vkm/h}。
参见图4,智能救生圈的控制方法如下:
S401、接收智能救生圈的运动信息,估计智能救生圈的运动状态,该运动状态包括当前时刻的位置、速度和航向。
S402、获取障碍物上一时刻的第一概率分布,即diri和disi,基于上一时刻的第一概率分布和运动状态,预测障碍物当前时刻的第一预测概率分布,即diri-pred和disi-pred。
S403、获取落水者上一时刻的第二概率分布,即dirT和disT,基于上一时刻的第二概率分布和运动状态,预测落水者当前时刻的第二预测概率分布,即dirT-pred和disT-pred。
S404、基于智能救生圈的视觉传感器对观测范围内的目标物体(落水者和障碍物)进行定位,得到障碍物的第一观测位置和落水者的第二观测位置。
S405、将第一观测位置离散化为第一观测概率分布,第一观测概率分布包括第一方位观测概率分布diri-mea,以及第一距离观测概率分布disi-mea将第一预测概率分布与第一观测概率分布融合,采用贝叶斯理论确定障碍物当前时刻的第一概率分布,其中,障碍物当前时刻的第一方位概率分布采用下式公式计算:
障碍物当前时刻的第一距离概率分布采用下式公式计算:
S406、将第二观测位置离散化为第二观测概率分布,第二观测概率分布包括第二方位观测概率分布dirT-mea,以及第二距离观测概率分布disT-mea将第二预测概率分布与第二观测概率分布融合,采用贝叶斯理论确定落水者当前时刻的第二概率分布,其中,落水者当前时刻的第二方位概率分布采用下式公式计算:
落水者当前时刻的第二距离概率分布采用下式公式计算:
S407、将当前时刻的第一概率分布和当前时刻的第二概率分布代入下述预先设置的联合概率分布函数中,计算航向控制指令Heading和航速控制指令Vel的边缘分布:
S408、基于边缘分布计算控制指令的概率分布方差,并将概率分布方差与预设方差阈值进行比较。
S409、若概率分布方差大于或等于预设方差阈值,则将边缘分布中置信度最高的控制指令确定为目标控制指令,具体地,目标控制指令包括目标航向控制指令和目标航速控制指令,该目标控制指令计算公式如下:
S410、若概率分布方差小于预设方差阈值,则计算航向控制指令的边缘分布,并将边缘分布置信度最高的航向控制指令确定为目标航向控制指令,目标航向确定公式如下:
S411、基于步骤S410中的目标航向控制指令,计算航速控制指令的条件分布P(Vel|Heading),再计算该条件分布的期望作为目标航速控制指令,计算公式如下:
Velbest=E[Vel·P(Vel|Headingbest)]
S412、将目标控制指令(也即Headingbest及Velbest)发送给智能救生圈,以控制智能救生圈向落水者靠近,具体为:智能救生圈根据该目标控制指令中的目标航向控制指令Headingbest调整其航向,根据目标航速控制指令Velbest控制其航速,实现可靠救援。
该方法采用贝叶斯定理推导视觉传感器感知到的信息的不确定性,并建立了障碍物信息、落水者信息、航向控制指令及航速控制指令的概率图模型,以此来推导控制指令的置信度分布。当视觉传感器感知到的信息不确定性较低时,控制指令的置信度分布较集中,此时计算置信度最高的控制指令作为最终控制指令。当感知信息不确定性较高时,控制指令的置信度分布较分散,此时可以通过降低航速控制指令的精度来增加航向控制指令的鲁棒性。
同时,应当理解的是,目标控制指令是跟随预设时间间隔进行迭代的,该目标控制指令会不断的进行修正,以控制救生圈高效快速的靠近落水者,从而提供可靠的救援服务。
对应于上文实施例所述的救生圈的控制方法,图5示出了本申请实施例提供的救生圈的控制装置5的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图5,该救生圈的控制装置5包括:
获取模块51,用于获取视觉传感器观测范围内的障碍物的第一概率分布以及落水者的第二概率分布;
计算模块52,用于基于第一概率分布以及第二概率分布计算针对救生圈的控制指令的边缘分布;
求解模块53,用于基于边缘分布求解控制指令的最优解,得到目标控制指令;
控制模块54,用于基于目标控制指令控制救生圈对落水者进行救援。
可选地,上述获取模块51可以包括:
获取单元,用于获取救生圈的运动状态;
预测单元,用于基于运动状态预测障碍物的第一预测概率分布以及落水者的第二预测概率分布;
定位单元,用于基于视觉传感器对障碍物以及落水者进行定位,得到障碍物的第一观测位置以及落水者的第二观测位置;
第一确定单元,用于基于第一预测概率分布以及第一观测位置确定第一概率分布;
第二确定单元,用于基于第二预测概率分布以及第二观测位置确定第二概率分布。
可选地,上述预测单元可以包括:
获取子单元,用于获取障碍物在当前时刻的上一时刻的第一概率分布以及落水者在上一时刻的第二概率分布;
第一预测子单元,用于基于运动状态以及障碍物在上一时刻的第一概率分布,预测障碍物在当前时刻的第一预测概率分布;
第二预测子单元,用于基于运动状态以及落水者在上一时刻的第二概率分布,预测落水者在当前时刻的第二预测概率分布。
可选地,上述第一预测子单元具体用于:将第一观测位置离散化得到障碍物的第一观测概率分布,基于第一观测概率分布以及第一预测概率分布确定第一概率分布;
可选地,上述第二预测子单元具体用于:将第二观测位置离散化得到落水者的第二观测概率分布,基于第二观测概率分布以及第二预测概率分布确定第二概率分布。
可选地,上述求解模块53可以包括:
计算单元,用于基于边缘分布计算控制指令的概率分布方差;
求解单元,用于基于概率分布方差求解控制指令的最优解,得到目标控制指令。
可选地,控制指令包括航向控制指令和航速控制指令,上述求解单元可以包括:
判断子单元,用于在判断概率分布方差是否大于或等于预设方差阈值之后,判断概率分布方差是否大于或等于预设方差阈值;
第一确定子单元,用于若概率分布方差大于或等于预设方差阈值,则将边缘分布中置信度最高的控制指令确定为目标控制指令。
可选地,上述求解单元还可以包括:
第一计算子单元,用于若概率分布方差小于预设方差阈值,则计算航向控制指令的子边缘分布;
第二计算子单元,用于将子边缘分布中置信度最高的航向控制指令确定为目标航向控制指令;
第三计算子单元,用于基于目标航向控制指令计算航速控制指令的条件分布;
第四计算子单元,用于计算条件分布的期望,将期望确定为目标航速控制指令;
第二确定子单元,用于基于目标航向控制指令以及目标航速控制指令确定目标控制指令。
需要说明的是,上述装置/单元之间的信息交互和执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
图6为本申请一实施例提供的电子设备的结构示意图。如图6所示,该实施例的电子设备6包括:至少一个处理器60(图6中仅示出一个)处理器、存储器61以及存储在存储器61中并可在至少一个处理器60上运行的计算机程序62,处理器60执行计算机程序62时实现上述任意救生圈的控制方法实施例中的步骤,例如图1所示出的步骤110-140。
所称处理器60可以是中央处理单元(Central Processing Unit,CPU),该处理器60还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器61在一些实施例中可以是电子设备6的内部存储单元,例如电子设备6的硬盘或内存。存储器61在另一些实施例中也可以是电子设备6的外部存储设备,例如电子设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
进一步地,存储器61还可以既包括终端设备6的内部存储单元也包括外部存储设备。存储器61用于存储操作装置、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如计算机程序的程序代码等。存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/电子设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。