移动机器人避障方法、装置、移动机器人及存储介质与流程

文档序号:20263060发布日期:2020-04-03 18:02阅读:198来源:国知局
移动机器人避障方法、装置、移动机器人及存储介质与流程

本申请属于机器人技术领域,尤其涉及一种移动机器人避障方法、装置、移动机器人及计算机可读存储介质。



背景技术:

随着机器人技术的不断发展,机器人的应用也越来越广泛。

移动机器人是机器人的重要研究领域,移动机器人的具备自主导航功能,而实现机器人自主导航的基本要求是避障。目前,现有移动机器人使用的避障方法都是单一性的通用型避障,即无论遇到何种动态的,或者静态的障碍物,表现出的避障行为都是绕障,未对周围动态障碍物的运动意图做出分析,导致机器人的导航行为的智能性与友好性较低。



技术实现要素:

本申请实施例提供一种移动机器人避障方法、装置、移动机器人及计算机可读存储介质,以解决现有机器人导航避障的智能性和友好性低下的问题。

第一方面,本申请实施例提供一种移动机器人避障方法,包括:

获取动态障碍物的运动状态数据和静态障碍物的状态数据;

基于预先设定的避障策略机制,根据所述运动状态数据、所述状态数据和机器人信息构建避障策略集;

对所述避障策略集中的每一个策略进行轨迹正向仿真,得到每一个策略的轨迹;

对每个所述轨迹进行轨迹评价,得到轨迹评价结果;

根据所述轨迹评价结果,从所述避障策略集中选取最佳避障策略;

根据所述最佳避障策略进行避障操作。

可以看出,本申请实施例在避障时考虑了动态障碍物的运动意图,且根据动态障碍物和静态障碍物的相关信息构建多种避障策略,再从多种策略中选取出最佳策略进行避障,提高了机器人导航避障的智能性和友好性。

结合第一方面,在一种可能的实现方式中,所述动态障碍物包括行人,所述避障策略集包括前往目标策略、跟随行人策略和停止策略;

所述基于预先设定的避障策略机制,根据所述运动状态数据、所述状态数据和机器人信息构建避障策略集,包括:

根据行人的位置信息和速度信息,选取机器人跟随的目标行人;其中,所述运动状态数据包括行人的位置信息和速度信息;

基于预先设定的跟随行人策略机制,根据所述目标行人的位置信息和速度信息,以及所述机器人信息和所述状态数据,构建所述跟随行人策略;

基于预先设定的前往目标策略机制,根据所述机器人信息构建所述前往目标策略;

基于预先设定的停止策略机制,根据所述机器人信息构建所述停止策略。

结合第一方面,在一种可能的实现方式中,所述根据行人的位置信息和速度信息,选取机器人跟随的目标行人,包括:

将位于所述机器人前方预设距离以内,且速度方向与所述机器人的目标方向夹角在预设角度以内的行人作为候选行人;

从所述候选行人中选取机器人跟随的目标行人。

结合第一方面,在一种可能的实现方式中,所述对每个所述轨迹进行轨迹评价,得到轨迹评价结果,包括:

通过预先构建的轨迹评价模型,对每个所述轨迹进行轨迹评价,得到所述轨迹评价结果;

其中,所述轨迹评价模型为c(x)=-α·r(x)+b(x),b(x)为惩罚函数,r(x)为奖励函数;

k是在未来t时间内按照时间仿真步长递增的步数,σ是自然衰减系数,dr,j(k)表示机器人和行人j在第k步时二者之间的距离;

pr表示机器人的位置,表示机器人当前位置到目标的单位方向矢量。

结合第一方面,在一种可能的实现方式中,所述对所述避障策略集中的每一个策略进行轨迹正向仿真,得到每一个策略的轨迹,包括:

通过计算每一种策略的轨迹;

其中,xi为由位置和速度构成的智能体状态变量,为智能体状态变量的微分项,为智能体i的更新周期。

第二方面,本申请实施例提供一种移动机器人避障装置,包括:

获取模块,用于获取动态障碍物的运动状态数据和静态障碍物的状态数据;

避障策略集构建模块,用于基于预先设定的避障策略机制,根据所述运动状态数据、所述状态数据和机器人信息构建避障策略集;

轨迹仿真模块,用于对所述避障策略集中的每一个策略进行轨迹正向仿真,得到每一个策略的轨迹;

轨迹评价模块,用于对每个所述轨迹进行轨迹评价,得到轨迹评价结果;

最佳策略选取模块,用于根据所述轨迹评价结果,从所述避障策略集中选取最佳避障策略;

避障模块,用于根据所述最佳避障策略进行避障操作。

结合第二方面,在一种可能的实现方式中,所述动态障碍物包括行人,所述避障策略集包括前往目标策略、跟随行人策略和停止策略;

所述避障策略集构建模块具体用于:

根据行人的位置信息和速度信息,选取机器人跟随的目标行人;其中,所述运动状态数据包括行人的位置信息和速度信息;

基于预先设定的跟随行人策略机制,根据所述目标行人的位置信息和速度信息,以及所述机器人信息和所述状态数据,构建所述跟随行人策略;

基于预先设定的前往目标策略机制,根据所述机器人信息构建所述前往目标策略;

基于预先设定的停止策略机制,根据所述机器人信息构建所述停止策略。

结合第二方面,在一种可能的实现方式中,所述避障策略集构建模块具体用于:

将位于所述机器人前方预设距离以内,且速度方向与所述机器人的目标方向夹角在预设角度以内的行人作为候选行人;

从所述候选行人中选取机器人跟随的目标行人。

第三方面,本申请实施例提供一种移动机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面任一项所述的方法。

第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面任一项所述的方法。

第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动机器人上运行时,使得移动机器人执行上述第一方面中任一项所述的方法。

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

附图说明

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

图1为本申请实施例提供的一种移动机器人避障方法的流程示意框图;

图2为本申请实施例提供的避障策略集构建过程的流程示意框图;

图3为本申请实施例提供的移动机器人避障装置的结构框图;

图4为本申请实施例提供的移动机器人的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。

在详细介绍本申请实施例提供的技术方案之前,先对本申请实施例可能涉及的相关名词进行介绍。

社会力模型(socialforcemodel,sfm)是基于社会力的模型,社会力是指智能体受到的目标引力、智能体斥力和障碍斥力所构成的合力。

其中,目标引力是用于描述目标对智能体的吸引力,其计算公式如下:

智能体斥力是用于描述智能体受到其他智能体的斥力,其计算公式如下:

障碍斥力是用于描述障碍物对智能体的斥力,其计算公式如下:

社会力的计算公式如下:

在上文描述中,智能体是行人和机器人的统称,i和j分别表示第i个智能体和第j个智能体,o表示第o个障碍物。ap、bp和di,j是智能体斥力自然参数,ao、bo和di,o是障碍斥力自然参数。表示智能体i到目标所在方向的单位示例,ej→i表示智能体j到智能体i所在方向的单位矢量,eo→i表示从障碍物o到智能体i所在方向的单位矢量。

下面将通过具体实施例详细阐述本申请实施例提供的技术方案。

参见图1,为本申请实施例提供的一种移动机器人避障方法的流程示意框图,该方法可以包括以下步骤:

步骤s101、获取动态障碍物的运动状态数据和静态障碍物的状态数据。

需要说明的是,上述动态障碍物包括但不限于行人和/或动态物体(例如,车辆等)。上述运动状态数据包括但不限于动态障碍物的位置信息、速度信息和目标等。上述静态障碍物的状态数据包括但不限于位置信息等。

上述动态障碍物和静态障碍物的相关信息可以通过机器人上的障碍检测模块检测得到,该障碍检测模块可以为但不限于由激光雷达、rgbd和超声波等多传感器组成的模块。

步骤s102、基于预先设定的避障策略机制,根据运动状态数据、状态数据和机器人信息构建避障策略集。

需要说明的是,上述机器人信息包括但不限于机器人位置信息、速度信息和目标信息等。

上述避障策略机制可以表征预先定义的避障策略有哪几种以及每一种避障策略的具体表现形式是什么。例如,预先定义的避障策略机制包括停止策略和前往目标策略,其中,停止策略是指控制机器人停止,前往目标策略是指控制机器人前往预先设定的目标。

具体地,基于上述避障策略机制,根据动态障碍物的位置、速度和目标,以及静态障碍物的所处位置,再结合机器人本身的位置、速度和目标,构建出避障策略集。所构建的避障策略集中包括多种避障策略。

在一些实施例中,上述动态障碍物包括行人,上述避障策略集包括前往目标策略、跟随行人策略和停止策略。

其中,前往目标策略:表示该目标引力中使用的目标就是智能体自身的目标。跟随行人策略:表示该目标引力是以第i个行人的位置作为目标。停止策略:表示此时的社会力是与机器人当前速度方向相反,大小为可变加速度,优选为最大加速度。

参见图2示出的避障策略集构建过程的流程示意框图,上述基于预先设定的避障策略机制,根据运动状态数据、状态数据和机器人信息构建避障策略集的具体过程可以包括:

步骤s201、根据行人的位置信息和速度信息,选取机器人跟随的目标行人;其中,运动状态数据包括行人的位置信息和速度信息。

步骤s202、基于预先设定的跟随行人策略机制,根据目标行人的位置信息和速度信息,以及机器人信息和状态数据,构建跟随行人策略。

需要说明的是,步骤s201~s202是构建跟随行人策略的具体过程。先选取目标行人,该目标行人是指机器人需要跟随的行人,具体可以通过采集周围行人信息,例如,位置信息、速度信息等,然后再根据周围行人信息确定出需要跟随的第i个行人;确定跟随目标之后,再结合静态障碍物的所处位置和机器人本身的位置、速度和目标等信息,构建出相应的避障路径,以构建出上述跟随行人策略。

在构建过程中,周围行人可能很多,如果从数量较多的行人中选取出目标行人,计算量可能很大。为了进一步提高计算效率,可以先筛选出符合预设条件的候选行人,再从候选行人中选取出目标行人。

进一步地,上述根据行人的位置信息和速度信息,选取机器人跟随的目标行人的具体过程可以包括:将位于机器人前方预设距离以内,且速度方向与机器人的目标方向夹角在预设角度以内的行人作为候选行人;从候选行人中选取机器人跟随的目标行人。

在构建策略集时,将在机器人前方x米以内,且行人的运动速度方向和机器人的目标方向夹角在w°以内的行人作为候选行人。其中,上述预设距离和预设角度均可以根据实际需要进行设定,在此不作限定。

步骤s203、基于预先设定的前往目标策略机制,根据机器人信息构建前往目标策略。

需要说明的是,前往目标策略机制是指机器人前往的目标是智能体自身的目标,即不改变机器人原来的目标,继续控制机器人向原来的目标方向前进。机器人原来的目标可以从机器人信息中的目标得知。

步骤s204、基于预先设定的停止策略机制,根据机器人信息构建停止策略。

需要说明的是,停止策略机制具体表现为机器人停止运动,其最终目的是为了让机器人停下来。而控制机器人停止运动的方式具体是向机器人施加一个反方向的虚拟外力,该外力的大小由停止策略中的可变加速度的大小决定。

可以理解的是,停止策略、前往目标策略和跟随行人策略的构建过程的执行顺序是任意的,在此不作限定。

构建完包括多个策略的避障策略集之后,需要从多种策略中选取出一个最佳策略。

步骤s103、对避障策略集中的每一个策略进行轨迹正向仿真,得到每一个策略的轨迹。

具体地,可以通过计算每一种策略的轨迹;

其中,xi为由位置和速度构成的智能体状态变量,其计算公式为:xi=[pi,vi]t,pi为智能体i的位置信息,vi为智能体i的速度信息。

为智能体状态变量的微分项,为智能体i的更新周期。的计算公式为:ai为智能体在受到社会力fi作用下的加速度。

智能体i在更新时间周期内受到社会力为fi,在该力作用下状态变量的更新为基于此,可以计算出智能体在未来t时间内按照时间仿真步长进行仿真对应的轨迹x。

步骤s104、对每个轨迹进行轨迹评价,得到轨迹评价结果。

具体地,通过预先构建的轨迹评价模型,对每个轨迹进行轨迹评价,得到轨迹评价结果。

其中,轨迹评价模型为c(x)=-α·r(x)+b(x),b(x)为惩罚函数,r(x)为奖励函数;

k是在未来t时间内按照时间仿真步长递增的步数,σ是自然衰减系数,dr,j(k)表示机器人和行人j在第k步时二者之间的距离;

pr表示机器人的位置,表示机器人当前位置到目标的单位方向矢量。

步骤s105、根据轨迹评价结果,从避障策略集中选取最佳避障策略。

步骤s106、根据最佳避障策略进行避障操作。

具体地,基于轨迹评价结果,选取代价最大的策略作为上述最佳避障碍策略,然后再基于该最佳避障策略进行避障。例如,当最佳避障策略为停止策略时,则根据停止策略设定的虚拟外力的大小和方向给机器人施加相应的外力,以控制机器人停止运动。又例如,当最佳避障碍策略为跟随行人策略,则选取跟随目标之后,则控制机器人跟随相应的行人。

需要说明的是,在跟随行人策略中,机器人可以根据人流的方向和速度调整自身的速度,以进一步提高机器人导航避障碍过程中的智能性和友好性。

可以看出,本申请实施例在避障时考虑了动态障碍物的运动意图,且根据动态障碍物和静态障碍物的相关信息构建多种避障策略,再从多种策略中选取出最佳策略进行避障,提高了机器人导航避障的智能性和友好性。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

对应于上文实施例所述的移动机器人避障方法,图3示出了本申请实施例提供的移动机器人避障装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。

参照图3,该装置包括:

获取模块31,用于获取动态障碍物的运动状态数据和静态障碍物的状态数据;

避障策略集构建模块32,用于基于预先设定的避障策略机制,根据运动状态数据、状态数据和机器人信息构建避障策略集;

轨迹仿真模块33,用于对避障策略集中的每一个策略进行轨迹正向仿真,得到每一个策略的轨迹;

轨迹评价模块34,用于对每个轨迹进行轨迹评价,得到轨迹评价结果;

最佳策略选取模块35,用于根据轨迹评价结果,从避障策略集中选取最佳避障策略;

避障模块36,用于根据最佳避障策略进行避障操作。

在一种可能的实现方式中,上述动态障碍物包括行人,避障策略集包括前往目标策略、跟随行人策略和停止策略;

上述避障策略集构建模块具体用于:

根据行人的位置信息和速度信息,选取机器人跟随的目标行人;其中,运动状态数据包括行人的位置信息和速度信息;

基于预先设定的跟随行人策略机制,根据目标行人的位置信息和速度信息,以及机器人信息和状态数据,构建跟随行人策略;

基于预先设定的前往目标策略机制,根据机器人信息构建前往目标策略;

基于预先设定的停止策略机制,根据机器人信息构建停止策略。

在一种可能的实现方式中,上述避障策略集构建模块具体用于:

将位于机器人前方预设距离以内,且速度方向与机器人的目标方向夹角在预设角度以内的行人作为候选行人;

从候选行人中选取机器人跟随的目标行人。

在一种可能的实现方式中,上述轨迹评价模块具体用于:

通过预先构建的轨迹评价模型,对每个所述轨迹进行轨迹评价,得到所述轨迹评价结果;

其中,所述轨迹评价模型为c(x)=-α·r(x)+b(x),b(x)为惩罚函数,r(x)为奖励函数;

k是在未来t时间内按照时间仿真步长递增的步数,σ是自然衰减系数,dr,j(k)表示机器人和行人j在第k步时二者之间的距离;

pr表示机器人的位置,表示机器人当前位置到目标的单位方向矢量。

在一种可能的实现方式中,上述轨迹仿真模块具体用于:

通过计算每一种策略的轨迹;

其中,xi为由位置和速度构成的智能体状态变量,为智能体状态变量的微分项,为智能体i的更新周期。

上述移动机器人避障装置具有实现上述移动机器人避障装置的功能,该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,硬件或软件包括一个或多个与上述功能相对应的模块,模块可以是软件和/或硬件。

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

图4为本申请一实施例提供的移动机器人的结构示意图。如图4所示,该实施例的移动机器人4包括:至少一个处理器40、存储器41以及存储在所述存储器41中并可在所述至少一个处理器40上运行的计算机程序42,所述处理器40执行所述计算机程序42时实现上述任意各个移动机器人避障方法实施例中的步骤。

所述移动机器人4的类型可以是任意的。该移动机器人可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图4仅仅是移动机器人4的举例,并不构成对移动机器人4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备、底盘、传感器等等。

所称处理器40可以是中央处理单元(centralprocessingunit,cpu),该处理器40还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器41在一些实施例中可以是所述移动机器人4的内部存储单元,例如移动机器人4的硬盘或内存。所述存储器41在另一些实施例中也可以是所述移动机器人4的外部存储设备,例如所述移动机器人4上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器41还可以既包括所述移动机器人4的内部存储单元也包括外部存储设备。所述存储器41用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。

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

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

本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动机器人上运行时,使得移动机器人执行时实现可实现上述各个方法实施例中的步骤。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质。例如u盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。

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

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

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

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

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

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