机器人学导论 斯坦福 Introduction to Robotics (CS223A)作业1
根据2d的旋转矩阵,可以得到3d的旋转矩阵,题目先是按照Y轴旋转θ角,然后绕变换以后的坐标系的Z轴旋转了Φ角。根据X-Y-Z 固定角坐标系,可以看作旋转算子,或者坐标系,按照旋转顺序来计算就行,先是绕。(1)R是标准正交矩阵,也就是两两列正交,两两行正交,且行列式=1,所以R是旋转矩阵。(2)也就是 等效轴角坐标系表示法,旋转轴是一般方向,不一定是主轴方向。,就可以计算出在B内的点坐标对应坐标系A
机器人学导论 斯坦福 Introduction to Robotics (CS223A)作业1
自己的答案: Craig机器人学导论 斯坦福 Introduction.to.Robotics(CS223A).Mechanics.and.Control.3e 笔记
1、
参考
旋转矩阵的推导方式 - 知乎 (zhihu.com),根据2d的旋转矩阵,可以得到3d的旋转矩阵,题目先是按照Y轴旋转θ角,然后绕变换以后的坐标系的Z轴旋转了Φ角。所以旋转矩阵依次是: [ c o s θ 0 s i n θ 0 1 0 − s i n θ 0 c o s θ ] \left[\begin{matrix}cos\theta&0&sin\theta \\ 0&1&0 \\ -sin\theta&0&cos \theta\end{matrix}\right] cosθ0−sinθ010sinθ0cosθ 和 [ c o s ϕ − s i n ϕ 0 s i n ϕ c o s ϕ 0 0 0 1 ] \left[\begin{matrix}cos\phi&-sin\phi& 0\\ sin\phi&cos \phi&0\\ 0&0&1 \end{matrix}\right] cosϕsinϕ0−sinϕcosϕ0001 ,根据 Z-Y-X欧拉角 的计算公式和计算过程,需要反着计算,按照运动轴Y-Z旋转,不妨令绕Y旋转以后的中间坐标系是M,可以知道: B A R = M A R B M R ^A_BR=^A_MR~^M_BR BAR=MAR BMR
最后的旋转矩阵就是两者的乘积: B A R = [ c o s θ 0 s i n θ 0 1 0 − s i n θ 0 c o s θ ] ⋅ [ c o s ϕ − s i n ϕ 0 s i n ϕ c o s ϕ 0 0 0 1 ] ^A_BR=\left[\begin{matrix}cos\theta&0&sin\theta \\ 0&1&0 \\ -sin\theta&0&cos \theta\end{matrix}\right]\cdot\left[\begin{matrix}cos\phi&-sin\phi& 0\\ sin\phi&cos \phi&0\\ 0&0&1 \end{matrix}\right] BAR= cosθ0−sinθ010sinθ0cosθ ⋅ cosϕsinϕ0−sinϕcosϕ0001 ,就可以计算出在B内的点坐标对应坐标系A的坐标。
2、
根据X-Y-Z 固定角坐标系,可以看作旋转算子,或者坐标系,按照旋转顺序来计算就行,先是绕 Z A ^ \hat{Z_A} ZA^ 旋转Φ,然后绕 Y A ^ \hat{Y_A} YA^ 旋转θ,所以变换矩阵就是: R ( ϕ , θ ) = R θ R ϕ = [ c o s θ 0 s i n θ 0 1 0 − s i n θ 0 c o s θ ] ⋅ [ c o s ϕ − s i n ϕ 0 s i n ϕ c o s ϕ 0 0 0 1 ] R(\phi,\theta)=R_\theta R_\phi =\left[\begin{matrix}cos\theta&0&sin\theta \\ 0&1&0 \\ -sin\theta&0&cos \theta\end{matrix}\right]\cdot\left[\begin{matrix}cos\phi&-sin\phi& 0\\ sin\phi&cos \phi&0\\ 0&0&1 \end{matrix}\right] R(ϕ,θ)=RθRϕ= cosθ0−sinθ010sinθ0cosθ ⋅ cosϕsinϕ0−sinϕcosϕ0001 ,和上面的题目答案相同
3、
(a)
根据30多页的 逆变换 内容,可以知道求逆的计算过程,然后可以算出来:
B A T = [ 1 0 0 − 1 0 c o s θ s i n θ − 2 c o s θ − 3 s i n θ 0 − s i n θ c o s θ 2 s i n θ − 3 c o s θ 0 0 0 1 ] ^A_BT=\left[\begin{matrix}1&0&0&-1\\0&cos\theta&sin\theta& -2cos\theta-3sin\theta\\ 0&-sin\theta&cos \theta&2sin\theta-3cos\theta\\ 0&0&0&1 \end{matrix}\right] BAT= 10000cosθ−sinθ00sinθcosθ0−1−2cosθ−3sinθ2sinθ−3cosθ1
(b)
带入角度可得:
B A T = [ 1 0 0 − 1 0 2 2 2 2 − 5 2 2 0 − 2 2 2 2 − 2 2 0 0 0 1 ] ^A_BT=\left[\begin{matrix}1&0&0&-1\\0&\frac{\sqrt{2}}{2}&\frac{\sqrt{2}}{2}& \frac{-5\sqrt{2}}{2}\\ 0&-\frac{\sqrt{2}}{2}&\frac{\sqrt{2}}{2}&-\frac{\sqrt{2}}{2}\\ 0&0&0&1 \end{matrix}\right] BAT= 1000022−220022220−12−52−221 ,
[ A P , 1 ] T = B A T [ B P , 1 ] T = [ 1 0 0 − 1 0 2 2 2 2 − 5 2 2 0 − 2 2 2 2 − 2 2 0 0 0 1 ] ⋅ [ 4 5 6 1 ] [^AP,1]^T=^A_BT[^BP,1]^T=\left[\begin{matrix}1&0&0&-1\\0&\frac{\sqrt{2}}{2}&\frac{\sqrt{2}}{2}& \frac{-5\sqrt{2}}{2}\\ 0&-\frac{\sqrt{2}}{2}&\frac{\sqrt{2}}{2}&-\frac{\sqrt{2}}{2}\\ 0&0&0&1 \end{matrix}\right]\cdot \left[\begin{matrix}4\\5\\6\\1\end{matrix}\right] [AP,1]T=BAT[BP,1]T= 1000022−220022220−12−52−221 ⋅ 4561
A P = [ 3 , 3 2 , 0 ] T ^AP=[3,3\sqrt{2},0]^T AP=[3,32,0]T
4、
(1)R是标准正交矩阵,也就是两两列正交,两两行正交,且行列式=1,所以R是旋转矩阵
(2)也就是 等效轴角坐标系表示法,旋转轴是一般方向,不一定是主轴方向
θ = A c o s ( 2 2 − 1 4 ) \theta = Acos(\frac{\sqrt{2}}{2}-\frac{1}{4}) θ=Acos(22−41) K ^ = 1 s i n θ [ − 1 2 − 1 2 , 1 2 + 1 2 , − 1 2 ] T \hat{K}=\frac{1}{sin\theta}[-\frac{1}{\sqrt{2}}-\frac{1}{2},\frac{1}{\sqrt{2}}+\frac{1}{2},-\frac{1}{2}]^T K^=sinθ1[−21−21,21+21,−21]T
(3)欧拉参数,也就做四元数
ε 1 = k x sin θ 2 , ε 2 = k y sin θ 2 , ε 3 = k x sin θ 2 , ε 4 = cos θ 2 \varepsilon_1=k_x\sin\frac{\theta}{2},\varepsilon_2=k_y\sin\frac{\theta}{2},\varepsilon_3=k_x\sin\frac{\theta}{2},\varepsilon_4=\cos\frac{\theta}{2} ε1=kxsin2θ,ε2=kysin2θ,ε3=kxsin2θ,ε4=cos2θ
课本的答案:

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)