对于机器人来说,重力可能不是好事。双足机器人的行走是一大难题,而且经常摔倒。虽然机器人摔倒后自己站起来也很惊艳,但如何让机器人减少摔倒呢?杜克大学研发新算法,让机器人在失去平衡的一瞬间采取纠正措施——扶一下墙。研究人员称,这是首个摔倒时会自己扶墙的机器人。
对于机器人来说,重力或许不是好事。DARPA机器人挑战赛有一个病毒传播的视频,其中各种各样的人形机器人摇摇晃晃、笨拙地摔倒。
对于机器人来说,两足行走是相当不稳定的。这是机器人研发的一大挑战,不仅是因为机器人要努力完成挑战任务,而且,摔倒会损坏这些非常昂贵的机器。
世界各地的机器人专家都在努力解决这个问题,提出各种各样的方案。杜克大学Kris Hauser的研究组希望在机器人失去平衡后添加一系列纠正措施,就像人类在被绊倒后会撑一下,他们希望机器人能够利用周围的环境。
“如果一个人被推向墙壁或栏杆,他们能够利用墙壁或栏杆的表面,用手撑一下以保持直立。我们希望机器人也能这样做。”杜克大学电子与计算机工程系副教授Kris Hauser说:“研究如何让机器人动态地选择手放置的位置,以防止摔倒,我想我们是研究这个领域的唯一一个团队。”
人形机器人(实验里的这个机器人名为ROBOTIS Darwin Mini)通过扶着墙壁稳定自己,以减少摔落的伤害。虽然这样的决定和行动对于我们人类来说是第二天性,但把它们编程成机器人的反应却很难。为了简化过程并节省计算时间,Hauser对软件进行编程,使其只关注机器人的髋关节和肩关节。
系统硬件框图及控制流程
只要机器人在跌倒时没有发生扭曲,稳定算法(stabilization algorithm)就只考虑三个角度:脚到臀部、臀部到肩膀、肩膀到手。机器人必须识别可接近的附近的表面,然后快速计算出最佳的角度组合,才能稳住自己。
在矢状面和额状面采用倒立摆模型进行跌落检测。红色箭头表示质量中心的速度。
本文使用的是三连杆模型,如图所示。机器人被分成三个部分:腿,躯干和手臂,每个部分都被建模为刚性连接。
在最终的解决方案里,当机器人的手接触到表面时,能将冲击力降到最低,同时将手或脚滑动的可能性降到最低。该算法进行最佳的猜测,然后用名为direct shooting的方法逐步优化。
实验中的最优控制器的例子
在当前的状态下,该机器人拥有的是输入给它的环境信息,因此无法自行导航。但在不久的将来,Hauser计划将它升级为大型机器人,拥有能够看到周围环境的相机传感器。
“希望到今年年底之前,我们能够对这个机器人进行实验,让它实际地在一个现场障碍赛道上工作。”Hauser说,“然后,我们将尝试让机器人动态地绘制出它周围的地图,并且推断出如何在任意环境中保护自己免于摔倒。”