陳 諾, 孫 偉, 楊帆行, 胡高博, 潘宇航
(武漢科技大學(xué) 機(jī)械自動(dòng)化學(xué)院, 湖北 武漢 430081)
機(jī)構(gòu)綜合的目的在于獲得滿足所有給定拓?fù)湟蟮目尚袡C(jī)構(gòu)構(gòu)型,為機(jī)構(gòu)的創(chuàng)新提供大量備選的結(jié)構(gòu)方案,從而使設(shè)計(jì)者選擇性能優(yōu)異的新型機(jī)構(gòu)用于機(jī)械裝備的創(chuàng)新,并設(shè)計(jì)出具有優(yōu)異性能的新型機(jī)械裝備。機(jī)構(gòu)綜合需滿足有效性,集成方法必須能夠獲得所有滿足給定拓?fù)湟蟮目尚袡C(jī)制。綜合結(jié)果必須是完整、準(zhǔn)確的,任何可行的機(jī)構(gòu)都不能被遺漏。此外,集成機(jī)制必須合理,不包含具有相同拓?fù)浣Y(jié)構(gòu)的同構(gòu)機(jī)制;然而,機(jī)構(gòu)同構(gòu)的確定一直是平面機(jī)構(gòu)類型綜合和優(yōu)化中需要解決的難題。
對(duì)此,許多學(xué)者提出了相應(yīng)的解決方案,羅玉峰等[1]提出關(guān)聯(lián)度和關(guān)聯(lián)度碼的方法判定運(yùn)動(dòng)鏈的同構(gòu);聶松輝等[2]提出一種可以自動(dòng)繪制運(yùn)動(dòng)鏈結(jié)構(gòu)簡圖的最大環(huán)路法判定同構(gòu);孫曉斌等[3]提出了條件最大結(jié)構(gòu)碼及其求解方法,將問題降次為TSP問題進(jìn)行同構(gòu)判定;丁佳文等[4]提出了一種遍歷環(huán)路的新型環(huán)路矩陣來描述行星輪系拓?fù)鋱D的基本特征進(jìn)行同構(gòu)判定;孫偉等[5]提出構(gòu)件鄰接矩陣描述行星輪系拓?fù)鋱D,并用改進(jìn)哈明數(shù)的方法來進(jìn)行同構(gòu)判定;周豪等[6]提出加值矩陣結(jié)合特征向量的方法來進(jìn)行同構(gòu)判定;Rai等[7]提出一種簡單的運(yùn)動(dòng)鏈構(gòu)件標(biāo)記算法,從而獲得最大二進(jìn)制序列碼,用此作為一個(gè)結(jié)構(gòu)恒量來判定同構(gòu);劉江南等[8]用轉(zhuǎn)化鄰接矩陣描述含復(fù)鉸運(yùn)動(dòng)鏈,通過把復(fù)鉸轉(zhuǎn)換為單鉸的方法來進(jìn)行同構(gòu)判定;伍星華等[9]提出了全等環(huán)路法,比較環(huán)路構(gòu)件度從而判定是否同構(gòu);Manoj等[10]提出改進(jìn)環(huán)聯(lián)接方法,通過關(guān)節(jié)頻率、鏈識(shí)別串等結(jié)構(gòu)恒量來判定運(yùn)動(dòng)鏈?zhǔn)欠裢瑯?gòu);李安明等[11]通過判斷特征碼、和列陣2個(gè)結(jié)構(gòu)恒量是否相等來判定運(yùn)動(dòng)鏈?zhǔn)欠裢瑯?gòu)。綜上所述,雖然復(fù)合鉸鏈同構(gòu)判定的方法甚多,但有些方法存在著不適合運(yùn)算,運(yùn)算量大,及轉(zhuǎn)化復(fù)雜等問題。
故課題組提出了一種簡單而精確的同構(gòu)確定方法,并引入了由鄰接矩陣和度矩陣組成的Laplace矩陣來描述運(yùn)動(dòng)鏈,特別是包含復(fù)合鉸鏈的運(yùn)動(dòng)鏈。將拉普拉斯矩陣進(jìn)行SVD分解后的奇異值向量作為確定的必要條件。通過對(duì)大量的案例進(jìn)行論證,表明該方法具有準(zhǔn)確性和高效性。
將度矩陣和鄰接矩陣用于構(gòu)造拉普拉斯矩陣,即
L=A-D。
(1)
式中:L為拉普拉斯矩陣,是一個(gè)n階的方陣,其中n由運(yùn)動(dòng)鏈桿件數(shù)決定;A為鄰接矩陣;D為度矩陣。
A需要考慮相鄰分量之間的關(guān)系,D需要考慮一個(gè)拉普拉斯矩陣在度或度上的元素,即頂點(diǎn)連接的分量的數(shù)量。矩陣的行和列是運(yùn)動(dòng)鏈的聯(lián)數(shù),包含復(fù)鉸和移動(dòng)副的矩陣元素。
含復(fù)鉸的矩陣元素計(jì)算公式:
(2)
式中:i和j表示關(guān)節(jié)編號(hào),數(shù)值根據(jù)構(gòu)件的情況取值0或1,相鄰的構(gòu)件含復(fù)鉸取1,構(gòu)件不相鄰數(shù)值為0;deg (vi)表示頂點(diǎn)vi的度,數(shù)值取決于構(gòu)件的連接數(shù)目。
含移動(dòng)副的矩陣元素計(jì)算公式:
(3)
式中:i和j表示關(guān)節(jié)編號(hào),數(shù)值根據(jù)構(gòu)件的情況取值為0或2,相鄰的構(gòu)件含有移動(dòng)副取2,構(gòu)件不相鄰數(shù)值為0;deg (vi)表示頂點(diǎn)vi的度,數(shù)值取決于構(gòu)件的連接數(shù)目。
圖1所示為一個(gè)含復(fù)鉸的10桿運(yùn)動(dòng)鏈。
圖1 運(yùn)動(dòng)鏈a1的結(jié)構(gòu)簡圖Figure 1 Structure diagram of kinematic chain a1
拉普拉斯矩陣L的元素lij(i≠j)表示運(yùn)動(dòng)鏈a1構(gòu)件i和構(gòu)件j之間的連接關(guān)系。例如:元素l12=1,表示構(gòu)件1和構(gòu)件2之間有連接;元素l13=0,表示構(gòu)件1和構(gòu)件3之間沒有連接。元素lii表示運(yùn)動(dòng)鏈a1構(gòu)件i連接構(gòu)件的數(shù)目。例如,l11=-4,表示構(gòu)件1處連接有4個(gè)構(gòu)件。
可通過拉普拉斯矩陣來求解奇異值,由LL*的特征值取平方根獲得。依據(jù)
|λE-LL*|=0,
可求出特征值。
其中:λ是拉普拉斯矩陣的特征值,E是單位矩陣。
求出特征值后,奇異值可由特征值取平方根獲得,結(jié)果用一組列向量表示。
(4)
由相關(guān)理論及同構(gòu)的概念可知,要使2個(gè)運(yùn)動(dòng)鏈同構(gòu),必須含有相同的構(gòu)件種類、構(gòu)件數(shù)量、構(gòu)件連接關(guān)系。對(duì)于構(gòu)件之間的連接關(guān)系,構(gòu)件數(shù)量均已確認(rèn)相同。在進(jìn)行同構(gòu)判定時(shí),首先構(gòu)建出拉普拉斯矩陣,由拉普拉斯矩陣的性質(zhì)可知拉普拉斯矩陣每一行、列求和均為0,則0是奇異值向量中的一個(gè)元素,可以檢測拉普拉斯矩陣的正確性,然后用奇異值分解(singular value decomposition,SVD)求出奇異值向量,比較2個(gè)運(yùn)動(dòng)鏈的奇異值向量,若相等則運(yùn)動(dòng)鏈同構(gòu),否則不同構(gòu)。
圖2所示為2個(gè)具有復(fù)雜鉸鏈的10桿運(yùn)動(dòng)鏈,可以構(gòu)建出各自的拉普拉斯矩陣并求得奇異值向量。運(yùn)動(dòng)鏈a2,a3的拉普拉斯矩陣和奇異值向量的結(jié)果如下:
(5)
(6)
圖2 運(yùn)動(dòng)鏈a2和a3的結(jié)構(gòu)簡圖Figure 2 Structure diagram of kinematic chain a2 and a3
由結(jié)果可以看出,奇異值向量中含有元素0,符合拉普拉斯矩陣性質(zhì),對(duì)比奇異值向量的結(jié)果顯示Sa1=Sa2≠Sa3,所以運(yùn)動(dòng)鏈a1和a2是同構(gòu)運(yùn)動(dòng)鏈,運(yùn)動(dòng)鏈a3是異構(gòu)。
圖3所示為2個(gè)13桿含復(fù)鉸運(yùn)動(dòng)鏈結(jié)構(gòu)簡圖。
圖3 運(yùn)動(dòng)鏈a13和b13的結(jié)構(gòu)簡圖Figure 3 Structural sketches of kinematic chains a13 and b13
求出了該運(yùn)動(dòng)鏈的拉普拉斯矩陣和各個(gè)矩陣的奇異值向量為:
(7)
(8)
由式(7)和(8)可知,奇異值向量中含有0向量,則說明與拉普拉斯矩陣的性質(zhì)符合,對(duì)比奇異值向量的結(jié)果顯示Sa13≠Sb13,因此,運(yùn)動(dòng)鏈a13和b13是異構(gòu)。
拉普拉斯矩陣不僅可以描述和判斷包含復(fù)雜鉸鏈運(yùn)動(dòng)鏈的平面的分量,還可以判斷包含移動(dòng)副的運(yùn)動(dòng)鏈。在鄰接矩陣和度矩陣中,移動(dòng)副的權(quán)重為2。圖4所示的虛線部分表示移動(dòng)副。
圖4 含移動(dòng)副的10桿運(yùn)動(dòng)鏈Figure 4 10-bar moving chain with moving pair
含有移動(dòng)副的10桿運(yùn)動(dòng)鏈的拉普拉斯矩陣和每個(gè)矩陣的奇異值向量:
(9)
(10)
(11)
由式(9)~(11)可知,該含有移動(dòng)副的10桿運(yùn)動(dòng)鏈所形成拉普拉斯矩陣的奇異值向量中含有元素0,符合拉普拉斯矩陣的性質(zhì),對(duì)比奇異值向量的結(jié)果顯示Sg1=Sg2≠Sg3,可得知運(yùn)動(dòng)鏈g1與g2是同構(gòu),g3是異構(gòu)。
課題組提出了拉普拉斯矩陣來描述具有平面復(fù)雜鉸鏈的運(yùn)動(dòng)鏈。構(gòu)建的拉普拉斯矩陣實(shí)現(xiàn)矩陣與運(yùn)動(dòng)學(xué)鏈的一一對(duì)應(yīng)。該矩陣可以通過SVD進(jìn)行分解,得到的奇異值向量可以判斷運(yùn)動(dòng)鏈的唯一性,0元素可以檢驗(yàn)矩陣的正確性。該方法不僅可以用于包含復(fù)雜運(yùn)動(dòng)鏈的同構(gòu)判定,還可以用于包含移動(dòng)副的平面運(yùn)動(dòng)鏈同構(gòu)判定。實(shí)例證實(shí)了該方法的有效性和高效性。相比其它判定法,該方法的矩陣簡潔美觀,可讀性強(qiáng),且用SVD分解得到結(jié)果較為準(zhǔn)確、快速。