国产精品乱码一区-性开放网站-少妇又紧又爽视频-西西大胆午夜人体视频-国产极品一区-欧美成人tv-四虎av在线-国产无遮挡无码视频免费软件-中文字幕亚洲乱码熟女一区二区-日产精品一区二区三区在线观看-亚洲国产亚综合在线区-五月婷婷综合色-亚洲日本视频在线观看-97精品人人妻人人-久久久久久一区二区三区四区别墅-www.免费av-波多野结衣绝顶大高潮-日本在线a一区视频高清视频-强美女免费网站在线视频-亚洲永久免费

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 3271|回復: 23

已知面角,如何求歐拉角,機器人坐標變換怎么求?

[復制鏈接]
1#
發表于 2025-7-26 18:44:29 | 只看該作者 |倒序瀏覽 |閱讀模式
問題的來源是這樣的:# e2 A; \2 {- Z: T* y2 N

; C+ w+ l& J+ ~# @) F有一個項目,機器人末端的手爪,因為種種情況,設計了一個傾斜的吸盤。需要在3D視覺的引導下,去吸取一個傾斜的物體。
( {  u/ O: F$ z機器人編程工程師嫌手工做工具坐標系比較費時費力,問我能否通過三維軟件,求得坐標變換的數值,直接填入機器人系統中的工具坐標系的標定參數中。
' J# l6 W- n* h! F% c我感覺應該挺簡單的呀,于是就在三維模型中(我是用solidworks進行的建模)建立了兩個坐標系,一個是安裝法蘭的坐標系,一個是吸盤面的坐標系。
! U$ e4 X" |2 G4 ^8 C6 ^7 s' Y9 M然后測量了兩個坐標系的位移,和角度,然后給了機器人編程工程師. W# ^, X' N! b7 ]' Z
# m) C3 H: \6 t/ E( z: q% u- f4 T
結果發現不對(測試方法:走軸坐標ABC,并不能繞坐標系原點旋轉,證明坐標系不對)) x# l5 |0 i+ _3 I0 k

0 @0 X) K; ]; |. Z兩個坐標系的位移很好測量。兩個坐標系的角度,我是這樣測量的,我的solidworks版本低,沒法直接給出數,于是我建了三個面,例如要測量Z軸之間的角度,我就測量了兩個XY平面的角度。; E7 L+ l# E7 Y0 `* W( n

7 w, \7 t9 Q( L/ K% t于是我將這個問題抽象出來了,花了大量的時間研究面角,歐拉角,也沒研究明白。發現這個歐拉角,這個三個軸的旋轉順序還有要求,有ZYZ,有XYZ,可能各個品牌的機器人還不一樣。
7 U, }/ E" o: g* W  u- }+ n& ?1 @
我抽象了模型,問了AI,竟然說我這樣的坐標系不存在?8 k7 F$ W  C3 V  N3 o. \7 i' C

; y7 m1 j+ U1 D. R下面是我抽象出來的數學模型:兩個坐標系的三個面之間的角度都是30度,坐標系原點重合,求坐標變換歐拉角。; }% N# j1 n9 ~

0 ~: R* q& j7 p5 {$ ~$ Z5 x有沒有高手給解答一下。
' g6 \* J3 t# U# \- h$ v4 l6 k: |7 E" ~, _8 g8 t
以下截圖是這個兩個坐標系的空間位置% y' ^8 J7 J5 Y$ I0 B3 P8 [% R- g
, G! l+ m! a. Y# g. f% {- `

3 g5 O9 F) U  ?8 l, W' ~
4 e3 o/ K* {5 l0 p/ O  |/ G/ {" N/ a7 y& \: \7 c2 f

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有賬號?注冊會員

×
回復

使用道具 舉報

2#
發表于 2025-7-26 19:12:37 | 只看該作者
機械手變換坐標系要是這么容易,那何來機械臂動力學和D-H建模法呢。) P! n7 T' ]' Z' c! [
先了解點基本常識吧,https://zhuanlan.zhihu.com/p/692369673
3#
發表于 2025-7-26 20:52:10 | 只看該作者
樓上正解;五軸機床轉換你懂不?你可以把機器人看成一個五軸機床,用DH法建模來求解旋轉角度,從機械手末端到基座,或者從基座到機械手末端,都可以推導出來。
$ \1 R& V5 b3 Z; K+ A- s* i0 X
4#
發表于 2025-7-26 20:53:51 | 只看該作者
還有別問國內的AI,國內的AI,連歐拉角動態旋轉和靜態旋轉的等效性都不會給你正確的推導出來。# t8 S' i: w; W! Y$ Q
5#
發表于 2025-7-26 21:40:29 | 只看該作者
不懂,但是AI只能夠搜資料,有時候給不了出處的還不能夠信.
# `* x/ E1 l' r/ e% a6 `6 X何況復雜的建模肯定少不了計算的優化.# G0 f$ X  [; N, Q. \" a
矩陣肯定少不了需要高效的算法.
" h3 |/ z5 Q5 U1 @3 V" ^" V我只會簡單的x^x+y^2=1
! e' Z. v  s& {x=cos(theta),y=sin(thea)
: _* P: O( A& ]: W3 o! s  ^$ R: O這些東西肯定少不了各種知識.% Y9 R6 i. g- I: j
與其糾結,不如先把路走遠,再走深./ Y6 w# G9 k* W
6#
發表于 2025-7-27 07:22:10 | 只看該作者
機械工程師解決不了現場調試的痛,模型上永遠都是理論的,何況這么多零件組裝在一起的累積誤差,對于相機和機械手的計算補償來說都是災難。最近幾年一直做復合機器人的項目,一直頭痛精度問題,都和這些有關系。
7#
發表于 2025-7-27 14:23:34 | 只看該作者
直接把機械手模型和治具導入SW/各類機械手軟件,模擬點位,然后出各個軸的角度數據就好了

點評

你怎么會有二面角會計算出歐拉角的錯誤錯覺。  發表于 2025-7-28 14:31
8#
發表于 2025-7-28 11:56:31 | 只看該作者
本帖最后由 DaedraMech 于 2025-7-28 12:32 編輯 ! A( i3 M* f! h4 j$ ]/ Y# X

+ |2 ]0 O2 g' T& i3 j不知道我有沒有正確理解樓主的意思,我先談談自己對坐標變換的理解:! H1 K5 H2 D) t& G# N6 H' m1 [
坐標變換矩陣既是變換參數(轉角、位移),又是變換后坐標系的基底在原坐標系上的坐標組合  |0 Z! t3 `" n$ k( ~6 ^4 T8 x
& F* \* ~; J. H- K( D  L
樓主在SW中使用的方法是控制三個正交平面和原平面各成30°,我個人更喜歡直接建立坐標系,由于x軸是YZ面法向量/y軸是XZ面法向量/z軸是XY面法向量,所以我約束3個新坐標軸和原坐標軸各成30°達到效果和樓主應該是一樣的。三個基底([ix iy iz],[jx jy jz],[kx ky kz])有9個未知坐標值,有【3個基底長度為1】、【新基底和原坐標軸各成30°】、【基底之間互成90°】這9個約束一定能在SW中畫出3個代表基底的線段,由此即可建立新坐標系,測量線段端點的坐標值即可獲得變換矩陣。
5 j; ~; ^" K( K2 O) d* g4 G
/ j3 @4 A3 t1 ^! l. ~6 E. n" f! t( L" M% w7 i4 A2 D
我們來測試一下,我們假設工具坐標系上有一點[0.5 0.6 0.7]',我們想知道該點在法蘭坐標系上的坐標值,那就可以用變換矩陣左乘這個向量:
7 q" i% k: x; Z1 v* M8 x
. T* R* g0 G3 _把獲得向量的坐標值輸入SW,測量下它在工具坐標系下的坐標,果然還是[0.5 0.6 0.7]',變換矩陣是正確的:
' j9 ^! `; Y' c) }8 Z  y  F$ X6 ?9 |/ A
+ |# d2 P6 `+ m+ x' K5 y6 }* A* u
如果坐標系還有位移,可以使用齊次變換矩陣進行變換:/ x  e; R3 b$ `$ ?2 G$ l
5 @$ F3 B) ?5 r! ]( y" s6 D
上面的演示中,樓主可以看到,矩陣里的坐標值就是特定角度的正弦/余弦值,所以歐拉角可以從這些角度中拆解出來,也就是總變換矩陣可以拆解成一系列單軸角度變換矩陣連續左乘,由此可以表示出坐標系繞各軸旋轉的角度和先后順序,這也就是樓主說的“面角轉換為歐拉角”,過程較為麻煩,我個人不推薦這種方式。" _8 m! F) L+ E" H. k0 U

! [, |' x8 d; E/ H$ m- p: _/ P& A

) E9 y' L, c; r9 D, Q

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有賬號?注冊會員

×

點評

就是這樣,坐標系旋轉使用旋轉矩陣,需要9個參數,而樓主說的兩個二面角僅僅是兩個參數,根本不夠。  發表于 2025-7-28 14:33
已補充  發表于 2025-7-28 12:29
有些圖沒傳上去,后面補充  發表于 2025-7-28 12:03
9#
發表于 2025-7-28 14:23:09 | 只看該作者
本帖最后由 DaedraMech 于 2025-7-28 15:41 編輯
( a1 @5 j/ J+ J/ b+ h0 r0 a
DaedraMech 發表于 2025-7-28 11:566 r7 L: X* k7 ~8 p* T
不知道我有沒有正確理解樓主的意思,我先談談自己對坐標變換的理解:
5 ?: x, @0 f9 G$ S6 W, U' m' Q坐標變換矩陣既是變換參數(轉角、位 ...
1 B/ s/ @3 S! p# f6 \1 F
一般對算法這邊來說最直接的就是拿到變換矩陣了,不知道為什么還要舍近求遠獲得歐拉角,不過樓主需要的話可以按照下圖解方程,獲得各軸轉角和順序。另外,方程是多解的,比如【先繞z軸逆時針旋轉17.927°,再繞y軸順時針旋轉24.465°,再繞x軸順時針旋轉17.927°】就是其中一個解:9 h0 K; o  c8 Y9 ~& T

7 Z# P7 J; n- `, d- G# |/ K% h( |  Z& D5 ^9 R  z2 h4 l
4 E' |9 V* w; R( N% e

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有賬號?注冊會員

×
10#
發表于 2025-7-28 18:11:40 | 只看該作者
線性代數嗎,都忘得差不多了
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規則

Archiver|手機版|小黑屋|機械社區 ( 京ICP備10217105號-1,京ICP證050210號,浙公網安備33038202004372號 )

GMT+8, 2025-9-1 21:21 , Processed in 0.081895 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回復 返回頂部 返回列表