楊明權(quán),桂輝陽,關(guān)宇洋,毛臻炫
(南方電網(wǎng)超高壓輸電公司天生橋局,興義 562400)
移動機器人屬于一種可以自動完成指定工作執(zhí)行的一種機器裝置,其有兩種執(zhí)行方式,一是預(yù)先設(shè)定執(zhí)行程序命令,其自動運行;二是遙控控制運行。目前移動機器人已經(jīng)進入人們的生活和工作中[1],例如清潔機器人、導(dǎo)航機器人、采摘機器人等。無論哪種移動機器人,在工作執(zhí)行時,均需可靠完成定位,特別是在位置環(huán)境中自主移動時[2],其需結(jié)合傳感器獲取的周圍環(huán)境數(shù)據(jù)完成地圖生成,以此實現(xiàn)定位。但是,機器人在自主移動過程中,其會受到移動滑輪、聲音以及環(huán)境等多種因素的影響,導(dǎo)致機器人的及時定位精度[3],存在一定誤差,因此,如果保證移動機器人有效應(yīng)對環(huán)境變化,實現(xiàn)其及時、可靠的定位成為保證機器人工作執(zhí)行的重要內(nèi)容。重定位指的是地理空間轉(zhuǎn)換的過程,該轉(zhuǎn)換主要是將程序中邏輯地址向?qū)嶋H環(huán)境中物理地址轉(zhuǎn)換,該轉(zhuǎn)換能夠保證多道程序的同時運行[4]。手眼標(biāo)定是機器人應(yīng)用領(lǐng)域中一個重要的內(nèi)容,其決定機器人任務(wù)執(zhí)行時,對于目標(biāo)的定位精度。
基于上述分析,為了提升一定機器人的定位精度,保證其對于目標(biāo)的定位效果,文獻[5]和文獻[6]分別基于3D-NDT、深度學(xué)習(xí)與粒子濾波提出相關(guān)定位方法。上述方法均具備定位效果,但是當(dāng)環(huán)境中的障礙物比例較大時,定位結(jié)果的精度存在一定偏差。因此,本文研究基于手眼標(biāo)定算法的移動機器人重定位方法,該方法以機器人模型為基礎(chǔ),完成其手眼標(biāo)定,依據(jù)標(biāo)定結(jié)果,完成移動機器人重定位。
針對移動機器人重定位,本文對其展開全面分析后,為保證最佳的重定位效果[7],先構(gòu)建機器人移動模型,然后確定機器人移動時的手眼標(biāo)定模型。以雙輪機器人為例,驅(qū)使機器人在指定環(huán)境中移動,獲取機器人在移動過程中的位置,得出機器人移動模型,其如圖1所示。
圖1 機器人移動模型
設(shè)移動機器人的左、右輪的速度分別用? l、? r表示,平移速度和角速度分別用?、w表示,兩者的計算公式如式(1)、式(2)所示:
式(1)、式(2)中:d表示距離,屬于機器人中心和輪子之間。
機器人位置坐標(biāo)和方向的更新公式為如(3)所示:
式(3)中:θ表示位置坐標(biāo);x和y均表示方向;Δt表示時間差量。
依據(jù)上述公式完成更新后,需完成左、右兩個輪的?更新,該更新需依靠概率p完成,其公式如式(4)所示:
式(4)中:r1、r2、r3均表示隨機變量;α、β表示左、右兩個輪的最小速度值。
相機坐標(biāo)系和基坐標(biāo)系是機器人具有兩種必備坐標(biāo)系,除此之外還設(shè)有工具坐標(biāo)系,機器人手眼標(biāo)定的目的則是實現(xiàn)前兩和坐標(biāo)系之間關(guān)聯(lián)的計算[8],并依據(jù)該計算結(jié)果,向基坐標(biāo)中轉(zhuǎn)換位姿結(jié)果。
設(shè)定視覺測量點,并控制一定機器人使其末端位于該點,以基坐標(biāo)系為參照[10],獲取位于其內(nèi)的空間點坐標(biāo),且依據(jù)機器人手臂的運動學(xué)參數(shù)完成。如果和兩個坐標(biāo)之間只存在剛性變換關(guān)聯(lián),該關(guān)聯(lián)的計算公式如式(5)所示:
式(5)中:R和T均表示矩陣,前者對應(yīng)旋轉(zhuǎn),后者對應(yīng)平移;并且,前者的性質(zhì)表達公式如式(6)所示:
式(6)中:I表示單位矩陣。
實現(xiàn)R和T的估計,是手眼標(biāo)定的目標(biāo)[11],則采用最小二乘法完成該目標(biāo)函數(shù)的估計,其公式如式(7)所示:
式(8)表示F對T求偏導(dǎo),其獲取極值的標(biāo)準(zhǔn)為該偏導(dǎo)數(shù)等于0?;诖说贸觯?/p>
如果式(9)的結(jié)果等于0,則可計算T的結(jié)果,其公式如式(10)所示:
向式(8)中代入式(10),則目標(biāo)函數(shù)可表示如式(12)所示:
式(13)中:gi和hi分別別表示任意點及其空間點坐標(biāo)的空間變化量,且有結(jié)合式(6)則得出:
機器人手眼標(biāo)定參數(shù)中,T需滿足式(13)的標(biāo)準(zhǔn):
式(15)中:求解矩陣的跡用tr(·)表示。
設(shè)S=GHT,采用奇異值分解對其實行處理,得出:
式(16)中:U、V均為正交矩陣,R的結(jié)果則為:
基于上述的式(11)和式(17)獲取矩陣R和T的結(jié)果,即得出機器人的手眼變換矩陣。
為精準(zhǔn)完成移動機器人的重定位,本文引入及時定位和地圖建立技術(shù)(Simultaneous Localization And Mapping,SLAM)并且,針對不同的任務(wù)需求[12],采用不同的網(wǎng)絡(luò)結(jié)構(gòu)分支完成多定位任務(wù)的實現(xiàn)。因此,本文提出基于深度學(xué)習(xí)多任務(wù)的移動機器人重定位模型,該模型由全局位姿回歸和視覺里程計兩個子網(wǎng)絡(luò)組成,分別將上小節(jié)獲取的R和T作為兩個網(wǎng)絡(luò)的輸入,以此完成移動機器人重定位。
圖2 基于深度學(xué)習(xí)多任務(wù)網(wǎng)絡(luò)的移動機器人重定位模型
模型整體為ResNst30層連體模式,模型的前15個層主要完成卷積計算,其將計算結(jié)果輸入至全連接層中進行數(shù)據(jù)的深入特征分析后[13],由輸出層輸出重定位結(jié)果。在該過程中,模型的分配權(quán)重計算公式如式(18)所示:
式(18)中:e表示運算函數(shù);xi表示第i個描述符;wk和bk分別表示第k層的權(quán)重和可訓(xùn)練參數(shù)。
將R和T輸入值基于深度學(xué)習(xí)多任務(wù)的移動機器人重定位模型中,模型對兩個實行學(xué)習(xí)訓(xùn)練后,輸出移動機器人的全局位姿結(jié)果[14]。模型在進行學(xué)習(xí)訓(xùn)練過程中,損失函數(shù)直接影響模型的最終重定位結(jié)果,為保證模型對于多任務(wù)的定位效果,結(jié)合模型的組成結(jié)構(gòu)[15],采用多任務(wù)損失函數(shù)設(shè)計,并且在損失函數(shù)中引入懲罰項ψ,保證模型的重定位效果。
R輸入至全局位姿回歸網(wǎng)絡(luò)后,為保證相機系統(tǒng)坐標(biāo)和實際機器人運動坐標(biāo)之間的一致,將兩者之間的偏差項引入損失函數(shù)中,其計算公式如式(19)所示:
式(20)~式(23)中:xt和分別表示實際位置和定位位置;qt和分別表示機器人實際位姿和計算位姿。
將T作為視覺里程計子網(wǎng)絡(luò)的輸入,該子網(wǎng)絡(luò)的損失函數(shù)公式如式(24)~式(26)所示:
通過上述步驟確定兩個子網(wǎng)絡(luò)的損失函數(shù)后,確定整個模型的總損失函數(shù),其公式如式(27)所示:
式(27)中:m表示正常數(shù);j表示維度;l表示距離平方。獲取總損失函數(shù)后,完成整個模型的學(xué)習(xí)訓(xùn)練,并輸出最終的機器人重定位結(jié)果。
為衡量本文方法對移動機器人的重定位效果,展開相關(guān)應(yīng)用測試,采用BR280移動抓取機器人進行相關(guān)測試,測試在室內(nèi)和室外兩種環(huán)境中進行。
該機器人包含機械手臂的外形尺寸為40cm×26.2cm×65.8cm,其有2個4寸電力,2個1.5寸的萬向輪,整體重量為13kg,最大負(fù)載為10kg,單個電機的額定功率為150W,最大越障高度為5cm,最大移動速度為1m/s,最小轉(zhuǎn)彎半徑為2.2cm,最大爬坡角度為5°;機械手臂的臂展尺寸為2.8cm,自由度為6,重復(fù)定位精度為±0.5mm。其搭載的相機相關(guān)參數(shù)詳情如表1所示。
表1 相機相關(guān)參數(shù)詳情
為測試本文方法對于移動機器人手眼標(biāo)定的性能,設(shè)定不同的視覺測量點位置,獲取本文方法對于手眼標(biāo)定的R和T兩種矩陣的坐標(biāo)標(biāo)定結(jié)果,結(jié)果如表2所示。
表2 兩種矩陣的坐標(biāo)標(biāo)定結(jié)果
對表2測試結(jié)果實行分析可知:在不同的視覺測量點位置下,本文方法在機器人處于不同旋轉(zhuǎn)角度和平移方向下,對于手眼標(biāo)定的R和T兩種矩陣的坐標(biāo)標(biāo)定結(jié)果與設(shè)定的視覺測量點位置結(jié)果差異極小,吻合程度極高。因此,本文方法對于移動機器人的手眼標(biāo)定性能良好,可保證手眼標(biāo)定的R和T兩種矩陣的坐標(biāo)標(biāo)定結(jié)果的可靠性。
為進一步衡量本文方法的應(yīng)用性能,采用歐式距離誤差作為評價本文方法的重定位性能的指標(biāo),期望結(jié)果為低于2cm。其公式如式(28)所示。
依據(jù)該公式獲取本文方法在不同的障礙物比例下,本文方法在室內(nèi)和室外兩種環(huán)境中的DEL(I)測試結(jié)果,如圖3所示。
圖3 兩種環(huán)境中的歐式距離誤差測試結(jié)果
對圖3測試結(jié)果實行分析后可知:在兩種環(huán)境中,本文方法隨著障礙物占據(jù)比例的逐漸增加,DEL(I)指標(biāo)結(jié)果也存在一定差異,但是該結(jié)果均在期望標(biāo)準(zhǔn)下,最高DEL(I)結(jié)果為1.7cm左右,最低DEL(I)結(jié)果為0.5cm左右。因此,本文方法的重定位性能良好,能夠保證重定位的精準(zhǔn)結(jié)果。
為衡量本文方法對于移動機器人重定位的應(yīng)用效果,機器人按照360度的軌跡實行移動,該移動軌跡上沒有障礙物。并在移動軌跡上,設(shè)定4個目標(biāo)標(biāo)定點,采用本文方法對該標(biāo)定點實行重定位,獲取重定位結(jié)果,如圖4所示。
圖4 目標(biāo)位置的移動標(biāo)定結(jié)果
對圖4測試結(jié)果實行分析后可知:在機器人的圓形移動軌跡中,本文方法應(yīng)用后能夠完成機器人整個移動軌跡的重定位,并且其中4個目標(biāo)標(biāo)定點的重定位結(jié)果吻合。因此,本文方法的重定位效果良好,能夠?qū)崟r定位機器人的移動位置。
為測試本文方法對移動機器人重定位的應(yīng)用效果,將實驗采用機器人分別置于室外和室內(nèi)環(huán)境中,在兩種環(huán)境中隨機設(shè)定障礙物,并在場景中標(biāo)定指定的移動軌跡,獲取本文方法的重定位結(jié)果,如圖5所示。
圖5 不同環(huán)境中的機器人重定位結(jié)果
對圖5測試結(jié)果實行分析可知:在室外環(huán)境中,指定的移動軌跡中存在交叉現(xiàn)象,即便如此,本文方法依據(jù)可靠完成指定移動軌跡的重定位,沒有發(fā)生無法定位的情況;在室內(nèi)環(huán)境中,指定移動軌跡存在多個房間中,本文方法依據(jù)能夠精準(zhǔn)完成移動軌跡的標(biāo)定,并且沒有受到障礙物的影響。因此,本文方法具有極好的機器人移動重定位效果,可應(yīng)用在不同的環(huán)境中。
重定位是機器人在移動過程中完成自主導(dǎo)航的重要部分,其依據(jù)相機標(biāo)定系統(tǒng)獲取的環(huán)境圖像信息為依據(jù),確定機器人在場景中的位置。為保證機器人移動重定位的精度,本文研究基于手眼標(biāo)定算法的移動機器人重定位方法,該方法結(jié)合手眼標(biāo)定模型以及深度學(xué)習(xí)多任務(wù)網(wǎng)絡(luò)完成重定位。經(jīng)測試:本文所提方法的應(yīng)用性能良好,可靠完成機器人的手眼標(biāo)定,獲取其旋轉(zhuǎn)和平移矩陣,得出標(biāo)定位置;并且定位結(jié)果的歐式距離誤差較小,滿足應(yīng)用需求,除此之外,機器人在移動過程中的重定位結(jié)果可靠,精準(zhǔn)完成標(biāo)定點的重定位;且適用于不同的環(huán)境中,應(yīng)用性良好。