机械臂的D-H Model建立方法
D-H Model是一种通用的用来描述机械臂,建立机械臂的运动学模型的方法。其描述对象为关节Joint。当确立各Joint处的坐标系后,其描述的信息为当前Joint(以下记为0)的坐标系通过怎么样的转换关系可以到下一个Joint(以下记为1)的坐标系,因此Link的信息也包含在了Joint的D-H Model参数中。
由此带来的第一个问题也是特别容易混淆的问题是,Joint夹带的Link信息是其所连接的前一个还是后一个Link呢?这里我们把Joint和其所连接的前一个Link看做一个整体。由此第一个Joint无前一个Link, 这是没关系的
因为D-H Model描述的是坐标系的转换关系,因此我们先画出坐标系。以前两个关节为例抓, 在机械臂的初始位姿下:
令当前Joint的旋转方向或平移方向记为z0,z1; z0和z1的公共法向量记为z0; 由于y轴可以此自动确定,所以无需画出。
以此类推,画出所有关节的坐标系。
创建D-H Model的步骤为:
若Joint为旋转轴:
1.z0的旋转角度为变量,x0的方向随z0的转动而同步转动,记θ0为θ;
2.记z0与z1的夹角为α0;(z0逆时针旋转至z1为正向);
3.记沿x0方向上z0与z1的距离为a0;
4.记沿z0方向上z0与z1的距离为d0;(一般为link的长度)。
若Joint为平行轴:
1.z0不可旋转,x0的方向与初始位姿相同,记θ0为0;
2.记z0与z1的夹角为α0;(z0逆时针旋转至z1为正向);
3.记沿x0方向上z0与z1的距离为a0;
4.记沿z0方向上z0与z1的距离为变量,记d0为d;
思考:如何表示基座的信息呢?
一种做法是,考虑到基座的信息不会影响机械臂的运动,因此把基座顶端的关节视为第一个关节,不在D-H Model中表示基座的信息;
另外一种做法是,将基座底部视为一个旋转角度为0的旋转关节,将基座视为为Link1。则θ0为0,令a0为0,可记d0(基座的长度)和α0(一般为0或±90度)的信息。