计算正向运动学通常需要使用D-H参数法对机械臂建模。 第一步: 绘制机械臂模型图 可用手绘机械臂结构简图或者模型图,使用圆柱体代表转动关节和线表示的连杆,当写论文的时候,可以使用PPT或者CAD来绘图,ppt里面提供了很多现成的线条形状,通过组合功能可以设计出很nice的结构,用来画简图绰绰有余。百度搜索运动学图表或者google搜索kinematic diagram来获取些许参考。
第二步: 找出你的坐标轴 完成结构简图的绘制之后, 通过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 轴之间的夹角 其中θ和α 的方向如图所示:
D-H 方法是最常见的正向运动学方法,它的缺点之一是不能很好地处理平行的 z 轴。 有各种各样的选择,包括螺旋理论表示,Hayati-Roberts,和其他几何模型。这些可能(也可能不是)是更好的方法。大多数运动学库都是能接受 D-H 参数的。 第四步: 实例
对于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,如图:
左图中第一个关节和第二个关节之间是有一个偏置的,而我设计的机械臂是右边这种没有偏置的,它们末端的三个自由度都是一样的,相较于一点,因此这两种结构的逆解还是比较相似的。先看末端三个自由度的D-H 参数,两种结构是一样的:
通过解方程式的方式很难直接以封闭形式求解,大多数机器人手臂就是这种情况。 因此,我们需要利用系统的运动学结构的进行分析。 而正向运动学问题始终具有独特的解决方案,可以通过评估正向方程,逆运动学问题简单地获得可能有解决方案,也可能没有解决方案。 即使存在解决方案,它也可能是唯一的,也可能不是唯一的。