官方微信视频号
铁山靠作为一种来自传统武术的动作,主要是通过肩和胯来发力,在实际使用中往往可以爆发出惊人的力量……
要是机器狗也学会了铁山靠,那画面:
▍想学铁山靠不容易
机器狗的铁山靠有什么用?最近几年出现了各种各样的机器狗,但是它们与周围的物体互动的能力还是不理想。在工地上或者工厂里,机器狗可能会经常需要移动各种大小、尺寸、重量不同的物体,没有人事先知道要用多大的力气、用什么方式移动这些物体,所以也没有办法事先给这些对象建模和编程。所以来自韩国先进科技研究所的团队就想到利用机器狗全身的传感器来收集高维度的感官数据,再利用这些数据来与物体互动。这个交互过程当然就用到了整个身体。
在与物体接触时,机器狗不但要在运动中保持自身的平衡,还要推测物体的特征,这样才能采取一系列动作把物体移动到目标位置。目前常用的方法是对机器狗、物体和环境三种之间的互动进行建模,而后基于这个模型来优化决策和控制。但这样做有两个缺点,一个是计算成本很高,另一个是这样的模型依赖于对物体外部特征的精确估计。
如果不依赖建模,就要让机器狗有学习能力,让它能够通过神经网络的泛化能力来适应不同的环境,并基于神经网络来做出预测,而不是基于模型去做复杂的优化,这也节省了计算成本。不过此前的机器学习方法都只针对单一种类的物体,比如球体、圆柱之类的,如果遇到不同形状和种类的物体,那就难办了。
▍像人类一样自己摸索
针对这个问题,韩国团队提出了分层控制策略,其中高级控制器基于机器人和物体的状态输出速度指令,而低级控制器输出期望的关节位置,从而使关节扭矩跟踪给定的指令。在遇到多种不同物体时,这个方法能够使用深度潜在变量编码模型,将从多次交互、本体感觉和动作历史中获得的信息嵌入到低维潜在向量中。这使得机器狗可以逐渐理解物体的物理属性,就像人类一样,先是依靠经验来确定力的方向和大小,然后在交互过程中,加深自己对物体的理解,从而调整策略和力度。在模拟器中,他们使用立方体和圆柱形的物体来训练机器狗,它在45次尝试中都成功地把物体移动到目标位置。
而在实际检验中,分层策略可以让一只27公斤重的机器狗用身体来移动平面上的物体,而它事先并不知道任何关于物体特征的信息。实验中,团队使用了5种不同特征的物体,包括质心会一直变化的物体——一个装了19.2公斤水的桶。
▍训练分层控制器
首先,他们通过强化学习来单独训练低级控制器。低级控制器从速度指令和本体感受信息中预测关节的目标位置。而后目标位置再被喂给阻抗控制器转化成扭矩指令。这样低级控制器就可以遵循特定的速度指令。
然后再把低级控制器固定住,只训练高级控制器。高级策略根据当前观测值ot、先前的动作at−1和编码优先信息历史批次的潜在向量xt,来输出动作命令。它也是通过强化学习训练的。在线自适应过程中,高级控制器的编码器通过监督学习和潜在向量的正规化来运行。高级控制器以每5Hz的频率生成机器狗本体速度,然后将此动作命令提供给低级控制器。低级控制器以每100Hz的频率生成所需的关节位置,这些位置通过阻抗控制器转换为扭矩。
▍高效的全身操控方法
这是一种高效且可扩展的全身操控方法,用于在平面上推动物体。该方法无需预先了解物体的物理属性,让机器人可以自由地接近并推动物体。该系统通过神经网络进行预测,既不需要进行复杂的轨迹优化,也不需要进行精确的接触推理,因此计算效率很高。
在模拟和现实世界的实验中,这个方法都表现出了显著的有效性和准确性。在模拟中,该方法在不同物体物理属性的情况下,仍然能够取得高成功率。而在现实世界的机器人实验中,该系统甚至成功地操控了重量达到自身70%的物体。
最近,该研究以“Learning Whole-body Manipulation for Quadrupedal Robot”为题被发布在arXiv平台上:
目前作者们正在研究利用外部传感器数据来优化操控精度的可能性,并探索在存在障碍的情况下如何实现机器人的自主操控。