【论文解读–足式机器人平衡控制VMC】虚拟模型控制(三通道法)Virtual model control

系列文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
TODO:写完再整理

文章目录

前言

认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!

本文先对 虚拟模型控制Virtual model control做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章

提示:以下是本篇文章正文内容

一、跳跃高度控制(Hopping Heigh)

在每个支撑期间,控制系统通过腿提供垂直推力来维持振荡并调节其振幅。每一跳所损耗的一些能量被前一跳的腿部弹簧所补充。跳跃要考虑高度和频率,通过调整腿部推力,激励跳行运动并调整振幅

弹簧倒立摆模型将腿部模拟成一个弹簧,本文采用阻抗控制的方法,通过检测虚拟弹簧的压缩量,来计算滑动关节上直线电机的力

【论文解读--足式机器人平衡控制VMC】虚拟模型控制(三通道法)Virtual model control
上式中,r0和 r 分别为弹簧原长和弹簧实际长度, k0是弹簧刚度,弹簧刚度决定了机器人弹跳的频率。
跳跃机器人有节奏的上下跳动,在弹簧腿的作用下,【防盗标记–盒子君hzj】可以认为是机器人物理系统的势能和动能在能量层面的相互转换。在能量转换过程中,必然因阻尼、摩擦、碰撞等因素导致能量损失,结果系统总能量越来越少,弹跳高度越来越低,最终系统失稳。
因此,必须在弹簧腿的伸长阶段(THRUST相),【防盗标记–盒子君hzj】为机身额外提供一个推力从而补充能量损失:
【论文解读--足式机器人平衡控制VMC】虚拟模型控制(三通道法)Virtual model control
理论上,可以通过下式来计算推力:
推力=(达到所需跳跃高度所需的能量-当前系统总能量)/ 弹簧伸长量

或者下式:

推力=每个周期系统能量损耗 / 弹簧伸长量

但这里使用了一种更简单的方法。直观理解,系统的能量损失应该是随着跳跃高度的增加而增加的,因此能量损失与跳跃高度是单调函数关系,所以对于每个固定的推力大小存在唯一的稳定跳跃高度,并且推力越大跳跃高度越大。实际上,推力和跳跃高度之间的关系非常复杂,无法直接理论求解【防盗标记–盒子君hzj】。Marc Raibert采用了实验标定的方法,然后从中挑选一个比较稳定的推力大小。

【论文解读--足式机器人平衡控制VMC】虚拟模型控制(三通道法)Virtual model control
如上图,图中thrust为推力,z为高度。最上面曲线是质心高度,中间是足底高度,最下面曲线是推力大小。每隔5s改变一次推力的大小,可见机身高度与推力成正相关关系。【防盗标记–盒子君hzj】

.
.

; 二、水平速度控制(Control Forward Speed)

这是通过在飞行相移动腿到一个合适的落脚点来实现的。为了计算出合适的落脚点,控制系统考虑了实际的前进速度、期望速度和腿系统动力学,并构建了一个简单的模型。一个运行的系统只有在腾空阶段腿部卸载时才能移动枢轴点。通过将腿前伸到某一特定位置以提供加速度,稳定前行速度,对每一个前行速度,都存在一个特定的足端位置,使得净前行加速度为0,我们称之为中性点(neutral point),对原地跳跃,中性点就在身体的正下方;而对于前行跳行,中性点在前行方向上。前行越快,中性点离身体越远

核心思想:足底在飞行相结束时第一次接触地面时的位置(落地点)决定了随后支撑相的加速度。作者提出了三个概念:

水平速度(Forward Speed):机身水平方向的前进速度。

净加速度(net forward acceleration):支撑相开始到支撑相结束这段时间机身水平速度增量。注意:在飞行相,忽略空气阻力,仅受重力时,机身水平速度不会改变。【防盗标记–盒子君hzj】

中性点(neutral point):对于每个水平速度,都有一个唯一的落地点,在此落地点上净加速度为0。
(a)当落地点在落在比中性点远的位置时,一部分动能转化为势能,系统在支撑相阶段减速,净加速度>0。
(b)当落地点在落在中性点时,一部分动能转化为势能,净加速度=0。【防盗标记–盒子君hzj】
(c)当落地点在落在比中性点近的位置时,一部分势能转化为动能,系统在支撑相阶段加速,净加速度

计算落足点位置

落足点的计算包含两个因素:一个是通过估计水平速度,来估计中性点的位置;第二个是水平速度的误差用于计算净加速度,从而计算为了实现这个净加速度,落足点相对于中性点的偏移量。两者直接相加,得到落足点。

首先计算中性点:

【论文解读--足式机器人平衡控制VMC】虚拟模型控制(三通道法)Virtual model control
上式中, X为水平速度的状态估计,其算法在后续小节中详细介绍。【防盗标记–盒子君hzj】 Ts为上一个支撑相的持续时间,即足底传感器触地到足底传感器离地的时间。

为了使机器变速,控制系统引入了不对称性。需要加速来稳定水平速度,以防止误差和外部干扰,并从一个水平速度改变到另一个水平速度。为了主动地给机器人变速,控制系统主动在落地点和中性点之间增加一个偏移量,使用水平速度误差的线性函数来确定该偏移量:

【论文解读--足式机器人平衡控制VMC】虚拟模型控制(三通道法)Virtual model control
结合上式可得:
【论文解读--足式机器人平衡控制VMC】虚拟模型控制(三通道法)Virtual model control

; 控制落足点

定义三个坐标系{W}、{H}和{B}。坐标系{W}是在实验室固定的世界坐标系。坐标系{H}的原点随髋部移动,但其方向与{W}的方向保持平行。对于{W}和{H},y与重力矢量对齐并向上为正。【防盗标记–盒子君hzj】{B}固定在机身上,原点与{H}相同。参考webots惯性单元,可得旋转变换:

【论文解读--足式机器人平衡控制VMC】虚拟模型控制(三通道法)Virtual model control
X轴电机和Z轴电机虽然在同一空间位置上,但其转动顺序对运动学解有影响。参考webots的hinge2jiont模型,可见Axis2(对应Z轴电机)在Parent节点上,Axis1(对应X轴电机)在End point节点上,因此逆运动学为:
【论文解读--足式机器人平衡控制VMC】虚拟模型控制(三通道法)Virtual model control
.
.

水平速度的状态估计

在飞行阶段,不考虑空气阻力,仅受垂直方向的重力,水平速度不变。因此水平速度的状态估计是在支撑相实现的,正运动学:

【论文解读--足式机器人平衡控制VMC】虚拟模型控制(三通道法)Virtual model control
步骤一:使用腿部运动学转换,已知髋部执行器的长度、机腿长度以及陀螺仪角度(或者每个电机反馈的关节角度),得到腿相对于躯干的位置
【论文解读--足式机器人平衡控制VMC】虚拟模型控制(三通道法)Virtual model control

【论文解读--足式机器人平衡控制VMC】虚拟模型控制(三通道法)Virtual model control

【论文解读--足式机器人平衡控制VMC】虚拟模型控制(三通道法)Virtual model control

.
.

; 三、姿态控制(Control Body Attitude)

用于稳定机身的俯仰角,使机身保持直立。前提是脚和地面之间有较大的摩擦力。通过对髋关节(hip)的伺服控制,使身体在站立时保持直立状态。

控制系统通过在支撑相对臀部关节施加扭矩来保持身体姿态。【防盗标记–盒子君hzj】由于角动量在飞行过程中是守恒的,所以只有支撑相才能改变系统的角动量。在支撑相,脚和地面之间的摩擦允许向身体施加扭矩,而不会引起腿部较大的加速度。控制系统通过一个线性伺服来实现

【论文解读--足式机器人平衡控制VMC】虚拟模型控制(三通道法)Virtual model control
注意,尽管陀螺仪的正方向和关节电机传感器的正方向相同,但是关节电机的扭矩作用在腿部和作用在身体上的方向是相反的,因此这里多了一个负号

总结

VMC的核心思想:探究复杂动态动力学问题的简单控制方法,简化对复杂地形的处理

二维平面机器人控制分解
1、跳跃运动(支撑相上升,力控)
2、机器人的前进速度和加速度(飞行相,轨迹跟踪)
3、姿态控制(支撑相下落,力控)

Original: https://blog.csdn.net/qq_35635374/article/details/121973718
Author: 盒子君~
Title: 【论文解读–足式机器人平衡控制VMC】虚拟模型控制(三通道法)Virtual model control

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/597457/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球