程麗 宋健 張趙威 程欽錕 潘友勝



摘 要:首先在用力密度法對張拉整體單元找形的基礎上,對模塊化組合的張拉整體結構進行找形分析;其次以三桿張拉整體單元及雙模塊結構為算例,用Matlab工具軟件編程繪出結構的形態,同時闡述這種組合結構的形態特性;最后驗證了這種找形可以推廣到任意N模塊,對實際工程應用具有重要意義。
關鍵詞:張拉整體結構單元;找形;力密度法;模塊化組合
0 引言
“張拉整體”這一概念最初由美國學者Fuller提出[1],由此概念,張拉整體結構被各國學者廣泛研究,并且將張拉整體結構(Tensegrity Structures)定義為:一種處于自平衡狀態的特殊索桿結構[2],索桿的組合使結構處于連續張拉狀態并保持穩定。張拉整體結構最早廣泛應用于雕塑作品中[3],近幾十年逐漸成為國內外熱門話題,學者們將這種結構與拓撲結構聯系起來,從而把張拉整體思想逐漸應用到實際工程中,涉及航空航天、建筑、生物、智能機器人等多個領域。
張拉整體結構的形狀具有多樣性,找形是為了使其幾何形式滿足自應力準則[4],確定其幾何構型及其預應力,來形成一種自平衡且穩定的體系,它是張拉整體結構設計中的關鍵。張拉整體結構找形中常見的算法有力密度法、數值方法[5]、改進魚群算法[6]、粒子群算法[7]、遺傳算法[8]等,其中力密度法是一個被廣泛認可的重要找形方法。
通過連接組合張拉整體單元形成的模塊化張拉整體結構是建立模塊化張拉整體結構的主要方法。Snelson在1968年建立了通過沿著軸線連接的張拉整體結構[9];Fuller提出了最初的線型張拉整體結構并構造出了理想狀態的線型張拉整體[10],所以這種線型的連接是模塊化組合的最普遍方法。
本文以張拉整體單元為研究對象,用數值方法求出節點坐標,通過力密度法找到結構的平衡構型,以三桿張拉整體結構單元為算例,先對三桿張拉整體結構找形,再引入重疊率方程對找形后的單元模型進行模塊化組合。利用工具軟件Matlab編程繪出組合后的圖形,并對最終形成的模塊化結構的特性進行分析。
1 張拉整體單元找形
力密度法最早由Linkwitz和Schek于1971年提出[11],由Vassart和Motro[12]于1999年首次用于張拉整體結構的找形分析;利用力密度法找形時需要設定的基本參數有結構的拓撲構型(即求連接矩陣)、邊界約束條件、平衡狀態內力等,計算結構的力密度和各個桿件的力密度值,從而確定結構構型中的預應力。
1.1? ? 建立結構的拓撲構型
張緊結構預應力的穩定性取決于連通性,這里用連接矩陣表示其結構構型。
張拉整體結構中一個成員l的兩端節點由a指向b,在a-b節點的連通性矩陣Cl可定義如下:
Cl(a,b)=? 1, l的連接起點a,-1,l的連接終點b, 0, 無連接關系 (1)
基于公式(1),節點間的連接關系用連接矩陣表示為:
1.2? ? 以節點坐標建立平衡矩陣
結構中每個節點處的平衡方程由力密度和連接到節點的繩索表示,節點和連接節點之間的節點的坐標差與力密度有關,力密度與外部載荷處于平衡狀態,結構處于平衡狀態時,可以表示為:
Aq=f(3)
式中:A為結構系統中桿的平衡矩陣;q為桿的力密度向量;f為作用在節點上的外部載荷。
可以構造出如下形式平衡矩陣:
A=CTdiag(Cx)CTdiag(Cy)CTdiag(Cz)(4)
1.3? ? 力密度
力密度矩陣表示為:
D=CTdiag(q)C(5)
力密度矩陣D中元素按式(6)可以求出:
D(a,b)=? -qab,? ? 如果a≠l,∑l=a qal, 如果a=l,求和? ? ?0,? ? ?a與l不相連,(6)
1.4? ? 平衡矩陣奇異值分解
將平衡矩陣奇異值分解:
A=M∑NT(7)
其中Mk=[m1? ?m2? ?…? ?mk]是平衡矩陣A分解成的一個左奇異向量,Ns=[n1? ?n2? ?…? ?ns]是平衡矩陣A分解成的一個右奇異向量,diag(*)和∑為對角矩陣。
1.5? ? 數值算例
以圖1的三桿張拉整體結構為例:在結構的底面三角形建立笛卡兒坐標系,其中上下端面扭轉角度θ、桿長ls、水平索長lt為已知條件,利用公式(8)(9)(10)求上下端面外接圓半徑r、高度h及最小豎索長lc,求出節點坐標向量x、y、z。
h2=ls 2-(2r2-2r2cos θ)(9)
lc 2=h2+2r2-2r2cos(-θ)(10)
建立連接矩陣:
C=1? ?-1? ?0? ? 0? ? 0? ?00? ? 1? ?-1? ?0? ? 0? ?01? ? 0? ?-1? ?0? ? 0? ?00? ? 0? ? 0? ? 1? ?-1? 00? ? 0? ? 0? ? 0? ? 1 -10? ? 0? ? 0? ? 1? ? 0 -11? ? 0? ? 0? ? 0? ? 0 -10? ? 1? ? 0? ?-1? ?0? ?00? ?0? ? ?1? ? 0? ?-1? 01? ?0? ? ?0? ?-1? ?0? ?00? ?1? ? ?0? ? 0? ?-1? 00? ?0? ? ?1? ? 0? ? 0 -1(11)