仿人型手腕 6R机械臂 D-H参数和运动学逆解

计算正向运动学通常需要使用D-H参数法对机械臂建模。

第一步: 绘制机械臂模型图

可用手绘机械臂结构简图或者模型图,使用圆柱体代表转动关节和线表示的连杆,当写论文的时候,可以使用PPT或者CAD来绘图,ppt里面提供了很多现成的线条形状,通过组合功能可以设计出很nice的结构,用来画简图绰绰有余。百度搜索运动学图表或者google搜索kinematic diagram来获取些许参考。

仿人型手腕 6R机械臂 D-H参数和运动学逆解_第1张图片

仿人型手腕 6R机械臂 D-H参数和运动学逆解_第2张图片

第二步: 找出你的坐标轴

完成结构简图的绘制之后, 通过D-H参数法为每运动关节分配坐标轴。如果轴分配准确,之后的工作就比较容易。这些轴是计算参数模拟器,逆运动学求解器的基础。从油管上下载的视频可供参考:https://www.youtube.com/watch?v=rA9tm0gTln8 视频讲解的还是比较清楚的,这里就当笔记记下来了。

  • Z-axis — Z 轴ー The z-axis should lie on the axis of rotation for a revolute joint or axis of extension for a prismatic joint. Z 轴就是关节的旋转轴或滑动关节的移动方向
  • X-axis — X 轴ー The x-axis should lie along the "common normal", which is the shortest orthogonal line between the previous z-axis and the current z-axis  当前关节的Z轴和前一关节Z轴的公共垂线,是最短的正交线
  • Y-axis — Y 轴ー Once you've calculated the other two, this axis should fall into place by following the "right hand rule" (see below)第三个轴根据右手定则即可确定
  • 通过Z轴和X轴的确定,就确定了坐标系的位置,因此除了第一个坐标系的建立是通过指定x轴,其余坐标系都是根据上个坐标系Z轴确定的,所以坐标系原点可能出现在很奇怪的位置(视频中提到的)

一般情况使用三种颜色绘制坐标轴: z 轴(蓝色)、 x 轴(红色)和 y 轴(绿色)。 这也是 ROS 的 RViz 可视化工具中使用的着色方案。

第三步: 末端执行器坐标系

计算正向运动学的目的是能够从关节的位置计算末端执行器的姿态。因此在制定运动学模型时,最好也应该仔细考虑末端执行器的坐标系建立。

第四步: 计算 D-H 参数

Dh 参数将机器人的每个关节分解成四个参数,每个参数都与之前的关节相关。 

  • d - the distance between the previous x-axis and the current x-axis, along the previous z-axis. - 前一个 x 轴与当前 x 轴之间的距离,沿前一个 z 轴
  • θ - the angle around the z-axis between the previous x-axis and the current x-axis. - 先前的 x 轴和当前的 x 轴之间围绕 z 轴的角度
  • a - the length of the common normal, which is the distance between the previous z-axis and the current z-axis - 公共垂线的长度,即前 z 轴与当前 z 轴之间的距离
  • α - the angle around the common normal to between the previous z-axis and current z-axis. - 公垂线与前 z 轴和当前 z 轴之间的夹角

其中θ和α 的方向如图所示:

仿人型手腕 6R机械臂 D-H参数和运动学逆解_第3张图片

D-H 方法是最常见的正向运动学方法,它的缺点之一是不能很好地处理平行的 z 轴。 有各种各样的选择,包括螺旋理论表示,Hayati-Roberts,和其他几何模型。这些可能(也可能不是)是更好的方法。大多数运动学库都是能接受 D-H 参数的。

第四步: 实例

仿人型手腕 6R机械臂 D-H参数和运动学逆解_第4张图片

仿人型手腕 6R机械臂 D-H参数和运动学逆解_第5张图片

仿人型手腕 6R机械臂 D-H参数和运动学逆解_第6张图片

对于UR的根据D-H参数逆解的步骤可以参考https://www.zhihu.com/question/47605775/answer/113477680?from=profile_answer_card

第五步: Inverse kinematic运动学逆解

本次设计的机械臂是6R仿人型手臂 Anthropomorphic arm with spherical wrist,和PUMA不太一样的是,参数d=0,如图:

仿人型手腕 6R机械臂 D-H参数和运动学逆解_第7张图片仿人型手腕 6R机械臂 D-H参数和运动学逆解_第8张图片

左图中第一个关节和第二个关节之间是有一个偏置的,而我设计的机械臂是右边这种没有偏置的,它们末端的三个自由度都是一样的,相较于一点,因此这两种结构的逆解还是比较相似的。先看末端三个自由度的D-H 参数,两种结构是一样的:

仿人型手腕 6R机械臂 D-H参数和运动学逆解_第9张图片 仿人型手腕 6R机械臂 D-H参数和运动学逆解_第10张图片

仿人型手腕 6R机械臂 D-H参数和运动学逆解_第11张图片

通过解方程式的方式很难直接以封闭形式求解,大多数机器人手臂就是这种情况。 因此,我们需要利用系统的运动学结构的进行分析。 而正向运动学问题始终具有独特的解决方案,可以通过评估正向方程,逆运动学问题简单地获得可能有解决方案,也可能没有解决方案。 即使存在解决方案,它也可能是唯一的,也可能不是唯一的。

仿人型手腕 6R机械臂 D-H参数和运动学逆解_第12张图片

仿人型手腕 6R机械臂 D-H参数和运动学逆解_第13张图片

仿人型手腕 6R机械臂 D-H参数和运动学逆解_第14张图片

仿人型手腕 6R机械臂 D-H参数和运动学逆解_第15张图片

仿人型手腕 6R机械臂 D-H参数和运动学逆解_第16张图片

 

 

 

 

 

你可能感兴趣的:(ROS机械臂)