机械臂的静力计算

版权声明:本文为博主原创文章,转载请注明出处Brian2018的csdn博客http://blog.csdn.net/libing403?viewmode=contents https://blog.csdn.net/libing403/article/details/82950308

机械臂的静力计算

公式推导

对于操作臂的静力,首先锁定所有的关节以使操作臂的结构固定。然后对这周结构中的连杆进行讨论,写出力和力矩对于各个连杆坐标系的平衡关系。最后,为了保持操作臂的静态平衡,计算出需要对各个关节轴一次施加多大的静力矩。通过这种方法,可以求出为了使末端执行器支承住某个静负载所需的一组关节力矩。

这里不考虑作用在连杆上的重力,讨论的关节尽力和精力矩是有施加在最后一个连杆上的静力或静力矩(或者两者共同)引起的。定义如下符号

f i = i 1 i n i = i 1 i f_i=连杆i-1施加在连杆i上的力,\\ n_i=连杆i-1施加在连杆i上的力矩。

如图所示为施加在连杆 i i 上的静力和静力矩。将这些力相加,并令其和为零,有
(5-76) i f i i f i + 1 = 0 ^if_{i}-^if_{i+1}=0\tag{5-76}
将绕坐标系{i}原点的力矩相加,有
(5-77) i n i i n i + 1 i P i + 1 × i f i + 1 = 0 ^in_i-^in_{i+1}-^iP_{i+1}\times ^if_{i+1}=0 \tag{5-77}
从施加于手部的力和力矩的描述开始,为计算出从末端连杆到基座(连杆0)作用于每一个连杆上的力和力矩,对(5-76)和(5-77)进行从高序号连杆向低序号连杆进行迭代求解即可,结果如下
(5-78) i f i = i f i + 1 ^if_{i}=^if_{i+1}\tag{5-78}

(5-79) i n i = i n i + 1 + i P i + 1 × i f i + 1 \\ ^in_i=^in_{i+1}+^iP_{i+1}\times ^if_{i+1} \tag{5-79}

为了按照定义在连杆本体坐标系中的力和力矩写出这些表达式,用坐标系{i+1}相对于坐标系{i}描述的旋转矩阵进行变换,就得到了最重要的连杆间的静力“传递”表达式
(5-80) i f i = i + 1 i R   i + 1 f i + 1 ^if_i=^i_{i+1}R\ ^{i+1}f_{i+1}\tag{5-80}

(5-81) i n i = i + 1 i R   i + 1 n i + 1 + i P i + 1 × i f i ^in_i=^i_{i+1}R\ ^{i+1}n_{i+1}+^iP_{i+1}\times ^if_{i}\tag{5-81}

最后,为了平衡施加在连杆上的力和力矩,需要在关节施加多大的力矩?除了关节轴的力矩外,力和力矩矢量的所有分量都可以由操作臂机构本身来平衡,因此,为了求出保持系统静平衡所需的关节力矩,应该计算关节轴矢量和施加在连杆上的力矩矢量的点积
(5-82) τ i = i n i T   i Z ^ i \tau_i=^in_i^T\ ^i\widehat Z_i \tag{5-82}
对于关节i是移动关节的情况,可以计算出关节驱动力为
(5-83) τ i = i f i T   i Z ^ i \tau_i=^if_{i}^T\ ^i\widehat Z_i \tag{5-83}
对于线性的关节力,我们也用符号 τ \tau 表示。

按照惯例,通常将关节角增大的旋转方向定义为关节力矩的正方向。式(5-80)到式(5-83)给出一种方法,可以计算静态下操作臂末端执行器施加力和力矩所需的关节力。

例子

如下图两连杆操作臂,在末端执行器施加作用力矢量 3 F ^3F (可认为该力作用在坐标系{3}的原点上)。按照位形函数和作用力的函数给出所需关节力矩。

计算关节力矩

扫描二维码关注公众号,回复: 3445108 查看本文章

应用式(5-80)~式(5-82),从末端连杆开始向机器人基座计算
(5-84) 2 f 2 = [ f x f y 0 ] ^2f_2=\left [\begin{matrix} f_x \\f_y \\0 \end{matrix}\right] \tag{5-84}

(5-85) 2 n 2 = l 2 X ^ 2 × 2 f 2 = [ 0 0 l 2 f y ] ^2n_2=l_2 \widehat X_2\times ^2f_2=\left[ \begin{matrix} 0\\0\\l_2f_y \end{matrix}\right] \tag{5-85}

(5-86) 1 f 1 = [ c 2 s 2 0 s 2 c 2 0 0 0 1 ] [ f x f y 0 ] = [ c 2 f x s 2 f y s 2 f x + c 2 f y 0 ] ^1f_1=\left[ \begin{matrix} c_2&-s_2 &0\\ s_2 &c_2 & 0 \\ 0 & 0 &1 \end{matrix}\right] \left[\begin{matrix} f_x\\f_y\\0 \end{matrix}\right]= \left[\begin{matrix} c_2f_x-s_2f_y \\s_2f_x+c_2f_y \\0 \end{matrix}\right] \tag{5-86}

(5-87) 1 n 1 = 2 1 R   2 n 2 + l 1 X ^ 1 × 1 f 1 = [ 0 0 l 1 s 2 f x + l 1 c 2 f y + l 2 f y ] ^1n_1=^1_2R\ ^2n_2+l_1\widehat X_1\times ^1f_1 =\left[\begin{matrix} 0 \\0 \\l_1s_2f_x+l_1c_2f_y+l_2f_y \end{matrix}\right] \tag{5-87}

于是有
(5-88) τ 1 = l 1 s 2 f x + l 1 c 2 f y + l 2 f y \tau_1=l_1s_2f_x+l_1c_2f_y+l_2f_y \tag{5-88}

(5-89) τ 1 = l 2 f y \tau_1=l_2f_y \tag{5-89}

可将这个关系写成矩阵算子
(5-90) τ = [ l 1 s 2 l 2 + l 1 c 2 0 l 2 ] \tau=\left [ \begin{matrix} l_1s_2&l_2+l_1c_2 \\0 & l_2\end{matrix}\right] \tag{5-90}
可以发现,该矩阵就是雅可比矩阵的转置,后面会提到,这实际是力域中的雅可比。

参考文献

[1] JOHN J.CRAIG. 机器人学导论: 第3版[M]. 机械工业出版社, 2006.

猜你喜欢

转载自blog.csdn.net/libing403/article/details/82950308