本文转载自微信公众号ROBOTICS原作者:CC编辑:古月居

复习

首先我们在学习完正运动学——即如何将关节空间的位置映射到操作空间的位置及朝向这个问题之后,第二个问题就是瞬时运动学——如何将关节空间的速度映射到操作空间的速度。经过推导我们发现,雅可比矩阵就是解出这个映射的关键:其中,雅可比矩阵有m行n列m为操作空间的自由度n为关节空间的自由度(或说关节数量)。基本雅可比矩阵(Basic Jacobian)是用笛卡尔坐标描述操作空间线速度及角速度求得的雅可比矩阵,可以分为两部分:线速度雅可比矩阵Jv和角速度雅可比矩阵Jw,分别求解。求解基本雅可比矩阵需要先求解正运动学。一个链式机械臂的Jv由end effector的位置对关节位置求导得到;Jw由每一个旋转关节的旋转轴单位向量得到——具体求解方法请复习上一篇。理解这个简单的求解方法对理解雅可比矩阵大有益处!复习完毕,现在我们可以来和雅可比矩阵进行一场更深入的交流……

力传递(Force relationship)

在研究了关节空间与操作空间的位置映射关系和速度映射关系以后,现在我们要问另一个问题:它们的力/扭矩映射关系又如何?说人话就是——如果别人抓着你的手用力想把它从你戳红包的屏幕上移开,你的肩膀、手肘、手腕等各处关节(这里假设你的身体其它部分没有什么用处且固定住了= =)各自需要输出多大的扭矩才能让你的手保持不动呢?如果你要捶击一个沙包,它们又需要输出多大的扭矩呢?很神奇的是,雅可比矩阵同样也是连接关节空间与操作空间力/扭矩映射关系的纽带。现在我们设在关节空间,关节输出的力/扭矩为关节运动速度为注意我们使用的始终是列向量(这是在第二篇文章中就约好了的^o^)。那么整个系统输出的功率(等于力乘速度)在关节空间即表示为希望你一眼就明白这是个向量点乘,P显然是一个标量……现在从操作空间的角度看,设此时end effector能够对外界输出的力/扭矩(或说为了维持整个系统的静态平衡,外界对end effector的作用力/扭矩)为其中f表示力,n表示扭矩。end effector的速度则为那么施加在end effector上的外力对整个系统做功的功率即为由能量守恒定律,我们必须有再把瞬时运动学的式子代入:希望(AB)T=BTAT这样的关系对你来说也是一目了然……经过漫长的推导,我们得到雅可比矩阵的另一个重要用途:J的转置乘以操作空间的力/扭矩就可得到关节空间输出的力/扭矩!这是一个从操作空间到关节空间的映射,与我们之前讲到的正运动学、瞬时运动学方向正好相反。你应该庆幸,当别人试图把你的手掰到别处时,你的大脑已经把测量你的手受到的外力(F)、计算你手臂的雅可比矩阵的转置、求出每个关节需要输出的力并执行这整个过程,在你完全不知道的情况下完成了。那么对于真正的机械臂而言,学习这个力映射关系又有什么意义呢?对于最传统的位置控制机器人,依赖对位置精确的传感,基于一种不达目的地绝不罢休的精神运动,这个式子可能确实没什么用。但是,越来越多的应用场景要求机器人能够在某一位置/某一方向维持特定的力(比如抓握一个物体、擦玻璃)、或者在一个复杂环境中安全工作(保证不会在碰到障碍物时对物体施加过大的作用力);要实现这样的控制,这个映射关系必不可少——我们以后会更详细地讲解这个式子的应用。

奇异(Singularity)

我们在《从RP入门机器人学》中提到了Singularity这个问题,简单地说,Singularity就是机械臂处在某一个configuration(即特定的关节位置组合)时,end effector失去某个方向的自由度——你手臂伸直的那一刻,你的手绝无法沿着你手臂的方向运动。现在有了雅可比矩阵,我们可以从数学的角度重新来认识Singularity。为什么呢?不要忘了雅可比矩阵的用处:关节的运动速度乘以雅可比矩阵即得到end effector的运动速度。而end effector失去某个方向的自由度即意味着在机械臂到达那个configuration的瞬间,不管关节怎么运动,end effector在这个方向的速度总为0。从线性代数的角度来说,此时的J矩阵有这样的特性:对所有任意向量a,Ja相乘得到向量b,则所有向量b组成的线性空间维度将比正常情况下少至少一个自由度——这说明什么?说明这个时候的雅可比矩阵遭遇了降维攻击,被降秩了啊!作者数学不好……我们还是来看出镜率最高机械臂例子,说机器人话:这个机械臂的雅可比矩阵为:现在,为了求出在什么configuration下机械臂会遇到奇异点,即求这个雅可比矩阵什么时候不是满秩矩阵,我们可以直接利用此时J的特征值为0(即此时J是一个奇异矩阵)求得:稍微计算一下(三角恒等式什么的也是要很熟的!)可得:所以singular configuration是θ2=0!此时,机械臂“伸直”,end effector无法在沿机械臂link的方向上运动。将这个值代入原矩阵,会发现J的行/列向量不是线性独立,它的秩为1。在数学上,奇异矩阵的说法只对方阵有效,求特征值也是只对方阵有效。对于机器人来说,(Kinematic)Singularity是机器人在某一个configuration时end effector运动空间的降维,与雅可比矩阵的形状并无关——只是当雅可比矩阵不是方阵时,我们需要先把冗余自由度去掉再求解。

冗余(Redundancy)

说到冗余自由度,相信你已经可以想到如何从雅可比矩阵看出冗余了——当它又矮又胖的时候就是啦。在第一篇文章中也曾用你的手举例,因为人的手在关节空间有七个自由度,所以你能够在手部固定的情况下移动你的手肘。从数学的角度上,这意味着不得不感叹数学语言真的是简洁优美……我们知道,假如A是一个方阵,那么Ax=0有非零解的充分必要条件是A是一个奇异矩阵——也就是说,如果没有冗余自由度,一个机械臂关节运动而end effector不动的情况只有在它处于singularity时才能出现。但是,如果A是一个矮胖矩阵,那么Ax=0必然有无数个非零解,这些解组成的空间即称为“零空间”(nullspace)。简单地提一下:对于一个有冗余自由度的机器人,假设你除了要控制end effector运动到某一位置,还要保证过程中它的手肘不碰到障碍物,那你总是可以在nullspace中找到一组解满足你的要求:在不改变end effector轨迹的同时避开障碍物。这样的方法称为null space control,我们以后有机会会详细展开。希望今天这篇文章能让你对雅可比矩阵在机器人学中的重要地位有更强烈的认识,对这个系列一开始提到的机器人的奇异、冗余等问题有更深刻的理解。当然了,希望至少也帮你复习了一下线性代数吧:p三篇关于雅可比矩阵的文章终于写完了,但是它仍然会不停地出现在以后的文章中——逆运动学、动力学、机器人控制,哪里都有它的影子。在我看来,它是连接机械、物理与数学的桥梁,优美得无与伦比呢。推荐阅读干货 | “正运动学”——从关节空间到操作空间干货 | “瞬时运动学”—还是从关节空间到操作空间(雅可比矩阵上篇)干货 | 机械臂的雅可比矩阵这么厉害,怎么把它求出来呢?(雅可比矩阵中篇)

概率密度变换公式 雅可比矩阵_干货 | 从雅可比矩阵你还能得到什么?(雅可比矩阵下篇)...相关推荐

  1. 概率密度变换公式 雅可比矩阵_看懂蒙特卡洛积分(一) 概率分布变换与随机采样...

    TC130:游戏渲染进阶​zhuanlan.zhihu.com 蒙特卡洛积分是图形学中常用的数学工具, 这里就来总结下蒙特卡洛积分的原理和使用方式. 很多教程中把概率分布和积分是混在一起讲的, 个人觉 ...

  2. 概率密度变换公式 雅可比矩阵_学习笔记之——Jacobian matrix(雅可比矩阵)

    在<斯坦福大学公开课--机器人学>视频课程中一开始就提到了Jacobian matrix的重要性.为此写下本学习笔记介绍雅可比矩阵.本博客的内容来自于网络的各种资料的总结,已经给出参考引用 ...

  3. 概率密度变换公式 雅可比矩阵_【转载】雅克比矩阵与雅克比行列式

    最近接触了一点雅克比的东西,以前学习雅克比矩阵和雅克比行列式是在高数上,就知道个二重积分的时候可以用一下,其他的真没遇到过.最近在学习随机过程,在涉及到随机变量转化求解概率密度函数时,猛然冒出雅克比行 ...

  4. 概率密度变换公式 雅可比矩阵_雅可比行列式【1】定义及一些推导

    最近在做应用多元统计的学习的时候再一次遇到了雅可比矩阵这个东西,发现完全想不起来这是什么东西,只记得学习高代和概率论的时候背过这个公式.学数学分析的时候也没有好好学习向量微积分的知识.今天跑步的时候想 ...

  5. 概率密度变换公式 雅可比矩阵_从理解到认识雅可比矩阵

    最近在做应用多元统计的学习的时候再一次遇到了雅可比矩阵这个东西,发现完全想不起来这是什么东西,只记得学习高代和概率论的时候背过这个公式.学数学分析的时候也没有好好学习向量微积分的知识.今天跑步的时候想 ...

  6. 概率密度变换公式 雅可比矩阵_雅克比行列式在连续型随机变量函数分布密度中应用.doc...

    雅克比行列式在连续型随机变量函数分布密度中应用 雅克比行列式在连续型随机变量函数分布密度中应用 摘 要:为了使二维随机变量函数概率密度计算公式得到简化,本文首先利用雅克比行列式,应用变量变换定理给出了 ...

  7. 概率密度变换公式 雅可比矩阵_的联合概率密度函数f(x,y).ppt

    的联合概率密度函数f(x,y) 解:(X,Y)的概率密度为 变换为 解出逆变换为 雅可比行列式为 在变换之下,区域G={(x,y)|x>0,y>0}与 G*={(u,v)|u>0,v ...

  8. 概率密度变换公式 雅可比矩阵_机器人雅可比矩阵的理解和常用公式

    雅可比矩阵就是一种特殊的矩阵导数 考虑一个简单的问题: .其中x是自变量,y是因变量.对两边求导可得: .这里的 表示可以使式子成立的一个和a有关的一个值. 将上面的问题拓展到多维情况,可以得到: , ...

  9. 概率密度变换公式 雅可比矩阵_雅克比行列式在连续型随机变量函数分布密度中的应用...

    龙源期刊网 http://www.qikan.com.cn 雅克比行列式在连续型随机变量函数分布密 度中的应用 作者:赵微 来源:<新教育时代> 2014 年第 12 期 摘 要:为了使二 ...

最新文章

  1. 爬虫之requests模块中cookies参数的使用
  2. 一图分析华为最新AI生态与未来趋势
  3. Android onMeasure方法介绍
  4. VS2010,mvc架构详解(英文版的哦)
  5. [YTU]_2439( C++习题 复数类--重载运算符+)
  6. aliyun服务器安装git,g++
  7. minikube报错:This computer doesn’t have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory.
  8. oracle物理DG管理-redo数据传输,应用与三种模式
  9. Python中生成一个指定长度的随机字符串实现示例
  10. EL表达式的11个内置对象
  11. java 1.8stream_java jdk1.8 使用stream流进行list 分组归类操作
  12. html仿京东快速购物导航,jQuery仿京东楼层滑动侧边栏高亮(原创)
  13. AndroidStudio安卓原生开发_UI控件_Spinner用法_下拉选择框---Android原生开发工作笔记100
  14. Linux 不同方法查看进程消耗CPU IO 等
  15. DEA用法(1)--三阶段DEA模型与DEAP使用方法教程
  16. [Qt]QLabel的显示圆形
  17. DragonBones快速入门指南1
  18. 面试官通用面试问题---------------经典回答
  19. STM32MP157A-DK1 烧写系统
  20. C++ | 数据结构 | 图结构的讲解与模拟实现 | DFS与BFS的实现

热门文章

  1. 数据统计之日活跃用户统计
  2. Linux之用户相关操作
  3. 实战:基于 CNN 的验证码破解项目(附代码)
  4. Task03——零基础入门NLP - 基于机器学习的文本分类
  5. Mysql 索引 事物
  6. pytest文档21-pytest-html报告优化(nodeid中文显示[\u6350\u52a9\u6211\u4eec]问题解决)
  7. Python学习笔记(八)
  8. vCenter 5.5升级到vCenter 6.0实战指导
  9. PHP超时处理全面总结
  10. [LeetCode]Merge Sorted Array