两种末端操作器的姿态表示方法
①欧拉(Euler)角表示法 如(a)所示,以Euler( φ \varphi φ, θ \theta θ, η \eta η)对末端姿态进行表示,绕坐标轴线的旋转顺序为Rot( z z z, φ \varphi φ)→ x ′ y ′ z x'y'z x′y′z→Rot( y ′ y' y′, θ \theta θ)→ x ′ ′ y ′ z ′ x''y'z' x′′y′z′→Rot( z ′ z' z′, η \eta η)→ x ′ ′ ′ y ′ ′ z ′ x'''y''z' x′′′y′′z′,则末端操作器的坐标系xyz此时与x’’‘y’'z’完全重合。②Roll-Pitch-Yaw表示法 如(b)所示,以( θ r \theta_r θr, θ p \theta_p θp, θ y \theta_y θy)对末端操作器的姿态进行表示,绕坐标轴线的旋转顺序为Rot( z z z, θ r \theta_r θr)→Rot( y y y, θ p \theta_p θp)→Rot( x x x, θ y \theta_y θy)1. 物体和坐标系 物体坐标系内一点 P P P标记为 o b j P ^{obj}P objP,可用矢量形式表示为: o b j P = [ o b j P x , o b j P y , o b j P z ] T ^{obj}P=[^{obj}P_x,^{obj}P_y,^{obj}P_z]^T objP=[objPx,objPy,objPz]T
2. 坐标变换
①回转变换 物体坐标系 ∑ o b j \sum_{obj} ∑obj与绝对坐标系 ∑ a b s \sum_{abs} ∑abs间的坐标轴回转变换关系为矩阵A,则物体上点P在绝对坐标系 ∑ a b s \sum_{abs} ∑abs中的矢量表示 a b s P ^{abs}P absP为: a b s P = [ a b s P x a b s P y a b s P z ] = [ A ] ⋅ o b j P + a b s P 0 ^{abs}P=\left[ \begin{matrix} ^{abs}P_x \\ ^{abs}P_y \\ ^{abs}P_z \end{matrix} \right]=[A]·^{obj}P+^{abs}P_0 absP=⎣⎡absPxabsPyabsPz⎦⎤=[A]⋅objP+absP0 如绕参考坐标系 o − x y z o-xyz o−xyz的 z z z轴旋转了 θ \theta θ角: f ( x ) = { x a = x 0 c o s θ − y 0 s i n θ y a = x 0 s i n θ + y 0 c o s θ z a = z 0 ⇒ [ x a y a z a ] = [ c o s θ − s i n θ 0 s i n θ c o s θ 0 0 0 1 ] [ x 0 y 0 z 0 ] ⇒ f(x)=\left\{ \begin{aligned} x_a & = x_0cos\theta-y_0sin\theta\\ y_a & = x_0sin\theta + y_0cos\theta\\ z_a & = z_0 \end{aligned} \right. \Rightarrow \left[ \begin{matrix} x_a \\ y_a \\ z_a\end{matrix} \right]= \left[ \begin{matrix} cos\theta & -sin\theta &0\\ sin\theta&cos\theta&0 \\ 0&0&1\end{matrix} \right] \left[ \begin{matrix} x_0 \\ y_0 \\ z_0\end{matrix} \right] \Rightarrow f(x)=⎩⎪⎨⎪⎧xayaza=x0cosθ−y0sinθ=x0sinθ+y0cosθ=z0⇒⎣⎡xayaza⎦⎤=⎣⎡cosθsinθ0−sinθcosθ0001⎦⎤⎣⎡x0y0z0⎦⎤⇒ R ( z , θ ) = [ c o s θ − s i n θ 0 s i n θ c o s θ 0 0 0 1 ] R(z,\theta)=\left[ \begin{matrix} cos\theta & -sin\theta &0\\ sin\theta&cos\theta&0 \\ 0&0&1\end{matrix} \right] R(z,θ)=⎣⎡cosθsinθ0−sinθcosθ0001⎦⎤ 同理可得: R ( y , θ ) = [ c o s θ 0 s i n θ 0 1 0 − s i n θ 0 c o s θ ] R(y,\theta)=\left[ \begin{matrix} cos\theta & 0 &sin\theta\\ 0&1&0 \\ -sin\theta&0&cos\theta\end{matrix} \right] R(y,θ)=⎣⎡cosθ0−sinθ010sinθ0cosθ⎦⎤ R ( x , θ ) = [ 1 0 0 0 c o s θ − s i n θ 0 s i n θ c o s θ ] R(x,\theta)=\left[ \begin{matrix} 1 & 0 &0\\ 0&cos\theta&-sin\theta \\ 0&sin\theta&cos\theta\end{matrix} \right] R(x,θ)=⎣⎡1000cosθsinθ0−sinθcosθ⎦⎤②平移变换 设两坐标系间的平移变换矢量为 T T T,则: T ( p x , p y , p z ) = [ p x p y p z ] T(p_x,p_y,p_z)=\left[ \begin{matrix} p_x \\ p_y \\ p_z\end{matrix} \right] T(px,py,pz)=⎣⎡pxpypz⎦⎤③齐次变换矩阵 齐次变换矩阵A,可表示为: