樊 銳,岳曉虎,韓先國(guó)
(北京航空航天大學(xué) 機(jī)械工程及自動(dòng)化學(xué)院,北京 100191)
并聯(lián)機(jī)構(gòu)作為一種新型的傳動(dòng)機(jī)構(gòu),具有剛度大、承載能力強(qiáng)、誤差小、精度高、自重負(fù)荷比小、動(dòng)態(tài)性能好、容易控制等一系列優(yōu)點(diǎn)[1],已廣泛地應(yīng)用于機(jī)器人、并聯(lián)機(jī)床、運(yùn)動(dòng)仿真器等。3-UPS/S是一種串并聯(lián)機(jī)構(gòu),其既繼承了并聯(lián)機(jī)構(gòu)的優(yōu)點(diǎn),又發(fā)揮了串聯(lián)機(jī)構(gòu)運(yùn)動(dòng)空間大的特點(diǎn),是并聯(lián)機(jī)構(gòu)的一個(gè)重要發(fā)展趨勢(shì)[2]。
轉(zhuǎn)臺(tái)作為航空、航天等領(lǐng)域中進(jìn)行仿真和測(cè)試的關(guān)鍵設(shè)備,在飛行器的研制過(guò)程中,起著極其重要的作用。傳統(tǒng)的三軸轉(zhuǎn)臺(tái)結(jié)構(gòu),本質(zhì)上是由3個(gè)轉(zhuǎn)動(dòng)副串聯(lián)而成,是典型的串聯(lián)機(jī)構(gòu),其優(yōu)點(diǎn)是在3個(gè)轉(zhuǎn)動(dòng)方向都可以實(shí)現(xiàn)360°回轉(zhuǎn),轉(zhuǎn)動(dòng)空間非常大。與傳統(tǒng)轉(zhuǎn)臺(tái)相比,并聯(lián)轉(zhuǎn)臺(tái)具有的優(yōu)點(diǎn)如下:并聯(lián)轉(zhuǎn)臺(tái)體積和凈質(zhì)量可以大大減??;并聯(lián)機(jī)構(gòu)反解容易的特點(diǎn)使之軌跡規(guī)劃簡(jiǎn)單,易于控制;動(dòng)平臺(tái)運(yùn)動(dòng)靈活,容易實(shí)現(xiàn)多個(gè)自由度聯(lián)動(dòng)以及適應(yīng)多種仿真和測(cè)試任務(wù)。
本文以一種三自由度3-UPS/S并聯(lián)轉(zhuǎn)臺(tái)為研究對(duì)象,遠(yuǎn)程控制系統(tǒng)要求實(shí)現(xiàn)每50 ms收發(fā)一組數(shù)據(jù),角位置精度達(dá)到0.05°及角速度精度達(dá)到0.01°/s。根據(jù)需求搭建“PC+PMAC”為硬件平臺(tái)的控制系統(tǒng),利用CAN總線的遠(yuǎn)程數(shù)據(jù)傳輸功能,實(shí)現(xiàn)了并聯(lián)轉(zhuǎn)臺(tái)的遠(yuǎn)程控制。
并聯(lián)轉(zhuǎn)臺(tái)需要實(shí)現(xiàn)3個(gè)自由度的轉(zhuǎn)動(dòng),轉(zhuǎn)動(dòng)的工作空間分別為
α=± 40°,β=± 40°,γ=± 360°。
根據(jù)需求設(shè)計(jì)的并聯(lián)三軸轉(zhuǎn)臺(tái)的機(jī)械部分由電動(dòng)轉(zhuǎn)臺(tái)、靜平臺(tái)、動(dòng)平臺(tái)、中央立柱以及3條由螺母絲杠組成的支鏈組成,如圖1所示。
其中,中央立柱以及3條伸縮支鏈與靜平臺(tái)的連接,采用高精度的球鉸來(lái)實(shí)現(xiàn),3條伸縮支鏈與動(dòng)平臺(tái)的連接,采用高精度的虎克鉸來(lái)實(shí)現(xiàn)。3條支鏈在伺服電機(jī)的驅(qū)動(dòng)下連同電動(dòng)轉(zhuǎn)臺(tái),使得并聯(lián)轉(zhuǎn)臺(tái)可以繞空間X軸、Y軸、Z軸實(shí)現(xiàn)3個(gè)自由度的轉(zhuǎn)動(dòng)。
控制系統(tǒng)采用IPC+PMAC運(yùn)動(dòng)控制卡的結(jié)構(gòu)形式??刂葡到y(tǒng)硬件主要包括工控機(jī)、PMAC運(yùn)動(dòng)控制卡、CAN卡、電動(dòng)轉(zhuǎn)臺(tái)、安川伺服電機(jī)及驅(qū)動(dòng)器組成??刂葡到y(tǒng)原理圖如圖2所示。
其中下位機(jī)采用工控機(jī),向用戶提供良好的操作界面,使用戶完成模式切換、遠(yuǎn)程控制、參數(shù)設(shè)置、監(jiān)控等操作。PMAC運(yùn)動(dòng)控制卡和接口卡,共同實(shí)現(xiàn)伺服電機(jī)的精確位置伺服控制。遠(yuǎn)程計(jì)算機(jī)通過(guò)CAN通訊卡,向下位機(jī)發(fā)送位置和速度信息,PMAC卡通過(guò)PCI總線,接受工控制的控制命令,實(shí)現(xiàn)對(duì)4個(gè)軸的控制。
圖2 3UPS/S控制系統(tǒng)原理圖
遠(yuǎn)程計(jì)算機(jī)提供并聯(lián)轉(zhuǎn)臺(tái)3個(gè)自由度的運(yùn)動(dòng)軌跡,按照一定的時(shí)間間隔(如50 ms)將運(yùn)動(dòng)軌跡在時(shí)間軸上進(jìn)行離散化,得到時(shí)間軸上并聯(lián)轉(zhuǎn)臺(tái)位置、速度的離散序列,并且按照此時(shí)間間隔,定時(shí)向工控機(jī)發(fā)送離散后的一組位置與速度,當(dāng)工控機(jī)接收到一組數(shù)據(jù)后,配合PMAC卡與伺服單元,驅(qū)動(dòng)各個(gè)伺服電機(jī)運(yùn)動(dòng)到相應(yīng)的位置。
結(jié)合并聯(lián)機(jī)構(gòu)的虛實(shí)插補(bǔ)策略(虛軸粗插補(bǔ)、實(shí)軸精插補(bǔ))[3],為了實(shí)現(xiàn)遠(yuǎn)程控制,整套遠(yuǎn)程控制系統(tǒng),需要具備遠(yuǎn)程數(shù)據(jù)傳輸和位置伺服兩個(gè)主要功能,因此整個(gè)遠(yuǎn)程控制系統(tǒng)可以分成以下兩個(gè)部分:
(1)遠(yuǎn)程數(shù)據(jù)的傳輸,該過(guò)程由CAN總線實(shí)現(xiàn);
(2)支鏈的軌跡控制,該過(guò)程由工控機(jī)、PMAC卡、伺服單元與伺服電機(jī)共同完成,其中工控機(jī)完成位置逆解運(yùn)算、運(yùn)動(dòng)程序語(yǔ)句的生成以及下載;PMAC、伺服單元與伺服電機(jī)共同完成位置的精確伺服控制。
CAN是一種多主方式的串行通信總線,可提供高達(dá)1 Mbit/s的數(shù)據(jù)傳輸速率。研華PCI-1680有兩個(gè)獨(dú)立的CAN接口,可以實(shí)現(xiàn)單PC自發(fā)自收,使得上位機(jī)的軟件調(diào)試工作,得以方便進(jìn)行,在卡的內(nèi)部,采用了SJA-1000作為CAN控制器,PCA-82C250作為CAN收發(fā)模塊[4]。
PCI-1680U驅(qū)動(dòng)程序中所用到的主要函數(shù)大多在CANbus2.0.h里進(jìn)行了聲明,在原驅(qū)動(dòng)程序中API調(diào)用函數(shù)順序如圖3所示,其中圖3(a)為數(shù)據(jù)發(fā)送流程,圖3(b)為數(shù)據(jù)接收流程。
并聯(lián)轉(zhuǎn)臺(tái)軌跡經(jīng)過(guò)粗插補(bǔ)后的位置與速度值,以報(bào)文的形式按間隔時(shí)間從遠(yuǎn)程計(jì)算機(jī)發(fā)送到上位機(jī),在PCI-1680中報(bào)文的表示方法為:
圖3 API調(diào)用函數(shù)順序流程圖
typedef struct{
UCHAR ff;
UCHAR rtr;
ULONG id;
UCHAR dlen;
UCHAR data[8];
}CAN_MSG;
其中,
ff為選擇使用標(biāo)準(zhǔn)幀格式還是擴(kuò)展幀格式,根據(jù)需求選擇具有29位標(biāo)識(shí)符的擴(kuò)展幀格式;
rtr為遠(yuǎn)程標(biāo)志位,發(fā)送數(shù)據(jù)時(shí)該位應(yīng)設(shè)為0;
id為報(bào)文的標(biāo)識(shí)符;
dlen為數(shù)據(jù)的長(zhǎng)度;
data[8]為存儲(chǔ)的具體位置與速度信息。
由于每一個(gè)位置與速度值都是一個(gè)double類(lèi)型,因此規(guī)定一個(gè)報(bào)文只存儲(chǔ)一個(gè)位置值或速度值,這樣一組完整的遠(yuǎn)程信息就包括6個(gè)報(bào)文,即3個(gè)位置與3個(gè)速度,如表1所示。
表1 CAN通信的具體報(bào)文
報(bào)文的ID為1~3代表X軸、Y軸、Z軸的轉(zhuǎn)角,ID為4~6代表各軸的速度,ID為0為停止標(biāo)志。
應(yīng)用PCI-1680U接收遠(yuǎn)程報(bào)文,有兩種方案:
(1)一組完整的遠(yuǎn)程信息共包含6個(gè)報(bào)文,因此在接收方定義一個(gè)6個(gè)報(bào)文大小的FIFO接收緩沖區(qū),當(dāng)接收緩沖區(qū)接收到6個(gè)報(bào)文后,系統(tǒng)會(huì)產(chǎn)生一個(gè)事件,通知從緩沖區(qū)中讀取這些數(shù)據(jù);
(2)在接收數(shù)據(jù)方建立一個(gè)比較大的FIFO接收緩沖區(qū),自動(dòng)接收保存通過(guò)CAN總線發(fā)過(guò)來(lái)的數(shù)據(jù)。然后等待工控機(jī)將一組完整的信息從緩沖區(qū)中順序讀出來(lái)。
第一種方案中,當(dāng)下一組數(shù)據(jù)到達(dá)后,而第一組數(shù)據(jù)還未被讀取時(shí),可能會(huì)造成數(shù)據(jù)混亂或者丟失,需要有足夠大的緩沖區(qū),來(lái)接接收這些數(shù)據(jù),為了避免數(shù)據(jù)的混亂或者丟失,采用第二種方案接收?qǐng)?bào)文信息。
當(dāng)并聯(lián)轉(zhuǎn)臺(tái)進(jìn)入遠(yuǎn)程控制模式并開(kāi)始接收命令時(shí),工控機(jī)會(huì)一直查詢CAN緩沖區(qū)內(nèi)是否有數(shù)據(jù)到達(dá),如果有數(shù)據(jù)到達(dá),則將數(shù)據(jù)按順序存儲(chǔ)在一個(gè)數(shù)組里,當(dāng)收到ID從1到6的一組數(shù)據(jù)后,工控機(jī)暫時(shí)停止查詢緩沖區(qū),轉(zhuǎn)而進(jìn)行處理數(shù)據(jù),當(dāng)該組數(shù)據(jù)處理完成后,工控機(jī)又開(kāi)始查詢緩沖區(qū)。當(dāng)接收到ID為0的數(shù)據(jù)時(shí),工控機(jī)停止讀取緩沖區(qū),等待電機(jī)停止后退出遠(yuǎn)程模式。接收遠(yuǎn)程數(shù)據(jù)的流程具體如圖4所示。
圖4 CAN通訊流程圖
當(dāng)遠(yuǎn)程計(jì)算機(jī)按照間隔時(shí)間發(fā)來(lái)數(shù)據(jù)后,工控機(jī)應(yīng)該及時(shí)接收、處理、轉(zhuǎn)化為程序語(yǔ)句,并下載到PMAC卡中,為了能夠快速執(zhí)行程序語(yǔ)句,需要在PMAC卡中建立旋轉(zhuǎn)緩沖區(qū),旋轉(zhuǎn)緩沖區(qū)允許在程序執(zhí)行的期間對(duì)程序進(jìn)行下載,并覆蓋已經(jīng)被執(zhí)行的程序行[5]。這樣PMAC卡在接收到程序語(yǔ)句后,就會(huì)將程序語(yǔ)句放入緩沖區(qū)中等待執(zhí)行。
緩沖區(qū)的具體定義如下:
A;停止所有運(yùn)動(dòng)
CLOSE;關(guān)閉所有緩沖區(qū)
&1 DELETE ROT;刪除存在的緩沖區(qū)
&1 DEFINE ROT{常量};常量為緩沖區(qū)大小,
B0;準(zhǔn)備運(yùn)行
&1 OPEN ROT;打開(kāi)緩沖區(qū)
PVT{常量};選定PVT的時(shí)間間隔
R程序開(kāi)始執(zhí)行
CLOSE;關(guān)閉緩沖區(qū)
這里的PVT是指位置—速度—時(shí)間插補(bǔ)方式,之所以選擇PVT精插補(bǔ)方式,是由于這種插補(bǔ)方式能實(shí)現(xiàn)對(duì)軌跡圖形更緊湊地控制。
通過(guò)CAN接收到數(shù)據(jù)后,要經(jīng)過(guò)位置逆解,轉(zhuǎn)化為各桿的伸縮量及速度,記為當(dāng)前位置,將當(dāng)前位置和前一個(gè)位置之間平均細(xì)分為5個(gè)位置,這是由于使用PVT插補(bǔ)方式時(shí),緩沖區(qū)中必須保證至少有兩條指令,才能開(kāi)始執(zhí)行,然后將細(xì)分后的位置與速度寫(xiě)成程序語(yǔ)句,下載到PMAC卡中等待執(zhí)行。
結(jié)合CAN的遠(yuǎn)程數(shù)據(jù)傳輸以及PMAC的軌跡控制,設(shè)計(jì)出如圖5所示的遠(yuǎn)程控制流程圖。
圖5 遠(yuǎn)程運(yùn)動(dòng)控制流程圖
一般速率精度的測(cè)試方法,有定角測(cè)時(shí)法和定時(shí)測(cè)角法[6]。
根據(jù)現(xiàn)場(chǎng)實(shí)驗(yàn)條件,遠(yuǎn)程控制系統(tǒng)采用定時(shí)測(cè)角法,來(lái)測(cè)量并聯(lián)轉(zhuǎn)臺(tái)速率精度。
首先在遠(yuǎn)程計(jì)算機(jī)中,采用S型速度曲線規(guī)劃并聯(lián)轉(zhuǎn)臺(tái)勻速運(yùn)行的位置曲線,并且將并聯(lián)轉(zhuǎn)臺(tái)的位置、速度軌跡在時(shí)間軸上按照50 ms間隔進(jìn)行離散化。
然后采用VC中高精度的多媒體定時(shí)器定時(shí)每隔50 ms向下位機(jī)發(fā)送一組位置、速度信息,下位機(jī)在接收到數(shù)據(jù)后,經(jīng)過(guò)反解、細(xì)分、寫(xiě)成程序語(yǔ)句,下載到PMAC卡的旋轉(zhuǎn)緩沖區(qū)等待執(zhí)行。當(dāng)轉(zhuǎn)臺(tái)運(yùn)行平穩(wěn)后,在下位機(jī)中同樣采用VC中高精度的多媒體定時(shí)器定時(shí)一定時(shí)間(該時(shí)間由角度增量的名義值和速度決定,一般選取的角度增量名義值為10°)讀取4個(gè)電機(jī)編碼器的位置反饋值,連續(xù)測(cè)量11次,保證有10個(gè)時(shí)間間隔。
最后通過(guò)位置正解,求得并聯(lián)轉(zhuǎn)臺(tái)實(shí)時(shí)位置,通過(guò)計(jì)算可以得出轉(zhuǎn)臺(tái)的速度。
定時(shí)測(cè)角法速率精度Uω的計(jì)算公式為[6]
式中,
θg為給定速率下,被測(cè)軸在規(guī)定采樣時(shí)間間隔內(nèi)的角度增量名義值;
△T為采樣時(shí)間間隔。
圖6中,
(a)、(b)分別為并聯(lián)轉(zhuǎn)臺(tái)以 2°/s、10°/s的速度,繞X軸轉(zhuǎn)動(dòng)的位置曲線;
圖6 并聯(lián)轉(zhuǎn)臺(tái)以恒定速度繞各軸轉(zhuǎn)動(dòng)的位置曲線
(c)、(d)分別為并聯(lián)轉(zhuǎn)臺(tái)以 2°/s、10°/s的速度,繞Y軸轉(zhuǎn)動(dòng)的位置曲線;
(e)、(f) 分別為并聯(lián)轉(zhuǎn)臺(tái)以 2°/s、10°/s的速度,繞Z軸轉(zhuǎn)動(dòng)的位置曲線。
經(jīng)計(jì)算,當(dāng)并聯(lián)轉(zhuǎn)臺(tái)分別繞X軸、Y軸、Z軸以2°/s、10°/s的速度運(yùn)動(dòng)時(shí),速率精度如表2所列。
表2 各軸在不同速度下轉(zhuǎn)動(dòng)的速率精度
從表中可以看出,轉(zhuǎn)臺(tái)繞各軸轉(zhuǎn)動(dòng)的速率精度都在0.01°/s以內(nèi),滿足指標(biāo)要求。通過(guò)大量的實(shí)驗(yàn)證明,并聯(lián)轉(zhuǎn)臺(tái)在半徑5 m的范圍內(nèi),實(shí)時(shí)控制工作穩(wěn)定、性能可靠。
[1]黃 真,孔令富,方躍華.并聯(lián)機(jī)器人機(jī)構(gòu)學(xué)理論及控制[M].北京:機(jī)械工業(yè)出版社,1997.
[2]王 洋,倪雁冰,黃 田,等.球面并聯(lián)機(jī)構(gòu)實(shí)時(shí)控制系統(tǒng)的開(kāi)發(fā)[J].制造業(yè)自動(dòng)化,2001,23(4):16-19.
[3]姜復(fù)興,龐志成.慣導(dǎo)測(cè)試設(shè)備原理與設(shè)計(jì)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1998.