机器人学导论 二、正运动学,MDH法
机器人学导论 二、正运动学
- 前言
- 关节与连杆
- 编号
- 连杆参数
- 连杆的描述
- 连杆连接的描述
- 关节变量
- 连杆坐标系
- 中间连杆坐标系建立
- 首尾连杆坐标系建立
- 首坐标系
- 尾坐标系
- 连杆参数与连杆坐标系
- 连杆变换
- MDH法使用步骤
- 后记
前言
本篇学习机械臂的正运动学,MDH法。
关节与连杆
关节joint,连杆link,是机械臂的基本组成结构。
关节包括转动关节和移动关节,一般仅有一个自由度。
一个关节把相邻两连杆连接,n个关节把n+1个连杆连接起来,具有n个自由度。
编号
把固定基座作为第0个连杆,机械臂末端的连杆作为第n个连杆。
连杆参数
连杆的描述
两个相邻关节轴之间的公垂线的长度,称为连杆的长度。
两个相邻关节轴之间形成的角度,称为连杆的转角。
上图中,连杆i-1
的长度是其近端关节轴i-1
与远端关节轴i
之间的公垂线长度ai−1a_{i-1}ai−1
连杆i-1
的转角是其近端关节轴i-1
与远端关节轴i
形成的角度αi−1\alpha_{i-1}αi−1,至于角度的正负号,可以根据后面建立坐标系时再确定。
连杆连接的描述
两个相邻连杆之间的距离,称为连杆偏距。
两个相邻连杆绕公共关节轴旋转的夹角,称为关节角。
上图中,关节i
是连杆i-1
和连杆i
的公共关节。
由于实际的连杆是弯曲的,可以将公垂线段ai−1a_{i-1}ai−1和aia_iai 看作代替曲连杆的直连杆i-1
,i
。
直连杆i-1
,i
之间的距离是关节i
的连杆偏距did_idi
直连杆i-1
沿关节轴i
旋转到直连杆i
的角度是关节角θi\theta_iθi
关节变量
一个连杆可以使用上面的连杆长度、连杆转角、连杆偏距、关节角四个参数确定。
对于转动关节,关节角可变,另三个参数不变。
对于移动关节,连杆偏距可变,另三个参数不变。
可变的参数称为关节变量。
连杆坐标系
连杆坐标系用于描述相邻连杆之间的相对位置关系。
连杆坐标系编号与连杆编号相同,称为{i}\{i\}{i}。
中间连杆坐标系建立
为连杆i
建立坐标系:
以关节轴i
作为Z轴
,以连杆i
与Z轴
的交点作为原点
,以连杆i
作为X轴
指向关节轴i+1
,以右手定则确定Y轴
。
例外:如果连杆i
的长度ai=0a_i=0ai=0(此时连杆i
,i+1
的Z轴
相交),以交点作为原点
,以两个Z轴所在平面
的垂线作为X轴
,方向可以有两种选择,而αi\alpha_iαi的符号就由X轴
方向决定。
每个坐标轴的建立都要满足右手定则。
上图中,可以按这个顺序来建立坐标系:
首先找到所有的关节轴i-1,i
然后确定坐标系{i−1}\{i-1\}{i−1},以关节轴作为Z^i−1\hat Z_{i-1}Z^i−1,直连杆i-1
作为X^i−1\hat X_{i-1}X^i−1,再右手定则确定Y^i−1\hat Y_{i-1}Y^i−1。
然后确定坐标系{i}\{i\}{i}。
首尾连杆坐标系建立
对于首尾连杆0,n
,有特殊的建系方法。
首坐标系
坐标系{0}\{0\}{0}在基座上,一般作为参考系。
第一个关节变量为0时,规定坐标系{0}\{0\}{0}于{1}\{1\}{1}重合。
当第一个关节为转动关节,d1=0d_1=0d1=0;第一个关节为移动关节,θ1=0\theta_1=0θ1=0
尾坐标系
坐标系{n}\{n\}{n}的原点和x轴
方向可以任意选取,但要尽量使得连杆参数为0。
连杆参数与连杆坐标系
按照上面的建系方法,可以把连杆参数重新定义:
- 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^i1\hat X_{i1}X^i1的距离
- θi\theta_iθi关节角:绕Z^i\hat Z_iZ^i轴,把X^i−1\hat X_{i-1}X^i−1旋转到X^i\hat X_{i}X^i的角度
设定ai>0a_i>0ai>0,其它参数可正可负。
上面建立连杆坐标系和连杆参数的方式称为MDH法(Modified Denavit–Hartenberg)。
DH法建立的坐标系并不是唯一的。
连杆变换
连杆参数可用于相邻杆之间的相对位姿计算。
上图中,考虑坐标系{i−1},{i}\{i-1\},\{i\}{i−1},{i}之间的变换i−1iT^i_{i-1}Ti−1iT,建立中间坐标系{P},{Q},{R}\{P\},\{Q\},\{R\}{P},{Q},{R},则有:
ii−1T=Ri−1TQRTPQTiPT^{i-1}_iT = \ ^{i-1}_RT \ ^R_{Q}T \ ^Q_PT \ ^P_{i}T ii−1T= Ri−1T QRT PQT iPT
上面的变换,可以看作是把X^i\hat X_iX^i变换为X^i−1\hat X_{i-1}X^i−1,则有:
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)
或者将每个中间坐标系的变换都写出来:
iPT=[10000100001di0001]PQT=[cosθ1−sinθ100sinθ1cosθ10000100001]QRT=[1000010ai−100100001]Ri−1T=[10000cosαi−1−sinαi−100sinαi−1cosαi−100001]^P_iT = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & d_i \\ 0 & 0 & 0 & 1 \\ \end{bmatrix} \\ \quad \\ \ ^Q_PT = \begin{bmatrix} \cos \theta_1 & -\sin \theta_1 & 0 & 0 \\ \sin \theta_1 & \cos \theta_1 & 0 & 0 \\ 0 & 0 & 1 &0 \\ 0 & 0 & 0 & 1 \\ \end{bmatrix} \\ \quad \\ \ ^R_QT = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & a_{i-1} \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ \end{bmatrix} \\ \quad \\ \ ^{i-1}_RT = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & \cos \alpha_{i-1} & -\sin \alpha_{i-1} & 0 \\ 0 & \sin \alpha_{i-1} & \cos \alpha_{i-1} & 0 \\ 0 & 0 & 0 & 1 \\ \end{bmatrix} \\ \quad \\ iPT=⎣⎢⎢⎡10000100001000di1⎦⎥⎥⎤ PQT=⎣⎢⎢⎡cosθ1sinθ100−sinθ1cosθ10000100001⎦⎥⎥⎤ QRT=⎣⎢⎢⎡1000010000100ai−101⎦⎥⎥⎤ Ri−1T=⎣⎢⎢⎡10000cosαi−1sinαi−100−sinαi−1cosαi−100001⎦⎥⎥⎤
得到ii−1T^{i-1}_iTii−1T的一般形式:
MDH法使用步骤
- 找到所有关节轴;
- 按顺序依次建立中间连杆的坐标系;
- 确定首尾坐标系;
- 写出DH参数;
- 计算正运动学矩阵。
后记
本篇是机器人学中的正运动学,采用的是MDH法。
后续会有Matlab示例编程。
机器人学导论 二、正运动学,MDH法相关推荐
- 中正平和的机器人学笔记——1. 机械臂正运动学(附MATLAB代码)
中正平和的机器人学笔记--1.正运动学 0. 何为运动学?何为正运动学? 运动学主要研究的就是机械臂的运动特性(位置.速度.加速度等),但是不考虑使机械臂产生运动时施加的力和力矩(这部分是动力学).而 ...
- 机器人学回炉重造(1-2):各种典型机械臂的正运动学建模(标准D-H法)
文章目录 写在前面 三连杆平面机械臂 平行四边形操作臂 闭链结构 例:平行四边形操作臂 球形臂 拟人臂 球腕 斯坦福机械臂 带球形手腕的拟人化机械臂 DLR机械臂 参考文献 写在前面 本文所有机械臂均 ...
- 机器人学基础(1)-位置运动学-正运动学、逆运动学方程建立及其求解
机器人学基础(1)位置运动学:正运动学.逆运动学方程建立及其求解 机器人学基础学了个知识框架入门,以此来写一下总结笔记,便于以后要用到相关知识点进行翻阅. 本次机器人学基础笔记主要分为几个章节:位置运 ...
- 【现代机器人学——螺旋理论】UR5机器人正运动学求解
系列文章目录 [现代机器人学--螺旋理论]UR5机器人正运动学求解 [现代机器人学--螺旋理论]UR5机器人逆运动学求解 提示:本文介绍基于螺旋理论分析的UR5机器人正运动学求解思路,仅供参考. 文章 ...
- 机械臂正运动学(1)——MDH下的正解(自编)
%% 该函数执行 MDH参数下正运动学求解功能 function [result] = myfkine_MDH(q,a,alpha,d,offset) % q为输入的关节转角,a为杆件长度,alpha ...
- 机器人学导论(第三版) 第三章 操作臂运动学 3.5操作臂运动学
机器人学导论(第三版) 学习记录 第三章 操作臂运动学 3.5操作臂运动学 中间坐标系{P},{Q}和{R}的位置 想把坐标系{i}中定义的矢量转化成坐标系{i-1}中的描述,这个变换矩阵可以写成 i ...
- 国科大学习资料--机器人学导论(张正涛)--2017年期末考试试卷
国科大学习资料–机器人学导论(张正涛)–2017年期末考试试卷 国科大学习资料–机器人学导论(张正涛)–2017年期末考试试卷 国科大学习资料–机器人学导论(张正涛)–2017年期末考试试卷
- 【机器人学】3-RUU-delta并联机器人正运动学、逆运动学和微分运动学
文章目录 串联和并联机器人对比 delta机器人 逆运动学 正运动学 微分运动学 工作空间 串联和并联机器人对比 串联机器人和并联机器人各有优缺点. 串联机器人 优点 工作空间大: 可实现的姿态多: ...
- 工业机器人——4 正运动学(台大机器人学学习笔记)
前面几篇文章,我们对于如何描述刚体的运动状态进行了具体的讲解,今天开始我们学习机械手臂的正向运动学. 1)定义 运动学(kinematics):讨论运动状态的本身,不涉及产生运动的力. 具体描述就是位 ...
- 中正平和的机器人学笔记——6. 一种气驱型柔性臂的正运动学模型
1. 前言 柔性臂是当前机器人领域一个比较热的研究方向,国内外高校如MIT.Stanford.JHU和我校.上交.中科大.北航等等都有做研究.大致可以分为三类:气驱/绳驱,超弹性材料,智能材料(DE/ ...
最新文章
- Windows下Libvirt Java API使用教程(二)- 接口使用说明
- php twig扩展,如何写一个自定义的 Twig 扩展
- linux强制踢出用户,Linux下管理员强行踢出用户的命令使用方法
- Servlet基础(三) Servlet的多线程同步问题
- 收敛标准对卷积核数量最优值的影响
- zabbix3监控ESXI主机
- centos安装与配置R语言
- STP端口状态特点、STP端口角色特点、链路状态发生变化,STP如何重新收敛? TCN何时发?uplinkfast技术、Portfast技术、backbonefast技术、常见的STP调整命令:
- Docker 镜像文件的导入和导出
- win定时关机_电脑定时关机,你造吗?
- 沈逸老师PHP魔鬼特训笔记(3)
- 聊聊eureka的preferSameZoneEureka参数 1
- 计算机网络安全基础-网络监听基本概念
- 08CMS小说搜索型注入 - 漏洞发布 京华志
- POI事件模式读取Excel 2003文件
- 在法国读计算机研究生的日子开始了
- SolidWorks如何编辑今日制造插件生成的齿轮
- C语言实现物品竞拍管理系统
- 75 [backtrader期货策略]十大经典策略-分时均线交叉策略
- 和尚挖井故事给程序员的启示