Pablo Ramon-Soria * , Bego?a C. Arrue, Anibal Ollero
Robotics, Vision, and Control Group, School of Engineering, University of Seville, Seville 41092, Spain
在工業(yè)應(yīng)用中,無人機(jī)的使用正在增加。無人機(jī)適用于操作人員無法到達(dá)或在通常情況下構(gòu)成危險(xiǎn)的情境下的應(yīng)用,如電力線路檢查[1,2]、風(fēng)力渦輪機(jī)維護(hù)[3]、設(shè)施中各種結(jié)構(gòu)的檢查[4]和攝影測(cè)量[5]。但是,這些應(yīng)用僅涉及感知任務(wù)。近年來,已經(jīng)證明空中機(jī)器人也可以有效地執(zhí)行操縱任務(wù)[6]。
由于還存在其他要求,空中操縱仍然是一項(xiàng)艱巨的任務(wù)。平臺(tái)通常很不穩(wěn)定,并在空中保持不了穩(wěn)定的平衡。為了執(zhí)行操縱任務(wù),有必要為機(jī)器人配備如感知、規(guī)劃和一般智能等各種功能,還需要為機(jī)器人配備適當(dāng)?shù)挠布詧?zhí)行所需的任務(wù)。在這些應(yīng)用中引入機(jī)器人為解決問題提供了更有效的方案,減少了時(shí)間和金錢成本,并減少了操作人員由于某些任務(wù)單調(diào)乏味而產(chǎn)生工作失誤所導(dǎo)致的質(zhì)量問題。另一方面,可以賦予操作員一些機(jī)器人無法充當(dāng)?shù)母匾慕巧?/p>
操縱涉及使用機(jī)械手與物理對(duì)象進(jìn)行交互,這可能包括抓取對(duì)象、移動(dòng)它們或保持與剛性對(duì)象的接觸。為了執(zhí)行此類任務(wù),機(jī)器人需要能夠檢測(cè)和定位對(duì)象,以及分析如何與對(duì)象建立交互。另外,為了執(zhí)行這樣的任務(wù),有必要對(duì)機(jī)械手的動(dòng)作和運(yùn)動(dòng)進(jìn)行規(guī)劃,并防止它們與環(huán)境和平臺(tái)本身產(chǎn)生碰撞。
為能夠執(zhí)行操縱任務(wù),首先需要找到并跟蹤所要操縱的對(duì)象。許多計(jì)算機(jī)視覺算法可用于此任務(wù)。這些視覺算法可以根據(jù)應(yīng)用、計(jì)算資源和使用的傳感器進(jìn)行分類。
通常使用用于對(duì)象的單目檢測(cè)區(qū)域提議算法。這些算法可以基于簡(jiǎn)單的顏色算法[7,8]、特征檢測(cè)[9,10]或機(jī)器學(xué)習(xí)。新型算法使用人工神經(jīng)網(wǎng)絡(luò)(artificial neural network, ANN)來檢測(cè)預(yù)先訓(xùn)練的對(duì)象。得益于深度學(xué)習(xí)以及強(qiáng)大的圖形處理單元(graphics processing unit, GPU)的使用,神經(jīng)網(wǎng)絡(luò)得到了提升,這些圖形處理單元可以增強(qiáng)和并行化神經(jīng)網(wǎng)絡(luò)。最新的設(shè)計(jì)(SSD [11]、RCNN [12]、F-RCNN [13]、Mask-RCNN [14]和YOLO [15])已經(jīng)取代了大多數(shù)傳統(tǒng)的目標(biāo)檢測(cè)算法。然而,檢測(cè)彩色圖像中的對(duì)象的實(shí)例不足以執(zhí)行操縱任務(wù),為了實(shí)現(xiàn)操作還必須分析對(duì)象的三維(three-dimensional, 3D)信息。為此,對(duì)深度神經(jīng)網(wǎng)絡(luò)(deep neural network, DNN)的最新研究已經(jīng)擴(kuò)展了ANN計(jì)算對(duì)象的六維(six-dimensional, 6D)位置 [16]。
諸如Kinect或Intel RealSense設(shè)備之類的深度傳感器可用于直接從環(huán)境中提取3D信息[17,18]。但是,這些傳感器在室外環(huán)境中通常受到較大的限制,因?yàn)樗鼈兪褂玫募t外結(jié)構(gòu)光在室外通常是難以解析的。相反,無源立體攝像機(jī)可以計(jì)算出視差圖,該視差圖可用于執(zhí)行點(diǎn)的像素級(jí)三角剖分,從而形成點(diǎn)云。這種設(shè)備通常不如深度相機(jī)精確,但幾乎在任何條件下都能正常工作。不過,由于它基于可見光譜,因此該設(shè)備在弱光條件下的性能很差。
圖像特征可用于準(zhǔn)確獲取物體在空間中的位置[19-21]。這些思路有著良好的結(jié)果,并且對(duì)遮擋具有魯棒性。但是,如果對(duì)象沒有紋理或存在反射,這些算法可能會(huì)出現(xiàn)問題。其他作者使用了投影算法,該算法基于投影到圖像上的幾何模型,并使用單眼相機(jī)找到對(duì)象的位置和方向 [22]。
對(duì)于操縱本身,目前已經(jīng)針對(duì)各種應(yīng)用對(duì)機(jī)器人機(jī)械手進(jìn)行了廣泛的研究。機(jī)械手的機(jī)械和數(shù)學(xué)模型以及它們與對(duì)象的相互作用是機(jī)器人操縱分析的基本方面。對(duì)象和機(jī)械手在配置時(shí)的大量組合使這一研究領(lǐng)域具有挑戰(zhàn)性。
Miller等[23]提出使用近似對(duì)象的圖元形狀,并以此來產(chǎn)生抓取動(dòng)作。但是,此方法需要一個(gè)簡(jiǎn)單的對(duì)象,不能用于更復(fù)雜的形狀。在參考文獻(xiàn)[24]中,研究人員提出了一種算法,該算法將對(duì)象的形狀近似為一組用于生成抓取的接觸點(diǎn)的平面區(qū)域。最近的研究使用機(jī)器學(xué)習(xí)方法來產(chǎn)生更好的抓取動(dòng)作。在這些方法中,使用合成數(shù)據(jù)集 [25-27]或強(qiáng)化學(xué)習(xí)[28]對(duì)系統(tǒng)進(jìn)行訓(xùn)練。
其他方法使用來自傳感器的數(shù)據(jù)來創(chuàng)建對(duì)象的概率模型。在參考文獻(xiàn)[29-31]中,研究人員提出了一種使用高斯過程重建3D對(duì)象的算法,稱為高斯過程隱式曲面。
一旦開始抓取,就必須對(duì)其進(jìn)行評(píng)估。抓取質(zhì)量[32]可以根據(jù)其幾何形狀、手指的力量和其他許多方面進(jìn)行分析。在當(dāng)前的工作中,我們集中于基礎(chǔ)的方面,即強(qiáng)制閉合、最大的最小抵抗扭力(largest minimum resisted wrench)和面向任務(wù)的質(zhì)量指標(biāo)。
Marturi等[33]提出了一種離線/在線規(guī)劃器來控制工業(yè)機(jī)器人的機(jī)械臂,以便使機(jī)械臂與人類操作者合作。該算法使用預(yù)先學(xué)習(xí)的離線抓取規(guī)劃器生成一組可能的抓取,之后在線檢測(cè)對(duì)象的姿態(tài),并由第二規(guī)劃器根據(jù)機(jī)器人的當(dāng)前狀態(tài)和對(duì)象的姿態(tài)生成一組可行的抓取。
但是,空中操縱比地面操縱更具挑戰(zhàn)性。例如,在空中應(yīng)用中,機(jī)器人和目標(biāo)物體都在移動(dòng)。此外,手臂的動(dòng)態(tài)會(huì)影響空中平臺(tái)的動(dòng)態(tài),從而損害其穩(wěn)定性。一些出版物[34,35]研究了無人機(jī)的穩(wěn)定性、控制性及其機(jī)械手。在當(dāng)前的研究中,我們假設(shè)運(yùn)動(dòng)不是激進(jìn)的,并且控制器的速度足夠快,以補(bǔ)償機(jī)械臂施加在平臺(tái)上的半靜態(tài)外力。
此外,為了實(shí)際執(zhí)行抓取任務(wù),必須運(yùn)行視覺伺服算法來精確移動(dòng)機(jī)械手。根據(jù)數(shù)據(jù),視覺伺服或基于視覺的控制可以分為兩種類型。如果該算法使用3D位置,則稱為基于位置的視覺伺服(position-based visual servoing,PBVS)[36,37];如果該算法僅使用圖像中的2D信息,則將其命名為基于圖像的視覺伺服[37,38]。第三種選擇涉及信息的組合,即所謂的“混合算法”。本文提出了一種檢測(cè)目標(biāo)對(duì)象位置的PBVS方法。設(shè)計(jì)控制律是為了減少末端執(zhí)行器的位置誤差。
高空作業(yè)平臺(tái)需要將自己放置在工作區(qū)內(nèi),以控制其位置。一種標(biāo)準(zhǔn)技術(shù)是使用運(yùn)動(dòng)捕捉系統(tǒng)(motion-capture,MOCAP)在研究過程中準(zhǔn)確定位無人機(jī)。該系統(tǒng)以較高的頻率定位機(jī)器人,這在測(cè)試新技術(shù)和算法時(shí)非常方便。戶外任務(wù)還需要機(jī)器人的精確位置。GPS為在室外定位機(jī)器人提供了大規(guī)模而應(yīng)用廣泛的系統(tǒng)。但是,標(biāo)準(zhǔn)設(shè)備在操作任務(wù)中有令人無法接受的錯(cuò)誤。為了解決這個(gè)問題,我們研究小組[39]提出了一種使用全站儀的方法,該方法將信息與空中機(jī)器人的慣性測(cè)量單元融合在一起,以便將機(jī)器人定位在戶外的任何地方。
空中機(jī)械手可以根據(jù)手臂的配置進(jìn)行分類,本工作著重于串行機(jī)械手的使用。Laiacker等[40]開發(fā)了一種配備有工業(yè)機(jī)械臂的直升機(jī)來執(zhí)行操縱任務(wù)。當(dāng)前對(duì)空中操縱的興趣日益增加,研究人員將兩個(gè)(而不是一個(gè))機(jī)械手放置在同一平臺(tái)上,以便其用兩只手執(zhí)行靈巧操作。Korpela等[41]提出在工業(yè)環(huán)境中使用一對(duì)機(jī)械手來轉(zhuǎn)動(dòng)閥門?,F(xiàn)有研究已經(jīng)發(fā)現(xiàn),雙機(jī)械手配置[42]對(duì)于執(zhí)行操縱任務(wù)有較高的通用性。
本文提出了一個(gè)完整的空中操縱系統(tǒng)的設(shè)計(jì),其中包括開發(fā)用于無人機(jī)的機(jī)械手,用于檢測(cè)需要操縱的物體的視覺感知系統(tǒng)以及用于引導(dǎo)手臂的視覺伺服系統(tǒng)。這項(xiàng)工作是在歐盟資助的項(xiàng)目AEROARMS(SI-1439 / 2015)的框架下進(jìn)行的。該項(xiàng)目旨在開發(fā)一種具有靈巧操縱功能的新型空中平臺(tái),以在工業(yè)環(huán)境中執(zhí)行檢查和維護(hù)任務(wù)。
這項(xiàng)工作將在AEROARMS項(xiàng)目中開發(fā)的履帶機(jī)器人的模型用作檢測(cè)算法和掌握實(shí)驗(yàn)的例子。同樣的方法也可以應(yīng)用于其他對(duì)象。
本文的其余部分安排如下:第2節(jié)介紹了為執(zhí)行操縱任務(wù)而開發(fā)的空中機(jī)械手系統(tǒng);第3節(jié)介紹了用于檢測(cè)、跟蹤和定位目標(biāo)對(duì)象的視覺算法;第4節(jié)展示了抓取和重新計(jì)劃算法,該算法考慮了機(jī)器人和目標(biāo)的可能運(yùn)動(dòng);第5節(jié)描述了執(zhí)行任務(wù)的全局過程和為此設(shè)計(jì)的狀態(tài)機(jī);第6節(jié)展示了通過飛行機(jī)械手的實(shí)際抓取實(shí)驗(yàn)對(duì)系統(tǒng)進(jìn)行的實(shí)驗(yàn)分析;最后,第7節(jié)討論了這項(xiàng)研究的結(jié)果和未來將采取的行動(dòng)。
圖1. 裝備在操縱器上的機(jī)械臂。
多軸飛行器已經(jīng)被證明是執(zhí)行檢查和維護(hù)任務(wù)的實(shí)用解決方案[6]。與固定翼飛機(jī)不同,多軸飛行器可以在空間中自由移動(dòng)并懸停在所需位置以執(zhí)行任務(wù)。
該項(xiàng)目選擇了共面六旋翼飛機(jī)來執(zhí)行操縱任務(wù)。此配置比較小的多軸飛行器具有更高的穩(wěn)定性和強(qiáng)度,可以滿足執(zhí)行任務(wù)的有效載荷要求。圖1顯示了用于實(shí)驗(yàn)的平臺(tái)。平臺(tái)框架是由DroneTools SL1http://www.dronetools.es.設(shè)計(jì)和制造的六軸飛行器。
其余的硬件包括雙機(jī)械手和軟件是由來自塞維利亞大學(xué)的本文作者設(shè)計(jì)和開發(fā)的。
該平臺(tái)有一個(gè)Pixhawk2https://pixhawk.org/.自動(dòng)駕駛儀,負(fù)責(zé)機(jī)器人的飛行控制。底部安裝了Intel NUC計(jì)算機(jī),以運(yùn)行從視覺算法到機(jī)械手控制在內(nèi)的所有系統(tǒng)。最后,平臺(tái)內(nèi)置了英特爾實(shí)感攝像頭以感知環(huán)境。
為了進(jìn)行操縱,該多軸飛行器配備有一對(duì)機(jī)械臂。這些臂具有三自由度(three-degree-of-freedom, 3DoF)和集成且可互換的末端執(zhí)行器,根據(jù)應(yīng)用情況,它們可提供4~6個(gè)自由度。圖1顯示了帶有抓爪作為末端執(zhí)行器的臂的模型。使用兩個(gè)機(jī)械手代替一個(gè)機(jī)械手在很多角度上是有利的。一方面,兩個(gè)機(jī)械手可以執(zhí)行更復(fù)雜的操作任務(wù),因?yàn)槊總€(gè)手臂可以執(zhí)行不同的操作。另外,具有兩個(gè)末端執(zhí)行器(如兩個(gè)抓爪)可以使抓取更加穩(wěn)定,因?yàn)榭梢詮膬蓚€(gè)不同的側(cè)面抓取物體。僅使用一個(gè)抓取器,抓取就更加受限,因?yàn)樵谠S多情況下,施加在質(zhì)心上的重力將不對(duì)稱。因此,如果可能的話,唯一穩(wěn)定的抓取位于目標(biāo)頂部,這會(huì)將操縱限制在頂部具有手柄的目標(biāo)上。
此處介紹的機(jī)械臂已在名為hecatonquiros3https://github.com/bardo91/hecatonquiros/.的開源項(xiàng)目中發(fā)布,該項(xiàng)目的目標(biāo)是通用、便宜且易于使用的機(jī)械臂。這些手臂設(shè)計(jì)輕巧,因此相對(duì)較小的無人機(jī)就可以攜帶它們。它們是3D打印的,因?yàn)檫@種材料相對(duì)便宜并且不需要后期處理,從而降低了整體生產(chǎn)成本,并可以直接組裝。單臂的成本約為150美元(包括智能串行伺服器)。該項(xiàng)目還為運(yùn)動(dòng)學(xué)求解器提供了基于OpenRAVE的包裝器,并支持在進(jìn)行實(shí)際實(shí)驗(yàn)之前使用機(jī)器人操作系統(tǒng)(robot operating system, ROS)進(jìn)行仿真。
圖2(a)顯示了這對(duì)手臂的運(yùn)動(dòng)學(xué)可達(dá)性,用于估計(jì)機(jī)器人執(zhí)行操作任務(wù)的適當(dāng)位置。圖2(b)和(c)是為機(jī)器人定義的坐標(biāo)系,其被用于將檢測(cè)到的對(duì)象的坐標(biāo)從相機(jī)的坐標(biāo)轉(zhuǎn)換為手臂的坐標(biāo)系,并以此移動(dòng)末端執(zhí)行器。
如前所述,無人機(jī)配備了英特爾RealSense D435設(shè)備。選擇該設(shè)備是因?yàn)樗軌蛟趹敉猥@得合理準(zhǔn)確的深度信息。視覺算法利用深度信息來獲取對(duì)象的6D姿態(tài)以執(zhí)行操縱過程。該攝像機(jī)還可以在近距離(0.2 m)處捕獲深度,因此在短距離內(nèi)也具有出色的質(zhì)量,這使其成為機(jī)器人操作任務(wù)中手眼協(xié)調(diào)的理想選擇。
作為總結(jié),表1概括了整個(gè)空中系統(tǒng)的規(guī)格。
本節(jié)介紹用于檢測(cè)和跟蹤目標(biāo)對(duì)象的算法。目標(biāo)檢測(cè)是一項(xiàng)艱巨的任務(wù),但是,深度學(xué)習(xí)技術(shù)的使用徹底改變了感知的方式。所提出的方法將卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)與隨機(jī)樣本共識(shí)算法相結(jié)合,以檢測(cè)目標(biāo)并為空中機(jī)械手計(jì)算其姿態(tài)。該算法總結(jié)在圖 3中。
該算法基于兩個(gè)階段。首先,應(yīng)用目標(biāo)檢測(cè)CNN生成候選對(duì)象。然后,使用對(duì)齊算法來計(jì)算目標(biāo)對(duì)象的確切位置。
CNN如今已被廣泛使用,并為許多困難問題提供了解決方案,如本研究中的目標(biāo)檢測(cè)。如果目標(biāo)對(duì)象是已知的,則僅需要標(biāo)記的圖像數(shù)據(jù)庫即可訓(xùn)練網(wǎng)絡(luò)。不過,盡管這些算法高度可并行化,但它們?cè)跀?shù)學(xué)運(yùn)算中比較煩瑣。通常使用圖形單元處理器(GPU),因?yàn)樗鼈兪菍iT為有效執(zhí)行并行操作而設(shè)計(jì)的。為此,最常用的一些框架是TensorFlow [43]和Caffe [44]。這些框架為實(shí)施最新網(wǎng)絡(luò)提供了廣泛的“模型動(dòng)物園”,從而加快了測(cè)試和開發(fā)過程。但是,必須考慮到最終算法將由無人機(jī)中的機(jī)載計(jì)算機(jī)執(zhí)行,這可能會(huì)有一些限制,如計(jì)算統(tǒng)一設(shè)備體系結(jié)構(gòu)(compute unified device architecture, CUDA)兼容性。在第6節(jié)中,比較了三種不同設(shè)備(具有GTX1070的筆記本電腦、Nvidia的Jetson TX1和英特爾NUC計(jì)算機(jī))上不同算法(F-RCNN、SSD和YOLO)之間的比較。
圖2. 機(jī)械手的運(yùn)動(dòng)學(xué)可達(dá)性及用于在線模擬和規(guī)劃的計(jì)算機(jī)輔助設(shè)計(jì)模型。(a)空中機(jī)械手的運(yùn)動(dòng)學(xué)可達(dá)性;(b)OpenRAVE中的6自由度機(jī)械臂模型和坐標(biāo)系;(c)在OpenRAVE中建立4自由度機(jī)械臂模型和坐標(biāo)系。
表1 平臺(tái)特征
圖3. 用于目標(biāo)物體檢測(cè)和姿態(tài)估計(jì)的視覺算法方案。EKF(extended Kalman fi lter):擴(kuò)展卡爾曼濾波器。
攝像機(jī)提供的RGB圖像被送入CNN。結(jié)果,獲得了一組候選邊界框。具有最高概率的邊界框被用于裁剪RGB和深度圖像。裁剪的圖像被用于計(jì)算局部點(diǎn)云,以將圖片中的信息與設(shè)備的校準(zhǔn)矩陣結(jié)合起來。在下一步中這些彩色的點(diǎn)云將被使用。
簡(jiǎn)而言之,使用目標(biāo)檢測(cè)算法可減少對(duì)齊階段對(duì)對(duì)象的搜索,將可搜索區(qū)域減少50%,如果搜索器只占用圖像的一小部分,則可減少多達(dá)80%。
此時(shí),已經(jīng)獲得了包含目標(biāo)對(duì)象的點(diǎn)云片段。為了定位對(duì)象,將使用對(duì)齊算法。該算法把對(duì)象從背景中過濾出來。一個(gè)搜索器的點(diǎn)云模型被用于執(zhí)行基于迭代最近點(diǎn)(iterative closest point, ICP)的算法[45,46],該算法將會(huì)輸出目標(biāo)的姿態(tài)。ICP方法使用所有可用信息來增強(qiáng)對(duì)齊過程。它包括點(diǎn)的3D位置[式(1)]、從模型和場(chǎng)景獲得的法線信息[式(2)]以及顏色數(shù)據(jù)[式(3)]。在仿射變換的迭代計(jì)算之前,在選擇點(diǎn)的過程中以剔除離群值的形式使用此信息。
式中,Ddist是點(diǎn)云的任意兩個(gè)點(diǎn)x1和x2之間的幾何距離。
式中,Dnorm是法線A1和A2之間的夾角的余弦值;A1和A2分別是點(diǎn)云的任意兩個(gè)點(diǎn)x1和x2的法線。
式中,Dcolor是分配給點(diǎn)云的任意兩個(gè)點(diǎn)x1和x2的顏色之間的絕對(duì)距離;R、G、B分別是紅色、綠色和藍(lán)色通道的值。
值得注意的是,ICP算法對(duì)初始條件敏感。因此,在前一時(shí)刻(k-1)中計(jì)算出的姿態(tài)(k是前一次計(jì)算出的云的對(duì)應(yīng)時(shí)刻)被用于為算法提供良好的估計(jì)值。這個(gè)事實(shí),加上輸入云的裁剪和清理,使算法收斂到正確解的可能性最大化。
最后,算法的結(jié)果由擴(kuò)展的卡爾曼濾波器(EKF)過濾[47,48]。該濾波器有助于減少結(jié)果中的噪聲,并有可能預(yù)測(cè)對(duì)象的相對(duì)速度,這可用于改善對(duì)對(duì)象姿態(tài)的預(yù)估。研究選擇了一個(gè)簡(jiǎn)單的運(yùn)動(dòng)學(xué)模型來估計(jì)物體的狀態(tài)。
為了能夠抓取目標(biāo)物體,開發(fā)了抓取規(guī)劃算法,該算法包括以下步驟:首先,考慮目標(biāo)的形狀,生成一組可行的抓??;接下來,將這些抓取根據(jù)其屬性進(jìn)行排列;最后,根據(jù)計(jì)算出的每個(gè)瞬間的視覺信息選擇最佳的抓取方式。在抓取過程中,如果對(duì)象的姿態(tài)使當(dāng)前的抓取無法實(shí)現(xiàn),則規(guī)劃器將選擇最接近的最佳抓取方式。
圖4. 用于接觸點(diǎn)計(jì)算的射線追蹤算法示例。(a)用于計(jì)算抓取點(diǎn)的初始射線;(b)使用射線跟蹤算法計(jì)算得到的抓取點(diǎn)。
首先,在目標(biāo)對(duì)象的表面上生成一組可能的接觸點(diǎn)。我們的方法基于參考文獻(xiàn)[49]中描述的抓取生成算法。該算法將一組光線從邊界框投射到目標(biāo)對(duì)象,每條射線與表面碰撞一次,然后計(jì)算表面法線。一個(gè)使用該算法的例子如圖4所示。
但是,此方法可能無法為形狀復(fù)雜的對(duì)象生成可行的抓取方案。圖5展示了用于U形物體的射線追蹤算法的示例??梢钥闯?,如果抓取器的孔徑小于圖5(b)中標(biāo)為“a”的尺寸,則該物體對(duì)于機(jī)器人來說是無法抓取的。但是,如果該算法考慮了對(duì)象表面的所有可能的內(nèi)部角點(diǎn),且如果抓取器的孔徑大于圖5(b)中標(biāo)為“b”或“d”的尺寸,那么機(jī)器人就可以抓取對(duì)象。
一般而言,令p為穿過物體的單射線,p與網(wǎng)格的碰撞次數(shù)為Mcollisions=Mfolds×2;因此,可能產(chǎn)生抓取的相對(duì)接觸點(diǎn)的組合數(shù)量為:
式中,Mgrasps是可能的抓取次數(shù);Mfolds是射線反射的層數(shù);j是SUM運(yùn)算符的內(nèi)部循環(huán)變量。
如果對(duì)象的網(wǎng)格過于復(fù)雜,則生成候選項(xiàng)可能會(huì)占用大量時(shí)間。為了加快算法的這一步,算法將生成的接觸點(diǎn)存儲(chǔ)在二進(jìn)制文件中,這樣,如果對(duì)象相同,則可以在任何任務(wù)中重用它們。一旦執(zhí)行了該光線跟蹤,未轉(zhuǎn)換的結(jié)果就會(huì)存儲(chǔ)在數(shù)據(jù)庫中;如果以后要掌握同一對(duì)象或同一對(duì)象的不同實(shí)例,則將恢復(fù)該數(shù)據(jù)庫,從而避免了所有重復(fù)的光線跟蹤計(jì)算。
然后,將接觸點(diǎn)集用于生成候選抓取規(guī)劃。根據(jù)對(duì)象相對(duì)于空中機(jī)械手的姿態(tài),在內(nèi)部模擬器中對(duì)抓取進(jìn)行采樣。該算法計(jì)算每次抓取的可達(dá)性、機(jī)械手與目標(biāo)對(duì)象之間可能發(fā)生的碰撞以及每次抓取的質(zhì)量。首先,每個(gè)手臂采樣所有可能的候選解,以生成每個(gè)手臂的可行抓取集。接下來,對(duì)所有可行的抓取進(jìn)行成對(duì)測(cè)試,以獲取雙重抓取的列表。這些抓取的質(zhì)量根據(jù)力封閉和最大的最小抵抗扭力進(jìn)行分析,如參考文獻(xiàn)[32]所述。然后將所有這些抓取信息存儲(chǔ)起來,以在規(guī)劃過程中使用。
圖5. 對(duì)于非凸對(duì)象使用抓取算法的示例。(a)穿過物體的光線的等距視圖;(b)前視圖,紅線代表用于追蹤可能的抓點(diǎn)的射線。
布置好抓取列表后,將根據(jù)當(dāng)前的相對(duì)目標(biāo)對(duì)象姿態(tài)選擇最佳抓取。這是雙機(jī)械手最緊密、最穩(wěn)定的抓取。在抓取之前,將手臂移到捕捉前位置;這可以防止機(jī)械手執(zhí)行大型危險(xiǎn)動(dòng)作,因?yàn)榉乐箼C(jī)械手與機(jī)器人的飛行組件碰撞非常重要。
假設(shè)它是由描述其關(guān)節(jié)狀態(tài)的標(biāo)量變量Θ = θ1,...,θn指定的多鏈接機(jī)器人的機(jī)械手L。主體的每個(gè)鏈接的末端都有一個(gè)特定的位置S=s1, ...,sn,其中一些是所謂的末端執(zhí)行器??梢允褂肈enavit-Hartenberg (DH)公式[50]將這些位置描述為機(jī)械手關(guān)節(jié)之間的轉(zhuǎn)換鏈,并通過一組參數(shù)DHi= {αi,ai,di,φi}進(jìn)行計(jì)算。αi表示關(guān)節(jié)的z軸之間的角度;ai是沿著第一關(guān)節(jié)的x軸方向的關(guān)節(jié)之間的距離;di是沿著第一關(guān)節(jié)的z軸方向的兩個(gè)關(guān)節(jié)之間的距離;φi是沿著第一個(gè)關(guān)節(jié)的z軸方向的關(guān)節(jié)的x軸之間的角度。每個(gè)DHi元素都是一個(gè)矩陣,該矩陣在鏈接i-1到i之間轉(zhuǎn)換;也就是說,它執(zhí)行正向運(yùn)動(dòng)學(xué)(forward kinematics, FK)。
目的是獲得一組適當(dāng)?shù)慕宇^Θ,該接頭將末端執(zhí)行器放置在目標(biāo)位置Tr上,即執(zhí)行逆向運(yùn)動(dòng)學(xué)。這個(gè)問題已被廣泛研究。遺憾的是,在大多數(shù)情況下沒有簡(jiǎn)單的解決方案。迭代方法[51]和采樣方法[52]非常適合此問題。FK由函數(shù)Θ?S(Θ)即?N? ?6給出,該函數(shù)描述從N維空間到6D空間的FK,該FK由機(jī)械手末端執(zhí)行器的位置和方向組成。這些函數(shù)可以使用接近當(dāng)前關(guān)節(jié)狀態(tài)Θ的雅可比矩陣[J(Θ)]線性近似。速度可以表示為:
式中,S(Θ)代表末端執(zhí)行器在關(guān)節(jié)空間Θ中的位置。
式中,δ是偏導(dǎo)數(shù);θn是關(guān)節(jié)空間的特定關(guān)節(jié);m和n是用來定義完整的雅可比矩陣J(Θ)的變量的索引迭代器(index iterator)。
最終目的是利用來自傳感器的視覺信息將手臂引導(dǎo)向目標(biāo)抓取。在這項(xiàng)工作中,采用了雅可比阻尼最小二乘(damped-least square, DLS)梯度下降法[53,54]來確保手臂朝目標(biāo)位置匯聚。事實(shí)證明,該方法對(duì)反方法和偽逆方法[54]更穩(wěn)健,接近于雅可比矩陣中的不穩(wěn)定性和奇異性。令Xk和Qk為由抓取計(jì)劃給出并由視覺算法更新的末端執(zhí)行器的定向目標(biāo)位置。目的是通過更新其關(guān)節(jié)來更新機(jī)械手的姿態(tài)。
DLS進(jìn)行如下操作:式(7)和式(8)根據(jù)機(jī)器人的當(dāng)前狀態(tài)和末端執(zhí)行器的目標(biāo)姿態(tài)來計(jì)算;接下來,式(9)用于計(jì)算一個(gè)矢量,該矢量包含機(jī)器人關(guān)節(jié)值的增量,該增量允許末端執(zhí)行器朝目標(biāo)姿態(tài)移動(dòng)。
式中,Xtarget和Qtarget是末端執(zhí)行器的目標(biāo)位置;Xk和Qk是K處瞬間末端執(zhí)行器的目標(biāo)位置和方向。
式中,Jc、JX和JQ是當(dāng)前狀態(tài)下對(duì)應(yīng)的雅可比位置和方向。
式中,ΘK代表當(dāng)前關(guān)節(jié)的手臂角度;λ是阻尼系數(shù),用于減少與矩陣求逆有關(guān)的問題。λ必須足夠大,以確保算法的行為足以接近奇點(diǎn),但又不能太大,以免不能保證良好的收斂速度。I表示大小為Jc的單位矩陣。這些是根據(jù)目標(biāo)對(duì)象的位置計(jì)算的,該位置在視覺模塊中計(jì)算。
此外,使用一對(duì)機(jī)械手還需要其他約束。主要約束是需要避免與其自身以及與其他對(duì)象的碰撞。但是,檢查任何非凸對(duì)象的碰撞都并非易事。在某些情況下,使用凸包是有利的,因?yàn)榭梢杂脕頇z查它們。但是,這種簡(jiǎn)化在某些應(yīng)用中可能很困難。現(xiàn)代方法將物體分成一組凸包 [55,56]。這樣可以得到更準(zhǔn)確的解決方案,同時(shí)保留使用凸包的優(yōu)勢(shì)和簡(jiǎn)化的數(shù)學(xué)方法。當(dāng)前工作中使用了OpenRAVE給出的實(shí)現(xiàn)[57],它集成了這些快速方法。
最后,由于空中機(jī)器人的振動(dòng),或者如果目標(biāo)物體是可移動(dòng)的,都可能無法獲得最佳抓取。該算法在單獨(dú)的線程中對(duì)照抓取數(shù)據(jù)庫連續(xù)測(cè)量當(dāng)前抓取的質(zhì)量,以克服此問題。如果抓取變得不可行,算法將切換到新的最佳選擇。
本文介紹的工作涵蓋了無人機(jī)從平臺(tái)起飛到抓取目標(biāo)物體后降落的整個(gè)過程。如此完整的任務(wù)需要復(fù)雜的系統(tǒng)設(shè)計(jì)。該系統(tǒng)由5個(gè)模塊組成,如圖6和圖7所示。每個(gè)模塊負(fù)責(zé)無人機(jī)中的單個(gè)任務(wù)。為了簡(jiǎn)化開發(fā)過程,模塊之間的通信由ROS進(jìn)行[58]。在本節(jié)中,每個(gè)模塊均以空閑狀態(tài)初始化,該空閑狀態(tài)由全局信號(hào)Start觸發(fā)。
圖6(a)展示了全局狀態(tài)機(jī),它負(fù)責(zé)任務(wù)的全局行為。它由三種狀態(tài)組成:接近、抓取和歸位。接近會(huì)觸發(fā)Take_off信號(hào)并等待,直到無人機(jī)起飛。之后,全球狀態(tài)機(jī)將接近信號(hào)并攜帶一個(gè)初始航路點(diǎn),發(fā)送到靠近目標(biāo)物體的無人機(jī)控制器。一旦無人機(jī)到達(dá)目標(biāo)位置,它就會(huì)一直保持到找到目標(biāo)物體為止。然后狀態(tài)機(jī)切換到抓取狀態(tài),在該狀態(tài)下,視覺伺服開始起作用以抓取目標(biāo)。抓住物體后,狀態(tài)機(jī)將切換到歸位狀態(tài),該狀態(tài)將在無人機(jī)降落時(shí)結(jié)束。
圖6(b)顯示了無人機(jī)控制器的狀態(tài)機(jī),它由6個(gè)狀態(tài)組成。它從空閑狀態(tài)開始。無人機(jī)起飛后,它將一直懸停直到下一個(gè)信號(hào)。如果全局狀態(tài)機(jī)發(fā)送了接近信號(hào),則無人飛行器控制狀態(tài)機(jī)將切換到航點(diǎn)狀態(tài),并將無人飛行器移至目標(biāo)位置。如果找到了目標(biāo),則它將切換到跟蹤狀態(tài)。跟蹤模塊負(fù)責(zé)檢查目標(biāo)物體是否處于要抓取的合理位置。如果是這樣,它將發(fā)送接近信號(hào)。當(dāng)物體丟失或抓住物體時(shí),此狀態(tài)結(jié)束。
圖7(a)顯示了視覺狀態(tài)機(jī),它具有最簡(jiǎn)單的結(jié)構(gòu)。該狀態(tài)機(jī)連續(xù)運(yùn)行視覺算法,以檢測(cè)目標(biāo)對(duì)象并計(jì)算其姿態(tài)。當(dāng)找到對(duì)象并計(jì)算出其姿態(tài)時(shí),狀態(tài)機(jī)將該信息與Found信號(hào)一起發(fā)布。如果丟失了對(duì)象,則發(fā)送丟失的信號(hào)以引起適當(dāng)?shù)男Ч?/p>
圖7(b)顯示了抓取規(guī)劃器模塊的狀態(tài)機(jī),該狀態(tài)機(jī)負(fù)責(zé)計(jì)算對(duì)象的適當(dāng)抓取。它還根據(jù)目標(biāo)抓地力運(yùn)行伺服算法來計(jì)算所需的手臂關(guān)節(jié)。它從估計(jì)抓取的已安排列表開始。之后,如果對(duì)象靠近手臂范圍內(nèi),則狀態(tài)機(jī)將切換到伺服狀態(tài),在該狀態(tài)下,視覺伺服會(huì)發(fā)布手臂的目標(biāo)關(guān)節(jié)。如第4節(jié)所述,手臂不會(huì)直接被發(fā)送到抓取姿態(tài)。而是將它們發(fā)送到靠近它的位置,稱為“接近姿態(tài)”。一旦手臂處于接近位置,狀態(tài)機(jī)就會(huì)切換到抓取狀態(tài),在該狀態(tài)下,手臂會(huì)快速朝著對(duì)象移動(dòng)并抓住它。
最后,圖7(c)顯示了手臂控制器狀態(tài)機(jī)。機(jī)械手控制器負(fù)責(zé)發(fā)布有關(guān)機(jī)械手的信息,并提供用于移動(dòng)它們的界面。它還限制了手臂的速度和軌跡,以確保其安全。為了安全起見,已設(shè)置緊急停止(E_S)狀態(tài)以從外部使手臂停止。緊急停止還會(huì)使無人機(jī)保持懸停狀態(tài),以防止其墜毀。
圖6. 系統(tǒng)中的前兩個(gè)子模塊。(a)全局狀態(tài)機(jī);(b)無人機(jī)控制狀態(tài)機(jī)。E_S:緊急停止。
圖7. 系統(tǒng)的前三個(gè)子模塊。(a)視覺狀態(tài)機(jī);(b)抓取規(guī)劃器狀態(tài)機(jī);(c)手臂控制器狀態(tài)機(jī)。
本節(jié)首先描述了為評(píng)估和驗(yàn)證系統(tǒng)和算法而進(jìn)行的實(shí)驗(yàn)。接下來,本文將描述和討論一組實(shí)驗(yàn),以顯示系統(tǒng)在執(zhí)行空中操縱任務(wù)中的性能。如前所述,這項(xiàng)工作著重于抓取在項(xiàng)目AEROARMS期間開發(fā)的、用于工廠管道檢查的履帶機(jī)器人。但是,該算法對(duì)任何對(duì)象都能同樣有效地使用,因?yàn)橐曈X算法和計(jì)劃過程都沒有對(duì)此特定對(duì)象的任何特定限制??梢詮木W(wǎng)站上找到實(shí)驗(yàn)的視頻摘要1https://youtu.be/nXYlzqwM8kA.。
如第3節(jié)所述,在視覺算法的第一階段,使用目標(biāo)檢測(cè)CNN來檢測(cè)對(duì)象。這為計(jì)算成本更高的對(duì)齊算法提供了良好的初始解決方案。
為了選擇最佳的選項(xiàng),使其滿足操縱任務(wù)的系統(tǒng)要求和空中機(jī)械手的有效載荷限制,在三個(gè)不同的設(shè)備中對(duì)三個(gè)CNN進(jìn)行了測(cè)試。測(cè)試的特定CNN是F-RCNN、SSD300和YOLO(微型YOLO v2)。將它們?cè)谝韵氯N設(shè)備中進(jìn)行了測(cè)試:裝有GTX1070的筆記本電腦、杰特遜TX1和具有虹膜GPU的英特爾NUC。前兩個(gè)設(shè)備具有CUDA功能,因?yàn)樗鼈兙哂蠳vidia GPU。但是,由于缺少CUDA兼容性,第三種設(shè)備無法使用通用框架。表2總結(jié)了不同設(shè)備中不同檢測(cè)算法的平均計(jì)算時(shí)間。由于英特爾NUC不兼容CUDA,因此僅評(píng)估了YOLO。具體來說,是YOLO的OpenCL實(shí)現(xiàn)1https://github.com/ganyc717/Darknet-On-OpenCL.。
從表中可以清楚地看到,筆記本電腦的性能超過了其他設(shè)備的性能。但是,由于有效載荷的嚴(yán)格限制,在使用無人機(jī)時(shí)只能考慮其他兩個(gè)設(shè)備。首先,YOLO在Jetson TX1設(shè)備中的運(yùn)行速度要快一些。但是,英特爾NUC計(jì)算機(jī)的CPU功能大大超過了Jetson。由于整個(gè)系統(tǒng)需要使用其余算法的許多流程,因此選擇了英特爾NUC平臺(tái)。
區(qū)域提議算法(CNN)的主要好處在于:它可以大大減少對(duì)齊過程中要使用的云的大?。ㄔ?0%~80%之內(nèi))。它具有雙重改進(jìn),因?yàn)樗鼫p少了此步驟的計(jì)算時(shí)間,同時(shí)還允許算法收斂于一個(gè)最優(yōu)解;由于梯度下降算法通常對(duì)異常值和初始條件敏感,因此可以將收斂性降至最低。
一旦檢測(cè)到物體并估計(jì)其姿態(tài),該算法便會(huì)執(zhí)行第4節(jié)中所述的抓取計(jì)劃過程。這個(gè)過程可以分為三個(gè)階段。第一階段是接觸點(diǎn)的計(jì)算,此過程可以預(yù)先計(jì)算,因?yàn)樗鼉H取決于為算法選擇的分辨率和對(duì)象的模型。第二階段是分別計(jì)算每個(gè)手臂的可行握力。表3總結(jié)了各個(gè)對(duì)象每個(gè)階段的平均計(jì)算時(shí)間。最后,將成對(duì)的抓取按照其質(zhì)量指標(biāo)進(jìn)行排列。第二列評(píng)估生成初始接觸點(diǎn)集所花費(fèi)的時(shí)間。網(wǎng)格分辨率是在第4.1節(jié)中所述的光線跟蹤評(píng)估期間,使用的初始光線組之間的距離。第三列顯示了評(píng)估上一步生成的抓取的可行性所花費(fèi)的時(shí)間。最終,第四列顯示了評(píng)估抓取的質(zhì)量所花費(fèi)的時(shí)間。
為了防止手臂與高空作業(yè)平臺(tái)的任何部分發(fā)生碰撞,須在手臂的肩膀上方留一個(gè)安全的空間。該體積對(duì)應(yīng)于機(jī)器人的飛行部分,絕不能與之碰撞。出于安全原因,在規(guī)劃過程和伺服算法中會(huì)考慮該體積。
圖8顯示了在OpenRAVE中運(yùn)行的在線模擬序列,以進(jìn)行抓取計(jì)劃過程。之后,將一組可行的抓取信息存儲(chǔ)起來,以供以后在重新計(jì)劃階段使用。6.2. 模擬和試驗(yàn)臺(tái)實(shí)驗(yàn)
為了在實(shí)際實(shí)驗(yàn)之前驗(yàn)證手臂的性能及其控制,進(jìn)行了一組模擬。所要抓取的物體的姿態(tài)帶有一定的噪聲。然后對(duì)這些對(duì)象進(jìn)行動(dòng)畫處理,以強(qiáng)調(diào)手臂伺服算法。顯示了三個(gè)具有不同形狀的對(duì)象。但是,在此階段可以選擇任何其他對(duì)象,因?yàn)樵撍惴軌蛴?jì)算任何網(wǎng)格的抓地力。
圖9顯示了一系列模擬實(shí)驗(yàn)的快照,以演示在不同情況下手臂的可達(dá)性。在這些模擬實(shí)驗(yàn)中,算法與實(shí)際實(shí)驗(yàn)一樣進(jìn)行,但是對(duì)象的姿態(tài)由模擬器提供,并且具有一定的噪聲水平。首先,如第4.1節(jié)所述,該算法計(jì)算出一組可行的抓取。接下來,根據(jù)對(duì)象的位置,會(huì)選擇最佳的抓取并將手臂朝對(duì)象引導(dǎo),如第4.2節(jié)所述。一旦手臂靠近抓取姿態(tài),系統(tǒng)就會(huì)發(fā)送信號(hào)以閉合抓取器。
表2 被測(cè)設(shè)備中不同算法的計(jì)算時(shí)間
表3 每個(gè)網(wǎng)格面用于抓取計(jì)劃過程的計(jì)算時(shí)間
圖8. 抓取計(jì)劃過程的不同樣本。
這些實(shí)驗(yàn)的目的是證明不管視覺如何,該算法都能夠處理不同的對(duì)象和形狀。它生成一組可行的抓取,并根據(jù)對(duì)象姿態(tài)的估計(jì)動(dòng)態(tài)選擇最佳選項(xiàng)。
在實(shí)際飛行之前,整個(gè)系統(tǒng)(包括視覺系統(tǒng))都在測(cè)試臺(tái)上進(jìn)行了測(cè)試(圖10):空中機(jī)械手被放置在固定的結(jié)構(gòu)中,并移動(dòng)目標(biāo)物體。
圖9. 在不同時(shí)間使用不同對(duì)象進(jìn)行的模擬測(cè)試樣本。
圖10. 在室內(nèi)測(cè)試臺(tái)上測(cè)試整個(gè)系統(tǒng)。(a)相機(jī)視圖及履帶模型的二維檢測(cè);(b)機(jī)器人的3D虛擬化,包括履帶和目標(biāo)抓取的估計(jì)位置;(c)實(shí)驗(yàn)的第三視角。
本節(jié)描述了在真實(shí)環(huán)境中演示系統(tǒng)性能的實(shí)驗(yàn)。為進(jìn)行實(shí)驗(yàn)打印了一個(gè)爬行機(jī)器人的模型,準(zhǔn)備了兩個(gè)不同的設(shè)置。在第一個(gè)室內(nèi)的設(shè)置中,根據(jù)MOCAP系統(tǒng)獲得的位置,無人機(jī)執(zhí)行了完全自主的操作。第二種設(shè)置旨在對(duì)室外系統(tǒng)進(jìn)行測(cè)試。兩個(gè)實(shí)驗(yàn)均選擇了4DoF夾持器,因?yàn)樗?DoF版本更堅(jiān)固。
第一個(gè)關(guān)鍵模塊是視覺系統(tǒng),該視覺系統(tǒng)計(jì)算要進(jìn)行抓取計(jì)劃的被抓取物體的姿態(tài),將手臂模塊送入伺服系統(tǒng),并為無人機(jī)提供參考位置。圖11顯示了該算法的結(jié)果。圖11(a)展示了使用CNN在RGB圖像中的目標(biāo)檢測(cè)結(jié)果。圖11(b)顯示了使用深度圖像計(jì)算的點(diǎn)云片段,以及根據(jù)卡爾曼濾波器過濾后的對(duì)齊算法估算出的物體姿態(tài)。如圖所示,姿態(tài)估計(jì)通過重疊的紅點(diǎn)云和坐標(biāo)系突出顯示。
圖12展示了如何使用MOCAP系統(tǒng)從視覺系統(tǒng)對(duì)照地面實(shí)況對(duì)物體的姿態(tài)進(jìn)行估算。估算顯示均方根誤差(root mean square error, RMSE)的平均值小于0.02 m。該準(zhǔn)確性對(duì)于確保機(jī)器人能夠執(zhí)行抓地任務(wù)至關(guān)重要。在估計(jì)機(jī)器人的位置時(shí),較大的誤差會(huì)帶來問題,從而導(dǎo)致機(jī)器人錯(cuò)過抓取,甚至與環(huán)境相撞。
圖13顯示了另一個(gè)測(cè)試視覺檢測(cè)模塊的實(shí)驗(yàn)。在此實(shí)驗(yàn)中,實(shí)體模型沿管道移動(dòng)。無人機(jī)和履帶的位置都通過視覺系統(tǒng)和MoCap系統(tǒng)進(jìn)行了測(cè)量。
該系統(tǒng)的準(zhǔn)確性首先通過MoCap系統(tǒng)在室內(nèi)的受控環(huán)境下進(jìn)行測(cè)試。任務(wù)是從無人機(jī)起飛開始的;然后,無人機(jī)執(zhí)行第5節(jié)中說明的管道操縱。圖14提供了該實(shí)驗(yàn)的快照。圖15顯示了兩次視覺伺服測(cè)試期間的關(guān)節(jié)值。虛線對(duì)應(yīng)于目標(biāo)關(guān)節(jié)值,實(shí)線對(duì)應(yīng)于實(shí)際關(guān)節(jié)值。該圖顯示了當(dāng)先前的抓取變得無法到達(dá)時(shí)系統(tǒng)如何切換到新的抓取。
最后,圖16提供了戶外實(shí)驗(yàn)測(cè)試臺(tái)的照片。在此實(shí)驗(yàn)中,出于安全原因,用安全繩將無人機(jī)系在結(jié)構(gòu)上飛行。該照片顯示了抓取爬行器模型時(shí)機(jī)器人的視角。該實(shí)驗(yàn)表明,無論光照條件如何,感知算法都可以使用RealSense深度相機(jī)在戶外工作。
圖11. 物體檢測(cè)和姿態(tài)估計(jì)結(jié)果。(a)YOLO產(chǎn)生的限位框;(b)基于重疊紅點(diǎn)模型和坐標(biāo)系的云片段及姿態(tài)估計(jì)。
圖12. 估計(jì)的履帶姿態(tài)與無人機(jī)坐標(biāo)系中的地面實(shí)況。(a)相機(jī)的估計(jì)距離與X軸上的地面真實(shí)情況;(b)相機(jī)的估計(jì)距離與Y軸上的地面真實(shí)情況;(c)相機(jī)的估計(jì)距離與Z軸上的地面真實(shí)情況。
圖13. 無人機(jī)的軌跡及由視覺系統(tǒng)在整體坐標(biāo)(實(shí)線)和地面實(shí)況(虛線)中測(cè)量的履帶的估計(jì)位置。(a)在移動(dòng)實(shí)驗(yàn)期間,無人機(jī)和履帶的3D軌跡;(b)使用每個(gè)軸上的視覺估算值估算履帶的位置與實(shí)際位置。
圖14. 使用MOCAP系統(tǒng)的室內(nèi)自主任務(wù)。
本文提出了一個(gè)用于在空中平臺(tái)上執(zhí)行操縱的完整系統(tǒng)。集成兩個(gè)機(jī)械手,而不只是一個(gè),就可以抓取更大、更復(fù)雜的對(duì)象。此外,擁有兩個(gè)機(jī)械手有助于無人機(jī)消除由于外部干擾而引起的波動(dòng),甚至可以選擇更穩(wěn)定的抓取,因?yàn)樗鼈儼鼑速|(zhì)量中心。提供了定性和定量實(shí)驗(yàn)數(shù)據(jù),以證明該系統(tǒng)能夠執(zhí)行抓取操作。
視覺系統(tǒng)的平均RMSE小于0.02 m。已經(jīng)證明,使用物體檢測(cè)網(wǎng)絡(luò)對(duì)于姿態(tài)估計(jì)的速度非常有益。主要限制來自可用的機(jī)載設(shè)備。大多數(shù)最先進(jìn)的CNN都已經(jīng)過測(cè)試和設(shè)計(jì),可用于功能強(qiáng)大的計(jì)算機(jī),這使得將它們集成到空中平臺(tái)更具有挑戰(zhàn)性。但是,在第6節(jié)中進(jìn)行分析之后,所選算法為任務(wù)提供了足夠的結(jié)果。下一步將包括估計(jì)神經(jīng)元網(wǎng)絡(luò)中的物體姿態(tài)。
已經(jīng)在幾種環(huán)境中證明了該系統(tǒng)能夠操作和抓取目標(biāo)物體。此外,這些結(jié)果已得到模擬對(duì)象的支持,以證明抓取計(jì)劃算法能夠計(jì)劃其他形狀的操縱任務(wù)。視覺系統(tǒng)已在弱光條件下以及戶外直射陽光下進(jìn)行了測(cè)試。該算法在兩種光照條件下都能正確運(yùn)行。
圖15. 實(shí)驗(yàn)期間的關(guān)節(jié)值(以弧度為單位)。首先,手臂跟隨抓取目標(biāo)。在某一點(diǎn)后,對(duì)象旋轉(zhuǎn),因此系統(tǒng)切換到另一個(gè)可行的抓取。
圖16. 附加安全繩的戶外自主測(cè)試。
Acknowledgement
This work was carried out in the framework of the AEROARMS (SI-1439/2015) EU-funded project and the national project ARMEXTENDED (DPI2017-89790-R).
Compliance with ethics guidelines
Pablo Ramon-Soria, Bego?a C. Arrue, and Anibal Ollero declare that they have no conflict of interest or financial confl icts to disclose.