ADAMSSimulink 机器人动力学仿真入门(一):使用Solidworks创建三维模型并导入ADAMS(代码已开源)
文章目錄
- 前言
- 0 軟件介紹
- 1 Solidworks畫圖
- 2 從Solidworks導(dǎo)出并導(dǎo)入ADAMS
- 總結(jié)
前言
最近有兩個(gè)文章馬上要投出去了,用了一些很怪的東西,但是效果還是不錯(cuò)的,感覺還挺有意義,所以想著開個(gè)新坑分享一下。 這塊兒主要介紹一下機(jī)器人怎么使用ADAMS與Simulink進(jìn)行聯(lián)合仿真。在做的過程中發(fā)現(xiàn)做偏機(jī)械的這一塊很少有人進(jìn)行分析,相關(guān)的教程找的比較吃力,所以就簡單以四旋翼無人機(jī)為例,拋磚引玉一下子。0 軟件介紹
在開始之前,先簡單介紹一下兩個(gè)軟件。對于做機(jī)器人的同學(xué)來說,V-REP、Gazebo啥的肯定不陌生,但是ADAMS見得就不多了。
-
ADAMS
ADAMS,即機(jī)械系統(tǒng)動(dòng)力學(xué)自動(dòng)分析,是一款虛擬樣機(jī)分析軟件。
簡單來說,它可以對各種機(jī)構(gòu)建立貼近實(shí)物的、精細(xì)的虛擬樣機(jī),并完成運(yùn)動(dòng)學(xué)與動(dòng)力學(xué)仿真,可以無實(shí)物進(jìn)行機(jī)構(gòu)、執(zhí)行器的分析與仿真,完成機(jī)器人設(shè)計(jì)或控制的前期驗(yàn)證。
在機(jī)器人領(lǐng)域中,使用ADAMS很大的好處是可以對機(jī)器人各個(gè)機(jī)構(gòu)進(jìn)行詳細(xì)的物理參數(shù)定義(材料、質(zhì)量等),并且可以輕松地添加并設(shè)置的彈簧、避震、轉(zhuǎn)動(dòng)副、驅(qū)動(dòng)、接觸力、摩擦力等。 -
MATLAB - Simulink
Simulink是美國Mathworks公司推出的MATLAB中的一種可視化仿真工具,可用于系統(tǒng)設(shè)計(jì)、仿真、自動(dòng)代碼生成以及嵌入式系統(tǒng)的連續(xù)測試和驗(yàn)證。
簡單來說,它是一個(gè)相當(dāng)全能的科研工具與計(jì)算器。在這里,我們使用Simulink搭建控制器,對ADAMS的模型進(jìn)行通訊與控制。 -
ADAMS & Simulink聯(lián)合仿真
這兩個(gè)軟件聯(lián)合仿真,意味著:
(1)使用ADAMS精細(xì)、真實(shí)的虛擬樣機(jī)模型為平臺(tái);
(2)使用Simulink豐富、集成的控制模塊進(jìn)行控制器的搭建。
大概這么個(gè)效果
ADAMS&Simulink聯(lián)合仿真效果
1 Solidworks畫圖
我們用一個(gè)簡單的四旋翼無人機(jī)例程來進(jìn)行講解:
首先,使用Solidworks畫一個(gè)無人機(jī),如果你沒有現(xiàn)成的模型,畫圖時(shí)需要遵循以下原則:
- 將那些固定連接不動(dòng)、且材料相同的部件繪制為一個(gè)零件;
- 質(zhì)量分布盡可能遵循實(shí)物來畫(即可以不用在意小細(xì)節(jié),大體得對);
- 每個(gè)相同零件獨(dú)立命名(即四個(gè)螺旋槳分別命名為rotor1、rotor2…等);
- 英文命名。
如果你已經(jīng)有一個(gè)自己的模型,希望進(jìn)行簡化并導(dǎo)入,需要遵循:
- 將那些固定連接不動(dòng)、且材料相同的部件合并成為一個(gè)零件;
- 合成為單個(gè)零件后,每個(gè)相同零件獨(dú)立命名(即四個(gè)螺旋槳分別命名為rotor1、rotor2…等);
- 如果有彈簧啥的,需要?jiǎng)h掉并保留兩端固定孔位;
- 英文命名。
這里我們畫一個(gè)很抽象的四旋翼飛行器,如圖:
這是個(gè)抽象的F450四旋翼無人機(jī),x為正方向,電機(jī)依次編號為1、2、3、4。
共有五個(gè)零件組成裝配體:
2 從Solidworks導(dǎo)出并導(dǎo)入ADAMS
- 點(diǎn)擊如圖
- 在另存為中,選擇導(dǎo)出為x_t格式的文件:
- 打開ADAMS,點(diǎn)擊新建模型,這里使用的是ADAMS 2020版本。
- 進(jìn)行新模型設(shè)置,重力在進(jìn)入后進(jìn)行設(shè)置。
- 注意!需要全英文路徑!全英文路徑!全英文路徑!
- 注意!全英文命名!全英文命名!全英文命名!
- 進(jìn)入后界面如圖所示,圖中有一些界面介紹,簡單講解下視角的操作,比較魔幻且不人性
- 在英文輸入法下,按住R鍵拖動(dòng)鼠標(biāo)為旋轉(zhuǎn)模型;
- 在英文輸入法下,按住T鍵拖動(dòng)鼠標(biāo)為平移模型;
- 在英文輸入法下,按住Z鍵上下拖動(dòng)為縮放模型;
總結(jié)
本文介紹了ADAMS與Simulink聯(lián)合仿真的前置準(zhǔn)備工作,包括Solidworks畫圖的注意事項(xiàng)與原則,以及如何導(dǎo)出x_t文件,如何將x_t文件導(dǎo)入ADAMS中。
下一章講講怎么在ADAMS進(jìn)行模型參數(shù)、連接、受力、驅(qū)動(dòng)的設(shè)置。
總結(jié)
以上是生活随笔為你收集整理的ADAMSSimulink 机器人动力学仿真入门(一):使用Solidworks创建三维模型并导入ADAMS(代码已开源)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaScript的对象
- 下一篇: HDU - 2571