更新:(这篇文章个人不是太满意,当时写的时候才刚刚开始学习机器人理论),新写了一篇阻抗导纳控制,讲得会更深入更透彻一些,也举了一个具体的案例分析,建议结合那篇文章一起看。

https://blog.csdn.net/xiaohejiaoyiya/article/details/105057619

背景

现在的机器人绝大多数基于位置控制的,比如说仓库里的搬运机器人,从规定的位置出发,到达指定位置,装货,按设计的路线移动,卸货。基于位置控制的机器人能控制位置、速度、加速度(角度、角速度、角加速度),所以在工业现场常见的应用是搬运、焊接、喷漆。

但是只要求对位置控制是远远不够的,越来越多的场合要求机器人还要有效地控制力的输出,比如说打磨、抛光、装配这些工作。波士顿动力公司在力控上做得比较成功,它的机器人能跑能跳甚至能在雪地里行走。可以说未来控制领域,必须引入力控,纯位置控制是没有前途的。

通俗理解

先看前辈给的定义,“阻抗控制不直接控制机械臂末端与环境接触力,通过分析‘机械臂末端与环境之间的动态关系‘,将力控制和位置控制综合起来考虑,用相同的策略实现力控制和位置控制。”[1]

之前在学阻抗控制的时候就想,既然要控制机械臂末端实现位置控制和力控制,为什么不直接用两个PID分别控制位置和力呢?一个原因是实时性没办法得到保证,不怎么知道什么时候对力控制什么时候对位置进行控制。另一个原因是机械臂是同一个而且是唯一的控制单元,是不可以把它割裂分开来看的。就好比机械臂的最终目标是做到和人的手一样,能同时感受力、温度、湿度、位置等等,不能把它拆分到每个手指,比如食指就是用来感受力输出力的,其他手指不参与。所以阻抗控制的目的是构建一个系统使得执行器(机械臂)能同时控制力/位置。

阻尼-弹簧-质量系统

提出这个阻抗控制方法的Hogan本意就是想设计一种义肢帮助残疾人,他觉得当时的机械臂都太”硬”了,不够柔软,好的机械臂应该是那种想弹簧一样的结构,可以感受外界的力。阻抗控制就建立在这个阻尼-弹簧-质量模型的基础上。

阻抗控制的实现方式应该是多种多样的,请能否概述一下大概有几种方式以及主流的方法? - 邵天兰的回答 - 知乎

这篇回答举了一个机器人关门的例子,非常通俗地解释了这个模型每个部分的物理意义。我在这里简单的描述一下,如果是只能做位置控制的机械臂,现在给它一个关门的任务,如果位置控制有一定的偏差,那么这个门可能会被拽坏。所以在机械臂的末端加上一个弹簧,弹簧的性能非常有讲究,比如有些门比较重,有些门比较轻,要使机械臂都能完成所有门的关门动作,那么弹簧的“刚度”要正好合适,而且为了保持稳定,在关门的时候弹簧不能上下振动。而最有弹性而且不会震荡的系统就是阻尼-弹簧-质量系统。

阻尼-弹簧-质量系统可以代表系统的惯性(质量块)、阻尼(阻尼块)和刚度(弹簧)特性,阻尼-弹簧-质量模型的数学表达如下:

Md、Bd、Kd分别代表目标阻抗模型的惯性矩阵、阻尼矩阵和刚度矩阵。X代表位置向量,Xr代表期望位置,Fc代表机械臂末端与环境的接触力。

第一个公式只考虑了位置出现偏差的情况(弹簧系统),第二个公式考虑了位置和速度的偏差情况(弹簧-阻尼系统),第三个公式考虑了位置、速度、加速度偏差(相当于弹簧-阻尼-质量系统)。

这里的数学表达式和上面贴出来的知乎中的答案不一样,知乎里从胡可定理来解释模型,F前面没有符号。而上面那种数学表达,我的理解是,是针对机械臂末端力的守恒角度列出的方程。对于机器人末端,系统用运动补偿环境接触力,可以看成机械臂对外界环境的柔顺。

基于位置的阻抗控制

机械臂和环境相接触时,用阻抗来描述机械臂的特征,通过调节阻抗控制器的三个参数(惯性系数、阻尼系数、刚度系数)来调节机械臂末端和环境之间接触力/位置的关系。[2]

图中E表示机械臂末端实际轨迹与期望轨迹之差(位置控制部分),Z表示等效的阻抗模型(阻尼-弹簧-质量模型),F表示机械臂末端与环境的接触力。

上面提到的阻抗控制数学模型的三个公式没有考虑力的跟踪,下面引入参考力Fr,定义误差力Fe=Fr-Fc得到如下公式:

定义Xf=X-Xr,通过上述公式可以将机械臂末端与环境之间的接触力转化成位置信号,将这个位置的修正信号和期待的位置信号叠加,然后对位置信号用PID控制,就能实现对接触力/位置的同时控制。如果把PID位置控制放在内环,把利用阻抗模型对力转化为修正位置的过程放在外环,那这种结构就是基于位置的阻抗控制。下图是基于Delta机器人的阻抗控制分析图(来源于哈工大 丁润泽硕士论文)

机械臂和环境之间存在力交互,传感器采集到力信号后,利用阻抗模型将它转化为位置修正量,和期待的位置结合之后得到实际需要控制的位置信号,运动学反解就是将笛卡尔坐标系中的三维位置转化为具体每个关节电机的角度,再通过位置控制器(一般来说是PID)实现位置控制。

模型仿真

仿真时常见的调试手段有以下几种:

当系统的期待力/期待位置输入阶跃响应/斜坡响应/正弦波响应时,通过观察实际力/位置的跟踪情况,了解阻抗控制器的效果。

突然改变机械臂与环境之间的接触距离,可以通过观察位置的跟踪情况来判断阻抗控制器参数的好坏。

通过改变三个参数的大小,来模拟环境的变化,(比如改变系数Kd,模拟环境刚度的变化),再观察力/位置的跟踪情况。

这些测试让我想起了武侠小说里面两个学武的人在对掌的画面hhh

问题

很多论文都提到,在阻抗控制模型中,Md、Bd、Kd都为对角矩阵,也就是说在空间中三维方向不存在耦合关系。这是为了简化问题还是本质上模型的一种设计呢?

至于加速度、速度、位置(Md、Bd、Kd)之间如果存在耦合是一种什么物理环境?我想象不出来

参考文献

[1] 丁润泽. 基于阻抗控制的机器人力控制技术研究[D].哈尔滨工业大学,2018.

[2] 王懂. 基于阻抗控制的机械臂力/位置控制关键技术研究[D].山东大学,2018

【机器人基础】机器人阻抗控制概念相关推荐

  1. 【机器人基础】阻抗/导纳控制深度解析

    之前写过一篇阻抗控制的文章,[机器人基础]机器人阻抗控制概念写的比较浅也不是很专业,最近上了桂凯博士的动力学课程之后有了更深入的认识,认真整理总结了一下,这次详细地分析一下阻抗/导纳控制. 1.柔顺控 ...

  2. 变阻抗控制理论基础、公式推导

    注:..代表省略了一些符号 1.机器人建模:在人机交互环境中,机器人欧拉-拉普拉斯动态可以表示为: q关节角向量,M惯性矩阵,C向心力和科氏力扭矩,G重力向量,D粘性摩擦力,控制输入,环境力/交互力( ...

  3. 【控制control】机器人运动控制器----基于模型的控制方法(关节控制--阻抗控制)

    系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录 前言 一.设计基于模型泛型控制器的步骤 二.机械臂控制科普 1.工业机械臂 ...

  4. 【机器人基础】机器人的运动学控制和动力学控制

    机器人运动学 机器人运动学就是用来解决位置控制问题的,常见的问题有两个: 1.正解建模 知道当前几个电机的转角,通过运动学方程得知机器人末端的位置 2.逆解建模 需要将机器人末端移动到指定位置,如何根 ...

  5. 使用非侵入性脑机接口和计算机视觉引导对机器人手臂进行共享控制

    点击上面"脑机接口社区"关注我们 更多技术干货第一时间送达 对于某些严重残疾患者来说,使用脑机接口(BCI)控制机械臂进行伸手和抓握活动是最常见的应用之一,对于基于脑电图(EEG) ...

  6. 机器人视觉测量与控制

    机器人视觉的基本概念 1.摄像机标定(Camera Calibration):对摄像机的内部参数.外部参数进行求取的过程. 2.视觉系统标定(Vision System Calibration):对摄 ...

  7. java力矩_机器人单关节力矩控制(前馈+反馈)

    对于自由运动机器人来说,控制的目的是要控制机器人末端的位置和姿态(统一简称为位置),即所谓的位置控制问题.期望机器人末端达到的位置称为期望位置或期望轨迹,期望轨迹可以在机器人任务空间中给出,也可以通过 ...

  8. 机器人单关节力矩控制

    对于自由运动机器人来说,控制的目的是要控制机器人末端的位置和姿态(统一简称为位置),即所谓的位置控制问题.期望机器人末端达到的位置称为期望位置或期望轨迹,期望轨迹可以在机器人任务空间中给出,也可以通过 ...

  9. 机器人基础之运动学逆解

    机器人基础之运动学逆解 概述 求解腕点位置 求解腕部方位 z-y-z欧拉角 具体求解 算例 MATLAB实现 概述 运动学逆解是指已知机器人末端位姿,求解各运动关节的位置,它是机器人运动规划和轨迹控制 ...

最新文章

  1. 1024 鲲鹏开发者技术沙龙·福州站圆满收官!给程序员的福利你收到了吗?
  2. jquery validate 详解二
  3. 消息队列系列(三):.Rabbitmq Trace的使用
  4. 提升方法---提升树
  5. BRCM eCos下的编译及问题
  6. 手撕 CNN 经典网络之 VGGNet(理论篇)
  7. ceshiceshicesoooof
  8. virtio-fs: A Shared File System for Virtual Machines
  9. 男人是房子,女人是车子
  10. 次小生成树的某些结论及其算法O(V^2)
  11. 系统架构图怎么画_产品架构图到底是怎么“画”出来的?
  12. php 两位小数 00,php保存两位小数的几种要领引见_后端开发
  13. VS 2015 专用卸载工具
  14. HTML5+CSS3+Bootstrap开发静态页面嵌入android webview中
  15. 阿里云域名以及子域名解析教程
  16. A Beginner‘s Guide To Understanding Convolutional Neural Networks(part 1)
  17. Android Mvc 模式
  18. unityar自动识别人脸_三款Unity插件带您玩转人脸识别与模拟
  19. 报表服务器的配置不正确的是,用友T3财务报表打开提示不能登录到服务器,请检查服务器配置?...
  20. html5课件动画制作,从此再也不担心课件/动画的开发了!

热门文章

  1. vue-admin-实现登出功能
  2. python 画图效果
  3. C++ 多态(二) : 虚函数、静态绑定、动态绑定、单/多继承下的虚函数表
  4. 如何使用FFmpeg的解码器
  5. python获取set中某些元素_取集合中元素_Python Set集合
  6. 如何在安装了VS2010的情况下安装SQL Server 2008
  7. 数据库-mysql的配置
  8. 下载北京社会保险个人权益记录
  9. Eclipse视频教程
  10. C语言顺序表:1、顺序表的存储、2、顺序表的实现.