机器人数值解逆解
参考文献
- 《机器人学建模、规划与控制》 西安交通大学出版社(翻译的很差!公式有很多错误!建议参考原版)
- Robotics_Modelling Planning and Control Springer
- MATLAB机器人工具箱中机器人逆解是如何求出来的
逆运动学算法
末端执行器位置和方向的期望值和实际值之间的操作空间误差。令
e = x d − x e \textbf{e}=\textbf{x}_d-\textbf{x}_e e=xd−xe
表示这种误差,对时间求导
e ˙ = x ˙ d − x ˙ e \dot{\textbf{e}}=\dot{\textbf{x}}_d-\dot{\textbf{x}}_e e˙=x˙d−x˙e
根据微分运动学,上式可以写成
e ˙ = x ˙ d − J A ( q ) q ˙ \dot{\textbf{e}}=\dot{\textbf{x}}_d-\textbf{J}_A(\textbf{q})\dot{\textbf{q}} e˙=x˙d−JA(q)q˙
在矩阵 J A \textbf{J}_A JA为非奇异矩阵的假定下(当其为奇异矩阵的情况下只能用SVD方法求其“伪逆”),选择
q ˙ = J A − 1 ( q ) ( x ˙ d + Ke ) \dot{\textbf{q}}=\textbf{J}_A^{-1}(\textbf{q})(\dot{\textbf{x}}_d+\textbf{K}\textbf{e}) q˙=JA−1(q)(x˙d+Ke)
得到等价的线性系统
e ˙ + Ke = 0 \dot{\textbf{e}}+\textbf{K}\textbf{e}=\textbf{0} e˙+Ke=0
其中系统的稳定与否取决于 K \textbf{K} K(通常为对角矩阵),一般的其对角元素的范围是 [ 0 , 1 / ( 采 样 时 间 ) ] [0,1/(采样时间)] [0,1/(采样时间)]。控制框图如下:
其中 k ( . ) \textbf{k}(.) k(.)是正运动学。
J A − 1 \textbf{J}_A^{-1} JA−1的求法
一般的 J A \textbf{J}_A JA不为方阵,因此只能求出 J A \textbf{J}_A JA的伪逆
注意
在这种迭代求解的情况下需要注意奇异位置!