機器人結構的優化分析

   時間:2014-03-07 21:57:36
機器人結構的優化分析簡介
摘要 機器人結構的有限元優化設計中,需要對設計方案多次修改、計算。除了計算工作以外,結構的修改工作通常是由手工完成,在整個設計工作量中所佔比重是比較大的。本文給出一種利用ANSYS軟體提供……
機器人結構的優化分析正文

摘要 機器人結構的有限元優化設計中,需要對設計方案多次修改、計算。除了計算工作以外,結構的修改工作通常是由手工完成,在整個設計工作量中所佔比重是比較大的。本文給出一種利用ANSYS軟體提供的APDL語言對設計方案進行優化的方法。利用這種方法,結構的修改不再需要人工干預,整個優化過程在使用APDL語言編寫的用戶優化程序的控制下自動進行,能夠有效地提高優化工作的效率和可靠性。
關鍵詞:有限元,結構優化
1. 問題的提出
工業機器人是計算機技術出現后發展起來的一種新型機械結構,工作效率和機動性比傳統機械高很多。隨之而來的是,機器人的結構設計在減少質量、提高剛度方面比傳統機械結構有更高的要求。在設計工作中,結構的最優化顯得更為重要。
在結構的優化設計中,有限元法是一個比較有效的方法。通常,建立模型和模型的修改都是手工完成的。對於結構比較複雜或者需要修改的地方很多的情況下,優化的時間比較長。其中計算時間相對較少,建模和結構修改所佔比重較大。如何減少建模和結構修改的的時間,是提高結構優化效率的關鍵。
APDL語言 是ANSYS軟體提供給用戶的一個依賴於ANSYS程序的互動式軟體開發環境。APDL語言具有類似一般計算機語言的常見功能 ,如類似於常數定義、變數定義和賦值的參數定義,分支和循環控制語句,類似於子程序調用的宏調用等功能。除此以外,還包含有比較強的數學運算能力,如算術運算、比較、取整和標準FORTRAN的三角函數、指數函數、雙曲函數等。利用APDL語言還可以讀取ANSYS程序資料庫中的數據進行數學運算,以及建立分析模型,控制ANSYS程序的運行過程等功能。
圖1所示是一個三桿並聯的機器人結構的原始設計方案。機器人的機座採用門式結構,三個驅動桿的長度可變,使得末端件能夠完成指定的運動。由於採用三個驅動桿,上橫樑的核心部分呈等邊三角形,如圖2所示。結構沿立柱平面無法設計成對稱形式,橫樑在兩個立柱之間沿x方向的位置難以確定。而且,原始設計方案的有限元分析結果表明,橫樑與1驅動桿相聯的懸伸端沿z向變形比較大,剛性比與2、3桿相聯的部分弱很多,約為其它兩個桿所在部位剛度的十分之一。這種剛度的不一致性給末端件在高工作載荷下的運動精度帶來一定的影響。確定上橫樑沿x方向的位置是很有必要的。
對於上述問題,一般的優化策略是不斷地改變上橫樑的位置,經多次試算,最終找到一個合適的位置。每次試算,都要根據計算結果修改模型,重新建模。手工操作迭代過程,如果迭代次數比較多,很難避免出現失誤,優化失敗的幾率比較高。模型修正以後,上橫樑的壁板和筋板形狀會發生變化。由於上橫樑的內部結構形狀比較複雜,壁板和筋板形狀的變化對上橫樑剛度的影響難以預測,試算的次數比較多,修改模型的工作量也相應比較大。
本文利用ANSYS程序的APDL語言對上述的橫樑位置優化問題給出了一個優化策略。在第一次的分析模型建立起來后,利用命令記錄文件中生成的建模指令構造用戶的優化控制程序,後續的迭代優化過程都由APDL語言編寫的用戶控制程序完成,不再需要人工干預。對圖1所示的模型進行修改所需的時間減少到可以忽略的程度,整個優化過程的效率有很大提高。
2. 分析模型的建立
圖1所示結構由三部分組成:兩個立柱,一個橫樑和三個驅動桿。立柱和橫樑通過圖1所示立柱上部第一個水平筋板處的螺釘聯接。由於主要考慮橫樑的變形,驅動桿部分可以略去,在聯接部位代之以等效力。
橫樑部分的核心是三個與驅動桿聯接的部位和中間的有特殊用途的孔,尺寸必須保證。其它部分則與立柱能有效聯接即可。為建模的方便,在ANSYS程序中將橫樑的核心部分做成一個元件(component)。在優化過程中,這一部分幾何形狀保持不變,只改變它與立柱沿x軸的相對位置,即只改變聯接部分的幾何形狀。需要注意的是,聯接部分在優化迭代過程中只改變幾何尺寸,不改變拓撲結構,可以通過程序自動完成。
  橫樑與每個立柱通過六個螺栓聯接。在螺栓聯接部位,結點應當耦合。在非螺栓聯接部位,結合面不能承受拉應力,應設置接觸單元。模型中包含接觸單元以後,求解過程需要大量的非線性迭代計算,機時增加很多。將橫樑與立柱作為一體進行的試算表明,立柱的外側受拉,內側受壓。考慮到主要分析對象是上橫樑與三個驅動桿處的聯接剛度,可以將接觸單元略去,在立柱外側建立圖2所示的聯接面幾何模型。橫樑與立柱的聯接處,有螺栓的部位,上下面共享一個關鍵點,沒有螺栓的部位,上下面各自擁有一個關鍵點。這樣做的好處是,網格剖分時,在公共關鍵點處自動生成一個結點,建立起立柱和橫樑之間的耦合關係。在非公共關鍵點處,橫樑和立柱上的結點則不會有這種耦合關係。在立柱的內側,立柱與橫樑在接觸面上聯成一體,所有結點都將是耦合的,立柱和橫樑共享這些結點,而不僅僅是在螺栓聯接處。這樣做的好處是,既省去了接觸單元,又能反映螺栓聯接的特點。
立柱底部與基礎的聯接處理成剛性的全約束。
分析的主要目標是橫樑的剛性,可以認為上橫樑在與三個驅動桿的聯接處承受相同的載荷。這樣可以根據計算得到的變形結果,直接評價三個聯接部位的剛度。
結構採用薄壁鑄件,在分析模型中採用板殼單元shell63模擬。結構的外壁與筋板厚度不同,需要為板殼單元設置兩組不同的實常數(real constant)。
同樣,為了建模的方便,將兩個立柱做成另一個元件。進而將立柱核心部分建立的元件與立柱元件做成一個部件(assembly)。這樣,在修改模型的時候,可以很容易地將立柱與橫樑的聯接部分選擇出來,完成修改過程。
經過上述的處理,可以建立類似圖1所示的分析模型。由於模型和載荷的對稱性,實際計算可以只取一半,總的單元數就只有8927個,總結點數為4341個,全部使用三角形網格剖分。
3. 優化策略
優化過程本質上是一個試算-修改的迭代過程。以原始設計方案作為迭代計算的初始條件,迭代過程結束的條件是:三個驅動桿聯接處的剛度接近相等或者迭代次數過多。對於這個具體問題,可以預知三個聯接部位剛度相等時的橫樑位置是存在的,如果迭代不收斂,只能是移動量不合適或者初始位置不合適。為了迭代過程能夠快速有效地收斂,採用對分搜索的變步長演算法,自動修正移動量。演算法稍微複雜一些,但是對初值的要求不高,有比較好的通用性。
下面給出優化策略的控制流程。
1. 從備份文件中讀出橫樑在初始位置時的模型數據;
2. 修改橫樑的位置;
3. 求解修改後的模型;
4. 讀出與三個驅動桿聯接部位的變形;
5. 判斷是否滿足收斂條件,不滿足,修改移動量后返回3,滿足,則退出循環;
6. 存儲求解結果後退出。
下面是程序的主要控制代碼及其功能的註釋。其中具體的建模指令被省略,代之以省略號,為了便於同控制流程對照,加了部分必要的註釋。
/BATCH ANSYS的批處理文件標記
RESUME,,robbak,db,,0 從備份文件robbak.db中讀入原始數據
/PREP7 進入前處理器,
。。。 刪除橫樑與立柱的聯接部分
。。。 將橫樑核心元件移動一個初始step
。。。 在幾何模型上施載入荷和約束
。。。 網格劃分
FINISH 退出前處理器
/SOLU 進入求解器
SOLVE 求解
FINISH 退出求解器
/POST1 進入后處理器
*GET,front,NODE,2013,U,Z 讀第一個驅動桿聯接處的結點變形至front
*GET,back,NODE,1441,U,Z 讀第二個驅動桿聯接處的結點變形至back
lastdif=1 上一次front與back差值的絕對值
flag=-1 優化結果可行性的標記
step=0.05 從初始位置到最優位置的移動量初值
*DO,I,1,10,1 迭代循環開始,循環變數I,取值範圍1~10,步長1
dif=abs(front-back) 本次計算結果中front和back的差的絕對值
*IF,dif,LE,1.0E-6,THEN 判斷差值dif是否滿足要求
flag=1 滿足,則標記置1
*EXIT 退出迭代計算
*ELSEIF,dif,GE,lastdif,THEN 判斷差值dif是否變大
flag=2 差值變大,標記置2
。。。 對分法修改step
。。。 繼續以前一次位置作起點,以修改後的step為當前step,開始新一輪
迭代計算
*ELSE 差值不小於期望值,且逐漸變小,需繼續移動上橫樑
。。。 從備份文件中讀入初始狀態數據
。。。 進入前處理器
AGEN, ,P51X, , , ,step, , , ,1 移動上橫樑的核心部分,移動量step
。。。 構造橫樑和立柱的聯接部分
。。。 施載入荷和約束
。。。 網格劃分
FINISH 退出前處理器
/SOLU 進入求解器
SOLVE 求解
FINISH 退出求解器
/POST1 退出后處理器
*GET,front,NODE,2013,U,Z 給front賦值
*GET,back,NODE,1441,U,Z 給back賦值
lastdif=dif 更新lastdif
*ENDIF if-else 語句的結尾
*ENDDO *DO 循環語句的結尾
上面這個文件比較長,約1000行。主要目的是為了使程序的結構清晰。有很多代碼是復用的,如一些建模指令和后處理指令。使用時,可以將這些指令構成相應的宏在主程序中調用,能有效地縮短主程序的長度。此外,文件中多數具體的建模指令是從ANSYS程序的命令記錄文件中複製過來的,包含很多在圖形界面下才用到的指令。以ANSYS的批處理方式使用時,可以將這些命令刪除,也能縮短文件長度。
在上述程序中,模型指定部位的變形是通過結點讀取的。在網格剖分中,為了確保剖分成功,並且不產生形狀惡劣的單元,不得已使用了三角形網格。優化過程的每一步迭代,模型的立柱和橫樑核心聯接部分的幾何形狀都會不同,這會使剖分出來的網格數量有所不同,指定位置處的結點編號就有可能不同。依據結點編號從資料庫中讀取的數據就有可能不是指定位置的數據。為此,需要首先剖分橫樑的核心部分,這樣,橫樑上的結點編號在每次迭代過程中都是固定的。
迭代的最終結果是否是一個可行的結果,需要通過查看參數flag判定。只有flag=1,計算結果才是可行的,否則表示迭代過程並沒有找到最佳位置。橫樑的移動量存儲在參數step中。如果計算結果是可行的,step的值就是橫樑從原始設計位置到最優位置的移動量。總的迭代次數存放在參數I中,通過I的最終值,可以估計分析結果的可行性和初始條件是否合適。
4. 分析結果
優化過程總共進行了7次迭代,耗費機時約2小時37分鐘,找到了最優位置。由於機器讀入指令的過程比人工修改模型的速度快得多,修改模型的時間基本可以忽略。優化過程所需時間取決於求解時間。與人工完成的優化過程相比,效率有了較大提高,而且避免了複雜模型在建模過程中容易出現的人為失誤導致後續迭代計算出錯或偏離優化目標等問題。
5. 結論
分析結果表明,本文給出的優化方法是有效的,達到了預期的優化目的。該方法的優點是可靠性高,優化過程不易出錯。其次是通用性比較好,在類似的結構優化設計中,文中給出的控制代碼無需作大的改動即可移植使用。缺點是在優化過程中不能改變優化對象的拓撲結構。在不改變拓撲結構的條件下,修改模型的工作量越大,越能體現出該方法的優越性。另外,對於需要改變拓撲結構的優化問題,可以使用ANSYS程序提供的拓撲優化功能。如果將本文的方法與之結合,可以取得更好的優化效果。

 

[機器人結構的優化分析],你可能也喜歡

  • much的機械結構圖
  • 結構圖仿真機械蟾蜍
  • 結構圖機械松鼠盒
  • 沖床機械結構圖
  • 快速捲門機械結構
  • 機器學習
  • 医療機器
  • 身分證製造機器
  • 3d模型製作機器
  • 機器手臂機構設計
  • 包裝設計課程考試成績分析
  • seo蓮花優化
  • solidworks動態模擬分析
  • 關鍵字優化排名軟體
  • 包裝結構設計分析
  • 創意包裝設計案例分析
  • cs參數優化
  • seo蓮花排名優化軟體
  • seo優化軟體蓮花
  • 產品包裝設計分析
Bookmark the permalink ,來源:
One thought on “機器人結構的優化分析