模块化软体机器人步态合成
模块化软体机器人的步态合成
1 背景与引言
软体机器人领域的当前研究。最近的研究已经开发出柔软的流体执行器和软体机器人,能够通过多种制造方法实现行走、抓取和操作[1–4]。软体机器人已被构造成整体式或模块化设计[5],其中一些利用硬质部件作为机器人的延伸部分[6],或作为内部组件以实现模块化连接[7]。软体机器人和执行器具有耐损伤特性,并能在各种恶劣环境中保持稳健[8]。这些特性为软体机器人系统提供了广阔的设计空间。
模块化软体机器人。软体机器人的广阔设计空间和快速制造能力使设计者能够快速探索适用于多种任务和行为的执行器设计(组件库)。此外,软体执行器通常故障率较高,而模块化系统允许快速更换故障部件,而无需重新制造整个机器人。以往开发的模块化软体机器人虽然具有多功能性,但尚未实现运动合成。
控制软体机器人移动。为软体机器人合成运动和控制器可能很困难,因为软体执行器难以建模。此前开发的控制方法包括使用闭环控制来实现平面软体机器人机械臂绕过障碍物[11],以及使用开环轨迹优化方法实现软体机器人机械臂执行抓取任务[12]。然而,这些方法不能直接应用于行走机器人的执行器,因为它们未考虑地面接触力。
软体机器人能够使用多种步态进行移动,但通常这些步态及相应的控制器是针对特定情况通过实验方法确定的。机器人平台,例如[5]中的行走步态。其他示例包括蛇形运动[6]和仿毛虫滚动运动[13]。软体机器人移动的示例还包括全身滚动运动[14],在这种情况下,使用传感器反馈来充气履带式机器人的各个部分。
利用软体执行器的广阔设计空间来快速应对自主任务,需要具备为组合式软体机器人合成运动与控制器的能力。在本研究中,我们开发了一种用于估计运动并合成效用软体执行器的行走机器人步态的方法,设计并表征了一种示例性软体执行器,并展示了针对两个组合式机器人所合成效用的步态的实验结果。
2 技术方法
软体流体驱动器通过调节每个压力腔室内的压力来控制——执行器的几何结构会根据每个腔室的压力而发生变化,从而产生一定的力和扭矩。在本研究中,我们假设每个软体执行器的压力腔室由一个三位电磁阀控制,当阀门打开时,腔室暴露于共轨气压;当阀门关闭时,腔室暴露于大气压力,排放腔体。每个阀门设置被视为一个二进制值——即阀门处于打开或关闭状态——而机器人所有执行器上各压力腔室的阀门设置集合被称为阀门状态 s。对于给定的阀门状态,当所有执行器腔室的压力达到稳态值时,机器人将呈现一种离散构型。我们假设每个执行器在稳态时的几何结构是已知的,通过分析每种单独构型下的执行器几何结构,可以比较两种不同的构型,并估计机器人在构型之间转换时可能产生的运动。本研究采用的方法是评估机器人的离散构型,然后确定一个能够产生某种机器人运动的构型序列。
将机器人姿态和转换定义为图
一个具有n个压力腔室的软体机器人,其所有执行器共有 2^n 种离散的阀门状态。然而,对于给定的阀门状态,机器人构型可能存在多个稳定姿态,如图1(a–b)所示,具体取决于哪些执行器与地面接触。当机器人重心(CG)的投影位于与地面接触的执行器端点所构成的多边形内部时,该姿态是稳定的,此多边形称为接触多边形,见图1(c–f)。我们为机器人上的每个独立执行器分配一个整数索引 i,并将姿态 p 定义为与地面接触的执行器索引的集合。例如,若图1(c)中的执行器从右上角开始按顺时针方向标记为{1, 2, 3, 4, 5, 6},则 p={1, 3, 4, 6}。我们将姿态之间转换时可能发生的底盘旋转和平移分别定义为 r 和 t,二者均在体固定参考系中定义为向量。我们假设每个执行器可被建模为刚性结构,且执行器与地面之间无滑动。

然后我们构建一个由顶点和边组成的图 G=(V, E),其中每个顶点表示一种独特的姿态及其关联的阀门状态 v={p, s},每条边表示两种姿态之间可能的转换 e={v, v′, r, t}。
Estimating Robot Motion for a Transition
在由图边 e定义的姿态转换过程中,可通过比较在转换期间保持与地面接触的执行器的几何结构来估计机器人底盘旋转 r和平移 t。共享接触索引集 k被定义为对于给定边,两个图顶点姿态中共有的执行器索引集合: k={p⋂p′}。
对于给定的图边,可以通过评估执行器端点在 k ‐ 共享接触多边形中定义的转换前后的多边形来估计机器人的运动。共享接触多边形的示例如图1(g–h)所示。我们使用Kabsch算法[15]来确定最优旋转矩阵 R,以映射每个姿态下由 k定义的转换前后共享接触多边形。底盘旋转角度 r由 R确定,而底盘平移向量 t则由转换前后共享接触多边形的质心确定。
本文用于构建图的算法在算法1中进行了描述。如果满足以下两个条件之一,则在顶点之间添加转换:
- (条件1) 转换前后的机器人姿态相对于共享的接触多边形是稳定的,即机器人相对于在转换前后保持与地面接触的执行器保持稳定。
- (条件2) 估计机器人的重心投影从转换前姿态的接触多边形外移动到转换后姿态的接触多边形内。
机器人控制与步态合成
控制机器人是一个选择一系列阀门状态的过程,从而产生一系列机器人姿态,使机器人底盘实现期望运动。阀门状态在固定的时间步长确定,并且在转换到下一个阀门状态之前允许执行器腔室的压力达到平衡。
通过在图 G上搜索循环可以确定一组阀门状态循环。这是通过为 E中的图边分配权重并执行最短路径图搜索来完成的。边权重的确定方法是:首先由用户根据期望运动选定一条图边 e′={v, v′, r′, t′},然后将其他各条边 e∗ ∈ E ≠ e′的底盘运动与该候选边进行比较。在本研究中,给定 e′,分配给边 e∗={v∗, v∗∗, r∗, t∗}的边权重为(1−cos(α))^4,其中 α是向量 t′和 t∗之间的夹角。当α为零时,该边被赋予一个极小的任意数值,此处为0.0001;而对于 t∗= 0(无底盘运动)的边,也同样赋予一个极小的任意数值,此处为0.01。然而,权重分配的方法是可调节的参数。随后,可通过暂时从图中移除边 e′,并在 v和 v′之间执行最短路径图搜索,找到一组图顶点序列。所返回的图顶点序列的姿态构成步态,所返回的阀门状态序列即为机器人的控制输入。所有控制均为开环——不提供来自执行器的感知或反馈。
算法1. 构建机器人姿态与运动的图
1: 过程 addState(valve state s, G(V, E))
2: 对于每个状态 s 的唯一姿态 p 执行
3: L ← 执行器端点在 p中的坐标
4: Q ← 由 L中的点定义的平面
5: 如果 机器人质心在 Q上的投影位于由 L定义的多边形内则
6: v ← {p, s}
7: 将 v添加到 V
8: 对于所有 v ∗ ∈ V ≠ v 执行
9: {p ∗, s∗} ← v∗的姿态和状态
10: k = {p ⋂ p ∗ }
11: x ← 根据为 k中每个执行器设置的端点坐标集
12: x ∗ ← 每个执行器在 k中的端点坐标集 according 根据机器人状态 s ∗
13: 如果 Condition 1或 Condition 2 那么
14: [R] = kabsch(x, x ∗ )
15: r ← 从 R导出的旋转角度
16: t ← 质心平移向量,(x, x ∗ )
17: e ← {v, v ∗ , r, t}
18: 将 e添加到 E
3 示例执行器
图和步态生成算法具有通用性,可适用于任何执行器。为了演示我们开发的步态生成算法,我们设计了一种软体执行器和多个底盘,以支持对不同机器人的实验。
示例执行器设计
我们为此项工作设计的执行器由弹性体材料(Elastosil ©R M 4601硅橡胶)浇铸而成,包含四个平行且径向对称的压力腔室。当各个腔室被加压时,执行器发生变形,使执行器向未加压的腔室方向弯曲。执行器模具和本体如图2所示。完成的执行器长度约为95毫米,重量约为34克。该设计类似于文献[4]中描述的三腔执行器,但无需专用的应变限制材料,且制造步骤更少。
执行器模具设计的爆炸视图(执行器主体模型以紫色显示),(b) 完成的模具主体和端盖图像,尚未进行最终组装。)
所有压力生成、调节和阀门控制均为外部。假设执行器在加压时遵循恒定曲率半径,其特征由曲率常数 k和角度 φ表示,如图3(a–c)所示。图3(b)中的执行器有一个腔室充气。图3(a)、(b)和(d)中的绿色圆圈是用于评估执行器曲率的视觉参考标记。一个示例机器人如图3(d)所示,由六个执行器连接到对称挤出ABS塑料底盘组成。具有非对称底盘的示例机器人如图3(e)所示。本研究中使用刚性非软体底盘部件,以简化对机器人几何结构的分析。
气动执行器(Elastosil ©R M 4601 硅橡胶),(c) 执行器几何结构,(d‐e) 示例底盘组件。)
模块化软体机器人的步态合成
3 示例执行器(续)
执行器表征
弹性体材料会经历应力软化——当每个执行器腔室反复加压至此前未经历过的应力水平时,材料的刚度会降低,执行器的曲率常数增大(即穆林斯效应)[16]。步态合成依赖于对过渡运动的估计能力,因此,在准确确定步态之前,必须对执行器的性能参数和应力软化行为进行表征。我们进行了一系列实验,以表征本研究中所用执行器的应力软化行为。这些实验分别在未经预加压测试的执行器和已预加压(测试前约充气20次)的执行器上进行。在每次实验中,执行器的每个压力腔室依次被反复加压。每个压力腔室的电磁阀开启10秒,使腔室暴露于93千帕的共轨压力下,然后关闭10秒,使腔室通向大气压力排气。执行器的曲率通过Vicon动作捕捉系统记录。图4(a)显示了未经预加压的单个执行器的曲率数据。

数据表明,应力软化速率在最初的几个循环中较为显著,随后迅速下降。然而,应力软化速率似乎从未降至零——在所有实验过程中,执行器在稳态加压下的曲率常数持续缓慢增加。
通过预加压制备的执行器的曲率数据如图4(b)所示。在这些实验中,执行器的每个腔室首先经过约二十次预加压,压力约为97千帕。数据表明,过压过程减轻了执行器此前经历的最大应力以下的应力软化行为,这与穆林斯效应的预测一致。因此,我们预计采用此方法加压的执行器在机器人上使用时能够保持性能稳定。
4 步态合成实验与结果
由于所有可能的阀门配置构成的图的规模随阀门数量呈指数级增长,因此需要一种能够快速生成图状态并搜索步态的方法,而无需遍历整个状态空间。我们实现了两种不同的图生成和步态搜索方法——一种涉及随机状态生成,另一种涉及在感兴趣的边周围搜索状态。
随机状态生成
合成步态的第一种方法是随机构建图。随机生成唯一的阀门状态并将其添加到图中,每增加100个唯一顶点后尝试进行步态搜索。如果图具有足够的连通性并找到一个环路,则返回姿态和阀门状态序列作为可行步态。
通过该方法生成的步态在图3(d)所示的六足机器人上进行了评估。我们观察到,关于构型和姿态的假设并不成立——执行器柔顺性以及执行器与地面之间未建模的摩擦力导致机器人经常无法实现所返回步态预测的姿态转换,从而使步态失效。我们发现,摩擦力和执行器柔顺性导致机器人进入步态序列中未包含的姿态——机器人试图从一个姿态转换到另一个姿态时,会跌落或“下垂”至不同的姿态,或者原本假设与地面无接触的执行器由于执行器柔顺性而继续保持与地面接触。
围绕单个图边构建步态
第二种方法包括寻找具有期望运动(平移或旋转)的图边, e′={v′, v′′, r′, t′},然后构建一个新图 G′=(V ′, E′),其中 v′, v′′ ∈G′,仅添加平移和旋转值为零的边。当在 G′上实施最短路径图搜索时,所有边权重都被赋予相同的权重1,从而使得图搜索返回可能存在路径中顶点数量最少的路径。如果不存在路径,则向图 G′中添加更多的阀门状态(以及相应的更多姿态)。
通过实施此方法(称为复位法),返回的姿态序列包含感兴趣的动作(从 v′到 v′′),然后是一系列允许机器人“复位”执行器至初始姿态而不引起底盘运动的边转换。两种方法的主要区别在于,复位法构建的是稀疏连接图——图搜索过程仅评估不伴随底盘运动的姿态转换。
实验与结果
我们评估了使用复位法为两种不同机器人底盘合成的步态,一种是对称的(图3(d)),另一种是非对称的(图3(e))。每个底盘均包含六个示例执行器。在对称六足机器人上演示了两种不同的合成步态,一种涉及五个阀门状态和姿态,另一种涉及九个阀门状态和姿态。在非对称机器人上演示了一种涉及六个阀门状态和姿态的合成步态。对称机器人五状态姿态序列为如图5所示。该序列的视频可在 https://www.youtube.com/watch?v=GNiNd51Hp-A 找到。我们使用Vicon动作捕捉系统记录每种演示步态的运动。在每次实验中,我们记录了机器人连续约六次执行步态序列的五次运行。每次运行开始时,机器人的位置和方向均保持一致。每次实验中机器人底盘中心的记录x/y位置如图6所示。

五姿态序列,对称六足机器人,(b) 九姿态序列,对称六足机器人, (c) 六姿态序列,非对称六足机器人)
据估计,对称和非对称六足机器人在步态演示测试中的过渡动作均可推动机器人向前(如图6所示的x方向)约6厘米——对于对称机器人而言,每周期前进一个体长的五分之一;对于非对称机器人而言,每周期前进一个体长的三分之一。需要注意的是,在步态演示测试过程中,多个执行器出现了腔室破裂的情况,因此各次运行之间的执行器组不一致。
九序列(对称机器人)和六序列(非对称机器人)每次运行的动作保持一致——轨迹相似。然而,五序列步态的动作并不一致,因为各次运行之间的轨迹存在差异。这可能是由于五姿态序列中的姿态数量较少所致。在较少的姿态中“复位”执行器时,通常有较少的执行器与地面接触,这可能增加了执行器柔顺性和地面摩擦力的影响。
关于机器人的姿态。尽管非对称机器人姿态序列的数量相对较少,但其轨迹的一致性可能归因于底盘的几何结构。在实验中,我们观察到执行器的不对称性提高了机器人在复位过渡期间保持姿态的能力,即机器人在复位过渡期间能够更好地“平衡”。
5 讨论和未来工作
本文中,我们提出了(1)一种利用软体执行器为行走机器人合成步态的方法,(2)关于软体执行器性能的实验数据,以及(3)针对对称和非对称机器人的合成步态的实验数据。
讨论
步态生成过程对执行器刚度以及执行器与地面之间摩擦力的假设高度敏感。基于随机状态生成的步态合成方法返回的步态不可靠,因为许多关于执行器刚度和表面摩擦的假设并不成立——机器人无法按所返回步态预测的顺序实现相应的姿态序列。
依赖于围绕感兴趣边进行“复位”转换的步态生成过程能够产生可行步态,因为它对执行器刚度和表面摩擦力问题的敏感性较低。此外,该步态生成过程能够为非对称机器人合成运动,表明该过程可能可扩展应用于具有任意底盘和执行器设计的机器人。然而,并非所有返回的步态在性能上都表现出一致性——所展示的两种步态运动具有可重复性,而第三种步态的运动则不可重复。
本文提出的步态合成方法以及在组合机器人上的演示均为开环控制——未提供任何感知或反馈。若能获取机器人的姿态信息,将有助于提升合成步态的实现能力。即使在软体执行器中实现最基本的感知功能,例如简单的真/假接触传感器,也能提供姿态信息,从而改善步态实现过程。
未来工作
关于步态合成的进一步工作将集中在把压力传感器集成到软体执行器中,以确定哪些执行器与地面接触。这将使机器人能够确定其真实姿态,从而检测出与合成步态的偏差并相应地进行适应。该能力有助于缓解执行器刚度和地面摩擦假设所带来的问题。如果机器人未能完成预期的转换,而是检测到一个未预料的姿态——即一个未包含在合成步态中的姿态——机器人或许能够调整当前步态以纳入该检测到的姿态,或者合成一个新的包含该姿态的步态。该能力将使机器人能够在不牺牲移动能力的前提下,适应执行器性能的变化以及执行器刚度和地面摩擦的问题。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)