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