(2020,12,27日更新)最近回顾了桂凯博士的动力学课程(睿慕课),对阻抗/导纳控制有了更深入的认识,重新在这里整理总结一下。
----------------------------------------------------------------------------------------------
网上有很多介绍阻抗控制的,但是我看了一圈下来感觉介绍地都不全面,看完还是云里雾里,干脆自己整理一下。
柔顺
阻抗控制这块名词非常多,如果是刚开始接触导纳控制,很容易混淆概念。先介绍下柔顺的概念,这对于理解阻抗/导纳控制很有帮助。还是老规矩,从最简单的例子讲起:
假设现在有一个弹簧,它的动力学方程是
假设现在要控制弹簧的位置到
这是典型的位置控制方法,能精确地控制位置
根据上面的分析,可以看出位置控制本质上是排斥外力的,在位置精度需求很高且环境刚度很大的情况下会出问题,位置一旦有偏差而环境的刚度又很大,再加上机器人本身极大的刚度,硬碰硬,两者之间会产生很大的力,这对机器人会带来很大的损伤。邵总写过机器人开门的文章,可以去看看,会有帮助的。
阻抗控制的实现方式应该是多种多样的,请能否概述一下大概有几种方式以及主流的方法?
在其他很多控制问题中是应该要尽可能快速消除扰动信号的, 但如果机器人的任务中需要做到柔顺或者说要考虑力的影响,可能这并不是一个好的结果。
上面花了一些篇幅讲位置控制是希望大家理解柔顺控制的背景,那么到底什么是柔顺控制呢?其实光看名字也能想象出来了,机械臂正在移动,如果突然来了一个外力,机器人将顺着这个外力运动,外力撤销之后,再回复到之前的状态。就像一个人突然被推了一下,人会产生一个惯性运动,而不是两个对象硬碰硬,这叫做柔顺。
那么针对弹簧这个例子,怎么设计才能使它柔顺呢?