目标对象的躲避方法及装置、存储介质、电子装置与流程

文档序号:25526212发布日期:2021-06-18 20:15阅读:71来源:国知局
目标对象的躲避方法及装置、存储介质、电子装置与流程

【技术领域】

本发明涉及通信领域,具体而言,涉及一种目标对象的躲避方法及装置、存储介质、电子装置。



背景技术:

随着机器人技术的快速发展,机器人现在已经被应用到用于了各行各业的使用中各个领域。在机器人的使用过程中,机器人躲避障碍物是机器人技术中一项很重要的技术,对机器人在各种环境的应用非常重要。在目前的现有技术中,可以理解成是将机器人当成一个大方块,让这个方块不碰到障碍物,使得机器人可以安全通行,完成机器人工作。但是,在一些复杂的环境以及特殊领域中,地形复杂,障碍物多,机器人所要经过的通道狭窄。在上述机器人应用场景中,就不可以再将机器人当成一个大方块,机器人需要灵活调整自身部件,机器人才能安全通过复杂、狭窄的通道。如果还将机器人理解为是一个整体的方块,机器人就很难通过地形复杂的区域,现有技术不能调整机器人的部件,使得机器人能够成功躲避障碍物的问题。

因此,有必要对现有技术予以改良以克服现有技术中的所述缺陷。



技术实现要素:

本发明的目的在于提供一种目标对象的躲避方法及装置、存储介质、电子装置,以至少解决现有技术中不能调整机器人的部件,使得机器人能够成功躲避障碍物的问题。

本发明的目的是通过以下技术方案实现:

根据本发明的一个可选实施例,提供了一种目标对象的躲避方法,所述方法包括:确定机器人在行进区域内需要躲避的目标对象;获取所述目标对象的第一三维点面模型,以及获取所述机器人的每一个移动部件对应的第二三维点面模型,其中,所述机器人设置有多个移动部件;分别确定所述第一三维点面模型与多个所述第二三维点面模型中的任一第二三维点面模型是否存在相交;在存在相交的情况下,调整与所述第一三维点面模型存在相交的第二三维点面模型所对应的目标移动部件,以使所述机器人成功躲避所述目标对象。

可选的,获取所述机器人的每一个移动部件对应的第二三维点面模型,包括:确定所述每一个移动部件的位置信息,所述每一个移动部件的部件结构,以及在当前时刻之后的预设时间段内,所述机器人的控制指令序列,其中,所述控制指令序列用于指示所述机器人在所述预设时间段内的不同时刻待执行的操作;根据所述位置信息,所述部件结构以及所述控制指令序列确定所述每一个移动部件对应的第二三维点面模型,以得到所述多个移动部件对应的多个第二三维点面模型。

可选的,确定所述每一个移动部件的位置信息,包括:获取所述机器人的感知智能算法所检测到的定位与地图构建信息,获取所述每一个移动部位上分别设置的编码器所检测到的所述每一个移动部位的转动角度,以及获取所述机器人的惯性测量单元所检测到的数据;根据所述定位与地图构建信息,所述转动角度以及所述数据确定所述每一个移动部件的位置信息。

可选的,根据所述定位与地图构建信息,所述转动角度以及所述数据确定所述每一个移动部件的位置信息,包括:通过卡尔曼滤波器对所述定位与地图构建信息,所述转动角度以及所述数据进行运算,得到运算结果;根据所述运算结果确定所述每一个移动部件的位置信息。

可选的,分别确定所述第一三维点面模型与多个所述第二三维点面模型中的任一第二三维点面模型是否存在相交,包括:对于所述任一第二三维店面模型,根据凸包相交算法确定在所述不同时刻所述第一三维点面模型和所述任一第二三维点面模型是否存在相交。

可选的,调整与所述第一三维点面模型存在相交的第二三维点面模型所对应的目标移动部件,以使所述机器人成功躲避所述目标对象,包括:通过以下方式之一调整所述目标移动部件,以使所述机器人成功躲避所述目标对象:将所述目标移动部位调高至目标位置、禁止所述目标移动部位移动、调整所述目标移动部位的移动方向。

可选的,分别确定所述第一三维点面模型与多个所述第二三维点面模型中的任一第二三维点面模型是否存在相交之后,所述方法还包括:在不存在相交的情况下,指示所述机器人依次执行所述预设时间段内的所述控制指令序列。

根据本发明的又一个可选实施例,提供了一种目标对象的躲避装置,所述方法包括:第一确定模块,用于确定机器人在行进区域内需要躲避的目标对象;获取模块,用于获取所述目标对象的第一三维点面模型,以及获取所述机器人的每一个移动部件对应的第二三维点面模型,其中,所述机器人设置有多个移动部件;第二确定模块,用于分别确定所述第一三维点面模型与多个所述第二三维点面模型中的任一第二三维点面模型是否存在相交;调整模块,用于在存在相交的情况下,调整与所述第一三维点面模型存在相交的第二三维点面模型所对应的目标移动部件,以使所述机器人成功躲避所述目标对象。

根据本发明的又一个可选实施例,提供了一种计算机可读的存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行以上任一项中所述的目标对象的躲避方法。

根据本发明的又一个可选实施例,提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行以上任一项中所述的目标对象的躲避方法。

与现有技术相比,本发明具有如下有益效果:由于可以在确定机器人在行进区域内需要躲避的目标对象的情况下,获取所述目标对象的第一三维点面模型,以及获取所述机器人的每一个移动部件对应的第二三维点面模型,然后分别确定所述第一三维点面模型与多个所述第二三维点面模型中的任一第二三维点面模型是否存在相交,如果存在相交的情况,那么调整与所述第一三维点面模型存在相交的第二三维点面模型所对应的目标移动部件,从而使得所述机器人成功躲避所述目标对象。因此,解决了现有技术中不能调整机器人的部件,使得机器人能够成功躲避障碍物的问题,可以实现灵活的控制机器人躲避障碍物,进而可以将机器人应用在一些地形复杂,障碍物多的场景中。

【附图说明】

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

图1是本发明实施例的一种目标对象的躲避方法的机器人的硬件结构框图;

图2是根据本发明实施例的一种目标对象的躲避方法的流程图;

图3是根据本发明实施例的一种目标对象的躲避方法的流程示意图;

图4为根据本发明实施例的一种目标对象的躲避装置的结构框图。

【具体实施方式】

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

本发明实施例所提供的方法实施例可以在机器人或者类似的运算装置中执行。以运行在机器人上为例,图1是本发明实施例的一种目标对象的躲避方法的机器人的硬件结构框图。如图1所示,机器人可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器(microprocessorunit,简称是mpu)或可编程逻辑器件(programmablelogicdevice,简称是pld)等的处理装置和用于存储数据的存储器104,可选地,上述机器人还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述机器人的结构造成限定。例如,机器人还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。

存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的目标对象的躲避方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至机器人。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输设备106用于经由网络接收或者发送数据。上述的网络具体实例可包括机器人的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(networkinterfacecontroller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(radiofrequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。

在本实施例中提供了一种运行于上述目标对象的躲避方法,图2是根据本发明实施例的目标对象的躲避方法的流程图,如图2所示,该流程包括如下步骤:

步骤s202,确定机器人在行进区域内需要躲避的目标对象;

步骤s204,获取所述目标对象的第一三维点面模型,以及获取所述机器人的每一个移动部件对应的第二三维点面模型,其中,所述机器人设置有多个移动部件;

步骤s206,分别确定所述第一三维点面模型与多个所述第二三维点面模型中的任一第二三维点面模型是否存在相交;

步骤s208,在存在相交的情况下,调整与所述第一三维点面模型存在相交的第二三维点面模型所对应的目标移动部件,以使所述机器人成功躲避所述目标对象。

通过上述技术方案,由于可以在确定机器人在行进区域内需要躲避的目标对象的情况下,获取所述目标对象的第一三维点面模型,以及获取所述机器人的每一个移动部件对应的第二三维点面模型,然后分别确定所述第一三维点面模型与多个所述第二三维点面模型中的任一第二三维点面模型是否存在相交,如果存在相交的情况,那么调整与所述第一三维点面模型存在相交的第二三维点面模型所对应的目标移动部件,从而使得所述机器人成功躲避所述目标对象。因此,解决了现有技术中不能调整机器人的部件,使得机器人能够成功躲避障碍物的问题,进而可以将机器人应用在一些地形复杂,障碍物多的场景中。

需要说明的是,本发明实施例的机器人可以是双足机器人,三足机器人,还可以是四足机器人,本发明实施例对此不进行限定。

步骤s204的实现方法有多种,在一个可选实施例中,获取所述机器人的每一个移动部件对应的第二三维点面模型,可以通过以下方案实现:确定所述每一个移动部件的位置信息,所述每一个移动部件的部件结构,以及在当前时刻之后的预设时间段内,所述机器人的控制指令序列,其中,所述控制指令序列用于指示所述机器人在所述预设时间段内的不同时刻待执行的操作;根据所述位置信息,所述部件结构以及所述控制指令序列确定所述每一个移动部件对应的第二三维点面模型,以得到所述多个移动部件对应的多个第二三维点面模型。

可以理解的是,以四足机器人为例,四足机器人中的每一个移动部件都需要确定第二三维点面模型,四个移动部件的三维点面模型的确定过程可以是同步进行,也可以是依次进行,移动部件可以理解为是机器人上腿部和足部的结构件。

需要说明的是,本发明实施例的技术方案:对于有环境感知能力的机器人,在机器人的行进过程中各个部件不能触碰的区域或者障碍物进行碰撞检测,并依据检测结果对机器人的移动部件做及时的调整,以保证四足机器人在复杂地面环境中行走的安全性。本发明实施例通过目标对象(障碍物或者机器人不能触碰的区域)的第一三维点面模型,以及机器人的每一个移动部件对应的第二三维点面模型来实现机器人的精确避障。为实现上述目的,本发明实施例需要获取目标对象的第一三维点面模型,以及机器人的每一个移动部件对应的第二三维点面模型,其中,机器人的每一个移动部件都对应的一个第二三维点面模型,本发明实施例会获取到多个第二三维点面模型。

为了确定到机器人的每一个移动部件对应的第二三维点面模型,需要获取到每一个移动部件的位置信息,每一个移动部件的部件结构,以及在当前时刻之后的预设时间段内,机器人的控制指令序列。需要说明的是,所述控制指令序列是用于指示所述机器人在预设时间段内的不同时刻待执行的操作,可以从机器人控制算法中拿取当前时刻之后预设时间段内的一系列控制指令序列,上述控制指令序列通常为5~1000个序列。通过机器人的每一个移动部件位置信息、部件结构以及控制指令序列就可以确定每一个移动部件对应的第二三维点面模型,进而就可以得到多个移动部件分别对应的多个第二三维点面模型。需要说明的是,上述得到第二三维点面模型的方法是通过移动部件的位置信息和部件结构反算出控制指令序列中每个时刻上述移动部件对应的第二三维点面模型。

在一个可选实施例中,确定所述每一个移动部件的位置信息,包括:获取所述机器人的感知智能算法所检测到的定位与地图构建信息,获取所述每一个移动部位上分别设置的编码器所检测到的所述每一个移动部位的转动角度,以及获取所述机器人的惯性测量单元所检测到的数据;根据所述定位与地图构建信息,所述转动角度以及所述数据确定所述每一个移动部件的位置信息。

需要说明的是,为了确定机器人的每一个移动部件对应的第二三维点面模型,需要获取到每一个移动部件的位置信息。为了获取到每一个移动部件的位置信息,需要获取到机器人检测到的定位与地图构建信息,机器人的每一个移动部位的转动角度以及机器人惯性数据(相当于上述实施例的惯性测量单元所检测到的数据)。需要说明的是,定位与地图构建信息可以通过机器人的感知智能算法所检测获取到,机器人的每一个移动部位的转动角度可以通过每一个移动部位上分别设置的编码器检测获取到,机器人惯性数据可以通过机器人的惯性测量单元检测获取到。其中,机器人惯性数据是关于机器人当前时刻行动或者动作的数据。根据定位与地图构建信息,机器人的每一个移动部位的转动角度以及机器人惯性数据就可以确定机器人的每一个移动部件的位置信息。

在一个可选实施例中,根据所述定位与地图构建信息,所述转动角度以及所述数据确定所述每一个移动部件的位置信息,可以通过以下方案实现:通过卡尔曼滤波器对所述定位与地图构建信息,所述转动角度以及所述数据进行运算,得到运算结果;根据所述运算结果确定所述每一个移动部件的位置信息。

需要说明的是,本发明实施例可以通过卡尔曼滤波器对定位与地图构建信息,机器人的每一个移动部位的转动角度以及机器人惯性数据进行运算,得到机器人的每一个移动部件的位置信息。本发明实施例通过卡尔曼滤波器对上述定位与地图构建信息,机器人的每一个移动部位的转动角度以及机器人惯性数据进行滤波,滤除上述定位与地图构建信息,机器人的每一个移动部位的转动角度以及机器人惯性数据中的干扰。同时通过卡尔曼滤波器中的线性系统状态方程对上述定位与地图构建信息,机器人的每一个移动部位的转动角度以及机器人惯性数据进行最优估计,进而得到机器人的每一个移动部件的位置信息。

步骤s206的实现方案中,分别确定所述第一三维点面模型与多个所述第二三维点面模型中的任一第二三维点面模型是否存在相交,可以通过以下方案实现:对于所述任一第二三维店面模型,根据凸包相交算法确定在所述不同时刻所述第一三维点面模型和所述任一第二三维点面模型是否存在相交。

需要说明的是,在得到所述第一三维点面模型与多个所述第二三维点面模型之后,本发明实施例通过凸包相交算法确定在所述不同时刻所述第一三维点面模型和所述任一第二三维点面模型是否存在相交,进而判定是否存在障碍物,机器人是否可以通行。需要说明的是,本发明实施例得到所述第一三维点面模型与多个所述第二三维点面模型实际上都是关于点的空间坐标的集合。每一个模型对应一个关于点的空间坐标的集合,其中,上述点是指目标对象或者机器人的每一个移动部件的一个部位上的点。通过凸包相交算法对第一三维点面模型对应的目标对象上关于点的空间坐标的集合和任一第二三维点面模型对应的机器人的每一个移动部件关于点的空间坐标的集合进行运算,就可以确定第一三维点面模型和所述任一第二三维点面模型是否存在相交。

需要说明的是,确定第一三维点面模型和所述任一第二三维点面模型是否存在相交,实际上对机器人将要到达目标位置后机器人和目标位置的障碍物是否相撞的一种预判。上述得到第二三维点面模型的方法是通过移动部件的位置信息和部件结构反算出控制指令序列中每个时刻上述移动部件对应的第二三维点面模型。也就是说,机器人根据所述控制指令序列将要到达的目标位置后机器人各个移动部件的第二三维点面模型与目标位置的障碍物的第一三维点面模型是否存在交集(模型对应的是关于点的空间坐标的集合),如果存在交集,就说明机器人与障碍物可能相撞,就需要调整机器人和机器人的多个移动部件,使得调整后的各个移动部件的第二三维点面模型是否与目标位置的障碍物的第一三维点面模型不存在交集,进而机器人安全通过。

可选地,调整与所述第一三维点面模型存在相交的第二三维点面模型所对应的目标移动部件,以使所述机器人成功躲避所述目标对象,包括:通过以下方式之一调整所述目标移动部件,以使所述机器人成功躲避所述目标对象:将所述目标移动部位调高至目标位置、禁止所述目标移动部位移动、调整所述目标移动部位的移动方向。

需要说明的是,机器人各个移动部件的第二三维点面模型与目标位置的障碍物的第一三维点面模型存在交集,就说明机器人与障碍物可能相撞,就需要调整机器人和机器人的多个移动部件,对于调整机器人的多个移动部件的调整方式可以但不限于包括以下几种:(1)高度调整,具体实现方式是可以将所述目标移动部位调高至目标位置(障碍物在较低的位置上,目标移动部位和障碍物上下错开)、;(2)禁止移动,具体实现方式是禁止所述目标移动部位移动(通道狭窄,目标移动部位如果移动就会和障碍物相撞)、;(3)移动方向调整,具体实现方式是调整所述目标移动部位的移动方向(机器人选择另一种通道通行);(4)落脚点调整,具体实现方式是将机器人的移动部件的落脚点向左前或者右前调整,以躲避障碍物。

需要说明的是,上述四种调整方式可以结合使用,本发明实施例对此不进行限定,在一个可选的实施例中,可以先进行高度调整,如果仍然无法躲避障碍我,可以尝试落脚地调整,如果仍然无法躲避障碍物,可以尝试禁止移动。

在执行步骤s206之后,也就是分别确定所述第一三维点面模型与多个所述第二三维点面模型中的任一第二三维点面模型是否存在相交之后,所述方法还包括:在不存在相交的情况下,指示所述机器人依次执行所述预设时间段内的所述控制指令序列。

需要说明的是,如果所述第一三维点面模型与多个所述第二三维点面模型中的任一第二三维点面模型不存在相交,也就是机器人各个移动部件的第二三维点面模型与目标位置的障碍物的第一三维点面模型不存在交集,就说明机器人与障碍物不会相撞,机器人可以通行。在上述情况中,机器人依次执行所述预设时间段内的所述控制指令序列即可。

为了更好的理解上述技术方案,本发明还提供了一种可选实施例,用于解释说明上述技术方案。

图3是根据本发明实施例的一种目标对象的躲避方法的流程示意图,如图3所示:

s302:接收上层感知算法发送的环境信息,上述环境信息包括2d地图和三维环境信息,以及机器人的位置信息、需要机器人精确避障的物品信息(相当于上述实施例的目标对象);

s304:建立目标对象的第一三维点面模型;

s306:获取机器人每一个移动部件的位置信息、部件结构、控制指令序列;

s308:建立机器人的每一个移动部件对应的第二三维点面模型,得到多个所述第二三维点面模型;

s310:确定第一三维点面模型与多个所述第二三维点面模型中的任一第二三维点面模型是否存在相交;

s312:如果存在相交,调整与第一三维点面模型存在相交的第二三维点面模型所对应的目标移动部件,以使所述机器人成功躲避所述目标对象;

s314:如果不存在相交继续执行上述控制指令序列。

通过上述技术方案,由于可以在确定机器人在行进区域内需要躲避的目标对象的情况下,获取所述目标对象的第一三维点面模型,以及获取所述机器人的每一个移动部件对应的第二三维点面模型,然后分别确定所述第一三维点面模型与多个所述第二三维点面模型中的任一第二三维点面模型是否存在相交,如果存在相交的情况,那么调整与所述第一三维点面模型存在相交的第二三维点面模型所对应的目标移动部件,从而使得所述机器人成功躲避所述目标对象。因此,解决了现有技术中不能调整机器人的部件,使得机器人能够成功躲避障碍物的问题,进而可以将机器人应用在一些地形复杂,障碍物多的场景中。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。

在本实施例中还提供了一种目标对象的躲避装置,该目标对象的躲避装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图4为根据本发明可选实施例的一种目标对象的躲避装置的结构框图,如图4所示:

第一确定模块40,用于确定机器人在行进区域内需要躲避的目标对象;

获取模块42,用于获取所述目标对象的第一三维点面模型,以及获取所述机器人的每一个移动部件对应的第二三维点面模型,其中,所述机器人设置有多个移动部件;

第二确定模块44,用于分别确定所述第一三维点面模型与多个所述第二三维点面模型中的任一第二三维点面模型是否存在相交;

调整模块46,用于在存在相交的情况下,调整与所述第一三维点面模型存在相交的第二三维点面模型所对应的目标移动部件,以使所述机器人成功躲避所述目标对象。

通过上述技术方案,由于可以在确定机器人在行进区域内需要躲避的目标对象的情况下,获取所述目标对象的第一三维点面模型,以及获取所述机器人的每一个移动部件对应的第二三维点面模型,然后分别确定所述第一三维点面模型与多个所述第二三维点面模型中的任一第二三维点面模型是否存在相交,如果存在相交的情况,那么调整与所述第一三维点面模型存在相交的第二三维点面模型所对应的目标移动部件,从而使得所述机器人成功躲避所述目标对象。因此,解决了现有技术中不能调整机器人的部件,使得机器人能够成功躲避障碍物的问题,进而可以将机器人应用在一些地形复杂,障碍物多的场景中。

可选的,获取模块42还用于确定所述每一个移动部件的位置信息,所述每一个移动部件的部件结构,以及在当前时刻之后的预设时间段内,所述机器人的控制指令序列,其中,所述控制指令序列用于指示所述机器人在所述预设时间段内的不同时刻待执行的操作;根据所述位置信息,所述部件结构以及所述控制指令序列确定所述每一个移动部件对应的第二三维点面模型,以得到所述多个移动部件对应的多个第二三维点面模型。

可以理解的是,以四足机器人为例,四足机器人中的每一个移动部件都需要确定第二三维点面模型,四个移动部件的三维点面模型的确定过程可以是同步进行,也可以是依次进行,移动部件可以理解为是机器人上腿部和足部的结构件。

需要说明的是,本发明实施例的技术方案:对于有环境感知能力的机器人,在机器人的行进过程中各个部件不能触碰的区域或者障碍物进行碰撞检测,并依据检测结果对机器人的移动部件做及时的调整,以保证四足机器人在复杂地面环境中行走的安全性。本发明实施例通过目标对象(障碍物或者机器人不能触碰的区域)的第一三维点面模型,以及机器人的每一个移动部件对应的第二三维点面模型来实现机器人的精确避障。为实现上述目的,本发明实施例需要获取目标对象的第一三维点面模型,以及机器人的每一个移动部件对应的第二三维点面模型,其中,机器人的每一个移动部件都对应的一个第二三维点面模型,本发明实施例会获取到多个第二三维点面模型。

为了确定到机器人的每一个移动部件对应的第二三维点面模型,需要获取到每一个移动部件的位置信息,每一个移动部件的部件结构,以及在当前时刻之后的预设时间段内,机器人的控制指令序列。需要说明的是,所述控制指令序列是用于指示所述机器人在预设时间段内的不同时刻待执行的操作,可以从机器人控制算法中拿取当前时刻之后预设时间段内的一系列控制指令序列,上述控制指令序列通常为5~1000个序列。通过机器人的每一个移动部件位置信息、部件结构以及控制指令序列就可以确定每一个移动部件对应的第二三维点面模型,进而就可以得到多个移动部件分别对应的多个第二三维点面模型。需要说明的是,上述得到第二三维点面模型的方法是通过移动部件的位置信息和部件结构反算出控制指令序列中每个时刻上述移动部件对应的第二三维点面模型。也即是说,机器人的控制指令序列是基于当前时刻之后预设时间段内的第二三维点面模型的控制机器人的多个指令,因此,可以通过上述控制指令序列反算出基于当前时刻之后预设时间段内的第二三维点面模型。

可选的,获取模块42还用于获取所述机器人的感知智能算法所检测到的定位与地图构建信息,获取所述每一个移动部位上分别设置的编码器所检测到的所述每一个移动部位的转动角度,以及获取所述机器人的惯性测量单元所检测到的数据;根据所述定位与地图构建信息,所述转动角度以及所述数据确定所述每一个移动部件的位置信息。

需要说明的是,为了确定到机器人的每一个移动部件对应的第二三维点面模型,需要获取到每一个移动部件的位置信息。为了获取到每一个移动部件的位置信息,需要获取到机器人检测到的定位与地图构建信息,机器人的每一个移动部位的转动角度以及机器人惯性数据(所述数据)。需要说明的是,定位与地图构建信息可以通过机器人的感知智能算法所检测获取到,机器人的每一个移动部位的转动角度可以通过每一个移动部位上分别设置的编码器检测获取到,机器人惯性数据可以通过机器人的惯性测量单元检测获取到。其中,机器人惯性数据是关于机器人当前时刻行动或者动作的数据。根据定位与地图构建信息,机器人的每一个移动部位的转动角度以及机器人惯性数据确定机器人的每一个移动部件的位置信息。

可选的,获取模块42还用于通过卡尔曼滤波器对所述定位与地图构建信息,所述转动角度以及所述数据进行运算,得到运算结果;根据所述运算结果确定所述每一个移动部件的位置信息。

需要说明的是,本发明实施例可以通过卡尔曼滤波器对定位与地图构建信息,机器人的每一个移动部位的转动角度以及机器人惯性数据进行运算,得到机器人的每一个移动部件的位置信息。本发明实施例通过卡尔曼滤波器对上述定位与地图构建信息,机器人的每一个移动部位的转动角度以及机器人惯性数据进行滤波,滤除上述定位与地图构建信息,机器人的每一个移动部位的转动角度以及机器人惯性数据中的干扰。同时通过卡尔曼滤波器中的线性系统状态方程对上述定位与地图构建信息,机器人的每一个移动部位的转动角度以及机器人惯性数据进行最优估计,进而得到机器人的每一个移动部件的位置信息。

可选的,第二确定模块44还用于对于所述任一第二三维店面模型,根据凸包相交算法确定在所述不同时刻所述第一三维点面模型和所述任一第二三维点面模型是否存在相交。

需要说明的是,在得到所述第一三维点面模型与多个所述第二三维点面模型之后,本发明通过凸包相交算法确定在所述不同时刻所述第一三维点面模型和所述任一第二三维点面模型是否存在相交,进而判定是否存在障碍物,机器人是否可以通行。需要说明的是,本发明得到所述第一三维点面模型与多个所述第二三维点面模型实际上都是关于点的空间坐标的集合。每一个模型对应一个关于点的空间坐标的集合,其中,上述点是指目标对象或者机器人的每一个移动部件的一个部位上的点。通过凸包相交算法对第一三维点面模型对应的目标对象上关于点的空间坐标的集合和任一第二三维点面模型对应的机器人的每一个移动部件关于点的空间坐标的集合进行运算,就可以确定第一三维点面模型和所述任一第二三维点面模型是否存在相交。

需要说明的是,确定第一三维点面模型和所述任一第二三维点面模型是否存在相交,实际上对机器人将要到达目标位置后机器人和目标位置的障碍物是否相撞的一种预判。上述得到第二三维点面模型的方法是通过移动部件的位置信息和部件结构反算出控制指令序列中每个时刻上述移动部件对应的第二三维点面模型。也就是说,机器人根据所述控制指令序列将要到达的目标位置后机器人各个移动部件的第二三维点面模型与目标位置的障碍物的第一三维点面模型是否存在交集(模型对应的是关于点的空间坐标的集合),如果存在交集,就说明机器人与障碍物可能相撞,就需要调整机器人和机器人的多个移动部件,使得调整后的各个移动部件的第二三维点面模型是否与目标位置的障碍物的第一三维点面模型不存在交集,进而机器人安全通过。

可选的,调整模块46还用于通过以下方式之一调整所述目标移动部件,以使所述机器人成功躲避所述目标对象:将所述目标移动部位调高至目标位置、禁止所述目标移动部位移动、调整所述目标移动部位的移动方向。

需要说明的是,机器人各个移动部件的第二三维点面模型与目标位置的障碍物的第一三维点面模型存在交集,就说明机器人与障碍物可能相撞,就需要调整机器人和机器人的多个移动部件,对于调整机器人的多个移动部件的调整方式可以但不限于包括以下几种:(1)高度调整,具体实现方式是可以将所述目标移动部位调高至目标位置(障碍物在较低的位置上,目标移动部位和障碍物上下错开)、;(2)禁止移动,具体实现方式是禁止所述目标移动部位移动(通道狭窄,目标移动部位如果移动就会和障碍物相撞)、;(3)移动方向调整,具体实现方式是调整所述目标移动部位的移动方向(机器人选择另一种通道通行);(4)落脚点调整,具体实现方式是将机器人的移动部件的落脚点向左前或者右前调整,以躲避障碍物。

需要说明的是,上述四种调整方式可以结合使用,本发明实施例对此不进行限定,在一个可选的实施例中,可以先进行高度调整,如果仍然无法躲避障碍我,可以尝试落脚地调整,如果仍然无法躲避障碍物,可以尝试禁止移动。

可选的,调整模块46还用于在不存在相交的情况下,指示所述机器人依次执行所述预设时间段内的所述控制指令序列。

需要说明的是,如果所述第一三维点面模型与多个所述第二三维点面模型中的任一第二三维点面模型不存在相交,也就是机器人各个移动部件的第二三维点面模型与目标位置的障碍物的第一三维点面模型不存在交集,就说明机器人与障碍物不会相撞,机器人可以通行。在上述情况中,机器人依次执行所述预设时间段内的所述控制指令序列即可。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

本发明的实施例还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

s1,确定机器人在行进区域内需要躲避的目标对象;

s2,获取所述目标对象的第一三维点面模型,以及获取所述机器人的每一个移动部件对应的第二三维点面模型,其中,所述机器人设置有多个移动部件;

s3,分别确定所述第一三维点面模型与多个所述第二三维点面模型中的任一第二三维点面模型是否存在相交;

s4,在存在相交的情况下,调整与所述第一三维点面模型存在相交的第二三维点面模型所对应的目标移动部件,以使所述机器人成功躲避所述目标对象。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器rom、随机存取存储器ram、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

s1,确定机器人在行进区域内需要躲避的目标对象;

s2,获取所述目标对象的第一三维点面模型,以及获取所述机器人的每一个移动部件对应的第二三维点面模型,其中,所述机器人设置有多个移动部件;

s3,分别确定所述第一三维点面模型与多个所述第二三维点面模型中的任一第二三维点面模型是否存在相交;

s4,在存在相交的情况下,调整与所述第一三维点面模型存在相交的第二三维点面模型所对应的目标移动部件,以使所述机器人成功躲避所述目标对象。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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