目录
引言:机器人的运动学
运动学单纯研究机械臂的运动特性(位置、速度、加速度以及位置变量的所有高阶导数(对时间或者其他变量)),不考虑使机械臂产生运动时施加的力。
首先与研究静止时机械臂的位置和姿态。
如何去描述机器复杂的几何形状呢?方法是分别在操作臂的每个连杆上分别设置一个连杆坐标系,然后再描述这些连杆坐标系之间的关系
什么是连杆,如何表示连杆
什么是连杆?
类比人手的大臂和小臂,机器人操作臂也可以看成是由一系列由关节连接成的刚体,称作连杆
关节可被分为转动关节和移动关节,这里主要讨论常用的转动关节。
一般来说,机械臂有几个关节,这个机械臂就有几个自由度。
n \ \ n n个自由度的关节构成机械臂机构,就可以看做用 n n n个单自由度的关节把 n − 1 n-1 n−1个
一般从基座开始对连杆进行编号,称固定基座为连杆0,第第一个可动连杆为连杆1,以此类推……
如何表示连杆?
计算这两个参数需要用到两个轴,一个连杆。
把连杆看做刚体,如何描述两个轴之间的连杆的运动呢?
两岸运动的描述需要用到两个参数:连杆长度(
a
a
a)和连杆扭转角(
α
\alpha
α),如图:
连杆长度(
a
a
a):将两个轴延长,其公垂线总是存在的,而且是一个固定值。
关节轴
i
−
1
i-1
i−1 和关节轴
i
i
i 之间的公垂线长度记作
a
i
−
1
a_{i-1}
ai−1 ,即为连杆长度
连杆扭转角(
α
\alpha
α):将关节轴
i
−
1
i-1
i−1 和关节轴
i
i
i 的某一个轴沿着公垂线平移,使其相交,构成一个平面,在平面内使用右手定则从轴
i
−
1
i-1
i−1 绕
a
i
−
1
a_{i-1}
ai−1 转向
i
i
i 的夹角,记作
α
i
−
1
\alpha_{i-1}
αi−1,即为连杆扭转角
可以用这两个参数来定义空间中任意两条直线(关节轴)的关系
怎样连接连杆
计算这两个参数需要两个连杆,一个公共轴
在运动学分析中,将两个连杆连接在一起,不需要考虑特别复杂的因素,同样只需要掌握两个参数:连杆偏距( d d d)和关节角( θ \theta θ),这两个参数完全确定了两个连杆之间是如何连接的。考虑两种情况的连杆,对这两个参数进行定义。
对于处于运动链中间的连杆
连杆偏距(
d
i
d_i
di): 两个连杆连接在一起,有三个关节、两个公垂线,两个公垂线沿着两个连杆公共轴线方向的距离可以用连杆偏距描述。
如上图所示的互相连接的连杆
i
−
1
i-1
i−1 和
i
i
i 使用
a
i
−
1
a_{i-1}
ai−1 表示连接连杆
i
−
1
i-1
i−1 的两端关节轴的公垂线长度,
a
i
a_{i}
ai 表示连接连杆
i
i
i 的两端关节轴的公垂线长度;从公垂线
a
i
−
1
a_{i-1}
ai−1 与关节轴
i
i
i 的交点到公垂线
a
i
a_i
ai 与关节轴
i
i
i 的交点之间的有向距离即为两相邻连杆偏距
d
i
d_i
di
关节角(
θ
i
\theta_i
θi): 描述两相邻连杆绕公共轴线旋转的夹角,是一个变量。
平移使两公轴线相交,公轴线旋转的角度就是关节角
θ
i
\theta_i
θi
当关节是转动关节时,连杆偏距是常量,关节角是变量,若是移动关节,则与之相反。
对于处于运动链两端的连杆
处于运动链两端的连杆,他们的参数习惯设定为0,也就是说,假设对于一个具有转动关节的机械臂, a 0 a_0 a0 、 α 0 \alpha_0 α0、 d 1 d_1 d1都为 0 0 0, θ 1 \theta_1 θ1的值任选,实际上其实不需要定义 a n a_n an和 α n \alpha_n αn,在后面的DH参数表中会体现到。
连杆参数和连杆坐标系
连杆参数
至此我们知道,每个连杆都可以用四个运动学参数来表示,两个参数描述连杆本身,另外两个参数描述连杆之间的连接关系。
对于转动关节,有三个连杆参数是不变的,
θ
i
\theta_i
θi是关节变量。我们可以使用这些参数来描述机构的运动关系,这种规则称为DH方法
连杆坐标系
为了描述相邻两连杆之间的相对位置关系,需要在每个连杆上定义一个固连坐标系
建立连杆坐标系的步骤
- 找出各个关节轴,并标出这些轴线的延长线
- 找出关节轴 i i i 和 i + 1 i+1 i+1 之间的公垂线或关节轴 i i i 和 i + 1 i+1 i+1 的交点,以关节轴 i i i 和 i + 1 i+1 i+1 的交点或公垂线与关节轴 i i i 的交点作为连杆坐标系 { i } \{i\} {i} 的原点
- 规定 Z ^ \hat Z Z^ 轴沿关节轴 i i i 的指向
- 规定 X ^ i \hat X_i X^i 轴沿公垂线的指向,如果关节轴 i i i 和 i + 1 i+1 i+1 相交,则规定 X ^ i \hat X_i X^i 轴垂直于关节轴 i i i 和 i + 1 i+1 i+1 所在的平面
- 按照右手定则确定 Y ^ i \hat Y_i Y^i 轴
- 当第一个关节变量为0时,定坐标系 { 0 } \{0\} {0} 和 { 1 } \{1\} {1} 重合;对于最后一个坐标系 { N } \{N\} {N},其原点和 X ^ N \hat X_N X^N 的方向可以任选,但是尽量使连杆的参数为 0 0 0。
连杆参数在连杆坐标系的表示方法
- a i a_i ai = 沿 X ^ i \hat X_i X^i 轴,从 Z ^ i \hat Z_i Z^i 移动到 Z ^ i + 1 \hat Z_{i+1} Z^i+1 的距离
- α i \alpha_i αi = 绕 X ^ i \hat X_i X^i 轴,从 Z ^ i \hat Z_i Z^i 旋转到 Z ^ i + 1 \hat Z_{i+1} Z^i+1 的角度
- d i d_i di = 沿 Z ^ i \hat Z_i Z^i 轴,从 X ^ i − 1 \hat X_{i-1} X^i−1 移动到 X ^ i \hat X_i X^i 的距离
- θ i \theta_i θi = 绕 Z ^ i \hat Z_i Z^i 轴,从 X ^ i − 1 \hat X_{i-1} X^i−1 旋转到 X ^ i \hat X_i X^i 的角度
a i a_i ai 对应的是距离,所以通常设为正,其他的可以为正,也可以为负
参考:
John J. Craig《机器人学习导论》