模块化机器人的分布式重构规划算法(外文翻译)

模块化机器人的分布式重构规划算法

自重构模块机器人通常由多个模块组成,具有统一的对接接口,可重构为不同的构型。重新配置计划问题是找出需要将一个模块安排转换成另一个模块安排的重新配置操作的顺序。针对模块化机器人的结构形式,提出了一种新的重构规划算法。该算法有效地比较了初始配置和目标配置。重构操作以分布式方式执行,这样每个模块都可以有效地完成其重构任务,从而导致系统的全局重新配置。最后,在SMORES-EP自重构模块机器人硬件上对该算法进行了验证,并给出了一些重构任务示例。

索引术语-蜂窝状和模块化机器人,运动和路径规划,多个移动机器人或代理的路径规划

自重构模块化机器人通常由一组小模块组成,具有统一的对接接口,允许在整个机器人[1]中传输机械力和力矩、电力和通信。这些系统能够适应许多不同的活动,通过重新配置自己的[2]来处理硬件和软件故障。实现这些目标的一个基本问题称为自重构规划问题。

自重构能力使模块系统能够将模块的排列从一种任意构型更改为另一种构型。虽然重构规划问题定义得很好,但由于每个自重构机器人系统所特有的物理约束,该问题通常很难解决。For example, the modules are usually designed to be simple to

manufacture and low-cost so that each module only has a limited number of

actuators and connectors. (例如,模块通常设计为易于制造和低成本,因此每个模块只有有限数量的执行器和连接器。)这导致了有限的运动能力和往往复杂的系统约束。此外,模块化机器人集群的可能安排的数量随着模块的数量呈指数增长,这使得用简单的蛮力技术寻找最优解决方案的规划问题变得非常棘手。

大多数可自配置机器人通常分为三种主要类型:链型、网格型和mobiletype(移动类型),其中一些模型是这三种类型的混合。网格型自重构机器人名义上坐在一个网格和重新配置之间的相邻网格位置。目前已有许多网格型机器人的重构规划算法,如[3][6]。然而,网格型模块化机器人很难产生一些动态运动和通用操作

相比之下,链型自重构机器人特别适合运动和操作。在过去的几年中,已经开发了许多链式模块化机器人系统,如PolyBot[7]、M-TRAN[8]、SuperBot[9]和CKBot[10]。使用这种类型的机器人进行自重构通常是一项困难且耗时的任务。

第三种类型是移动型机器人,它们在模块之间进行重构时使用环境进行移动。使用移动类型重新配置的自重新配置系统包括Millibots [11],Swarm-bots [12],Planar

Catoms [13],和Kilobots [14]。在所有这些情况下,系统都是由大量相同的机器人组成,它们可以在平地上移动,并连接在一起形成不同的平面形状。

我们使用的系统,SMORES[15],是一个混合型的,可以实现所有三种类型的重构。然而,在这项工作中,我们将集中在移动类型的重构。在自重构规划中,利用模块化机器人组态的图表示形式,提出了一种高效的机器人组态动作查找算法,使模块能够合理地进行动作,从而有效地实现目标组态。

这论文的结构如下。第二节审查了有关的和以前的工作。第三部分介绍了硬件平台。

第四部分介绍了一些基本的部分和概念。第五部分给出了算法,第六部分给出了一些实验和结果。最后第七部分给出了结论和未来的工作

2、相关工作

模块化机器人的重构规划问题已在一定程度上得到了解决。Casal和Yim[16]首先针对这个问题发表了一个分治方法(提出了两种基于线框图的模块化机器人重构算法和基于子结构集的初始构型和目标构型的层次结构算法) 然而,这两种算法都不是并行算法,涉及到许多不必要的动作。Nelson[17]使用图形表示模块化机器人构型,通过更新差分矩阵生成重构规划。利用主成分分析方法和加权双向图分配解确定最优构型匹配。[16]和[17]都只考虑单自由度模块,也不考虑两个连接器之间的多种连接方式。

     Payne等人提出了一种链型模块化机器人的算法,但仅限于从“I”形状重新配置为“T”形状。Asadpour等人[19]开发了一种链型自重构机器人的算法,该算法使用了一种启发式函数,该启发式函数是两种构型之间的相似性度量和深度变量的组合,并计算了图的签名,用于同构测试。然而,由于构型的搜索空间非常大,这种方法计算速度很慢。Hou和Shen[20]提出了配置字符串来表示机器人的配置。检测常见的和不同的子结构,所有不同的子结构可以重新配置成一个中间结构,然后到目标子结构。然而,比较两种配置的方法是根据图的中心,这样就很可能找不到公共的子结构,从而导致许多冗余的重新配置步骤。随后开发了基于图的最优重构规划方法[21]。将重构问题转化为分布式约束优化问题(DCOP),用已有的DCOP算法求解,而求解DCOP需要指数时间。因此,引入贪心算法来解决配置匹配问题,但不能保证最优解。所有这些工作都需要在重新配置过程中连接所有模块,因为它们的硬件的运动能力有限。

   提出了一种基于分布式信息的模块化机器人组态识别算法。给出了模块化机器人的图形表示,包括根模块和连接的定义。通过计算相对于根模块的最大公共子配置(MCS),开发了一种匹配和映射算法来进行配置识别。这篇文章的重点是基于这些基本概念的模块化机器人的重新配置规划和自底向上的算法来计算MCS从[22]。提出了一种有效的配置分解算法,并给出了一个虚拟模块操作,实现了所有模块的映射。然后,可以从叶子到根进行分布式重构操作,以保证所涉及模块的移动能力。

3、硬件平台

SMORES-EP(极限自组装模块机器人)是一个模块化的机器人系统首次发表在[15]。其中SMORES-EP是系统的当前版本EP是指模块用于其连接器[23]-[25]的电永磁体,它展示了该模块机器人系统的能力和应用,并演示了一些简单的重构任务。

每个模块有四个主动转动自由度(平移、倾斜和左/右车轮)和四个连接器,这些连接器配备了一组如图1所示的电永磁(EP)磁铁。这四个自由度分别命名为左自由度、右自由度、平移自由度和倾斜自由度。特别是左DoF、右DoF和PAN DoF可以连续旋转(不受旋转角度限制),产生对接口相对于模块其余部分的扭转运动,倾斜DoF限制为90,产生弯曲接头。左自由度和右自由度可以作为驱动轮,允许不同的驱动运动的个别模块。

一个smoresep模块可以被认为是一个立方体,它有四个对接口,分别为左接口、右接口、上接口和下接口,以方便使用。模块的每一个面都可以与其他模块或金属物体形成强烈的连接,使用四个EP磁铁排列成一个环,南极逆时针向北,如图2所示。磁铁的环形布局使连接器雌雄同体,并能够连接在四种可能的配置。连接的EP-Faces也可以通过连接的EP-磁体的磁耦合交换数据,这些EP-Faces可以进行UART串行通信[23]。

4、前提条件

重构规划问题可以定义为查找将任意构型转换为另一种构型的操作序列。图形是模块化机器人构型的简洁表示,并且很容易应用图论[26]中的技术。特别是,模块化机器人的构型可以表示为一个图,图的每个顶点表示一个模块,图的每个边表示两个模块之间的连接。设G = (V, E)是无向图,where V is the set of vertices of G representing the

modules while E is the set of edges of G representing theconnections among modules.(V是代表模块的G的顶点集合,E是代表模块之间连接的G的边集合。)

每个顶点对之间只有一条路径的图是树。任何非循环图都是树。可以方便地将构型看作是对树进行操作以获得不同构型的树。如果初始构型和目标构型有循环,则可以通过运行生成树算法将其转换为非循环配置。因此,这项工作只关注那些图是非循环的构型。

一旦树G

=(V,E)相对于顶点τ∈V的根节点确定,则顶点v∈V的父节点是在通往τ的路径上与其连接的顶点,除了τ之外,它是唯一的,而子节点 的顶点v∈V是一个顶点,其中v是父节点。模块化机器人集群的构型被表示为一个有根的树,必须选择根作为其在[27]中定义的图形的中心。在[22]中显示了一种线性时间算法,该算法可以找到给定机器人构型的根。顶点的度是与顶点相关联的边的数量,而度为1的顶点是图中的叶子。根树中顶点的高度是从该顶点到叶子的最长路径(远离根)的长度,而根的高度则是树的高度。

一个模块化的机器人模块通常有多个连接器,也可能有多种方式来连接它们。对于两个模块之间的每个连接,涉及的面和方向都要考虑。

定义1: 方向为Ori的模块u的连接器U_Con和模块v的连接器V_Con之间的连接定义为

从模组u的观点来看

从模块v的角度来看。

每个连接都有三个属性:Face、Face2Con和Orientation。对于不同设计的模块化机器人,一些看似不同的连接实际上是等价的。在SMORES-EP结构中,不同朝向的左、右、顶面之间的连接实际上是等价的。而对于无法旋转的两个底面之间的连接,则需要考虑如图3所示的方向(orientation[0,1])。姿态属性会影响重构运动学。此外,该模块是双边对称的, 即左脸或左脸DoF是右脸或右DoF的镜像,, 因此,左端面与其他对接口的连接相当于右端面与同一个配对对接口的连接,和所有可能的连接的左脸和右脸是等价的。

一个三模块SMORE8- ep配置显示在图4所示。这里的联系可以表示为:

与connect(2,1)和connect(3,2)相似。此外,对于这个简单的配置,根模块是模块2

给定两种模块化机器人构型,G1 = (V1, E1)和G2 = (V2, E2),在[22]中定义了一个公共子构型,以及v1∈v1, V2∈V2的最大公共子构型(记作MCS(v1, V2))。示例如图5所示。给定两个图G1和G2分别以τ1∈V1和τ2∈V2为根,)(对于模块v1∈V1和v2∈V2,我们可以构造一个公共子配置{G 1,G 2},其中V1 = {v1,vˆ1},) V2 = {v2, vˆ2} under a

subconfiguration mapping f  : V1 → V2 such that f (v1) = v2 andf (ˆ v1) = ˆ v2 if and only if

connect(v1, vˆ1) ∼ = connect(v2, vˆ2) which is called thefeasibility

rule. This feasibility rule can be

used to find

MCS(v1, v2) ∀v1 ∈ V1 and ∀v2 ∈ V2.(给定两个分别相对于τ1∈V1和τ2∈V2扎根的图G1和G2,对于模块v1∈V1和v2∈V2,我们可以构造一个公共子配置{G 1,G 2},其中V1 = {v1 ,vˆ1},V2 = {v2,vˆ2}在子配置映射f下:V1→V2使得f(v1)= v2和f(ˆ v1)= ˆ v2当且仅当connect(v1 ,vˆ1)〜= connect(v2,vˆ2),称为可行性规则。 此可行性规则可用于找到MCS(v1,v2)∀v1∈V1和∀v2∈V2。)

5、重构规划算法

自重构规划问题可以表述为:给定任意初始构型和目标构型,find the actions

required for the system to transform the initial configuration to the goal

configuration.(查找将初始构型转换为目标构型所需的操作)。 可以为不同的模块化机器人系统定义不同的原子重构动作。通常有两个原子重构操作:对接和断开。对接意味着连接两个连接器,而断开连接则意味着断开现有的连接。不同的模块化机器人有不同的过程来执行这两个原子动作。特别是,对于SMORES-EP模块机器人系统,一个对接动作需要两个模块移动它们所涉及的连接器以接近,对齐这两个面并激活所有相应的磁铁。类似地,一个分离动作需要两个模式来使两个相关连接器的所有磁铁失效。

下面是重新配置规划算法的概要。第一步是找到初始构型的根模块,如[22]所示,然后找出目标构型的根模块。在此基础上,可以应用一种将初始构型和目标构型分解为多个子配置的新方法。然后可以在初始构型和目标构型之间匹配这些子构型。这种映射是通过迭代地向这些子配置添加虚拟模块和虚拟连接来计算的。在确定连接和断开动作之后,可以使用标准的2D路径规划方法实现模块移动到需要连接的位置的移动计划。下表列出了常用的命名法:


Gi    初始构型

Gg    目标构型

G¯I    MCS中的初始子配置

¯Gg   MCS中的目标子配置

GˆI   初始子配置不在MCS中

ˆ Gg   目标子配置不在MCS中

Gi     虚拟模块操作后的初始配置

Gg     虚拟模块操作后的目标配置

Τi    初始配置根模块

Τg    目标配置根模块

Ταi    a次初始构型下的根模块

 

M   虚模块


[if !supportLists]A、[endif]构型分解

给定初始构型和目标构型,我们首先将它们分解为多个子配置。为了提高效率,我们需要在初始配置和目标配置之间共享最多连接(图中的边)的分解。重新配置操作(停靠和卸载)通常很难执行,而且非常耗时。因此,该算法的一个目标是最小化对接和分离操作的数量。另外,很难更改图中顶点的高度,例如,将作为配置的叶顶点的模块移动到接近根的位置需要更多操作,因此将这些更改最小化将使物理 重新配置也更加有效。。

给定的任意两个模块化机器人配置Gi = (Vi, Ei)和G G = (Vg,例如),他们的根模块τi和τg可以计算在O(第六| |)或O (| Vg |)分别 ,然后MCS(τiτg)映射f: V¯i V¯g whereV¯i Vi andV¯g Vg can

be computed efficiently. (给定任意两个模块化机器人配置Gi

=(Vi,Ei)和Gg =(Vg,Eg),可以分别在O(| Vi |)或O(| Vg |)中计算其根模块τi和τg,然后计算MCS( 映射f下的τi,τg):V¯i→V¯g其中V¯iVi和V¯gVg可以有效地计算。)These two

subconfigurations G¯i =(V¯i,

i) and G¯g = (V¯g,

g) contained

in MCS(τi,

τg) areisomorphic

so that there is no need to reconfigure these modules.(MCS(τi,τg)中包含的这两个子配置Ǵi=(V́i,Éi)和G¯g=(V́g,E¯g)是同构的,因此无需重新配置这些模块 。)

如果从Gi = (Vi, Ei)中减去子构型Gi

= (Vi, Ei)而不保持边界,就会生成一个由多个不连通子图组成的图Gi

= (Vi, Ei)。类似的操作可以应用到目标配置Gg

= (Vg,比如)生成G G = (V, E G)。这个过程是图6所示,G i = {Gα= (V iαE iα)|α= 0,1,2,。n}和G G =

{GβG = (V gβE gβ)|β= 0,1,2,。,m}。这个过程是定义为一个配置分解Gi = (Vi, Ei)和G

G = (Vg,比如)对根模块对τi和τg写成CD (Gi,τi Gg,τg)。这种配置分解可以在O(|Vi|2)或O(|Ei|2)时完成,而实际上,一个SMORES-EP模块只有4个连接器,因此大量模块的时间应该比最坏情况下的[22]小得多。

[if !supportLists]B、 [endif]模组对应

应用配置分解初始和目标配置Gi = (Vi, Ei)和Gg

= (Vg,例如), 包含在MCS(τi,τg)中的模块被映射为f:V¯i→V¯g其中V¯i⊆Vi和V¯g⊆Vg,因此Gˆi =(Vˆi,Eˆi)和Gˆg =(Vˆg,Eˆg)可以 分别由两个子配置组成。对于α= 0,1,,Gˆi =(Vˆi,Eˆi),G Gi =(V¯i,E¯i)和子配置Gˆα i =(Vˆiα,Eˆiα)之间的联系。 。 。 ,n表示为connect(u,τiα),其中u∈V¯i和ταi∈Vˆiα。 顶点τiα称为Gi =(Vi,Ei)的子配置根,总共有n个子配置根。 类似地,对于Gg =(Vg,Eg),存在m个子配置根,表示为τβg,其中β= 0,1,,。 。 。 ,

然后,我们可以用虚拟模块M替换Ǵi=(V́i,E¯i),并用定义为的虚拟连接connect(M,τiα)替换connect(u,τiα)。

所有虚拟连接都是等效的。The

new corresponding modular robot configuration with a virtual module and some virtual

connections is written as Gi = (Vi,

Ei) where Vi = Vi \ V¯i

{M} as shown in Fig. 7.(具有虚拟模块和某些虚拟连接的新的相应模块化机械手配置被写为Gi

=(Vi,Ei),其中Vi = Vi \V¯i∪{M},如图7所示。我们将此操作称为虚拟 模块操作。) 我们称这个操作为虚操作模块操作。

These

procedures can be applied to the goal configurationGg = (Vg,

Eg) and the corresponding G g = (Vg,

Eg ) is

generated. Applying configuration decomposition on G i = (Vi,

Ei)and Gg = (Vg,

Eg ) with

respect to virtual module Mi andMg,(这些过程可以应用于目标配置Gg =(Vg,Eg)并生成相应的G

g =(Vg,Eg)。 针对虚拟模块Mi和Mg在G i =(Vi,Ei)和Gg =(Vg,Eg)上应用配置分解,)

映射f下的MCS(Mi,Mg): V¯i V¯g whereV¯i ViandV¯ g Vg can

be computed. The

solution to MCS(Mi,Mg)may

not be unique. In addition to these two virtual modules,each vertex u V¯i is

mapped to a unique module v V¯g. After configuration

decomposition CD(Gi,Mi,

Gg,Mg),Gˆi =

(

Vˆi, Eˆi) andGˆg = (Vˆg,

g ) are

generated respectively. We can repeat the virtual module operation for Gˆi = (Vˆi,

i) andGˆg = (Vˆg,

g ) and

two new modular robot configurations with virtual modules and virtual

connections are generated.(映射f下的MCS(Mi,Mg):V

Vi→V¯g其中,可以计算V¯iVi和V¯g⊆Vg。 MCS(Mi,Mg)的解决方案可能不是唯一的。 除了这两个虚拟模块之外,每个顶点u∈V¯i都映射到唯一模块v∈V¯g。 在构型分解后,分别生成CD(G i,Mi,G g,Mg),G i =(V i,E i)和G g =(V g,E eg)。 我们可以对Gˆ

i =(Vˆi,Eˆi)和Gˆg =(Vˆg,Eˆg)重复虚拟模块操作,并生成两个带有虚拟模块和虚拟连接的新模块化机器人配置。)

  通过重复此过程,直到Vi中的每个模块都已与Vg中的唯一模块进行映射,完成映射。 如果我们假设配置分解被应用了N次,则N个映射f1,f2,.. 。 。 ,fN按顺序计算。 此映射过程将尽可能地保持配置之间的顶点高度,并且还保留大多数公共拓扑连接,因此需要较少的重新配置操作。 在最坏的情况下,映射过程必须进行|

Vi | / 2 + 1次配置分解(每次配置分解后至少可以映射两个模块,除了第一个和最后一个配置分解,并且x将x映射到最小整数) 大于或等于x),因此时间复杂度为O(| Vi |

3)。 再次,对于大量模块,实际上,映射过程应该比最坏情况快得多。)

[if !supportLists]C、 [endif]重构操作

一旦映射过程完成,就可以确定相应的重构操作。假设有N个映射ft : tVi tVg,t = 1, 2,

. . .N按顺序计算,将初始配置Gi = (Vi, Ei)映射到目标配置Gg = (Vg, Eg)的映射f: Vi→Vg,不包括虚拟模块映射(Mi→Mg)。这种映射是一对一的,映射的逆映射是f1: Vg Vi。因此,可以通过从叶子到根迭代Gi =(Vi,Ei)中的模块来计算重新配置动作。。

对于以τ为根的模块化机器人配置G =(V,E),对于深度d(v)> 0的任何顶点v∈V,我们将其上级通过其连接器c连接为v〜c,并将它们的连接器连接为v〜c 如c〜。给定映射f: Vi Vg,每个Vi Vi映射到一个惟一的Vg Vg,而v ici和v gcg分别是它们的父进程。给定映射f:Vi→Vg,将每个vi∈Vi映射到唯一的vg∈Vg,并且v〜ici和v〜gcg分别是其父代。 类似地,在逆映射f-1:Vg→Vi的情况下,v〜gcg∈Vg也被映射到唯一的vi∈Vi。如果在模块映射过程中模块对(vi,vg)和(〜vici,v〜gcg)在任何MCS中,则connect(vi,v〜ici)〜= connect(vg,v〜gcg)并且没有 需要重新配置。否则,重新配置动作是通过删除connect(vi,v〜ici)将vi从v〜ici断开,并通过构造connect(vi,vi)将vi与vi停靠。

一旦所有模块除了subconfiguration根Gi = (Vi, Ei)和模块在MCS(τiτg),

G = (V, E i)我已经重新配置成G G =

(V, E G)通过执行重构操作从树叶subconfiguration根源。(一旦访问了除Gi =(Vi,Ei)的子配置根和MCS(τi,τg)中的模块以外的所有模块,Gˆi =(Vˆi,Eˆi)通过执行从叶子到节点的重新配置动作而重新配置为Gˆg

=(Vˆg,Eˆg)。 子配置根。)这使我们能够在模块映射过程中自由地选择MCS(Mi,Mg)的一个解决方案,因为在应用重新配置操作时,模块必须能够自由地操作。然后,我们在[22]中执行匹配和映射算法,以检查新配置是否与目标配置同构。如果没有,则继续迭代未访问的模块并执行重新配置操作。这个过程可以在O(|Vi|)时间内完成。

D. 硬件执行

要使用SMORES-EP实现上面描述的重构计划,模块必须从当前构型中的初始位置脱离,安全地导航它们到目标构型中的最终位置,然后停靠到适当的模块。

模块将在其中重新配置的环境可以用离散表示来描述。然后,可以使用环境的图形表示和重新配置计划来依次生成轨迹,安全地将模块导航到目标配置中重新配置的新位置。这些轨迹可以通过图搜索技术生成,如A* [28](可以使用离散表示来描述模块将在其中重新配置的环境。 然后,可以使用环境的图形表示形式以及重新配置计划来顺序生成轨迹,这些轨迹可以安全地将模块导航到目标构型中的新重构位置。 这些轨迹可以通过图搜索技术(例如A∗)生成)

在为每个模块生成轨迹时,当前重构动作未涉及的模块将被表示为离散环境中的静态障碍物。可能的情况是,当前的重新配置操作需要其他模块的动作来创建适当的自由空间。给定完整的离散环境和系统状态知识,状态机可用于识别何时需要额外的自由空间,并启动闭塞模块的运动以支持当前的重新配置操作。(当为每个模块生成轨迹时,不参与当前重新配置动作的模块将在离散环境中表示为静态障碍物。 当前的重新配置操作可能需要其他模块的运动才能创建适当的自由空间。 给定完整的离散环境和系统状态知识,可以使用状态机来识别何时需要其他可用空间,并启动阻挡模块的运动以启用当前的重新配置操作。)

由于在地面上的移动是通过旋转左右脸来实现的,因此将该脸的方向与一个固定的配合面对齐可能会有问题,因为它们的方向是与平移相耦合的。当移动模块与静止模块对接时,如果静止模块上的面为左、右或顶面,则静止模块可旋转以适当调整方向。有两种特殊的对接操作情况是不能这样做的:1。将一个左脸或一个右脸与一个配套的底面和2对接。将与之匹配的底部面停靠到具有方向属性为1的底部面。在这些情况下,底部表面不能旋转,因为烟囱-

ep模块有固定的底部表面。对于这两种情况,我们使用帮助模块。辅助模块也是一个烟雾- ep模块,其底部表面附有一些有效载荷。帮助模块可以与移动模块对接并提起移动模块,使其表面不再与地面耦合,并可以适当地定位。这种行为的演示如图8所示。

6、实验

已经开发了用于SMORES-EP模块重新配置规划的ROS包,其中包括重配置计划算法, 高水平移动机器人控制器和低水平SMORES-EP模块控制器。此包用于演示三个重新配置任务。

[if !supportLists]1)    [endif]Task 1: Walker 到Mobile机械手:将一组smoresep模块从一个Walker(图9a)重新配置为一个arm(图9b)的移动车辆,包含11个模块。

初始和目标图表示图10所示,τi分别是模块1和τg模块1。对Gi =

(Vi, Ei)和Gg = (Vg,例如),MCS(τiτg)只包含两个模块下映射1 1和3 8。虚拟模块操作结果如图11所示。除了一些等效的虚拟连接之外,MCS中还有两个常见的连接(M, M)。

  其余的模块映射过程如图12和图13所示。MCS(M,

M)中只有虚拟连接,每个连接都需要重新配置操作。

最后的映射是f: Vi Vg is1 1, 3 8,9 5, 8 3,2 9, 11 4,10 2,4 6, 6 10,5 7 and 7 11 相应的重新配置操作如表I所示。

本方案的硬件执行情况如图14所示。维康运动捕捉系统用于跟踪模块的姿态。首先,模块6和模块7必须移动,以便模块5可以移动到模块8的对接。然后模块7与模块6的底面对接,模块4与模块2对接,模块10对接。最后,模块6与模块2对接,接下来是模块7。现在形成Gˆg

=(Vˆg,Eˆg),我们运行匹配和映射算法,该算法显示此配置与Gg =(Vg,Eg)同构,不需要进一步的重新配置操作。z表II显示了重新配置操作后每个模块的顶点高度是如何变化的,对于需要执行操作的模块,除了模块4之外,顶点高度没有变化。

[if !supportLists]2)    [endif]Driver Snake:将一组SMORES-EP模块从驱动程序(图15a)重新配置为Snake(图15b),包含7个模块。

初始和目标图表示在图16所示τi分别是模块4和τg模块4。MCS(τiτg)是空的。虚拟模块M和虚拟连接(M,τi)被添加到Gi,类似的操作被应用到Gg。然后MCS (M

M)是在映射下M M和4 4为进一步配置分解可以删除。这两种配置之间的最终映射是f:

Vi Vg是1 7、2 5、3 6、4 4、5 3、6 2和7 1,相应的重新配置操作如表3所示。

[if !supportLists]3)    [endif]任务3 Omni-DriverMobile

Observer:将一组SMORES-EP模块从一个 Omni-Driver (图17a)重新配置为一个9个模块的Mobile Observer:(图17b)。

初始和目标图表示在图18所示τi分别是模块1和τg模块1。MCS(τiτg)是在映射1 1 2 8和3

9在重构过程中可维护。其他模块的最终映射为4

2、5 5、6 4、7 6、8 3和9 7,相应的重新配置操作如表4所示。

7、7


7、结论

在这篇论文中,我们提出了一种新的模块化机器人的重构算法。利用图表示机器人的构型,在前面工作的基础上,提出了一种通过添加虚拟模块和虚拟连接进行重构分解的算法。初始配置中的每个模块都映射到目标配置中的模块,通过该模块可以计算重新配置动作。帮助模块用于处理特殊的重新配置操作。通过对SMORES-EP硬件的仿真,验证了该算法的有效性。

未来的工作将集中在形状变形的复杂三维结构,使平面配置可以成为任何两个三维配置之间的中间状态,这种重新配置算法可以用来实现链型或网格型的重新配置运动。

翻译文章来源:


你可能感兴趣的:(模块化机器人的分布式重构规划算法(外文翻译))