首页天道酬勤矩阵的零空间,矩阵零空间怎么求

矩阵的零空间,矩阵零空间怎么求

admin 07-13 20:44 306次浏览

声明:本文参考均在文末声明,写下博客只为了记录复习之用,侵权必删!

1 .先说雅可比矩阵零空间(nullspace)的妙用

雅可比矩阵有零空间等有趣的性质。 名为只要机械臂的关节速度在其雅克比矩阵的零空间中,那么末端连杆的速度总是零,零空间。 通俗地说,不管关节怎么动,末端连杆都一直不动(就像被钉子刺伤一样)。 这个性质很有用。 因为有时要求机械臂在抓取物体时避开障碍物。 在其他领域,例如拍摄中,为了确保画面稳定,需要防止照相机抖动; 在动物王国,动物觅食时,头部必须紧紧盯着猎物((被恶作剧的稳定鸡) ); 在坦克和武装直升机等军事领域,无论车身移动还是颠簸,炮口都要求始终瞄准目标。 [1]在[1]中

2 .说奇怪的矩阵

首先,如果不是看这个矩阵是不是方阵(),就不能谈论奇异矩阵和非奇异矩阵。 奇异矩阵是线性代数的概念,为该矩阵的秩不是满秩。 查看该矩阵的行列式|A|是否等于0,如果等于0,则返回矩阵A为奇异矩阵; 假设不等于0,矩阵A为非奇异矩阵a为奇异矩阵,则AX=0为无穷解,AX=b为无限解或未解。 在a为非奇异矩阵情况下,AX=0 有且只有唯一零解,AX=b有唯一解。 另外,根据|A|0可知矩阵a是可逆的,另一个重要结论:可逆矩阵是非奇异矩阵,非奇异矩阵也是可逆矩阵。

3 .简述机器人雅可比矩阵的零空间(空空间)

让我先谈谈奇点。 为下面冗馀机器人的零空间铺路。 所谓Singularity (特异点),是指机械臂处于某个configuration (即特定关节位置的组合)时,end effector失去了某个方向自由度的——手臂伸出的瞬间,你的手绝对不会沿着你手臂的方向

有了雅可比矩阵,就可以从数学的角度重新认识Singularity了。 为什么呢? 别忘了雅可比矩阵的用处。 将关节的运动速度乘以雅可比矩阵,即可得到end effector的运动速度。 3358 www.Sina.com/http://www.Sina.com/,http://www.Sina.com /。

从线性代数的观点来看,此时的j矩阵具有如下特性:如果将所有的任意的向量a、Ja相乘而得到向量b,则由所有的向量b构成的线性空间维数比通常至少少一个自由度——。 这说明了什么? 表示此时的雅可比矩阵使用降维攻击降低了等级。

sans-serif;font-size:17px;letter-spacing:.544px;background-color:rgb(255,255,255);text-indent:2em;text-align:left;">现在,为了求出在什么configuration下机械臂会遇到奇异点,即求这个雅可比矩阵什么时候不是满秩矩阵,我们可以直接利用此时J的特征值为0(即此时J是一个奇异矩阵)。




      说到冗余自由度,相信你已经可以想到如何从雅可比矩阵看出冗余了——当它又矮又胖的时候就是啦(雅可比矩阵的冗余有空还是要看看自己之前两篇博客,复习一下)。例如人的手在关节空间有七个自由度,所以你能够在手部固定的情况下移动你的手肘。从数学的角度上,这意味着


我们知道,假如A是一个方阵,那么Ax=0有非零解的充分必要条件是A是一个奇异矩阵——也就是说,如果没有冗余自由度,一个机械臂关节运动而end effector不动的情况只有在它处于singularity时才能出现。但是,如果A是一个矮胖矩阵,那么Ax=0必然有无数个非零解,这些解组成的空间即称为“零空间”(nullspace)。

简单地提一下:对于一个有冗余自由度的机器人,假设你除了要控制end effector运动到某一位置,还要保证过程中它的手肘不碰到障碍物,那你总是可以在nullspace中找到一组解满足你的要求:在不改变end effector轨迹的同时避开障碍物。这样的方法称为null space control,我们以后有机会会详细展开。[2]


 对于 6 自由度机械臂,由于它不是冗余的,所以大多数时候计算零空间会得到空(也就是说不存在零空间)。为了形象地展示零空间的效果, 只用了平移的部分。如下图所示,展示了机械臂在(平移)零空间中的一种运动 。可以看到,不管机械臂如何运动,末端连杆(局部坐标系)的位置始终不动(但是它的姿态会改变,只剩下沿 xyz轴的平移运动)

零空间是个线性空间,如果我们知道它的一组基向量,通过线性组合能够得到任意的(速度)向量。 通过对这组基向量线性组合即可得到一个速度向量,其使机械臂末端始终不动。 由于雅可比矩阵是机械臂构型 q 的函数,所以机械臂的构型一旦改变了,我们就要重新计算它的雅可比矩阵。[3]



零空间是个线性空间,如果我们知道它的一组基向量,通过线性组合能够得到任意的(速度)向量。NullSpace函数返回的刚好就是构成矩阵的零空间的一组基向量。通过对这组基向量线性组合即可得到速度向量,其使机械臂末端始终不动。下面的例子中使用的组合系数都是 1 ,也就是所有基向量相加(向量相加就是对应元素相加,由Total函数完成)。由于雅可比矩阵是机械臂构型q的函数,所以机械臂的构型一旦改变了,我们就要重新计算它的雅可比矩阵。如果还不理解,可以随时显示出dq的值,然后计算Jgm.dq看看结果是不是零。如果是零就说明dq在零空间里。
零空间是个线性空间,如果我们知道它的一组基向量,通过线性组合能够得到任意的(速度)向量。NullSpace函数返回的刚好就是构成矩阵的零空间的一组基向量。通过对这组基向量线性组合即可得到速度向量,其使机械臂末端始终不动。下面的例子中使用的组合系数都是 1 ,也就是所有基向量相加(向量相加就是对应元素相加,由Total函数完成)。由于雅可比矩阵是机械臂构型q的函数,所以机械臂的构型一旦改变了,我们就要重新计算它的雅可比矩阵。如果还不理解,可以随时显示出dq的值,然后计算Jgm.dq看看结果是不是零。如果是零就说明dq在零空间里。

[1] https://blog.csdn.net/robinvista/article/details/70231205

[2]https://mp.weixin.qq.com/s?__biz=MzI1MTA3MjA2Nw==&mid=402079232&idx=1&sn=1311ae646375e6f091b194ee0ee1d2af&scene=21#wechat_redirect

[3] https://blog.csdn.net/robinvista/article/details/70231205

【JavaWeb】之MVC三层架构Java多人抽奖案例php.ini错误日志路径如何配置GO111MODEDULE变量以及Go Module的使用建议Java设计模式之原型模式怎么实现
idea性能优化,win10优化开机速度 雅克比迭代矩阵求法,坐标变换的雅克比矩阵
相关内容