一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于球形模块化自重构机器人的越障方法与流程

2021-10-08 23:58:00 来源:中国专利 TAG:越障 机器人 球形 模块化 重构


1.本发明涉及机器人技术领域,尤其涉及的是一种基于球形模块化自重构机器人的越障方法。


背景技术:

2.模块化自重构机器人(modular self

reconfiguration robot,msrr)由多个相同或相似的模块组成,并且可以自主地转换模块间的连接关系以改变整体构型,即自重构(self

reconfiguration,sr)。相比于固定构型的机器人,模块化自重构机器人在鲁棒性、适应性、可拓展性等方面更有优势,因此更适合在火灾、地震等非结构化环境中执行探索、越障、抓取等任务。msrr一般通过多个连续的自重构过程完成越障任务。目前,大部分基于多面体模块的越障方法还不能适配凹凸不平的障碍物表面,构型转换的速度缓慢。
3.因此,现有技术还有待改进和发展。


技术实现要素:

4.本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种基于球形模块化自重构机器人的越障方法,旨在解决现有技术中大部分基于多面体模块的越障方法还不能适配凹凸不平的障碍物表面以及构型转换的速度缓慢的问题。
5.本发明解决问题所采用的技术方案如下:
6.第一方面,本发明实施例提供一种基于球形模块化自重构机器人的越障方法,其中,所述方法包括:
7.基于球形模块化自重构机器人和预设的障碍物模型,构建目标构型;其中,所述球形模块化自重构机器人包括若干模块;其中,所述预设的障碍物模型用于表征球形模块化自重构机器人需要跨越的障碍物的三维模型;
8.根据所述目标构型,对包含所有模块的球形模块化自重构机器人整体的当前构型进行连接规划,得到连接规划结果;
9.根据所述连接规划结果,对每一个所述模块独立进行运动规划,得到运动规划结果,以实现球形模块化自重构机器人对障碍物的跨越。
10.在一种实现方式中,其中,所述球形模块化自重构机器人在构建目标构型之前包括:
11.获取各个所述模块的摄像头拍摄的图像信息;
12.根据所述图像信息构建环境网格模型,其中,所述环境网格模型包含障碍物形状和地形信息。
13.在一种实现方式中,其中,所述构建目标构型包括:
14.根据所述障碍物形状和所述地形信息,采用预设的智能优化方法计算包含所有模块的机器人整体需要重构成的连接关系;
15.根据所述连接关系,计算每个模块的目标空位的三维位置,其中,所述目标空位的
三维位置为模块在重构过程后的占位位置。
16.在一种实现方式中,其中,所述连接规划结果包括:每一个所述模块的目标空位的三维位置和每一个所述模块的目标标识。所述根据所述目标构型,对包含所有模块的球形模块化自重构机器人整体的当前构型进行连接规划,得到连接规划结果包括:
17.根据所述目标空位的三维位置,确定所述目标空位的空位标识,其中,所述空位标识用于表征目标构型中空位的编号;
18.根据所述连接关系,构建有根树图,其中,所述有根树图用于表征目标构型的连接关系;
19.根据所述有根树图、所述空位标识和所述空位三维位置,确定每一个所述模块的目标三维位置和每一个所述模块的目标标识,其中,所述目标三维位置为在重构过程中模块在目标构型中的目标位置,所述目标标识用于表征模块在有根树图中的优先级的标识。
20.在一种实现方式中,其中,所述根据所述有根树图、所述空位标识和所述空位三维位置,确定每一个所述模块的目标三维位置和每一个所述模块的目标标识包括:
21.将所述目标构型的有根树图中的根空位分配给当前构型的锚模块;其中,所述根空位于表征目标构型的有根树图中的根节点上的空位;锚模块为以世界坐标系原点为参考,在整体机器人的前进方向上的投影距离最长的一个模块;
22.根据预设的链式距离的空位分配原则,将所述目标构型的有根树图中的每个空位及其标识依次分配给当前构型中与所述锚模块的链式距离最短的叶子模块或者根模块,然后将所述叶子模块或者所述根模块从当前构型中删除,并重复上述分配过程;其中,每一个当前构型中的所述模块都具有目标三维位置和目标标识;其中,链式距离为两个所述模块之间的图路径中包含的模块数量。
23.在一种实现方式中,其中,所述根据所述连接规划结果,对每一个所述模块进行运动规划,得到运动规划结果,以实现球形模块化自重构机器人对障碍物的跨越包括:
24.根据每一个所述模块的目标三维位置和每一个所述模块的目标标识,确定每一个所述模块的调整方向;
25.根据所述调整方向,确定每一个所述模块的运动轨迹。
26.在一种实现方式中,其中,所述根据所述调整方向,确定每一个所述模块的运动轨迹之后包括:
27.根据所述目标标识,确定每一个所述模块的优先级;
28.当两个所述模块发生碰撞时,两个所述模块中优先级低的所述模块退后若干步。
29.在一种实现方式中,其中,所述根据所述连接规划结果,对每一个所述模块进行运动规划,得到运动规划结果,以实现球形模块化自重构机器人对障碍物的跨越还包括:
30.当完成对每一个所述模块进行运动规划后,控制由所述锚模块及除所述锚模块以外的其它模块组成链条,让所述锚模块吸附在所述链条上,从而使所述锚模块能够沿着所述链条运动;所述链条指首尾相接的多个模块。
31.第二方面,本发明实施例还提供一种基于球形模块化自重构机器人的越障装置,其中,所述装置包括:
32.目标构型构建组件,用于基于球形模块化自重构机器人和预设的障碍物模型,设计目标构型;其中,所述球形模块化自重构机器人包括若干模块;其中,所述预设的障碍物
模型用于表征球形模块化自重构机器人需要跨越的障碍物的三维模型;
33.连接规划组件,用于根据所述目标构型,对包含所有模块的球形模块化自重构机器人整体的当前构型进行连接规划,得到连接规划结果;
34.运动规划组件,用于根据所述连接规划结果,对每一个所述模块独立进行运动规划,得到运动规划结果,以实现球形模块化自重构机器人对障碍物的跨越。
35.第三方面,本发明实施例还提供一种智能终端,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序,所述程序用于执行如上述任意一项所述的基于球形模块化自重构机器人的越障方法。
36.第四方面,本发明实施例还提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述中任意一项所述的基于球形模块化自重构机器人的越障方法。
37.本发明的有益效果:本发明实施例首先基于球形模块化自重构机器人,构建目标构型;使得球形模块化自重构机器人能够适应障碍物,其中,所述球形模块化自重构机器人包括若干模块;然后根据所述目标构型,对包含所有模块的球形模块化自重构机器人整体的当前构型进行连接规划,得到连接规划结果;最后根据所述连接规划结果,对每一个所述模块独立进行运动规划,得到运动规划结果,通过连接规划和运动规划使得球形模块化自重构机器人能够快速完成自重构,以实现球形模块化自重构机器人对障碍物的快速跨越。
附图说明
38.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
39.图1为本发明实施例提供的基于球形模块化自重构机器人的越障方法流程示意图。
40.图2为本发明实施例提供的freebot硬件示意图。
41.图3为本发明实施例提供的rollingsphere的gazebo仿真以及两个方向矢量示意图。
42.图4为本发明实施例提供的rotation动作示意图。
43.图5为本发明实施例提供的revolution动作示意图。
44.图6为本发明实施例提供的快速越障算法的分布式框架图。
45.图7为本发明实施例提供的自重构过程中的当前构型和目标构型举例。
46.图8为本发明实施例提供的球形模块的链状连接适应障碍物的示意图。
47.图9为本发明实施例提供的的锚平面示意图。
48.图10为本发明实施例提供的计算下一个空位的3d位置时吻合障碍物的示意图。
49.图11为本发明实施例提供的当前构型和目标构型的连接关系的图表示。
50.图12为本发明实施例提供的当前构型和目标构型的连接关系的仿真示例。
51.图13为本发明实施例提供的计算差分轮方向的调整范围的方法示意。
52.图14为本发明实施例提供的碰撞避免的方法示意。
53.图15为本发明实施例提供的规划出来的连续轨迹示例。
54.图16为本发明实施例提供的仿真中攀爬障碍物并适应地形的示意图。
55.图17为本发明实施例提供的四张翻越阶梯的仿真截图。
56.图18为本发明实施例提供的基于球形模块化自重构机器人的越障装置的原理框图。
57.图19为本发明实施例提供的智能终端的内部结构原理框图。
具体实施方式
58.本发明公开了基于球形模块化自重构机器人的越障方法、智能终端、存储介质,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
59.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
60.本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
61.由于现有技术中,比如sliding cube、smores、roombot等模块化机器人都是多面体形态。球形模块的链状连接则可以适配凹凸不平的表面,此类模块化机器人包括freebot、3d

catoms、cross

ball等。关于球形模块化机器人的建模、控制、越障等内容的研究很有意义但是还远远不够丰富、深入。
62.现有的基于msrr的越障算法可以被归纳为四类:生物启发类,基于智能体的算法,基于搜索的算法和基于控制的算法。生物启发类算法只能用于具有特定仿生结构或功能的模块化机器人。基于智能体的算法很难重现最佳结果并在硬件上部署、调试。基于搜索的算法受制于与模块的数量成指数增长的构型空间以及计算量。因此,目前比较有效的是基于控制的方法,即模拟反馈控制环路以控制构型变换的顺序。在火灾救援等场景中,用最短的时间转换构型具有重要意义,现有的越障算法在构型转换的速度方面还有研究突破空间。
63.为了解决现有技术的问题,本实施例提供了一种基于球形模块化自重构机器人的越障方法,通过上述方法构建目标构型使得球形模块化自重构机器人能够适应障碍物,通过连接规划和运动规划使得球形模块化自重构机器人能够快速完成自重构。具体实施时,首先基于球形模块化自重构机器人和预设的障碍物模型,构建目标构型;其中,所述球形模
块化自重构机器人包括若干模块;其中,所述预设的障碍物模型用于表征球形模块化自重构机器人需要跨越的障碍物的三维模型;然后根据所述目标构型,对包含所有模块的球形模块化自重构机器人整体的当前构型进行连接规划,得到连接规划结果;最后根据所述连接规划结果,对每一个所述模块独立进行运动规划,得到运动规划结果,以实现球形模块化自重构机器人对障碍物的跨越。本发明拼接了多个快速的自重构过程,并且每个自重构过程中的目标构型是根据障碍物形态调整得到的。
64.示例性方法
65.本实施例提供一种基于球形模块化自重构机器人的越障方法,该方法可以应用人工智能的智能终端。具体如图1所示,所述方法包括:
66.步骤s100、基于球形模块化自重构机器人和预设的障碍物模型,构建目标构型;其中,所述球形模块化自重构机器人包括若干模块;其中,所述预设的障碍物模型用于表征球形模块化自重构机器人需要跨越的障碍物的三维模型;
67.具体地,球形模块化自重构机器人适用于符合slidingsphere运动学模型的硬件模块,slidingsphere的一个硬件实现是现有技术中由粗糙的金属球形外壳和含电磁铁和差分轮的内部小车组成的freebot,如图2所示。在仿真中,我们分别使用红色圆圈和绿色圆圈的法线方向分辨球壳内部电磁铁的n极指向(矢量m
s
)和差分轮的前进方向(矢量w
s
),如图3所示。对于内部小车,它只有两个驱动力,偏航(yaw)和滚动(roll)。借助偏航力,内部小车可以选择差分轮的前进方向(矢量w
s
)。借助滚动力,球形模块可以执行两种基本动作,rotation,revolution。rotation指的是内部小车围绕模块本身的中心沿着内壳旋转,如图4所示。revolution指的是整个模块围绕吸附着的模块的中心呈凸形公转,如图5所示。rotation只改变内部小车相对于球壳的位置,而球壳的3d位置不变。revolution则直接改变球壳的3d位置,内部小车相对于球壳的位置也会变化。预设的障碍物模型采用的是代表障碍物的mesh模型或者octomap模型。可以根据预设的障碍物模型,在球形模块化自重构机器人处理器中构建目标构型,也可以在外部设备中根据预设的障碍物模型构建目标构型。为了规划出快速的自重构轨迹并实现适应性越障,本专利提出快速越障算法的分布式框架如图6所示,包括目标构型构建、连接规划、运动规划三个组件。目标构型构建由任意一个模块集中式地计算,它们可以在多项式时间内计算出结果而且在单个自重构过程中只需要计算一次。
68.为了得到图像信息,所述基于球形模块化自重构机器人,构建目标构型之前包括如下步骤:获取各个所述模块的摄像头拍摄的图像信息;根据所述图像信息构建环境网格模型,其中,所述环境网格模型包含障碍物形状和地形信息。
69.具体地,构建目标构型的功能是融合由各个模块的摄像头构建的局部环境的环境网格模型meshes,其中,所述环境网格模型包含障碍物形状和地形信息。根据用户指定的移动方向计算出能够吻合环境中障碍物的目标构型。各个模块利用摄像头对环境进行建模,从而得到环境中障碍物、地形等的mesh模型。mesh模型由许多精细的不重叠三角形组成,每个三角形由顶点的3d位置确定。
70.为了构建目标构型,所述基于球形模块化自重构机器人,构建目标构型包括如下步骤:
71.s101、根据所述障碍物形状和所述地形信息,采用预设的智能优化方法计算包含
所有模块的机器人整体需要重构成的连接关系;s102、根据所述连接关系,计算每个模块的目标空位的三维位置,其中,所述目标空位的三维位置为模块在重构过程后的占位位置。
72.具体地,图7提供了一个自重构的例子。左边的四个带丝带的球代表当前构型中的四个模块,用m
u
表示。右边的四个透明的球代表目标构型中的四个空位,用v
j
表示。图7中的箭头代表用户指定的前进方向在设计目标构型时,当前构型中在方向上最远的一个模块被选定为锚模块,如图7中的m1=v1。设计目标构型时将从这个锚模块开始,呈树型生长,使得目标构型像爬山虎一样抓紧、吻合障碍物。目标构型构建组件利用了球形模块的链状连接对于崎岖障碍物的适应能力,如图8所示。
73.首先本发明定义构型为每个模块的连接关系和3d位置:
[0074][0075]
其中,表示id为u的模块m
u
的3d位置,x
c
(u,:)是指当前构型的邻接矩阵的第u行,代表着当前构型中模块m
u
吸附在哪个模块上。比如x
uv
=1代表着模块m
u
吸附在模块m
v
上。邻接矩阵的定义和计算方法是:
[0076][0077]
本发明在数学上将自重构问题定义为:
[0078][0079]
即自重构算法的目的是通过调整每个模块的3d位置来填充目标构型中的所有空位。其中,p
c
代表当前构型中所有模块的3d位置:
[0080]
p
c
={p
uc
∣u=1,

,n};
[0081]
d
j
表示目标构型(上标t)中空位v
j
与当前构型(上标c)中各个模块之间的欧式距离的乘积。在d
j
中使用乘法的原因是目标构型中的空位v
j
可以被任意一个模块占据。
[0082]
自重构算法的规划结果是所有模块在不同步骤s的3d位置p
c
组成的轨迹:
[0083]
route(s)={p
c
∣s=0,1,...}
[0084]
构建了目标构型后,就可以执行如图1所示的如下步骤:s200、根据所述目标构型,对包含所有模块的球形模块化自重构机器人整体的当前构型进行连接规划,得到连接规划结果。
[0085]
具体地,可以根据所述目标构型,按目标构型对每一个所述模块的目标连接关系进行规划,或者采用神经网络算法对每一个所述模块的目标连接关系进行规划,得到连接规划结果。连接规划由任意一个模块集中式地计算,它们可以在多项式时间内计算出结果而且在单个自重构过程中只需要计算一次。
[0086]
实际中,所述连接规划结果包括:每一个所述模块的目标三维位置和每一个所述模块的目标标识;为了得到连接规划结果,所述根据所述目标构型,对包含所有模块的球形模块化自重构机器人整体的当前构型进行连接规划,得到连接规划结果包括如下步骤:
[0087]
s201、根据所述空位三维位置,确定所述空位三维位置的空位标识,其中,所述空位标识用于表征目标构型中空位的编号;
[0088]
s202、根据所述目标构型,构建有根树图,其中,所述有根树图用于表征目标构型的连接关系图;
[0089]
s203、根据所述有根树图、所述空位标识和所述空位三维位置,确定每一个所述模块的目标三维位置和每一个所述模块的目标标识,其中,所述目标三维位置为在重构过程中模块在目标构型中的目标位置,所述目标标识用于表征模块在有根树图中的优先级的标识。
[0090]
具体地,连接规划的功能是将目标构型中的每一个空位的位置和id迭代地分配给当前构型中链式距离最近的叶子模块或根模块。先根据所述空位三维位置,确定所述空位三维位置的空位标识,其中,所述空位标识用于表征目标构型中空位的编号;然后根据所述连接关系,构建有根树图,其中,所述有根树图用于表征目标构型的连接关系图;有根树图可以通过智能优化算法求解,优化目标函数是让每个分支模块的重心能够落在直接相连的叶子模块们组成的凸包(convex hull)内。例如:在优化的过程中需要根据有根树图计算每个空位的3d位置,其方法如下:计算各个空位的3d位置的思路是从锚模块(也是空位v1)开始,基于v
i
的空位的3d位置,其中i为空位标识,计算刚好吻合mesh模型的v
i 1
的目标三维位置。记v
i
的空位的3d位置和前进方向所在的平面为锚平面,锚平面的法向量为如图9所示,在锚平面中v
i 1
的空位的3d位置和v
i
的空位的3d位置之间的欧式距离为4r,r为模块的半径。图9展示了一个锚平面和三个mesh模型中的三角形的相对位置图。v
i 1
除了要与v
i
之间距离4r外,还要与mesh中最近的一个三角形相切。记这个三角形的法向量为其中一个顶点为o
t
,如图9所示,而图10为计算下一个空位的3d位置时吻合障碍物的示意图。也就是说v
i 1
的空位的3d位置和最近的三角形之间的距离正好是r。综上,本发明简化表达为空位的3d位置的迭代计算方程组如下:
[0091]
||v[i 1]

v[i]||2=(4*r)2[0092][0093][0094]
在步骤s203中,所述根据所述有根树图、所述空位标识和所述空位三维位置,确定每一个所述模块的目标三维位置和每一个所述模块的目标标识包括如下步骤:将所述目标构型的有根树图中的根空位分配给当前构型的锚模块;其中,所述根空位于表征目标构型的有根树图中的根节点上的空位;锚模块为以世界坐标系原点为参考,在整体机器人的前进方向上的投影距离最长的一个模块;根据预设的链式距离的空位分配原则,将所述目标构型的有根树图中的每个空位及其标识依次分配给当前构型中与所述锚模块的链式距离最短的叶子模块或者根模块,然后将所述叶子模块或者所述根模块从当前构型中删除,并重复上述分配过程;其中,每一个当前构型中的所述模块都具有目标三维位置和目标标识;其中,链式距离为两个所述模块之间的图路径中包含的模块数量。
[0095]
具体地,如果连接规划是先根据输入的邻接矩阵绘制当前构型的有根树图,比如图11左边的当前构型,如图11右边展示的目标构型。图11中有代表根模块的点,有代表叶子模块的点,有代表分支模块的点,带箭头的线段代表由多个茎模块组成的链条。茎模块指rollingsphere的电磁铁主动连接在一个模块上且球壳被另一个模块连接着。基于图论的知识,本发明可以证明由rollingspheres组成的连接图要么包含一个根模块要么包含一个
回路。对于含有一个唯一回路且保持整体连接性的构型,我们可以从回路中的任意模块处断开从而生成一个唯一的根节点。回顾图7所示,左边的当前构型中含有一个回路,这个回路断开之后产生了一个根模块和一个叶子模块。也就是说,任意一个保持连接性的构型都可以通过不多于一次的

断开’绘制成一颗有根树图。在把当前构型绘制成有根树图之后,目标构型中的每个空位的id和3d位置将被不重复地分配给当前构型中的模块,分别作为模块的优先级和目标位置。目标构型中的根模块v1已经被分配给了在前进方向上最远的锚模块,如前面的图7中的m1=v1。剩下空位的分配规则是:将v
j 1
分配给与锚模块的链式距离最短的叶子模块或者根模块,然后将这个叶子模块或者根模块从当前构型中删除后继续分配v
j 2
,也就是说如果将v
j 1
分配给与锚模块的链式距离最短的叶子模块,则将这个叶子模块从当前构型中删除后继续分配v
j 2
,如果将v
j 1
分配给与锚模块的链式距离最短的根模块,则将这个根模块从当前构型中删除后继续分配v
j 2
;依此循环直到分配结束。其中,链式距离指的是两个模块之间的图路径中包含的模块数量。比如在图11中,目标构型的空位v2应该被分配给当前构型中新生成的被标记为

断开’的叶子模块。在连接规划中,每个模块都被分配了一个3d目标位置以及一个代表优先级的id。
[0096]
得到连接规划结果后,就可以执行如图1所示的如下步骤:s300、根据所述连接规划结果,对每一个所述模块进行运动规划,得到运动规划结果,以实现球形模块化自重构机器人对障碍物的跨越。
[0097]
具体地,运动规划组件则在各个模块中分布式地运行,从而将计算量大的算法,如mesh的构建、差分轮方向调整和碰撞检测等,分配给了各个模块独自完成。这种分布式框架使得快速越障算法能够适用于大规模模块化机器人。可以采用神经网络算法,也可以采用adas算法对每一个所述模块进行运动规划,得到运动规划结果,以实现球形模块化自重构机器人对障碍物的跨越。运动规划的功能是调整w
s
为最快的方向并规划出不与障碍物的mesh模型或其它模块碰撞的连续轨迹。
[0098]
为了得到运动规划结果,实现球形模块化自重构机器人对障碍物的跨越,所述根据所述连接规划结果,对每一个所述模块进行运动规划,得到运动规划结果,以实现球形模块化自重构机器人对障碍物的跨越包括如下步骤:
[0099]
s301、根据每一个所述模块的目标三维位置和每一个所述模块的目标标识,确定每一个所述模块的调整方向;
[0100]
s302、根据所述调整方向,确定每一个所述模块的运动轨迹。
[0101]
具体地,在运动规划中,各个模块会基于这些信息独立地规划无碰撞轨迹,从而实现整体的自重构。整体的自重构过程大概是一棵树先收缩到根部,然后又再从根部生成不同形状的树,如图12所示。在本实施例中,根据每一个所述模块的目标三维位置和每一个所述模块的目标标识,确定每一个所述模块的调整方向;例如,运动规划的第一步是调整差分轮的方向w
s 1
。为了避免w
s 1
指向的方向被障碍物阻挡,本发明采用图13所示的基于mesh映射的算法规范w
s 1
的调整范围。在图13中,m
j
是被当前模块吸附着的模块,记m
j
的3d位置所在的、与上一步的w
s
垂直的平面为方向平面。将局部相关的mesh投影到方向平面后,即可分辨出哪些角度不会与障碍物发生碰撞。图14为碰撞避免的方法示意图。在图13的右边所示,箭头分割的没有mesh投影点的角度范围都是w
s 1
的调整范围。如果由目标空位的3d位置减去当前模块的3d位置得到的矢量刚好位于调整范围内,则w
s 1
直接取值为该矢量,否则取值为
两个箭头中最接近目标空位的。
[0102]
在步骤s302中,所述根据所述调整方向,确定每一个所述模块的运动轨迹之后包括如下步骤:根据所述目标标识,确定每一个所述模块的优先级;当两个所述模块发生碰撞时,两个所述模块中优先级低的所述模块退后若干步。
[0103]
具体地,得到差分轮的方向之后,即可根据动作类型计算连续的轨迹。这些轨迹主要由若干段旋转的轨迹组成,如图15所示。对于两个基础动作rotation和revolution,它们的轨迹的旋转中心不同:
[0104][0105]
每个旋转轨迹的旋转轴和旋转角度如下:
[0106]
axis=w
s
×
m
s
[0107]
δθ=θ
s 1

θ
s
[0108]
在实际的计算中,可以导入python包中的scipy.spatial.transform对象,采用如下公式计算旋转矩阵的增量以及下一步的3d位置p
s 1
:
[0109]
δr=rotation.from_rotvec(δθ*axis)
[0110]
r
s 1
=δr*r
s
[0111]
p
s 1
=δr.apply(p
s

center) center
[0112]
每个模块在分布式地规划连续路径时,还需要避免这些路径之间的碰撞。本专利采用的碰撞避免方法是当两个模块之间的轨迹发生碰撞时,优先级低的模块退后若干步,直到与优先级高的模块的轨迹所在的平面的距离大于2r时停止,如图14所示。事实上,由于轨迹的规划速度要远远快于硬件实际执行的速度,所以这个碰撞避免方法并不会造成优先级低的模块的实际后退,而只是停顿若干秒。
[0113]
在本发明的另一种实现方式中,所述根据所述连接规划结果,对每一个所述模块进行运动规划,得到运动规划结果,以实现球形模块化自重构机器人对障碍物的跨越还包括如下步骤:当完成对每一个所述模块进行运动规划后,控制由所述锚模块及除所述锚模块以外的其它模块组成链条,让所述锚模块吸附在所述链条上,从而使所述锚模块能够沿着所述链条运动;所述链条指首尾相接的多个模块。
[0114]
具体地,多个自重构过程的拼接发生在单个自重构完成之后,即所有的模块都已经占据了目标空位,当前构型吻合了地形或者障碍物。回顾图7,当所有的模块都已经到达了目标空位位置并且吻合了障碍物时,锚模块m1的电磁铁朝下,没有吸附在其它模块上,也就无法继续往上爬了。解决的方法是:借助锚模块上方其它模块抓稳障碍物的惯性,由锚模块上方的三个模块m2,m3,m4组成的机械臂做出类似于手掌摸手臂的收尾操作,从而将m1举起来并吸附到m4模块的铁壳上。这种收尾操作让m1模块能够继续沿着其它模块组成的链条继续前进,从而触发了下一个自重构过程,并最终翻越整个障碍物。m2,m3,m4等模块的收尾操作类似。
[0115]
在本发明的另一种实现方式中,对每一个所述模块进行运动规划的操作都是各自独立且互不影响的,分布式执行的。
[0116]
图16展示了规划出连续的路径之后控制若干个模块适应崎岖地形的仿真截图。图17展示了拼接多个自重构过程之后快速越障的仿真截图。
[0117]
本发明的关键点有两个
[0118]
关键点一:快速自重构算法的

快速’的原因主要在连接规划和运动规划。在连接规划中,目标构型中的空位会被分配给链式距离最短的叶子模块,这能够缩短每个模块的平均移动距离;在运动规划中,差分轮的方向会被调整到直指目标空位,这能让各个模块少走弯路。
[0119]
关键点二:目标构型构建中树状连接关系以及计算空位的3d位置的方法是能够让越障算法适应障碍物的关键。呈树状连接关系的目标构型能够在保持连接性的条件下稳定地抱住障碍物;计算空位的3d位置的三个方程组则能够准确地得到适应于障碍物表面的目标位置。
[0120]
示例性设备
[0121]
如图18中所示,本发明实施例提供一种基于球形模块化自重构机器人的越障装置,该装置包括:目标构型构建组件401,连接规划组件402和运动规划组件403,其中:
[0122]
目标构型构建组件401,用于基于球形模块化自重构机器人和预设的障碍物模型,构建目标构型;其中,所述球形模块化自重构机器人包括若干模块;其中,所述预设的障碍物模型用于表征球形模块化自重构机器人需要跨越的障碍物的三维模型;
[0123]
连接规划组件402,用于根据所述目标构型,对包含所有模块的球形模块化自重构机器人整体的当前构型进行连接规划,得到连接规划结果;
[0124]
运动规划组件403,用于根据所述连接规划结果,对包含所有模块的机器人整体的当前构型进行运动规划,得到运动规划结果,以实现球形模块化自重构机器人对障碍物的跨越。
[0125]
基于上述实施例,本发明还提供了一种智能终端,其原理框图可以如图19所示。该智能终端包括通过系统总线连接的处理器、存储器、网络接口、显示屏、温度传感器。其中,该智能终端的处理器用于提供计算和控制能力。该智能终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该智能终端的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于球形模块化自重构机器人的越障方法。该智能终端的显示屏可以是液晶显示屏或者电子墨水显示屏,该智能终端的温度传感器是预先在智能终端内部设置,用于检测内部设备的运行温度。
[0126]
本领域技术人员可以理解,图19中的原理图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的智能终端的限定,具体的智能终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0127]
在一个实施例中,提供了一种智能终端,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
[0128]
基于球形模块化自重构机器人和预设的障碍物模型,构建目标构型;其中,所述球形模块化自重构机器人包括若干模块;其中,所述预设的障碍物模型用于表征球形模块化自重构机器人需要跨越的障碍物的三维模型;
[0129]
根据所述目标构型,对包含所有模块的球形模块化自重构机器人整体的当前构型进行连接规划,得到连接规划结果;
[0130]
根据所述连接规划结果,对每一个所述模块独立进行运动规划,得到运动规划结果,以实现球形模块化自重构机器人对障碍物的跨越。
[0131]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0132]
综上所述,本发明公开了基于球形模块化自重构机器人的越障方法、智能终端、存储介质,所述方法包括:首先基于球形模块化自重构机器人,构建目标构型;使得球形模块化自重构机器人能够适应障碍物,其中,所述球形模块化自重构机器人包括若干模块;然后根据所述目标构型,对包含所有模块的球形模块化自重构机器人整体的当前构型进行连接规划,得到连接规划结果;最后根据所述连接规划结果,对每一个所述模块进行运动规划,得到运动规划结果,通过连接规划和运动规划使得球形模块化自重构机器人能够快速完成自重构,以实现球形模块化自重构机器人对障碍物的跨越。
[0133]
基于上述实施例,本发明公开了一种基于球形模块化自重构机器人的越障方法,应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜