系列文章目录

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

文章目录

  • 系列文章目录
  • 前言
  • 一、分解式VMC 的实现原理
    • 1.虚拟力的定义
    • 2.虚拟力分配方法
    • 3.在每个需要控制的自由度上构造恰当的虚拟构件以产生合适的虚拟力
      • (1)计算虚拟力的方法
        • 1)机械上的方法
        • 2)控制的方法(阻抗控制)
      • (2)虚拟力的向量三维表达形式
    • 4.在不同的相位状态利用相应的 Jacobian矩阵计算期望的关节力矩
      • (1)计算雅可比矩阵方法
      • (2)计算虚拟力(外部作用力)和关节力矩之间的关系方法
  • 二、分解式VMC在四足机器人上的应用
    • 1.分解式 VMC 原理框图
    • 2.控制原理
    • 3.构造虚拟构件
    • 4.计算虚拟力和力矩
    • 5.XYZ三个方向上的平动控制方法
      • (1)XYZ三个方向的虚拟力计算【阻抗控制原理】
      • (2)关节期望力矩的计算
        • (1)计算雅可比矩阵J
        • (2)计算关节期望力矩
    • 6.RPY三个方向上的姿态控制方法
      • (1)俯仰角控制
      • (2)横滚角控制
      • (3)偏航角控制
    • 7.平动控制和姿态控制公式一起表达
      • 平动控制公式
      • 姿态控制公式
      • 支撑相时:平动控制和姿态控制公式一起表达
      • 摆动相时:平动控制和姿态控制公式一起表达
    • 8.在不同的相位状态利用相应的 Jacobian矩阵计算期望的关节力矩
      • (1)计算雅可比矩阵方法
      • (2)计算虚拟力(外部作用力)和关节力矩之间的关系方法
  • 总结

前言

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

本文先对分解式虚拟模型VMC解耦思想+反馈控制的方法规划反作用力+运动学雅可比+虚功原理规划关节扭矩方法做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章


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

一、分解式VMC 的实现原理

1.虚拟力的定义

虚拟力不是实际存在的作用力或力矩,机器人的运动最终是通过关节力矩实现的,但是总的关节力矩合成等效为一个虚拟力
.
.

2.虚拟力分配方法

虚拟腿力分配即仅考虑静力学下的力平衡问题,当机身负载不均匀时为保证姿态稳定,基于力和力臂关系可知离质心更近的腿需要产生更多的力

对Trot步态来说虚拟腿构建于两支撑腿连线中点
对Pace步态虚拟腿构建在两侧腿的中间
对Bound步态在前后量侧腿的中间。在Bound步态虚拟腿无法在质心处提供支撑,足端很可能由于机械尺寸约束无法靠近质心,因此可能无法简单地将Bound归入Trot和Pace统一的控制框架中,其对俯仰轴的控制是一个十分重要的研究内容

3.在每个需要控制的自由度上构造恰当的虚拟构件以产生合适的虚拟力

(1)计算虚拟力的方法

1)机械上的方法

在机器人腿部安装机械参数合适的弹簧(比例增益K1)和阻尼器(比例增益K2)

缺点:成本高、机械参数因为磨损、疲劳和安装位置不同难以确定,维护成本极高
.
.

2)控制的方法(阻抗控制)

使用阻抗控制的方法虚拟构件主要是弹簧与阻尼器

反馈控制:
阻抗控制的本质是用两个输入量的P控制器实现的,控制率为:

反馈控制:
使用阻抗控制的方法虚拟构件主要是弹簧与阻尼器
阻抗控制的本质是用两个输入量的P控制器实现的,控制率为:

其中:
(1)F为虚拟构件产生的虚拟力
(2)K 和 B分别为弹性和阻尼系数
(3)u和u’分别为相应广义坐标的实时位移和速度
(4)下标d表示期望值
虚拟力常常施加在机器人机体质心处,以控制机器人机体实现期望运动。
如果要控制机器人某一点保持在期望的位置(例如质心高度控制),则同时施加弹簧和阻尼构件;
若要控制机器人达到某期望速度(例如水平移动速度控制),则只施加阻尼构件(令 )

前馈控制:
还可以在最右端加上一个前馈项,用来提前补偿相应方向上的力或者力矩,例如在竖直方向加上重力补偿项

.

(2)虚拟力的向量三维表达形式

虚拟力的向量表达形式能表示坐标轴三个方向上不同K、B参数的阻抗P控制率

其中:
(1)m 个 机 体 自 由 度 对 应 的 位 置 向 量
(2)对应的虚拟力列向量
(3)K和B分别是弹性和阻尼系数矩阵(对角矩阵),且有:

.
.

4.在不同的相位状态利用相应的 Jacobian矩阵计算期望的关节力矩

VMC原理控制关节扭矩的过程使用了运动学模型中的雅可比矩阵和虚功原理

(1)计算雅可比矩阵方法

为了将工作空间(Task Space)的力或力矩映射成关节空间(Joint Space)的关节力矩,需要先求得这两个空间的位置映射关系,即正运动学模型

其中:
机体坐标系相对于地面坐标系的 个自由度对应的位姿向量为

n个关节变量的位置向量为

进一步求x分别对 的偏导数得到:



写成以下形式

即得到 Jacobian 矩阵,它将关节速度 映射成机体位姿速度

.
.

(2)计算虚拟力(外部作用力)和关节力矩之间的关系方法

根据虚功原理,可以得到:

其中
(1)关节力矩列向量

(2)外部作用力

根据雅可比矩阵速度关系和虚功原理即:

可以得到外部作用力和关节力矩之间的关系:


(1)包含 n 个关节的期望力矩
(2)为作用坐标系与反作用坐标系之间的关联 Jacobian 矩阵的转置矩阵

在这个公式中,Jacobian 矩阵随着关节角度变化而变化。当J为奇异矩阵时,在某些特定方向上J可以增大或者减小却不会影响F的计算结果。也就是说,在奇异构型附近,很小的关节力矩就能够在某些方向上产生很大作用力。这也解释了为什么行走类四足动物在承载能力上具有较大优势,即当其腿结构在尽量伸展以后接近了奇异构型,只需要较小的关节力矩能够产生较大的竖直支撑力

.
.

二、分解式VMC在四足机器人上的应用

1.分解式 VMC 原理框图



.
.

2.控制原理

将总体控制目标所施加的虚拟模型按照一定的原则分解到各个支撑腿上,利用简单的单Jacobian 矩阵计算得到相应的关节力矩,并且构造单腿摆动相的虚拟模型进行摆动相 VMC 控制,根据步态规则及触地信号进行模型切换,各支撑腿相互协作,从而避免了复杂的全局 Jacobian 矩阵的推导并可以减小模型切换引入的扰动,同时在支撑相和摆动相均采用 VMC 方法进行控制,使控制算法进一步简化和统一。以实现机器人的机体的控制目标

对角步态中,,四足机器人机体的 6 个自由度控制只能依赖于两条对角支撑腿。换句话说:我们要控制的对象是机体的两个方向的速度(Vx,Vy)、机体高度z以及 3 个姿态角rpy,一共六个量

.
.

3.构造虚拟构件

二维空间四足机器人的虚拟构件图

原理如下:
对于二维空间的四足机器人,需要控制的机体自由度同样是(工作空间中)矢状平面内的三个自由度,即前进速度Vx 、机体高度z和前后倾角0

(1)对于控制前进速度Vx的方法:一个水平方向的阻尼器用来“牵引”机器人以调节前进速度
(2)对于控制机体高度z的方法:一个竖直方向的直线弹簧-阻尼器用来“支撑”机体以维持期望高度
(3)对于控制前后倾角0的方法:一个绕机体中心的旋转弹簧-阻尼器用来“扭转”机体以调整前后倾角大小

.
.

4.计算虚拟力和力矩

设虚拟构件变量为

二维平面三个方向虚拟力和力矩的计算公式为:

其中
(1)水平方向只有阻尼器,故Kx=0
(2)通常情况下不希望z和0两个方向具有期望速度,设定

(3)机器人的实时前进速度和倾角计算:通过机载惯性测量单元(Inertial Measurement Unit, IMU)测量计算得到
(4)机体高度z:可以利用支撑腿的正运动学计算得到(膝关节和髋关节角度大小可由关节角度传感器测量得到)
.
.

5.XYZ三个方向上的平动控制方法

机器人的机体平移控制包括了两个方向的速度(Vx,Vy)控制、机体高度z控制

(1)XYZ三个方向的虚拟力计算【阻抗控制原理】

作用在每个支撑腿髋部的虚拟构件为沿着和方向的阻尼构件(期望速度分别为x’d和y’d)以及沿着z方向的弹簧-阻尼构件(期望长度为zd),它们产生的虚拟力用矩阵形式表达为:

式中下标i为腿的代号,kz、bz、by、bz为控制参数,机体高度方向的期望速度zi’d一般设为零
注意这里计算得到的虚拟力同样需要进行极值的约束,以防止期望关节力矩超过关节驱动器的极限并防止机器人与地面发生打滑

(2)关节期望力矩的计算

(1)计算雅可比矩阵J

(1)根据 DH 法建立变换坐标系

(2)测量运动学模型的 DH 参数

(3)相邻坐标之间的变换矩阵为:

将 DH 参数分别代入上式求得各相邻坐标的转换矩阵

(4)依次相乘得到,足端 Q 点坐标系相对髋部坐标系的变换矩阵为:

其中:
(1)R为足端坐标系相对髋部坐标系的旋转矩阵
(2)P为足端在髋部坐标系的位置坐标

(5)对位置坐标P分别对各关节角度求偏导数,得到 Jacobian 矩阵

式中,下标i为腿的编号,S、C分别表示

其中的关节角度为腿 的相应关节角

(2)计算关节期望力矩

上面计算得到虚拟力(反作用力):

上面计算得到Jacobian 矩阵:

为了将其转换为关节期望力矩,需要求机器人的单腿Jacobian 矩阵


其中

.
.

6.RPY三个方向上的姿态控制方法

机器人的机体姿态控制包括了俯仰控制、横滚控制和偏航控制

(1)俯仰角控制

通过前后支撑腿的高度控制来调节俯仰角,即通过调节腿 1 和 3 支撑时的高度,或者调节腿 2 和 4 支撑时的高度来调整俯仰角的大小,根据俯仰角与期望值的差,直觉地抬高或者降低相应髋部的期望高度值:
定义的高度均为正值,,转换为髋部坐标下,的坐标值为z=-h ,于是得到:

其中
(1)对应机体期望高度zd=-hd
(2)k为调节参数,且根据几何关系可以在初步设定k=L/2(L为机体长度)的基础上进行试验整定

.
.

(2)横滚角控制

β横滚角主要是由于机体翻转产生的,是三维空间运动区别于二维空间运动的主要特征之一,也是三维空间控制的一个难点。一般在动步态的时候设置横滚角β=0
在横滚角β方向上施加旋转式的虚拟弹簧-阻尼构件来抑制β的变化,产生的虚拟力矩 Mβ的大小为:

式中,Kβ和Bβ分别为弹簧刚度和阻尼系数

为横滚控制目标
β和β’分别是机体实时的横滚角度和角速度,可由机载 IMU 测量计算得到

Mβ通过两个支撑腿的侧摆关节产生,于是直接将Mβ平分到这两个支撑腿,得到每条腿的侧摆关节需要对机体产生的额外作用力矩为:



其中:

根据作用和反作用力的关系,侧摆关节驱动器输出作用到腿部上的额外力矩应该为

通过在两条支撑腿的侧摆关节分别施加额外的关节力矩 ,可以产生和相同的作用效果,从而实现了机体的横滚控制
.
.

(3)偏航角控制

四足机器人的运动前进方向通过控制偏航角来实现。施加绕机体坐标系Z轴的虚拟弹簧-阻尼构件,产生一个虚拟力矩Mγ来调节 的大小,得到:

式中,K和B分别为弹簧刚度和阻尼系数;γ为期望偏航角度,由上层控制器给定;γd’ 一般设为零;偏航角度及其角速率γd’均由机载 IMU 实时测量计算得到
若选择用侧向力fx来产生偏航(转向)力矩【和横滚角β控制冲突,合成的化会产生耦合现象】

若选择利用前向力fy来生成Mγ

fy是机器人前进的动力,用来控制前进速度y’的大小。为保证总的前向力大小不变,可以按照相同的变化量来增大右侧髋部的fy,同时减小左侧髋部的fy ,这个变化量Δfy为:


其中W为机体的宽度,对于右腿,左腿则
代入

可得:

其中

.
.

7.平动控制和姿态控制公式一起表达

平动控制公式

姿态控制公式

(1)姿态控制中的俯仰角控制选择采用自适应模式,即通过控制前后支撑腿髋部的高度相等来使机体的俯仰角趋于与地面平行,因此俯仰控制不需要额外的控制法则

(2)横滚控制需要在支撑腿的侧摆加上额外的力矩

(3)偏航控制则需要在前向力上增加一个变化量

支撑相时:平动控制和姿态控制公式一起表达

平动控制和姿态控制公式一起表达

摆动相时:平动控制和姿态控制公式一起表达

8.在不同的相位状态利用相应的 Jacobian矩阵计算期望的关节力矩

VMC原理控制关节扭矩的过程使用了运动学模型中的雅可比矩阵和虚功原理

(1)计算雅可比矩阵方法

为了将工作空间(Task Space)的力或力矩映射成关节空间(Joint Space)的关节力矩,需要先求得这两个空间的位置映射关系,即正运动学模型

其中:
机体坐标系相对于地面坐标系的 个自由度对应的位姿向量为

n个关节变量的位置向量为

进一步求x分别对 的偏导数得到:



写成以下形式

即得到 Jacobian 矩阵,它将关节速度 映射成机体位姿速度

.
.

(2)计算虚拟力(外部作用力)和关节力矩之间的关系方法

根据虚功原理,可以得到:

其中
(1)关节力矩列向量

(2)外部作用力

根据雅可比矩阵速度关系和虚功原理即:

可以得到外部作用力和关节力矩之间的关系:


(1)包含 n 个关节的期望力矩
(2)为作用坐标系与反作用坐标系之间的关联 Jacobian 矩阵的转置矩阵

在这个公式中,Jacobian 矩阵随着关节角度变化而变化。当J为奇异矩阵时,在某些特定方向上J可以增大或者减小却不会影响F的计算结果。也就是说,在奇异构型附近,很小的关节力矩就能够在某些方向上产生很大作用力。这也解释了为什么行走类四足动物在承载能力上具有较大优势,即当其腿结构在尽量伸展以后接近了奇异构型,只需要较小的关节力矩能够产生较大的竖直支撑力


总结

(1)VMC控制方法不需要进行逆运动学求解,仅仅需要运动学建模即可,也不需要机器人的动力学模型作为基础,因此具有简单、高效等优点

(2)分解式 VMC 单独控制每条腿,很容易解决模型复杂的问题

【足式机器人控制算法】(5.1)分解式虚拟模型VMC解耦思想 +反馈控制的方法规划反作用力 +运动学雅可比+虚功原理规划关节扭矩方法相关推荐

  1. 【四足机器人支撑腿反作用力规划】未简化的动力学模型规划反作用力 +运动学模型雅可比+虚功原理规划关节扭矩方法

    系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录 前言 一.基于动力学模型的工作空间控制框图 二.原理推导 三.缺点 前言 ...

  2. 干货丨浅谈足式机器人的运动控制

    " 本期技术干货,我们邀请到了小米机器人实验室工程师--游洋威,来和大家从经典的三分控制法.零力矩点控制到目前主流的模型预观控制等方面,介绍足式机器人的运动控制. " 一.前言 不 ...

  3. 模仿动物行走的腿式机器人是未来发展趋势吗?

    在自然界和人类社会中,存在人类无法到达的地方和可能危及人类生命的特殊场合,如行星表面.工地.矿井.防灾救援和反恐斗争等,对这些环境进行不断的探索和研究,寻求一条解决问题的可行途径成为科学技术发展和人类 ...

  4. 位置式 PID 控制算法和增量式 PID 控制算法

    数字 PID 控制算法通常分为位置式 PID 控制算法和增量式 PID 控制算法 一.位置式 PID 算法 : e(k): 用户设定的值(目标值) - 控制对象的当前的状态值 比例P : e(k)积分 ...

  5. 四足步行机器人的结构设计及仿真

    目 录 摘要 I ABSTRACT II 第1章 绪论 1 1.1 课题研究的目的和意义 1 1.2 国内外关于四足步行机器人的发展现状 2 1.2.1 国外关于四足步行机器人的发展现状 2 1.2. ...

  6. [足式机器人]Part1 三维空间中的跳行Ch03——【Legged Robots that Balance 读书笔记】

    本文仅供学习使用 本文结合个人理解体会作者的思路,也从个人科研角度出发,部分翻译参考由:QQ群(2群legged robot that balance)提供,感谢他们为本文英文版翻译所做的贡献(但有些 ...

  7. 干货 | 足式机器人运动控制发展方向——轨迹优化

    " 运动控制技术的进步使得足式机器人的运动能力更强,而近来轨迹优化作为主流学术研究方向,能够为足式机器人运动控制的发展提供可能的指引.本期技术干货,我们邀请到了小米工程师徐喆,向我们介绍足式 ...

  8. [足式机器人]Part1 序言+简介Ch01——【Legged Robots that Balance 读书笔记】

    本文仅供学习使用 本文结合个人理解体会作者的思路,也从个人科研角度出发,部分翻译参考由:QQ群(2群legged robot that balance)提供,感谢他们为本文英文版翻译所做的贡献(但有些 ...

  9. 【嵌入式--伺服电机】足式机器人 外转子无刷电机研究

    系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录 前言 一.足式机器人电机背景预研 1.工业传统的电机预研 2.力控电机预研 ...

最新文章

  1. shell脚本求和_【零基础学云计算】Shell编程之case语句与循环语句
  2. 随想_8_Windows_XP_Explorer_错误
  3. 今年我读了四个开源项目的源码,来分享下心得
  4. apache httpd服务器403 forbidden的问题
  5. 如何让 Flutter 应用更好地使用 SVG?
  6. java转换汇编,请问如何把JAVA程序转为汇编?
  7. Windows-server-2008-R2安装Oracle-11g-R2-dataguard
  8. Python-pillow库显示MNIST图片的方法
  9. 算法的定义、特征及其算法设计的要求
  10. 事关美亚柏科未来发展!智慧城市建设注入新动力
  11. 客户机网络打印不能打印必须重启才能打印一次等假死现象的解决方法
  12. 基于阿里云盘的文件分享系统
  13. 网站域名被微信/QQ红了(被封锁、被屏蔽、被和谐)后最好的解决方法
  14. pdo mysql num rows_PDO参数说明
  15. html中表格实现在页面居中显示,html中怎么把表格居中
  16. [学习Cython编程]Cython编程入门
  17. 感知器算法(PLA)
  18. 如何磁盘格式化?分享格式化U盘的3个方法
  19. Python Pyside2 Pinger新手QQ音乐网易云酷狗爬虫下载
  20. 自动化测试框架cucumber_10分钟学会自动化测试框架--Cucumber + Watir

热门文章

  1. 【Linux】在Xilinx平台上实现UVC Gadget(1)
  2. python开发酷q插件gui_基于python和酷Q的QQ机器人开发实践(1)
  3. 如何使用FastStone Capture无缝拼接两张图片?
  4. 彻底删除nokia的套件
  5. 函数、符号及特殊字符 latex tex ctex
  6. ElementUI中的el-form怎样格式化显示1和0为男和女
  7. 网站刷点击量工具(JS)
  8. 红帽linux9.0+iso下载,Red Hat Linux 9.0 iso最新下载地址
  9. 村田 IMU SCC2000系列芯片驱动
  10. mopub video 视频接入记录