前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >刚性机器人笛卡尔阻抗控制算法

刚性机器人笛卡尔阻抗控制算法

原创
作者头像
ZC_Robot机器人技术
修改2021-05-15 21:30:03
3K0
修改2021-05-15 21:30:03
举报

1 刚性机器人的运动学与动力学

机器人阻抗控制是机器人力控制中的一种重要方式。了解机器人的阻抗控制需要首先了解刚性机器人的阻抗控制方法,并且首先需要了解刚性机器人的动力学方程和运动学方程。在本栏中给出的机器人为非冗余机器人,即机器人的关节空间自由度与笛卡尔空间运动自由度是相等的。

刚性机器人的动力学方程可以表示如下:

M(q)\ddot q+C(q,\dot q)\dot q+g(q)=\tau+\tau_{ext}

进而考虑刚性机器人的运动方程,一般来说运动方程包含位置级-速度级和加速度级,机器人关节q和笛卡尔x之间的关系具体表示如下:

x=f(q)\\\dot x =J\dot q\\ \ddot x=J\ddot q+\dot J\dot q

J为机器人的运动学雅可比矩阵,其可以计算机器人的逆向运动学。此外雅可比矩阵可以将关节空间的外部作用力映射和笛卡尔空间的外部作用力关联,即\tau_{ext}=J^TF_{ext} ,考虑机器人笛卡尔空间轨迹误差 e=x-x_d 则笛卡尔空间的阻抗控制率如下所示

M_d\ddot e+D_d\dot e+K_de= F_{ext}
质量阻尼弹簧系统
质量阻尼弹簧系统

2 刚性机器人笛卡尔动力学方程

上述给出的是机器人关节空间的运动力学方程,为了更好的给出机器人的笛卡尔孔家的阻抗空置率,首先给出机器人的逆向运动学

\dot q =J^{-1}\dot x\\\ddot q=J^{-1}\ddot x-\dot J\dot q

则关节空间机器人的动力学方程具体如下所示

M(q)(J^{-1}\ddot x-J^{-1}\dot J\dot q)+C(q,\dot q)J^{-1}\dot x+g(q)=\tau+J^TF_{ext}\\=> M(q)(J^{-1}\ddot x-J^{-1}\dot JJ^{-1}\dot x)+C(q,\dot q)J^{-1}\dot x+g(q)=\tau+J^TF_{ext}\\ =>M(q)J^{-1}\ddot x-M(q)J^{-1}\dot JJ^{-1}\dot x+C(q,\dot q)J^{-1}\dot x+g(q)=\tau+J^TF_{ext}

对转化后的方程两边同时乘以J^{-T}

J^{-T}M(q)J^{-1}\ddot x-J^{-T}M(q)J^{-1}\dot JJ^{-1}\dot x+J^{-T}C(q,\dot q)J^{-1}\dot x+J^{-T}g(q)=J^{-T}\tau+J^{-T}J^TF_{ext}\\ =>J^{-T}M(q)J^{-1}\ddot x-J^{-T}M(q)J^{-1}\dot JJ^{-1}\dot x+J^{-T}C(q,\dot q)J^{-1}\dot x+J^{-T}g(q)=J^{-T}\tau+F_{ext}

由此得到机器人的笛卡尔动力学方程

N(x)\ddot x+V(x,\dot x)\dot x+F_g(x)=F_{t}+F_{ext}

其中

N(x)=J^{-T}M(q)J^{-1},

V(x,\dot x) =-J^{-T}M(q)J^{-1}\dot JJ^{-1}+J^{-T}C(q,\dot q)J^{-1}\\ =J^{-T}C(q,\dot q)J^{-1}-J^{-T}M(q)J^{-1}\dot JJ^{-1}

F_g(x)=J^{-T}g(q)

3 笛卡尔阻抗控制

机器人笛卡尔阻抗控制示意图
机器人笛卡尔阻抗控制示意图

图片来源:here

机器人笛卡尔阻抗控制
机器人笛卡尔阻抗控制

由笛卡尔阻抗控制律可以得到:

M_d\ddot e+D_d\dot e+K_de= F_{ext}\\ =>M_d\ddot e+D_d\dot e+K_de= F_{ext}\\=>\ddot x=\ddot x_d+{M_d}^{-1}({F_{ext}-D_d\dot e-K_de})

将其带入到机器人笛卡尔动力学方程中

N(x)\ddot x+V(x,\dot x)\dot x+F_g(x)=F_{t}+F_{ext}\\ => N(x)(\ddot x_d+{M_d}^{-1}({F_{ext}-D_d\dot e-K_de}))+V(x,\dot x)\dot x+F_g(x)=F_{t}+F_{ext}\\ =>F_{t}=N(x)(\ddot x_d+{M_d}^{-1}({F_{ext}-D_d\dot e-K_de}))+V(x,\dot x)\dot x+F_g(x)-F_{ext}\\ =>F_{t}=N(x)\ddot x_d+N(x){M_d}^{-1}({F_{ext}-D_d\dot e-K_de})+V(x,\dot x)\dot x+F_g(x)-F_{ext}

由此可以得到:

F_{t}=N(x)\ddot x_d+N(x){M_d}^{-1}({F_{ext}-D_d\dot e-K_de})+V(x,\dot x)\dot x+F_g(x)-F_{ext}\\ =>F_{t}=N(x)\ddot x_d+N(x){M_d}^{-1}({-D_d\dot e-K_de})+V(x,\dot x)\dot x+F_g(x)+(N(x){M_d}^{-1}-1)F_{ext}

假设M_d=N(x) ,则上式转化为

F_{t}=N(x)\ddot x_d+N(x){M_d}^{-1}({-D_d\dot e-K_de})+V(x,\dot x)\dot x+F_g(x)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 刚性机器人的运动学与动力学
  • 2 刚性机器人笛卡尔动力学方程
  • 3 笛卡尔阻抗控制
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档