导图社区 机器人运动学
内容包括机器人基本介绍、基本概念、运动学基础理论、操作臂运动学、标定与简单编程。
编辑于2021-11-26 16:02:54机器人运动学
绪论
定义
机器人
可重复编程、机械手
机器人学
结构、组成
运动学、动力学
控制、视觉、语言、决策与规划
典型应用
起始位置:零位,home position
发展
40年代
1947年美国,遥控机械手
50年代
1953年MIT,数控铣床
1954年美国,可变成机器人
1958年美国,机器人公司Unimation
60年代
1961年美国,机器人Unimate
1962年美国,Versatran机器人
1969年,计算机控制的Stanford Arm
70年代
1972年美国,移动式机器人Shakey
1979年美国,Unimation公司通用工业机器人PUMA
1979年日本,SCARA机器人
80年代
1980年,日本机器人元年
1987年英国,Handy1康复机器人
1989年MIT,Genghis机器人
90年代
1999年sony公司,AIBO
1999年美国,da Yinc手术机器人
00年之后
2000年日本,ASIMO
2002年iRbot公司,扫地机器人Roomba
2005年美国,波士顿动力Big Dog机器人
2008年大疆,直升机飞控系统XP3.1面市
2016年,无人驾驶出租车nuTonomy
2016年,哈佛大学全自动章鱼仿生机器人
2017年,Sophia机器人
应用
工业
加工
焊接
增材制造
表面涂装
钻孔
切割
打磨
装配
检测
三维
质量
搬运
码垛
AGV
服务
休闲
画画
舞蹈
打球
家庭
清洁
陪护
康复
假肢
外骨骼
公共
自动驾驶
服务员
特种
安防
救援
消防
军用
战斗车
无人机
排爆
仿生
四足
鱼类
鸟类
昆虫
医疗
骨科手术
软组织手术
技术展望
应用领域增多,种类增多
智能化、机动性、可靠性提高
基本概念
分类
动力
电能
液压
气动
控制
非伺服和伺服
点到点控制
连续轨迹控制
功能
操作、移动
用途
工业、医疗、军用、服务、特种、微纳
环境
空中、水下、太空
智能程度
示教再现型
感觉判断型
自主感知型
系统组成
各部分分布
组成原理框图
机器人本体
感知系统
内部传感器
关节的运动状态、自身运动与正常工作必测量
外部传感器
视觉、听觉、触觉,适应特定环境
控制系统
驱动控制器——伺服控制器(单关节),控制各关节驱动电机
运动控制器——规划、协调机器人各关节的运动,轨迹控制
作业控制器——环境检测,任务规划,确定所要进行的作业流程
决策系统
感知+规划
结构
一般构成
一组刚体(连杆)之间通过运动副(关节)连接
关节分类
旋转关节R
移动关节P
串并联
串联机器人
并联机器人
常见结构形式
关节型——RRR
实物图
连杆:基座Base、机体body、上臂upper arm、前臂forearm
关节:腰waist,肩shoulder,肘elbow
关节轴线
球坐标式——RRP
实物图
工作空间
SCARA式——RRP
实物图
工作空间
圆柱坐标式——RPP
实物图
工作空间
直角坐标式——PPP
实物图
工作空间
技术指标
自由度DoF
六个自由度
一般的机器人拥有六个独立的自由度
三个自由度:靠近基础的三个关节构成机器人本体,确定手腕中心位置; 三个自由度:构成手腕(Wrist),确定终端执行器的姿态
少于六个自由度
不能以任意姿态到达空间中的每个位置
应用于码垛、装配、搬运等特殊领域
多于六个自由度
独立关节数大于六的机器人成为冗余机器人
冗余自由度使机器人可以实现回避障碍、穿越狭窄空间等目标
工作空间
机器人执行所有可能的运动过程中, 末端执行器的原点(TCP)能够到达的所有点的集合
灵活工作空间
机器人执行所有可能的运动过程中, 末端执行器的原点(TCP)能够以任意姿态到达的所有点的集合
平面3R操作机
位形空间
位形
用关节变量值的集合q=(q1,q2,…,qn) 来表示机器人的位形, 称机器人处于位形q(转动关节 q i = θ i ,移动关节 q i = d i)
位形空间
所有位型的集合被称作位形空间
维数
位形空间的维数等于机器人的自由度数
定位精度
绝对定位精度
对机械臂能以何种接近程度到达工作空间内给定点的能力的一种度量, 机器人末端参考点实际到达的位置与所需要到达的理想位置之间的差距
重复定位精度
衡量一列误差值的密集程度,即重复度
分辨率
机器人能够实现的最小运动增量, 通常由控制器可检测到的最小运动增量决定,例如关节编码器的精度
负载能力
额定负载, 也称持重。正常操作条件下,作用于机器人手腕末端, 不会使机器人性能降低的最大载荷。目前,使用的工业机器人负载 范围可从 0.5kg直至 2300kg 。
工作速度
机器人在工作载荷条件下、匀速运动过程中,机械接口中心或工具 中心点在单位时间内所移动的距离或转动的角度; 包括关节速度和末端速度;速度是影响机器人生产效率的重要指标。
后续内容
正运动学
正运动学方程
DH约定
旋转矩阵、齐次坐标、齐次变换
逆运动学
0、1、2、无数个都可能
速度运动学
雅可比矩阵
奇异位形
路径规划和轨迹生成
路径规划
路径是位置的姿态信息的编码,并不考虑时间信息
轨迹生成
确定机械臂沿给定路径运动的时间序列,确定机械 臂沿给定路径运动的时间序列,多项式插值方法
关节控制
动力学
拉格朗日动力学
牛顿-欧拉递归方法
视觉与控制
视觉伺服方法
运动学基础
预备知识
向量空间
向量内积
向量的长度
向量叉积
大小、方向
混合积
一个数,几何意义
矩阵计算
矩阵乘法
数量乘积
坐标系
右手系
线性变换
线性变换矩阵左乘该向量
旋转、镜像、投影——常用的线性变换
投影变换
刚体运动
刚体运动的条件
任意两点距离不变
不会从右手系变为左手系
刚体变换
条件
等距变换
叉积不变
正交系变换成正交系
刚体运动
相对一点的平移+转动
旋转矩阵
坐标系
刚体坐标系(运动坐标系)B
固结在刚体上的坐标系
参考坐标系A
初始状态与B重合,惯性坐标系
旋转矩阵
独立变量数
约束方程
旋转矩阵每一列都是单位向量
旋转矩阵的各列相互正交
9个元素之间存在6个约束方程,3个独立变量
物理意义
运动坐标系相对参考坐标系的姿态描述
坐标变换
pa、pb是相对于不同坐标系而言的,但时间相同
刚体旋转运动
pa、pb都是相对于参考坐标系而言的,但时间不同;
旋转矩阵的性质
旋转矩阵是特殊正交阵
转置和逆矩阵相等
行列式等于1
其他
相对参考坐标系,旋转矩阵和旋转运动一一对应
单位矩阵表示特殊的旋转状态
多次旋转仍然是旋转运动,特殊正交阵相乘仍然是特殊正交阵
旋转矩阵的逆矩阵表示反向旋转
绕坐标轴的旋转矩阵
区别右乘和左乘
右乘:连续运动,即运动坐标系之间相对旋转
左乘:假象每次旋转都从参考坐标系开始
旋转矩阵的通式
理论基础
叉积矩阵
运算符号
性质
欧拉定理
特征值、特征向量
特征矩阵、特征多项式、特征方程
旋转轴对应的方向向量,为R的特征值=+1对应的特征向量
通式
正向问题
已知转轴位置向量e和转动角度,可以求得旋转矩阵R
逆向问题
已知旋转矩阵求转轴和转角
分析
旋转矩阵R的笛卡尔分解
矩阵的迹
计算转角
计算转轴
思路
先验证矩阵的特殊正交性
根据绝阵的迹计算出转角,正弦值大于等于0选取角度
根据笛卡尔分解求出反对称矩阵Rss,进而求出叉积矩阵和转轴向量
旋转矩阵的合成
关于运动坐标系合成
连续的两次坐标变换,按旋转顺序右乘
关于参考坐标系合成
左乘,逐步溯回在参考坐标系下的坐标
运动右乘,参考左乘
旋转矩阵的参数化描述
欧拉角
ZYZ
ZYX
RPY
单位四元数
齐次变换
齐次坐标
齐次变换矩阵
齐次变换的逆变换
齐次变换矩阵相乘
齐次变换矩阵可以描述刚体平移与转动的合成
操作臂运动学
正运动学方程
Denavit-Hartenberg约定
建立连杆坐标系
建立基坐标系
依次确定第i个坐标系的Zi轴
确定第i个坐标系的原点Oi和Xi轴
Xi与Zi-1轴垂直相交
D-H参数
连杆长度ai 连杆扭角αi 连杆偏置di 关节转角θi
相邻坐标系变换矩阵
基础坐标系->工具坐标系
逆运动学
逆运动学关注的主要问题是,给定末端执行器的位置和方向,求解相应的联合变量集。
运动解耦
适用于:具有6个关节且最后3个关节轴线交于一点的机械臂(腕关节)
解耦
逆向位置
先根据腕心位置求解前三个关节转角
逆向姿态
在根据目标姿态确定后三个关节转角
解耦依据
最后3个关节的运动不会改变腕心的位置, 此腕心仅仅是前3个关节变量的函数
腕心位置和目标姿态相当于是已知的
 
逆向位置
指前三个关节变量
几何解法
腕心的特殊位置
①位于z1轴上
无数个解,奇异位形需要避免
设计关节偏置
②位于对着的象限
关节偏置后存在4个解
左手臂解、右手臂解
逆向姿态
指后三个关节变量
逆向姿态存在2个解,综合来看一共有8个解
存在奇异位形,θ5=0时,只有θ4+θ6之和可以确定
肘形机械臂完整逆解
运动学算法总结
正运动学算法
①找到并标记各关节轴z0,...,zn-1; ②建立基础坐标系,在z0轴上选取原点,建立右手坐标系; ③选取能够确定的坐标原点,如果zi-1与zi相交,则选取交点为zi轴原点; ④根据D-H约定确定x轴,xi需要与zi-1垂直相交,如果zi-1与zi相交,取交点作公垂线即为xi,如果zi-1与zi平行,取xi与zi-1垂直相交,并过zi-1的原点; ⑤按照右手坐标系确定y轴; ⑥建立末端坐标系,其中zn=a轴沿着旋转轴zn-1的方向,坐标原点设置在夹具的中心或在机械手可能携带的任何工具的顶端,在夹持器闭合的方向上设置yn=s,根据右手坐标系确定xn=n=s×a; ⑦创建D-H参数表(ai, di, αi, θi); ⑧将参数带入齐次变换矩阵Ti; ⑨将齐次变换矩阵连乘,得到在基础坐标系下表示的工具坐标系的位置和方向;
逆运动学算法
①先根据末端位置求出腕心的位置(利用初始末端位置求即可,因为后三个变量对腕心位置无影响); ②利用正运动学算法中的参数计算出R03; ③找到满足对应旋转矩阵(方程组)的欧拉角
速度和角速度
向量的反对称矩阵
反对称矩阵的性质

旋转矩阵的导数
旋转矩阵基本性质
两边求导得
定义矩阵
反对称矩阵
导数化为乘积
旋转矩阵R的导数,等同于乘以一个反对称矩阵S的矩阵乘法操作
一般地
固定转轴情形
角速度
k是旋转轴线的方向向量
线速度
r是从原点(位于旋转轴上)到该点的向量
一般情况
角速度
R(t)对时间的导数
旋转后的向量的导数
旋转产生的线速度
因此S(t)
角速度相加
如果角速度是相对于同一个参考坐标系表达的,那么它们可以叠加在一起
因此,我们可以将机器人各个关节引起的角速度表示在基坐标系里,然后 求和,从而确定末端执行器相对于基座的角速度
线速度
固联在运动坐标系上一点
其中r是o1到p的向量在坐标系o0x0y0z0中的表达式,v是原点o1的运动速度
点p相对于坐标系o1x1y1z1运动
加入p1坐标变化速率在o0x0y0z0中的表达式 Rp 1
雅可比矩阵计算速度
形式
矩阵J就被称为机械臂的雅可比矩阵
J是一个6×n的矩阵,n是机器人连杆的数量
角速度部分
第i个关节是转动关节
第i个关节是平动关节
末端执行器相对于基坐标系的总的角速度
关节i为转动关节时,ρi=1;平动关节时,ρi=0
线速度部分
微分链式法则
固定除第i个关节之外的所有关节,同时以单位速度驱动第i个关节,则此时末端的线速度与雅克比矩阵的第i列相同。
第i个关节是平动关节
其余所有关节都被固定
即为zi-1轴在极坐标系下的单位方向向量
第i个关节是转动关节
其余所有关节都被固定
末端执行器的线速度可以被表示为w×r的形式

整体矩阵
计算雅可比矩阵只需要知道单位向量zi以及原点o1,o2,…,on的坐标;
雅可比矩阵适用于计算机械臂上任何一点的速度
雅可比矩阵中的每一项的意义
每一个单独的转动(平动)对末端执行器转动(平动)的影响系数
静态力/力矩的关系
雅克比矩阵在末端执行器力和关节力矩之间也产生映射关系
推导这个关系的一个方法是通过虚功原理,在此不详细探讨
根据末端力求关节力矩的例子
 
奇点
矩阵J必须要拥有6个线性独立的列向量,以便末端执行器能够达到任意速度
矩阵的秩
矩阵的秩(rank)等于矩阵中线性独立的列(或行)的数模,因此当 ,末端执行器可以以任意速度运行
奇异位形或奇点
矩阵的秩并不总是恒定不变的,机械臂的雅可比矩阵的 秩取决于位形q,与矩阵J(q)的秩小于其最大值情况 相对应的位形被称为奇异位形或奇点

奇点解耦
解耦情形
如带有球形手腕的机械臂
解耦举例
一个由3自由度手臂和一个3自由度球形手腕构成的机械臂
6×6矩阵分解
化简

上面解耦举例的 奇异位形
满足detJ11=0的手臂位形集合以及满足detJ22=0的手腕位形集合的并集
手腕奇点
列向量相关时,球形手腕处于奇异位形
当关节轴线z3和z5共线,即当θ5=0或π时,会产生奇异
他们是球形手腕仅有的奇点,且无法避免,除非用机械 限位来限制其运动范围
手臂奇点
仅需计算detJ11,计算时可以用腕心oc替代on
例1 肘形机械臂的奇点
  
例2 SCARA机械臂的奇点

逆速度和加速度
正速度
关节速度->末端执行器速度
逆速度
末端执行器速度->关节速度
当雅克比矩阵为方阵且非奇异时
对于并非正好有6个关节的机械臂,其雅克比矩阵不可 逆。此时逆速度问题有解当且仅当
对于n>6的情形,我们可以使用J的右伪逆矩阵来求解
构造
称J+为J的右伪逆矩阵
逆解有很多
关节速度的解

其中第一项是特解,整个式子就是通解
b的取值任意,b=0所对应的解可以使关节速度最小化
分析雅可比矩阵
关节角速度->末端执行器速度
求导,得到加速度的表达式
末端执行器加速度->瞬时关节加速度
操作臂运动学MATLAB编程实例
编程思路
正运动学程序
定义末端位姿计算函数
定义6个关节角变量
直接根据矩阵连乘结果定义齐次变换矩阵的每一项
逆运动学程序
运动解耦
位置求解
腕心位置
左臂解、右臂解
上肘解、下肘解
一共有四个解
姿态求解
两个解
当不满足计算要求时,应处理成无解
奇异位形
从中任取一解
含编程数据与实验数据的对比
标定与编程
机器人标定
工业机器人坐标系

关节空间
关节坐标系
笛卡尔空间
大地(世界)坐标系、基坐标系、末端坐标系、 工具坐标系、工件坐标系
大地坐标系
建立在工作单元或工作站中的固定坐标系,用于确定若干个机 器人或带外部移动轴的机器人的位置
基坐标系
机器人其他坐标系的参照基础,是该机器人的固有属性,设计 之初即已确定。原点一般定义在机器人安装面与第一个转动轴 的交点处,X轴向前,Z轴向上。一般用{B}表示
工具坐标系
用来定义工具中心点(TCP)的位置及姿态,固联在工具上, 使用前需进行标定,一般用{T}表示。默认的工具坐标系与连 杆末端坐标系{E}重合
工件坐标系
又称用户坐标系,是以基坐标系为参考,在工件上建立的坐标 系。用于记录工件上各个点的位置。当机器人运行轨迹相同、 工件位置不同时,只需更新工件坐标系即可,不需重新编程
标定什么
使用工业机器人之前,至少需要建立两个坐标系,即工具坐 标系和工件坐标系,以方便调试并记录工具及工件信息
工具坐标系标定
什么是工具坐标系标定

机器人工具是固结于末端连杆上的,与工具几何形状有关,故 更换工具后必须进行标定
用ETT的表示末端连杆坐标系到工具坐标系的位姿关系,工具 坐标系的标定就是确定ETT
具体而言,就是确定ETT的元素

标定步骤——多点标定法
找固定参考点
在机器人工作范围内找一个非常精确的固定点作为参考点
确定位置:4种工具姿态接触参考点
操纵机器人,至少用4种不同的工具姿态,使TCP点接触参考点, 记录所有位置标定点的{E}到{B}的变换矩阵BTE1 ,BTE2 ,…, BTEn(n为标定点数),即可计算出工具坐标系相对于末端连 杆坐标系的位置
确定姿态:再找2个姿态标定点x,z
坐标系原点确定后,以某个姿态标定点o为参考,将TCP沿标 定点的工具坐标系+X方向移动一定距离作为第2个姿态标定点 x,将TCP沿标定点1的工具坐标系﹢Z方向移动一定距离作为第 3个姿态标定点z。记录3个标定点的{E}到{B}的变换矩阵BTEo , BTEx和 BTEz,通过计算,即可得到工具坐标系相对于末端连 杆坐标系的姿态。
标定原理——位置标定
固定参考点的道理

方程式解的情形
两个点无法进行标定

三个点以上的近似解

数学基础
不相容方程组的最小二乘解

广义逆矩阵

具体标定的最小二乘解

标定原理——姿态标定
在EPtcp已经标定出来的前提下,可以知道姿态标定时工具TCP 点相对于基坐标系{B}的位置

{T}的X轴相对于{E}的方向余弦
 
{T}的Z轴相对于{E}的方向余弦

{T}的Y轴相对于{E}的方向余弦

为了保证坐标系主矢量的正交性,还需要对Z轴方向余弦重新做处理

例题
问题描述

实验数据

解题方法

工件坐标系标定
什么是工件坐标系标定
为了表征工件的位姿,在工件上定义一个坐标系,用BTU表示 工件坐标系相对于机器人基坐标系的位姿,工件坐标系的标定 就是确定BTU,具体而言,就是确定BTU的元素

标定步骤——三点法
选择工具坐标系
选择合适的工具坐标系{T}
确定工件坐标系原点
操纵机器人,将工具的TCP点移动到工件上合适的位置(便于 编程的位置),计算出TCP点在基坐标系{B}下的坐标,作为工 件坐标系{U}的坐标原点
确定工件坐标系X轴
操纵机器人,从原点开始沿期望作为工件坐标系X轴的方向移 动一段距离,计算出TCP点在基坐标系{B}下的坐标,进而通过 坐标原点的坐标,计算工件坐标系{U}的X轴方向余弦
确定工件坐标系Y轴
操纵机器人,从原点开始沿期望作为工件坐标系Y轴的方向移 动一段距离,计算出TCP点在基坐标系{B}下的坐标,进而通过 坐标原点的坐标,计算工件坐标系{U}的Y轴方向余弦
确定工件坐标系Z轴
根据右手定则,确定工件坐标系{U}的Z轴方向余弦
标定原理

工件原点在基坐标系下的坐标

{U}的X轴相对于{B}的方向余弦

{U}的Y轴相对于{B}的方向余弦

根据右手定则及保证主向量的正交性原则

标定的反思
标定是机器人学的常见概念(calibration)
常见的标定
机器人运动学参数标定
机器人动力学参数标定
相机标定
手眼标定
具体方法不一而足,核心目标和思想是相通的
思考作业
简要回答工具坐标系及工件坐标系标定的实际操作中,有哪些因素 可能会影响标定的精度?有什么办法可以提高精度?以及如何快速 方便地验证建立的工具坐标系、工件坐标系是否正确?
机器人编程方式
编程内容
运动轨迹

位置坐标、插补方式、移动速度、空走点/作业点
作业条件
弧焊作业时的电流、电压、速度和保护气体流量
点焊作业时的电流、压力、时间和焊钳类型
涂装作业时的液体吐出量、旋杯旋转速度、扇幅气压、电压
作业顺序
机器人与外部设备,如变位机、移动滑台、工具快换装置的动作顺序
编程方式
示教再现

由操作人员手持示教器引导,控制机器人运动,记录机器人作 业的程序点并插入所需的机器人命令来完成程序的编制
简单直观、易于掌握,是工业机器人目前普遍采用的编程方式
特点
利用了机器人具有较高重复定位精度的优点
现场近距离示教操作,有一定危险性
示教过程繁琐、费时、劳动强度大
高精度、复杂运动轨迹难以取得令人满意的效果
无法与CAD/CAM技术相连接
因此,适应于大批量生产、工作任务简单且不变化的机器人作 业任务编制
离线编程

利用计算机图形学技术,建立机器人及其工作环境的几何模型, 通过对图形的控制和操作,使用机器人编程语言描述作业任务, 然后对编程的结果进行三维图形动画仿真,离线计算、规划和 调试机器人程序的正确性,并生成机器人控制器可执行的代码, 最后通过通信接口发送至机器人控制器
特点
程序易于修改,适合中、小批量的生产要求
能够实现多台机器人和辅助外围设备的编程和协调
能够实现基于传感器的自动规划功能
增加安全性
要求编程人员有一定的预备知识
离线编程软件需要额外的投入
常见的编程与仿真软件

工业机器人编程简介(ABB)
程序存储结构
程序、模块和例行程序

主程序

程序存储器

特点
机器人程序存储器是由程序模块与系统模块组成
机器人程序存储器中,只允许存在一个主程序
所有例行程序与数据无论存在于哪个模块,全部被系统共享
所有例行程序与数据除特殊定义外,名称必须是唯一的
所有例行程序与数据除特殊定义外,名称必须是唯一的
程序数据
常见的程序数据类型

程序数据的存储类型

VAR
执行过程中可以对VAR存储类型的程序数据进行赋值操作,当程 序指针被移动到主程序后,数值会丢失
PERS
执行过程中可以对PERS存储类型的程序数据进行赋值操作,无 论程序的指针如何,都会保持最后的赋值
CONST
定义时赋值,不能在程序中进行修改
基本指令与功能
RAPID语言
ABB机器人的编程语言,所包含的指令可以移动机器人、设置 输出、读取输入,还能实现决策、重复、构造、交互等功能
基本指令
赋值指令
运动指令
I/O控制指令
条件逻辑判断指令
运动指令
MOVEL

机器人的TCP从起点到终点之间的路径始终保持为直线,机器人 运动状态可控,运动路径保持唯一,可能出现奇异点,常用于对 路径要求高的场合
MOVEJ

机器人以最快捷的方式运动至目标点,机器人运动状态不可控, 但运动路径保持唯一,常用于机器人在空间大范围移动
使用关节插补的方式完成
MOVEC

机器人通过中间点以圆弧移动方式运动至目标点,当前点、中间 点与目标点三点决定一段圆弧,机器人运动状态可控,运动路径 保持唯一,常用于机器人在工作状态移动
MOVEABSJ

机器人以单轴运动的方式运动至目标点,不存在奇异,运动状态 完全不可控,常用于机器人回机械零点
运动指令中的Fine与Zone

Zone指机器人TCP不达到目标点,连续运行时,机器人动作圆滑、 流畅
Fine指机器人TCP达到目标点,并在目标点速度降为0,连续运 行时,机器人动作有停顿
参考资料
《工业机器人实操与应用技巧》
《ABB六轴机器人入门实用教程》