俎漢杰
(浙江工商大學,浙江 杭州 310018)
21世紀以來,世界各國的綜合國力競爭更明確地建立在高科技水平的基礎上[1]。在先進機械制造技術、現(xiàn)代控制技術以及信息技術的有力支撐下,機器人技術飛速發(fā)展,成為現(xiàn)代高科技領域中的重要組成部分[2]。世界上主要發(fā)達國家都大力發(fā)展機器人技術,以提高生產(chǎn)率和降低人工成本,從而在激烈的國際競爭中占據(jù)有利地位。隨著綜合國力不斷增長,我國的機器人技術也飛速發(fā)展,在機器人本體制造、機器人控制以及多機器人協(xié)調(diào)等方面都取得了豐富的研究成果[3]。以機械臂為主的工業(yè)機器人是工業(yè)生產(chǎn)線和復雜場景中作業(yè)的核心單元。而執(zhí)行、高效完成復雜任務依賴多個機械臂的協(xié)調(diào)和配合[4]。因此,單個機械臂本體的設計和多機械臂協(xié)調(diào)作業(yè)的研究對提高我國機器人技術水平具有非常重要的意義。
該文的核心研究目標是多個機械臂的協(xié)作作業(yè)。要完成該研究工作,就要依賴于單個機械臂本體的結(jié)構(gòu)設計、機械臂運動過程中的路徑規(guī)劃。因此,先給出單個機械臂的本體結(jié)構(gòu)設計,如圖1所示。
圖1 機械臂本體的結(jié)構(gòu)設計
由圖1 可知,機械臂的主體部分是1 個三臂長的結(jié)構(gòu)。在視圖方向上,處在垂直方向上的機械臂構(gòu)成單元是第一段臂長,其長度為300 mm,寬度為60 mm;第二段臂長與第一段臂長通過第一關節(jié)O1相連,第二段臂長的長度為200 mm;第三段臂長與第二段臂長通過第二關節(jié)O2相連,第三段臂長的長度為150 mm;第一段臂長的下方配置1 個底座,底座可以直接放在運動小車上,從而使機械臂整體具有移動能力,如果不需要機械臂整體具有移動能力,就將底座放置平穩(wěn),使其具有靜態(tài)穩(wěn)定性,便于各段機械臂作業(yè);第三段機械臂的末端可以連接作業(yè)裝置,例如焊槍、機械手等,從而使機械臂具有最終的作業(yè)處理能力(要根據(jù)執(zhí)行任務的目標來決定配置相應的作業(yè)裝置)。
考慮機械臂在復雜場景中作業(yè),必須具有整體的移動能力。因此,該文考慮機械臂底座安放在運動小車上的情況。為了確保機械臂運動的安全性和平穩(wěn)性,需要對配置了運動小車的機械臂整體進行路徑規(guī)劃(基于人工勢場法的機器人路徑規(guī)劃)。
在移動機器人的行進過程中,始終要向任務目標前進,即便因路徑可行性問題可能出現(xiàn)短時間的偏離或遠離,但是總體上是不斷向目標位置靠近的,相當于被目標位置吸引。在移動機器人的行進過程中,會遇到界限、阻擋以及動態(tài)障礙物等。出于機器人自身安全起見,必須躲避、遠離或者繞開這些界限、阻擋和障礙物。因此,這些界限、阻擋以及障礙物相當于不斷地給移動機器人提供排斥力。移動機器人運動的過程就是在引力和排斥力的綜合作用下,不斷調(diào)整和優(yōu)化路線的過程,以確保這個路線是最短、最佳或最合理的。
基于人工勢場法的路徑規(guī)劃就是根據(jù)引力和斥力的產(chǎn)生原理,由規(guī)劃者人為地給目標、障礙分別施加引力范圍和斥力范圍。當然,在算法執(zhí)行的過程中,引力范圍和斥力范圍是由程序施加的。引力作用一般是終點位置提供給機器人的,通過程序設定也可以在場景中設置必須經(jīng)過的點,這些點也為機器人提供引力作用。斥力作用就比較明顯,機器人不能行走通過的區(qū)域、必須躲避的障礙物都對機器人具有斥力作用。人工勢場法通過明確這些作用效果,在整個場景中形成明確的引力范圍和斥力范圍,再結(jié)合可以行進的路徑信息就可以進行路徑規(guī)劃了。
與目標位置的引力作用效果相比,障礙物等形成的斥力作用效果對機器人的運行安全性具有更大的影響。因此,在人工勢場法的執(zhí)行過程中,針對每個可能產(chǎn)生斥力作用效果的點位都要外加一個最小安全距離。當機器人距離障礙物接近這個最小安全距離時,算法就會報警,提示機器人躲避或者繞行。
從斥力的形成過程也可以明顯看出,斥力的作用效果與機器人到障礙物之間的距離是成反比的。這個距離越近,障礙物對機器人提供的排斥作用就越明顯。這個距離越遠,障礙物對機器人提供的排斥作用就削弱。根據(jù)上述對斥力、斥力形成過程以及斥力作用效果的分析構(gòu)建斥力函數(shù),如公式(1)所示。
式中:Wr為障礙物形成的斥力場所具有的勢能;η為障礙物形成的斥力場的特征正常數(shù);σ為移動機器人到斥力源之間的實際距離;σ0為斥力源形成的斥力范圍的距離。
由公式(1)可知,斥力源對移動機器人形成的斥力作用不會一直存在,當二者之間的距離超過了斥力源的作用范圍時,移動機器人受到斥力源的斥力作用效果就是0。如果二者之間的距離恰好介于斥力源的作用范圍內(nèi),就需要根據(jù)公式(1)中的第一個算式計算移動機器人受到的實際斥力。在這個過程中,當移動機器人和斥力源的距離接近0 時,移動機器人受到斥力源的作用效果將達到最大。
構(gòu)建人工勢場法的基礎包括斥力源的斥力作用以及目標位置、必經(jīng)點所提供的引力作用。從算法的角度來看,為了確保移動機器人不偏離正確的行駛位置,移動機器人距離引力源的距離越遠,引力源所提供的引力就越大。根據(jù)上述對引力、引力形成過程以及引力作用效果的分析構(gòu)建引力函數(shù),如公式(2)所示。
式中:Wa為目標位置、必經(jīng)點對移動機器人所形成的引力場的勢能;Ka為引力源形成的斥力場的特征正常數(shù);X為移動機器人在整個場景中所在的實際位置;Xg為移動機器人需要到達的目標位置;σ(X,Xg)為移動機器人的當前實際位置和目標位置或必經(jīng)點之間的距離,σ(X,Xg=|X-Xg);Fa為移動機器人受到的實際的吸引力,F(xiàn)a=Ka×σ(X,Xg)。
引力源給移動機器人提供的引力作用效果的方向始終是指向目標位置的。當機器人距離目標位置較遠時,引力的作用效果就比較大。隨著機器人越來越靠近目標位置,這個引力的作用效果就不斷變小。當機器人到達目標位置時,這個引力作用效果降至0。
通過復雜場景下多機械臂在移動中完成協(xié)作作業(yè)的試驗來驗證該文研究工作的有效性。
為了完成移動機器人作業(yè)的可視化研究,選擇C++程序設計語言結(jié)合OpenGL 的融合開發(fā)技術。OpenGL 是行業(yè)領域中最廣泛接納的2D/3D 圖形API。OpenGL ?是獨立于視窗操作系統(tǒng)或其他操作系統(tǒng)的,也是網(wǎng)絡透明的。在CAD、內(nèi)容創(chuàng)作、能源、娛樂、游戲開發(fā)、制造業(yè)、制藥業(yè)以及虛擬現(xiàn)實等行業(yè)領域中,OpenGL ?幫助程序員在PC、工作站以及超級計算機等硬件設備上開發(fā)高性能、極具沖擊力的高視覺表現(xiàn)力圖形處理軟件。
在OpenGL 的基礎上還有OpenInventor、Cosmo3D 以及Optimizer 等多種高級圖形庫。其中,OpenInventor 應用最廣泛,該軟件是基于OpenGL 面向?qū)ο蟮墓ぞ甙峁﹦?chuàng)建交互式3D 圖形應用程序的對象和方法,提供了預定義的對象和用于交互的事件處理模塊,創(chuàng)建和編輯3D 場景的高級應用程序單元,具備打印對象和用其他圖形格式交換數(shù)據(jù)的能力。
復雜場景下多器人協(xié)作完成物料搬運的仿真結(jié)果如圖2所示。由圖2 可知,場景中存在復雜的障礙信息(用多個圓錐表示)。場景中同時存在3 個機械臂,被抓取和搬運的物料是1 根長度較長的圓柱形物料。如果1 個機械臂搬運,就無法保持平衡。根據(jù)作業(yè)任務的難度,最后選擇2 個機械臂完成抓取任務。
圖2 仿真試驗場景一
在抓取物料后,2 個相互配合的機械臂要通過路徑規(guī)劃離開復雜的場景,結(jié)果如圖3所示。
圖3 仿真試驗場景二
對比圖2 和圖3 可知,背景場景、障礙信息都沒有發(fā)生變化,2 個協(xié)作配合的機械臂在底座下配置運動小輪并基于人工勢場法的路徑規(guī)劃成功地躲避障礙,而長圓柱形物料也一直平穩(wěn)地把持在2 個機械臂的手爪中。
通過這組仿真試驗充分證明了該文設計的機械臂本體結(jié)構(gòu)的合理性、路徑規(guī)劃方法的有效性、多機械臂完成協(xié)作作業(yè)和躲避障礙行進的技術可行性。
機器人技術是代表時代發(fā)展方向的關鍵科學技術,是衡量機械制造業(yè)、控制技術發(fā)展水平以及國家綜合科技實力的重要標尺。該文設計了1 個三分段機械臂的本體結(jié)構(gòu),并基于人工勢場法分別構(gòu)建了斥力函數(shù)和引力函數(shù),為機器人作業(yè)過程中的路徑規(guī)劃奠定了基礎。在仿真試驗的過程中,以復雜場景為作業(yè)背景,以3 個可移動的機械臂協(xié)作作業(yè)為試驗對象。試驗結(jié)果表明,該文設計的機械臂結(jié)構(gòu)合理,多機械臂協(xié)作作業(yè)較好地完成了復雜場景下的物料抓取和搬運任務。