李喜龍
(西安文理學院 機械與材料工程學院,西安 710065)
機器人機械臂在工作時的運動軌跡過多,為了減少損耗,使機器人機械臂壽命延長,并且減少運動時間,提高工作效率,研究基于雙目視覺的機器人機械臂運動軌跡自動化檢測。
目前國內對于此方面的研究有很多,如文獻[1]研究通過和聲搜索對遺傳算法種群完成初始化,通過遺傳算法種群進化過程中的離散度來確定交叉和變異的順序,使用自適應與非線性方法使和聲遺傳算法有更好的速度與搜索能力,從而達到機械臂運動軌跡的最優檢測,此方法雖然安全的完成機械臂最優運動軌跡檢測,但其速度過慢,導致工作效率太低;文獻[2]研究使用Q-learning 算法對機械臂的動作集合進行構建,通過空間移動中最小距離原則,計算出偏差最低的機械臂運動軌跡,實現機械臂運動軌跡規劃,此方法雖然實現了機械臂運動軌跡規劃檢測,但其安全性較低,容易出現檢測錯誤,使機械臂發生碰撞;文獻[3]研究通過使用五次多項式插值對機械臂軌跡模型進行構建,利用自適應變換蝙蝠算法實現以時間為目標的最優機械臂運動軌跡檢測,但此方法檢測軌跡時考慮的目標過于單一,導致可能錯過更好的機械臂運動軌跡。
雙目視覺多用于機械臂或機器人工作中對物體進行識別與定位[4]。為此本文研究基于雙目視覺的機器人機械臂運動軌跡自動化檢測,獲取最佳機械臂運動軌跡,使其在工作中發揮最大作用。
本文通過顏色、屬性來對機器人機械臂的抓取目標進行識別。通過平行光軸理論建立立體視覺模型,使用該模型對機器人機械臂的抓取目標的顏色信息進行提取,對提取后的結果使用HSV 閾值分割,從而獲取機器人機械臂的抓取目標的三維坐標。
1.1.1 基于平行光軸的立體視覺模型
本文的立體視覺模型是使用2 個互相平行的攝像頭組成立體攝像機[5]。通過該模型對同一場景的機器人機械臂抓取目標圖像進行捕獲,模型圖如圖1 所示。

圖1 立體視覺模型圖Fig.1 Stereo vision model
圖1 中,左右攝像機的焦距表達為b;極限距離表達為f;世界坐標系中目標的坐標值表達為P(xp);左攝像頭的成像平面為l1,同理右攝像頭的成像平面表達為l2。其中左右攝像頭的光軸垂直與圖像平面,且左右2 個光軸相互平行。
因為△POF2與△Pl1l2相似,所以可得世界坐標系中機器人機械臂抓取目標的坐標值,表達為
1.1.2 基于HSV 模型的抓取目標三維坐標獲取
在機器人機械臂抓取目標識別時,合適的顏色空間很重要[6],本文使用HSV 模型對雙目立體視覺模型所獲取的機器人機械臂抓取目標進行識別,從而獲取目標的三維坐標。對機器人機械臂抓取目標圖像的像素點進行轉換,使其變成HSV 值,目標物體的HSV 閾值信心使用離線學習進行記錄,通過提取閾值信息獲得目標區域,利用左右攝像頭獲取圖像的位置偏差來計算機器人機械臂抓取目標物體的三維坐標。
在機械臂的工作路徑被路徑點約束時,利用NURBS曲線對機械臂關節進行曲線插值[7]。NURBS 曲線表達式為
式中:Ni,k(u)為曲線基函數,k 為次數的表達,通常是3 次或5 次,本文是使用5 次,權因子與參變量分別表達為ω 與u;插值所需的個數表達為n;di為曲線反求的控制頂點,n 與di的數目相同,樣條曲線的節點U 表達為
令u0=u1=…=uk=0,un+1=…=un+k+1=1,其中包含n-k 個節點向量,因為不同的向量確定方法會使曲線的控制效果產生波動,導致曲線形狀不同,所以本文使用累積弦長參數化方法對機械臂節點向量進行確定[8]。選擇DeBoor-Cox 遞推式:
當ωi為1 時,曲線是B 樣條曲線。通過笛卡爾空間路徑規劃對機械臂工作路徑進行空間映射[9],使空間坐標變成平面坐標,表達式為
通過式(5),使三維空間點映射成二維平面,使機械臂與抓取目標物體可以使用坐標形式進行表達,將機械臂與抓取目標物體的坐標代入到NURBS曲線函數中,其表現形式為
通過對曲線進行求導,得到曲線的速度與加速度等,從而對NURBS 曲線的高階平滑性進行驗證。
U 為已知節點矢量,若是想讓NURBS 曲線在反算控制點的同時順利的通過型值點,則:
式中:控制頂點與時間節點分別表達為di與uk;曲線要經過的極值點表達為Qk。根據控制頂點的計算規則可以發現,求解方程數與控制點要相同,由于目前的方程式只有n-1 個,所以需在方程式中引入約束方程:
式(8)是約束曲線的最后一個型值點與第一的控制點相等的表達,且將0 設為初速度與加速度。
通過5 次NURBS 曲線差值獲取各機械臂關節的運動曲線,實現機器人機械臂運動軌跡自動化檢測。
用于衡量機械臂工作效率的工作時間T、用于衡量機械臂能耗的關節的加速度f2′與用于衡量機械臂平滑程度的關節的平均躍度f3′三個性能指標均最小,建立機器人機械臂軌跡優化目標函數:
式中:am為機械臂關節加速度的表達;jm為機械臂躍度的表達。
以機械臂工作時間、機械臂關節平均躍度與機械臂關節加速度為目標,運動學約束為機械臂各關節工作運動時的約束條件,通過遺傳算法求出機械臂運動軌跡優化的最優解[10]。本文遺傳算法的步驟大致為以下幾個步驟:
(2)根據公式(12)對n+2 個機械臂關節控制點進行計算:
(4)為了得到B 樣條函數,對基因碼中與染色體相應的時間控制點進行計算。
(5)對染色體相應的角速度與加速度等的變化量和機械臂關節力矩的約束范圍進行判斷。
(6)按大小規律對個體的適應度值進行排序,個體的性能由適應度值的大小來決定,性能好的個體其適應度值更大。
(7)選擇一個最好的適應度值作為父代個體。
(8)通過自適應遺傳算法來對子個體進行選擇。設置閾值為種群的平均適應度值favg,從種群中將適應度值大于閾值的個體篩選出來作為子個體。
(9)進行交叉與變異操作。
(10)對下一代新種群進行組建。
(11)先對子個體的最大適應度值進行計算,其次對父代種群個體與子個體兩者的適應度值大小進行判斷,在父代種群的個體中選擇一個比子代種群的最大適應值大的個體,用其替換子種群中染色體差的個體。
(12)如果結束條件得到滿足,則迭代停止,輸出機械臂運動軌跡優化的最優解;反之,回到步驟(4)迭代繼續,直到結果收斂到最優。
具體過程如圖2 所示。從圖2 可知通過遺傳算法獲取滿足約束條件的工作時間最短、平均躍度最小、關節的加速度最低的機械臂運動軌跡優化結果。
以某機械臂為實驗對象,機械臂總高35 cm,可活動范圍為以自身為中心的50 cm,擁有多個關節與一個機械手用來抓取物料,使用本文方法對機械臂抓取一個物料的運動軌跡進行自動化最優檢測,具體效果如圖3 所示。根據圖3 可以看出,本文方法成功對機械臂抓取物料的運動軌跡進行最優規劃,從而實現機械臂的物料精準抓取,證明了本文方法的有效性。

圖3 機械臂運動軌跡規劃效果圖Fig.3 Effect diagram of motion trajectory planning of mechanical arm
一般情況下B 樣線條都是基于3 次或5 次,實驗分析基于3 次的B 樣線條與基于5 次的B 樣線條對于NURBS 曲線的影響,具體如圖4 所示。根據圖4 可以看出機械臂關節3 次NURBS 插值曲線的位移曲線較為平滑,但其余曲線的突變明顯,機械臂關節5 次NURBS 插值的所有曲線都比機械臂關節3 次NURBS 插值的曲線平滑,說明5 次NURBS插值既對軌跡的精度進行了很好的保證,又使加速度與加加速度的平滑性與連續性更好,使機械臂在平穩抓取物料的同時,振動減少,如此一來可以使機械臂的使用壽命大大延長。

圖4 機械臂關節NURBS 插值曲線對比Fig.4 Comparison of NURBS interpolation curves of robotic arm joints
實驗分析使用本文方法進行機器人機械臂運動軌跡優化前后,械臂運動軌跡結果,具體效果如圖5 所示。并統計機械臂運動軌跡優化前后的性能指標,結果如表1 所示。結合圖5 和表1 可以看出,相較于優化前,使用本文方法進行機器人機械臂運動軌跡優化后,獲取的機器人機械臂運動軌跡更佳,時間、加速度、平均躍度均有所降低,表明運動軌跡優化后,機械臂運動效率提升,機械臂關節能耗降低、關節運動平滑性提升。實驗結果說明了本文方法的應用可提升對機械臂運動軌跡的規劃效果。

表1 優化前后性能指標對比Tab.1 Comparison of performance indicators before and after optimization

圖5 機械臂運動軌跡檢測最優結果Fig.5 Optimal results of robotic arm motion trajectory detection
實驗分析本文方法對目標物體定位的準確性。設置不同的5 組物料,每組2 個物料,通過本文方法對其定位,為了對目標的準確性進行驗證,使用多目標物測距方法對實驗結果進行驗證,具體數據如表2 所示。通過表2 可以看出,本文方法利用雙目視覺進行目標物體定位的誤差在0.37%~1.3%之中,誤差很小,可以此為依據進行機器人機械臂運動軌跡規劃。

表2 多組物料多目標物測距結果Tab.2 Results of multi-group material and multi-object ranging
本文使用雙目視覺對目標圖像進行獲取,使用目標圖像更加準確清晰,可以使HSV 模型所獲得的目標物體三維坐標更加精準,從而使機械臂運動軌跡檢測的最終結果更加精確,減少出錯率。實驗驗證了本文方法的有效性與準確性,可有效規劃機械臂運動軌跡,助力其更好地完成工作。