adams與matlab聯(lián)合仿真例子(正確沒商量)_第1頁(yè)
adams與matlab聯(lián)合仿真例子(正確沒商量)_第2頁(yè)
adams與matlab聯(lián)合仿真例子(正確沒商量)_第3頁(yè)
adams與matlab聯(lián)合仿真例子(正確沒商量)_第4頁(yè)
adams與matlab聯(lián)合仿真例子(正確沒商量)_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Adams與Matlab聯(lián)合仿真例子作者寄語(yǔ):這個(gè)文件是基于 李增剛adams入門詳解與實(shí)例一書中,Adams與 Matlab聯(lián)合仿真的例子,以及一個(gè)名為2013版ADAMS與Matlab聯(lián)合仿真絕 對(duì)正確版的pdf文件上修改來,為了方便起見,用了一些復(fù)制、粘貼,所以 中間的一些過程會(huì)和這兩個(gè)文件有所重合,不要驚訝,也不要吐槽。做這個(gè)例子的目的,是站在一個(gè)普通學(xué)習(xí)者的角度,介紹聯(lián)合仿真,和眾多學(xué)習(xí)adams的人 共勉。我的結(jié)論是:以上兩個(gè)例子中的結(jié)果并不矛盾,都是正確的,基本上看了 我的例子后,他們的也就懂了。李增剛:/vdisk.weibo/s/uxjACUp7U7Hzf 第 236 頁(yè)開始

2、。2013版ADAMS與Matlab聯(lián)合仿真絕對(duì)正確版1、知識(shí)儲(chǔ)備以上兩個(gè)例子都用到了 PID控制比例proportion 積分integral、微分 derivative控制器比例就是對(duì)誤差乘以一個(gè)系數(shù)積分就是對(duì)誤差積分然后再乘以一個(gè)系數(shù)微分是對(duì)誤差求導(dǎo)注意我的模型,上面是角速度 Angle velocity,下面是角度angle,這里的積分是 對(duì)angle進(jìn)行積分,導(dǎo)致上面兩個(gè)例子的不同也就在這,這個(gè)地方尤其要注意, 不要上下搞反了。Cloak, sifnoutT& WotlspacB表示的是對(duì)angle乘以一個(gè)系數(shù),這里選了1,為比例調(diào)節(jié),即 P調(diào)節(jié)。Integr3tM Gui

3、nJ就是對(duì)angle的積分,就是累加的意思,即I調(diào)節(jié),然后乘以了系數(shù)1。嬴_口因?yàn)檩敵龅氖墙撬俣?角速度就是angle的微分的,所以不用做什么操作,后面乘以了一個(gè)系數(shù) 1。然后這三個(gè)相加起來作為反饋調(diào)節(jié),所以用了這個(gè)模塊,這個(gè)表示累減。Tc將角度值送到Matlab 的 workspace 工作空間,這個(gè)表示把時(shí)間送到workspace中去,因?yàn)榻嵌冗@里是角度與時(shí)間的函數(shù)。 注意:這些模塊不是必要 模塊,我只是為了做比照而加上去的, 去掉不會(huì)對(duì)仿真產(chǎn)生影響,但是如果要加的話這兩個(gè) 模塊缺一不可。我的軟件是 adams2012與Matlab 7.12.0R2011a?,F(xiàn)在進(jìn)入正題1、設(shè)置單位啟動(dòng)A

4、DAMS/View ,選擇新模型,在模型名輸入link。選擇菜單欄【Settings 一【Units命令,設(shè)置模型物理量單位,將單位設(shè)置成 MMKS ,長(zhǎng)度和力的單位設(shè)置成毫米和牛頓。2、創(chuàng)建連桿單擊幾何工具包中的連桿按鈕,將連桿參數(shù)設(shè)置為L(zhǎng)ength=400, Width=20 , Depth=20 ,然后左鍵選中原點(diǎn),在圖形區(qū)水平拖動(dòng)鼠標(biāo),創(chuàng)建一個(gè)連桿。3、創(chuàng)建旋轉(zhuǎn)副單擊運(yùn)動(dòng)副工具包中的旋轉(zhuǎn)副按鈕,將旋轉(zhuǎn)副的參數(shù)設(shè)置為1 Location和Normal to gird ,單擊連桿質(zhì)心處的 Marker點(diǎn),將連桿和大地關(guān)聯(lián)起來。4、創(chuàng)建球體單擊幾何工具包中的球體按鈕,將球體的選項(xiàng)設(shè)置為Add

5、 to Part,半徑設(shè)置為20,然后在圖形區(qū)單擊連桿,再單擊連桿右側(cè)處的Marker點(diǎn),將球體加入到連桿上,如下列圖所示。此時(shí)連桿的質(zhì)心產(chǎn)生了移動(dòng)。5、創(chuàng)建單分量力矩單擊載荷工具包中的單分量力矩按鈕,將單分量力矩的選項(xiàng)設(shè)置為Space Fixed和Normalto Grid ,將Characteristic設(shè)置為Constant,勾選Torque并輸入0,然后在圖形區(qū)單擊連桿, 再單擊連桿左側(cè)的 Marker點(diǎn),在連桿上創(chuàng)建一個(gè)單分量力矩,如下列圖所示。TmqweRirblirme Direclion | Spac g FixE (React Dr GrandiCDrs1nx1ion, |

6、Momnal to GndCharge 惶i511GP Torqje | 06、創(chuàng)建輸入狀態(tài)變量11 上“ 公工-t*圖瑞岫目E ExData ElsmentsSyslern ElementsFunction島Controls ToolkitBodies Conrectora Motions Forces Elements Design Exploration Plugins學(xué)習(xí)文檔僅供參考老版本單擊菜單【Build】一【System Elements 一【State Variable 一【New】,彈出下列圖所示的創(chuàng)建狀態(tài)變量對(duì)話框,將Name輸入框改成Torque。單擊Ok后,創(chuàng)建Torq

7、ue變量。7、將狀態(tài)變量與模型關(guān)聯(lián)在圖形區(qū)雙擊單分量力矩的圖標(biāo),打開編輯對(duì)話框,如下列圖所示,在Function輸入框中輸入VARVAL(.link.Torque),這里 VARVAL是一個(gè)ADAMS 函數(shù),它返回變 量.link.Torque的值。通過函數(shù)把狀態(tài)變量Torque與力矩關(guān)聯(lián)起來,力矩取值將來自于狀態(tài)變量 Torque。8、指定狀態(tài)變量 Torque為輸入變量Bodies Connectors | Motions Forces EData Elements System Elements點(diǎn)擊圖上的按鈕創(chuàng)建輸入變量就是這個(gè)量由matlab輸入控制,老版本單擊菜單【Build】一【C

8、ontrols Toolkit 】【Plant Input后,彈出定義控制輸入對(duì)話框,如下列圖所示。將Plant Input Name 輸入框改成.link.PINPUT_Torque,在 Variable Name 輸入框中,用鼠標(biāo)右鍵 快捷菜單輸入狀態(tài)變量 Torque,單擊OK按鈕。9、創(chuàng)建輸出狀態(tài)變量Bodies Connectors Motions Forces Elements Design Explortior Plugins老版本單擊菜單【Build】一【System Elements 一【State Variable 一【New】,彈出創(chuàng)建狀態(tài)變量對(duì)話框。將 Name輸入框修

9、改成Angle,在F(time,尸輸入框中輸入表達(dá)式AZ(MARKER_3,MARKER_4)*180/PI ,單擊 Apply按鈕創(chuàng)建狀態(tài)變量 Angle作為第一個(gè)輸出變量,然后將Name修改成 Velocity ,在F(time,尸輸入框中輸入表達(dá)式 WZ(MARKER_3,MARKER_4)*180/PI ,如圖7-31所示。其中AZ函數(shù)返繚繞 Z軸旋轉(zhuǎn) 的轉(zhuǎn)角,這里代表連桿相對(duì)于轉(zhuǎn)軸的轉(zhuǎn)角,WZ函數(shù)返繚繞 Z軸旋轉(zhuǎn)的角速度,這里代表連桿的角速。 MARKER_3 在連桿cm上,MARKER_4 在連桿cm處的地上。參考下面的 圖吧,全懂了。Brasse GroupsFiltersBod

10、ies7 OPARVMARKERSKER 3ARK EM 6 =cmi k;. MARKERJ! kA, MARKER_1i p J LINK LeELJPSOID_2-groLnd卜,MARKER 7g MARKER 10、指定狀態(tài)變量 angle、Velocity為輸出變量Bodies Connectors Motions Forces Elements Design Exploration Plugins卜仆加面,暗質(zhì)K缶晦/國(guó)國(guó)沒值時(shí)塌T i器Dat Elements System Elements Function Controls Toolkit老版本單擊菜單【Build 一【Co

11、ntrols Tookit】一【Plant Output】后,彈出創(chuàng)建控制輸出對(duì) 話框,如下列圖所示。將Plant Output Name輸入框修改成.link.POUTPUT_control。在Variable Name輸入框中,用鼠標(biāo)右鍵快捷菜單輸入狀態(tài)變量Velocity和.link.Angle ,單擊OK按鈕。11、導(dǎo)出控制參數(shù)如果還沒有加載 ADAMS/Controls模塊,單擊菜單【Tools 一【Plugin Manager】,在彈出 的插件管理對(duì)話框中選擇ADAMS/Controls模塊,并單擊 OK按鈕,之后出現(xiàn)一個(gè)新的菜單Controls。單擊菜單【Controls 一【P

12、lant Export,彈出導(dǎo)出控制參數(shù)對(duì)話框。在 File Prefix 輸入框中輸入 control_pid ,在Plant Input輸入框中用鼠標(biāo)右鍵快捷菜單輸入Torque,(或者點(diǎn)擊from pinput按鈕,選中之前創(chuàng)建的Torque輸入),在Plant Output輸入框中用鼠標(biāo)右鍵快捷菜單輸入 Velocity, .link.Angle ,(或者點(diǎn)擊from pout put按鈕,選中之前創(chuàng)建的輸出)將 Control package 選擇為 MATLAB , Type 選擇為 non_linear, Initial Static Analysis 選擇 NO , ADAMS

13、/Solver Choice 選擇為 Fortran o 單擊 file select directiory ,選定工作路徑 我在桌面 上創(chuàng)建了一個(gè)名為 adams的文件,單擊OK按鈕后,在adams文件中將生成 control_pid.m、 control_pid d、control_pid.adm 這 3 個(gè)文件。12、導(dǎo)出 ADAMS 模型在 MATLAB 里的模塊啟動(dòng)MATLAB ,先將MATLAB的工作目錄指向 ADAMS的工作目錄,方法是單擊工作欄、 Current Foldrr: C:Uershp-ktodnmmW . Kt .、,中 Current Direction 后的P

14、P PJ 按鈕, 彈出選擇路徑對(duì)話框,選中桌面上的adams文件即可。在MATLAB命令窗口的 >>提示符下, 輸入control_pid ,也就是control_pid.m的文件名,Matlab的主界面會(huì)出現(xiàn)如下的文字。O6-Apr-£DL4 13:05:31胃£,? AI AMT pl ar* artnart r rs n.snes ;LNFC :p-artt sensorsL VeLocity2 Ang-le然后在 >>提示符下輸入命令 adams_sys該命令是ADAMS與MATLAB的接口命令。在 輸入adams_sys命令后,彈出一個(gè)新的

15、窗口,該窗口是 MATLAB/Simulink的選擇窗口,其 中S-Function方框表示ADAMS模型的非線性模型,即進(jìn)行動(dòng)力學(xué)計(jì)算的模型,State-Space表示ADAMS模型的線性化模型,在 ADAMS_sub包含有非線性方程,也包含許多有用的 變量,我們選用如下圖的模塊。13、建立控制方案在MATLAB/Simulink選擇窗口中,單擊菜單File 一【New】一【Model 后,彈出一個(gè)新的窗口,單擊工具欄中的保存按鈕,將新窗口存盤為control_pid_1.mdl 不能與.m文件同名,將ADAMS_sub方框拖拽到control_pid_1.mdl窗口中,并參考下列圖完成控制

16、系統(tǒng)的搭建,也可采用其他的控制方案,注意圖中的四個(gè),要進(jìn)行設(shè)置,可雙擊這個(gè)模塊,將這里選中四個(gè)都要設(shè)置。14、設(shè)置MATLAB與ADAMS之間的數(shù)據(jù)交換參數(shù)在control_model.mdl窗 口中雙擊ADAMS_sub方框,在彈出的新的窗 口 中雙 擊MSCSDoftware ,彈出數(shù)據(jù)交換參數(shù)設(shè)置對(duì)話框,將 Interprocess設(shè)置為PIPE(DDE),如 果不是在一臺(tái)電腦上,選擇TCP/IP,將Communication Interval輸入框中輸入 0.05這是可以的,表示每隔0.05s在MATLAB和ADAMS之間進(jìn)行一次數(shù)據(jù)交換,假設(shè)仿真過慢,可 以適當(dāng)改大該參數(shù),將 Sim

17、ulation Mode設(shè)置為 continuous, Animation mode設(shè)置成 interactive,表示交互式計(jì)算, 在計(jì)算過程中會(huì)自動(dòng)啟動(dòng)ADAMS/View,以便觀察仿真動(dòng)畫,如果設(shè)置成batch,則用批處理的形式,看不到仿真動(dòng)畫,其他使用默認(rèn)設(shè)置即可。15、仿真設(shè)置和仿真計(jì)算。單擊窗口中菜單【Simulation 一 Simulation Parameters,彈出仿真設(shè)置對(duì)話框,在 Solver 頁(yè)中將Start time設(shè)置為0, 將Stop time設(shè)置為20, 將Type設(shè)置為 Variable-step,其他使 用默認(rèn)選項(xiàng),單擊OK按鈕。最后單擊開始按鈕,開始仿

18、真。假設(shè)出現(xiàn)錯(cuò)誤,重啟MATLAB 即可。每次啟動(dòng) MATLAB都需要選擇路徑到包含 control_pid.m、 control_pid d、 control_pid.adm 的文件夾,并輸入 control_pid(.m 文件名)和 adams_sysADAMS 與 MATLAB 的接口命令。16、結(jié)果后處理結(jié)果后處理也就是看圖像,這里我提供三種看圖像的方法。1用示波器顯示。在MATLAB示波器中,可以得到角度和力矩的曲線。得到的Velocity 變量曲線和Torque變量曲線分別如下列圖所示。此模型初始受重力作用,產(chǎn)生轉(zhuǎn)動(dòng),通過 控制力矩的大小,最終角速度為零,模型到達(dá)平衡。Torque

19、MlAngle velocity -昌圖Q啰夕ift H 專 、;-105101520me Dffs4. 02 在Matlab主界面畫出圖像。仿真完成后,在我們的workspace 中 會(huì)生成MMTO 由田田<408x1 double*<408x1 doubles<406x1 doublesClz3這是To ift'cmpacel在起作用,在 Matlab的主工作界面輸入 plot(time,Angle,'b-');的語(yǔ)句按enter鍵,會(huì)出現(xiàn)以下 angle的圖像,這和上面 angle的圖像是一樣的。同理,輸入 plot(time , Angle_velocity,'b-'); 的語(yǔ)句按enter鍵,會(huì)出現(xiàn)以下 Angle velocity的圖像,Torque也是一樣的,不再畫出。(3) 用adams/postprocessor畫出圖像。回到 ADAMS/View ,進(jìn)入到后處理界面。點(diǎn)擊

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論