梁順攀,竇玉超,趙永生+
(1.燕山大學(xué) 信息科學(xué)與工程學(xué)院,河北 秦皇島066004;2.燕山大學(xué) 機(jī)械工程學(xué)院,河北 秦皇島066004)
與串聯(lián)機(jī)構(gòu)不同,并聯(lián)機(jī)構(gòu)的動(dòng)平臺(tái)在笛卡爾坐標(biāo)系中的運(yùn)動(dòng)與各運(yùn)動(dòng)分支之間是復(fù)雜的非線性映射關(guān)系,控制模型復(fù)雜。因此通用的控制系統(tǒng)不適用于在并聯(lián)機(jī)構(gòu)上直接應(yīng)用,必須針對(duì)并聯(lián)機(jī)構(gòu)的具體情況進(jìn)行開發(fā)。目前國內(nèi)外并聯(lián)機(jī)構(gòu)的控制系統(tǒng)大多數(shù)都存在功能過于集中、耦合度高、可擴(kuò)展性差、維護(hù)困難等缺點(diǎn)。采用開放式體系結(jié)構(gòu)的控制系統(tǒng)是新一代控制器的發(fā)展趨勢。目前國內(nèi)外較著名的開放式控制系統(tǒng)有歐共體提出的OSACA,美國提出的OMAC計(jì)劃,日本的OSEC,清華的OCSIA等等[1]。但這些系統(tǒng)在其功能實(shí)現(xiàn)和系統(tǒng)建模方面仍有很多不足。為了滿足6-PUS/UPU冗余驅(qū)動(dòng)并聯(lián)機(jī)構(gòu)面向多用戶、多用途、高柔性的任務(wù)需求,結(jié)合面向服務(wù)的思想以及模型-視圖-控制的開發(fā)模式,提出了一種基于SOA/MVC的開放式控制系統(tǒng)架構(gòu)。并根據(jù)該架構(gòu)開發(fā)了6-PUS/UPU并聯(lián)機(jī)構(gòu)控制系統(tǒng),增強(qiáng)了控制系統(tǒng)的柔性和開放性。該框架是一個(gè)具有靈活擴(kuò)展、按需定制、易于整合的技術(shù)平臺(tái)。
6-PUS/UPU 是一種新型冗余驅(qū)動(dòng) 并聯(lián)機(jī)構(gòu)[2-4]。如圖1所示,該機(jī)構(gòu)由定平臺(tái)、動(dòng)平臺(tái)、6個(gè)驅(qū)動(dòng)分支PUS和一個(gè)約束分支UPU組成。由于中間UPU約束分支約束了動(dòng)平臺(tái)的一個(gè)自由度,因此動(dòng)平臺(tái)只能實(shí)現(xiàn)5個(gè)自由度的運(yùn)動(dòng),但是該機(jī)器人共有6個(gè)驅(qū)動(dòng),此時(shí)該機(jī)器人是冗余驅(qū)動(dòng)的。該機(jī)構(gòu)的6個(gè)PUS分支均依次由1個(gè)P副 (移動(dòng)副),1個(gè)U副 (虎克鉸),1個(gè)S副 (球副)連接而成,中間UPU約束分支則由2個(gè)U副和1個(gè)P副組成。中間分支與動(dòng)平臺(tái)連接的虎克鉸,是由一個(gè)球鉸 (S副)和一個(gè)固定軸承蓋組合而成。當(dāng)拆除這個(gè)固定用的軸承蓋,則中間支路為UPS,此時(shí)中間支路對(duì)動(dòng)平臺(tái)不起約束作用,該并聯(lián)機(jī)構(gòu)成為一個(gè)6自由度的Stewart并聯(lián)機(jī)構(gòu)。
圖1 6-PUS/UPU并聯(lián)機(jī)構(gòu)
該機(jī)構(gòu)通過中間約束分支的變換實(shí)現(xiàn)冗余和非冗余模式的切換,在冗余驅(qū)動(dòng)模式下,該機(jī)構(gòu)還具有變自由度的特點(diǎn)。該機(jī)構(gòu)為研究空間冗余驅(qū)動(dòng)并聯(lián)機(jī)器人提供了很好的平臺(tái),也可作為多任務(wù)、多構(gòu)型的空間并聯(lián)機(jī)構(gòu)的測控理論研究和實(shí)驗(yàn)平臺(tái)。
從功能需求分析的角度看,6-PUS/UPU機(jī)器人主要作為一個(gè)機(jī)電一體化多功能測控平臺(tái),機(jī)械本體可以衍變成多種構(gòu)型有:一般并聯(lián)機(jī)構(gòu) (如6-PUS),少自由度機(jī)構(gòu)(如5-PUS/UPU)和冗余驅(qū)動(dòng)機(jī)構(gòu) (如6-PUS/UPU)等;機(jī)構(gòu)的工作任務(wù)多變,主要的研究任務(wù)包括:冗余驅(qū)動(dòng)、少自由度、完全自由度、力/位混合控制、曲面跟蹤、網(wǎng)絡(luò)控制研究等等。
從使用的人員來看,不同的用戶以及不同的任務(wù)都帶來個(gè)性化的需求。比如基于個(gè)人智能終端的網(wǎng)絡(luò)控制應(yīng)用中,用戶則希望在客戶端能提供簡單、便捷的配置,并希望能在原系統(tǒng)中添加一些新功能。這都需要在系統(tǒng)架構(gòu)的設(shè)計(jì)過程中,充分考慮用戶的現(xiàn)在需求、預(yù)計(jì)其未來的需求,從而提高軟件的可配置性、靈活性。
此外,傳統(tǒng)基于網(wǎng)絡(luò)應(yīng)用的開發(fā)模式采用B/S/D三層結(jié)構(gòu)。在這種模式中,核心層是處在中間的服務(wù)器,無論是用戶交互的界面,對(duì)數(shù)據(jù)進(jìn)行邏輯處理的功能模塊,對(duì)數(shù)據(jù)庫進(jìn)行數(shù)據(jù)訪問的模塊均集成在服務(wù)器端。這導(dǎo)致服務(wù)器端過度膨大,模塊之間耦合性高,導(dǎo)致系統(tǒng)性能降低、代碼維護(hù)困難、安全性差等缺點(diǎn)的出現(xiàn)。同時(shí),也不利于系統(tǒng)的擴(kuò)展。
從數(shù)據(jù)需求分析的角度來看,系統(tǒng)中的數(shù)據(jù)主要包括:實(shí)時(shí)性強(qiáng)的控制信號(hào)、PMAC的運(yùn)動(dòng)控制程序、各部件的設(shè)置參數(shù)、傳感器的實(shí)時(shí)反饋數(shù)據(jù)、用戶信息、用戶指令和日志記錄信息等。這些數(shù)據(jù)有些需要進(jìn)行保存,有些則只用于過程控制或顯示;數(shù)據(jù)的大小變化幅度大;數(shù)據(jù)的實(shí)時(shí)性需求也不同。
如按照傳統(tǒng)的定制模式進(jìn)行數(shù)控系統(tǒng)開發(fā),則該系統(tǒng)將非常膨大、部署復(fù)雜、耦合度高不易擴(kuò)展,且難以實(shí)現(xiàn)和維護(hù),無法滿足教學(xué)、研究和應(yīng)用需求。隨著并聯(lián)機(jī)構(gòu)研究的深入、應(yīng)用領(lǐng)域的拓展,這種開發(fā)已經(jīng)成為制約并聯(lián)機(jī)構(gòu)廣泛應(yīng)用的瓶頸之一。
根據(jù)上述設(shè)計(jì)要求和設(shè)計(jì)目標(biāo),提出了一種基于組件技術(shù),將組件技術(shù)的獨(dú)立性和靈活性、SOA的可重構(gòu)性、MVC的邏輯與顯示的隔離性應(yīng)用于控制系統(tǒng)架構(gòu)的設(shè)計(jì),可開發(fā)出更開放的、高柔性的控制系統(tǒng)??刂葡到y(tǒng)的整體架構(gòu)如圖2所示。
控制系統(tǒng)主要由下面三部分組成:視圖層、控制層、模型層。系統(tǒng)可以劃分為5個(gè)子層:應(yīng)用子層、服務(wù)總線子層、服務(wù)模塊子層、驅(qū)動(dòng)子層、設(shè)備子層。
參考一些經(jīng)典構(gòu)架方案[5-7],在設(shè)計(jì)模型層時(shí),將其分為驅(qū)動(dòng)子層和設(shè)備子層。當(dāng)硬件設(shè)備進(jìn)行更新或者替換時(shí),只需要在驅(qū)動(dòng)器子層按照相應(yīng)的驅(qū)動(dòng)程序,并且讓驅(qū)動(dòng)管理器進(jìn)行重新加載即可,避免了對(duì)上一層的影響。控制層則劃分為服務(wù)總線子層和服務(wù)模塊子層。各個(gè)封裝好的功能模塊作為組件放置在服務(wù)模塊子層,而服務(wù)總線子層則負(fù)責(zé)服務(wù)模塊的管理和注冊,并向上一層提供服務(wù)。根據(jù)SOA的觀點(diǎn),可把模型層視作底層服務(wù)的 “提供者”,控制層調(diào)用這些底層服務(wù)以便上層的視圖層提供更高層次邏輯的功能,而視圖層則向用戶提供服務(wù)。
圖2 控制系統(tǒng)總體架構(gòu)
模型層包含了驅(qū)動(dòng)子層、設(shè)備子層。模型層是控制系統(tǒng)的主要被控制對(duì)象,向上層提供了服務(wù)的接口。設(shè)備子層主要包括了被控制的各種物理對(duì)象、虛擬樣機(jī)以及相關(guān)數(shù)據(jù)。驅(qū)動(dòng)子層負(fù)責(zé)各種被控對(duì)象的驅(qū)動(dòng)程序及對(duì)其的管理。
根據(jù)開放式控制系統(tǒng)的主要思想和特征[8],為了保證6-PUS/UPU并聯(lián)機(jī)構(gòu)的硬件具有互換性、模塊化、可擴(kuò)展性等特點(diǎn),設(shè)備子層必須是開放的;同時(shí)為了向上一層提供服務(wù),需要利用驅(qū)動(dòng)子層來封裝底層的設(shè)備的多樣性。
驅(qū)動(dòng)子層主要有下面三部分組成:服務(wù)接口、驅(qū)動(dòng)管理器和各種驅(qū)動(dòng)程序。
驅(qū)動(dòng)管理器是驅(qū)動(dòng)子層的管理層,作用于服務(wù)接口和驅(qū)動(dòng)程序之間,其跟蹤可用的驅(qū)動(dòng)程序,并在樣機(jī)、數(shù)據(jù)庫等各種設(shè)備和相應(yīng)驅(qū)動(dòng)程序之間建立連接。
模型層通過服務(wù)接口向上一層提供服務(wù)。上一層通過服務(wù)接口操作機(jī)器人、虛擬樣機(jī)和數(shù)據(jù)庫。
驅(qū)動(dòng)程序包括運(yùn)動(dòng)控制卡、各種接口卡;聯(lián)合仿真軟件所需的接口設(shè)置參數(shù)和調(diào)用指令;各種數(shù)據(jù)庫的驅(qū)動(dòng)程序等。驅(qū)動(dòng)程序?qū)⒆陨砑虞d到驅(qū)動(dòng)管理器中去,并處理相應(yīng)的請求并建立與相應(yīng)設(shè)備的連接。
設(shè)備子層和具體設(shè)備相關(guān)。根據(jù)任務(wù)需要不同、應(yīng)用場合不同,可以添加所需的傳感器、PLC設(shè)備、伺服設(shè)備等多種類型設(shè)備。本系統(tǒng)將樣機(jī)、虛擬樣機(jī)和數(shù)據(jù)庫都看成是被控制的對(duì)象同處在設(shè)備子層。虛擬樣機(jī)在ADAMS和MATLAB仿真軟件里建立;數(shù)據(jù)庫則由數(shù)據(jù)庫管理系統(tǒng)負(fù)責(zé)管理,數(shù)據(jù)庫存放用戶信息、系統(tǒng)參數(shù)、日志信息等內(nèi)容,其中最核心的是樣機(jī)。其硬件結(jié)構(gòu)采用 “IPC+運(yùn)動(dòng)控制卡”控制模式,如圖3所示。
在 “IPC+運(yùn)動(dòng)控制卡”模式中,工控機(jī)為上位機(jī),負(fù)責(zé)軌跡規(guī)劃、插補(bǔ)、任務(wù)調(diào)度等,是數(shù)控系統(tǒng)的核心部分;運(yùn)動(dòng)控制卡內(nèi)部包含位置控制器、速度控制器,力矩控制器等,負(fù)責(zé)各個(gè)電機(jī)精細(xì)運(yùn)動(dòng)指令生成、各個(gè)電機(jī)運(yùn)動(dòng)的協(xié)調(diào)等;電氣部分主要有驅(qū)動(dòng)器、電機(jī)、繼電器等,該部分將運(yùn)動(dòng)控制卡生成的指令轉(zhuǎn)為電機(jī)的轉(zhuǎn)動(dòng),同時(shí)由電機(jī)的光電編碼器測得的位置信息、轉(zhuǎn)速信息等反饋給運(yùn)動(dòng)控制卡;機(jī)械傳動(dòng)部分采用高精密滾珠絲杠,通過絲杠上滑塊的運(yùn)動(dòng)帶動(dòng)各個(gè)分支的運(yùn)動(dòng);在每個(gè)滾軸絲杠基座上安裝光柵尺,滑塊安裝讀寫頭,通過讀寫頭將每個(gè)分支的位置信息、速度信息反饋到運(yùn)動(dòng)控制卡,再通過運(yùn)動(dòng)控制卡反饋到工控機(jī)上。
因此,“IPC+運(yùn)動(dòng)控制卡”方案既可以利用工控機(jī)的高性能來實(shí)施多種復(fù)雜的控制及解決各分支的同步協(xié)調(diào)問題,又可利用PMAC的高實(shí)時(shí)性來實(shí)現(xiàn)運(yùn)動(dòng)的精確控制。
控制層主要包括服務(wù)總線子層和服務(wù)模塊子層。在整個(gè)控制系統(tǒng)中,控制層處在中間,是整個(gè)系統(tǒng)的樞紐部分,控制層負(fù)責(zé)向視圖層提供服務(wù),同時(shí)控制層也要使用模型層的服務(wù)。其中服務(wù)總線子層負(fù)責(zé)整個(gè)系統(tǒng)任務(wù)的調(diào)度,服務(wù)模塊子層則由完成具體任務(wù)的功能模塊所組成。
該開發(fā)模式能有效降低功能模塊與模塊調(diào)度等管理邏輯之間的耦合程度,使得開發(fā)人員可以在已建成的核心模塊基礎(chǔ)上根據(jù)新的任務(wù)需求迅速地添加新的功能模塊,從而實(shí)現(xiàn)系統(tǒng)的功能定制和擴(kuò)展,滿足不同用戶的不同需求。
圖3 控制系統(tǒng)硬件結(jié)構(gòu)框架
服務(wù)總線子層是整個(gè)系統(tǒng)的中心構(gòu)件。在SOA架構(gòu)中,服務(wù)總線子層是整個(gè)架構(gòu)的控制樞紐。通過服務(wù)總線子層屏蔽了各服務(wù)模塊的細(xì)節(jié)、管理和調(diào)用關(guān)系,對(duì)外提供了更高邏輯層面的服務(wù)。
服務(wù)總線子層負(fù)責(zé)接收上一層的服務(wù)請求,自動(dòng)完成服務(wù)流程的處理,并將這些服務(wù)請求進(jìn)行解耦;負(fù)責(zé)注冊、登記各服務(wù)模塊的相關(guān)信息,并對(duì)其進(jìn)行管理;將解耦的服務(wù)請求和已登記的服務(wù)模塊進(jìn)行匹配,在匹配的兩者間建立連接通道,并監(jiān)控服務(wù)的狀態(tài)。服務(wù)總線子層的核心模塊包括業(yè)務(wù)邏輯處理模塊、服務(wù)調(diào)度模塊、服務(wù)狀態(tài)管理模塊、總線管理模塊與服務(wù)接口模塊等。
(1)業(yè)務(wù)邏輯處理模塊,它是服務(wù)總線子層中最核心的功能模塊。負(fù)責(zé)解耦服務(wù)請求;匹配服務(wù)請求和服務(wù)提供方;負(fù)責(zé)服務(wù)邏輯業(yè)務(wù)的組織;負(fù)責(zé)各個(gè)服務(wù)模塊之間通信和數(shù)據(jù)轉(zhuǎn)發(fā)。該模塊實(shí)現(xiàn)了服務(wù)請求方與服務(wù)提供者之間的屏蔽,將服務(wù)請求者從具體繁瑣的任務(wù)執(zhí)行過程中解脫出來,一切中間過程均交給了服務(wù)總線子層自動(dòng)完成。
(2)服務(wù)調(diào)度模塊,根據(jù)服務(wù)請求方的具體任務(wù)需求,實(shí)時(shí)調(diào)用服務(wù)模塊子層中的服務(wù)模塊。此外,該模塊還負(fù)責(zé)為服務(wù)模塊的運(yùn)行分配所需的CPU、內(nèi)存等資源,以保證服務(wù)請求在允許的時(shí)間內(nèi)完成,從而提供服務(wù)的質(zhì)量。
(3)服務(wù)狀態(tài)管理模塊,負(fù)責(zé)監(jiān)控、管理系統(tǒng)中正在被調(diào)用的各個(gè)服務(wù)組件的狀態(tài)。服務(wù)組件的狀態(tài)主要有啟動(dòng)、報(bào)錯(cuò)、等待、終止等。服務(wù)組件在服務(wù)狀態(tài)管理模塊監(jiān)管下,根據(jù)服務(wù)流程和服務(wù)需要在上述的狀態(tài)間進(jìn)行轉(zhuǎn)換。
(4)總線管理模塊,其主要根據(jù)各個(gè)服務(wù)任務(wù)的優(yōu)先級(jí)調(diào)度任務(wù)運(yùn)行;控制指令的驗(yàn)證及執(zhí)行;總線對(duì)各服務(wù)的檢錯(cuò)容錯(cuò);總線的自我檢錯(cuò)和容錯(cuò)等等。
(5)服務(wù)接口模塊,包括三類服務(wù)接口:服務(wù)接口、外部服務(wù)接口、內(nèi)部服務(wù)接口。利用服務(wù)接口使用模型層所提供的服務(wù)。內(nèi)部服務(wù)接口向視圖層提供本地控制的服務(wù)。外部服務(wù)接口向視圖層提供網(wǎng)絡(luò)訪問控制的服務(wù)。
服務(wù)模塊子層提供了完成具體邏輯任務(wù)的各模塊。各模塊是松耦合的,各模塊均由服務(wù)總線子層負(fù)責(zé)調(diào)用。各服務(wù)模塊可以根據(jù)任務(wù)的需要進(jìn)行擴(kuò)展,下面對(duì)系統(tǒng)的部分核心模塊進(jìn)行了設(shè)計(jì)。
3.2.1 控制對(duì)象選擇模塊
不同的被控對(duì)象具有不同的特性,需要進(jìn)行分類控制。當(dāng)控制系統(tǒng)添加了新的控制對(duì)象后,只要訪問該被控對(duì)象的接口負(fù)責(zé)制定的規(guī)范,則無需修改系統(tǒng)其它模塊的代碼,只需添加該被控對(duì)象的驅(qū)動(dòng)程序、添加所需的功能模塊,即可實(shí)現(xiàn)功能的擴(kuò)充。本模塊主要實(shí)現(xiàn)了包括對(duì)6-PUS/UPU樣機(jī)、虛擬樣機(jī)及數(shù)據(jù)庫這些被控對(duì)象的選擇及初始化。
3.2.2 控制模式選擇模塊
該模塊主要是根據(jù)用戶的請求,提供被控對(duì)象在不同的控制模式下進(jìn)行切換的功能,并設(shè)置相關(guān)的參數(shù)。不同的控制模式對(duì)被控對(duì)象的參數(shù)設(shè)置、各種資源的操作方式、操作權(quán)限等均有所不同。為了滿足教學(xué)與科研的需要,6-PUS/UPU并聯(lián)機(jī)構(gòu)的控制系統(tǒng)應(yīng)支持本地控制和網(wǎng)絡(luò)控制兩種方式。
3.2.3 樣機(jī)構(gòu)型選擇模塊
由于樣機(jī)自身特點(diǎn),可衍變成多種構(gòu)型。每種構(gòu)型的運(yùn)動(dòng)學(xué)模型會(huì)有所差別,因此根據(jù)構(gòu)型來配置控制系統(tǒng)。本文目前主要定義了如下構(gòu)型:6-PUS、6-PUS/UPU。
3.2.4 操作模式選擇模塊
本模塊主要實(shí)現(xiàn)兩種操作模式:一是通過下載運(yùn)動(dòng)程序到PMAC卡,在運(yùn)動(dòng)程序控制下的自動(dòng)控制模式;二是在用戶在線發(fā)送運(yùn)動(dòng)指令模式下的手動(dòng)控制模式。自動(dòng)控制模式一般用于已知末端執(zhí)行器的運(yùn)動(dòng)軌跡情況下所采用;而手動(dòng)控制模式一般用在定點(diǎn)位置控制情況下,此時(shí)需要實(shí)時(shí)調(diào)用反解模塊進(jìn)行運(yùn)動(dòng)反解。
3.2.5 控制策略選擇模塊
該模塊主要對(duì)各種控制模式進(jìn)行分別控制,只要符合相應(yīng)的接口范圍,即可以在不改動(dòng)其它模塊的情況下改變被控制對(duì)象的控制策略。本模塊主要的控制策略有:基于關(guān)節(jié)空間的PID控制、與環(huán)境非接觸的力/位混合控制、帶同步器的力/位混合控制、與環(huán)境接觸的力/位混合控制等等。
3.2.6 樣機(jī)參數(shù)設(shè)置模塊
樣機(jī)在加工裝配后,由于各個(gè)部件的制造、裝配誤差,導(dǎo)致并聯(lián)機(jī)構(gòu)的理論結(jié)構(gòu)參數(shù)與實(shí)際參數(shù)之間存在誤差,為了提高運(yùn)動(dòng)精度,需要對(duì)樣機(jī)進(jìn)行標(biāo)定,標(biāo)定后需要對(duì)相關(guān)的樣機(jī)結(jié)構(gòu)參數(shù)進(jìn)行補(bǔ)償。此外,在長時(shí)間運(yùn)行后,或某些情況下,也需要對(duì)系統(tǒng)的結(jié)構(gòu)參數(shù)進(jìn)行重新補(bǔ)償。該模塊提供了對(duì)樣機(jī)的結(jié)構(gòu)參數(shù)進(jìn)行設(shè)置。
3.2.7 軸控制設(shè)置模塊
軸控制設(shè)置模塊主要是設(shè)置每個(gè)驅(qū)動(dòng)分支的控制模式,主要包括每個(gè)驅(qū)動(dòng)軸的反饋方式的設(shè)置、驅(qū)動(dòng)電機(jī)的控制模式的設(shè)置這兩部分內(nèi)容。
每一驅(qū)動(dòng)分支均可以單獨(dú)進(jìn)行相應(yīng)控制參數(shù)的設(shè)置。在控制方式選擇中,根據(jù)反饋方式的不同,有以下兩種模式可供選擇:半閉環(huán)、全閉環(huán)方式。半閉環(huán)方式:位置反饋信號(hào)與速度反饋信號(hào)均由電機(jī)編碼器產(chǎn)生;全閉環(huán)方式:位置反饋信號(hào)由光柵尺測得,而速度反饋信息則由電機(jī)編碼器反饋實(shí)現(xiàn)。當(dāng)選取不同的控制方式,需要修改PMAC卡相對(duì)應(yīng)的I變量。
每個(gè)伺服電機(jī)都有3種控制模式:位置控制、速度控制和轉(zhuǎn)矩控制。在選擇完反饋模式后,可以設(shè)置伺服電機(jī)的控制模式。當(dāng)選取不同的軸控制方式時(shí),從PMAC發(fā)出的指令則通過8E卡的不同通道發(fā)送到各電機(jī)驅(qū)動(dòng)器的相應(yīng)輸入端口。位置控制與速度控制方式轉(zhuǎn)換,PMAC卡的響應(yīng)I變量取值需要做相應(yīng)的調(diào)整。
3.2.8 運(yùn)動(dòng)學(xué)算法模塊
運(yùn)動(dòng)學(xué)模塊主要實(shí)現(xiàn)的功能:參照樣機(jī)構(gòu)型選擇模塊的參數(shù),選取與構(gòu)型匹配的運(yùn)動(dòng)反解模型,結(jié)合軌跡規(guī)劃中所規(guī)劃的速度、運(yùn)動(dòng)時(shí)間等信息,將經(jīng)過插補(bǔ)處理模塊處理后的離散線段反解為任務(wù)空間上且符合PMAC運(yùn)動(dòng)程序格式要求的各個(gè)驅(qū)動(dòng)軸的伺服指令。
3.2.9 插補(bǔ)處理模塊
插補(bǔ)處理模塊首先對(duì)運(yùn)動(dòng)程序進(jìn)行編譯處理,包括運(yùn)動(dòng)程序進(jìn)行詞法、語法檢查,無誤后,將編譯過的運(yùn)動(dòng)程序軌跡段進(jìn)行粗插補(bǔ)。再將運(yùn)動(dòng)程序中的控制代碼轉(zhuǎn)化為控制系統(tǒng)內(nèi)部的運(yùn)動(dòng)控制程序文件格式。本系統(tǒng)的插補(bǔ)處理模塊目前只提供直線插補(bǔ)方式。各分支運(yùn)動(dòng)軌跡的插補(bǔ)由粗、精兩次插補(bǔ)完成,其中粗插補(bǔ)的計(jì)算量大,這部分由上位機(jī)來完成,插補(bǔ)周期則由低層PMAC控制器的采樣頻率決定,精插補(bǔ)由PMAC完成。本模塊,主要即完成粗插補(bǔ)功能。
3.2.10 回零控制模塊
本模塊分別提供了非冗余驅(qū)動(dòng)下的回零和冗余驅(qū)動(dòng)下的回零兩種回零方式。
在非冗余驅(qū)動(dòng)下,本系統(tǒng)讓所有的驅(qū)動(dòng)分支沿同一個(gè)方向運(yùn)動(dòng),當(dāng)光柵尺讀數(shù)頭經(jīng)過光柵尺上參考零位時(shí)被觸發(fā),然后驅(qū)動(dòng)分支再反向移動(dòng)到距離參考點(diǎn)某一位置的零點(diǎn),該位置即為零點(diǎn),也是坐標(biāo)系的原點(diǎn)。為了兼顧靈活、速度,本模塊分別實(shí)現(xiàn)包括6個(gè)驅(qū)動(dòng)分支的單獨(dú)回零、同時(shí)回零功能。
冗余分支采用隨動(dòng)控制模式。在隨動(dòng)控制模式下,安裝在冗余驅(qū)動(dòng)分支上的傳感器受到的拉壓力。所采用的回零策略分三步驟:當(dāng)機(jī)器人需要回零時(shí),控制系統(tǒng)將冗余分支的控制模式改為隨動(dòng)控制模式,此時(shí),冗余分支的驅(qū)動(dòng)器處于力控制模式,并且發(fā)送輸入力為零的命令,冗余分支會(huì)跟隨動(dòng)平臺(tái)的運(yùn)動(dòng)而運(yùn)動(dòng);其它分支首先調(diào)整動(dòng)平臺(tái)的位置,讓各分支的回零行程基本相同的情況下,再實(shí)施各分支獨(dú)立自主地回零;最后,冗余分支再次修改控制模式,改回為冗余控制模式?;谏鲜龅幕亓悴呗?,準(zhǔn)確性和效率都比較好。
3.2.11 位置正解計(jì)算模塊
在顯示動(dòng)平臺(tái)位姿、動(dòng)力學(xué)控制模式下,都需進(jìn)行位置求解。本模塊利用Matcom文件翻譯器將求正解的MATLAB程序轉(zhuǎn)化成VC,程序運(yùn)行時(shí),調(diào)用Matrix的C++數(shù)學(xué)庫,實(shí)時(shí)進(jìn)行正解計(jì)算來完成顯示功能。
3.2.12 狀態(tài)顯示模塊
為了讓樣機(jī)操作人及時(shí)了解樣機(jī)的運(yùn)行動(dòng)態(tài),需要將主要運(yùn)動(dòng)部件的狀態(tài)信息實(shí)時(shí)地在屏幕上顯示出來。這些信息主要包括:動(dòng)平臺(tái)的位置信息、各驅(qū)動(dòng)分支的位置和速度信息等等。
3.2.13 信息管理模塊
包括用戶管理子模塊、日志管理子模塊。
用戶管理子功能模塊實(shí)現(xiàn)賬號(hào)注冊、登陸驗(yàn)證等。當(dāng)某用戶試圖登陸控制系統(tǒng)時(shí),控制管理中心把該用戶的信息傳給用戶管理子功能模塊,該模塊調(diào)用保存在數(shù)據(jù)庫中的注冊用戶信息來核實(shí)該賬戶的合法性。
日志管理子功能模塊在程序運(yùn)行后負(fù)責(zé)機(jī)器人整個(gè)工作過程中狀態(tài)信息記錄和保存。日志管理子功能模塊能對(duì)監(jiān)控模塊的分析結(jié)果提取異常情況,以不同顏色提示用戶。且可通過 “日志查詢”命令對(duì)以往的日志進(jìn)行查詢分析。通過對(duì)記錄下的數(shù)據(jù)定期進(jìn)行對(duì)比分析,可以對(duì)系統(tǒng)的各零部件性能進(jìn)行監(jiān)控評(píng)價(jià)、預(yù)測和優(yōu)化。
3.2.14 安全監(jiān)控模塊
為了保證系統(tǒng)能連續(xù)、安全地運(yùn)行,在軟件系統(tǒng)設(shè)計(jì)了安全監(jiān)控模塊。為了讓各驅(qū)動(dòng)分支不超出其工作行程,本系統(tǒng)分支桿設(shè)計(jì)了從里向外三層安全保護(hù):第一級(jí)安全保護(hù)是通過軟件查詢判斷的方式進(jìn)行;第二級(jí)安全保護(hù)是通過光柵尺上的讀寫頭經(jīng)過光柵尺兩端的限位時(shí)產(chǎn)生信號(hào)發(fā)生跳變,PMAC運(yùn)動(dòng)控制器通過中斷方式捕捉信號(hào)上升沿,伺服系統(tǒng)立即啟動(dòng)減速急停;第三級(jí)安全保護(hù),采用了行程開關(guān)。
由于SOA/MVC架構(gòu)的開放性,以及視圖與模型的分離,其視圖層上的各種交互界面可以獨(dú)立開發(fā),互不干擾??梢愿鶕?jù)不同的應(yīng)用需求,不同的任務(wù)類型,不同的用戶類比開發(fā)出不同的交互界面,以滿足不同的需求。所有的視圖均通過模型層的模型獲取數(shù)據(jù),只要模型的數(shù)據(jù)發(fā)生變更,各視圖就能獲取最新的數(shù)據(jù)進(jìn)行更新顯示。
對(duì)應(yīng)控制層的服務(wù)接口,本系統(tǒng)的視圖層提供界面主要有兩大類:一類是基于本地機(jī)的內(nèi)部界面;一類是在遠(yuǎn)程主機(jī)上運(yùn)行的外部界面??杉?xì)化為:網(wǎng)絡(luò)終端界面、Web界面、本地終端界面、任務(wù)型控制界面等。
友好的界面設(shè)計(jì)可提高人機(jī)交互的效率及降低誤操作的概率,6-PUS/UPU冗余驅(qū)動(dòng)并聯(lián)機(jī)構(gòu)控制系統(tǒng)的本地控制終端人機(jī)交互界面如圖4所示。
本地控制終端人機(jī)界面主要包括下面的部分:功能菜單、代碼編譯區(qū)、指令位姿顯示區(qū)、驅(qū)動(dòng)分支滑塊位置和速度顯示區(qū)、快捷按鈕區(qū)、狀態(tài)顯示燈、控制面板部分以及擴(kuò)展模塊區(qū)等。
本系統(tǒng)目前只實(shí)現(xiàn)了基于客戶端的網(wǎng)絡(luò)控制,服務(wù)器端和客戶端通過局域網(wǎng)進(jìn)行連接。此外為了避免操作人員的不適應(yīng)度,服務(wù)器端和終端的人機(jī)交互界面是一致的。
圖4 控制系統(tǒng)人機(jī)界面
此外,作為一個(gè)多功能測試實(shí)驗(yàn)平臺(tái),其硬件及控制軟件都應(yīng)具有良好的開放性。為了驗(yàn)證上海65m射電望遠(yuǎn)鏡副面調(diào)整機(jī)構(gòu)[9]控制系統(tǒng)的有效性和可行性,本樣機(jī)作為驗(yàn)證機(jī)提供了實(shí)驗(yàn)的平臺(tái),基于SOA/MVC架構(gòu)開發(fā)出了基于局域網(wǎng)的測試系統(tǒng),其控制界面如圖5所示。
圖5 上海65米望遠(yuǎn)鏡副面控制系統(tǒng)人機(jī)界面
其界面主要添加了包括網(wǎng)絡(luò)設(shè)置,副面位置顯示,副面調(diào)整方式選擇、安全等級(jí)選擇、日志管理、點(diǎn)動(dòng)調(diào)整等與副面進(jìn)行控制的功能模塊、交互按鈕和信息顯示框。
為了進(jìn)行柔順裝配實(shí)驗(yàn)[10],基于本控制系統(tǒng)開發(fā)了柔順裝配控制系統(tǒng)。柔順裝配控制系統(tǒng)的人機(jī)界面如圖6所示。
為了及時(shí)觀察采集卡各測量通道的電壓、預(yù)緊電壓和六維力傳感器的測力信息等內(nèi)容,該界面在原有并聯(lián)機(jī)器人控制系統(tǒng)功能上加入了六維力采集、處理和顯示以及并聯(lián)機(jī)器人力控制的部分,實(shí)現(xiàn)并聯(lián)機(jī)器人的運(yùn)動(dòng)操控、系統(tǒng)運(yùn)行狀態(tài)顯示以及六維力傳感器的相應(yīng)的控制功能;傳感器狀態(tài)監(jiān)測部分,用于顯示并聯(lián)機(jī)器人動(dòng)平臺(tái)受力情況。
圖6 柔順裝配控制系統(tǒng)人機(jī)界面
本文根據(jù)6-PUS/UPU冗余驅(qū)動(dòng)并聯(lián)機(jī)構(gòu)的特點(diǎn)及任務(wù)需求,開發(fā)了其控制系統(tǒng)。首先針對(duì)6-PUS/UPU進(jìn)行需求分析,進(jìn)而提出基于SOA/MVC的開放式控制系統(tǒng)架構(gòu),然后分別設(shè)計(jì)完成開放式的模型層、模塊化的控制層和面向任務(wù)型的視圖層。該控制系統(tǒng)功能完善,模塊化程度高,可擴(kuò)展性強(qiáng),穩(wěn)定性高,完全滿足機(jī)電一體化多功能測控平臺(tái)的多任務(wù)需求。控制系統(tǒng)的實(shí)現(xiàn)證明了SOA/MVC架構(gòu)可大大增強(qiáng)控制系統(tǒng)的柔性和開放性。
[1]LAI Yuliang.Realization of software bus and scheduling of open control system [D].Guangzhou:South China University of Technology,2011:5-8 (in Chinese).[賴宇亮.開放式控制系統(tǒng)軟件總線及調(diào)度的實(shí)現(xiàn) [D].廣州:華南理工大學(xué)計(jì)算機(jī)應(yīng)用學(xué)科碩士學(xué)位論文,2011:5-8.]
[2]LIANG Shunpan,DUAN Yanbin,ZHENG Kuijing,et al.Kinematics control of a new 6PUS-UPS/UPU parallel manipulator with variable mobility [C]//International Conference on Mechanic Automation and Control Engineering,2010:6330-6334.
[3]DUAN Yanbin,LIANG Shunpan,ZENG Daxing,et al.Kinematics and workspace analysis of 6-PUS/UPU parallel manipulator[J].Journal of Machine Design,2011,28 (3):36-40(in Chinese).[段艷賓,梁順攀,曾達(dá)幸,等.6-PUS/UPU并聯(lián)機(jī)器人運(yùn)動(dòng)學(xué)及工作空間分析 [J].機(jī)械設(shè)計(jì),2011,28(3):36-40.]
[4]LIANG Shunpan,GAO Sihui,HAN Xing,et al.Dynamics modeling and simulation of 6-PUS/UPU parallel manipulator
[J].Journal of System Simulaiton,2012,24 (9):1839-1843 (in Chinese).[梁順攀,高思慧,韓興,等.6-PUS/UPU并聯(lián)機(jī)器人動(dòng)力學(xué)建模及仿真 [J].系統(tǒng)仿真學(xué)報(bào),2012,24(9):1839-1843.]
[5]WU Shanyu,ZHANG Ping,LI Fang.Research of SOA-based logistics controlling system [J].Computer Engineering and Design,2012,33 (2):561-565 (in Chinese).[吳善玉,張平,李方.基于SOA的機(jī)器人物流系統(tǒng)架構(gòu)研究 [J].計(jì)算機(jī)工程與設(shè)計(jì),2012,33 (2):561-565.]
[6]ZHAO Bin,XIA Hongxia,ZHANG Hao,et al.Novel design of remote control system architecture based on the technology of plug-in framework and script language [J].Journal of Wuhan University of Technology,2009,31 (11):109-112 (in Chinese).[趙斌,夏紅霞,張皓,等.一種新的基于插件和腳本的遠(yuǎn)程控制架構(gòu)設(shè)計(jì) [J].武漢理工大學(xué)學(xué)報(bào),2009,31(11):109-112.]
[7]ZHANG Qiuyu,CHI Ning,LIU Ye.Network control system of mobile robot based on MVC [J].Computer Engineering and Design,2007,28 (2):3097-3010 (in Chinese).[張秋余,遲寧,劉曄.基于MVC的移動(dòng)機(jī)器人網(wǎng)絡(luò)控制系統(tǒng) [J].計(jì)算機(jī)工程與設(shè)計(jì),2007,28 (2):3097-3010.]
[8]LUO Shaoqi.The research of trajectory planning and control on the open architecture control system based on light serviceoriented architecture[D].Guangzhou:South China University of Technology,2012:1-2 (in Chinese).[羅少奇.LSOA開放式控制系統(tǒng)的軌跡規(guī)劃及控制的研究 [D].廣州:華南理工大學(xué)計(jì)算機(jī)應(yīng)用學(xué)科碩士學(xué)位論文,2012:1-2.]
[9]DOU Yuchao,YAO Jiantao,HOU Yulei,et al.Orientation precision monitoring and homing strategy of the subreflector adjusting system for 65meters radio telescope [J].Robot,2012,34 (4):399-405 (in Chinese).[竇玉超,姚建濤,侯雨雷,等.65米射電望遠(yuǎn)鏡副面調(diào)整系統(tǒng)姿態(tài)精度監(jiān)測與回零策略 [J].機(jī)器人,2012,34 (4):399-404.]
[10]WU Yao.Theory and experiment research of compliance assemble based on six-component force sensor [D].Qinhuangdao:Yanshan University,2012:32-48 (in Chinese).[吳遙.基于六維力傳感器的柔順裝配理論與實(shí)驗(yàn)研究 [D].秦皇島:燕山大學(xué)機(jī)械電子工程學(xué)科碩士學(xué)位論文,2012:32-48.]