文 / 吳 偉
倉儲行業的智能搬運場景中人機交互復雜,環境持續高頻變化,對場內移動機器人(Autonomous Mobile Robot,AMR)的定位影響極大,尤其是在對接的場景,環境變化嚴重影響機器人感知能力,造成無法精確對齊等問題。使用單一導航定位技術的地面移動機器人,如磁條導航、二維碼導航等,無法應對這些復雜的場景。倉儲行業需要有強大混合導航技術的移動機器人,提升感知和定位能力,從而保證在復雜多變的場景中穩定運行。
移動機器人上配置有包括激光雷達,視覺相機等多種傳感器,但在面臨以下幾種場景或者條件時,機器人定位、建圖及運動控制等存在諸多難點。
在倉庫、工廠等場景下,只有墻壁和頂梁柱等少數的固定目標,大部分為空曠空間。在遠距離探測時,激光雷達掃描點云會過于稀疏,或激光幀掃到地面,形成干擾數據。深度相機的有效探測距離一般在5米內(遠距離噪聲較大,難以使用),如果機器人在大部分行駛路徑的5米半徑范圍內都缺少固定物體,也將不會有深度信息反饋。
相機雖然能獲取到足夠遠的圖像信息,然而從遠處的圖像中提取角點、線等視覺特征的難度會增加。不能僅依靠圖像中的像素得到深度信息,如果計算該點的距離,需要將相機移動再進行一次觀察,并根據三角測量原理進行計算。而該點的距離越遠,三角測量的誤差就越大,導致定位誤差也會增加。
在倉儲和制造業場景中,物體的動態性較高。圖1可以看出左側都是紙箱,隨著任務不同,這些擺放的料箱都會發生巨大的位置變化。

圖1 動態性高的人機混合場景

圖2 重復性高的長走廊場景

圖3 自然光源與人造光源

圖4 場景對定位精度要求高

圖5 叉車和機器人統一調度
動態物體上的特征點會隨物體移動,無法給機器人定位提供有效的約束。同時也很難從背景中區分出所有動態的物體,將動態物體上的特征點全部剔除。如果建圖時將動態物體上的特征點加入地圖,定位時就會因為匹配不上這些已經消失的特征點而失敗。
人員的移動存在較大的不確定性,極可能會突然出現在機器人的行駛路徑上。一旦出現漏檢,將給人帶來危險。為了能夠保障人員安全,需要實時檢測多個方向是否有人存在,甚至需要對人的運動軌跡進行精準預測,才能在人機混行的場景中,實現機器人安全可靠的導航。
特征重復性高的場景,對于激光定位而言,局部特征會在行駛過程中多次重復。而且有效范圍內的物體大部分只有墻、柱子這種形狀相似的特征,缺少獨特的特征會導致定位困難,如圖2所示。
對于視覺建圖,有多次重復的紋理也無法作為全局約束。且該場景中,足夠魯棒的角點特征少,而線特征只能提供一個方向的約束,白墻上更是無法得到豐富的特征點容易匹配錯誤,造成定位誤差。
對于純視覺方案,光照變化也是一個難以解決的問題。通常倉儲物流環境中,不僅受到燈光的影響,還易受到窗戶天窗等自然光照射的影響。昏暗的環境中,視覺傳感器無法提取到足夠的信息,同時會受噪點的干擾,影響定位結果。與此同時,視覺建圖和定位時,光照條件相差比較大也會影響定位結果;甚至窗戶的自然光直射鏡頭將會導致相機過曝,無法提取特征導致定位失敗,如圖3所示。
在倉儲、制造業行業場景中,機器人需要精確的對準傳送帶。為了提高存儲密度,貨物的存放過于密集,導致機器人行駛的路徑狹窄,容差可能是幾厘米,如圖4所示。這些都對機器人定位提出了較高的精度要求。
叉車與機器人激光雷達安裝高度差異較大,探測高度不一致。但運行過程中需要叉車和機器人使用的地圖具有相同的坐標系,以保證調度系統使用相同的點位控制機器人,如圖6所示。因此,需要叉車和機器人建圖具有很高的一致性與絕對精度,以保證不同種類機器人取放相同貨位時,位置相同。
機器人為了完成自動化搬運,需要設計一整套的關于數據采集模塊,數據處理模塊,以及控制規劃模塊。針對包括揀選、搬運、分揀等不同產品線、不同任務形式,以及不同的傳感器配置,需要合理設計系統硬件結構以及模塊化的軟件架構,從而達到提高開發效率,增強系統運行穩定性,并最終靈活應用到不同產品的機器人上。
機器人硬件組成,主要包括車載控制器、電池模塊、聲光報警模塊、通訊模塊、電機驅動模塊、充電模塊等。同時針對不同產品的機器人以及實際運行環境,還包括定位感知相關的激光雷達、魚眼相機、深度相機等模塊等,如圖6所示。通過硬件架構設計,完成不同模塊的數據采集和通信。并將對應的數據送到相應的處理器,由處理器處理完成后,再將處理結果發送給相應的控制驅動模塊,從而完成對應的任務。
機器人軟件架構設計則通過從底層操作系統到ROS2的算法平臺,再到相應模塊化設計的定位模塊、導航模塊、避障模塊、傳感器緊融合模塊、控制模塊,完成整個軟件系統高效且靈活可配置的設計,最終在不同產品線機器人上得到應用。

圖6 機器人硬件結構圖

圖7 SLAM系統總體設計
(1)定位建圖融合模塊
定位建圖融合模塊獲取各子模塊的定位建圖結果,通過優化各模塊的重投影誤差達到最小,從而完成機器人的定位與建圖。其中各子模塊通過對數據的輸入與輸出接口的抽象,設置成靈活的“可插拔”的配置,針對不同產品機器人的傳感器,完成對應模塊的刪減。
(2)感知模塊
感知模塊接收各子模塊(激光感知模塊、視覺感知模塊、超聲感知模塊)的語義及障礙物的檢測信息。
(3)路徑規劃導航與控制模塊
路徑規劃模塊通過結構定位建圖模塊的定位,以及地圖信息以及感知模塊的障礙物以及語義信息,根據特定的任務完成機器人的規劃控制。
機器人通過硬件架構采集數據,并通過ROS2完成數據在各模塊之間的通信。其中ROS2相對于ROS1采用數據分發服務(DDS)通信協議,它可以以零拷貝的方式傳遞消息,節省了CPU和內存資源,且不存在ROS1中的單點故障,從而更好保證了各模塊之間數據通信的高效性與實時性。
(4)SLAM系統
在系統整體設計方面,極智嘉的SLAM(Simultaneous Localization And Mapping)系統采用緊耦合、多源異構的方式,去使用各種傳感器和定位元素的信息,如圖7所示。其中,前視的相機用來識別特征點、語義線、二維碼和各種物體(Object),算法在GPU上進行加速后,會將結果傳到從CPU處理。下視的相機可以識別地面的二維碼,來計算機器人的絕對位置,這部分的算法會在FPGA上進行優化和加速。而底層里程計和IMU的信息,從MCU上進行讀取,并進行融合和算法優化。最終各個傳感器的信息經過各自算法在不同的平臺上處理后,會統一將結果發送到主CPU處理器上,進行結果的融合和最終決策。
激光與視覺融合的SLAM導航技術使用領先的緊耦合多傳感器融合框架,從處理器芯片到激光雷達、相機、IMU和編碼器等都實現了高精度的時間同步,確保所獲取傳感器數據的時間精確性。該技術的關鍵點包括:

圖8 優化前(左)與優化后(右)軌跡對比

圖9 激光畸變校正前(左)畸變校正后(右)對比

圖10 地圖更新原理
① 離線和在線標定
極智嘉機器人出廠前使用自主研發的標定設備對傳感器的內參、外參進行嚴格檢校,加上在線標定算法,現已可實現數月以上的運動軌跡重復一致,如圖8所示。無論環境如何變化,都能順利精準完成產線對接,保障產線可持續性。
② 激光畸變校正
目前機器人多采用機械旋轉式激光雷達,每個掃描幀獲取的時間從幾十到上百毫秒不等,在機器人高速運動時激光掃描幀易變形。極智嘉SLAM算法中使用IMU和輪速數據,對激光雷達掃描幀進行運動補償,從而解決了機器人高速運動時軌跡偏離的問題,如圖9所示。
③ 在線地圖動態更新
目前行業內主要依靠人工對變化的地圖進行修正,無法實現動態更新地圖功能。極智嘉SLAM通過滑窗優化(Sliding Window BA)和邊緣化(Marginalization)技術,在保障地圖和定位精度前提下,裁剪掉“過時”的節點和地圖觀測數據,有效控制圖(Graph)的規模,如圖10所示。通過這一業界領先的在線地圖動態更新技術創新,極智嘉的搬運方案保障了地圖新鮮度,真正實現了動態環境感知和高可靠的定位效果,保證機器人長期穩定運行。
④ VX-SLAM定位
不同于傳統的V-SLAM系統,極智嘉的VX-SLAM系統使用的是多種層次的視覺特征。在建圖的過程中,除了使用傳統方法檢測點(Point)、線 (Line)和區域 (Region),還會使用實例分割(Instance Segmentation)方法對視野的對象進行分割和分類,并根據實例分割的結果進行動態物體的濾除,將靜態物體作為一個約束加入位姿和地圖的優化,最終的地圖則是點特征地圖、線特征地圖、對象地圖、特殊區域地圖等地圖的疊加態。
另一方面,VX-SLAM系統融合了機器人上多個傳感器,慣性測量單元(IMU)和 Odom 坐標系提供了短時間內精確的相對位姿估計,而激光雷達和攝像頭的閉環檢測(Loop Closure)和重定位(Relocalization)則用以消除累計的誤差,同時融合激光雷達和攝像頭可同時利用環境的結構特征和外觀特征,使得VX-SLAM系統具有極高的魯棒性。
VX-SLAM系統會輸出高精度的視覺地圖和激光地圖,并會自動將這兩個地圖進行配準,對齊和融合。在進行定位的時候,視覺輸出的重定位結果會和里程計,IMU的位姿遞推結果融合,在復雜、多變的環境下實現高可靠性與高精度定位,如圖11所示。
⑤ 叉車和機器人統一調度
為實現叉車與機器人統一調度,需要融合叉車與機器人構建的SLAM地圖。創建地圖時,使用識別到的墻壁、立柱等特征,拉齊兩個地圖的坐標系,可以解決可觀測區域不同的問題,如圖12所示。此外,使用多傳感器融合的定位方案和自動化的標定方案,保證各種類型機器人具有相同的絕對精度。

圖11 基于視覺的重定位
(5)智能感知
① 視覺避障
移動機器人的安全性是最重要的部分,其中既包括操作人員的安全,也包括機器人本身的安全。由于倉儲場景變化比較多,在規定好的路線中,,有可能會出現之前不存在的障礙物,如貨箱、掉落的貨物、行人等,機器人需要實時識別出這些障礙物避免發生危險。

圖12 叉車和機器人地圖對齊
基于上述需求,極智嘉設計了基于彩色圖像和深度圖像結合的障礙物檢測方法,彩色圖像著重解決低矮或種類比較固定的物體,如書本、行人、貨箱等。深度圖著重解決顏色與地面相近且有明顯高度或種類不定的物體,如貨架腿、小木塊等。兩種方法的有機結合,既能實現多種場景下魯棒的障礙物識別,又能達到實時性的要求,障礙物識別結果,如圖13所示。

圖13 低矮物體檢測
② 托盤智能識別
托盤智能識別是無人叉車中一個非常重要的環節,它的作用是進行叉車的末端精確定位,保證叉車可以精確插取貨物。通過安裝在叉車上的相機自動識別托盤的位姿來計算出叉車與托盤的相對位置,從而進行精準的托盤插取,可以實現比人工更高的插取精度,倉儲環境中托盤識別有如下難點:
托盤種類及尺寸繁多,定制托盤的存在;
托盤位置偏移有可能非常大;
倉儲環境中對托盤會有很多干擾。

圖14 托盤識別結果

圖15 機器人全場景應用
基于以上難點,設計了專門的托盤識別算法,主要實現方法包括基于深度學習的托盤檢測,及基于3D分割的托盤精確定位。基于深度學習的托盤檢測可以適應復雜的倉儲場景,在復雜的托盤品類及干擾下也能穩定的識別出托盤,具有很高的魯棒性。為達到更高精度,在深度學習方法識別出托盤后,還需要基于3D點云對托盤進行精確定位,根據需求可精確定位出托盤每個立柱的位置,實現超高精度的托盤位姿識別。托盤識別結果如圖14所示,其中,第一行為不同類別及尺寸的托盤識別結果;第二行為不同位置下的托盤識別結果;第三行為不同倉儲干擾情況下的托盤識別結果。
近期一座全流程柔性自動化的智慧物流工廠,在上海西門子開關有限公司成功落地。極智嘉助力上海西門子開關有限公司通過4種物流機器人無縫協作和AI智能調度,率先在業內真正實現了工業物流從收貨、質檢、入庫,到在庫理貨、出庫集貨和產線送料的全場景機器人串聯和全鏈路物料信息化管理,如圖15和圖16所示。
面對智能化時代的市場需求,上海西門子開關有限公司意識到,一個自動化的高效智能物流管理體系是實現工業4.0的基礎環節之一,改造原有的原材料存儲以及改善送料流程過度依賴人工的狀況刻不容緩。廠區人員管理也需要逐步從手工勞動逐步向機器人應用技術管理轉型。
基于以上挑戰,上海西門子開關有限公司需要引入智能設備和創新方案實現工廠物流的智能化升級,以強化競爭優勢,驅動業務實現可持續高速發展。

圖16 客戶倉儲場景
經過縝密周全的方案考察和驗證,上海西門子開關有限公司選擇引入智能機器人實現全流程柔性自動化。憑借機器人的柔性特點,該公司在智能升級過程中不僅確保了產線無停產,生產正常運轉,并且連續創造了產量的歷史新高。
該智慧物流項目的“貨到人”區在2019年11月20日上線運行,并以模塊化柔性部署的方式逐步拓展至機器人收貨區、四向車立庫存儲區、質檢環節打通和自動化集貨區,于2020年10月完成了物流中心的全流程機器人覆蓋,并開始部署機器人產線送料。
極智嘉提供創新的智能倉組合方案,包括貨到人揀選機器人P800、貨箱到人揀選機器人C200S、四向穿梭車和智能搬運機器人M1000,以及AI算法和智能系統,解決了庫內20萬+倉庫存儲單元(SKU)原材料的收貨、分區存儲、齊套發運、產線領料等流程問題,實現庫存精益化智能化管理。據數據統計,在完成智能升級后,工廠的入庫效率提升2.5倍、出庫效率提升2.15倍,存儲面積減少50%,送料及時率和準確率獲得極大提升,順利解決了離散式生產在定制化需求時代的物料管理和效率瓶頸。
針對供應鏈和倉儲的諸多環節所面臨的問題,移動機器人以其高柔性、高精度、高可靠性的優勢,能夠大幅提升原材料、成品搬運的效率,解決勞動力成本急劇增長帶來的挑戰,逐漸得到了更深入而廣泛的應用。
倉儲行業的智能搬運場景具有人機交互、環境高頻變化等特點,需要有強大混合導航技術的移動機器人。為滿足業務需求,設計一整套高效、可靈活配置的硬件系統,智能的視覺激光融合感知與定位、規劃與控制系統,提升AMR在復雜多變場景中運行的穩定性。