一 说在前头
最近在学习《机器人学导论》(‘Introduction to ROBOTICS’-JOHN CRAIG),文章内容为学习过程中的摘抄或者感悟,方便今后查阅。
这一章将讨论机械臂逆运动学的问题,即给定末端坐标系的位姿,那么每个关节的关节角分别应该是多少?有多少种组合?
二 解的存在性
2.1 工作空间
工作空间:机械臂末端执行器所能到达的范围。
灵巧工作空间:机械臂末端执行器能够从各个方向到达的空间区域。
可达工作空间:机械臂末端执行器至少从一个方向上可以到达的空间。
灵巧工作空间是可达工作空间的子集,解的存在的前提是目标点必须在工作空间内。
如下图所示,如果L1=L2,则可达工作空间为A到B的距离L1+L2,灵巧工作空间为原点B。
通常机械臂的关节越多,机械臂的自由度就越高,那么可达工作空间往往就越大,当机械臂少于6个自由度时,它就不能达到三维空间内一般的目标点。
工作空间也取决于工具坐标系的变换,因为所讨论的工具端点一般就是我们所说的可达空间点。一般来说,工具坐标系的变换与操作臂的运动学和逆向运动学无关,所以一般常去研究腕部坐标系{W}的工作空间。对于一个给定的末端执行器,定义工具坐标系{T},给定目标坐标系{G},去计算相应的坐标系{W}.接着我们会问: {W}的期望位姿是否在这个工作空间内?这里,我们所研究的工作空间(从计算的角度出发)与用户关心的工作空间是有区别的,用户关心的是末端执行器的工作空间( {T}坐标系)。
如果腕部坐标系的期望位姿在这个工作空间内,那么至少存在一一个解。
2.2 多解问题
在求解运动学方程时可能遇到的另一个问题就是多解问题。给定一个目标点,机械臂各关节可能会有多种不同数值组合满足给定条件。但系统最终只能选一个解,如何最优地选择解也是另外一个研究方向。
解的个数不仅取决于机械臂的关节数量,它还是连杆参数和关节运动范围的函数。通常,连杆的非零参数越多,到达某一特定目标的方式就越多。下图表明解的最大数目与等于0的连杆长度参数的数目有关。非零参数越多,解的最大数目就越大。
2.3 解法
所有包含转动关节和移动关节的串联型6自由度机构均是可解的。
具有6个旋转关节的机械臂存在封闭解的充分条件是相邻的三根关节轴相交于一点。
2.4 代数解法例题
以第3章中所介绍的三连杆平面操作臂为例,它的连杆参数如图所示。
按照第3章中所介绍的方法,应用这些连杆参数很容易求得这个机械臂的运动学方程:。
2.4.1 求解θ2
这里计算用到了
为了集中讨论逆运动学问题,我们假设腕部坐标系相对于基坐标系的变换,即BWT已经完成,因此目标点的位置已经确定。由于我们研究的是平面操作臂,因此通过确定三个量x,y和φ很容易确定这些目标点的位置。
则有
得到
即求解出θ2
2.4.2 求解θ1
令
则
设
且
则有
在
两边同时除以r得到
化简得
求解得到θ1
2.4.3 求解θ3
由
可以求出θ3
2.5 通过化简为多项式的代数解法
超越方程往往很难求解,即使只有一个变量(如θ),因为它一般常以sinθ和cosθ的形式出现。可进行下列变换,用单一变量u来表示:
三 机械臂逆运动学实例
3.1 三轴相交的Pierper解法
四次多项式具有封闭形式的解,所以用4阶(或低于4阶)的代数方程求解操作臂是相当简单的,这种操作臂被称为封闭解操作臂。
一般的6自由度机械臂没有封闭解,只在某些特殊情况下才有解。Pieper 研究了3个相邻的轴相交于一点的6自由度操作臂。这种方法是针对6个关节均为旋转关节、且后面3个轴相交的操作臂。
前文提到可以用ABR和APBORG来描述位姿{B},其中APBORG是确定位姿{B}的原点的位置矢量:
也可以写作
其中,4X4的矩阵被称为齐次变换矩阵,该形式便于后续的公式推导。
当最后3根轴相交时,连杆坐标系{4}, {5} 和{6}原点均位于这个交点上。这点的基坐标如下
由前文推导的连杆公式
可以得出第四列
即为3P4ORG
则有
或
其中
等式左右相等可得到
又
其中
最后可以作如下变换
书上的写法如下,不知道怎么得到的,看不懂了,以后回头再看看。
3.2 UR5机械臂逆运动求解
参考以下3篇文章:
UR机械臂正逆运动学求解
修正逆解文章——六轴UR机械臂正逆运动学求解_MATLAB代码(标准DH参数表)
六轴UR机械臂正逆运动学求解_MATLAB代码(标准DH参数表)