【机器人】基于向量积法的雅可比矩阵求解和应用

1.前言

最近在做轨迹规划控制,没错,是控制,导师让新加到毕设上的。搞了一周,今天总算是出来了,这里写一下总结一下雅可比矩阵的求解和控制的思路(控制算法不再赘述,太基础了)。

本文以末端关节坐标系为工具坐标系,即工具大小为0,如果有工具大小要求,则直接修改即可,不再赘述

2.基于向量积法的雅可比矩阵求解

这个方法网上资料、文献已经讲烂了,对于六关节机械臂,其雅可比矩阵的第n列可表示为

J_n=\begin{matrix} Z_n\times ^nP^0_6\\ Z_n \end{matrix}

其中,Z_n表示第n个(n=1,2,...,6,后文同)关节坐标系的Z轴旋转分量,也就是第n个坐标系相对于基坐标的旋转矩阵R的第3列,或者是第n个坐标系相对于基座标系的齐次变换矩阵(4X4)的第3列,前3行。

^nP_6^0为末端关节(工具)坐标系的原点相对于第n个关节坐标系的位置向量,将其通过旋转矩阵转为在基座标系0中表示,即

^nP_6^0=^0R_n\cdot ^nP_6,其中,^nP_6为从第6坐标系原点到n坐标系原点的位置向量在n坐标系中的表示,即从n坐标系到6坐标系的齐次变换矩阵的第四列,前3行。

至此,便可将雅可比矩阵每一列求出,最后组合在一起即可。

3.在轨迹规划控制中的应用

本小节只写思路,如果需要代码,可以私信联系我。

\dot{x}=J\dot{\theta}

\dot{\theta}看作控制量u,即可按照一般的非线性系统的控制器设计方法进行控制器设计,使末端速度\dot{x}或者积分后求得的位移x能够跟踪上给定的信号。注意,\dot{x}为行数为6的列向量,即分为:x方向线速度、y方向线速度、z方向线速度、x轴角速度、y轴角速度、z轴角速度。

给定信号也就是机械臂末端执行器在笛卡尔空间中的速度轨迹、位置轨迹……可以通过梯形速度规划、S型速度规划等笛卡尔空间轨迹规划方法得到末端执行器的速度轨迹,求出其x.y.z方向分量即可作为控制的参考轨迹。

因为雅可比J也是一个关于角度θ的函数,所以每当我们求出一个\dot{\theta}值后,需要将其迭代到角度上,注意采样时间间隔,我之前就是没注意这个,一直调不出来。

\theta_{n+1}=\theta _n+\dot{\theta}\cdot \delta T

4.Matlab代码

因为还在做毕业设计期间,代码就不贴出来了,可以CSDN上私信我。

你可能感兴趣的:(机器人控制学习)