出品 | 智東西公開課
講師 | 陳超 極智嘉研發(fā)總監(jiān)
課件 | 關(guān)注智東西公開課公眾號,并回復(fù)關(guān)鍵詞“英特爾03” ,即可獲取課件。
回放 | https://appoSCMf8kb5033.h5.xeknow.com/st/8Nl2ftuYV

導(dǎo)讀:

4月7日,極智嘉研發(fā)總監(jiān)陳超在智東西公開課進(jìn)行了一場的直播講解,主題為《物流機(jī)器人視覺感知和定位技術(shù)的創(chuàng)新和實(shí)踐》,這也是英特爾AI百佳創(chuàng)新激勵計劃系列專場的第3講。

在本次講解中,陳超老師圍繞物流機(jī)器人對視覺感知與定位的要求、智能叉車托盤檢測算法、利用OpenVINO加速托盤檢測算法部署,以及極智嘉VXSLAM定位技術(shù)與實(shí)踐,進(jìn)行深入地講解。

本文為此次專場主講環(huán)節(jié)的圖文整理:

正文:

晚上好,我是來自極智嘉的陳超,今天很高興能跟大家一起分享物流機(jī)器人視覺感知和定位技術(shù)的創(chuàng)新和實(shí)踐。本次分享主要包含4個方面:

1、物流機(jī)器人對視覺感知與定位的要求
2、極智嘉的智能叉車托盤檢測算法的解析
3、利用OpenVINO加速托盤檢測算法部署
4、基于VXSLAM的AMR定位技術(shù)與實(shí)踐

物流機(jī)器人對視覺感知與定位的要求

對于普通的消費(fèi)者,接觸比較多的是電商快遞,實(shí)際上一個完整的物流場景包含工廠物流、倉儲物流、快遞物流以及商業(yè)物流。除了電商之外,幾乎所有的實(shí)體產(chǎn)業(yè)都有一套非常完善的物流體系,它們都需要去解決自己的原材料、半成品的存儲運(yùn)輸問題。

物流是一個非常很大的產(chǎn)業(yè),它有很多環(huán)節(jié),因此形成了很多智慧物流的場景,比如智能分揀、智能搬運(yùn)、智能叉車、智能倉儲和智慧工廠。對于很多電商后臺的倉庫來說,就是一個典型的智能揀選的場景。這里我們可以采用一些貨架到人的機(jī)器人,把貨架搬到固定地點(diǎn),進(jìn)行人工揀選。智能搬運(yùn)更多的用在工廠產(chǎn)線上進(jìn)行一些物料、原材料的配送。分揀機(jī)器人主要是用在一些郵政以及快遞的系統(tǒng)進(jìn)行包裹的投遞分揀。智能叉車主要是進(jìn)行一些比較大重量的物品的短途轉(zhuǎn)移運(yùn)輸,還有智能倉儲以及智慧工廠。在多種不同的物流場景的背后,就是多種形態(tài)機(jī)器人起到的支撐。

極智嘉研發(fā)總監(jiān)陳超32頁P(yáng)PT深入講解智能叉車托盤檢測算法與VXSLAM技術(shù)【附PPT下載】

那對這些機(jī)器人的感知定位有怎樣的要求呢?首先,由于物流場景非常多樣化,這對機(jī)器人提出不同種類的要求,比如有機(jī)械臂類的機(jī)器人,它需要對商品進(jìn)行識別定位;輥道機(jī)器人,它需要把貨物對接到指定的一些流水線上;還有一些搬運(yùn)機(jī)器人、無人叉車等,不同的機(jī)器人會去完成一些特定的任務(wù)。

下面一個是叉車,叉車的負(fù)載能力非常強(qiáng),但是它的危險性也會比較高。在叉車的工作環(huán)境中,無論是前面的叉耙碰到人也好,貨物也好,都會是比較嚴(yán)重的事故,那么就需要高可靠性的算法來保證機(jī)器人的安全性。

對于穩(wěn)定性,相對于其他機(jī)器人,物流機(jī)器人對穩(wěn)定要求可能是7×24小時的,在武漢的郵政系統(tǒng)的分揀場景里一共有數(shù)百臺機(jī)器,不同類型的機(jī)器人緊密的協(xié)作進(jìn)行包裹快遞的投送。我們可以想象一下,如果在這么一個密集的場景內(nèi),機(jī)器人發(fā)生故障,將某些區(qū)域鎖死,那會造成重大面積的作業(yè)區(qū)域的癱瘓,會造成訂單的堆積。

右上角是日本豐田的產(chǎn)線,機(jī)器人可以進(jìn)行一些零部件的對接,在這方面對精度的要求非常高。

極智嘉的智能叉車托盤檢測算法的解析

除了上面提到的高可靠性、安全性的需求外,智能叉車還有一些獨(dú)特的特點(diǎn),叉車的托盤有很多類型,有歐標(biāo)的、國標(biāo)的,還有非標(biāo)的,還有一些是客戶定制的,它們有不同的材質(zhì),比如塑料的、鐵的、木頭的,它們有不同的形狀,有單孔的,雙孔的、多孔的,那就需要我們對多種類型的目標(biāo)進(jìn)行適配。在精度方面可以看到,其實(shí)叉車的叉耙還是比較厚的,相對于插孔,留給它定位的余量其實(shí)就非常小,這就要求我們檢測算法具有非常高的精度。

極智嘉研發(fā)總監(jiān)陳超32頁P(yáng)PT深入講解智能叉車托盤檢測算法與VXSLAM技術(shù)【附PPT下載】

叉車上用的是深度相機(jī),對于點(diǎn)云的處理,現(xiàn)在已經(jīng)有一些比較典型的方法,比如說早期的PointNet、VoxelNet,后期的 Point-GNN等,在這里我們重點(diǎn)介紹下PV-RCNN,通常來講基于Voxel方法的計算效率比較高,但是它的定位精度偏低,基于Point方法感受野可變,一般具有較高的精度,PV-RCNN就是結(jié)合兩者的優(yōu)點(diǎn),它利用3D Voxel先做一個初定位,然后再關(guān)聯(lián)到其中的keypoint,做一個精細(xì)的定位。具體來說它其實(shí)包含兩個大的分支,第一是對原始的點(diǎn)云進(jìn)行3D Voxel的處理,得到一些候選的3D框,在另外一個方面進(jìn)行一些原始點(diǎn)采樣,把關(guān)鍵點(diǎn)稀疏化,之后通過索引的方式關(guān)聯(lián)剛才Voxel所提取的多層級的特征,進(jìn)行融合,再進(jìn)行目標(biāo)的精細(xì)化。其實(shí)基于點(diǎn)云的方法對我們來說是最直接的,但在實(shí)際使用中,托盤對于3D點(diǎn)云數(shù)據(jù)的標(biāo)注成本非常高,可能是圖像標(biāo)注的10倍以上,所以我們還是采用了基于圖像的方法。

極智嘉研發(fā)總監(jiān)陳超32頁P(yáng)PT深入講解智能叉車托盤檢測算法與VXSLAM技術(shù)【附PPT下載】

上圖左上角是獲取的深度圖,轉(zhuǎn)化成圖像之后,可以用一些大家熟知的兩階段的處理方法如Faster-RCNN和R-FCN,一階段的Yolo與RetinaNet等,在這里介紹一個比較典型FSAF,我們知道在目標(biāo)檢測里尺度是一個比較大的問題,為了解決尺度問題,現(xiàn)在主流的檢測器都采用了FPN的結(jié)構(gòu),然后再基于anchor在不同的層上去布置anchor,那么就需要提前的去設(shè)置anchor的位置,以及它的各種尺寸與寬高比,那具體設(shè)置方法很多時候是基于一些啟發(fā)式方法,簡單來說,把一些目標(biāo)的size框和各個特征層上的anchor框進(jìn)行一個IoU的計算、排序。IoU最大的,我們就認(rèn)為是檢測層,這其實(shí)并不是一個最優(yōu)的結(jié)果。FSAF主要針對特征的選擇問題,它在RetinaNet的基礎(chǔ)上構(gòu)建了SAF的分支,我們可以采用一個anchor-free的分支,輸出目標(biāo)檢測的熱圖,然后用這個熱圖去指導(dǎo)anchor-base的方法的進(jìn)行目標(biāo)檢測,這樣可以通過學(xué)習(xí)訓(xùn)練的方式得到最優(yōu),最終我們能夠選取什么樣的尺寸,什么樣尺度的目標(biāo),應(yīng)該在什么樣層上去檢測。FSAF它有一個很大的優(yōu)點(diǎn)是它是一個模塊化的方法,它可以直接的集中在很多的主流的檢測算法之后,對算法的性能都有一定的提升。

極智嘉研發(fā)總監(jiān)陳超32頁P(yáng)PT深入講解智能叉車托盤檢測算法與VXSLAM技術(shù)【附PPT下載】

最后看下我們的檢測方法,首先,大家知道主流的目標(biāo)檢測都是基于bounding box的形式,簡單來說就是拿一個bounding box無論是anchor也好,或者是其他方式,在整個圖像里去密集的采樣,然后最終回歸出目標(biāo)的類別和它的位置。后來誕生了一些基于關(guān)鍵點(diǎn)的方法,因?yàn)閍nchor的方法,我們要對anchor進(jìn)行更加精細(xì)的設(shè)計,要預(yù)先有很多的先驗(yàn)在里面,有很多的超參數(shù)。后來基于關(guān)鍵點(diǎn)的方法主要有兩類,一類是像基于這種左右 left top和right bottom的 CornerNet的方法。還有一類是基于CenterNet的方法,是基于目標(biāo)的中心點(diǎn),先把目標(biāo)的中心檢測出來,然后再去回歸它的屬性,包括它的邊界。這里我們結(jié)合兩種方法的特點(diǎn),采用的是5點(diǎn)去描述,因?yàn)榍懊嬉蔡岬轿覀儗δ繕?biāo)的精度要求非常高,那么大家可以想象在圖像的視野里,其實(shí)托盤并不是一個真正的矩形框,它其實(shí)是一個四邊形,我們用額外的4個點(diǎn)去檢測會取得更高的精度。其實(shí)也是先通過一個Encoder-Decoder網(wǎng)絡(luò)生成一個目標(biāo)的中心點(diǎn)的熱圖,熱圖中的熱度就代表了目標(biāo)的概率,得到概率之后進(jìn)行篩選,我們再進(jìn)行關(guān)鍵點(diǎn)的回歸。

該方法有一些特點(diǎn),首先是一階段的方法,它沒有RPN的過程,沒有了信息阻塞,前端的特征可以直接傳遞到最終的檢測層,我們相信這一類的方法將來可能會有比較高的天花板。另外,由于是非bounding box的方式,沒有NMS的操作,所以速度會更快。此外,由于采用的是編解碼的形式,我們可以直接在高分辨率圖上檢測,所以不像一般的目標(biāo)檢測可能會在低分辨率或者是FPN的結(jié)果上去檢測,所以也會有更高的精度。

最后對于另外一個分支,我覺得也是非常重要的一個分支,它支持整個托盤檢測算法設(shè)計的一個重要目標(biāo):高可靠性。那具體怎樣做?我們會建立另外一個Verification的分支,它同時接受網(wǎng)絡(luò)檢測的輸出與托盤先驗(yàn)?zāi)P?。因?yàn)槭孪扔幸恍┩斜P模型的數(shù)據(jù)庫,那么我們可以拿數(shù)據(jù)庫里的托盤模型和我們檢測的結(jié)果做一個相似性的判斷,判斷出我們檢測的置信度,還是像剛才提到的在實(shí)際應(yīng)用中,我們寧愿檢出率低一點(diǎn)、漏掉一些目標(biāo),但是一定不能讓叉車進(jìn)行錯誤的叉取,以免造成傷害。這其實(shí)是我們結(jié)合類似于領(lǐng)域知識來對網(wǎng)絡(luò)性能的一個提升。

利用OpenVINO加速托盤檢測算法部署

首先,在服務(wù)器端訓(xùn)練網(wǎng)絡(luò)模型,然后基于OpenVINO對模型進(jìn)行優(yōu)化以及轉(zhuǎn)化,最終利用VINO的部署引擎,在Core i3的計算平臺上,在機(jī)器人端進(jìn)行部署。

可能有的朋友對OpenVINO并不太熟悉,在這里我們簡單介紹下,OpenVINO是英特爾推出的一款針對深度學(xué)習(xí)和傳統(tǒng)視覺的加速優(yōu)化框架。它可以支持英特爾目前絕大多數(shù)的計算平臺,包括CPU、集成顯卡等等。它提供了統(tǒng)一的API讓我們的算法一次編譯、一次優(yōu)化,快速的在不同的平臺上進(jìn)行移植。我們重點(diǎn)看一下Deep Learning部分的模型優(yōu)化和推理引擎兩部分,模型優(yōu)化部分可以接收好訓(xùn)練好的模型,然后轉(zhuǎn)化成內(nèi)部特有的IR格式,然后部署推理引擎部分有一些硬件指令級層面的優(yōu)化,它是一個非常輕量、高效的部署框架,可以快速的輕量級的部署在我們的嵌入式平臺上進(jìn)行模型的推理。在Deep Learning部分其實(shí)里面還提供了很多預(yù)訓(xùn)練好的模型,更重要的是提供了很多非常實(shí)用的工具,比如calibration tool可以進(jìn)行一些量化,后面我們也會講到,包括模型性能分析,一些可視化的工具等等。在傳統(tǒng)視覺方面,也對大家都熟悉的Opencv和OpenVX做了一些指令集的優(yōu)化,同時也提供了構(gòu)建一個視覺處理完整pipeline 所需的一些底層的media SDK。

接下來講下模型優(yōu)化這部分,模型優(yōu)化器是整個OpenVINO的框架里最核心的部分之一,它目前支持幾乎所有主流的框架,我們用的是TensorFlow,但是它也支持Pytoech、Caffe等,它可以對模型的拓?fù)浣Y(jié)構(gòu)進(jìn)行分析,然后進(jìn)行一些優(yōu)化操作,然后轉(zhuǎn)化。

極智嘉研發(fā)總監(jiān)陳超32頁P(yáng)PT深入講解智能叉車托盤檢測算法與VXSLAM技術(shù)【附PPT下載】

下面重點(diǎn)看下模型優(yōu)化技術(shù),其實(shí)可以看一下右邊這張圖,在很多的網(wǎng)絡(luò)里需要有BN層,BN層大家知道其實(shí)就是一些bias和scale的先行操作,在這里單獨(dú)做一層,其實(shí)計算效率并不高。是模型優(yōu)化器,可以自動的去根據(jù)拓?fù)浣Y(jié)構(gòu)對這些網(wǎng)絡(luò)進(jìn)行一些合并,可以把的BN層往前合或往后移。可以看到網(wǎng)絡(luò)的結(jié)構(gòu)大為精簡,更重要的是推理的速度會大幅的提高。

另外還有一些stride的優(yōu)化操作,像在Resnet等一些結(jié)構(gòu)里有很多1×1的卷積,同時它的stride可能是大于1的,對于這些操作,我們可以把stride進(jìn)行前移,比如可以看下上圖右下角的例子,前面是56×56的輸入,然后兩個分支都是在這里進(jìn)行了kernel_size為1,但stride為2的操作,其實(shí)很多先前的一些計算被丟掉了,我們可以把它往前移,在前面的分支上構(gòu)stride為2,kernel_size為1的操作,讓輸入特征圖從前面就大幅的縮減,那么整個效率的提升是可想而知的。

極智嘉研發(fā)總監(jiān)陳超32頁P(yáng)PT深入講解智能叉車托盤檢測算法與VXSLAM技術(shù)【附PPT下載】

最后看下推理引擎,推理引擎其實(shí)可以針對不同的平臺進(jìn)行優(yōu)化。我們重點(diǎn)講一下INT8的推理,我們知道INT8相對于普通的FP16的方式有很多優(yōu)點(diǎn),它的能效更高,單指令執(zhí)行產(chǎn)出更多,帶寬更高,內(nèi)存消耗更低等。

這里面我們可以利用calibration tool進(jìn)行一些模型的量化。具體過程是可以先在校準(zhǔn)數(shù)據(jù)集上運(yùn)行訓(xùn)練好的模型,然后記錄下在float32下每層的激活數(shù)據(jù),接下來可以對所有可能轉(zhuǎn)化的轉(zhuǎn)化成INT8的層級進(jìn)行轉(zhuǎn)化推理,然后收集一些精度下降的數(shù)據(jù),比如某些層轉(zhuǎn)換完之后,它的精度可能下滑了一個點(diǎn)是不能接受的,而有些層可能是幾乎沒有什么變化,我們就去轉(zhuǎn)化它。

在進(jìn)行這些模型的直接量化標(biāo)準(zhǔn)之后,我們可以讓32位的模型可以以INT8的方式進(jìn)行推理。不同的平臺不一樣,此項(xiàng)操作大概會有30%的性能的提升?;谇懊娴哪P蛢?yōu)化與推進(jìn)引擎,我們還需要構(gòu)建整個檢測流程的一個pipeline。那就用到了我們之前提到的英特爾的底層的一些媒體處理庫,比如media SDK做一些編解碼的操作,包括Opencv的前端的預(yù)處理,包括后端的后處理等等,中間是我們的IE部分的推理框架。采用了OpenVINO與我們基于傳統(tǒng)Opencl等等手工優(yōu)化的方式來比,整體性能有了4倍的提升。

極智嘉研發(fā)總監(jiān)陳超32頁P(yáng)PT深入講解智能叉車托盤檢測算法與VXSLAM技術(shù)【附PPT下載】

最后看下我們的一些落地案例,左圖是疫情期間在歐洲某國際巨頭醫(yī)藥廠商的倉庫里落地的叉車。貨物里頭裝的都是藥品,我們可以想象對叉車的安全性要求非常高,藥品是非常昂貴的。右圖是一個石膏板廠的項(xiàng)目,大家看到這里的托盤類型就比較多了,這里頭是雙孔的,其實(shí)嚴(yán)格意義來講,它并不是托板,這是客戶就地取材,用他們石膏板的板材進(jìn)行切割,做成了托盤的樣子。我們看到上面有一些纏繞膜,他們會有一些垂落,所以這個項(xiàng)目對我們的定位精度提出了非常大的挑戰(zhàn)。最終我們也是通過以5毫米的定位精度,滿足了客戶的要求,成功的部署。

基于VXSLAM的AMR定位技術(shù)與實(shí)踐

首先,簡單的介紹下AMR,AMR是自主移動機(jī)器人的簡稱,與我們所熟悉的AGV相比,它有一些不同,最重要的一點(diǎn)是定位和導(dǎo)航的方式的不同,傳統(tǒng)的AGV主要是基于在地面上的一些引導(dǎo)線,比如一些色帶或者一些磁條或者是一些電線等進(jìn)行導(dǎo)航,后期有一些在地面上布置二維碼的方案,還有一些在墻壁貼反光板的方案。

但無論怎樣,傳統(tǒng)AGV的導(dǎo)航的路徑一般都是比較固定的。與之對應(yīng)AMR主要是基于SLAM的定位方式,它無需對環(huán)境的基礎(chǔ)設(shè)施進(jìn)行改造,事先建立一個環(huán)境地圖之后就可以進(jìn)行定位?;诓煌亩ㄎ缓蛯?dǎo)航方式,他們有以下的不同,比如說AGV更適合執(zhí)行相同的任務(wù),它更適合傳統(tǒng)的業(yè)務(wù),而AMR我們可以對它進(jìn)行靈活的配置,無論是線路也好還是任務(wù)也好,它更適合敏捷性的業(yè)務(wù)。比如制造業(yè)一個典型的場景,它具有作業(yè)點(diǎn)位比較多,業(yè)務(wù)變化頻繁,人機(jī)混行的情況,那AMR可能是一個更適合的方案。

極智嘉研發(fā)總監(jiān)陳超32頁P(yáng)PT深入講解智能叉車托盤檢測算法與VXSLAM技術(shù)【附PPT下載】

SLAM技術(shù),傳統(tǒng)SLAM包含激光SLAM、視覺SLAM,甚至有超聲波的SLAM和防撞條的SLAM,但無論是哪種SLAM,本質(zhì)上都是一個狀態(tài)估計的問題。載有傳感器的機(jī)器人在環(huán)境中運(yùn)動,通過對地標(biāo)點(diǎn)進(jìn)行觀測,來估計自身的一個位置變化。同時我們把所有的地標(biāo)拼接起來,構(gòu)建一幅地圖,這就是SLAM。

傳統(tǒng)的視覺SLAM,可能有一些比較好的方案,比如RTAB-Map, LSD-SLAM, VINS-Fusion等。近些年來隨著深度學(xué)習(xí)技術(shù)的引入,對于傳統(tǒng)SLAM性能有了一定的提升。這里我可能舉一個比較有代表性的HF-NET的例子,這里也是分為離線的建圖和在線的定位兩個部分,在離線建圖部分,我們對于輸入的圖像序列,通過HF-NET來提取它的local feature,這里用的是super point,然后通過SFM的方式來構(gòu)建整個場景的地圖,這里主要是把特征點(diǎn)進(jìn)行三角化。

另一方面,通過HF-NET來提取一些全局的特征,之后對特征進(jìn)行聚合,這里主要是用于后續(xù)的地點(diǎn)識別。在線定位階段,根據(jù)機(jī)器人端輸入的圖像,HF-NET可以先提取它的全局特征,然后基于地點(diǎn)識別的模塊,在整個場景中選取一些候選的位置。另外一個分支提取一些local feature,將local feature的位置與候選的一些3D點(diǎn)進(jìn)行2D到3D的匹配來恢復(fù)位置。目前HF-NET的方法對于一些大場景以及包括一些變化,比如說光照變化比較大的場景的效果還是不錯的。

目前VSLAM有一些成功的案例,比較有代表性的就是谷歌的VPS,它基于手機(jī)上的一個攝像頭拍攝的單張的圖像,就可以進(jìn)行室內(nèi)和室外的定位,進(jìn)而導(dǎo)航。另一家是Facebook,最近幾年 Facebook匯集了全世界做VSLAM領(lǐng)域比較有名的人才,包括收購了Zurich Eye / Oculus等等,做成了一套視覺定位的方案,效果還是比較穩(wěn)定的。

極智嘉研發(fā)總監(jiān)陳超32頁P(yáng)PT深入講解智能叉車托盤檢測算法與VXSLAM技術(shù)【附PPT下載】

VSLAM還存在很多挑戰(zhàn),最重要的可能是動態(tài)環(huán)境方面帶來的挑戰(zhàn),上圖是一個典型的倉庫里的環(huán)境,可以看到右上角都是紙箱,隨著作業(yè)時間的不同或者是任務(wù)的不同,這些擺放的料箱都會發(fā)生巨大的變化,比如機(jī)器人搬東西過去的時候可能會有三個貨箱,等再回來搬時可能一個都沒有。另外是光照的變化,通常產(chǎn)線上都是開燈的,但是有的時候有些作業(yè)點(diǎn)位會隨著時間進(jìn)行排班等一些變化,導(dǎo)致AMR需要穿過一些關(guān)燈的區(qū)域。另外在倉庫或者是廠房里,有些區(qū)域有巨型的天窗或者側(cè)窗,陽光的變化也會影響定位。另一方面是空曠場景下定位精度的問題。其實(shí)在很多的倉庫里,固定目標(biāo)很少,只有幾個大的柱子,這些貨品都是隨著時間變化的,在如此空曠的場景下進(jìn)行精確的定位,也是一個比困難的問題。

極智嘉研發(fā)總監(jiān)陳超32頁P(yáng)PT深入講解智能叉車托盤檢測算法與VXSLAM技術(shù)【附PPT下載】

最后講下VXSLAM方案。首先說明下X的含義,可以從兩個維度來看,第一個維度是有多種不同的視覺元素,除了最典型的point、edge之外,更重要的是引入了object這種含有語義的信息。從另外一個維度來看,進(jìn)行了異構(gòu)傳感器融合,首先最基本的是camera,此外還有IMU、Odom、激光。

我們整個系統(tǒng)設(shè)計最重要的目標(biāo)就是高魯棒性,這點(diǎn)和前面提到的叉車是一致的。上圖是整個算法的框架,最主要的是建圖和定位以及地圖管理。首先,建圖部分接受傳感器輸入的圖像以及各種數(shù)據(jù)之后,進(jìn)行BA優(yōu)化來構(gòu)建地圖,同時比較特殊之處在于我們有一個object estimation模塊進(jìn)行動態(tài)目標(biāo)的去除和一些靜態(tài)目標(biāo)的位置估計,把它加到地圖里。另外地點(diǎn)識別模塊可以用來進(jìn)行回環(huán)的校正,在地圖管理模塊里,我們維護(hù)了各種異構(gòu)的地圖,比如剛才提到的各種feature的地圖。從另外一個角度看,地圖是多層的,后面會向大家介紹。在定位階段,基于已經(jīng)建立好的地圖及地點(diǎn)識別模塊給到的一些結(jié)果,綜合來對位機(jī)器人的位置進(jìn)行估計。

首先講下異構(gòu)地圖,大家知道激光SLAM,特別是單線激光SLAM,在機(jī)器人領(lǐng)域還是比較成熟的,它有很多的優(yōu)勢。首先要融合的是激光的grid map,在這里融合其實(shí)有很多的問題,可以看到兩種異構(gòu)的傳感器,他們的幀率不同、數(shù)據(jù)類型不同、特性不同,比如對于激光,它的全局一致性非常好,但是他在局部的卻存在抖動的情況,而視覺局部其實(shí)精度非常高,非常平滑,但是卻存在尺度漂移等問題。我們采用聯(lián)合優(yōu)化的方式,能夠把激光的grid map和視覺的feature map做一個很好的融合,這樣在集成定位時,提升定位的魯棒性與精度。

另外一方面是object map,基于OpenVINO的平臺,其實(shí)還運(yùn)行著一個目標(biāo)檢測與pose estimation的模塊,對于人包括臨時擺放目標(biāo),會進(jìn)行一些去除,來防止對于建圖和定位的干擾。對于一些靜態(tài)目標(biāo),還會進(jìn)行位置的估計。比如在產(chǎn)線上有一些固定的重型設(shè)備,包括一些柱子、墻面、消防栓等,我們會把它加到地圖里面。

基于目標(biāo)的定位精度并不是很高,但是對魯棒性的提升卻非常大,在很多時候特別是動態(tài)場景下,我們可以僅基于一個目標(biāo),就對位置進(jìn)行估算,或者是對整個位姿進(jìn)行一些不完全的約束。這對于提升機(jī)器人整體定位的魯棒性至關(guān)重要。

極智嘉研發(fā)總監(jiān)陳超32頁P(yáng)PT深入講解智能叉車托盤檢測算法與VXSLAM技術(shù)【附PPT下載】

還有多層地圖,剛才已經(jīng)提到一些地圖可能面臨的幾個比較重要的挑戰(zhàn),其中第一個是動態(tài)環(huán)境,動態(tài)環(huán)境包括布局的變化,光照的變化,在倉庫里可能早晨、中午和晚上的光照非常不同。另外包括不同的作業(yè)區(qū)域,貨物的擺放可能也是隨著時間在發(fā)生變化,我們需要去建立一種多層的地圖,上圖是在不同時間段對同一個區(qū)域建立的地圖,我們可以把它放到一起進(jìn)行聯(lián)合的優(yōu)化。在整個地圖里我們構(gòu)建了靜態(tài)的參考地圖,在集成定位階段,可以根據(jù)各自的匹配程度與一些先驗(yàn)來判斷基于哪個地圖進(jìn)行定位。

極智嘉研發(fā)總監(jiān)陳超32頁P(yáng)PT深入講解智能叉車托盤檢測算法與VXSLAM技術(shù)【附PPT下載】

最后看下客戶現(xiàn)場的落地,上圖左邊是它的一條產(chǎn)線,可以看到在產(chǎn)線的兩邊堆了很多的物料箱,每天清晨的時候,這些物料箱就會被機(jī)器人搬運(yùn)到此處,隨著作業(yè)的進(jìn)行,這些物料箱會被搬運(yùn)至其他地點(diǎn)進(jìn)行補(bǔ)貨,所以這個場景的動態(tài)性非常高。中間上面的圖像是建立的激光地圖,下面是視覺地圖,紅線是視覺定位的結(jié)果。

基于可靠穩(wěn)定的感知和定位技術(shù),AMR機(jī)器人可以實(shí)現(xiàn)1-3個月的快速部署,對產(chǎn)線的物流有2-3倍的效率提升,憑借高投資回報率、高可靠性和敏捷性,我們相信在物流領(lǐng)域及AMR將會有更廣泛的應(yīng)用。

最后總結(jié)下,以AI技術(shù)為核心,實(shí)現(xiàn)高可靠性的AMR感知與定位。我們一再強(qiáng)調(diào)可靠性與智能是我們在技術(shù)方面的兩個最重要的目標(biāo)?;诖?,我們希望打造高效、穩(wěn)定的智能物流機(jī)器人解決方案,賦能全球企業(yè)實(shí)現(xiàn)物流智能化升級。