王成志
(集美大學海洋裝備與機械工程學院,福建 廈門 361021)
機構自由度分析是機構創(chuàng)新設計的首要前提。隨著機構朝復雜空間多閉環(huán)方向發(fā)展,傳統(tǒng)自由度計算公式已不通用[1-7],尋找自由度通用分析公式或方法又重新成為機構學研究的熱點,近20年來不斷有學者提出新方法、新公式[7-12]。其中一些借助李代數(shù)[13-14]、線性變換[15]、螺旋理論[2,6]等數(shù)學工具的方法,科學、嚴謹、系統(tǒng)且通用,但要列出給定位置運動約束方程并求秩[3],理論晦澀、過程復雜,難以快速計算,不利普遍推廣。例如,螺旋理論法中,難以通過簡單觀察判斷多數(shù)運動螺旋集及約束螺旋集的線性相關性并求出秩數(shù),手工求解,即使輔以通用軟件計算,計算過程依然繁雜,加上像螺旋理論這樣的數(shù)學方法計算得到的自由度有的會隨位型變化[6],需要多次計算才能判定其瞬時性。所以,將自由度分析計算過程計算機化、自動化具有重要意義。目前自由度自動計算的研究比較少,文獻[16]提出用符號描述并聯(lián)機構。另外,局部自由度在機構中普遍存在,機構自由度的正確分析計算有助于更詳細分析機構的運動性質。目前多以經(jīng)驗觀察判斷局部自由度[17],文獻[2,14]則分別提出了機構存在局部自由度的基于螺旋理論、李代數(shù)的分析方法,文獻[18]則用桿組運動參數(shù)分析了桿組內存在的局部自由度,但這些理論方法只適用并聯(lián)機構。
螺旋理論中的單位螺旋中含有的6個Plücker坐標可以表達機構的運動、約束,且螺旋集數(shù)學計算規(guī)范。本文基于該理論,利用Matlab編寫了單環(huán)機構和多環(huán)并聯(lián)機構的自由度自動分析計算程序,分析了機構中過約束的Matlab算法,提出了適用于包括單環(huán)、多環(huán)機構在內的平面、空間機構的局部自由度判斷準則。
對于并聯(lián)機構,文獻[2]修正了傳統(tǒng)的Grübler-Kutzbach公式(準則),給出了通用的機構自由度計算公式:
(1)
式中:n為機構中活動構件數(shù)目;g為運動副的數(shù)目;fi為第i個運動副的自由度;λ為機構的公共約束數(shù)(階數(shù)d=6-λ);ν為冗余約束數(shù);ξ為局部自由度數(shù)。
g和fi按輸入運動副類型自動計算,而活動構件數(shù)為:n=g-1(單閉環(huán));n=g-l+1(多閉環(huán))。式中:l為分支數(shù)。此式僅適用于一個構件僅連接2個運動副時的情形。
顯然,計算自由度的關鍵環(huán)節(jié)是計算機構的3個參數(shù):λ、ν和ξ,可以通過螺旋理論根據(jù)機構運動副所含有的運動信息求出約束信息,從而求出該3個參數(shù)。
單自由度運動副的單位運動螺旋定義(Plücker坐標)為:
$=(s;s0)=(s;r×s+hs)=(l,m,n;P,Q,R)。
(2)
式中:s為螺旋軸線方向的單位矢量;l、m、n為s的3個方向余弦;s0為螺旋的對偶部矢量,s0=(P,Q,R);r=(x,y,z)是螺旋軸線上任意一點的位置矢量,x、y、z是該點的直角坐標值;h是節(jié)距;P、Q、R是對偶部矢量的3個分量。
可用不同節(jié)距代表不同的單自由度運動副:h=0是轉動副R,h=∞是移動副P,h=Const(Const為不等于零的常數(shù))是螺旋副H。
根據(jù)式(2),可以按“軸線及位置矢量”或“Plücker坐標”兩種方式輸入螺旋信息,程序界面如圖1。
表1列出了常見運動副按“軸線及位置矢量”方式的輸入?yún)?shù)。
表1 常用運動副輸入?yún)?shù)及螺旋表示
其中,球副S和平面副E僅輸入相互不平行的2條螺旋軸線矢量s1、s2(并不要求正交),然后程序自動求出與該2條軸線正交的第三條螺旋軸線s3。本程序已經(jīng)解決了Matlab須先定義字符變量再使用的傳統(tǒng)方法,可在圖1界面中的螺旋軸線矢量、軸線上坐標點或Plücker坐標輸入框中輸入由任意字母和數(shù)字組合的字符變量,及由變量和“+、-、*、/”運算符號,甚至正弦、余弦等三角函數(shù)組成的簡單表達式,真正做到基于字符變量的自由度計算機自動分析計算。
文獻[2,6]等提倡盡量多的用0、1表達螺旋坐標元素,但如此輸入會弱化運動螺旋模型中所蘊含的部分運動信息。為了正確自動分析局部自由度,輸入?yún)?shù)時還要注意以下規(guī)則。
1)多環(huán)機構的分支中存在兩S副及局部轉動自由度。多環(huán)機構中,位置坐標都取各自球心,而用(1,0,0)、(0,1,0)和(0,0,1)的3條正交軸代表其等效轉動軸;在單環(huán)機構中則要以兩球心連線作為兩S副各自的1條螺旋軸線,見表2中的(S…S)結構形式的sA1和sB1。
表2 單環(huán)機構中存在局部自由度的8種結構組合形式Tab.2 Eight kinds of configurations containing passivedegree of freedom in single loop mechanisms單環(huán)結構組成Compositions in Single Loop結構特點Features of Compositions1)2)3)4)ABsAsBS…SABsAsBR…SABsAsBC…SABsAsBR…R1111存在兩R副軸線同軸(節(jié)距等于零)Axes of two R pairs are coaxial(pitch equal to ze-ro)$A1×$B1=0$A×$B1=0$A×$B=05)AsABsBhBhAH…H存在兩H副軸線同軸且節(jié)距相等Axes of two H Pairs are coaxial and their pit-ches are equal to each other$A×$B=0且(and)hA=hBABP…PsAsBC…CC…PABsAsBABsAsB6)7)8)存在兩P副的導路矢量相互平行Axes of two P pairs are parallel to each othersA×sB=0 說明Note:A、B等表示運動副上的點,下同Italicized capital letters A,B,etc.indicate the points on the kinematic pair,the same below
2)分支(含單環(huán))中存在R副/C副,且其回轉軸線確實指向同一分支中S副的球心,則存在局部轉動自由度。故R副/C副螺旋軸線上的位置坐標取球副中心坐標,而S副中取1條螺旋軸線等于R副/C副的螺旋軸線,見表2中的(R…S)和(C…S)結構形式的sB1=sA;按“Plücker坐標”輸入時,則球副有1螺旋與R副/C副的1螺旋相同。
3)對平面副E,若分支中同時存在其他運動副,并且該運動副含有與平面平行的P副,則該分支有局部移動自由度;若分支中同時存在其他運動副,且該運動副含有與該平面垂直的R副,則該分支有局部轉動自由度。故前者要注意將E副中的移動導路矢量方向處理成與相關P副導路矢量方向平行;后者則要將E副含有的轉動軸處理成與相關R副同軸。點、線接觸的高副處理方式類似。例如,滾子推桿凸輪機構中高副等效于R、P副,其中的R副軸線要處理成與滾子轉動副同軸。
此外,雖然螺旋系的相關性與坐標系選擇無關[2],但若是對稱并聯(lián)機構,因運動螺旋需合并在一起分析,故若按分支局部坐標系輸入?yún)?shù),要給出局部坐標與全局坐標的轉動關系,程序會在合并為動平臺的運動螺旋集S前先進行螺旋坐標變換。總之,要計算局部自由度時,應輸入更符合實際運動副運動狀態(tài)的模型。1.2由Plücker坐標反求位置矢量及節(jié)距
假設坐標系原點向螺旋軸線所作垂線的垂足位置矢量為r=(rx,ry,rz),因兩正交矢量數(shù)量積為零[19],有:
s·rT=0。
(3)
已知螺旋的Plücker坐標時,式(2)和式(3)組成的線性方程組有4個標量方程,4個變量rx、ry、rz和h,故可求出r(垂足點)和節(jié)距h。注意,反求得到的r將不同于原來的設定,故給“新建機構”界面設定好選擇輸入方式后不再改變。
設$ji為第j個分支中第i個運動副的運動螺旋,則分支j中所有運動螺旋所組成的螺旋集(所有螺旋相加,可含重復螺旋)就是該分支的運動螺旋集,寫成矩陣:Sj=[$j1;$j2;…]。將機構所有分支的運動螺旋集合并,構成了機構運動螺旋集S。Sj和S都可能線性相關。
一個并聯(lián)機構的一條分支串聯(lián)鏈中,如有4個轉動副軸線平行,則形成局部自由度[2]。但若同樣由這4個軸線平行的轉動副組成單環(huán)機構(這時是平面四連桿機構),其運動螺旋系肯定線性相關(單環(huán)機構的運動螺旋集必線性相關,否則是不能相互運動的桁架),此時機構自由度為1,而不存在局部自由度。所以,“局部運動螺旋系Sj線性相關則存在局部自由度”的準則只適用于多環(huán)機構,單環(huán)機構的判定條件要修正。這個例子也說明,如果將自由度(含局部自由度)≥1的單環(huán)機構作為多環(huán)并聯(lián)機構的一個分支,則該分支必然是線性相關的,即該分支存在局部自由度。
另外,不同類型的多自由度運動副之間可以具有局部自由度,但是要將多自由度運動副等效為單自由度的運動副后,同類型的單自由度運動副之間才可能存在局部自由度。即,R副、P副和H副(包括等效復合副中的R副和P副,下同)相互之間不可能產(chǎn)生局部自由度,只有同樣的R副之間、H副之間才可能產(chǎn)生轉動局部自由度,同樣的P副之間才可能產(chǎn)生移動局部自由度。螺旋副H理論上來說也是R、P復合副,但H副本身含有的位移信息及轉動信息綜合在了1個螺旋中,它們與其他P副的位移信息及其他R副的轉動信息都不相同。或者說,H副不可能與其它類型的運動副形成移動或轉動局部自由度,但不同位置的H副之間可能存在轉動局部自由度。推論:多個(≥2)有相同節(jié)距的螺旋之間才存在局部自由度,不同節(jié)距螺旋之間不存在局部自由度。
1.4.1 多環(huán)機構
多環(huán)機構分支中存在局部自由度的充要條件:分支中存在多個(≥2)有相同節(jié)距的螺旋,且分支中的運動螺旋集線性相關。注意:
1)局部相對運動的兩構件可以是鄰近的兩構件,也可以是分支中距離較遠的兩構件,即,這種“局部”涵蓋到整個分支。
2)分支中局部自由度數(shù):
ξj=size(Sj,1)-rank(Sj)。
(4)
其中:rank(Si)是Matlab求矩陣Si的秩數(shù)的函數(shù);size(Si,1)是求Si行數(shù)的函數(shù)。
3)運動螺旋集線性相關就表明有相同節(jié)距的螺旋,這里增加該條件是為了便于觀察。多環(huán)機構分支中線性相關的螺旋幾何特征比較復雜,例如,2個轉動螺旋共軸且等節(jié)距、2個移動副導路平行、3個以上轉動軸平行等組成的螺旋系都是線性相關的。更多的幾何條件可參考文獻[2],可用式(4)求得ξj>0,則表示運動螺旋集線性相關。
1.4.2 單環(huán)機構
單環(huán)機構分支中存在局部自由度的充要條件:機構中存在兩個有相同節(jié)距的螺旋,且各自P副的導路矢量相互平行,或各自非P副(h=Const或h=∞)螺旋同軸。注意:
1)若單環(huán)機構中一個運動副與多個運動副可能都滿足相同的局部自由度存在條件,則滿足相同條件的運動副中只有2個運動副產(chǎn)生同性質(相對轉動或移動)的局部自由度。一般根據(jù)最小阻力定律判定局部自由度發(fā)生位置,本文規(guī)定該運動副僅與符合條件最近的運動副之間存在1個局部自由度。單環(huán)機構中可能存在多個不同性質,或者同性質但不同條件的局部自由度。
2)表2列出了單環(huán)機構中兩運動副存在局部自由度的8種典型結構組合形式。
編程用到兩個重要關系:兩矢量叉乘等于0矢量時表示兩矢量或兩螺旋相互平行,而兩螺旋的叉積(旋量積)等于0螺旋時表示兩螺旋共線。兩螺旋的叉積定義為:
(5)
1.5.1 公共約束數(shù)λ計算
1.5.2 冗余約束數(shù)ν計算
(6)
文獻[2,17]給出的冗余約束數(shù)公式是
(7)
顯然,式(6)和式(7)的內涵都是指與其他約束線性相關的冗余約束數(shù),沒有差別。兩式也適用于單閉環(huán)機構,當然,ν是多分支并聯(lián)而產(chǎn)生的,單閉環(huán)的ν為零。
若求出Sr中線性無關的一組集sr,再次求反螺旋,則得到二次反螺旋srr。對并聯(lián)機構,srr表示動平臺的運動可能性,對應矩陣的行數(shù)就是動平臺的自由度;對單閉環(huán)或開環(huán)機構,srr代表末桿(拆架后的機架或開環(huán)的末桿)的運動螺旋,其行數(shù)為末桿的自由度數(shù)或機構階數(shù)。
注意,若用null函數(shù)求得二次反螺旋srr=[ ],要根據(jù)末桿(動平臺)是無約束的自由狀態(tài)還是全約束不能動兩種情況來調整srr,即:
式中:rref是Matlab的簡化列梯形矩陣函數(shù)。
此外,對于分支含閉環(huán)的并聯(lián)機構,如Delta機構[2,8,17],可以先分析分支閉環(huán)中假設為動平臺的運動螺旋系srr,觀察或用式(2)和式(3)組成的線性方程組求出對應的螺旋軸線矢量及軸線上特定點位置矢量,然后將機構中的分支閉環(huán)用等效運動副螺旋替換(若按“Plücker坐標”方式輸入機構運動副信息時,分支閉環(huán)直接用相應srr等效替換即可),則可分析這類機構自由度。
用本程序分析了平面、空間、單環(huán)及多環(huán)等各類機構的自由度,計算結果完全正確,且絕大多數(shù)機構的計算效率非常高。以下舉例說明判定機構局部自由度的方法及過程。
圖1界面中的機構是麥弗遜轉向懸架[19],不考慮車輪轉動,該多環(huán)機構就是一個以轉向節(jié)DBC為動平臺的并聯(lián)機構,三個分支分別為GEC(運動副類型分別為P、S、S)、AD(S、C)、FB(R、S)。在轉向器齒條左右對稱位置上建立如圖1所示全局坐標系,則根據(jù)前面參數(shù)輸入規(guī)則,C、E、B位置球副的2條特征回轉軸線取簡單的0、1元素,但A處球副的1條特征回轉軸線要按表2的C…S結構形式輸入,即各運動副的特征回轉軸線方向分別為:
sG=(0,1,0);sE1=sC1=(1,0,0);sE2=sC2=(0,1,0);sA1=sD=(l,m,n);sA2=(1,0,0);
sB1=(0,0,1);sB2=(0,1,0);sF=(1,0,0);
輸入上述螺旋軸線矢量方向及各運動副位置矢量,可求出3個分支各運動副的運動螺旋。
GEC分支:
AD分支:
FB分支:
故各分支運動螺旋集:
SGEC=($G;$E1;$E2;$E3;$C1;$C2;$C3);SAD=($A1;$A2;$A3;$D1;$D2);SFB=($F;$B1;$B2;$B3)。
這里Matlab直接用運動副坐標的字符變量計算,得出各運動螺旋及反螺旋,涉及的變量雖然多,但不計軸線矢量和位置矢量的輸入時間,程序分析過程耗時約1.2 s,這是手工計算難以達到的。
RSSR空間轉向梯形機構簡圖如圖2所示。其中:A、D處為轉動副,B、C處為球副。該機構有8個運動螺旋,按參數(shù)輸入規(guī)則,得到兩球副中各有一條運動螺旋分別為:
$B1=(Δx,Δy,Δz;yBΔz-zBΔy,zBΔx-xBΔz,xBΔy-yBΔx);
$C1=(Δx,Δy,Δz;yCΔz-zCΔy,zCΔx-xCΔz,xCΔy-yCΔx)。
式中:Δx=xC-xB;Δy=yC-yB;Δz=zC-zB。
這是單環(huán)機構,$B1×$C1=0,且hB1=hC1=0,因此兩個球副之間有一個轉動局部自由度,即ξ=1,而M=1。若選BC桿為動平臺,機構就相當于有兩個分支(2-RS)的并聯(lián)機構,兩個球副在不同的分支中,此時無法判定其存在局部自由度,所以ξ=0,但M=2。實際上,這是因為B、C球副之間的構件是輸出構件,其產(chǎn)生的繞自身軸線的轉動自然計入到了輸出構件的自由度中。這也說明對含有局部自由度的機構,用式(1)計算的自由度數(shù)與輸出構件選擇有關?;蛘甙次墨I[20]的觀點,該機構的自由度是2,名義自由度是1。
本例中,若不以兩球心連線作為兩球副的一條轉動軸線,而是用sB1=sC1=(l,m,n)計算運動螺旋,則得到機構的運動螺旋集維數(shù)是8,秩是6,所以M=2,也無法判定局部自由度。
如圖3機構中,由3個構件和3個運動副組成,其中A、B處各有1個螺旋副,C處1個移動副。3個運動螺旋分別為:
其反螺旋有4個(略),λ=4,ν=0。根據(jù)其結構$A×$B=0,即兩運動螺旋滿足同軸條件。按兩種情形討論:
1)當hA≠hB時,上述3個運動螺旋線性相關(秩為2),但并不存在局部自由度,可求得ξ=0,M=1,這與文獻[2]結果相同。
2)若hA=hB(螺旋同向)時,3個運動螺旋線性相關,秩也仍然為2,本文程序最后求得ξ=1,M=0。因為依據(jù)表2,這種情形下有一個局部轉動自由度,表明這時構件1的轉動僅是構件1的螺旋轉動,并沒有帶動構件2產(chǎn)生相對機架3的移動。文獻[2]沒有分析這一情形。這個例子表明,單環(huán)機構不能單用“運動螺旋系線性相關”來判定局部自由度,單環(huán)機構中運動螺旋集線性相關只是表明其部分或全部構件可動。
另外,如果將2個螺旋副都等效為RP副,按情形(2)分析,會錯誤判斷出存在3個局部自由度,故而不能將螺旋副H等效為RP副。
圖4凸輪機構也屬于單環(huán)機構,由于高副可以用RP等效(螺旋分別用$BP和$BR表示),這個機構相當于是RRPRP單閉環(huán)機構,其5個運動螺旋為:
其中:$BP=$C,有$BR×$C=0,機構有3個反螺旋(略),最后求出λ=3,ν=0,ξ=1,M=1,與實際情況相符。當然這時求出的活動構件數(shù)n=4,它是在高副低代時增加了一個虛擬桿造成的。當機構中含有沒列在表1中的等效復合運動副時,計算得到的活動構件數(shù)n大于實際構件數(shù),此時的n僅僅是作為計算的參考。
RRFRC機構簡圖見圖5。其中:C處是平面副;E處是圓柱副;其余是轉動副。各運動副螺旋軸線為:
sA=(1,0,0);sB=(a,b,c);sC1=(lC1,mC1,nC1);sC2=(lC2,mC2,nC2);
sD=(e,f,g);sE=(0,1,0)
式中:sC1、sC2是平面副上兩不平行的矢量,則可以獲得由8個螺旋組成的螺旋集,秩為6,ξ=0,M=2。但若機構運動到某個位置瞬間,平面副與y軸平行,即:sC2=(0,1,0),則螺旋集的維數(shù)及秩數(shù)不變,但sC2×sE=0,這時不同構件的C、E兩點之間產(chǎn)生瞬時局部自由度,即:ξ=1,M=1。
本文利用Matlab提供的強大字符變量、矩陣處理能力,編寫了基于螺旋理論的機構自由度自動分析計算程序。程序可在矢量或坐標輸入框處輸入任意字母、數(shù)字和簡單三角函數(shù)等組成的表達式,使運動螺旋模型更符合實際情況,也便于局部自由度的自動分析計算。與手工計算相比,分析計算效率更高效??偨Y得到以下結論:1)分支中運動螺旋系線性相關存在局部自由度的判斷準則只適用于多環(huán)機構。單環(huán)機構中兩副之間存在局部移動自由度的充要條件是:存在兩個h=∞的螺旋導路矢量相互平行;或者,分支中存在0