張相勝 黃 將
(江南大學(xué)輕工過(guò)程先進(jìn)控制教育部重點(diǎn)實(shí)驗(yàn)室 無(wú)錫 214122)
機(jī)器人的種類(lèi)較多,移動(dòng)機(jī)器人作為應(yīng)用廣泛的一類(lèi)智能機(jī)器人[1],可代替人們從事技術(shù)含量低的遠(yuǎn)程工作,如倉(cāng)儲(chǔ)物流的搬運(yùn)、救災(zāi)、偵查地形等[2]。移動(dòng)機(jī)器人按照其自身的輪式結(jié)構(gòu)可分為兩類(lèi):一類(lèi)是非完整約束;另一類(lèi)是完整約束[3]。前者僅適合于空間較大,轉(zhuǎn)向靈活性不高的場(chǎng)合[4]。后者,優(yōu)勢(shì)在于做平面運(yùn)動(dòng)過(guò)程中不需要改變自身位姿,僅依靠自身的全向移動(dòng)機(jī)構(gòu)即可實(shí)現(xiàn)任意方向的平面運(yùn)動(dòng),適合在狹窄的空間、行走精度要求較高的工作場(chǎng)合[5]。
隨著近年來(lái)制造業(yè)技術(shù)和計(jì)算機(jī)技術(shù)的快速發(fā)展,學(xué)術(shù)界發(fā)表了許多智能控制算法的研究成果,并被應(yīng)用在移動(dòng)機(jī)器人身上。全向移動(dòng)機(jī)器人憑借自身特有的運(yùn)動(dòng)特性,如機(jī)械結(jié)構(gòu)、力學(xué)模型及智能控制等方面?zhèn)涫車(chē)?guó)內(nèi)外學(xué)者們的關(guān)注[6],通過(guò)構(gòu)建的控制系統(tǒng),可以實(shí)現(xiàn)自主導(dǎo)航進(jìn)行高效準(zhǔn)確的搬運(yùn)、牽引、監(jiān)控等遠(yuǎn)程任務(wù)[7~8]。全向輪作為搬運(yùn)機(jī)器人的行走機(jī)構(gòu),具有靈活性與高效性。機(jī)器人的機(jī)械結(jié)構(gòu)和控制系統(tǒng)是相輔相成的[9],這兩項(xiàng)工作共同決定了機(jī)器人設(shè)計(jì)的成敗,尤其在機(jī)械結(jié)構(gòu)能滿足基本功能的前提下,使機(jī)器人實(shí)現(xiàn)智能化,提高生產(chǎn)自動(dòng)化是設(shè)計(jì)控制系統(tǒng)的首要目標(biāo)。
機(jī)器人的工作環(huán)境:1)行走路線主要是直線或弧線形式,某些路段曲率半徑較小,路線的最小寬度為1m,一般情況下地面上沒(méi)有障礙物或者其他大塊物品;2)在行走路線的上空0.85m 有橫架障礙物,階梯高度為0.2m;3)貨臺(tái)位于路線一側(cè),高度為1.5m,貨箱置于貨臺(tái)邊緣距離均為0.2m 的固定位置;4)貨箱的外形尺寸為0.2m×0.2m×0.2m,內(nèi)有數(shù)個(gè)球形毛坯件,總質(zhì)量為3kg。
根據(jù)上述基本的設(shè)計(jì)要求和指標(biāo),將整個(gè)機(jī)器人分成三個(gè)模塊進(jìn)行設(shè)計(jì)按照指標(biāo)要求進(jìn)行詳細(xì)設(shè)計(jì),整體方案圖如下所示。
圖1 全向移動(dòng)搬運(yùn)機(jī)器人整體方案圖
首先是實(shí)現(xiàn)全向移動(dòng)的底盤(pán)結(jié)構(gòu)模塊,該部分的功能主要包括具有支撐中上層結(jié)構(gòu)的作用和全向行走的能力。綜合考慮,選擇麥克納姆輪[10]作為機(jī)器人的驅(qū)動(dòng)輪可滿足設(shè)計(jì)要求,設(shè)計(jì)結(jié)構(gòu)圖如圖2。
圖2 輪組結(jié)構(gòu)圖
其次是中間層結(jié)構(gòu)模塊的設(shè)計(jì),由于機(jī)器人的整體結(jié)構(gòu)尺寸受到行走道路的限制,而貨箱處于較高位置的貨臺(tái)上,因此機(jī)器人本身必須具有升降功能,以適應(yīng)處于不同高度的貨箱。同時(shí),爬梯模塊可滿足不同高度的階梯,設(shè)計(jì)結(jié)構(gòu)圖分別如圖3。
圖3 中間層機(jī)構(gòu)圖
最后是頂層結(jié)構(gòu)模塊的設(shè)計(jì),其中包括橫向移動(dòng)、縱向伸縮、夾取、平托及傾倒動(dòng)作。此外,考慮到要將貨箱平穩(wěn)的搬運(yùn)并實(shí)現(xiàn)傾倒工件,引入改進(jìn)的惠斯頓機(jī)構(gòu)[11]以實(shí)現(xiàn)平托貨箱,改進(jìn)方法是將固定輪與渦輪同軸固定,并通過(guò)蝸桿實(shí)現(xiàn)自鎖且能轉(zhuǎn)動(dòng),設(shè)計(jì)結(jié)構(gòu)如圖4所示。
圖4 夾具結(jié)構(gòu)方案剖視圖
根據(jù)搬運(yùn)機(jī)器人的指標(biāo)要求,采用由微處理器、外圍硬件設(shè)備以及軟件操作系統(tǒng)組成的的嵌入式控制系統(tǒng)更適合移動(dòng)機(jī)器人的總體需求。其控制系統(tǒng)框架圖如圖5所示。
圖5 全向移動(dòng)搬運(yùn)機(jī)器人控制系統(tǒng)框架圖
圖5中,執(zhí)行層由電源模塊、傳感器、驅(qū)動(dòng)器以及STM32F427 開(kāi)發(fā)板組成,通信方式通過(guò)串口接收指令;控制層則由工控機(jī)、視覺(jué)傳感器、無(wú)線通訊等模塊組成,通信方式是通過(guò)無(wú)線模塊接收上位機(jī)指令;監(jiān)控層由PC 機(jī)監(jiān)控系統(tǒng)和無(wú)線通訊模塊組成,通信方式是通過(guò)無(wú)線模塊下發(fā)控制指令。
綜合考慮機(jī)器人系統(tǒng)的各個(gè)動(dòng)力元件,電機(jī)均為M3508和M2006型號(hào)的無(wú)刷直流電機(jī),氣缸均為單作用氣缸,舵機(jī)的旋轉(zhuǎn)行程為180°。電機(jī)驅(qū)動(dòng)采用C610 和C620 調(diào)速器;氣缸驅(qū)動(dòng)采用24V 的四位三通電磁閥,并搭載兩個(gè)5L 容量的氣泵;其中,電源模塊選用兩塊電調(diào)中心板作為電機(jī)的調(diào)速器。最終搭建的硬件電路框圖如圖6所示。
圖6 控制系統(tǒng)硬件結(jié)構(gòu)圖
根據(jù)全向移動(dòng)搬運(yùn)機(jī)器人的硬件系統(tǒng)結(jié)構(gòu)設(shè)計(jì),系統(tǒng)的軟件設(shè)計(jì)主要分成三層:監(jiān)控層、控制層和執(zhí)行層,其控制系統(tǒng)軟件框架設(shè)計(jì)圖如圖7 所示。
圖7 控制系統(tǒng)軟件框架設(shè)計(jì)圖
圖7 中,監(jiān)控層軟件主要是采用QT 開(kāi)發(fā)的上位機(jī)界面,控制層與監(jiān)控層的無(wú)線通信是通過(guò)TCP/IP 協(xié)議中的Socket套接字來(lái)傳輸指令;控制層軟件主要是植入工控機(jī)的算法程序,包含有系統(tǒng)主程序、視覺(jué)定位程序及軌跡規(guī)劃與跟蹤算法程序等;執(zhí)行層軟件則是由STM32平臺(tái)所開(kāi)發(fā)的運(yùn)動(dòng)程序,包含底盤(pán)控制程序、搬運(yùn)控制程序等。
在完成整個(gè)控制系統(tǒng)的軟件方案框架設(shè)計(jì)后,基于Linux 系統(tǒng)平臺(tái)開(kāi)發(fā)系統(tǒng)的主程序如圖8 所示。
圖8 控制系統(tǒng)主程序框圖
運(yùn)動(dòng)控制程序的設(shè)計(jì)主要是底盤(pán)控制任務(wù)和夾具定位及搬運(yùn)控制任務(wù)。其中,底盤(pán)控制人是實(shí)現(xiàn)機(jī)器人按控制指令進(jìn)行全方位移動(dòng),功能分為兩種模式:一種是人工控制模式,一種是自動(dòng)軌跡跟蹤模式,基于開(kāi)源的ST 標(biāo)準(zhǔn)HAL 庫(kù)所設(shè)計(jì)的底盤(pán)控制軟件流程圖如圖9所示。
圖9 底盤(pán)控制程序流程圖
圖9 中底盤(pán)控制的對(duì)象是四個(gè)驅(qū)動(dòng)電機(jī),通過(guò)PID 算法控制底盤(pán)電機(jī)進(jìn)行速度閉環(huán)控制,使其達(dá)到期望轉(zhuǎn)速,再根據(jù)麥克納姆輪的運(yùn)動(dòng)學(xué)特性達(dá)到期望速度,實(shí)現(xiàn)全方位移動(dòng)。
其次,夾具控制任務(wù)模式也分為人工操作模式和自動(dòng)執(zhí)行任務(wù)模式,可在上位機(jī)控制界面中選擇所需模式進(jìn)行。程序流程圖如圖10所示。
圖10 夾具控制程序流程圖
因夾具開(kāi)合行程設(shè)計(jì)受到各種因素制約,為此需要借助視覺(jué)定位以順利完成任務(wù)?;跈C(jī)器視覺(jué)的定位技術(shù)主要由三部分組成:圖像獲取、圖像處理及分析和結(jié)果的輸出。采用圓形作為標(biāo)靶圖案較為方便,因此在貨箱側(cè)面中點(diǎn)貼一個(gè)外徑為50mm,內(nèi)徑為40mm 的環(huán)形標(biāo)記以便相機(jī)可快速識(shí)別特征,帶有標(biāo)靶圖案的貨箱平面圖如圖11 所示。
圖11 貨箱標(biāo)靶圖
雖圖11 中的靶圖案是圓形,標(biāo)靶圖案經(jīng)過(guò)鏡片透視投影之后,最初的標(biāo)準(zhǔn)圓會(huì)變成橢圓形。為此,采用最小二乘法[12~13]作為貨箱標(biāo)靶圖案的橢圓擬合,定位算法流程如圖12所示。
圖12 橢圓視覺(jué)定位算法流程圖
圖像通過(guò)高斯濾波、紅框過(guò)濾、灰度處理、二值化以及形態(tài)學(xué)操作等一系列預(yù)處理后,對(duì)于一階邊緣檢測(cè)通常采用Canny 邊緣檢測(cè)算子來(lái)處理,首先運(yùn)用如下卷積矩陣:
式中:GX為水平方向的掩碼模板內(nèi)核,GY為豎直方向的掩碼模板內(nèi)核。
計(jì)算圖像梯度的極值和相應(yīng)的方向角度為
在平面坐標(biāo)系中,橢圓方程的表達(dá)式為
式中:C為系數(shù)向量(A,B,C,D,E,F) ;Xi=(,xi,yi,y2
i,xi,yi,1)。
由于圖像是光柵形式的,所檢測(cè)到的點(diǎn)并不是恰好落在橢圓的邊界上,因此利用最小二乘法將橢圓擬合問(wèn)題轉(zhuǎn)化為求f(C,Xi)到點(diǎn)(xi,yi)之間的代數(shù)距離平方和,因此得到目標(biāo)函數(shù)為
根據(jù)極值定理,要求得f(A,B,C,D,E,F)最小值,只需滿足其一階偏導(dǎo)數(shù)為零,即:
至此,利用高斯消元法和約束條件A+C=1求解上式便得到圓心值。在進(jìn)行擬合過(guò)程中,夾具隨著控制指令做定位調(diào)整,直到圓心落在指定范圍便觸發(fā)伸出夾取動(dòng)作,擬合結(jié)果如圖13所示。
圖13 擬合結(jié)果圖
目前多電機(jī)的協(xié)同控制結(jié)構(gòu)主要有主從控制、交叉耦合控制、虛擬主軸控制、偏差耦合控制、虛擬電機(jī)偏差耦合控制等[14~15],經(jīng)仿真對(duì)比,基于虛擬電機(jī)的偏差耦合控制更適合作為底盤(pán)和絲杠電機(jī)的運(yùn)動(dòng)控制方法,其控制結(jié)構(gòu)圖如圖14所示。
圖14 基于虛擬電機(jī)的偏差耦合控制結(jié)構(gòu)圖
由圖14 可以看出,雖虛擬電機(jī)的補(bǔ)償器包含所有電機(jī)與自身的轉(zhuǎn)速差,但其余補(bǔ)償器卻較為簡(jiǎn)單,僅包含自身電機(jī)與虛擬電機(jī)的轉(zhuǎn)速誤差?;跈C(jī)器人底盤(pán)和絲杠在運(yùn)動(dòng)過(guò)程是兩電機(jī)和四電機(jī)同時(shí)動(dòng)作,搭建的耦合結(jié)構(gòu)給定參數(shù)如表1所示。
表1 偏差耦合控制結(jié)構(gòu)參數(shù)表
當(dāng)給定轉(zhuǎn)速為300r/min 的情況下,在0.2s~0.4s間分別給第二臺(tái)電機(jī)5N 的負(fù)載脈沖,到0.6s 時(shí)改變參考轉(zhuǎn)速。同時(shí),適當(dāng)增大虛擬電機(jī)的轉(zhuǎn)動(dòng)慣量后,各電機(jī)的協(xié)同控制仿真結(jié)果如圖15所示。
圖15 基于虛擬電機(jī)偏差耦合控制仿真圖
通過(guò)圖15 可以看出,在啟動(dòng)與轉(zhuǎn)速改變階段,系統(tǒng)均未出現(xiàn)明顯的誤差。在0.4s時(shí),第二臺(tái)電機(jī)受負(fù)載干擾后,雖然虛擬電機(jī)受影響稍大,但其余電機(jī)均受到速度補(bǔ)償器的作用而使轉(zhuǎn)速誤差較小,所以該控制結(jié)構(gòu)具有一定的魯棒性。
本文針對(duì)產(chǎn)線中球形工件的搬運(yùn)要求和設(shè)計(jì)指標(biāo),利用三維軟件對(duì)全向移動(dòng)搬運(yùn)機(jī)器人的原理樣機(jī)進(jìn)行了詳細(xì)的結(jié)構(gòu)設(shè)計(jì),包括底盤(pán)、中間層及頂層結(jié)構(gòu)的分層設(shè)計(jì)及功能介紹,并基于樣機(jī)結(jié)構(gòu)搭建了由監(jiān)控層、控制層和執(zhí)行層相互結(jié)合的控制系統(tǒng)。同時(shí),為了準(zhǔn)確地進(jìn)行夾具定位控制以及電機(jī)的精確控制,分別引入視覺(jué)技術(shù)來(lái)實(shí)現(xiàn)定位夾取,采用基于虛擬電機(jī)的偏差耦控制結(jié)構(gòu)進(jìn)行多電機(jī)協(xié)同控制,仿真結(jié)果表明控制方法效果較理想。