挑戰(zhàn): 短期內(nèi)實(shí)現(xiàn)4自由度機(jī)械臂(3臺交流伺服電機(jī)、1臺微型直流電機(jī))的 變參數(shù)同步運(yùn)動控制,為鋼絲傳動機(jī)構(gòu)的控制提供應(yīng)用解決方案。
應(yīng)用方案: 方案采用NI公司的LabVIEW8.2作為開發(fā)平臺,通過NI PCI-7344四軸運(yùn)動控制卡和多功能數(shù)據(jù)采集卡來實(shí)現(xiàn)對于機(jī)械臂四個(gè)自由度的驅(qū)動控制,同時(shí)利用LabVIEW8.2中新增Project文件管理功能和控制設(shè)計(jì)工具包實(shí)現(xiàn)控制軟件的快速開發(fā)與發(fā)布。
使用產(chǎn)品: LabVIEW 8.20 NI PCI-7344四軸運(yùn)動控制卡
介紹:
盡管對于機(jī)械操作臂的研究已不是一個(gè)全新的課題,但是,如何在保證機(jī)械手臂高的位置精度的條件盡可能地降低制造成本和縮短制造周期,這仍然是值得我們不斷探索的問題。 傳統(tǒng)工業(yè)機(jī)械臂,其設(shè)計(jì)方法多為串聯(lián)形式,即通過將驅(qū)動與傳動元件如電機(jī)、減速器等直接安裝在轉(zhuǎn)動副附近,這樣的設(shè)計(jì)雖然簡單直接但是由于驅(qū)動件自身成為了機(jī)械臂負(fù)載,所以大大減少了機(jī)械臂的有效載荷,同時(shí)也會產(chǎn)生振動等不良影響降低機(jī)械臂定位精度。在本課題中我們提出了利用鋼絲傳動機(jī)構(gòu)來實(shí)現(xiàn)驅(qū)動件到末端負(fù)載的動力傳遞,這樣的設(shè)計(jì)可以最大程度的減小了驅(qū)動件本身對于機(jī)械臂負(fù)載能力的影響,同時(shí)由于鋼絲本身的彈性也使得機(jī)械臂具有一定柔性,實(shí)現(xiàn)一定的自適應(yīng)功能。由于傳動件的位置調(diào)整,所以在控制系 統(tǒng)的設(shè)計(jì)要求能夠?qū)τ跈C(jī)械臂最終的末端 位置能夠準(zhǔn)確地進(jìn)行反饋控制。
本系統(tǒng)以PCI-7344為基礎(chǔ),通過NI公司最新的LabVIEW8.2為開發(fā)平臺對3臺伺服電機(jī)實(shí)行位置伺服和編碼器反饋,對直流電機(jī)利用線性電位器反饋電壓的方式實(shí)現(xiàn)了角度的反饋控制。借助LabVIEW8.2的強(qiáng)大功能,我們得以在短時(shí)間內(nèi)完成了控制系統(tǒng)的開發(fā),同時(shí)保證了機(jī)械臂的運(yùn)動精度與負(fù)載能力。
四自由度機(jī)械臂機(jī)械系統(tǒng)
本文討論的四自由度機(jī)械臂面向中小型物流系統(tǒng)應(yīng)用。其基本的設(shè)計(jì)要求為:實(shí)用、有相對大的作業(yè)空間、抓取重量不小于2.5kg、具有不大于10mm的重復(fù)定位精度、自重輕、外觀整潔。

圖1 機(jī)械臂整體結(jié)構(gòu)示意圖
出于操作便捷實(shí)用的考慮,設(shè)計(jì)腰部回轉(zhuǎn)、大臂俯仰、小臂俯仰、腕部回轉(zhuǎn)4個(gè)自由度,整體采用重力方向折疊展開型結(jié)構(gòu),大臂俯仰與小臂俯仰為一組平面自由度。機(jī)械手臂主要通過鋼絲繩傳動機(jī)構(gòu),把小臂俯仰關(guān)節(jié)的電機(jī)和齒輪減速器等額外負(fù)載放置在機(jī)械臂基座部分,從而減輕了對其他關(guān)節(jié)驅(qū)動元件的要求及機(jī)械臂整體的功耗,降低了機(jī)械臂自身重量,增加了其對外做功的能力和效率。

圖2 鋼絲傳動機(jī)構(gòu)原理圖
該機(jī)械臂不僅實(shí)現(xiàn)重量輕、對外做功能力大等性能指標(biāo)要求,而且具有制造簡單造價(jià)低等優(yōu)點(diǎn)有利于工業(yè)推廣普及。通過新型內(nèi)嵌式鋼絲繩張緊裝置可以輕松簡便的對張緊力進(jìn)行現(xiàn)場調(diào)節(jié),解決了鋼絲繩傳動存在的各種問題,有效的提高了機(jī)械臂的重復(fù)定位精度,自重與負(fù)載能力比達(dá)到4:1,可以廣泛的應(yīng)用到以中小型物流系統(tǒng)為代表的工業(yè)環(huán)境中,也可作為教學(xué)科研演示設(shè)備進(jìn)行推廣。

圖3 四自由度機(jī)械臂樣機(jī)

圖4 鋼絲傳動機(jī)構(gòu)示意圖
控制系統(tǒng)設(shè)計(jì)
在綜合考慮了項(xiàng)目的機(jī)械結(jié)構(gòu)要求、功能目標(biāo)、開發(fā)周期等因素后,我們對于控制系統(tǒng)的設(shè)計(jì)定下如下的方案:
1. 對于底盤(腰部)、大臂俯仰、小臂俯仰這三個(gè)自由度,利用伺服電機(jī)驅(qū)動和編碼器反饋來構(gòu)成閉環(huán)控制系統(tǒng),由于本項(xiàng)目對于定位精度的要求,伺服電機(jī)控制方式選為位置控制(即脈沖控制)。因此我們選用了NI PCI-7344作為伺服電機(jī)的運(yùn)動控制器。
2. 對于手腕旋轉(zhuǎn)自由度以及抓取手爪吸合張開的控制,考慮到這部分機(jī)構(gòu)主要處于靠近末端負(fù)載,要求體積尺寸小等原因,我們選擇采用了直流電機(jī)配齒輪減速器并通過線性電位計(jì)的電壓值來間接測量角度值的方案。
3. LabVIEW本身帶有大量的數(shù)字信號處理vi,可以十分有效地解決控制系統(tǒng)中常會遇到的信號干擾及濾波等問題。利用LabVIEW更可以大幅縮短項(xiàng)目的開發(fā)周期,在短短3個(gè)月內(nèi)我們迅速完成了從機(jī)械設(shè)計(jì)、材料加工、控制系統(tǒng)軟硬件設(shè)計(jì)等進(jìn)度,這些也是我們優(yōu)先選擇LabVIEW作為系統(tǒng)開發(fā)平臺的重要原因。
圖5顯示了控制系統(tǒng)構(gòu)成的整體框圖。
機(jī)械臂的技術(shù)要求后,主要功能大致可以分為以下幾類:系統(tǒng)硬件信息反饋、運(yùn)動參數(shù)設(shè)置、手動及自動運(yùn)動控制、機(jī)械臂空間位置的捕捉與再現(xiàn)、文件操作等。這幾者之間的相互關(guān)系可以通過如下的軟件流程圖來表示。

軟件設(shè)計(jì)
控制系統(tǒng)軟件設(shè)計(jì)在考慮了整個(gè)需要說明的是對于伺服電機(jī)位置的檢測主要是通過對相應(yīng)伺服電機(jī)編碼器的讀取來獲得實(shí)際位置的反饋,在極限位置處我們借助霍爾傳感器向PCI-7344傳遞觸發(fā)信號,實(shí)現(xiàn)極限位置的檢測并通過定時(shí)讀取IO寄存器的值來實(shí)現(xiàn)機(jī)械臂運(yùn)動狀態(tài)的反饋。而直流電機(jī)的位置檢測則是通過固結(jié)在齒輪減速器上的線性電位機(jī)的電壓來間接測量出直流電機(jī)的轉(zhuǎn)角。

軟件的主界面如下圖所示:


開發(fā)過程
在LabVIEW8.0之前的版本中,許多在主程序中需要多次復(fù)用的功能都是通過subvi封裝來進(jìn)行調(diào)用的。當(dāng)這樣的subvi數(shù)量多的時(shí)候,對于這些文件的管理會成為不小的工作量。甚至,因?yàn)槟承﹕ubvi的管理不善(如文件丟失等情況),整個(gè)軟件系統(tǒng)的工作會受到較大影響。在LabVIEW推出的8.0及8.2版中,Project開發(fā)方式的推出給這一問題的解決帶來了希望。
通過Project Explorer我們在開發(fā)過程不僅可以有效對于各個(gè)功能(如伺服驅(qū)動器工作狀態(tài)反饋、直流電機(jī)位置測量、直流電機(jī)位置控制等)進(jìn)行獨(dú)立開發(fā),更可以保證主vi中調(diào)用的功能與subvi的一致,而不用像低版本中那樣,一旦subvi有變化,主vi需要逐個(gè)去手動更新。
使用Project Explorer的另一個(gè)好處在于程序封裝發(fā)布的便利。如圖8所示,通過build specification中的不同選擇,可以將源程序封裝成exe文件,或者是帶LabVIEW Runtime Engine的Installer安裝文件,以及動態(tài)鏈接庫(dll)和屏蔽了源代碼的vi(Block Diagram不可見)。