應用方案: 方案采用NI公司的LabVIEW8.2作為開(kāi)發(fā)平臺,通過(guò)NI PCI-7344四軸運動(dòng)控制卡和多功能數據采集卡來(lái)實(shí)現對于機械臂四個(gè)自由度的驅動(dòng)控制,同時(shí)利用LabVIEW8.2中新增Project文件管理功能和控制設計工具包實(shí)現控制軟件的快速開(kāi)發(fā)與發(fā)布。
使用產(chǎn)品: LabVIEW 8.20 NI PCI-7344四軸運動(dòng)控制卡
介紹:
盡管對于機械操作臂的研究已不是一個(gè)全新的課題,但是,如何在保證機械手臂高的位置精度的條件盡可能地降低制造成本和縮短制造周期,這仍然是值得我們不斷探索的問(wèn)題。 傳統工業(yè)機械臂,其設計方法多為串聯(lián)形式,即通過(guò)將驅動(dòng)與傳動(dòng)元件如電機、減速器等直接安裝在轉動(dòng)副附近,這樣的設計雖然簡(jiǎn)單直接但是由于驅動(dòng)件自身成為了機械臂負載,所以大大減少了機械臂的有效載荷,同時(shí)也會(huì )產(chǎn)生振動(dòng)等不良影響降低機械臂定位精度。在本課題中我們提出了利用鋼絲傳動(dòng)機構來(lái)實(shí)現驅動(dòng)件到末端負載的動(dòng)力傳遞,這樣的設計可以最大程度的減小了驅動(dòng)件本身對于機械臂負載能力的影響,同時(shí)由于鋼絲本身的彈性也使得機械臂具有一定柔性,實(shí)現一定的自適應功能。由于傳動(dòng)件的位置調整,所以在控制系 統的設計要求能夠對于機械臂最終的末端 位置能夠準確地進(jìn)行反饋控制。
本系統以PCI-7344為基礎,通過(guò)NI公司最新的LabVIEW8.2為開(kāi)發(fā)平臺對3臺伺服電機實(shí)行位置伺服和編碼器反饋,對直流電機利用線(xiàn)性電位器反饋電壓的方式實(shí)現了角度的反饋控制。借助LabVIEW8.2的強大功能,我們得以在短時(shí)間內完成了控制系統的開(kāi)發(fā),同時(shí)保證了機械臂的運動(dòng)精度與負載能力。
四自由度機械臂機械系統
本文討論的四自由度機械臂面向中小型物流系統應用。其基本的設計要求為:實(shí)用、有相對大的作業(yè)空間、抓取重量不小于2.5kg、具有不大于10mm的重復定位精度、自重輕、外觀(guān)整潔。
圖1 機械臂整體結構示意圖
圖2 鋼絲傳動(dòng)機構原理圖
圖3 四自由度機械臂樣機
圖4 鋼絲傳動(dòng)機構示意圖
在綜合考慮了項目的機械結構要求、功能目標、開(kāi)發(fā)周期等因素后,我們對于控制系統的設計定下如下的方案:
1. 對于底盤(pán)(腰部)、大臂俯仰、小臂俯仰這三個(gè)自由度,利用伺服電機驅動(dòng)和編碼器反饋來(lái)構成閉環(huán)控制系統,由于本項目對于定位精度的要求,伺服電機控制方式選為位置控制(即脈沖控制)。因此我們選用了NI PCI-7344作為伺服電機的運動(dòng)控制器。
2. 對于手腕旋轉自由度以及抓取手爪吸合張開(kāi)的控制,考慮到這部分機構主要處于靠近末端負載,要求體積尺寸小等原因,我們選擇采用了直流電機配齒輪減速器并通過(guò)線(xiàn)性電位計的電壓值來(lái)間接測量角度值的方案。
3. LabVIEW本身帶有大量的數字信號處理vi,可以十分有效地解決控制系統中常會(huì )遇到的信號干擾及濾波等問(wèn)題。利用LabVIEW更可以大幅縮短項目的開(kāi)發(fā)周期,在短短3個(gè)月內我們迅速完成了從機械設計、材料加工、控制系統軟硬件設計等進(jìn)度,這些也是我們優(yōu)先選擇LabVIEW作為系統開(kāi)發(fā)平臺的重要原因。
圖5顯示了控制系統構成的整體框圖。
機械臂的技術(shù)要求后,主要功能大致可以分為以下幾類(lèi):系統硬件信息反饋、運動(dòng)參數設置、手動(dòng)及自動(dòng)運動(dòng)控制、機械臂空間位置的捕捉與再現、文件操作等。這幾者之間的相互關(guān)系可以通過(guò)如下的軟件流程圖來(lái)表示。
控制系統軟件設計在考慮了整個(gè)需要說(shuō)明的是對于伺服電機位置的檢測主要是通過(guò)對相應伺服電機編碼器的讀取來(lái)獲得實(shí)際位置的反饋,在極限位置處我們借助霍爾傳感器向PCI-7344傳遞觸發(fā)信號,實(shí)現極限位置的檢測并通過(guò)定時(shí)讀取IO寄存器的值來(lái)實(shí)現機械臂運動(dòng)狀態(tài)的反饋。而直流電機的位置檢測則是通過(guò)固結在齒輪減速器上的線(xiàn)性電位機的電壓來(lái)間接測量出直流電機的轉角。
在LabVIEW8.0之前的版本中,許多在主程序中需要多次復用的功能都是通過(guò)subvi封裝來(lái)進(jìn)行調用的。當這樣的subvi數量多的時(shí)候,對于這些文件的管理會(huì )成為不小的工作量。甚至,因為某些subvi的管理不善(如文件丟失等情況),整個(gè)軟件系統的工作會(huì )受到較大影響。在LabVIEW推出的8.0及8.2版中,Project開(kāi)發(fā)方式的推出給這一問(wèn)題的解決帶來(lái)了希望。
通過(guò)Project Explorer我們在開(kāi)發(fā)過(guò)程不僅可以有效對于各個(gè)功能(如伺服驅動(dòng)器工作狀態(tài)反饋、直流電機位置測量、直流電機位置控制等)進(jìn)行獨立開(kāi)發(fā),更可以保證主vi中調用的功能與subvi的一致,而不用像低版本中那樣,一旦subvi有變化,主vi需要逐個(gè)去手動(dòng)更新。
使用Project Explorer的另一個(gè)好處在于程序封裝發(fā)布的便利。如圖8所示,通過(guò)build specification中的不同選擇,可以將源程序封裝成exe文件,或者是帶LabVIEW Runtime Engine的Installer安裝文件,以及動(dòng)態(tài)鏈接庫(dll)和屏蔽了源代碼的vi(Block Diagram不可見(jiàn))。
文件操作
在程序的開(kāi)發(fā)過(guò)程中我們時(shí)常會(huì )遇到需要對一些數據進(jìn)行添加、保存、刪除、讀取等功能的場(chǎng)合,在例如VC或者VB等開(kāi)發(fā)平臺中,文檔的操作由于涉及了文檔模版結構的設計、文件指針操作及消息影射等,文件操作的實(shí)現顯得較為復雜。
而在LabVIEW中借助write tospreadsheet、read from spreadsheet等文件操作vi和表格控件、數組操作vi及自定義空間等就可以輕松實(shí)現常用的txt、xls等數據文件格式的讀寫(xiě)等功能 (如圖9所示)。
借助LabVIEW,我們在課題中能夠快速地將開(kāi)發(fā)和調試過(guò)程有機地結合在一起,利用LabVIEW開(kāi)發(fā)出能夠有效將機械臂所需要的電機驅動(dòng)器、位置編碼器、極限位置傳感器和數字IO口等硬件資源整合的控制系統設計和相應軟件,并且保證了機構的精度和開(kāi)發(fā)時(shí)間的進(jìn)度要求。
參考文獻
[1] 雷振山.LabVIEW 7 EXPRESS實(shí)用技術(shù)教程.中國鐵道出版社.2004
[2] 楊樂(lè )平.LabVIEW高級程序設計.清華大學(xué)出版社.2003
[3] Jianjun Yuan, Weijun Zhang, "Research on Novel Wire Driving Robot Manipulator for Local Industrial Production Line", Proc. of the IEEE Int. Conf. on Mechatronics and Automation, 2007
[4] 宮金良,趙現朝,高峰.基于LabVIEW和PXI-7538多軸運動(dòng)控制卡的地震模擬振動(dòng)臺控制系統設計.美國國家儀器中國有限公司2006年優(yōu)秀論文合訂本