久久久国产一区二区_国产精品av电影_日韩精品中文字幕一区二区三区_精品一区二区三区免费毛片爱

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 1776|回復: 18

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

[復制鏈接]
1#
發表于 2025-7-26 18:44:29 | 只看該作者 |倒序瀏覽 |閱讀模式
問題的來源是這樣的:
, ~% f$ u) M, Z2 [
4 _0 n. s  {" z有一個項目,機器人末端的手爪,因為種種情況,設計了一個傾斜的吸盤。需要在3D視覺的引導下,去吸取一個傾斜的物體。. w) j) \! H( y# o! l
機器人編程工程師嫌手工做工具坐標系比較費時費力,問我能否通過三維軟件,求得坐標變換的數值,直接填入機器人系統中的工具坐標系的標定參數中。
8 L/ p& y5 c+ r, |我感覺應該挺簡單的呀,于是就在三維模型中(我是用solidworks進行的建模)建立了兩個坐標系,一個是安裝法蘭的坐標系,一個是吸盤面的坐標系。
" z, b2 E0 [- W0 m8 R0 {) u: t$ f+ k然后測量了兩個坐標系的位移,和角度,然后給了機器人編程工程師) s3 l; k8 Z8 n" A

0 s& G7 f2 Q; _0 X: S! U結果發現不對(測試方法:走軸坐標ABC,并不能繞坐標系原點旋轉,證明坐標系不對)
6 ^- {( w7 h) g3 o! F8 A! M
+ t) G: t0 L6 N0 v) c. m兩個坐標系的位移很好測量。兩個坐標系的角度,我是這樣測量的,我的solidworks版本低,沒法直接給出數,于是我建了三個面,例如要測量Z軸之間的角度,我就測量了兩個XY平面的角度。
1 M! }3 m: M" F  c; a' x6 L. T! k5 l4 T0 y' ^/ z! x
于是我將這個問題抽象出來了,花了大量的時間研究面角,歐拉角,也沒研究明白。發現這個歐拉角,這個三個軸的旋轉順序還有要求,有ZYZ,有XYZ,可能各個品牌的機器人還不一樣。
" N  f" M& E+ x; d! h, i9 G" V7 T; o% K9 K  H3 |' G& ^& U
我抽象了模型,問了AI,竟然說我這樣的坐標系不存在?5 {1 \$ _% P/ y; }3 K' C
; S$ h5 |9 C8 X$ G3 f: [0 Z9 F
下面是我抽象出來的數學模型:兩個坐標系的三個面之間的角度都是30度,坐標系原點重合,求坐標變換歐拉角。6 c# |  h7 \5 C9 W( S+ X

; y# Q: h- e" d. ?  i. l6 c, X有沒有高手給解答一下。
, B; d2 k  ~- j; S& G: M  c4 l/ V! ^& V# S0 L' f0 D+ H) u
以下截圖是這個兩個坐標系的空間位置" ~8 j; d1 C- c( a$ j4 `* X
) m, B; Q+ E9 q$ d. p/ x
* \. r( _# b+ X: q
+ f& h1 ?$ z4 v) Z( x' h4 \# h# v
& c6 \1 `2 k7 E7 `1 u' d

本帖子中包含更多資源

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

×
回復

使用道具 舉報

2#
發表于 2025-7-26 19:12:37 | 只看該作者
機械手變換坐標系要是這么容易,那何來機械臂動力學和D-H建模法呢。
: K% I" u6 V) w# M* b! ?# l先了解點基本常識吧,https://zhuanlan.zhihu.com/p/692369673
3#
發表于 2025-7-26 20:52:10 | 只看該作者
樓上正解;五軸機床轉換你懂不?你可以把機器人看成一個五軸機床,用DH法建模來求解旋轉角度,從機械手末端到基座,或者從基座到機械手末端,都可以推導出來。
' b+ Q0 h2 ?9 {
4#
發表于 2025-7-26 20:53:51 | 只看該作者
還有別問國內的AI,國內的AI,連歐拉角動態旋轉和靜態旋轉的等效性都不會給你正確的推導出來。* W6 A: @7 I7 W' P
5#
發表于 2025-7-26 21:40:29 | 只看該作者
不懂,但是AI只能夠搜資料,有時候給不了出處的還不能夠信.* E7 Z; H7 Q# Z  V1 F# _) u
何況復雜的建模肯定少不了計算的優化.' e, c: M' ~. I: o' L7 t: `
矩陣肯定少不了需要高效的算法.
- g1 I- q$ I) w4 g& O# I我只會簡單的x^x+y^2=18 e# }( s2 h* f' V" ^! ^, J, K, t
x=cos(theta),y=sin(thea)
9 e8 F7 H+ J" t8 z+ X這些東西肯定少不了各種知識.
+ @7 p( A; k: M' a+ M8 n與其糾結,不如先把路走遠,再走深.% i* M% i: X" |$ c& f; D
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 編輯
6 t. m- {9 ~/ _. e) C" [7 n- E
1 b! S+ y' |) X# Q/ K3 P2 \+ B9 P不知道我有沒有正確理解樓主的意思,我先談談自己對坐標變換的理解:
8 ]4 ?2 `& m& P坐標變換矩陣既是變換參數(轉角、位移),又是變換后坐標系的基底在原坐標系上的坐標組合4 O' ?% `" \; X; v/ [% p

  x0 y# A" l6 s( V# L7 I樓主在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個代表基底的線段,由此即可建立新坐標系,測量線段端點的坐標值即可獲得變換矩陣。6 G7 K! M% T0 t0 ~1 m
& Y. `9 D; o+ W+ w: I6 o' Q

/ g/ B. `* l+ j9 L3 a  G我們來測試一下,我們假設工具坐標系上有一點[0.5 0.6 0.7]',我們想知道該點在法蘭坐標系上的坐標值,那就可以用變換矩陣左乘這個向量:# F% A  O) V) ~8 m9 f
8 _) R$ c- d% O% C8 I5 X
把獲得向量的坐標值輸入SW,測量下它在工具坐標系下的坐標,果然還是[0.5 0.6 0.7]',變換矩陣是正確的:
+ e! T. a& T# @0 N. }6 f  E3 F4 c$ F6 @% }

# @2 g6 `% Q5 V' {' }( W如果坐標系還有位移,可以使用齊次變換矩陣進行變換:) E0 d' e, c3 L0 ^8 j: }2 G
6 a3 A+ m0 F0 W7 [, w7 Q5 K
上面的演示中,樓主可以看到,矩陣里的坐標值就是特定角度的正弦/余弦值,所以歐拉角可以從這些角度中拆解出來,也就是總變換矩陣可以拆解成一系列單軸角度變換矩陣連續左乘,由此可以表示出坐標系繞各軸旋轉的角度和先后順序,這也就是樓主說的“面角轉換為歐拉角”,過程較為麻煩,我個人不推薦這種方式。
1 p* w: W3 p2 M$ D, N+ l
: d/ r, v+ @( t& T, h6 e, W) {, N9 h5 V
, J. M+ j6 M; H" B2 e" t' ?. c; `$ L

本帖子中包含更多資源

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

×

點評

就是這樣,坐標系旋轉使用旋轉矩陣,需要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 編輯 ) Z( a- A; N9 A* v0 I6 M! l
DaedraMech 發表于 2025-7-28 11:56
) w, H4 d) t/ N5 u6 y& |% F) X不知道我有沒有正確理解樓主的意思,我先談談自己對坐標變換的理解:  n$ e: Q3 y# R3 l% Q
坐標變換矩陣既是變換參數(轉角、位 ...
7 H! \9 A( z9 b. X9 t( l' Z6 b0 \
一般對算法這邊來說最直接的就是拿到變換矩陣了,不知道為什么還要舍近求遠獲得歐拉角,不過樓主需要的話可以按照下圖解方程,獲得各軸轉角和順序。另外,方程是多解的,比如【先繞z軸逆時針旋轉17.927°,再繞y軸順時針旋轉24.465°,再繞x軸順時針旋轉17.927°】就是其中一個解:
7 Q2 ?% m- [: L7 A% m! z- Z# b1 d" a3 n, c/ T+ `8 K

  N4 c1 u# R5 Z  i& c5 a' D: c- F, O8 l* c" B  h" `5 y7 V( F

本帖子中包含更多資源

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

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

本版積分規則

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

GMT+8, 2025-8-6 02:38 , Processed in 0.078666 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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