启元 T1 双形态移动的取舍:地形适应、身体支撑与形态切换

在这里插入图片描述

翻开《T1 变形机器人用户手册》,同一张参数表里有一组容易让人停下来的数字。四足形态的最大移动速度是 3 m/s,轮足形态则是 2.5 m/s。

如果用“轮子负责快,四足负责越障”来理解这台机器人,这两个数字就不好解释。既然四足的速度上限更高,轮子还解决什么?反过来,已经可以靠轮子移动,T1 为什么又要俯下身体,让上肢也接触地面?

答案藏在身体的变化里。直立时,上肢留在身体两侧;俯下以后,它们参与落脚和支撑。遇到台阶,前后肢开始在不同高度上配合;重新起身,躯干、肢体与后轮又得一起调整。同一套部件,每换一种姿态,就有一些工作随之改变。

一、四足的速度上限更高,轮足还解决什么

这两个数字出自同一张官方参数表,旁边还列着两种姿态的尺寸和四足负载。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 1 T1 普通版手册核心参数原表节选

最高速度回答的是一种形态可以达到多快。走完一段路线,还包括起步、转弯和停下。机器人绕过桌角,到人身边停住,速度达到上限之前,眼前这一小段路或许已经结束了。那两个数字并没有替它选好移动方式。

T1 的 SDK 状态图还把四足默认行走、四足越障和四足高速模式分别列出。“四足”下面仍有不同的运动状态,速度上限不能直接代表每一种动作的移动速度。机器人在楼梯前怎样迈出一步,与它在合适场地上能够达到多快,需要放在各自的场景里理解。

轮子的特点可以从滚动本身理解。轮缘的一部分接触地面,随着转动,新的部分接上来。地面连续、附着条件合适,支撑和前进便可以在滚动中延续。机器人无须为了每一次向前,都先抬起轮子,再给它挑一个新落点。

迈步多了一次接触的交替。一条肢体从承重转为摆动,越过一段空间,再落到地面上。身体前进时,还要照顾留在地上支撑的肢体。在连续平地上,滚动省去了反复选择落点的环节;后面遇到台阶,能够主动抬起肢体、重新落脚,又会成为有用的本领。

这还不足以给 T1 两种姿态排出能耗高低。轮足需要驱动轮子,也需要维持身体平衡;四足的消耗则随步态、速度和地面变化。速度表只列了上限,没有提供同一路线的能耗对照。

轮足还改变了身体的使用方式。T1 躯干立起以后,上肢离开地面,身体可以在较高的位置与人相对。移动和上肢动作不再共用前方的地面接触,机器人怎样靠近人、以什么姿态停留,也有了不同选择。

立起来仍要处理平衡。两个后轮形成的支撑布局,与前后肢展开时不同。起停带来的身体倾斜,需要轮子和关节配合调整。连续滚动带来便利,身体也需要适应这样的支撑布局。

如果把轮子想成两只永远摆在原地的脚,就容易漏掉这项配合。身体向前倾时,轮子可以向前移动,改变身体与支撑位置的关系;准备停下来,轮子减速与上身姿态又要相互照顾。保持平衡的过程允许轮子运动,身体也未必时刻笔直。

下面借 BHR-W 研究样机的论文模型看这类平衡问题。黑白圆块 CoM 标出重心,右侧连杆保留了肢体屈曲的关系。

以轮轴为参照,身体的主要质量位于上方,这类关系常被简化为双轮倒立摆。质量挂在支点下面,重力会使它趋向下垂;质量位于支撑上方,身体发生倾斜以后,就需要用轮子与机身的运动来调整。

在这里插入图片描述

图 2 Qiu 等,2022,图 5。研究对象为 BHR-W;CoM 表示重心,θ 表示模型倾角。CC BY 4.0。

躯干的朝向和整机重心并非同一个量。躯干可以挺直,屈起的腿和伸出的上肢仍会改变质量分布。只沿着外壳画一条竖线,无法代替整副身体的平衡关系。

轮子既带动机器人沿路线移动,又参与调整身体与地面的相对位置。向前移动的指令,最终需要和身体当时的倾斜、运动速度一起处理。若身体已经在向前转动,即使某一瞬间外观接近直立,下一瞬间仍可能继续倾斜。

轮足值不值得保留,到这里已经不能只看谁的速度上限更高。接下来得看,同一套肢体如何在两种姿态之间分工。

二、身体一俯下,上肢也换了工作

把官方早期短片中的两个画面并排放好,变化就很直观。

轮足姿态四足姿态
在这里插入图片描述在这里插入图片描述

图 3 外形对照,左图有人接触机体。

直立时垂在身体两侧的上肢,在四足姿态里伸向地面,末端成为接触部位。躯干俯下,后肢屈曲,身体在前后方向展开。T1 没有换上一副四足底盘,后轮也仍然留在后肢末端。

这让观察变形有了一个简单的办法。盯住同一条肢体,看看它怎样从身体两侧来到地面,再怎样收回。轮子与肢体始终共存在这副身体上,变化的是它们的位置,以及它们和地面的关系。

官方手册的部件线图把这副身体拆得更清楚。图中的上肢位于躯干两侧,下肢连着轮子,手部则在上肢末端。对照前面的四足画面,原来垂在身体旁的这一端,正是后来伸向地面的部分。

在这里插入图片描述

图 4 T1 手册第 12 页的部件图。

这种连接关系决定了一件很实际的事。上肢落地以后,躯干和末端之间的距离受到肢体结构约束。末端不滑动时,躯干继续前移,关节角度便要相应改变。前肢无法一面固定支撑身体,一面完全照着直立时的方式摆动。

轮子也没有因为四足姿态而退出。它既可以随转动改变接触位置,也可以由后肢带着移到另一处。遇到高度差,后肢的屈伸使轮子获得了平地滚动之外的运动空间。读这台机器人的身体,得把轮子和连接它的肢体一起看。

手册记录的外廓也随之改变。四足姿态列为 67 × 35 × 45 cm,双足形态列为 42 × 35 × 100 cm。这里的“双足”沿用手册尺寸栏的写法,对应文中讨论的轮足站立形态。

从 45 cm 到 100 cm,高度的差别很醒目,前后占据的空间也变了。直立时能靠近的位置,俯下以后未必容得下整副身体;准备转向或切换时,周围留出的空间也要跟着姿态考虑。这两组尺寸描述了身体外廓,重心在什么位置,还要看各部件的质量与分布。

前肢一旦落地,它的动作就和整机连在了一起。关节转动,可能改变末端位置,也可能带动躯干,或改变接触处的受力。原来可以随身体摆放的上肢,开始与后肢共同支撑和移动。

躯干向前移,前肢的关节仍得配合,直到这次支撑结束,再把末端抬起。由摆动转为承重,随后重新摆动,同一个部件在一段移动中会反复换工作。四足姿态增加的接触位置,需要靠这番交替才能变成连续前进。

离开地面以后,上肢可以回到身体两侧,参与其他姿态和交互动作。它仍有自己的质量,伸出或收回都会改变整机的质量分布。两种姿态各自提供一些动作空间,也各自要求其他部件配合。

手册对载物的区分也落在形态上。四足状态给出的负载限制是 3 kg,人形状态不支持负重载物。同样一段路,即使两种形态都能移动,任务中是否带着物品,仍会改变可选的安排。这个参数描述了使用范围,不能单凭它反推关节内部怎样分配力矩。

额外的物品也有位置。靠近机身放置,与远离机身伸出去,会形成不同的整机质量分布。负载的重量和摆放位置一起进入身体运动,前肢落地时接住的也包含这部分质量。读到“3 kg”,还要把它和“四足状态”这几个字放在一起。

四足姿态里的四个接触,也不会在移动中一直保持原样。一条肢体向前迈,原来的接触暂时减少;它落下以后,新的接触再加入。站立照片里看起来宽展的布局,要随着每一步重新安排。

地面出现高差时,这种变化就更容易看清了。

三、遇到台阶,先落下的前肢怎样接住身体

官网楼梯片段里,T1 正沿台阶向下走。前肢伸向较低一级,后轮仍在较高位置,躯干斜着连接两端。

前肢向较低踏面伸出身体前移,后肢继续调整
在这里插入图片描述在这里插入图片描述

图 5 同一楼梯片段的先后画面。

先看伸向下一级的前肢。轮子在连续地面上可以接着滚,台阶边缘却使脚下的表面突然下降。肢体能够先离开原来的接触,再越过边缘,向新的踏面落下。身体向下移动,前方得先有地方接住它。

这个落点不能只按“够不够远”来选。末端需要落在踏面上,摆动途中要绕开台阶边缘;太靠边,留给接触的余地就小。踏面有多深、下一级在哪里,也会影响它能伸到什么位置。楼梯的难度因此同时藏在高度和深度里。

T1 手册把四足可用的楼梯范围列为单级高度不超过 17 cm。这个数值给出了高度边界,身体在每一级踏面上怎样摆放,仍要放回具体楼梯来看。踏面深一些,肢体可以选择的位置不同;连续的几级台阶,则让前一次落脚紧接着影响后一次移动。

两帧之间,近侧前肢从向前下方伸出,变成更接近竖直地连接躯干与踏面。落点与身体之间的相对位置已经改变。迈下去的动作继续进行,先落下的前肢就要把后面跟来的身体接过去。

与此同时,另一侧前肢处于不同的姿态。左右两端未必同步落在同一级台阶上,身体也要允许它们分处不同位置。单看躯干高度,容易把这个过程读成整台机器一起下降;沿着肢体去看,才能分清哪些部分在移动,哪些接触暂时留在原处。

前肢落下,接着就要从移动中的部件转为支撑身体的一部分。贴到踏面只是开始,地面还得给出所需的作用力。机器人向前下方移动时,接触既要承重,也要配合身体减速和调整,摩擦便在这里进入了动作。

如果接触处打滑,前肢末端的位置就会偏离原来的安排。关节可以继续转动,身体却未必得到预期的支撑。同一个落点,换成湿滑表面,动作的条件已经不同。手册对附着力的要求,落到这一步就有了很具体的含义。

接住身体还要靠关节。落脚点与关节之间有一段距离,地面的作用经过肢体传到关节,关节需要提供相应力矩来配合承重。肢体伸展多少、屈曲多少,都会改变这段力学关系。能把末端伸到一个位置,与能在那里接住继续移动的身体,中间还隔着这一项要求。

力矩可以先理解成让关节转动的作用。同样大小的力,作用线离关节越远,产生的转动作用通常越大;关节与落点的相对位置改变,承重时需要应对的情况也跟着变。机器人把肢体收在身下,和把末端伸到远处,不能只按“都够得到”视为相同。

再把目光移到后轮。前肢已经到了下一级,整台机器人却还没有下来。躯干要向前下方移动,后肢需要改变姿态,让后轮逐步跟进。前面的新落点得为这段运动留出余地,后面的接触也要配合,直到身体转移到下一组位置。

图中较高处的后轮,会随着后肢运动通过台阶边缘。这里,轮子的位置不能仅用轮子转了多少来解释,连接它的后肢也在改变形状。同一个末端在平地上连续滚动,到楼梯上又随整条肢体调整接触位置,轮和腿的分工在一段动作里合到了一起。

前后肢之间还有躯干需要通过。图里的机身悬在相邻踏面之间,前肢往下落,后轮仍在高处,这段高度差就由肢体姿态承接。躯干底部到台阶边缘有没有余地,也随身体向前而改变。把前肢放到下一级,只解决了末端的去处,连接前后肢的机身还要从边缘上方经过。

机身不能任意上下移动,它始终通过关节连着前后肢。为了让躯干通过,后肢可能需要继续屈伸,已经落下的前肢也得配合。如果只把几个末端的落点画在楼梯上,省略中间这副身体,就会漏掉通行所需的一部分空间。楼梯既改变支撑,也把可活动的范围分成了不同高度。

一条肢体迈出去的这段时间,其余接触仍在支撑身体。把接触位置画成俯视图,变化就更明显了。

在这里插入图片描述

图 6 平地静态原理示意,重心投影位置仅用于解释。

左图四个接触点围成一片范围。右图抬起一肢,剩余三点围成三角形,即使身体暂时不动,可用的支撑范围也已经缩小。在只考虑重力与地面接触的简化模型里,重心投影需要留在这个范围内;接触处能否给出所需的力,还取决于摩擦等条件。

正在迈步的肢体已经退出了地面接触。回到楼梯,前肢伸向下一级时,身体要先依靠其余接触配合运动;新落点建立以后,它才加入支撑。接触位置在变化,身体也在跟进。

楼梯上的接触高低不同,行进中还有加减速,不能照搬图里的平地静态判断。但沿着画面中的动作看,问题已经串在了一起。先为前肢找到踏面,落下后接住身体,再让躯干与后肢通过边缘。每一步都同时牵动落脚和支撑。

落脚的次序也会影响接下来还剩哪些选择。一条肢体抬起时,另外几个接触暂时留在地上;它如果落在过近的位置,躯干前移后,肢体很快就可能接近伸展或屈曲的边界。当前这一步能接住身体,还要和下一条肢体怎样跟进连着考虑。

四足给 T1 带来的这项选择很具体。它可以主动安排新的接触位置,让前后肢分处不同高度。代价也落在同一个动作里,摆动的肢体要去找下一个位置,留在地上的部件则要帮助身体继续运动。

台阶走完,机器人可能还要重新立起来。那时,身体需要再换一套配合方式。

四、躯干仍在抬升,后肢与轮子也在调整

官方早期短片约 6 秒处,有一段局部起身画面,躯干仍在抬升。沿着同一部件连续看,肢体之间的配合才会显出来。

在这里插入图片描述

图 7 同一连续片段中的局部抬升过程,标记用于辨认部位与躯干朝向。

先看橙色圆圈指向的近侧前肢末端。它逐帧向画面上方移动,肢体屈曲的样子也在改变。再看躯干的方向线,身体从较平缓的倾斜转向更陡的姿态。上肢的变化和躯干抬升发生在同一段动作里。

这组近景记录的是起身的中间部分。前肢最初离地的时刻不在这里,画面留下的是躯干与肢体接着怎样变化。

蓝色标记定位后轮的可见部位。轮子上方,后肢与躯干的夹角连续变化;躯干在抬升,上肢也在收拢。若只对照俯身和直立两种外形,很容易漏掉后肢在中间这段动作里所做的调整。

后轮接地,并不会把轮轴钉在原地。轮子可以滚动,轮轴上方的关节也可以转动,身体得把这两种运动安排在一起。抬升时,躯干相对轮子的位置在变化,后肢也随之改变形状。用“把身体竖起来”概括动作很简短,真正运动的却是多个彼此相连的部件。

上肢同样参与这段变化。它们有质量,随着躯干抬升和肢体收回,整机的质量分布也在改变。后肢既要带动躯干,又要配合上肢动作带来的变化。轮足姿态下的起停与倾斜,同样要靠后轮和关节共同调整。

把几张外形相似的画面连起来,还会多出一个照片不容易表达的量。身体在某一帧倾斜多少,是位置关系;它正以多快的速度继续转动,则会影响下一瞬间到哪里。同样一个倾角,可能出现在刚开始抬升时,也可能出现在准备结束时,对后续动作的要求并不相同。

轮腿机器人研究会专门处理这段过渡。下面的 BHR-W 论文模型展示了跪姿、后仰和蹲姿,上身位置与下肢支撑关系在一起改变。

在这里插入图片描述

图 8 Qiu 等,2022,图 9。BHR-W 过渡姿态模型

回到 T1 的连续帧,躯干与后轮的相对位置也在变化。若把轮子当成固定支点,只看上身绕它转了多少,就会遗漏关节带来的调整空间。若只看上肢收到了哪里,又会遗漏躯干和后肢的变化。动作从俯身接到直立,要照顾这些运动共同形成的整机状态。

论文的转换实验图还把重心相对轮轴的 x 方向位置和同方向速度放在一起。转换末尾,两条曲线都逐渐回到零附近。

在这里插入图片描述

图 9 BHR-W 从跪姿恢复到平衡站立的实验数据,上为重心相对轮轴的位置,下为速度。Qiu 等,2022,图 18,CC BY 4.0。

身体经过目标位置时,如果还带着明显速度,就会继续运动。到达一个位置,与在那里保持住,需要分别处理。两条曲线因此分别记录位置和速度,不能只选其中一条描述转换的末尾。

回到图 7 的局部画面,T1 的躯干仍在抬升,肢体姿态也在变化。身体在过渡中留下的运动趋势,会成为后续动作开始时的条件。给切换安排一块地面,也得给这些相连的运动留出衔接过程。

手册给出的直立、四足尺寸,分别描述两种外廓。变形时,肢体还要经过一段路径。旁边的桌沿、墙面,可能没有挡住最终站姿,却正好占据了某条肢体收回时经过的位置。安排切换地点时,得把这段运动也留出来。

轮子下面的地面同样参与其中。台阶边缘会使可用接触突然改变,湿滑表面则难以提供预期的附着。手册把变形地点限定在较为平整、连续且附着力良好的地面。楼梯上可以有四足移动的落脚位置,却未必有一块适合完成形态切换的地方。

软件也为这段身体运动保留了过程。T1 SDK 的运动状态图把四足变双足、双足变四足列为动作,并用实线区分主动请求的路径、虚线区分系统自动进入后续状态的路径。形态变换类动作完成后,会进入对应的基础控制状态。文档还将运动状态中的切换阶段与运行阶段分别命名,程序安排下一步移动时,就有了需要观察的阶段。屏幕上发出一次切换请求,身体还得把这段过渡走完。

五、路线能够通过,切换地点还要另选

不妨设想一段符合手册使用范围的路线。前半段是平整走廊,中间有一段短楼梯,另一侧又接一块平台。

轮足沿走廊接近楼梯,决定换成四足以后,切换地点就成了一个独立选择。等身体已经探到台阶边缘,再临时找地方展开,会把移动与变形挤在同一个狭窄位置。更合适的安排,是在前方还有平整、连续地面,而且周围容得下肢体运动的地方,先完成切换,再接近楼梯。

到达另一侧的平台,也未必需要马上站起。如果平台短,后面紧接另一处高差,保持四足继续走可能更符合这段任务;若后面是适合轮足移动的连续地面,才有理由在合适的位置重新起身。选择跟着路线走,不能只看眼前这一刻能否站直。

任务本身也会影响这次选择。如果 T1 仍按四足载物条件携带物品,到了平地,也不能仅因为地面变平,就把负载条件忽略掉直接改用人形姿态。形态改变的是身体的工作方式,手册为该姿态规定的使用条件也得一并接上。

同一条走廊,空载经过与带着物品经过,可以形成不同的安排。能够变形,增加的是选择;是否要在这一小段路上使用它,还要看下一处地形和正在做的任务。反复切换会增加过渡动作,保持一种姿态又可能牺牲另一种姿态带来的便利,这份取舍要在路线中作出。

这给双形态增加了一项容易被外观演示略过的工作。除了选择用哪种姿态通过某段地面,还得为两种姿态之间的过渡安排位置和时机。能在某处移动,不等于适合在那里切换形态。

速度表里的 3 m/s 和 2.5 m/s 仍然有用,只是走到楼梯前,还需要作出另一个决定。先在哪里换好姿态,再把下一步迈出去。

相关手册、SDK 与更多开发资料,可在启元机器人开发者社区继续查阅。

参考资料

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐