王 欣, 劉 雪 蓮, 姜 鑫, 于 效 民
( 1.大連理工大學(xué) 機(jī)械工程學(xué)院,遼寧 大連 116024;2.大連華銳重工集團(tuán)股份有限公司, 遼寧 大連 116013 )
隨著碼頭建設(shè)大型化、專業(yè)化的發(fā)展,以及科學(xué)技術(shù)的不斷進(jìn)步,港口裝備設(shè)計(jì)制造水平不斷提高,卸船設(shè)備也在不斷更新?lián)Q代[1].鏈斗式連續(xù)卸船機(jī)(以下簡(jiǎn)稱連續(xù)卸船機(jī))憑借環(huán)保、節(jié)能、高效等特點(diǎn),將逐步取代抓斗卸船機(jī),成為未來(lái)卸船機(jī)的發(fā)展趨勢(shì).現(xiàn)階段,連續(xù)卸船機(jī)的操作方式是司機(jī)在司機(jī)室內(nèi)手動(dòng)操作完成卸船過程,存在卸船效率低及安全性問題.連續(xù)卸船機(jī)自動(dòng)化和無(wú)人化取料是其未來(lái)的發(fā)展方向,本文對(duì)連續(xù)卸船機(jī)取料裝置進(jìn)行路徑規(guī)劃研究,保證取料裝置在不與船艙發(fā)生碰撞的前提下找到較短的安全路徑,為實(shí)現(xiàn)連續(xù)卸船機(jī)智能化取料提供理論基礎(chǔ),對(duì)提高卸船效率、降低卸船成本、縮短船舶停港時(shí)間具有重要意義.
傳統(tǒng)的路徑規(guī)劃算法需要對(duì)障礙物進(jìn)行建模和描述,不適用于高維的路徑規(guī)劃問題.與傳統(tǒng)的路徑規(guī)劃算法不同,基于采樣的路徑規(guī)劃算法是在工作空間內(nèi)進(jìn)行隨機(jī)采樣并對(duì)采樣點(diǎn)進(jìn)行碰撞檢測(cè),進(jìn)而獲得可行采樣點(diǎn),能夠避免空間建模,有效解決高維空間和復(fù)雜約束的路徑規(guī)劃問題[2].基于采樣的路徑規(guī)劃算法主要包括概率地圖(PRM)算法[3]、快速擴(kuò)展隨機(jī)樹(RRT)算法[4]等.PRM算法在解決三維空間路徑規(guī)劃問題時(shí)采樣點(diǎn)的數(shù)量過多,收斂速度慢;RRT算法由LaValle 于1998年正式提出,該算法具有概率完備性且收斂速度快,高維空間路徑規(guī)劃效率較高,能夠在有障礙物的環(huán)境下較快地找到一條可行路徑,因此,適用于連續(xù)卸船機(jī)取料裝置的路徑規(guī)劃研究.但RRT算法基于隨機(jī)采樣,所以規(guī)劃出的路徑具有隨機(jī)性,可能并不是最優(yōu)路徑,并且路徑質(zhì)量與采樣點(diǎn)以及隨機(jī)步長(zhǎng)等參數(shù)有關(guān).基于以上問題,學(xué)者基于傳統(tǒng)RRT算法提出了許多改進(jìn)的RRT算法,例如Bi-RRT算法(雙向快速擴(kuò)展隨機(jī)樹算法)[5],在傳統(tǒng)RRT算法的基礎(chǔ)上進(jìn)行雙向擴(kuò)展,同時(shí)將起點(diǎn)和終點(diǎn)作為根節(jié)點(diǎn)生成兩棵樹,直至兩棵樹連接生成一條可行路徑,使搜索效率大大提高.在此基礎(chǔ)上,基于雙向擴(kuò)展平衡的聯(lián)結(jié)型雙樹RRT算法,即RRT Connect算法被提出,在雙向擴(kuò)展隨機(jī)樹的基礎(chǔ)上增加貪婪策略,當(dāng)生長(zhǎng)葉節(jié)點(diǎn)不與采樣環(huán)境中的障礙物發(fā)生碰撞時(shí),則繼續(xù)朝向該方向采樣,減少了對(duì)空白區(qū)域的無(wú)用搜索,大大加快了搜索速度,減少了搜索時(shí)間.Karaman等提出RRT*算法[6],將漸近最優(yōu)思想加入算法中,采用對(duì)父節(jié)點(diǎn)進(jìn)行重新選擇和重新布線操作來(lái)尋找較優(yōu)路徑.王坤等[7]通過引入智能采樣函數(shù)和快速擴(kuò)展策略,在漸近最優(yōu)雙向擴(kuò)展隨機(jī)樹算法的基礎(chǔ)上提出EB-RRT*算法,并將改進(jìn)后的算法應(yīng)用于移動(dòng)機(jī)器人的無(wú)碰路徑規(guī)劃研究.該算法大大提高了算法的擴(kuò)展效率,同時(shí)能有效避免算法易陷入局部最優(yōu)的問題.陳滿意等[8]將低振蕩人工勢(shì)場(chǎng)法與自適應(yīng)快速擴(kuò)展隨機(jī)樹算法相結(jié)合,提出ARRT混合算法,該算法能夠較好地適用于多障礙物環(huán)境,并且使路徑平均搜索時(shí)間大大減少,但是該算法只針對(duì)靜態(tài)環(huán)境,不適用于動(dòng)態(tài)環(huán)境的路徑規(guī)劃問題.彭鵬等[9]在傳統(tǒng)RRT算法基礎(chǔ)上對(duì)采樣點(diǎn)的產(chǎn)生數(shù)量進(jìn)行改進(jìn)并加入目標(biāo)偏置策略,同時(shí),對(duì)人工勢(shì)場(chǎng)法中的引力場(chǎng)和斥力場(chǎng)進(jìn)行重新定義,將改進(jìn)后的RRT算法與改進(jìn)后的人工勢(shì)場(chǎng)法結(jié)合,提出APF-RRT算法,該算法能夠適用于解決具有動(dòng)態(tài)障礙物的路徑規(guī)劃問題.
本文主要針對(duì)傳統(tǒng)RRT算法導(dǎo)向性差、收斂速度慢、路徑質(zhì)量差等問題進(jìn)行改進(jìn),將改進(jìn)后的算法應(yīng)用在連續(xù)卸船機(jī)換艙路徑規(guī)劃研究中.首先,為提高RRT算法的收斂速度,在雙向RRT基礎(chǔ)上進(jìn)行改進(jìn),結(jié)合連續(xù)卸船機(jī)實(shí)際作業(yè)情況,對(duì)采樣點(diǎn)進(jìn)行智能約束;為提高RRT算法導(dǎo)向性,引入概率偏置因子,將目標(biāo)點(diǎn)以一定的概率作為采樣點(diǎn),從而使樹的擴(kuò)展具有方向性;為提高路徑質(zhì)量,將漸近最優(yōu)的思想代入算法中,對(duì)父節(jié)點(diǎn)進(jìn)行重新選擇和重新布線操作,使路徑長(zhǎng)度更短;在得到初始路徑后,采用粒子群算法對(duì)路徑的長(zhǎng)度和平滑度進(jìn)行優(yōu)化;最后采用貝塞爾曲線對(duì)路徑進(jìn)行平滑處理,得到最終路徑.在連續(xù)卸船機(jī)實(shí)際工作中,由于載貨量較大,貨船受海浪影響較小,為保證連續(xù)卸船機(jī)的安全運(yùn)行,在進(jìn)行路徑規(guī)劃時(shí)將貨船艙口作為障礙物并對(duì)其進(jìn)行膨脹處理,從而保證規(guī)劃出的路徑安全可靠.
鏈斗式連續(xù)卸船機(jī)具體結(jié)構(gòu)如圖1所示,連續(xù)卸船機(jī)的關(guān)鍵動(dòng)作主要包括卸船機(jī)整車行走、臂架回轉(zhuǎn)、臂架俯仰、BE回轉(zhuǎn)(筒體提升系統(tǒng)回轉(zhuǎn)).其中,BE回轉(zhuǎn)主要實(shí)現(xiàn)連續(xù)卸船機(jī)取料裝置的旋轉(zhuǎn).連續(xù)卸船機(jī)在對(duì)大型貨船進(jìn)行取料時(shí),由于載貨量較大,運(yùn)輸船一般具有多個(gè)艙口.以某鋼廠原料碼頭靠泊作業(yè)的智達(dá)2.3×105t散貨船為例,艙口布局如圖2所示.在實(shí)際卸載過程中,綜合碼頭實(shí)際卸載條件,采用了3臺(tái)卸船機(jī)進(jìn)行協(xié)同取料,考慮船體平衡,當(dāng)各船艙內(nèi)物料減載到一定噸位后,卸船機(jī)需換艙作業(yè).根據(jù)整船減載工藝,A卸船機(jī)負(fù)責(zé)1、2、3艙內(nèi)物料卸載,B卸船機(jī)負(fù)責(zé)4、5、6艙內(nèi)物料卸載,C卸船機(jī)負(fù)責(zé)7、8、9艙內(nèi)物料卸載.第1階段,A卸船機(jī)減載2艙、B卸船機(jī)減載5艙、C卸船機(jī)減載8艙,3臺(tái)卸船機(jī)同時(shí)工作,對(duì)艙內(nèi)物料進(jìn)行卸載,減載至目標(biāo)量后,完成第1階段取料.第2階段,A卸船機(jī)移出2艙到3艙取料、B卸船機(jī)移出5艙到6艙取料、C卸船機(jī)移出8艙到9艙取料,如圖2所示.整船卸載流程如表1所示.要實(shí)現(xiàn)整船卸載,卸船機(jī)需要完成多次換艙作業(yè),而且實(shí)際卸船過程中,受海上和作業(yè)環(huán)境的影響,還會(huì)存在動(dòng)態(tài)調(diào)整換艙順序的可能.顯然,卸船機(jī)在整個(gè)卸船過程中包括頻繁的換艙操作,對(duì)連續(xù)卸船機(jī)取料裝置進(jìn)行換艙路徑規(guī)劃研究將有助于提高整體作業(yè)效率,實(shí)現(xiàn)卸船機(jī)無(wú)人化作業(yè).

圖1 鏈斗式連續(xù)卸船機(jī)結(jié)構(gòu)圖
目前,針對(duì)連續(xù)卸船機(jī)取料裝置的路徑規(guī)劃研究較少,為此,本文對(duì)連續(xù)卸船機(jī)的整個(gè)卸船過程進(jìn)行分析,采用改進(jìn)RRT算法對(duì)換艙路徑進(jìn)行規(guī)劃,為實(shí)現(xiàn)連續(xù)卸船機(jī)無(wú)人化作業(yè)提供理論基礎(chǔ).

圖2 船艙布局及卸船順序示意圖

表1 整船卸載流程
RRT算法是基于采樣的路徑規(guī)劃算法[10],通過在采樣空間進(jìn)行采樣的方式對(duì)隨機(jī)樹進(jìn)行擴(kuò)展,從而生成一條連接起點(diǎn)與終點(diǎn)的可行無(wú)碰路徑,算法的基本流程如下:
(1)初始化隨機(jī)樹T,將起點(diǎn)Xinit加入隨機(jī)樹T中,作為隨機(jī)樹的根節(jié)點(diǎn).
(2)在采樣空間產(chǎn)生一個(gè)隨機(jī)點(diǎn)Xrand,遍歷已有節(jié)點(diǎn),將Xrand與隨機(jī)樹T中距離Xrand最近的節(jié)點(diǎn)Xnear連接.
(3)以一定步長(zhǎng)Lsegm在向量(XnearXrand)方向上截取得到新節(jié)點(diǎn)Xnew,連接節(jié)點(diǎn)Xnear、Xnew.
(4)對(duì)新節(jié)點(diǎn)Xnew進(jìn)行碰撞檢測(cè),若Xnew與Xnear的連線與環(huán)境中障礙物未發(fā)生碰撞,則將新節(jié)點(diǎn)Xnew加入隨機(jī)樹T中,若發(fā)生碰撞,則舍棄Xnew這個(gè)節(jié)點(diǎn),繼續(xù)執(zhí)行步驟(2).
(5)判斷新節(jié)點(diǎn)Xnew與目標(biāo)點(diǎn)Xgoal之間的距離是否小于步長(zhǎng)Lsegm,若小于,則進(jìn)行碰撞檢測(cè),如果不發(fā)生碰撞,則將新節(jié)點(diǎn)Xnew與目標(biāo)點(diǎn)Xgoal直接連接,否則繼續(xù).
(6)重復(fù)步驟(2)~(5),直至目標(biāo)點(diǎn)Xgoal被添加到隨機(jī)樹T中.
快速擴(kuò)展隨機(jī)樹的過程如圖3所示.

圖3 快速擴(kuò)展隨機(jī)樹過程示意圖
傳統(tǒng)RRT算法存在搜索效率低的問題,為了提高算法的搜索效率,LaValle和Kuffner提出了Bi-RRT算法.Bi-RRT算法從起點(diǎn)和目標(biāo)點(diǎn)同時(shí)擴(kuò)展兩棵樹,樹的擴(kuò)展過程與傳統(tǒng)RRT算法相同.在樹的生長(zhǎng)過程中依次循環(huán)遍歷兩棵樹上已有的葉子節(jié)點(diǎn),直至兩棵樹存在葉子節(jié)點(diǎn)之間的距離小于一定值時(shí),連接生成一條可行路徑.該算法通過雙向擴(kuò)展的方式提高算法的效率.Bi-RRT算法擴(kuò)展過程如圖4所示.

圖4 雙向快速擴(kuò)展隨機(jī)樹過程圖
Bi-RRT算法采用雙向擴(kuò)展的方式一定程度上解決了傳統(tǒng)RRT算法搜索效率低的問題,但是該算法還存在以下問題:
(1)算法存在隨機(jī)性.基于采樣的算法都是在尋路空間進(jìn)行隨機(jī)采樣,這就導(dǎo)致同一算法前后所規(guī)劃路徑具有隨機(jī)性.
(2)導(dǎo)向性差.Bi-RRT算法在擴(kuò)展節(jié)點(diǎn)時(shí)不會(huì)有目的地向目標(biāo)點(diǎn)方向擴(kuò)展,在遠(yuǎn)離目標(biāo)點(diǎn)方向、尋路空間邊緣位置以及障礙物邊緣都會(huì)產(chǎn)生大量的隨機(jī)采樣點(diǎn)[11].
(3)穩(wěn)定性差.采用該算法解決同一路徑規(guī)劃問題時(shí),前后規(guī)劃出的路徑情況可能大不相同.Bi-RRT算法是概率完備但非最優(yōu)的,每次規(guī)劃都能夠找到可行路徑但是并非最優(yōu)路徑.
(4)規(guī)劃出的路徑質(zhì)量差.Bi-RRT算法與傳統(tǒng)RRT算法相同,規(guī)劃出的路徑由折線組成,路徑質(zhì)量差、平滑度低.
針對(duì)以上問題,以提高算法收斂速度、優(yōu)化路徑質(zhì)量為目標(biāo),在Bi-RRT算法的基礎(chǔ)上進(jìn)行改進(jìn),保證在解決卸船機(jī)路徑規(guī)劃問題時(shí)算法的實(shí)時(shí)性和有效性.
對(duì)連續(xù)卸船機(jī)取料裝置進(jìn)行換艙路徑規(guī)劃時(shí),為保證實(shí)時(shí)性,本文在Bi-RRT算法的基礎(chǔ)上,通過以下措施進(jìn)行改進(jìn),進(jìn)一步提高算法的收斂速度和搜索效率.
(1)由于RRT算法是一種基于采樣的路徑規(guī)劃算法[7],在進(jìn)行采樣時(shí)采樣點(diǎn)的產(chǎn)生具有隨機(jī)性,導(dǎo)致算法收斂速度較慢,生成的路徑導(dǎo)向性較差.為提高算法的收斂速度,引入概率偏置因子ρ且ρ∈[0,1].在雙向擴(kuò)展隨機(jī)樹的生長(zhǎng)過程中,產(chǎn)生一個(gè)隨機(jī)值α且α∈[0,1],當(dāng)α<ρ時(shí),將目標(biāo)點(diǎn)(起點(diǎn)或終點(diǎn))作為采樣點(diǎn),使樹的生長(zhǎng)具有方向性;當(dāng)α≥ρ時(shí),在采樣空間進(jìn)行隨機(jī)采樣,保留算法對(duì)未知空間的探索能力.
(2)為了提高算法的搜索效率,結(jié)合連續(xù)卸船機(jī)的實(shí)際作業(yè)情況,對(duì)采樣點(diǎn)的產(chǎn)生范圍進(jìn)行限制,在已知路徑起點(diǎn)和路徑終點(diǎn)的情況下,假設(shè)路徑起點(diǎn)坐標(biāo)(Xinit,Yinit,Zinit),路徑終點(diǎn)坐標(biāo)(Xgoal,Ygoal,Zgoal),以起點(diǎn)和終點(diǎn)作為立方體的兩個(gè)對(duì)角點(diǎn),在該立方體的區(qū)域內(nèi)進(jìn)行隨機(jī)節(jié)點(diǎn)采樣,從而減少無(wú)用節(jié)點(diǎn)的產(chǎn)生,提高算法的搜索效率[12];若在該立方體區(qū)域內(nèi)由于障礙物的存在,未規(guī)劃出可行路徑,則在整個(gè)采樣區(qū)域內(nèi)進(jìn)行重新搜索,智能約束采樣失效.
RRT算法規(guī)劃出的路徑一般由許多折線組成,生成路徑的質(zhì)量不佳,為提高路徑質(zhì)量,對(duì)算法進(jìn)行以下改進(jìn):
(1)引入RRT*算法漸近最優(yōu)的思想,在樹的擴(kuò)展過程中對(duì)父節(jié)點(diǎn)進(jìn)行重新選擇和重新布線.具體方法:以二維空間為例,在產(chǎn)生新節(jié)點(diǎn)Xnew后,以Xnew為圓心、以r為半徑做圓,其中,半徑r要大于步長(zhǎng)Lsegm,進(jìn)而保證父節(jié)點(diǎn)Xnear被包含在該圓內(nèi),在該圓內(nèi)的所有節(jié)點(diǎn)都可以作為備選父節(jié)點(diǎn),遍歷圓內(nèi)所有節(jié)點(diǎn),如圖5所示,存在備選父節(jié)點(diǎn)1和2.比較可知,以備選父節(jié)點(diǎn)1作為Xnew新父節(jié)點(diǎn)的總路徑長(zhǎng)度要比以Xnear作為父節(jié)點(diǎn)的總路徑長(zhǎng)度短,所以將備選父節(jié)點(diǎn)1作為Xnew的新父節(jié)點(diǎn),連接父節(jié)點(diǎn)1與Xnew,除去Xnew與Xnear的路徑.在對(duì)父節(jié)點(diǎn)進(jìn)行重新選擇后,遍歷圓內(nèi)其他節(jié)點(diǎn),考察其他節(jié)點(diǎn)是否會(huì)因?yàn)閄new的父節(jié)點(diǎn)變化而產(chǎn)生其他更短路徑.以節(jié)點(diǎn)2為例,通過節(jié)點(diǎn)1、Xnew到達(dá)節(jié)點(diǎn)2的路徑長(zhǎng)度要比通過節(jié)點(diǎn)1、Xnear到達(dá)節(jié)點(diǎn)2的路徑長(zhǎng)度短,所以除去Xnear與節(jié)點(diǎn)2之間的路徑,連接Xnew與節(jié)點(diǎn)2.通過以上步驟完成重新布線操作,如圖6所示.

圖5 父節(jié)點(diǎn)的重新選擇

圖6 重新布線操作
(2)為了進(jìn)一步提高規(guī)劃出的路徑質(zhì)量,在得到初始路徑后,采用粒子群算法[13]對(duì)所規(guī)劃路徑進(jìn)行二次優(yōu)化.粒子群算法是一種群體智能優(yōu)化算法,由Eberhart等在1995年提出[14-15],該算法是模擬鳥群覓食的行為,通過群體中個(gè)體之間的協(xié)作和信息共享來(lái)尋找最優(yōu)解[16],主要用于解決優(yōu)化問題.粒子群算法的基本思想:利用粒子來(lái)類比鳥群中的鳥,賦予每個(gè)粒子速度和位置兩個(gè)屬性.其中,分別采用速度和位置來(lái)描述當(dāng)前粒子的移動(dòng)快慢和移動(dòng)方向.在求解優(yōu)化問題時(shí),每個(gè)粒子都會(huì)不斷更新優(yōu)化問題的最優(yōu)解并經(jīng)過比較得到個(gè)體歷史最優(yōu)位置,通過對(duì)比粒子群中所有粒子的個(gè)體極值得到全局最優(yōu)位置.粒子群中的每個(gè)粒子在對(duì)速度和位置進(jìn)行調(diào)整時(shí)會(huì)受當(dāng)前個(gè)體歷史最優(yōu)位置和整個(gè)粒子群所共享的當(dāng)前全局最優(yōu)位置的影響,具體速度和位置的更新公式如式(1)、(2)所示.
(1)
(2)

將改進(jìn)后的RRT算法與粒子群算法相結(jié)合,把改進(jìn)后的RRT算法規(guī)劃出的路徑信息作為初始粒子,以與障礙物不發(fā)生碰撞作為約束條件,并分別以所規(guī)劃路徑的長(zhǎng)度和平滑度作為適應(yīng)度函數(shù).首先采用粒子群算法對(duì)路徑長(zhǎng)度進(jìn)行優(yōu)化得到初始優(yōu)化路徑,然后再次采用粒子群算法以初始優(yōu)化路徑作為初始粒子對(duì)路徑平滑度進(jìn)行優(yōu)化,此時(shí)在路徑平滑度得到優(yōu)化的同時(shí),路徑長(zhǎng)度也得到了優(yōu)化,優(yōu)化后得到最終路徑.假設(shè)路徑關(guān)鍵點(diǎn)的個(gè)數(shù)為m,第j個(gè)路徑關(guān)鍵點(diǎn)坐標(biāo)為(xj,yj,zj),那么粒子群算法中關(guān)于路徑長(zhǎng)度和路徑平滑度的適應(yīng)度函數(shù)表達(dá)式分別如式(3)、(4)所示.
(3)

(xj+2-xj+1,yj+2-yj+1,zj+2-zj+1)/
(|(xj+1-xj,yj+1-yj,zj+1-zj)|×
|(xj+2-xj+1,yj+2-yj+1,zj+2-zj+1)|))
(4)
采用粒子群算法對(duì)路徑進(jìn)行優(yōu)化的流程圖如圖7所示.

圖7 粒子群算法優(yōu)化路徑流程圖
通過以上措施對(duì)算法進(jìn)行改進(jìn),改進(jìn)后的算法流程如圖8所示.

圖8 改進(jìn)算法流程圖
將改進(jìn)后的RRT算法分別與傳統(tǒng)RRT、Bi-RRT、RRT*算法進(jìn)行比較,在三維空間(0,0,0)到(100,100,100)中隨機(jī)布置球體、立方體等作為障礙物,已知起點(diǎn)坐標(biāo)(5,5,5)和終點(diǎn)坐標(biāo)(95,95,95),對(duì)于同一障礙物的三維環(huán)境,在RRT、Bi-RRT、RRT*、改進(jìn)RRT算法中設(shè)置隨機(jī)步長(zhǎng)均為5,RRT*算法中的半徑r設(shè)置為10,改進(jìn)RRT算法中的概率偏置因子設(shè)置為0.5、半徑r設(shè)置為10,算法中的初始種群個(gè)數(shù)為50、空間維度為3、最大迭代次數(shù)n為50,將位置參數(shù)設(shè)置為[-2,2]、速度參數(shù)設(shè)置為[-50,50],慣性因子ω設(shè)置為0.8,自我學(xué)習(xí)因子c1和群體學(xué)習(xí)因子c2均設(shè)置為1.各算法所規(guī)劃出的路徑如圖9所示.

為了進(jìn)一步說(shuō)明算法的改進(jìn)效果,在該環(huán)境下進(jìn)行20次對(duì)比實(shí)驗(yàn),每次實(shí)驗(yàn)所得到的路徑規(guī)劃時(shí)間、路徑長(zhǎng)度、采樣點(diǎn)數(shù)、路徑點(diǎn)數(shù)的數(shù)據(jù)如圖10所示.

為了更直觀地對(duì)比改進(jìn)后算法的優(yōu)勢(shì),現(xiàn)對(duì)各組實(shí)驗(yàn)數(shù)據(jù)進(jìn)行處理,得到實(shí)驗(yàn)數(shù)據(jù)信息如表2所示.

表2 實(shí)驗(yàn)數(shù)據(jù)信息
對(duì)比可知,改進(jìn)RRT算法在完成路徑規(guī)劃所需時(shí)間、平均路徑長(zhǎng)度、采樣點(diǎn)數(shù)、路徑點(diǎn)數(shù)方面都有顯著改善.其中,完成路徑規(guī)劃所用時(shí)間減少,搜索效率得到顯著提升.改進(jìn)RRT算法所規(guī)劃出的平均路徑長(zhǎng)度為175.60 m,與RRT*算法規(guī)劃出的路徑相比,路徑長(zhǎng)度減少10.37%;改進(jìn)RRT算法采樣點(diǎn)數(shù)大幅減少,從而減少無(wú)用采樣點(diǎn)的產(chǎn)生,使算法收斂速度更快,規(guī)劃出的最終路徑點(diǎn)數(shù)也減少到傳統(tǒng)RRT、Bi-RRT算法路徑點(diǎn)數(shù)的一半.通過對(duì)比實(shí)驗(yàn)可知,改進(jìn)RRT算法搜索效率更高、所規(guī)劃路徑長(zhǎng)度更短,能夠保證算法的實(shí)時(shí)性并使路徑質(zhì)量得到明顯改善.將該算法應(yīng)用于連續(xù)卸船機(jī)的路徑規(guī)劃研究,能夠有效提高路徑規(guī)劃的收斂速度、搜索效率,并能較為明顯地改善路徑規(guī)劃質(zhì)量.
連續(xù)卸船機(jī)通過三維激光掃描儀獲取船艙以及艙內(nèi)物料信息,三維激光掃描儀安裝于如圖11所示位置.通過頂部結(jié)構(gòu)下方帶云臺(tái)的激光掃描儀對(duì)船艙和艙口信息進(jìn)行掃描,采用取料頭上方、提升筒體兩側(cè)的激光掃描儀對(duì)艙內(nèi)物料進(jìn)行掃描,對(duì)點(diǎn)云數(shù)據(jù)處理后可以得到船體和物料的坐標(biāo)數(shù)據(jù).

在進(jìn)行路徑規(guī)劃時(shí),船艙及艙內(nèi)物料均可視為障礙物.障礙物建模的兩種常用方法為包絡(luò)盒法和包絡(luò)球法.結(jié)合實(shí)際情況,在已知船型信息和船體坐標(biāo)信息后,采用包絡(luò)盒法對(duì)貨船建模;在已知物料信息后,采用包絡(luò)球法對(duì)物料建模.在實(shí)際作業(yè)過程中,只有連續(xù)卸船機(jī)的提升筒體部分及取料裝置部分會(huì)與卸船環(huán)境中的障礙物發(fā)生碰撞,所以在此采用圓柱體對(duì)連續(xù)卸船機(jī)筒體以及取料裝置進(jìn)行包裹.根據(jù)連續(xù)卸船機(jī)提升筒體部分及取料裝置的最大尺寸采用圓柱體對(duì)其進(jìn)行等效,如圖12所示.

圖12 構(gòu)件膨脹處理
在路徑規(guī)劃過程中,由于連續(xù)卸船機(jī)在進(jìn)入貨艙過程中依靠臂架部分的平行四邊形結(jié)構(gòu)使筒體部分始終垂直于地面方向,以某連續(xù)卸船機(jī)為例,其提升筒體部分的最大尺寸為5.4 m,取料裝置的最大尺寸為5 m,以連續(xù)卸船機(jī)實(shí)際裝置尺寸為依據(jù),采用半徑r1為2.7 m的圓柱體對(duì)取料裝置的筒體部分進(jìn)行包裹,采用半徑r2為2.5 m的圓柱體對(duì)取料裝置部分進(jìn)行包裹.以某鋼廠原料碼頭靠泊作業(yè)的智達(dá)2.3×105t散貨船為例,其艙口尺寸為16 m×16 m,為避免碰撞并根據(jù)設(shè)計(jì)需求,將艙口邊界尺寸及艙內(nèi)物料尺寸進(jìn)行膨脹處理,其原理圖如圖13所示.

圖13 膨脹處理原理圖
根據(jù)連續(xù)卸船機(jī)提升筒體尺寸將艙口部分尺寸向艙口中心方向膨脹2.7 m,防止連續(xù)卸船機(jī)提升筒體部分在換艙過程中與艙口邊緣發(fā)生碰撞,經(jīng)膨脹處理后,艙口部分尺寸為10.6 m×10.6 m;根據(jù)連續(xù)卸船機(jī)取料裝置尺寸將艙口高度以及貨艙表面高度向上膨脹2.5 m,并將料堆尺寸膨脹2.5 m,防止連續(xù)卸船機(jī)的取料裝置部分在換艙過程中與船體以及艙內(nèi)物料發(fā)生碰撞.在MATLAB中建立船艙模型如圖14所示.

圖14 船艙模型
采用包絡(luò)盒法對(duì)船艙進(jìn)行處理后,可將連續(xù)卸船機(jī)與船艙之間的碰撞問題轉(zhuǎn)化成空間直線與立方體之間的空間交涉問題[17],假設(shè)采用改進(jìn)RRT算法所規(guī)劃出的路徑點(diǎn)坐標(biāo)為(x,y,z),連續(xù)卸船機(jī)取料裝置的長(zhǎng)度為l,在換艙過程中取料裝置末端一直保證垂直于岸邊方向向外,則連續(xù)卸船機(jī)與船艙之間的碰撞檢測(cè)公式可表示為
C1={(x,y,z)|xmin (5) C2={(x,y,z)|xmin y-l (6) 式中:C1表示取料裝置所在直線與船艙之間的碰撞;(xmin,ymin,zmin)、(xmax,ymax,zmax)分別表示船艙某一包絡(luò)長(zhǎng)方體的最小值坐標(biāo)和最大值坐標(biāo);(x,y,z)不僅表示路徑點(diǎn)坐標(biāo),同時(shí)也表示取料裝置末端的空間坐標(biāo);s表示連續(xù)卸船機(jī)取料裝置所在線段的平均采樣點(diǎn)數(shù);i表示采樣點(diǎn)并且i∈[0,s].當(dāng)各采樣點(diǎn)均不與包絡(luò)盒坐標(biāo)重合時(shí),則連續(xù)卸船機(jī)不會(huì)與船體發(fā)生碰撞;否則,連續(xù)卸船機(jī)與船體發(fā)生碰撞.C2表示連續(xù)卸船機(jī)提升筒體與艙口部分的碰撞;zcab表示艙口處的高度信息,當(dāng)提升筒體在艙口高度處不與艙口部分發(fā)生交涉時(shí),則不會(huì)發(fā)生碰撞,否則,連續(xù)卸船機(jī)與船體發(fā)生碰撞. 采用包絡(luò)球法對(duì)艙內(nèi)物料進(jìn)行表示,可將連續(xù)卸船機(jī)與艙內(nèi)物料之間的碰撞問題轉(zhuǎn)化成求解空間直線與障礙物球體球心距離的問題.由于連續(xù)卸船機(jī)進(jìn)入船艙后,取料裝置部分最先與艙內(nèi)物料發(fā)生碰撞,假設(shè)物料包絡(luò)球半徑為R,取料裝置的首末空間位置坐標(biāo)依次為(xs,ys,zs)、(xe,ye,ze),取料裝置所在的直線L經(jīng)過兩點(diǎn),設(shè)(x,y,z)為該直線上的點(diǎn),則有 x(t)=txs+(1-t)xe, y(t)=tys+(1-t)ye, z(t)=tzs+(1-t)ze;t∈(0,1) (7) 已知,物料包絡(luò)球的球心坐標(biāo)為(xo,yo,zo),假設(shè)該球心到直線L上的垂直點(diǎn)坐標(biāo)為(xc,yc,zc),則有該垂線的方向向量(xo-xcyo-yczo-zc)與取料裝置所在直線L的方向向量(xe-xsye-ysze-zs)垂直,再根據(jù)垂點(diǎn)(xc,yc,zc)滿足直線方程,便可推導(dǎo)得到垂直點(diǎn)坐標(biāo)與取料裝置所在的直線L之間的距離為 (8) 通過比較doc與物料包絡(luò)球半徑R的大小來(lái)判斷連續(xù)卸船機(jī)取料裝置是否與艙內(nèi)物料發(fā)生碰撞,若doc>R,則取料裝置未與物料發(fā)生碰撞;若doc≤R,則取料裝置與物料發(fā)生碰撞. 改進(jìn)RRT算法規(guī)劃出的路徑由許多折線段組成,存在明顯拐角.為使路徑更加平滑,減少對(duì)連續(xù)卸船機(jī)各個(gè)機(jī)構(gòu)的沖擊,采用貝塞爾曲線對(duì)路徑進(jìn)行平滑處理,從而得到一條平滑路徑. 將改進(jìn)RRT算法規(guī)劃出的m+1個(gè)路徑點(diǎn)P0、P1、…、Pm-1、Pm作為貝塞爾曲線的控制點(diǎn)來(lái)控制曲線形狀,曲線通過路徑起點(diǎn)P0和路徑終點(diǎn)Pm,接近但不通過路徑中間點(diǎn)P1到Pm-1,由m+1個(gè)控制點(diǎn)可以確定m階貝塞爾曲線,其中m階貝塞爾曲線表達(dá)式如下: (9) 在MATLAB中搭建仿真環(huán)境,如圖15所示. 圖15 連續(xù)卸船機(jī)仿真環(huán)境 結(jié)合連續(xù)卸船機(jī)實(shí)際作業(yè)情況,以連續(xù)卸船機(jī)需要完成從第2艙口換至第3艙口為例,已知卸船機(jī)在第2艙口內(nèi)起點(diǎn)的世界坐標(biāo)為(90,32,2),第3艙口內(nèi)終點(diǎn)的世界坐標(biāo)為(69,43,-2),采用改進(jìn)RRT算法對(duì)連續(xù)卸船機(jī)換艙路徑進(jìn)行規(guī)劃,得到的路徑如圖16所示.其中,黃色和綠色路徑為算法執(zhí)行過程中所擴(kuò)展產(chǎn)生的隨機(jī)樹,黑色路徑為改進(jìn)RRT算法規(guī)劃出的初始路徑,紅色路徑為采用粒子群算法優(yōu)化后的路徑,粉色路徑為采用貝塞爾曲線經(jīng)過平滑處理后的最終路徑. 圖16 連續(xù)卸船機(jī)仿真結(jié)果 最后,對(duì)最終路徑進(jìn)行離散處理,通過逆運(yùn)動(dòng)學(xué)求解得到連續(xù)卸船機(jī)各個(gè)機(jī)構(gòu)的角度、位移,為更好地驗(yàn)證所規(guī)劃路徑的可行性,建立MATLAB與CoppeliaSim聯(lián)合仿真,首先將連續(xù)卸船機(jī)位姿調(diào)整于初始點(diǎn)所對(duì)應(yīng)的位姿,然后將MATLAB所求各個(gè)機(jī)構(gòu)的角度、位移信息通過通信傳輸給CoppeliaSim,進(jìn)而使連續(xù)卸船機(jī)取料裝置能夠沿著規(guī)劃出的路徑安全運(yùn)行,換艙路徑如圖17所示. 圖17 連續(xù)卸船機(jī)換艙路徑聯(lián)合仿真 (1)針對(duì)Bi-RRT算法搜索效率低的問題,采用目標(biāo)偏置策略并對(duì)采樣點(diǎn)進(jìn)行智能約束采樣,使隨機(jī)樹在生長(zhǎng)過程中具有方向性,并且減少對(duì)無(wú)用空間的搜索;為提高規(guī)劃路徑的質(zhì)量,引入RRT*算法漸近最優(yōu)思想,采用對(duì)父節(jié)點(diǎn)重新選擇和重新布線的操作,使路徑漸近最優(yōu),最后使用粒子群算法再次對(duì)路徑長(zhǎng)度以及平滑度進(jìn)行優(yōu)化.經(jīng)實(shí)驗(yàn)驗(yàn)證,改進(jìn)RRT算法具有搜索效率高、規(guī)劃路徑長(zhǎng)度短的優(yōu)勢(shì). (2)對(duì)障礙物進(jìn)行膨脹處理并對(duì)碰撞檢測(cè)方法進(jìn)行研究;通過對(duì)路徑進(jìn)行平滑處理,從而減少連續(xù)卸船機(jī)作業(yè)時(shí)對(duì)各機(jī)構(gòu)的沖擊.將改進(jìn)RRT算法應(yīng)用于連續(xù)卸船機(jī)的換艙路徑規(guī)劃研究,能夠有效縮短船舶停港時(shí)間,為實(shí)現(xiàn)連續(xù)卸船機(jī)無(wú)人化、智能化作業(yè)提供理論基礎(chǔ).3.2 路徑平滑處理

3.3 仿真實(shí)驗(yàn)研究



4 結(jié) 論