UR3机器人运动学分析之正运动学分析

前往我的博客阅读体验更佳:本文链接

   UR3工业机器人是一个6自由度的连杆机器人,其结构图如下图所示:

UR3机械臂尺寸图
  下面对其进行正运动学和逆运动学分析。

1 正运动学分析

1.1 建立机器人连杆坐标系

  UR3机器人属于连杆机器人,对于一个连杆机器人来说,可以用四个参数:连杆长度 a i a_i ai,连杆扭角 α i \alpha_i αi,连杆距离 d i d_i di,关节转角 θ i \theta_i θi来描述。这四个参数即为连杆机器人的DH参数,在不同类型的连杆坐标系下,DH参数的含义有所不同。

  连杆坐标系的建立有标准型DH法(SDH)建模和改进型DH法(MDH)建模两种方法,下面分别使用两种方法建立UR3机器人的连杆坐标系。

1.1.1 标准型DH法(SDH)建模

  标准型DH法建模规则如下:

  1. 找出各关节轴,并画出这些轴线的延长线;

  2. Z Z Z轴:与轴线重合, Z i − 1 Z_{i-1} Zi1轴为关节 i i i的运动轴;

  3. X X X轴:关节轴线相离时,在公垂线分析上定义 X X X轴,如果 a i a_i ai表示 Z i − 1 Z_{i-1} Zi1 Z Z Z之间的公垂线,则 X i X_i Xi的方向沿 a i a_i ai;关节轴线平行时,选取前一关节的公垂线共线的一条公垂线作为 X X X轴;关节轴线相交时, X X X的方向与两周的叉积方向相同。

  根据此建模规则,有SDH建模示意图如图1.1所示:

图1.1 SDH建模示意图
  使用SDH法建立UR3机器人的连杆坐标系如图1.2所示:
图1.2 UR3连杆坐标系(SDH)

  在该坐标系下,各DH参数的含义为:

  • a i a_i ai:关节轴线 i − 1 i-1 i1和关节轴线 i i i的公垂线长度;
  • α i \alpha_i αi:关节轴线 i − 1 i-1 i1和关节轴线 i i i的夹角,指向为从轴线 i − 1 i-1 i1到轴线 i i i
  • d i d_i di:关节 i i i上的两条公垂线 a i a_i ai a i − 1 a_{i-1} ai1之间的距离,沿关节轴 i i i测量;
  • θ i \theta_i θi:连杆 i i i相对于连杆 i − 1 i-1 i1绕轴线 i i i的旋转角度,绕关节轴线 i − 1 i-1 i1测量。

  根据UR3机器人参数得到其DH参数如表1.1所示:

表1.1 SDH坐标系下的DH参数
连杆序号 i i i连杆长度 a i / m m a_i/mm ai/mm连杆扭角 α i / r a d \alpha_i/rad αi/rad连杆距离 d i / m m d_i/mm di/mm关节转角 θ i / r a d \theta_i/rad θi/rad
1 0 0 0 π / 2 \pi/2 π/2 0 0 0 θ 1 \theta_1 θ1
2 243.65 243.65 243.65 0 0 0 119.85 119.85 119.85 θ 2 \theta_2 θ2
3 213 213 213 0 0 0 − 92.85 -92.85 92.85 θ 3 \theta_3 θ3
4 0 0 0 π / 2 \pi/2 π/2 83.4 83.4 83.4 θ 4 \theta_4 θ4
5 0 0 0 π / 2 \pi/2 π/2 83.4 83.4 83.4 θ 5 \theta_5 θ5
6 0 0 0 0 0 0 82.4 82.4 82.4 θ 6 \theta_6 θ6

1.1.2 改进型DH法(MDH)建模

  改进型DH法建模规则如下:

  1. 找原点:找出关节轴 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的原点;

  2. Z Z Z轴: Z i Z_i Zi轴沿关节轴 i i i的指向;

  3. X X X轴: X i X_i Xi轴沿公垂线的指向,若关节轴 i i i i + 1 i+1 i+1相交,则规定 X i X_i Xi垂直于关节轴 i i i i + 1 i+1 i+1所在平面;

  4. 确定 Y Y Y轴:按照右手定则确定 Y i Y_i Yi轴。

  根据此建模规则,有MDH建模示意图如图1.3所示:

图1.3 MDH建模示意图

  使用MDH法建立UR3机器人的连杆坐标系如图1.4所示:

图1.4 UR3连杆坐标系(MDH)

  其中各参数的含义如下:

  • a i − 1 a_{i-1} ai1:沿 X i − 1 X_{i-1} Xi1轴,从 Z i − 1 Z_{i-1} Zi1移动到 Z i Z_i Zi的距离;

  • α i − 1 \alpha_{i-1} αi1:沿 X i − 1 X_{i-1} Xi1轴,从 Z i − 1 Z_{i-1} Zi1旋转到 Z i Z_i Zi的角度;

  • d i d_i di:沿 Z i Z_i Zi轴,从 X i − 1 X_{i-1} Xi1 移动到$ X_i$的距离;

  • θ i \theta_i θi:沿 Z i Z_i Zi轴,从 X i − 1 X_{i-1} Xi1旋转到$ X_i$的角度;

  根据UR3机器人参数得到其DH参数如表1.2所示:

表1.2 MDH坐标系下的DH参数
连杆序号 i i i连杆长度 a i − 1 / m m a_{i-1}/mm ai1/mm连杆扭角 α i − 1 / r a d \alpha_{i-1}/rad αi1/rad连杆距离 d i / m m d_i/mm di/mm关节转角 θ i / r a d \theta_i/rad θi/rad
1 0 0 0 0 0 0 151.9 151.9 151.9 θ 1 \theta_1 θ1
2 0 0 0 π / 2 \pi/2 π/2 119.85 119.85 119.85 θ 2 \theta_2 θ2
3 − 243.65 -243.65 243.65 0 0 0 0 0 0 θ 3 \theta_3 θ3
4 − 213 -213 213 0 0 0 − 9.45 -9.45 9.45 θ 4 \theta_4 θ4
5 0 0 0 π / 2 \pi/2 π/2 83.4 83.4 83.4 θ 5 \theta_5 θ5
6 0 0 0 − π / 2 -\pi/2 π/2 82.4 82.4 82.4 θ 6 \theta_6 θ6

1.2 UR3机器人正运动学

  根据所建立的坐标系,分别在SDH坐标系以及MDH坐标系下进行正运动学的建模。

1.2.1 SDH坐标系下的正运动学建模

   根据SDH坐标系下的连杆关系,有:
KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ T_{i}^{i-1}=Ro…
  将式(1)右边的四个变换展开可得:
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ T_i^{i-1}=\lef…
式中 i = 1 , 2 , 3 , . . . , 6 i=1,2,3,...,6 i=1,2,3,...,6

  为方便表示,定义如下简写:

  • c i = c o s θ i c_i=cos\theta_i ci=cosθi
  • s i = s i n θ i s_i=sin\theta_i si=sinθi
  • c i j = c o s ( θ i + θ j ) c_{ij}=cos(\theta_i+\theta_j) cij=cos(θi+θj)
  • s i j = s i n ( θ i + θ j ) s_{ij}=sin(\theta_i+\theta_j) sij=sin(θi+θj)
  • c i j k = c o s ( θ i + θ j + θ k ) c_{ijk}=cos(\theta_i+\theta_j+\theta_k) cijk=cos(θi+θj+θk)
  • s i j k = s i n ( θ i + θ j + θ k ) s_{ijk}=sin(\theta_i+\theta_j+\theta_k) sijk=sin(θi+θj+θk)

  根据表1.1中的DH参数以及式(2)可得各连杆得变换矩阵 T i i − 1 T_i^{i-1} Tii1,将各连杆的变换矩阵相乘可得机械臂的变矩阵 T 6 0 T^0_6 T60
{ T 1 0 = [ c 1 0 s 1 0 s 1 0 − c 1 0 0 1 0 d 1 0 0 0 1 ] T 2 1 = [ c 2 − s 2 0 a 2 c 2 s 2 c 2 0 a 2 s 2 0 0 1 d 2 0 0 0 1 ] T 3 2 = [ c 3 − s 3 0 a 3 c 3 s 3 c 3 0 a 3 s 3 0 0 1 d 3 0 0 0 1 ] T 4 3 = [ c 4 0 s 4 0 s 4 0 − c 4 0 0 1 0 d 4 0 0 0 1 ] T 5 4 = [ c 5 0 s 5 0 s 5 0 − c 5 0 0 1 0 d 5 0 0 0 1 ] T 6 5 = [ c 6 − s 6 0 0 s 6 c 6 0 0 0 0 1 d 6 0 0 0 1 ] \begin{cases} T_1^0= \left[\begin{array}{cccc} c_1 & 0 & s_1 & 0\\ s_1 & 0 & -c_1 & 0\\ 0 & 1 & 0 & d_1\\ 0 & 0 & 0 & 1 \end{array}\right]\\ T_2^1= \left[\begin{array}{cccc} c_2 & -s_2 & 0 & a_2c_2\\ s_2 & c_2 & 0 & a_2s_2\\ 0 & 0 & 1 & d_2\\ 0 & 0 & 0 & 1 \end{array}\right]\\ T_3^2= \left[\begin{array}{cccc} c_3 & -s_3 & 0 & a_3c_3\\ s_3 & c_3 & 0 & a_3s_3\\ 0 & 0 & 1 & d_3\\ 0 & 0 & 0 & 1 \end{array}\right]\\ T_4^3= \left[\begin{array}{cccc} c_4 & 0 & s_4 & 0\\ s_4 & 0 & -c_4 & 0\\ 0 & 1 & 0 & d_4\\ 0 & 0 & 0 & 1 \end{array}\right]\\ T_5^4= \left[\begin{array}{cccc} c_5 & 0 & s_5 & 0\\ s_5 & 0 & -c_5 & 0\\ 0 & 1 & 0 & d_5\\ 0 & 0 & 0 & 1 \end{array}\right]\\ T_6^5= \left[\begin{array}{cccc} c_6 & -s_6 & 0 & 0\\ s_6 & c_6 & 0 & 0\\ 0 & 0 & 1 & d_6\\ 0 & 0 & 0 & 1 \end{array}\right]\\ \end{cases} T10=c1s1000010s1c10000d11T21=c2s200s2c2000010a2c2a2s2d21T32=c3s300s3c3000010a3c3a3s3d31T43=c4s4000010s4c40000d41T54=c5s5000010s5c50000d51T65=c6s600s6c600001000d61

KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ T_6^0=T_1^0T_2…

式(3)中各简式为:
{ n x = c 6 ( s 1 s 5 + c 1 c 234 c 5 ) + c 1 s 234 s 6 n y = s 1 s 234 s 6 − c 6 ( c 1 s 5 − s 1 c 234 c 5 ) n z = s 234 c 5 c 6 − c 234 s 6 o x = c 1 s 234 c 6 − s 6 ( s 1 s 5 + c 1 c 234 c 5 ) o y = s 6 ( c 1 s 5 − s 1 c 234 c 5 ) + s 1 s 234 c 6 o z = − c 234 c 6 − s 234 c 5 s 6 a x = c 1 c 234 s 5 − s 1 c 5 a y = s 1 c 234 s 5 + c 1 c 5 a z = s 345 s 5 p x = ( c 1 c 234 s 5 − s 1 c 5 ) d 6 + c 1 s 234 d 5 + s 1 d 4 + c 1 c 23 a 3 + s 1 d 3 + c 1 c 2 a 2 + s 1 d 2 p y = ( s 1 c 234 s 5 + c 1 c 5 ) d 6 + s 1 s 234 d 5 − c 1 d 4 + s 1 c 23 a 3 − s 1 d 3 + s 1 c 2 a 2 − c 1 d 2 p z = s 234 s 5 d 6 − c 234 d 5 + s 23 a 3 + s 2 a 2 \begin{cases} n_x = c_6(s_1s_5+c_1c_{234}c_5)+c_1s_{234}s_6\\ n_y = s_1s_{234}s_6-c_6(c_1s_5-s_1c_{234}c_5)\\ n_z = s_{234}c_5c_6-c_{234}s_6\\ o_x = c_1s_{234}c_6-s_6(s_1s_5+c_1c_{234}c_5)\\ o_y = s_6(c_1s_5-s_1c_{234}c_5)+s_1s_{234}c_6\\ o_z = -c_{234}c_6-s_{234}c_5s_6\\ a_x = c_1c_{234}s_5-s_1c_5\\ a_y = s_1c_{234}s_5+c_1c_5\\ a_z = s_{345}s_5\\ p_x = (c_1c_{234}s_5-s_1c_5)d_6+c_1s_{234}d_5+s_1d_4+c_1c_{23}a_3+s_1d_3+c_1c_2a_2+s_1d_2\\ p_y = (s_1c_{234}s_5+c_1c_5)d_6+s_1s_{234}d_5-c_1d_4+s_1c_{23}a_3-s_1d_3+s_1c_2a_2-c_1d_2\\ p_z = s_{234}s_5d_6-c_{234}d_5+s_{23}a_3+s_2a_2 \end{cases} nx=c6(s1s5+c1c234c5)+c1s234s6ny=s1s234s6c6(c1s5s1c234c5)nz=s234c5c6c234s6ox=c1s234c6s6(s1s5+c1c234c5)oy=s6(c1s5s1c234c5)+s1s234c6oz=c234c6s234c5s6ax=c1c234s5s1c5ay=s1c234s5+c1c5az=s345s5px=(c1c234s5s1c5)d6+c1s234d5+s1d4+c1c23a3+s1d3+c1c2a2+s1d2py=(s1c234s5+c1c5)d6+s1s234d5c1d4+s1c23a3s1d3+s1c2a2c1d2pz=s234s5d6c234d5+s23a3+s2a2
  为了验证模型的正确性,可将其中一个状态代入模型进行检验。对于图1.2中UR3机器人的形态,其对应的关节变量为 Θ = [ 0   π 2   0   π 2   π   0 ] T \Theta=[0\ \frac{\pi}{2}\ 0\ \frac{\pi}{2}\ \pi\ 0]^T Θ=[0 2π 0 2π π 0]T,将其带入式(3)中,得到如下的转换矩阵:
T 6 0 = [ 1 0 0 0 0 0 − 1 − ( d 2 + d 3 + d 4 + d 6 ) 0 1 0 d 4 + a 2 + a 3 0 0 0 1 ] = [ 1 0 0 0 0 0 − 1 − 192.8 0 1 0 540.05 0 0 0 1 ] T_6^0=\left[ \begin{array}{cccc} 1 & 0 & 0 & 0\\ 0 & 0 & -1 & -(d_2+d_3+d_4+d_6)\\ 0 & 1 & 0 & d_4+a_2+a_3\\ 0 & 0 & 0 & 1 \end{array} \right]=\left[ \begin{array}{cccc} 1 & 0 & 0 & 0\\ 0 & 0 & -1 & -192.8\\ 0 & 1 & 0 & 540.05\\ 0 & 0 & 0 & 1 \end{array} \right] T60=1000001001000(d2+d3+d4+d6)d4+a2+a31=1000001001000192.8540.051
其中
[ 1 0 0 0 0 − 1 0 1 0 ] \left[ \begin{array}{ccc} 1 & 0 & 0 \\ 0 & 0 & -1 \\ 0 & 1 & 0 \\ \end{array} \right] 100001010
正好对应{0}系到{6}系的旋转矩阵,并且 [ 0   − 192.8   540.05 ] T \left[0\ -192.8\ 540.05 \right]^T [0 192.8 540.05]T正好对应{0}系到{6}系平移向量,因此可以初步验证所建立的正运动学模型是正确的。

1.2.2 MDH坐标系下的正运动学建模

  根据MDH坐标系下的连杆关系,有:
KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ T_i^{i-1}=Tran…
将式(4)右边的四个变换展开可得:
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ T_i^{i-1}=\lef…
式中 i = 1 , 2 , 3 , . . . , 6 i=1,2,3,...,6 i=1,2,3,...,6

  根据表1.2中的DH参数以及式(5)可得各连杆得变换矩阵 T i i − 1 T_i^{i-1} Tii1,将各连杆的变换矩阵相乘可得机械臂的变矩阵 T 6 0 T^0_6 T60
{ T 1 0 = [ c 1 − s 1 0 0 s 1 c 1 0 0 0 0 1 d 1 0 0 0 1 ] T 2 1 = [ c 2 − s 2 0 0 0 0 − 1 − d 2 s 2 c 2 0 0 0 0 0 1 ] T 3 2 = [ c 3 − s 3 0 a 2 s 3 c 3 0 0 0 0 1 0 0 0 0 1 ] T 4 3 = [ c 4 − s 4 0 a 3 s 4 c 4 0 0 0 0 1 d 4 0 0 0 1 ] T 5 4 = [ c 5 − s 5 0 0 0 0 − 1 − d 5 s 5 c 5 0 0 0 0 0 1 ] T 6 5 = [ c 6 − s 6 0 0 0 0 1 d 6 − s 6 − c 6 0 0 0 0 0 1 ] \begin{cases} T_1^0= \left[\begin{array}{cccc} c_1 & -s_1 & 0 & 0\\ s_1 & c_1 & 0 & 0\\ 0 & 0 & 1 & d_1\\ 0 & 0 & 0 & 1 \end{array}\right]\\ T_2^1= \left[\begin{array}{cccc} c_2 & -s_2 & 0 & 0\\ 0 & 0 & -1 & -d_2\\ s_2 & c_2 & 0 & 0\\ 0 & 0 & 0 & 1 \end{array}\right]\\ T_3^2= \left[\begin{array}{cccc} c_3 & -s_3 & 0 & a_2\\ s_3 & c_3 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1 \end{array}\right]\\ T_4^3= \left[\begin{array}{cccc} c_4 & -s_4 & 0 & a_3\\ s_4 & c_4 & 0 & 0\\ 0 & 0 & 1 & d_4\\ 0 & 0 & 0 & 1 \end{array}\right]\\ T_5^4= \left[\begin{array}{cccc} c_5 & -s_5 & 0 & 0\\ 0 & 0 & -1 & -d_5\\ s_5 & c_5 & 0 & 0\\ 0 & 0 & 0 & 1 \end{array}\right]\\ T_6^5= \left[\begin{array}{cccc} c_6 & -s_6 & 0 & 0\\ 0 & 0 & 1 & d_6\\ -s_6 & -c_6 & 0 & 0\\ 0 & 0 & 0 & 1 \end{array}\right] \end{cases} T10=c1s100s1c100001000d11T21=c20s20s20c2001000d201T32=c3s300s3c3000010a2001T43=c4s400s4c4000010a30d41T54=c50s50s50c5001000d501T65=c60s60s60c6001000d601

KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ T_6^0=T_1^0T_2…

式(6)中各简式如下:
{ n x = c 6 ( s 1 s 5 + c 1 c 234 c 5 ) − c 1 s 234 s 6 n y = − c 6 ( c 1 s 5 − s 1 c 234 c 5 ) − s 1 s 234 s 6 n z = c 234 s 6 + s 234 c 5 c 6 o x = − s 6 ( s 1 s 5 + c 1 c 234 c 5 ) − c 1 s 234 c 6 o y = s 6 ( c 1 s 5 − s 1 c 234 c 5 ) − s 1 s 234 c 6 o z = c 234 c 6 − s 234 c 5 s 6 a x = s 1 c 5 − c 1 c 234 s 5 a y = − c 1 c 5 − s 1 c 234 s 5 a z = − s 234 s 5 p x = ( s 1 c 5 − c 1 c 234 s 5 ) d 6 + c 1 s 234 d 5 + c 1 c 23 a 3 + s 1 d 4 + c 1 c 2 a 2 + s 1 d 2 p y = − ( c 1 c 5 + s 1 c 234 s 5 ) d 6 + s 1 s 234 d 5 + s 1 c 23 a 3 − c 1 d 4 + s 1 c 2 a 2 − c 1 d 2 p z = − s 234 s 5 d 6 − c 234 d 5 + s 23 a 3 + s 2 a 2 + d 1 \begin{cases} n_x = c_6(s_1s_5+c_1c_{234}c_5)-c_1s_{234}s_6\\ n_y = -c_6(c_1s_5-s_1c_{234}c_5)-s_1s_{234}s_6\\ n_z = c_{234}s_6+s_{234}c_5c_6\\ o_x = -s_6(s_1s_5+c_1c_{234}c_5)-c_1s_{234}c_6\\ o_y = s_6(c_1s_5-s_1c_{234}c_5)-s_1s_{234}c_6\\ o_z = c_{234}c_6-s_{234}c_5s_6\\ a_x = s_1c_5-c_1c_{234}s_5\\ a_y = -c_1c_5-s_1c_{234}s_5\\ a_z = -s_{234}s_5\\ p_x = (s_1c_5-c_1c_{234}s_5)d_6+c_1s_{234}d_5+c_1c_{23}a_3+s_1d_4+c_1c_2a_2+s_1d_2\\ p_y = -(c_1c_5+s_1c_{234}s_5)d_6+s_1s_{234}d_5+s_1c_{23}a_3-c_1d_4+s_1c_2a_2-c_1d_2\\ p_z = -s_{234}s_5d_6-c_{234}d_5+s_{23}a_3+s_2a_2+d_1 \end{cases} nx=c6(s1s5+c1c234c5)c1s234s6ny=c6(c1s5s1c234c5)s1s234s6nz=c234s6+s234c5c6ox=s6(s1s5+c1c234c5)c1s234c6oy=s6(c1s5s1c234c5)s1s234c6oz=c234c6s234c5s6ax=s1c5c1c234s5ay=c1c5s1c234s5az=s234s5px=(s1c5c1c234s5)d6+c1s234d5+c1c23a3+s1d4+c1c2a2+s1d2py=(c1c5+s1c234s5)d6+s1s234d5+s1c23a3c1d4+s1c2a2c1d2pz=s234s5d6c234d5+s23a3+s2a2+d1
  为了验证模型的正确性,可将其中一个状态代入模型进行检验。对于图1.4中UR3机器人的形态,其对应的关节变量为 Θ = [ 0   − π 2   0   − π 2   0   0 ] T \Theta=[0\ -\frac{\pi}{2}\ 0\ -\frac{\pi}{2}\ 0\ 0]^T Θ=[0 2π 0 2π 0 0]T,将其带入式(6)中,得到如下的转换矩阵:
T 6 0 = [ − 1 0 0 0 0 0 − 1 − ( d 6 + d 4 + d 2 ) 0 − 1 0 d 1 + d 5 − a 2 − a 3 0 0 0 1 ] = [ − 1 0 0 0 0 0 − 1 − 192.8 0 − 1 0 691.95 0 0 0 1 ] T_6^0=\left[ \begin{array}{cccc} -1 & 0 & 0 & 0\\ 0 & 0 & -1 & -(d_6+d_4+d_2)\\ 0 & -1 & 0 & d_1+d_5-a_2-a_3\\ 0 & 0 & 0 & 1 \end{array} \right]=\left[ \begin{array}{cccc} -1 & 0 & 0 & 0\\ 0 & 0 & -1 & -192.8\\ 0 & -1 & 0 & 691.95\\ 0 & 0 & 0 & 1 \end{array} \right] T60=1000001001000(d6+d4+d2)d1+d5a2a31=1000001001000192.8691.951
其中
[ − 1 0 0 0 0 − 1 0 − 1 0 ] \left[ \begin{array}{ccc} -1 & 0 & 0 \\ 0 & 0 & -1 \\ 0 & -1 & 0 \\ \end{array} \right] 100001010
正好对应{0}系到{6}系的旋转矩阵,并且 [ 0   − 192.8   691.95 ] T \left[0\ -192.8\ 691.95 \right]^T [0 192.8 691.95]T正好对应{0}系到{6}系平移向量,因此可以初步验证所建立的正运动学模型是正确的。后文中将通过仿真来进一步验证模型的正确性。

  由于在不同的坐标系下DH参数的含义有所不同,推导出来的正运动学模型也会有所差别。在后文的分析中,若无特别说明,将使用MDH坐标系下推导出来的正运动学模型。

  • 7
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
UR机器人运动学分析可以通过UR机器人提供的软件包`ur_kinematics`来实现。该软件包包含了UR机器人的正向和逆向运动学计算,可以帮助用户计算机器人末端执行器的姿态和位置。 UR机器人的正向运动学可以计算出机器人末端执行器在关节空间中的姿态和位置,即输入机器人每个关节的角度,计算出末端执行器的姿态和位置。 UR机器人的逆向运动学可以计算出机器人每个关节的角度,即输入末端执行器的姿态和位置,计算出每个关节的角度。 要使用`ur_kinematics`软件包进行运动学分析,您需要: 1. 安装`ur_kinematics`软件包 打开终端窗口并输入以下命令以安装`ur_kinematics`软件包: ``` sudo apt-get install ros-kinetic-ur-kinematics ``` 2. 编写运动学分析程序 您可以使用ROS编写一个运动学分析程序,该程序将调用`ur_kinematics`软件包中的正向或逆向运动学计算函数,并将结果输出到终端窗口或保存到文件中。以下是一个简单的ROS程序,演示如何使用`ur_kinematics`软件包进行正向运动学计算: ```python #!/usr/bin/env python import rospy from ur_kinematics.ur_kin_py import forward, inverse # 机器人关节角度 joint_angles = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] # 进行正向运动学计算 pose = forward(joint_angles) # 输出末端执行器的姿态和位置 print("Pose: ", pose) ``` 该程序首先导入`forward`函数,该函数用于进行正向运动学计算。然后,程序定义了机器人的关节角度,并调用`forward`函数计算出末端执行器的姿态和位置。最后,程序输出末端执行器的姿态和位置。 您可以将上述代码保存为一个ROS节点并运行它,然后在终端窗口中查看输出结果。 逆向运动学计算与正向运动学计算类似,只需调用`inverse`函数即可。 注意:UR机器人运动学分析是一个广泛的领域,涉及到许多复杂的数学和物理概念。上述程序只是一个简单的示例,无法涵盖所有情况。如果您需要更深入的运动学分析,请参考相关文献或咨询专业人士。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值