日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

欧拉角速度与角速度的关系推导——欧拉运动方程

發布時間:2023/12/14 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 欧拉角速度与角速度的关系推导——欧拉运动方程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

歐拉角速度與角速度的關系推導——歐拉運動方程

最近研究歐拉角速度與角速度之間的關系,特別折磨,網上的資料要不就是地理學的進動——章動——自轉那一套歐拉角與角速度的關系,要不就是陀螺儀那一套歐拉角與角速度的關系,不具有普遍性,因此在大干三天后,將自己的心得寫上來供大家參考。

歐拉角

歐拉角的定義不再贅述,簡單來說它是確定定點轉動剛體位置的3個一組獨立角參量。這個東西壞就壞在它有太多種了。繞軸轉動的順序不同(如x-y-z和x-z-y),繞軸轉動的類型不同(指繞慣性坐標系x-y-z或剛體固連坐標系x-y’-z’‘),兩次轉動繞同一軸如(z-x’-z’‘)等等,都會產生不同的歐拉角。而且不同學科不同場合使用的歐拉角不同,甚至同一歐拉角的俗稱也不同,帶來了非常大的不便。在機器人學中,常用的是以下兩種歐拉角:
RPY角 :指繞慣性坐標系旋轉(即繞的軸在整個旋轉中是固定不變的),依次繞X軸(roll角),Y軸(pitch角),Z軸(yaw角)進行旋轉。
ZYX角:指繞剛體固連坐標系旋轉(即繞的軸會隨著旋轉變化而變化),依次繞z軸(yaw角),旋轉后的y’軸(pitch角),兩次旋轉后的x’‘軸(roll)角進行旋轉。
注意,這兩種旋轉是完全等價的,即若roll,pitch,yaw取相同的值,按這兩種過程進行旋轉,得到的結果相同。
在一些設計仿真軟件(如adams)中,它們的Eular Angel指的是ZYZ角,即繞剛體固連系的z軸,y’軸,z’'軸進行旋轉。

角速度

角速度很簡單,初中生都知道。但是具體使用起來卻容易出錯。因為角速度有兩種表示方式,一種表示在慣性坐標系,為全局角速度。常用在機器人運動學求解等領域。另一種表示在剛體固連坐標系,為隨體角速度。常用在陀螺儀、慣導等領域。這兩種角速度在于歐拉角之間進行轉換時,思路是不同的。

全局角速度與ZYX歐拉角速率之間的轉換

角速度w是表示在慣性坐標系的,可分解為
w=wxi+wyj+wzkw=w_{x}i+w_{y}j+w_{z}kw=wx?i+wy?j+wz?k
同時,有可以將它分解到剛體固連坐標系三次旋轉的轉軸上:
w=dr?e1+dp?e2+dy?e3w=dr·e_{1}+dp·e_{2}+dy·e_{3}w=dr?e1?+dp?e2?+dy?e3?
dr、dp、dy即為roll、pitch、yaw角速度的值.
(1)首先,繞著固連系z軸(也是慣性系z軸)旋轉dy完成了第一次旋轉,其值為
dy?e3=[100010001]?[dr00]dy·e_{3}=\left[\begin{array}{ccc} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ \end{array}\right] \cdot\left[\begin{array}{c} dr \\ 0 \\ 0 \end{array}\right] dy?e3?=???100?010?001????????dr00????
(2)其次,繞著固連系(這里的固連系并非狹義上的固連系,而是值進行過一次roll旋轉的坐標系,注意是roll旋轉而不是上文提到的dr旋轉)的y’軸進行第二次旋轉,旋轉量為dp,固連系的y’軸與慣性系的y軸之間存在RyawR_{yaw}Ryaw?的變換,即
dp?e2=[cos(yaw)?sin(yaw)0sin(yaw)cos(yaw)0001]?[0dp0]dp·e_{2}=\left[\begin{array}{ccc} cos(yaw) & -sin(yaw) & 0 \\ sin(yaw) & cos(yaw) & 0 \\ 0 & 0 & 1 \\ \end{array}\right] \cdot\left[\begin{array}{c} 0 \\ dp \\ 0 \end{array}\right] dp?e2?=???cos(yaw)sin(yaw)0??sin(yaw)cos(yaw)0?001????????0dp0????
(3) 最后,繞著固連系的x’‘軸軸旋轉dr。此時的x’'軸和慣性系的x軸之間存在RyawRpitchR_{yaw}R_{pitch}Ryaw?Rpitch?的變換,即
dp?e2=[cos(yaw)?sin(yaw)0sin(yaw)cos(yaw)0001][cos(pitch)0sin(pitch)10?sin(pitch)0cos(pitch)]?[00dy]dp·e_{2}=\left[\begin{array}{ccc} cos(yaw) & -sin(yaw) & 0 \\ sin(yaw) & cos(yaw) & 0 \\ 0 & 0 & 1 \\ \end{array}\right] \left[\begin{array}{ccc} cos(pitch) & 0 & sin(pitch) \\ & 1 & 0 \\ -sin(pitch) & 0 & cos(pitch) \\ \end{array}\right] \cdot\left[\begin{array}{c} 0 \\ 0 \\ dy \end{array}\right] dp?e2?=???cos(yaw)sin(yaw)0??sin(yaw)cos(yaw)0?001???????cos(pitch)?sin(pitch)?010?sin(pitch)0cos(pitch)????????00dy????
將三者相加,就可得到角速度與歐拉角速度率的關系:
換,即
[wxwywz]=[cos(pitch)?cos(yaw)?sin(yaw)0cos(pitch)?sin(yaw)cos(yaw)0?sin(pitch)01]?[drdpdy]\left[\begin{array}{c} wx \\ wy \\ wz \end{array}\right]=\left[\begin{array}{ccc} cos(pitch)*cos(yaw) & -sin(yaw) & 0 \\ cos(pitch)*sin(yaw) & cos(yaw) & 0 \\ -sin(pitch) & 0 & 1 \\ \end{array}\right] \cdot\left[\begin{array}{c} dr \\ dp \\ dy \end{array}\right] ???wxwywz????=???cos(pitch)?cos(yaw)cos(pitch)?sin(yaw)?sin(pitch)??sin(yaw)cos(yaw)0?001????????drdpdy????
若要求得隨體角速度和ZYX角速度的關系,方法與上面類似,但要注意順序是反過來的,即dr是繞隨體坐標系中的x軸,無需進行變換,dp需要進行RyawR_{yaw}Ryaw?的逆變換等等。結果如下:
w=dr+Rroll′?dp+Rroll′Rpitch′?dyw=dr+ R_{roll}'·dp+R_{roll}'R_{pitch}'·dyw=dr+Rroll??dp+Rroll?Rpitch??dy
即:
[wxwywz]=[10?sin(pitch)0cos(roll)cos(pitch)?sin(roll)0?sin(roll)cos(pitch)?cos(roll)]?[drdpdy]\left[\begin{array}{c} wx \\ wy \\ wz \end{array}\right]=\left[\begin{array}{ccc} 1 & 0 & -sin(pitch) \\ 0 & cos(roll) & cos(pitch)*sin(roll) \\ 0 & -sin(roll) & cos(pitch)*cos(roll) \\ \end{array}\right] \cdot\left[\begin{array}{c} dr \\ dp \\ dy \end{array}\right] ???wxwywz????=???100?0cos(roll)?sin(roll)??sin(pitch)cos(pitch)?sin(roll)cos(pitch)?cos(roll)????????drdpdy????
對于全局RPY角,由于其與ZYX角等效,結果完全相同,推導方法也類似。至于其他的歐拉角種類,推導方法也是相似的,朋友們可以自己嘗試一下。

總結

以上是生活随笔為你收集整理的欧拉角速度与角速度的关系推导——欧拉运动方程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。