田習文,祁宇明
(天津職業技術師范大學機械工程學院,天津30222)
近些年,機器人視覺被應用在眾多領域。并聯機器人作為極具發展潛力的一種類型,相比串聯結構,在運作中兼具精度高、速度快、動態響應好、承載能力強、結構緊湊等優點,并聯結構的博弈機器人就是在這個背景下衍生的。21世紀以來,Delta系列機器人更呈現出高速、高精度、靈活性等發展方向,人工智能阿爾法狗的成功,把機器人博弈又推向了一個新高度,使得視覺識別更加精確,分析更加快捷成為產品具有競爭性的重要指標,因此,深入探索并聯機器人的視覺和算法從而實現其視覺聯動控制顯得尤為重要。將視覺系統應用于并聯機器人,并加以優化,進而實現并聯機器人的視覺聯動是研究熱點。見圖1.

圖1 Delta并聯型人機對弈機器人的體系結構
Delta并聯型人機博弈機器人通過真實的人機對弈,使青少年、老年等科普對象不僅享受博弈的樂趣,也能了解機器人組成,掌握基本的計算編程能力。它分為視覺識別子系統、棋盤執行機構子系統和博弈算法子系統,本文就是對該視覺系統和算法進行探索優化,實現視覺聯動控制。
棋盤執行機構子系統由棋盤主體機構、三自由度并聯機械手、棋子棋盤三部分組成,實現自動取子、下子、提子等功能。研究在現有自動控制理論和技術基礎上,實現體積小、成本低、精度高的棋盤執行機構,實現對棋子運動的精確控制。
機械手主要由靜平臺、動平臺和連接兩平臺的三條支鏈組成,其中伺服電動機與減速器安裝于靜平臺上,每條支鏈由主動臂和從動臂組成,依據運動學對三自由度的并聯機械手的機構進行分析及設計。見圖2.

圖2 并聯機械手機構簡圖
利用solidworks軟件建立Delta機器人各零件的三維模型,然后進行裝配得到完整的Delta機器人的三維裝配體模型,如圖3所示。Delta機器人主要由靜平臺、動平臺、主動臂及從動臂構成,其中,靜平臺和每個主動臂通過轉動副聯接,主動臂和從動臂、從動臂和動平臺都通過球鉸聯接。該機構由三條運動支鏈組成,并均勻分布于靜平臺上,每條運動支鏈都有一個主動臂和一個閉環組成,此閉環是由從動臂和四個球鉸組成的平行四邊形封閉結構,此結構通過球鉸分別與主動臂和動平臺聯接。三組均勻分布的平行四邊形閉環結構保證了靜平臺和動平臺只能保持相對平行運動,消除了動平臺的三個轉動自由度,保留了動平臺三個方向的平行自由度。

圖3 Delta機器人并聯機構的三維模型
機器人視覺并非真的視覺,是通過在機器人上安裝視覺傳感器,捕捉獲取目標的位置信息,經過特征提取匹配等得到相對位姿量,計算機利用該信息,使機器人完成相應操作。這種特點,使得機器人能靈活自主地適應所處的環境,代替人類完成一些危險或復雜的工作。在三維視覺系統中,采用數字信號處理器可以提高視覺信息的實時處理速度,因而信息采集子系統與數據信號處理器之間的傳輸方式對傳輸處理速度起到關鍵作用,而數據實時采集系統和計算機之間的數據傳輸方式同樣也是影響實時系統速度的重要因素。因此,選取適當的采集系統和數據傳輸方式,可以實現視覺實時系統的優化。
數字信號處理器(DPS)是高速運算處理器的一種,它的高數據傳輸速度和處理速度,以及在高速運算實時處理系統中合理的傳輸分配適用于實時處理速度的優化。采用TMS320C542的程序存儲器和數據存儲器分開尋址改進的哈佛結構如圖4,類似于樹枝分叉結構:三條獨立的數據線相較于樹枝和一條相較于樹干的程序總線,所有指令可同時進行,提高數據處理速度,實現數據的實時處理[1]。

圖4 實時采集處理系統原理圖
DPS本身具有高速運算能力,因而改善數據傳輸方式,可以對整個實時采集方案實現優化。考慮用數據塊的方式與計算機之間進行數據傳輸,提高使用效率。采用電路較為便捷的雙端口RAM來實現實時采集處理系統與計算機之間的數據傳輸,可以使計算機的CPU和DSP很容易實現同時訪問雙端口RAM,傳輸數據量和速度可同時獲得優化。
圖 2中的 A(15-0)、D(15-0)、R/W、IOSTRB、XF和INT(0-3)均是實時采集處理系統的內部總線信號[2]。圖5信號采集子系統與C542之間的內部總線連接。

圖5 信號采集子系統與C542之間的內部總線連接
在機器人控制中,電機控制算法的種類很多,通常是給定一個指令速度值,通過輸入的算法運算后,提供相應的電壓信號來驅動電機,使其平穩快速地達到指令轉速值,并維持這個值。換言之,電機一旦達到了這個轉速值,不論在何種不利因素的環境下,都應能保持這個值不變,因此,選擇合適的算法對提高機器人系統的控制精度十分必要。
控制算法是機器人閉環控制策略的核心,然而,并非越復雜、精度越高的算法就越好,因為實際工作中,應有良好的實時性,根據當前的具體情況,機器人需要在非常短的時間內做出靈敏的反應,因而,將多個因素拆解成若干單個目標,分別對每個單項目進行算法的優化,提高精準度和靈敏度。優化算法的類別很多,關鍵是針對不同的優化問題,例如可行解變量的取值(連續還是離散)、目標函數和約束條件的復雜程度(線性還是非線性)等,應用不同的算法。綜合考慮,選擇粒子群優化算法。
這種算法受啟發于對鳥類捕食行為的一種研究[3],借此,將機器人重復同一動作流程獲取的多個視覺信號,利用算法函數,尋找目標函數的最優值,通過求解,得到最優解,從而實現對整體反饋速度的優化。
系統若找到兩個最優解,代入如下公式,即可得到新的速度值和位置解。
v[]=w*v[]+c1*rand()*(pbest[]-present[])+c2*rand()*(gbest[]-present[])(a)
present[]=present[]+v[](b)
式中,v[]是粒子的速度,w是慣性權重,present[]是當前粒子的位置.pbest[]and gbest[]如前定義rand()是介于(0,1)之間的隨機數.c1,c2 是學習因子.通常 c1=c2=2.
程序的偽代碼如下
For each particle
____Initialize particle
END
Do
____For each particle
________Calculate fitness value
________If the fitness value is better than the best fitness value(pBest)in history
____________set current value as the new pBest
____End
____Choose the particle with the best fitness value of all the particles as the gBest
____For each particle
________Calculate particle velocity according equation(a)
________Update particle position according equation(b)
____End
While maximum iterations or minimum error criteria is not attained
以Delta機器人為例,基于MATLAB和ADAMS對其視覺信息的采集及算法進行視覺聯動控制的仿真。主要是執行識別物體,抓取和存放的操作任務。設計運動路徑,如圖6所示。

圖6 Delta機器人仿真運動路徑
路徑中不但要求運動精度穩定高效,還要求抓取和釋放位置精確。Delta機器人的末端執行器是運動分為:上升,下降,平移三段。設計任務是在一個100 mm×300 mm×100 mm的空間內執行抓取5 kg的物體,抓取過程中限制主動臂最大角速度amax=190 rad/s2.將A0、A3點分別作為抓取點和放取點,做完路徑規劃,在ADAMS中測取四個點的坐標分別為A0(0,-820,0)、A1(0,-720,0)、A2(300,-720,0)、A3(300,-820,0)。利用 MATLAB 軟件的求解程序,求出四個點對應的主動臂驅動角度。如表1所列。

表1 各路徑點對應的主動臂驅動角度
在仿真時分別賦予主動臂和靜平臺的三個轉動副旋轉驅動,導入、仿真后如圖7~圖9所示。

圖7 主動臂的角速度、角加速度隨時間變化曲線

圖8 末端執行器速度、加速度隨時間變化曲線

圖9 末端執行器的位置隨時間變化曲線
從圖6可以看出,末端執行器并未嚴格按直線上升、平移、下降,在視覺識別及拐角處平滑過渡,機器人可平穩運行,完成停止、抓取的活動,同時完美避障。在X方向的最大偏差僅為5.6 mm,相對誤差為1.9%;Y方向的最大偏差僅為10.6 mm,相對誤差為10.6%;Z方向的最大偏差僅2.7 mm.
綜上分析得出:
(1)并聯機器人視覺系統和電機算法是實現聯動控制的兩個關鍵環節。
(2)采用改進的哈佛結構尋址模式提高實時采集處理系統的處理速度,選擇雙端口RAM數據傳輸方式,可以對整個視覺系統起到優化作用。
(3)粒子群優化算法,能有效地對單個目標函數求最優解,實現單項目算法的優化。