机器人学导论——雅可比:速度和静力
一 刚体的线速度和角速度
1.1 位置矢量的导数
位置矢量BQ的速度可以用BQ的导数表示,当然,这边是基于坐标系B来描述的。
另一种说法是:位置矢量的速度可以看作用位置矢量描述的空间的一点的线速度。
上述的速度矢量在坐标系A中的描述为
也可以写作
经常讨论的是一个坐标系原点相对于某个常见的世界参考坐标系的速度,而不考虑相对于任意坐标系中一般点的速度。对于这种特殊情况,定义一个缩写符号
式中的点为坐标系{C}的原点,参考坐标系为{U}。例如,用符号vc表示坐标系{C}原点的速度;Avc 是坐标系{C}的原点在坐标系{A}中表示的速度(尽管微分是相对于坐标系{U}进行的)。
1.2 角速度矢量
角速度描述了刚体的旋转运动,用符号Ω表示。
上图中的AΩB表示坐标系B相对于坐标系A的旋转。
角速度矢量的另一种表示为
1.3 线速度
我们知道,在任意时刻,机器人的每个连杆都具有一定的线速度和角速度,相邻连杆之间的速度和角速度该如何传递?或者说是,应该如何互相描述运动着的相邻连杆。
上图中,坐标系A规定为固定的参考坐标系,坐标系B被固定在一个刚体上,刚体是可移动的,在坐标系B中有一点Q,记作BQ,那么实际上也表示坐标系原点到点Q的矢量。
现在,我们想要描述点Q在坐标系A中的描述,如何实现?
坐标系{B}相对于坐标系{A}的位置用位置矢量APBORG和旋转矩阵ABR来描述。此时,假定方位ABR不随时间变化,则Q点相对于坐标系{A}的运动是由于APBORG或BQ随时间的变化引起的。
下式中的第一项是坐标系B相对于坐标系A的移动速度,第二项是点Q在坐标系B中的移动速度映射到坐标系A中。当然前提是这边两个坐标系的姿态保证不变,否则就要涉及到角速度分量。
1.4 角速度
上面讨论了两坐标系的姿态保持不变情况下,移动刚体的线速度,现在讨论两坐标系相对线速度为0,原点重合的情况。
上图中,坐标系A规定为固定的参考坐标系,坐标系B原点与坐标系A原点重合。B被固定在一个刚体上,刚体是可绕原点旋转的,在坐标系B中有一点Q,记作BQ,坐标系B相对于坐标系A旋转的速度用矢量AΩB表示。
同样,我们想要描述点Q在坐标系A中的描述,如何实现?
假设从坐标系{B}看矢量Q是不变的,即
既然它相对于{B}不变,显然从坐标系{A}中看点Q的速度为旋转角速度AΩB。下图所示为用两个瞬时量表示矢量Q绕AΩB的旋转。这是从坐标系{A}中观测到的。.
我们可以想象,点Q在坐标系A中的表示下,是绕着AΩB旋转的,那么旋转的轨迹可以看作是一个圆,且矢量AQ与AΩB的夹角始终为θ。那么从轨迹的正上方向下看,可以得到下图所示的简图(记为平面O,平面O垂直于AΩB),Q(t+Δt)与Q(t)之间的距离为ΔQ,欧姆Δt为弧度。
ΔQ始终垂直于AΩB和AQ,由于Δt足够小,ΔQ可以近似为弧长,那么由圆弧长计算公式,从上图可以得到:
等式两边同时除以Δt可以得到
这边利用到了等式
AVQ=ΔQ/Δt^{A}V_Q=ΔQ/Δt AVQ=ΔQ/Δt
和
∣AQ∣∣AΩB∣⋅sinθ=AΩB×AQ|^{A}Q||^{A}Ω_B|\cdot sinθ=^{A}Ω_B\times^{A}Q ∣AQ∣∣AΩB∣⋅sinθ=AΩB×AQ
在一般情况下,矢量Q是相对于坐标系{B}变化的,因此要加上此分量,得
即
1.5 联立线速度和角速度
假如两个坐标系原点不重合,同时又有相对移动,那么有
1.6 角速度矩阵
对于任何nxn的正交矩阵R,有
对其求导
定义
那么
S为反对称矩阵。因此正交矩阵的微分与反对称矩阵之间存在如下特性,可写为
假定固定矢量BP相对于坐标系{B}是不变的,在另一个坐标系{A}中的描述为
如果坐标系{B}是旋转的,AP 也是变化的,即使B为P常数,即
或
那么
式中用S的上下标表明它是与旋转矩阵ABR相关的反对称矩阵,为了便于理解的原因,因此这里所说的旋转矩阵通常称为角速度矩阵。
1.7 角速度矢量
定义
容易证明
与3 x 3的角速度矩阵相对应的3 x 1矢量Ω称为角速度矢量。
因此联立1.7节的结论有
角速度矢量的物理意义是,在任一时刻,旋转坐标系方位的变化可以看作是绕某个轴K^\hat{K}K^的旋转。这个瞬时转动轴,可作为单位矢量,与绕这个轴的旋转速度标量θ构成角速度矢量。
证明略。
关于瞬时转动轴K^\hat{K}K^,在第二章的时候引入此概念,AK^=[kx,ky,kz]T^A\hat K =[kx,ky,kz]^TAK^=[kx,ky,kz]T。
二 机器人的连杆运动
2.1 连杆间的速度“传递”
机器人一般都有一个参考坐标系{0},往往是位于机器人底座与大地的接触面和机器人一轴的原点重合。我们可以通过该基坐标系依次计算各连杆的速度。连杆i+1i+1i+1的速度就是连杆iii的速度加上那些附加到关节i+1i+1i+1上的新的速度分量。
- 对于某一连杆本身,如下图所示,将机构的每一个连杆看作为一个刚体,可以用线速度矢量和角速度矢量描述其运动。
- 对于相邻连杆iii和i+1i+1i+1,如下图所示,连杆间的速度可以相互“传递”。
当两个矢量都是相对于同一个坐标系时,那么这些角速度能够相加。因此,连杆i+1i+1i+1的角速度就等于连杆iii的角速度加上一个由于关节i+1i+1i+1的角速度引起的分量。
2.1.1 连杆i+1i+1i+1在iii中角速度的描述
等式右边的第二项用到了上面的 结论
即利用公式Ω=θ˙K^Ω=\dotθ\hat {K}Ω=θ˙K^,这里的K^\hat {K}K^和θ˙\dotθθ˙下标是i+1i+1i+1,表示其是基于坐标系i+1i+1i+1描述的,再左乘旋转矩阵i+1iR就得到了“由于关节i+1i+1i+1的角速度引起的分量”。
那么我们就可以得到连杆i+1i+1i+1在坐标系iii中描述的角速度。
并且这里有
关于瞬时转动轴K^\hat{K}K^,在第二章的时候引入此概念,AK^=[kx,ky,kz]T^A\hat K =[kx,ky,kz]^TAK^=[kx,ky,kz]T。上式选定的瞬时转动轴为坐标系i+1i+1i+1的ZZZ轴,所以有AZ^=[0,0,1]T^A\hat Z =[0,0,1]^TAZ^=[0,0,1]T。
2.1.2 连杆iii在i+1i+1i+1中角速度的描述
同理
2.1.3 连杆i+1i+1i+1在iii中速度的描述
坐标系{i+1i+1i+1}原点的线速度等于坐标系{iii}原点的线速度加上一个由于连杆iii的角速度引起的新的分量。
在1.5节里有公式
由于iPi+1^iP_{i+1}iPi+1在坐标系{i}中是常数,所以等式右边第二项就消失了。因此有
有
2.1.4 关节i+1i+1i+1为移动关节的情况
从一个连杆到下一个连杆依次应用这些公式,可以计算出最后一个连杆的角速度NωN^N\omega_NNωN和线速度NvN^Nv_NNvN,注意,这两个速度是按照坐标系{N}表达的。在后面可以看到,这个结果是非常有用的。如果用基坐标系来表达角速度和线速度的话,就可以用N0R^0_NRN0R去左乘速度,向基坐标进行旋转变换。
三 雅可比
3.1 雅可比矩阵
雅可比矩阵是多元形式的导数。例如,假设有6个函数,每个函数都有6个独立的变量:
用矢量符号表示为
现在,如果想要计算出yiy_iyi的微分关于xjx_jxj的微分的函数,可简单应用多元函数求导法则计算,得到
即
上式中的6×66 \times 66×6偏导数矩阵就是我们所说的雅可比矩阵JJJ。注意到,如果f1(X)f_1(X)f1(X)到f6(X)f_6(X)f6(X)都是
非线性函数,那么这些偏导数都是xix_ixi的函数,因此可以表示如下
将上式两端同时除以时间的微分,可以将雅可比矩阵看成是XXX中的速度向YYY中速度的映射:
在任一瞬时,XXX都有一个确定的值,J(X)J(X)J(X)是个线性变换。 在每一个新时刻,如果XXX改变,线性
变换也会随之而变。所以,雅可比是时变的线性变换。
在机器人学中,通常使用雅可比将关节速度与操作臂末端的笛卡儿速度联系起来,比如,
式中,Θ\ThetaΘ是操作臂关节角矢量,vvv是笛卡儿速度矢量。我们给雅可比表达式附加了左上标,以此表示笛卡儿速度所参考的坐标系。
对于通常的6关节机器人,雅可比矩阵是6×66\times66×6阶的矩阵,Θ˙\dot\ThetaΘ˙是6×16\times16×1维的,0v^0v0v 也是6×16\times 16×1维的。这个6×16\times 16×1笛卡儿速度矢量是由一个3×13\times13×1的线速度矢量和一个3×13\times13×1的角速度矢量组合起来的。
可以定义任何维数的雅可比矩阵(包括非方阵形式)。雅可比矩阵的行数等于操作臂在笛卡儿空间的自由度数量,雅可比矩阵的列数等于操作臂的关节数量。
3.2 雅可比矩阵参考坐标系的变换
已知坐标系{B}中的雅可比矩阵,即
我们关心的是给出雅可比矩阵在另一个坐标系{A}中的表达式。首先,注意到已知坐标系{B}中的6×16\times16×1笛卡儿速度矢量可以通过如下变换得到相对于坐标系{A}的表达式
那么
最后可以得到
完成雅可比矩阵参考坐标系的变换
3.3 奇异性
假设我们需要控制机械臂末端以一个已知速度vvv运动,如何反过来求得关节的角速度Θ˙\dot \ThetaΘ˙?
可以利用下式得出
但是就会存在一个问题,如果保证雅可比矩阵可逆?如果不可逆,即矩阵奇异,此时关节速度趋于无穷大,是危险的。
大多数操作臂都有使得雅可比矩阵出现奇异的Θ\ThetaΘ值。这些位置就称为机构的奇异位形或简称奇异状态。所有操作臂在工作空间的边界都存在奇异位形,并且大多数操作臂在它们的工作空间内也有奇异位形。大致将它们分为两类
- 工作空间边界的奇异位形出现在操作臂完全展开或者收回使得末端执行器处于或非常接近工作空间边界的情况。
- 工作空间内部的奇异位形出现在远离工作空间的边界,通常是由于两个或两个以上的关节轴线共线引起的。
四 机械臂的静力
机器人学导论——雅可比:速度和静力相关推荐
- 《机器人学导论--Join J.Craig》第一章 绪论
<机器人学导论–Join J.Craig>第一章 绪论 1.1 背景 1. 机器人取代人:人工成本原来越高,工业机器人的成本越来越低,且无需人工那些福利.待遇等,属于一本万利.随着工业机器 ...
- 【机器人学导论(第四版)】1-绪论
机器人学可划分为机械操作.移动.计算机视觉和人工智能,本书介绍机械操作 按照刚体力学.分析力学.机构学和控制理论中的原理和定义对机器人运动学.动力学.控制和编程中的原理进行阐述.1-8:机械工程和数学 ...
- 并联四足机器人项目开源教程(一)--- 机器人学导论的学习
这个是本人在大三期间做的项目 ---- 基于MIT的Cheetah方案设计的十二自由度并联四足机器人,这个项目获得过两个国家级奖项和一个省级奖项.接下来我会将这个机器人的控制部分所有代码进行开源,并配 ...
- 机器人学导论(第三版) 第三章 操作臂运动学 3.5操作臂运动学
机器人学导论(第三版) 学习记录 第三章 操作臂运动学 3.5操作臂运动学 中间坐标系{P},{Q}和{R}的位置 想把坐标系{i}中定义的矢量转化成坐标系{i-1}中的描述,这个变换矩阵可以写成 i ...
- 《机器人学导论》学习-01空间描述与变换
<机器人学导论>学习-01空间描述与变换 一.描述:位置.姿态与坐标系 1.位置描述 2.姿态描述 3.坐标系的描述 二.映射:坐标系到坐标系的变换 1.关于平移坐标系的映射 2.关于旋转 ...
- 斯坦福机器人学导论(视频+英文PPT讲义+课程作业+英文书籍)
斯坦福机器人学导论(视频+英文PPT讲义+课程作业+英文书籍) 网址 文件内容 讲义内容 课后作业 英文书籍 课程视频 网址 https://download.csdn.net/download/we ...
- 国科大学习资料--机器人学导论(张正涛)--2017年期末考试试卷
国科大学习资料–机器人学导论(张正涛)–2017年期末考试试卷 国科大学习资料–机器人学导论(张正涛)–2017年期末考试试卷 国科大学习资料–机器人学导论(张正涛)–2017年期末考试试卷
- 机器人运动学欧拉角姿态描述《机器人学导论》里的zyz欧拉角表述
下图是<机器人学导论>里的zyz欧拉角表述 下图是维基对zyz欧拉角的表述 不明白为什么两个不一样,我用绕三轴旋转的矩阵相乘来推导公式,得到的也是第二种公式正确 matlab机器人工具箱提 ...
- 利用逆矩阵解线性方程组_机器人学导论---第四章 操作臂逆运动学(一)4.1-4.11...
第四章 操作臂逆运动学[(一)4.1-4.11] (一)概述 1.为求出要求的关节角以放置相对于工作台坐标系{S}的工具坐标系{T},可将这个问题分为两部分(1)进行坐标变换求出相对于基坐标{B}的腕 ...
最新文章
- Dropout也能自动化?
- java timer记录运行时间_有关java定时器Timer的疑问,当执行时间大于间隔时间会怎样?...
- MATLAB reshape()函数和sub2ind()函数
- 关于word插入特殊符号不显示的问题及解决
- 【数据】短视频识别,都有那些行业标准?
- php 获取服务器,PHP 获取服务器详细信息
- 省掉bean自定义spring mvc注解注入json值
- rube3xxx_Rube GoldbergSpring整合
- csdn 到底怎么了?不准转载?
- 项目管理知识体系指南_MP考前冲刺丨项目管理知识体系指南(PMBOK)串讲(11)...
- pythonifnotnone_python中if not x: 和 if x is not None: 和 if not x is None的使用和区别
- 政府安全资讯精选 2018年第十期 美国CLOUD Act法案正式通过成为法律;英国发布“网络安全出口”战略 以促进对外贸易...
- 忘记commit也会造成select查询的性能问题
- JavaScript优美的特性
- labVIEW学习笔记(一)程序结构
- 运用python》pyautogui自动刷智慧树网课的脚本
- 几种设置开机启动的方法
- Detecting Causality in Complex Ecosystems(检测复杂生态系统中的因果关系)
- govqq.com/post/12.html,更新30+!这些学校招生简章已公布!
- sybase 珍藏系列之一
热门文章
- php slim 教程,Slim - 超轻量级PHP Restful API构建框架
- 宝莱坞电影重战江湖 印度剧将进中国观众视线
- nginx配置文件中server_name 和location意义
- 七天七夜,终于实现了实时的实例分割算法部署TensorRT,40FPS!
- Excel共享工作簿(win10)
- LeetCode 51. N 皇后、52. N 皇后 II
- hdu 7092 仓颉造数 (猜测,手模数据找规律,推公式)
- java 毫秒转分钟和秒_如何在Java中将毫秒转换为“X分钟,x秒”?
- 今生,你我永隔一江水
- java方法用泛函_一个关于泛函分析和Java语言的千古谜团 - 水木快照 JinghuaSoft