ADAMS與MATLAB聯合仿真

2021-12-28 機器人學託兒所

   今天給大家帶來一個工程案例,使用ADAMS/Controls在ADAMS中建立模型並插入到控制模型中去。

例子:Antenna Control Problem

Azimuth and Elevation DOF

Flexible support

Disturbance to elevation loop 

Input torques applied

第一步:從ADAMS輸出使用於控制仿真軟體(CSS)的被控對象文件

 

例如:創建或輸入天線模型;確定天線模型的輸入輸出變量(控制antenna運動的力,扭矩;方位角和高度位置測量)

 

「plant export」命令會創建幾種特定的文件,這些文件能夠在CSS中生成一個ADAMS天線模型:

·.adm和.cmd文件描述機械模型

·.acf文件包含solver命令(不是必要使用)

·.m文件用於MATLAB;.inf文件用於MATRIXx和EASY5

例子:天線模型產生的.m文件如下所視

addpath( 'F:\PROGRA~1\ADAMS1~2.0/controls' ) ;

addpath( 'F:\PROGRA~1\ADAMS1~2.0\controls\matlab' ) ;       

% ADAMS / MATLAB Interface - Release 12.0.0

ADAMS_sysdir = 'F:\PROGRA~1\ADAMS1~2.0' ;

ADAMS_exec = '' ;

ADAMS_prefix = 'ant_test' ;         

if (exist([ADAMS_prefix,'.adm']))

ADAMS_static = 'no' ;

ADAMS_init = '' ;

ADAMS_inputs = 'control_torque' ;

ADAMS_outputs = 'rotor_velocity!azimuth_position' ;         

ADAMS_pinput = '.main_olt.tmp_MDI_PINPUT' ;

ADAMS_poutput = '.main_olt.tmp_MDI_POUTPUT' ;

ADAMS_uy_ids = [

1

2

3

] ;

ADAMS_mode = 'non-linear' ;

tmp_in = decode( ADAMS_inputs ) ;

tmp_out = decode( ADAMS_outputs ) ;

disp( ' ' ) ;

disp( '%%% INFO : ADAMS plant actuators names :' ) ;

disp( [int2str([1:size(tmp_in,1)]'),blanks(size(tmp_in,1))',tmp_in] ) ;

disp( '%%% INFO : ADAMS plant sensors names :' ) ;

disp( [int2str([1:size(tmp_out,1)]'),blanks(size(tmp_out,1))',tmp_out] ) ;

disp( ' ' ) ;

clear tmp_in tmp_out ;

else

disp( ' ' ) ;

disp( '%%% ERROR : missing ADAMS plant model file !!!' ) ;

disp( ' ' ) ;

end

% ADAMS / MATLAB Interface - Release 12.0.0

 

第二步:在CSS中創建被控對象

MATLAB

將.m文件讀入MATLAB後,鍵入「adams_sys」命令可以生成ADAMS模型

雙擊視窗中的「adams_sub」模塊

 

·輸入輸出名是自動產生的

·Workspace hooks也是自動產生的

第三步:與ADAMS被控對象建立聯繫並在CSS中調整仿真參數

 

MATLAB plant面板

·雙擊Mechanical Dynamics模塊就會彈出面板

·在這裡你可以從中選擇模式並且可以得到ADAMS/Controls的全部性能


第四步  在CSS進行仿真

例如:天線模型可以根據控制輸入(力,力矩等)來進行仿真;

在MATLAB中使用Simulation下的Parameters項來控制控制系統積分器的步長、結束時間以及積分器設置。


Interactive模式與Batch模式

·Interactive模式對應於ADAMS/View(vcontrols.exe將使用.cmd文件,能看到模型的更新)

·Batch模式對應於ADAMS/Solver(scontrols.exe使用.adm文件,無法看到模型更新,但會運行的更快)

MATLAB要點:

·輸入輸出變量會自動保存在工作區(如果使用了「adams_sub」模塊)

·使用/改變MATLAB的變量名以改變面板中的數據,代替了直接在面板上編輯數據

·如果你希望手動或者在MATLAB的腳本中設置面板上的變量,只要使用命令行就能很輕易的實現

好了,今天的內容就到此為止,下期再見!

相關焦點

  • FPGA仿真必備——Matlab生成.mif/.txt/.coe【Testbench】【Modelsim】【Matlab】
    比如:matlab與FPGA數字濾波器設計(2)——Vivado調用IP核設計FIR濾波器.txt 文件主要用於 Matlab 和 FPGA 的聯合仿真,比如在濾波器的設計中,可以使用 Matlab 先把加噪聲的信號寫入到 .txt 文件,然後 FPGA 仿真中在 Testbench 中讀取該信號源的數據,濾波後的數據再寫入 .txt 文件,
  • 電動汽車仿真系列-Cruise與Matlab_DLL聯合仿真教程
    Cruise與Matlab聯合仿真,即在Cruise中建立整車模型,在Matlab/Simulink中建立控制策略模型,通過Cruise與Matlab
  • 通過文件讀寫方式實現Matlab和Modelsim的聯合仿真
    中用vhdl語言編寫測試文件,做時序仿真,最後將結果存入另外一個數據文件,最後在matlab中將modelsim的仿真輸出文件讀入一個數組中,以便可以作圖分心,進一步做誤差分析。     關於Matlab和Modelsim聯合仿真,我從網上看到兩種方法,一種是通過Link for Modelsim建立Matlab和Modelsim的聯合仿真接口;另一種就是通過文件讀寫的方式實現Matlab和Modelsim的聯合仿真。
  • 基於Matlab/Simulink的風力機特性仿真
    採用matlab/Simulink進行風力機的仿真建模,模擬外界真實情況下,通過已知的λ和Cpmax,求得風機的轉速與風速之間的比例係數,在最佳比例係數下,實現風力機的最大功率捕捉,得到風力機的靜態仿真波形。
  • Matlab和Modelsim的聯合仿真——實例
    實例1:舉一個簡單的例子說明如何用Matlab產生的數據用作Modelsim仿真。
  • 直觀的讀懂什麼是PID(附帶matlab仿真解讀)
    下面我們在matlab的仿真中看一下兩者的差異首先我們使用matlab自帶的PID模塊快速的建立一個模型假設一個溫度加熱的傳遞函數如模型所示首先我們設置P=1; I=0; =0仿真結果如下然後設置P=2; I=0; D=0仿真結果如下然後將兩個放在一起做一下對比藍色的為P=2
  • matlab/adams聯合仿真之懸置篇(二)
  • matlab計算機仿真與蒙特卡洛法【數學建模】
    在此之後,我們可以通過在計算機上對實際問題的模擬、仿真求解模型。計算機仿真在數學建模中具有很重要的作用,而蒙特卡洛法則是計算機仿真中的一個重要方法。一、計算機仿真1.1定義:計算計算機仿真根據已知的信息或知識,利用計算模擬現實情況或系統演變的過程,具有代價小、時間短、參數靈活等特點。
  • 模糊PID(fuzzy PID)仿真舉例
    但學習了解還是很有必要的,matlab/simulink有專門的模糊控制的庫,足以說明其重要性,本文通過簡單的simulink模糊PID控制為例,對matlab模糊控制進行介紹。模糊控制  之所以稱為模糊,意思就是你的輸入或對應的輸出並不具體,具有模糊性。模糊控制器的構成主要包括輸入模糊化,模糊推理,去模糊化三個主要環節。
  • 基於Matlab數值計算引擎的三維可視化視景仿真技術
    仿真結果的可視化不僅能夠加快與加深技術人員對仿真變化過程的認識,而且可以發現通常數值信息很難發現的現象,獲得意外的啟發和靈感,從而縮短仿真的實驗周期,提高仿真效率,取得更好的仿真效果。視景仿真的實時性使研究人員在仿真運行過程中實時地監控系統,具備仿真交互能力。視景仿真技術應用在公司裝備研究具有以下幾方面的意義:1、直觀性和高效性。
  • MSC軟體公司發布全新Adams/Machinery模塊
    作為加快產品創新的多學科仿真解決方案的領跑者——MSC軟體公司於近日發布了Adams/Machinery 2012模塊,該模塊是一種全新的、能夠實現對包括機器人技術、傳送機、農業設備和工業機械等常見機械部件進行高保真建模與仿真模擬自動化的多功能虛擬模型仿真與多體動力學解決方案。     該解決方案預計將在七月底正式發布。
  • ADAMS學習指南
    後面的傳感器,設計變量,柔性體,參數建模和優化器,insight,matlab聯合仿真等都是比較難理解不好操作的知識,都耗費了我很多時間去學習和思考,但是也是很必要的。我感覺這兩種方法的結果是不同的,但是對於仿真過程來說,物體的位置就是質心的位置,所以對於仿真是一樣的。5、關於ADAMS中方向的描述對於初學的人來說,方向的描述不太容易理解。之前我們都是用方向餘弦之類的量來描述方向的。在ADAMS中,為了求解方程是計算的方便,使用歐拉角來描述方向。就是用繞坐標軸轉過的角度來定義。
  • 聯合仿真必備!利用MATLAB進行文件的自動化讀取與修改
    收錄於話題 #matlab
  • matlab和c語言的區別
    :MATLAB產品族可以用來進行以下各種工作:●數值分析●數值和符號計算●工程與科學繪圖●控制系統的設計與仿真●數字圖像處理技術●數位訊號處理技術MATLAB在通訊系統設計與仿真的應用●通訊系統設計與仿真●財務與金融工程●管理與調度優化計算(運籌學)
  • 過冷水:送你Matlab數據轉換圖和一套讀取儲存代碼
    即日起,仿真秀平臺將推出Matlab仿真知識圈專題,誠邀Matlab專業領域的優質內容創作者加入仿真秀創作,並優先推薦優質內容創作者加入仿真秀平臺「千人萬元」計劃。目前算法工匠衛通(副總工)、過冷水(電化學)博士、好學懿(電子電力)博士和偉SSS(聯合物理仿真)博士都已經在仿真秀平臺創作,並組建了Matlab工程師交流群(927550334),歡迎加入。
  • MSC Adams 2019 軟體安裝教程
    軟體 下載 軟體 介紹 MSC Adams破解版是一款相當實用的專業化多體動力學模擬仿真系統軟體,Adams官方版功能全面,能夠幫助工程師快速評估和管理各種學科,包括運動,結構,驅動和控制
  • 數位訊號處理之信號處理仿真 緒論
    本課程和數位訊號處理仿真輔助課程的側重點不一樣,但是互有補充。工程實踐必須緊密結合理論! 仿真輔助課程的部分目錄!MATLAB仿真來幫助大家實現理論和實際的結合!推廣MATLAB仿真的公眾號!介紹使用matlab仿真工具和其各種類型的算法,講解高校涉及matlab的相關課程,免費提供通信類、導航類的產品級物理層算法、數據統計分析算法、圖像處理算法、AI算法。
  • 在Matlab中使用frestimate函數來進行頻率響應分析 視頻版
    前幾天藍總告訴了我matlab的一個功能,可以直接掃描系統的頻率響應,再根據頻率響應數據來得到傳遞函數的辦法。於是我跟著Help文件研究了一下,下文是基本實現。圖文版可以參考這篇文章:在matlab中使用frestimate函數來進行頻率響應分析。  那麼我為什麼要做這視頻呢?是因為我覺得這個功能非常強大,非常有推廣的意義。
  • 【仿真計算】Matlab快速入門五分鐘教程(原創)
    然後打開matlab,我們將會看到主頁面,找到命令窗(command window,一般是靠中間底部),然後就可以開始敲命令了。至此,相信大家對於matlab已經有了感性的認識,下面我們準備進行功能更強大的草稿式編程。
  • 工科神器matlab高校遭禁用,網友:關我p事,python可取而代之
    國內兩所一流高校,985的哈工大和211的哈工程,被禁用美國軟體matlab。 學過理工科的都知道,matlab可是做科研、做實驗的神器;通過matlab編程,不僅可以數學建模,還可以做人工智慧、深度學習;不僅可以用於數值計算,還可以用於繪製圖表,被一度認為是計算機學科、材料學科等必須掌握的技能。