机器人导论(第四版)学习笔记——第三章
机器人导论(第四版)学习笔记——第三章
- 3 操作臂运动学
- 3.1 引言
- 3.2 连杆的描述
- 3.3 连杆连接的描述
- 3.4 连杆坐标系的定义
- 3.5 操作臂运动学
- 3.6 驱动空间、关节空间和笛卡尔空间
- 3.7 实例:两种工业机器人的运动学问题
- 3.8 坐标系的标准命名
- 3.9 工具的位置
- 3.10 计算问题
3 操作臂运动学
3.1 引言
运动学只研究运动特性,不考虑施加的力。
操作臂运动学涉及所有与运动有关的几何参数和与时间有关的性质。
本章重点是把操作臂关节变量作为自变量,描述操作臂末端执行器与操作臂基座之间的函数关系。
3.2 连杆的描述
操作臂=以关节连成的运动链的刚体。这些刚体称为连杆。
刚体间的相对运动是两个平面之间的相对滑动时,称为低副。低副有6种,转动副,移动副,圆柱副,平面副,螺旋副和球面副。
设计机器人时,优先选择一个自由度的关节。(转动、移动关节)
基座定义为连杆0,第一个可动连杆定义为连杆1,以此类推,最后一个为连杆n。为实现任何位置和姿态,需要至少6个关节。
连杆i绕关节轴i相对于连杆i-1转动,轴i-1与轴i之间的距离ai−1a_{i-1}ai−1即为连杆i-1的长度,夹角为αi−1\alpha_{i-1}αi−1。夹角按照右手定则,绕公垂线从i-1转向轴线i。
3.3 连杆连接的描述
处于运动链中间的连杆
相邻两个连杆之间有一个公共转轴,沿两个连杆公共轴线方向的距离可以用连杆偏距来描述。关节轴i上的偏距记为did_idi;两相邻连杆绕公共轴线旋转的夹角称为关节角,记为θi\theta_iθi。
当关节i为移动关节时,did_idi是一个变量;
当关节i为转动关节时,θi\theta_iθi是一个变量。
运动链中首末端连杆
如果1为转动关节,θ1\theta_1θ1的零位任取,d1d_1d1=0;
如果1为移动关节,d1d_1d1的零位任取,θ1\theta_1θ1=0。
a0=an=0a_0=a_n=0a0=an=0,α0=αn=0\alpha_0=\alpha_n=0α0=αn=0
连杆参数
每个连杆用4个参数来表达,2个用来描述连杆本身,2个用来描述相互之间的连接关系。
转动关节:θi\theta_iθi为关节变量,其他三个参数固定不变
移动关节:did_idi为关节变量,其他三个参数固定不变
连杆参数描述机构运动关系的方法称为Denavit-Hartenber方法。一个6关节机器人,18个参数即可描述这些固定的运动参数,如果是6个转动关节,则18个参数可以分为6组,(ai,αi,di)(a_i,\alpha_i,d_i)(ai,αi,di)。
3.4 连杆坐标系的定义
为了描述每个连杆与相邻连杆之间的相对位置关系,在每个连杆上定义一个固连坐标系,连杆i对应坐标系{i}。
运动链中间位置连杆坐标系的定义
Z轴与关节轴重合,原点位于公垂线与关节轴交点处,X轴沿公垂线指向下一个关节轴,Y轴遵循右手定则。
运动链首末端连杆坐标系的定义
基座(连杆0)上的坐标系固定不动,一般作为参考坐标系。参考坐标系可任意设定,但通常设定Z^0\hat Z_0Z^0轴沿关节轴1的方向,且当关节变量1为0时,坐标系{0}与坐标系{1}重合。因此总有a0=0,α0=0a_0=0, \alpha_0=0a0=0,α0=0。对转动关节而言,d1=0d_1=0d1=0,对移动关节而言,θ1=0\theta_1=0θ1=0。
对于转动关节n,当θn=0\theta_n=0θn=0时,X^N\hat X_NX^N与X^N−1\hat X_{N-1}X^N−1方向相同,选择{N}的原点,使之满足dn=0d_n=0dn=0。
对于移动关节n,设定X^N\hat X_NX^N轴的方向使之满足θN=0\theta_N=0θN=0,当dn=0d_n=0dn=0时选取坐标系{N}的原点位于X^N−1\hat X_{N-1}X^N−1轴与关节轴n的交点。
连杆参数在坐标系中的表示方法
aia_iai:沿X^i\hat X_iX^i轴,从Z^i\hat Z_iZ^i移动到Z^i+1\hat Z_{i+1}Z^i+1轴的距离
αi\alpha_iαi:绕X^i\hat X_iX^i轴,从Z^i\hat Z_iZ^i旋转到Z^i+1\hat Z_{i+1}Z^i+1轴的角度
did_idi:沿Z^i\hat Z_iZ^i轴,从X^i−1\hat X_{i-1}X^i−1移动到X^i\hat X_iX^i轴的距离
θi\theta_iθi:沿X^i\hat X_iX^i轴,从X^i−1\hat X_{i-1}X^i−1旋转到X^i\hat X_iX^i轴的角度
连杆坐标系的建立步骤
- 找出各关节轴,并标出轴的延长线
- 找出轴i与轴i+1之间的公垂线或两轴之间的交点,以此交点或公垂线与i轴交点为原点,确定坐标系{i}的原点
- 规定Z^i\hat Z_iZ^i轴的指向
- 规定X^i\hat X_iX^i轴沿着公垂线的指向,如为相交两周,则规定垂直两轴平面的指向
- 按照右手定则确定Y^i\hat Y_iY^i轴的指向
- 当第一个关节变量为0时,令坐标系{0}与坐标系{1}重合。对于坐标系{N},其原点和X^N\hat X_NX^N的方向可以任意选取,选取时尽量使两岸参数为0。
3.5 操作臂运动学
推导相邻连杆之间坐标变换的一般形式,然后将这些独立的变换联系起来求出连杆n对于连杆0的位置和姿态,是本节的核心。
连杆变换的推导
这里用到了科学方法论,将此问题分解成n个ii−1T^{i-1}_iTii−1T的求解,再将单个ii−1T^{i-1}_iTii−1T分解成4个独立变换,每个变换对应一个连杆参数
坐标系i对于坐标系i-1的推导,即ii−1T^{i-1}_iTii−1T
取三个中间坐标系,{P},{Q},{R}
由于旋转了αi−1\alpha_{i-1}αi−1,{R}与{i-1}不同
由于平移了ai−1a_{i-1}ai−1,{Q}与{R}不同
由于旋转了θi\theta_iθi,{P}与{Q}不同
由于平移了did_idi,{i}与{P}不同
因此如果想把坐标系{i}中的矢量变换成{i-1}中的矢量,即可写成:
i−1P=Ri−1TPQTiPTiP=ii−1TP^{i-1}P=^{i-1}_RT^Q_PT^P_iT^iP=^{i-1}_iTPi−1P=Ri−1TPQTiPTiP=ii−1TP
即:ii−1T=Ri−1TQRTPQTiPT^{i-1}_iT=^{i-1}_RT^R_QT^Q_PT^P_iTii−1T=Ri−1TQRTPQTiPT
由上述变换,则可写成ii−1T=RX(αi−1)DX(ai−1)RZ(θi)DZ(di)^{i-1}_iT=R_X(\alpha_{i-1})D_X(a_{i-1})R_Z(\theta_i)D_Z(d_i)ii−1T=RX(αi−1)DX(ai−1)RZ(θi)DZ(di)
还可写成ii−1T=ScrewX(ai−1,αi−1)Screw(di,θi)^{i-1}_iT=Screw_X(a_{i-1},\alpha_{i-1})Screw(d_i,\theta_i)ii−1T=ScrewX(ai−1,αi−1)Screw(di,θi),Screw为算子,表示先平移再旋转
连乘即可得到结果:
ii−1T=(cθi−sθi0ai−1sθicαi−1cθicαi−1−sαi−1−sαi−1disθisαi−acθisαi−1cαi−1cαi−1di0001)^{i-1}_iT=\left(\begin{matrix} c\theta_i & -s\theta_i & 0 & a_{i-1}\\ s\theta_ic\alpha_{i-1} & c\theta_ic\alpha_{i-1} & -s\alpha_{i-1} & -s\alpha{i-1}d_i\\ s\theta_is\alpha_{i-a} & c\theta_is\alpha_{i-1} & c\alpha_{i-1} & c\alpha_{i-1}d_i\\ 0 & 0 & 0 & 1\\ \end{matrix}\right)ii−1T=⎝⎜⎜⎛cθisθicαi−1sθisαi−a0−sθicθicαi−1cθisαi−100−sαi−1cαi−10ai−1−sαi−1dicαi−1di1⎠⎟⎟⎞
连杆变换的连乘N0T=10T21T⋯NN−1T^0_NT=^0_1T^1_2T \cdots ^{N-1}_{N}TN0T=10T21T⋯NN−1T,是关于n个关节变量的函数,如果通过传感器测出每个关节变量,即可计算出末端位置和姿态。
3.6 驱动空间、关节空间和笛卡尔空间
n个关节变量组成一个nx1的关节向量,所有关节向量组成的空间被称作关节空间。相应的有驱动空间和笛卡尔空间。从驱动空间→\to→关节空间→\to→笛卡尔空间的计算被称为正运算,反之为逆运算。
3.7 实例:两种工业机器人的运动学问题
分别是Unimation公司的PUMA 560机器人和Yasukawa公司的Motoman L-3机器人。
3.8 坐标系的标准命名
基座标系{B}: 即基座上的坐标系{0}
固定坐标系{S}: 桌子角上的坐标系,也叫任务坐标系、世界坐标系或通用坐标系
腕部坐标系{W}: 操作臂末端连杆上的坐标系,也叫{N},原点位于操作臂手腕上
工具坐标系{T}: 附于机器人所夹持工具的末端,没有工具时,原点位于机器人的指尖之间
目标坐标系{G}: 对机器人移动工具要达到的位置的描述,即运动结束时,工具坐标系需与目标坐标系重合
3.9 工具的位置
变换方程TST=SBT−1WBTTWT^S_T{T} = ^B_ST^{-1}{^B_WT}^W_TTTST=SBT−1WBTTWT一般被称为定位函数,用它可以计算手臂的位置。
3.10 计算问题
浮点数or定点数表示变量,由于变化范围较小,用定点数表示可以减少运算量。
做因式分解,以增加局部变量的代价减少乘法和加法次数。
正余弦采用查表法。
姿态求解时,先计算前两列,第三列是前两列做叉乘。
机器人导论(第四版)学习笔记——第三章相关推荐
- 《鸟哥的私房菜基础篇》第四版学习笔记——第0章 计算机概论
文章目录 http://linux.vbird.org/linux_basic/ 一.计算机:辅助人脑的好工具 1.计算机硬件的五大单元 2.一切设计的起点: CPU 的架构 3.其它单元的设备 4. ...
- 《鸟哥的私房菜基础篇》第四版学习笔记——第1章Linux是什么与如何学习
文章目录 一.Liux是什么?? 1.是操作系统or应用程序?? 2.Linux之前,Unix的历史 3.关于 GNU 计划.自由软件与开放原始码 二.Torvalds 的 Linux 发展 1.与 ...
- 《Real-Time Rendering》第四版学习笔记——Chapter 9 Physically Based Shading(一)
一.光的物理特性 光与物体的交互形成了基于物理着色的基础. 在物理层面上,光的模型为电磁横波.每个波都有一个单一的波长λ\lambdaλ.具有单一波长的光叫单色光(monochromatic ligh ...
- 《Real-Time Rendering》第四版学习笔记——Chapter 9 Physically Based Shading(二)
上接文章:<Real-Time Rendering>第四版学习笔记--Chapter 9 Physically Based Shading(一) 六.微观几何 每个可见的表面点都包含了很多 ...
- 《Real-Time Rendering》第四版学习笔记——Chapter 9 Physically Based Shading(三)
前文: <Real-Time Rendering>第四版学习笔记--Chapter 9 Physically Based Shading(一) <Real-Time Renderin ...
- C++Primer第5版学习笔记(三)
C++Primer第5版学习笔记(三) 第四/五章的重难点内容 你可以点击这里回顾第三章内容 因为第五章的内容比较少,因此和第四章的笔记内容合并. 第四章是和表达式有关的知识, ...
- PMBOK(第六版) 学习笔记 ——《第一章 引论》
系列文章目录 PMBOK(第六版) 学习笔记 --<第一章 引论> PMBOK(第六版) 学习笔记 --<第二章 项目运行环境> PMBOK(第六版) 学习笔记 --<第 ...
- 《Python编程:从入门到实战》(第2版)学习笔记 第5章 if语句
[写在前面]为进一步提高自己的python代码能力,打算把几本经典书籍重新过一遍,形成系统的知识体系,同时适当记录一些学习笔记,我尽量及时更新!先从经典的<Python编程:从入门到实战> ...
- 数据库系统概论(第5版)学习笔记第1章 1.2——数据模型
数据库系统概论(第5版)学习笔记第1章 1.2--数据模型 目录 数据库系统概论(第5版)学习笔记第1章 1.2--数据模型 0.思维导图(自制) 1️⃣思维导图下载 2️⃣图示 1.2数据模型 1. ...
最新文章
- 基础知识--:before伪元素和:after伪元素
- Linux/Unix环境下的make命令详解
- SVN修改用户名与密码
- 类的static成员并用其实现一个单例模式
- python图片识别训练汽车_python实现图片识别汽车功能
- web多线程之webworkers
- 检测精度大幅提升!移动端实时的NanoDet升级版NanoDet-Plus来了!
- Google 开源最新 NLP 模型,能处理整本《罪与罚》
- 华为认证hcia证书实力 华为认证hcia考试题库
- 不限时长的电脑录屏软件的软件有哪些?良心安利这3款!
- 混合线性模型不同模型拟合的可视化
- [转]NHibernate中DateTime,int,bool空值的处理方法
- 离线安装 Enhanced Class Decompiler
- HDU - 4826(dp)
- CSS mix-blend-mode滤色screen混合模式
- 共享充电,是雪中送炭还是暗藏危险?——恶意充电宝实验
- 中国石油大学 现代远程教育入学指南
- UNL系列图——交互图
- 如何利用设备管理系统做好设备预防维护保养工作?
- JavaWeb图书管理系统