日报标题:与你们人类不同,机器人光是双足走路就拼尽全力了
抛砖引个玉先 :)
双足机器人的算法比较多,有些有名字,比如“增量式模糊控制 PD 控制算法”,“机器学习算法”;有些则没有什么太过具体的名字,我在这里就介绍一种应用于复杂地形(带有倾斜角度的或表面不均匀的落脚面)的双足机器人的算法吧。
先说说双足机器人的平衡控制都经历过哪些阶段。
在最开始的双足机器人使用的平衡控制策略是“静态步行”(static walking)这种策略的特点是:机器人步行的过程中,重心(COG,Center of Gravity)的投影始终位于多边形支撑区域(support region)内,这种控制策略的好处在于:在整个的行进过程中,机器人可以在行走动作中停止而不摔倒,但代价是行动速度非常迟缓(每一步需要花费 10 秒甚至更长)(因为需要保持重心的投影始终位于支撑区域,否则将不稳定),因为静态步行和人类的期望相差甚远,于是人类开发出来了另一种步行平衡策略:“动态步行”。(dynamic walking)在动态步行中机器人的行动速度被提升至了每步不超过 1 秒。但是弊端也是显而易见的,机器人难以在运动的状态下立即停顿(惯性的作用),从而使得机器人在状态转换的过程中变得不稳定。为了解决惯性带来的影响,零力矩点(ZMP,zero moment point)被引入到了这一控制策略中。在单脚支撑相中,ZMP=COG。引入 ZMP 的好处在于,如果 ZMP 严格的存在于机器人的支撑区域中,机器人绝对不会摔倒。
(图 1. 静态步行)
(图 2. 引入了 ZMP 的动态步行)
现在双足平衡的主流是用基于 ZMP 的动态步行。
基于上述的基本内容,双足机器人的一条腿就可以抽象成控制系统中最基本的“倒立摆”模型。
(图 3. 倒立摆模型)
可以推导出机器人的一条腿的正向 ZMP 动力学公式为:
(图 4.正向 ZMP 动力学公式)
Xzmp 代表正向 ZMP,Xmc 代表质量中心的前进位移,l 是倒立摆的长度,g 是重力加速度。
由于复杂地形的双足平衡无法由单一的控制器实现,所以多个控制器的切换策略被用于解决平衡问题。在这一个策略中,机器人的行走被设定为一个周期(cycle)每一个周期被分成了不同的行走阶段(stage)如下图所示:
(图 5.双足机器人的行走周期和行走阶段)
图中的 1-4 阶段是一个周期。而在第 2 和第 4 阶段可以发现,在这两个阶段中,机器人的 SSP 与 DSP 发生了“共存”,即同时存在状态。
在一般的双足平衡的算法中包含了三种控制策略:
(1)实时平衡控制策略(real-time balance control strategy)
(2)步行模式控制策略(walking pattern control strategy)
(3)行动预测控制策略(predicted motion control strategy)
基于不同策略的不同目的,每一种控制策略都包含了多种在线控制器(online controller),下面将分述每一种策略的任务及使用的控制器。
A. 实时平衡控制策略
控制器 1:阻尼控制器(Damping controller)。目的:在 SSP 模式下,消除机器人上 半身的振动。作用阶段:1,3 全阶段;2,4 中的 SSP 阶段。
控制器 2:ZMP 补偿器(ZMP compensator) 。目的:保持机器人骨盆关节(如图 6 所 示)在动态运动中水平方向的平衡。作用阶段:1,3 全阶段;2,4 中的 SSP 阶段。
(图 6,机器人的骨盆(pelvis)关节示意图)
控制器 3:软著陆控制器(Soft landing controllers)。目的:吸收机器人脚着陆时的撞 击,调节机器人脚与着陆区的接触面。作用阶段:2,4 中的 DSP 阶段。
B. 步行模式控制策略
控制器 1:骨盆摇摆振幅控制器(Pelvis swing amplitude controller )。目的:补偿机 器人骨盆关节侧部摇摆振幅。作用阶段:2,4 中的 DSP 阶段。
控制器 2:躯干俯仰角 / 侧倾角控制器(Torso pitch/roll controller ) 。目的:补偿骨盆 关节的中心位置相对于躯干的俯仰角 / 侧倾角摇摆。作用阶段:2,4 中的 DSP 阶段。
C. 行动预测控制策略
控制器 1:过倾斜控制器(Tilt over controller )。目的:补偿机器人踝关节轨迹,以避 免机器人在压延方向上的过倾斜。作用阶段:1,3 全阶段。
控制器 2:着陆位姿控制器(Landing position controller ) 。目的:避免机器人脚着 陆时造成的不稳定。作用阶段:2,4 全阶段。
然而,一般的双足平衡算法无法解决地形不均匀或地形倾斜的问题,因此,在地形不均匀或地形倾斜这种复杂环境中,一些新的控制需要被引入:
A1.直立姿态控制器(Upright Pose Controller )
这种控制器可以使机器人在倾斜地形中始终保持直立姿势,从而保持整个机体的平衡。对于双足机器人而言,倾斜地形的“全局倾斜角”的测量就显得尤为重要。一般采用的测量方法是在机器人的躯体内部安装一个 2 轴的加速度计,在加上一个低通滤波器就可以构成一个倾斜计。
对于机器人的俯仰姿态控制,在规定的踝关节轨迹上,直立姿态控制器附加了含有俯仰误差的 PI 控制器:
直立姿态控制器则可由下列等式实现:
图 7 更加直观的反映出了使用控制器之前与之后的俯仰控制平衡性差异:
使用控制器之前与之后的侧倾控制平衡性差异:
至于后面的.....码不动了......暂且先到这里吧
2016 年 6 月 26 日更新 ( ̄┰ ̄*)
看到评论里有大神提到了没有 ZMP sensor 怎么控制双足机器人的问题,正好有一个例子可以看一下
2011 年的时候,德国航空航天局下属的机器人学和机电学研究所(Institute of Robotics and Mechatronics)发布了一款名为“DLR”的机器人(如下图所示)
它是由 Christin Ott 及其带领的团队一起研发的,和一般基于 ZMP 的双足机器人不同,DLR 并不依赖于 ZMP 的辅助控制。德国人给它的定义是“Torque controlled humanoid robot”即基于力矩调节控制的机器人。
力矩调节的核心思想是“当机器人受到外界的干扰时,预期的力和力矩可以同时作用以使得机器人始终保持平衡(如下图)
DLR 机器人采用的控制器是一个名叫“grasping-inspired controller ”(实在是只能意会)这个控制器实现的算法是一种优化算法,这种算法可以计算上述平衡策略中所需要的力和力矩,从而抵消外界扰动。
下图所示的是 DLR 所使用的平衡控制器的框图
由于鄙人实在是才疏学浅,所学并未涉及到力矩控制平衡算法,所以将文献的标题写在下方,诸位感兴趣可以看看:
“Posture and Balance Control for Biped Robots based on Contact Force Optimization”,Christian Ott, Maximo A. Roa, and Gerd Hirzinger。2011 11th IEEE-RAS International Conference on Humanoid Robots.
978-1-61284-868-6/11/$26.00 ©2011 IEEE
其实我真正感兴趣的是 Boston Dynamics 的 Altas 双足机器人,BD 出品,必属精品(你懂的),可是资料少的可怜,上穷碧落下黄泉,两处茫茫皆不见……还是很想知道 Altas 的控制算法的。
哦,对了,其实答主是一个害怕与人社交的工科男 所以还是不要私信了吧 问题在评论里面说出来就好,我们大家可以共同讨论,集思广益嘛୧(๑•̀⌄•́๑)૭
有大神私信我问了一种日本机器人的平衡算法,在这里回复一下
这种机器人是由一个名为 Dr. Guero 的日本机器人研究者开发的,但是他的真名是 Masahiko Yamaguchi........这里值得注意的是,如果在网站上搜索 Masahiko Yamaguchi 的相关研究成果,你会发现:
好吧,居然是一个化学家……虽然不排除重名重姓的可能……但还是有点奇怪。
有点扯远了,说回机器人。这种日本机器人实际上是一个系列,以“PRIMER”开头的一个系列,说的在通俗一点,相比诸位多多少少都在媒体上曾经见过一个能够自己骑自行车并刹车的小机器人吧?没错,就是这种机器人。
(PRIMER-V2 robot)
在这种机器人的官网上(http://ai2001.ifdef.jp/)还能找到这一系列机器人的更多功能及其图片,例如走钢丝什么的:
然后我们来聊聊这种机器人的工作原理。
首先,官网给出的原理非常“玄妙”,难以理解,因为居然用的是 AI!!也就是人工智能:
还有很玄妙的原理图:
呃,我个人表示——完全看不懂……
好吧,那么在网上能否找到其他相关信息呢?答案是肯定的,但是和官网感觉……画风不一样啊:
例如这一段话的最后一段就说“the machine works on the remote control........"顿时就感觉有点 low 了有木有……毕竟在我心中,遥控操纵的机器人和自主机器人还是有差距的。
再比如:
第一段的最后提到,尽管平衡是自主完成的,但是在决定方向时,必须(has to)要一直(at all times)遥控……仁兄,高大上的 AI 呢???
然后又有关于 V4 机器人的资料:
这段话里面提到了 Dr.Guero 的 PRIMER-V4 机器人是基于 KHR-3HV(这个机器人网上有卖的,有详细的说明书,网址在文章最后)改造的,而关于 PRIMER-V4 的平衡原理,一个中文网站上写到:
用的是“倾斜感应器”,应该和我上文提到的控制器差不多,嗯……
其实我觉得吧,这个系列的日本机器人,好像并没有多么的依靠算法,控制之类的,应该是一种编程 + 示教 + 遥控的机器人,由于文献网站上没有关于这种机器人的 Datesheet 和 Paper,所以这也仅仅是我的个人猜想,欢迎一起讨论。
不知道对您的问题有没有帮助……
人型機器人 KONDO KHR3-HV Ver. 2 程式編輯介面簡介CAVEDU教育團隊技術部落格 | CAVEDU教育團隊技術部落格
Robotics.com.hk - Kondo KHR-3HV
PRIMER V4 – a steel wire crossing robot | RobAid
AI & Robot
如有问题,还望指正,大家互相学习 : )