利用LabVIEW和SolidWorks改進(jìn)機(jī)械臂設(shè)計(jì)流程
挑戰(zhàn):
在求解六軸機(jī)器人手臂的逆運(yùn)動(dòng)學(xué)方程后,無(wú)需裝配物理測(cè)試平臺(tái),利用開(kāi)發(fā)測(cè)試方程和NI LabVIEW VI的平臺(tái),即可仿真測(cè)試運(yùn)動(dòng)性能并優(yōu)化設(shè)計(jì)方法。
解決方案:
使用LabVIEW NI SoftMotion模塊設(shè)計(jì)VI可以運(yùn)行裝配文件并在CAD模型中進(jìn)行仿真,在SolidWorks創(chuàng)建三維模型構(gòu)建六自由度(DOF)系統(tǒng)的虛擬物理表現(xiàn),然后使用NI cRIO-9024嵌入式實(shí)時(shí)控制器和六個(gè)NI 9512模塊開(kāi)發(fā)實(shí)際裝配系統(tǒng)。
SolidWorks裝配圖CARMA機(jī)械臂
專業(yè)項(xiàng)目
三球機(jī)械臂允許目標(biāo)位置在六個(gè)自由度內(nèi)精確調(diào)節(jié)。三球機(jī)械臂的基本構(gòu)造單元是“插槽”機(jī)制,它可以在垂直和水平方向調(diào)整,且可以在其他水平方向滑動(dòng)。通過(guò)將這些插槽布置為三角架的形狀,就可以創(chuàng)建純運(yùn)動(dòng)學(xué)調(diào)節(jié)系統(tǒng)。Square One設(shè)計(jì)了基于三球的機(jī)械臂,讓檢測(cè)傳感器、夾具和操作員觸覺(jué)反饋的精確定位成為可能,這提高了目前無(wú)人駕駛地面車(chē)輛(UGV)的可用性。三球機(jī)械臂提高了工作封套和UGV檢測(cè)硬件的精度,因此讓它能夠挖掘和移動(dòng)殘骸、檢查車(chē)輛車(chē)盤(pán)和完成大部分現(xiàn)在使用的機(jī)器人所無(wú)法完成的其他任務(wù)。這就是約束區(qū)域機(jī)器人手臂(CARMA)開(kāi)發(fā)。
CARMA機(jī)械臂成品
我們的第一步是確定全新的控制方案。通過(guò)改變幾何參數(shù)讓我們的軟件更為模塊化,我們開(kāi)發(fā)了運(yùn)動(dòng)控制方程的“邏輯”集合。能夠在任何給定的軸之間協(xié)調(diào)運(yùn)動(dòng),從而大大擴(kuò)展了三球的功能。另外,測(cè)試平臺(tái)對(duì)于驗(yàn)證方程功能而言是十分重要的。在認(rèn)識(shí)到僅僅為了測(cè)試而生成多個(gè)不同配置并不現(xiàn)實(shí)之后,我們轉(zhuǎn)而使用仿真軟件作為新技術(shù)的測(cè)試平臺(tái)。
在研究了現(xiàn)有軟件工具后,我們將選項(xiàng)縮小為T(mén)he MathWorks, Inc. MATLAB with Simulink®軟件和用于SolidWorks的LabVIEW NI SoftMotion模塊。我們?cè)赟olidWorks中完成了最初設(shè)計(jì),使用MATLAB求解方程。到這里為止,我們只使用LabVIEW開(kāi)發(fā)用戶界面。使用Linux可編程機(jī)器配置所有電機(jī)指令和控制;同時(shí),我們?cè)俜e極地搜索能夠?qū)⒖刂企w系結(jié)構(gòu)進(jìn)行標(biāo)準(zhǔn)化的用戶友好的編程軟件。
我們探索了所有可用工具,選擇了采用LabVIEW進(jìn)行控制編程。在參加了2009年的NIWeek全球圖形化系統(tǒng)設(shè)計(jì)會(huì)議后,我們了解許多全新的NI工具包和模塊,它們可以滿足我們的系統(tǒng)開(kāi)發(fā)需求。LabVIEW能夠讀取運(yùn)動(dòng)軌跡的MATLAB代碼,LabVIEW NI SoftMotion模塊包含了電機(jī)控制和通過(guò)NI C系列驅(qū)動(dòng)接口模塊用于連接所需的傳感器。LabVIEW VI與SolidWorks匯編文件之間的通信是整個(gè)項(xiàng)目中關(guān)鍵之處。因此,我們決定為三球機(jī)械臂和所有自動(dòng)化系統(tǒng)開(kāi)發(fā),使用NI軟件和硬件作為設(shè)計(jì)解決方案。最后,我們決定使用LabVIEW函數(shù)組合求解之前在MATLAB完成的高階數(shù)學(xué)問(wèn)題。
仿真
正如我們開(kāi)發(fā)LabVIEW VI運(yùn)行“邏輯”三球的運(yùn)動(dòng)方程求解一樣,我們?cè)赟olidWorks軟件中并行地完成機(jī)械設(shè)計(jì)。在完成VI和固體模型匯編模塊之后,我們開(kāi)始了集成流程。使用LabVIEW工程包含運(yùn)動(dòng)控制VI,將SolidWorks匯編文件加入工程中。開(kāi)始仿真流程、識(shí)別模型中的軸并通過(guò)VI訪問(wèn)。通過(guò)幾天的培訓(xùn),我們理解了DS SolidWorks和LabVIEW之間的連接,開(kāi)始實(shí)現(xiàn)系統(tǒng)仿真并創(chuàng)建了一個(gè)虛擬原型系統(tǒng)。
邏輯三球解決方案
我們運(yùn)行用戶界面,測(cè)試運(yùn)動(dòng)控制VI以驗(yàn)證其功能。我們發(fā)現(xiàn)不少軸在VI中被錯(cuò)誤識(shí)別,但修正這些錯(cuò)誤十分容易。此外,不少高級(jí)運(yùn)動(dòng)控制算法工作不正常,其原因是在代碼中遺漏或是使用不正確的符號(hào)(±)。如果沒(méi)有仿真,我們不可能在開(kāi)發(fā)階段的早期發(fā)現(xiàn)這些錯(cuò)誤。由于錯(cuò)誤在仿真中發(fā)現(xiàn),而不是在運(yùn)行物理系統(tǒng)中發(fā)現(xiàn),就避免了這些錯(cuò)誤的嚴(yán)重后果。
CARMA解決方案
下一步是將仿真為CARMA項(xiàng)目的專用尺寸和運(yùn)動(dòng)需求進(jìn)行定制。我們完成并適當(dāng)擴(kuò)展了SolidWorks模型。在LabVIEW工程中,工程結(jié)構(gòu)讓我們可以打開(kāi)全新文本文件詳細(xì)描述CARMA機(jī)械臂的尺寸以及運(yùn)動(dòng)的范圍極限。實(shí)際上,我們復(fù)制了現(xiàn)有的“邏輯”三球工程,重命名為CARMA,并將CARMA文本文本作為默認(rèn)文件,在每次運(yùn)行用戶界面時(shí)都會(huì)打開(kāi)。成功的仿真幫我們的設(shè)計(jì)團(tuán)隊(duì)將機(jī)械臂運(yùn)動(dòng)范圍實(shí)現(xiàn)完全可視化,更重要的是,我們能夠在SolidWorks模型中沿著所有旋轉(zhuǎn)軸測(cè)量角度。
結(jié)果
仿真過(guò)程讓我們能夠測(cè)試運(yùn)動(dòng)的極限條件,在裝配之前確定關(guān)鍵組件的尺寸。通過(guò)仿真創(chuàng)建并測(cè)試LabVIEW VI,讓過(guò)渡到為實(shí)際CARMA匯編模塊編寫(xiě)控制變得容易。我們需要其他VI支持復(fù)雜的運(yùn)動(dòng)控制、機(jī)器視覺(jué)和自治系統(tǒng)特性,但是基本控制已經(jīng)存在。在裝配組件之后,我們無(wú)需修改運(yùn)行仿真的軟件,就可以操作最終實(shí)現(xiàn)的機(jī)械臂,這在Square One的歷史上是第一次。在早期和SolidWorks匯編模塊一起實(shí)現(xiàn)運(yùn)動(dòng)控制軟件,大大提高了設(shè)計(jì)流程的效率,我們還實(shí)現(xiàn)了在軟件開(kāi)發(fā)設(shè)計(jì)中包含機(jī)械團(tuán)隊(duì)的目標(biāo)。