【现代机器人学】学习笔记十一:抓握与操作

本章是比较独特的一章,相对于前面的内容,内容较为独立,主要描述的是力学相关的一些理论。因此,读者也完全不必根据题目产生一些不必要的幻想,认为似乎看完这章我就可以学会机器人抓取。

不过,我仍然认为这章的内容是好的,且是必要的,因为实践的内容做的多了,往往就麻木了,纯粹变成一个工具人了,而不去思考背后深刻的原因。本章以可视化分析的形式,分析了接触运动学与接触力学的一些理论知识,非常有趣,建议阅读。

看完这章,你就可以在不做实验的基础上,直接判断对某一个物体,在某几个地方设置固定点,然后在另几个地方施加压力,物体到底能不能移动。你甚至可以从理论上对它进行证明,这就是这章有趣的地方。虽然这节直观上看似乎和常规的FK,IK这些机器人理论不是非常接近,但是我还是打算好好写一下这篇文章,因为我觉得这章很有趣,不像FD,ID那节看的人头皮都在发麻。

ps:年后的工作一下子忙了许多,每天就面向业务在做一些很繁琐的事情。静下心来想一想,每天忙忙碌碌,只有产出,却没有提升。回到家总是筋疲力尽,以至于根本没有精力去打开电脑,自己学习提升。

希望这种状态是短暂的吧。

接触运动学

为两个刚体之间的距离,q为两个刚体的位形,为距离关于位形的导数,

那么显而易见,时两刚体保持接触,并且是刚体接触的必要条件。

(dq>0时为分离,<0时为穿透)

不可穿透约束则可以写为:

可以看出如果物体A的接触点以及物体B的接触点的速度如果相同,或者虽然不同但是它俩和接触法线垂直,则保持接触,即,如果大于等于0则未接触。

当然,根据本书的惯例,一切都要表示成旋量的形式,参考最开始刚体运动这节课:

【现代机器人学】学习笔记二:刚体运动

我们知道旋量中的线速度v是沿轴的速度v与沿轴旋转引起的速度,即

移项推导,最后引入力旋量,得到新的不可穿透约束

另外对于接触状态,还定义了有效约束:(注意书中印刷错了)

满足有效约束的运动旋量VA和VB称为 一阶滚动-滑动运动。

这里区分滚动滑动

滚动约束:

即两个接触点的速度在某个坐标系下保持一致,那么这个接触叫做“滚动”rolling contact。

滑动:

满足有效约束,但是不满足滚动约束的,称为滑动约束。

用人话来说,就是两个物体的接触点是变化的,但是他们变化的方向和接触的法向量是垂直的,好比你穿上了时尚的滑板鞋,在这光滑的地上摩擦,鞋子并未脱离地面,所以鞋子和地面就是滑动。但是你的脚带着鞋一起动,脚底板和鞋垫之间就算是滚动摩擦。

多刚体接触

【现代机器人学】学习笔记十一:抓握与操作_第1张图片

B表示脱离,S表示滑动,R表示滚动接触。

图a里,左上有一个手指。S那个面上属于滑动,因为可以顺着它滑。R的那一个点,算是滚动接触。而B整个区域则是脱离的接触。

图b中,也可以同样的分析,可以看到图中字母变成了两个,分别代表两个手指的接触状态。

图c中,假设右上方的手指在沿着V3方向移动,一共有七种可能的结果,我们可以看到,最后一个接触点不可能是R,因为如果是R的话,物块得沿着V3方向运动,那就得穿透第二个手指了,违反了不可穿透约束。

可行旋量多面体凸锥

如例题12.4,给了三个力旋量,然后给了限制即物体在平面上移动,即限制了vz,wx,wy,最后套入不可穿透约束的公式,运动约束表示为:

【现代机器人学】学习笔记十一:抓握与操作_第2张图片

然后用锥体对它进行可视化:

【现代机器人学】学习笔记十一:抓握与操作_第3张图片

则这个锥体内部的旋量,属于脱离类型的接触。

锥体的边缘和平面上的值对应的旋量,是有效约束。(即不可穿透约束刚好等于0的情况)

注意:

对于多个接触体,复合运动旋量空间,是以原点为顶点的。(上图就是一个例子)

m个物体构成的组合中,运动旋量的空间为6m维,每个接触就对这个维度产生一个约束。接触模式则像再上方的那个abc的图一样,是每个接触点接触方式的级联。

但是如果手指是机器人手指,是受到控制的,那么这样抓握的物体的可行的旋量锥体就不一定是以原点为顶点了。

其他类型接触

之前介绍的接触,都是至少有一个物体唯一的定义了接触的法线。(即12.6 a)

但是还有一些其他类型的接触,作者罗列了出来,意味着不再是手指的一个尖触点来接触物体的面。

【现代机器人学】学习笔记十一:抓握与操作_第4张图片

作者提到e是退化场景不再考虑。

平面图形化方法

这一节的内容是用来分析单个物体的可行运动的。直接啃的话,说实话看起来是有些抽象的。不过我在这里直接用简单的方法描述它,让大家减少一些阅读的痛苦:

【现代机器人学】学习笔记十一:抓握与操作_第5张图片

我们用旋转中心来描述物体的旋转,其中+为右手定则,逆时针旋转,0为不转,-为顺时针旋转。

然后这个图就只是一个对可行运动旋量的一个可视化,它分布在两个平面或者中间的球上:

(我们本节的运动是平面运动,因此只有wz,vx,vy有效,其他是0)

【现代机器人学】学习笔记十一:抓握与操作_第6张图片

暂停一下:我觉得读者应该清楚的认识到作者是在讲些什么内容,不应该糊里糊涂的。我觉得对读者而言,可以不理解他的细节,但是应该知道他想表达什么内容。

现在在讲的CoR的分析是用来干嘛的?

是用来表示“与静止物体相接触的可移动物体的可行运动”。

对于一个静止手指,加上一个物体,可行的运动方式为:

【现代机器人学】学习笔记十一:抓握与操作_第7张图片

这个图看似抽象,实际还是比较简单的。Sl表示物体向左滑动,Sr表示向右滑动。图里的+,Sl表示物体在接触点这里,关于接触点一瞬间是以逆时针在转,同时有向左的滑动。。其他以此类推,读者别被这些符号吓傻了。

为什么要分析单个物体的接触?

因为分析清楚了单个物体,多个物体的接触就是各自把这些东西画出来,舍去不合理的地方。例如:

【现代机器人学】学习笔记十一:抓握与操作_第8张图片

我们可以看到,F1左边是+,那么F1右边是-,但是F2左边又是+,因此这里正负就抵消掉了。所以从b图可以看出,只有灰色的区域是能转动的。那么根据c图,也类似分析,Sl和Sr抵消的内容,就可以得到一系列候选的运动方案。

但这种只是一个简单的推理,并不是保证正确的,例如+SrBSr,这种用图的方式分析出来,似乎是合理的。但是这意味着,物体在左边+的区域逆时针转,同时对F1的接触往右滑动,对F2处的接触脱离,对F3处的接触向上滑动,即保持F1和F3的接触,脱离F2的接触。这怎么可能?直观上想象一下这个运动就不可能,根本就抬不起右下角的接触,因为它会穿透F3手指。

难道我们现在的分析不对吗?作者对这种原因给出了解释:

我们是采用一阶分析。

因此,结论是,n阶的滚动-滑动运动,可能被n+1阶的分析,分析为是穿透接触或者是脱离接触。但是一旦n阶已经分析称为穿透或脱离,更高阶的分析也不会再改变结论。

形封闭

如果一组静止约束可以阻止物体的所有运动(即抓牢了),可实现物体的形封闭

线性代数理论:
1.空间R^n最少由n个向量线性组合表示。即n个坐标表示n维欧几里德空间。
2.空间R^n最少由n+1个向量正线性组合表示。即取 作为多出的一个向量,然后就可用这个多出的向量和原本的向量的正线性组合来表示空间了。

一阶形封闭需要的接触数量:

对于空间物体,需要6+1=7个接触。因为空间物体时6维,而限制了正线性组合,因为

我之所以把线性代数的引用放到这里,而不是最开始就介绍,这是因为这里才用到。哪里用到在哪里提嘛!那么对于平面物体,则需要3+1=4个接触,也是同样的原因。

当然有个特例,就是圆。不管怎么接触,它理论上讲都能转。

参见12.14图,根据+-的分析方式,三角形也能绕中心旋转。但实际上不可能。

因此结论是:

一阶形封闭 ----> 高阶形封闭

一阶滚动滑动 ------> 高阶形封闭 或 不封闭。

一阶形封闭的线性规划测试

令F作为一个列向量由j个接触力旋量组成的矩阵。

矩阵F不满秩,则不处于形封闭。

矩阵F满秩,计算Fk=0是否有正系数k>0的解,有解则形封闭,无解则不封闭。

评:这种方式跳过了画图分析,直接通过数学的方式判断是否属于一阶形封闭。

形封闭质量的度量

同样是两个抓握,哪个质量更好?这是个好问题。

我们需要定义一个抓握度量,Qual(F),当它小于0的时候抓握不是形封闭,大于0时越大抓握质量越好。

首先,为了避免把物体抓坏,我们对每个抓握点i处,根据物体情况,设置一个最大抓握力。即最后总的力旋量的集合,为CF:

最后我们的度量Qual(F),就可以看能装到这个多面体内部的单位球的半径。

【现代机器人学】学习笔记十一:抓握与操作_第9张图片

另外由于力和力矩单位不同,因此选取被抓握物体的特征长度r,通过m/r把力矩m变为力。另外由于力矩的大小和原点选择有关,可以同意选在质心处进行衡量。

为形封闭选取接触

首先根据平面或空间物体,选取4个或7个候选抓握点,确认好初值以后,再进行优化。优化的目标函数就是形封闭质量的度量。

接触力和摩擦力

基础知识:基本是初中知识,切向摩擦力大小与法向力相关,然后有静摩擦系数和动摩擦系数,静摩擦系数大于动摩擦系数,初始运动需要更大的摩擦力。

注意书中的几个图可能直接看来有些让人迷惑,其实内容倒是比较简单的。

【现代机器人学】学习笔记十一:抓握与操作_第10张图片

比如这个图,其实就是表示纵向的力越大,xy方向的摩擦也越大,因此这里呈现一个锥的形状。

同样还有:

【现代机器人学】学习笔记十一:抓握与操作_第11张图片

f1,f2表示平面锥体的两个边缘,和上图类似。切不可理解为这是什么人要给它施加一个xy斜着的方向的力。

另外作者还提到了用多面体凸锥来近似圆锥。多面体凸锥实际上是对可用摩擦力的低估,那么抓物体时应该低估这个摩擦力,这样人施加的力度就会大一些,从而抓紧这个物体。

平面图形化方法

【现代机器人学】学习笔记十一:抓握与操作_第12张图片

相信看懂上面接触运动学的人,看这个就很容易了。给一个力旋量的方向,然后左正右负,依次操作每个力,然后确定一下空间中还有哪个区域没被抵消,有符号。

左正右负啥意思?为啥要这么画?
注意我们这里讨论的是摩擦力。
例如如图a,一个朝上的F1的力,直观上可以想象到,对于关于它左侧的点,就产生了一个正的力矩。右侧则是负力矩,

如图c的意思就是,任意生成F1-F3的力,结果是只能生成一个绕着图c中+的区域逆时针旋转的力矩,其他的力旋量无法得到。

注意:文中还说到,“如果在c中添加一个顺时针绕过图中标记区域的力旋量”,那这个意思不是说有一个F4是顺时针的曲线,只是说画完以后,F4右边的负的区域刚好把现在F1~F3的+区域给抵消了,那结果就是:整个力旋量空间可以由F1~F4来组合。

这意味着什么呢?如果有这么四个接触点,那么如果另外物体还受到一个F5的作用,那么不管F5是怎么样的,F1-F4总可以抵御并抵消掉F5的影响让物体不动。

这就是力封闭,因为它的复合作用的力旋量锥包含了整个力旋量空间。

力封闭

  1. 如果摩擦系数是0,那么多大的力的接触也产生不了摩擦力,所以这种情况下力封闭就等同形封闭。

  1. 力封闭意味着摩擦锥能产生各种力,并不代表说如果外部力旋量存在时物体不会移动。因为你提供的力未必能真的抵消外部的力旋量,力封闭只是证明你的手指摆放的位置正确,如果在施加了正确的力以后能够抵消掉外部的力旋量。但如果你提供不了正确的力,那就当然抵消不了外部力旋量。(如果没形成力封闭,意味着当物体有某个外部力旋量作用时,你可能无论施加多大的力,都不能阻止它移动,因为你手指摆放的位置从根本上就是错误的)

  1. 平面问题,两个接触点的“视线”能看到彼此,则存在力封闭。

【现代机器人学】学习笔记十一:抓握与操作_第13张图片
  1. 两个带摩擦的点不能对空间物体形成力封闭。为什么呢?因为假如这两个点之间的轴产生一个摩擦,这个摩擦力无法对这个轴产生力矩(因为距离是0。可能有同学看不懂书里这写的是啥,其实用人话来说,就是尽管你两边捏着这个物体,但是物体实际上可以绕着这个轴转,你用多大的力也阻止不了,所以形成不了力封闭)。对平面物体而言,根本就不能转到纸面以外,所以对平面物体而言两个摩擦点就够了。

  1. 空间物体:三个摩擦接触可以获得力封闭抓握。

三个接触构成一个平面S:

【现代机器人学】学习笔记十一:抓握与操作_第14张图片

每个接触的摩擦锥有三种可能:

【现代机器人学】学习笔记十一:抓握与操作_第15张图片

总之如果三个接触全是第三种,和S交于一个平面,并且S也是平面力封闭的时候,这个三维物体就处于力封闭状态。

这个很显然易见的道理,作者居然还要搞东西来证明。我懒得看,感兴趣的同学自己看看。

测量力封闭抓握的质量

这点作者没有深入介绍。总之原则是尽可能去选择一些手指位置,在这些位置下,实现力封闭的摩擦系数最小。意思就是选的位置尽管光滑但是你还是能实现力封闭,这就是比较好的位置。例如前面提到的,摩擦系数是0的时候,你选形封闭的手指位置,那只要你手指不动就可以保持物体不动,

操作

书中上来就摆出了第八章的单刚体动力学公式:

在书中177页和178页可以看到。当然觉得直接阅读原书有困难的同学可以阅读我的博客内容:

【现代机器人学】学习笔记七:开链动力学(前向动力学Forward dynamics 与逆动力学Inverse dynamics)

列出这个公式的目的在于,当多个F1~Fk接触物体,并且物体受到Fext的作用的时候,根据接触点的接触模式(R,S,B参见上面的接触运动学),判断是否存在与接触模式一致的力旋量,并且得到加速度,使得满足上面的单刚体动力学公式。如果满足则意味着F1~Fk可以抵消掉Fext的作用,从而达到期望的对物体进行某个操作的目的。

剩下的几个例题,挺好玩的,我决定写一下:

两个手指携带物块:

【现代机器人学】学习笔记十一:抓握与操作_第16张图片

两个手指,一个从左下,一个从右上接触这个物体(右上摩擦系数为0),而物体在质心方向有向下的重力。

如果是这样,如果两个手指不动,物体能不能保持移动?

不能。

【现代机器人学】学习笔记十一:抓握与操作_第17张图片

因为必须提供一个向上是mg的力,才能让物体保持不动。但是如果产生了向上的力,红色区域肯定会产生+的力矩。但是显然,目前的两个手指无论如何也不能在红色区域产生正力矩。所以如果这样接触物体,无法让物体保持静止。

但是如果让两个手指一起对物体产生一个朝着左上方的力,这样就可以抵消重力,并且让物体相对手指保持静止。

【现代机器人学】学习笔记十一:抓握与操作_第18张图片

细节就不说了。

米尺技巧

这个部分洋洋洒洒一堆字,但是实际读一下,并且真的做一个实验,就可以觉得这个分析太牛逼了。

【现代机器人学】学习笔记十一:抓握与操作_第19张图片

假如一个细棒的质心在中间,这时拿两个指头,一个在左边远离质心,一个在右边靠近质心,让右边的手指慢慢向左边滑动,细棒会怎么样?

直观上感觉细棒会逐渐从右侧掉下去。

但是实际做实验,就发现细棒永远也掉不了,右边的手指和它的接触,会把它往左边带。。。

究竟从理论上如何分析,才能得知两根手指中,到底是谁会带动细棒走呢?

根据分析,你的两个手指要支撑细棒的重量,如果是

【现代机器人学】学习笔记十一:抓握与操作_第20张图片

这种模式的话,接触产生不了关于红色区域的+力矩:

【现代机器人学】学习笔记十一:抓握与操作_第21张图片

所以就产生不了向上的mg。反过来想,正是因为产生了向上的mg,所以绝对不可能是这种接触模式。。

所以真正的接触模式就是从c图转到d图,然后逐渐变化:

【现代机器人学】学习笔记十一:抓握与操作_第22张图片

其实这个实验本身我是不相信的,但是找了一根笔以后发现真的是这样。这个现象细思并没有什么奇怪之处,但是这种事情竟然能找到这么一种抽象的方法进行证明和预测,这不经让我震惊这帮搞力学的人脑子里平时到底装的是什么星辰大海。。

轴孔装配

【现代机器人学】学习笔记十一:抓握与操作_第23张图片

根据对两个接触点的分析,可以看出两个接触点在灰色区域可以产生一个-的力旋量区域。那么沿着F2的施加外力,根据左正右负的特点,无法完全把-的区域给抵消掉。所以F2从理论上讲,两个接触无法平衡掉F2,因此可以继续插入。

组件稳定性(拱门问题)

【现代机器人学】学习笔记十一:抓握与操作_第24张图片

我把这个例题和轴孔装配调了个顺序,放在最后讲。因为其他问题都是单个物体,但是这个问题是多个物体。因此之前的分析方法失效了。

这种问题的解法在于,能否找到这样一组解:

【现代机器人学】学习笔记十一:抓握与操作_第25张图片

如果存在,则拱门不会倒塌。

你可能感兴趣的:(【现代机器人学】学习笔记,现代机器人学,抓握和操作,接触运动学,机器人抓取)