問題的來源是這樣的:# \: J. d" ?. R
8 n$ V0 q# X, c3 ^3 F' p/ q有一個項目,機器人末端的手爪,因為種種情況,設計了一個傾斜的吸盤。需要在3D視覺的引導下,去吸取一個傾斜的物體。
( ?* I5 p) o# T, p% _+ q& R6 {機器人編程工程師嫌手工做工具坐標系比較費時費力,問我能否通過三維軟件,求得坐標變換的數值,直接填入機器人系統中的工具坐標系的標定參數中。% o3 X+ Q( @& |. k" W
我感覺應該挺簡單的呀,于是就在三維模型中(我是用solidworks進行的建模)建立了兩個坐標系,一個是安裝法蘭的坐標系,一個是吸盤面的坐標系。0 f K/ B: N1 J2 R- K
然后測量了兩個坐標系的位移,和角度,然后給了機器人編程工程師4 l" m) R- U3 h3 F1 V0 v, Q+ g/ M( ~
: B# t- n8 y9 M" L; J; L; p
結果發現不對(測試方法:走軸坐標ABC,并不能繞坐標系原點旋轉,證明坐標系不對)2 C' y8 { h5 j- T; Z2 R6 _
; b) ~; B2 F1 K/ \' ], _兩個坐標系的位移很好測量。兩個坐標系的角度,我是這樣測量的,我的solidworks版本低,沒法直接給出數,于是我建了三個面,例如要測量Z軸之間的角度,我就測量了兩個XY平面的角度。
- g2 H. ^+ Y$ v0 T7 z0 V. g, r i8 F8 C; e1 l, X
于是我將這個問題抽象出來了,花了大量的時間研究面角,歐拉角,也沒研究明白。發現這個歐拉角,這個三個軸的旋轉順序還有要求,有ZYZ,有XYZ,可能各個品牌的機器人還不一樣。
6 F$ Y; t1 Q' Z" w: l+ X' @1 u0 x# [8 }7 W7 H9 {, p! L4 P
我抽象了模型,問了AI,竟然說我這樣的坐標系不存在?
7 V+ O" |/ W5 h7 l9 H0 d
, i6 A4 R: f4 o; `9 I* ^0 s. W下面是我抽象出來的數學模型:兩個坐標系的三個面之間的角度都是30度,坐標系原點重合,求坐標變換歐拉角。 c# x7 F) T* G' S3 k$ Y
! f+ A" A- j$ d$ H
有沒有高手給解答一下。
/ g& H2 Q' t1 R2 G7 {$ ~% o* f6 c) Y) Q
以下截圖是這個兩個坐標系的空間位置/ C L) B n5 T8 V, t6 [
L$ F R! o7 `( t* ?! t2 W N& e( z7 A+ F; ]% l# C
4 j- E% t2 |/ d; p
& I: h5 J4 ?3 r' A: \; k7 e9 P |