趣味案例:CAE與野獸



一、什么是風力仿生獸?




風力仿生獸,英文名叫Strandbeest,其發明者是被譽為“現代版的達芬奇”的荷蘭藝術家泰奧揚森。這些奇特的“生物”主要是由塑料管組合而成框架結構,它們借助自身巧妙的多連桿機構,通過“食用”自然風就可以在海灘上自由漫步,因此也被叫做“噬風獸”。

下圖所示為結構較為簡單的一種風力仿生獸。

趣味案例:CAE與野獸的圖1

經過幾十年的發展,風力仿生獸演變出很多不同的類型,比如這樣的↓↓↓

趣味案例:CAE與野獸的圖2
大耳招風型

還有這樣的↓↓↓

趣味案例:CAE與野獸的圖3
雍容華貴型

這樣的↓↓↓

趣味案例:CAE與野獸的圖4
長驅直入型

甚至這樣的↓↓↓

趣味案例:CAE與野獸的圖5
毛毛蟲型

以及這樣的↓↓↓

趣味案例:CAE與野獸的圖6
拖家帶口型

等等。

更為神奇的是,這些“沙灘巨獸”還擁有感應裝置,能夠進行簡單的思考判斷,比如它們可以儲存風能,在風力較弱的時候也能行走;它們夠感知海洋的位置,一旦遇到水就會自動向反方向行走,以防自己被“淹死”;當暴風雨來臨時,它們還可以啟動錘子錘一根釘子,把自己的身體固定在沙灘上。發明者甚至希望他的生物最終可以自行在海灘上生存進化!

本文就來向大家展示如何用Amesim仿真一只行走的風力仿生獸,最終動畫效果如下。


趣味案例:CAE與野獸的圖7




二、風力仿生獸的Amesim仿真方法




本文的仿真是基于下圖所示的三維模型(文末提供了三維模型下載鏈接,供大家參考)。

趣味案例:CAE與野獸的圖8
風力仿生獸三維模型

按照結構和功能,該模型可分解為以下部分:

  • 支架:即風力仿生獸的“身體”,其他結構都通過支架安裝并連結在一起;

  • 風車:用于“食用”自然風,將風能轉化為行走所需的能量;

  • 齒輪:將風車的能量和運動傳遞至曲軸;

  • 曲軸:共有兩根,每根曲軸相當于三個相位相差60度的曲柄,曲柄可以帶動腿行走;

  • 腿:每條腿由四根桿和兩個三角架組成,是整個仿生獸最核心、最精巧的部分;腿共有12條,兩兩一組(即前腿和后腿)安裝在支架和六個曲柄上。

通過分析不難發現,風力仿生獸本質上是一個設計巧妙的 多連桿機構,它行走時的運動也是維持在一個 2D平面內,因此我們可以用Amesim的 2D機械庫實現其建模和運動仿真。

下面進入正題,向大家展示風力仿生獸的建模仿真過程。額,有點麻煩。不過不要緊,我們由簡到繁,一步一步來!

第1步:建立曲軸和一條前腿的仿真模型

風力仿生獸的各組成構件通過dynamic_plmbody元件建模,構件間的鉸接主要通過plmpivot元件建模。我們采用局部坐標系的方式,先建立曲軸和一條前腿的仿真模型。

首先在三維模型中為每個構件分別建立局部坐標系,然后測得各自的鉸點坐標。在草圖模式下根據構件的鉸接關系搭建模型,如下圖所示。在子模型模式下點擊首選子模型。

趣味案例:CAE與野獸的圖9
曲軸和一條前腿的仿真模型

在參數模式下輸入各個子模型的局部坐標、質量屬性等參數。此時模型只有一個自由度,因此我們右擊曲柄鎖定其絕對角度狀態變量,并在參數中輸入曲柄的絕對角度初始值為0進行約束。

趣味案例:CAE與野獸的圖10
鎖定曲柄的絕對角度狀態變量

進入仿真模式下,雙擊plmassembly元件打開動畫窗口,查看模型初始化結果。

趣味案例:CAE與野獸的圖11
初始化失敗

好吧,初始化失敗,看來需要更多約束才可以。這里我們在三維模型中測量各構件的初始角度(即各構件的局部坐標系相對于全局坐標系的逆時針旋轉角度),并輸入Amesim對模型做進一步約束。再次進行初始化,成功!

趣味案例:CAE與野獸的圖12
初始化成功

接下來給這條腿輸入一個力矩,仿真一下,查看動畫,如下所示。

趣味案例:CAE與野獸的圖13
一條前腿仿真動畫

第2步,建立兩條腿的仿真模型

我們把第一步建立的前腿模型復制粘貼一下,建立相應后腿的模型。需要注意的是,前腿和后腿是鏡像對稱的,因此其局部坐標系和構件角度也要做相應改變。

趣味案例:CAE與野獸的圖14
兩條腿仿真模型

完成之后再仿真一下,查看動畫,如下所示。

趣味案例:CAE與野獸的圖15
兩條腿仿真動畫

第3步,建立六條腿的仿真模型

鑒于三維模型中兩根曲軸的運動完全一致,因此我們只需建立一根曲軸和相應的六條腿的仿真模型即可。

在兩條腿的基礎上,比葫蘆畫瓢,完成另外四條腿的建模,如下圖所示。

趣味案例:CAE與野獸的圖16
六條腿仿真模型

仿真一下,查看動畫。看這群魔亂舞的架式,有內味了!

趣味案例:CAE與野獸的圖17
六條腿仿真動畫

第4步,建立風車和齒輪模型

風車和齒輪在模型中主要用于傳遞運動和力,并非建模重點。我們采用Powertrain庫的gear_3p元件進行齒輪建模,采用輸入力矩的方式模擬風車受到的風力。另外,由于風車和齒輪不能在動畫窗口中顯示,為方便后續動畫關聯運動變量,我們給風車和齒輪添加角位移傳感器。

趣味案例:CAE與野獸的圖18
風車和齒輪建模

第5步,建立支架模型

前面四步建模沒有考慮支架,本該與支架鉸接的點都是和大地鉸接。在這一步中,我們來建立支架模型。

支架暫時與大地鉸接,約束其x和y方向的平移自由度,如下圖所示。此時模型又增加了支架的旋轉自由度,因此需要鎖定支架的絕對角度狀態變量(設置方法可參照第1步),并在參數設置中設置其絕對角度初始值為0。

趣味案例:CAE與野獸的圖19
加入支架后的模型

完成以上設置之后,運行仿真,查看動畫,如圖所示。

趣味案例:CAE與野獸的圖20

加入支架后的仿真動畫

第6步,建立“腳”與地面接觸模型

首先,去除支架與大地之間的鉸接,釋放其x和y方向的平移自由度,使模型可以落地行走;此時,需要鎖定支架重心的x絕對位置狀態變量和y絕對位置狀態變量,并在參數中設置其重心的坐標初始值(重心坐標初始值可通過三維模型測得)。然后,采用plmcontcont元件建立六只腳與地面的接觸模型,如下圖所示。

趣味案例:CAE與野獸的圖21
建立接觸后的模型

設置完成后,運行仿真。哈~看這精致又急促的小碎步!

趣味案例:CAE與野獸的圖22
建立接觸后的仿真動畫

至此,仿真模型已搭建完成!最后,我們導入三維模型,使仿真動畫看起來更逼真更美觀。

第7步,導入三維模型

在動畫窗口中導入三維模型(這里采用的是.stp格式),如下圖所示。由于前期建模時,Amesim中的模型采用了和三維模型完全一致的坐標系,所以導入之后所有構件和鉸點位置也是完全對應的。

趣味案例:CAE與野獸的圖23
導入三維模型

接下來,我們對動畫進行關聯和美化,需要做三件事:

  1. 根據模型的對應關系,在Object tree下將導入的三維模型一一拖拽至相應的元件下,使其關聯(注:要確保Tools菜單下,Options窗口中,General選項卡里Parent change handling為keep absolute position);

  2. 將位移傳感器輸出變量對應關聯到風扇和齒輪Z軸旋轉坐標中;

  3. 更改模型顏色,調整視圖。

完成之后,運行動畫,最終效果如下圖所示。

趣味案例:CAE與野獸的圖24

最終動畫效果


齊活!

第8步,簡單提取仿真結果

對于Amesim建立的系統仿真模型,除了仿真結果可視化之外,更重要的是我們可以提取力、運動等各種仿真結果,對系統進行性能分析和優化改進。


比如,提取仿生獸行走的位移和速度曲線,如下圖所示。可以看出,在恒定力矩輸入的情況下,行走速度有較大波動。


趣味案例:CAE與野獸的圖25

行走位移和速度曲線


再比如,提取腳的行走軌跡曲線,如下圖所示。可以看出,仿生獸每邁一步,腳的觸地距離非常有限,這也印證了我們動畫中看到的“小碎步”。同時,這也說明我們所使用的仿生獸模型尺寸還有進一步優化改進的空間。


趣味案例:CAE與野獸的圖26

腳的行走軌跡曲線


當然,可以分析的點還有很多,本文不再一一列舉。

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

23
16
7