自主導航機器人在工業(yè)和服務領域有越來越多的應用。除機器人本體之外,其核心模塊包含感知、建圖、定位、導航、調度等模塊。
感知模塊
一般指傳感器技術。機器人常用的傳感器有激光雷達、視覺傳感器等。激光雷達可分為單線和多線激光雷達,價格相對昂貴。隨著計算機視覺和人工智能的發(fā)展,視覺傳感器被越來越多的應用在機器人上。視覺傳感器分為普通相機和深度相機。普通相機只包含環(huán)境的紋理(深度、彩色)信息。深度相機則包含場景的深度信息,故又稱之為三維相機。由于其信息豐富和成本原因,深度傳感器幾乎是機器人的*傳感器,甚至部分shouji也選配深度傳感器,用作3D人臉識別和AR應用。
深度傳感器包括雙目結構光和TOF技術。雙目結構光是通過投影投射出一定編碼的光源,通過雙目相機采集的結果進行視差計算,結合攝像機參數(shù)獲得深度。雙目拍攝的是帶有很多特征或編碼的圖像,因此很容易進行特征匹配。而TOF技術是通過計算飛行時間獲取的距離。兩種方法使用場合不同,結構光技術適用于高精度、對實時性要求不高的場合;TOF技術得益于高幀率和魯棒性,故更適用于實時的三維重建和定位建圖。藍芯科技通過自主研發(fā)的算法和SDK,可以根據(jù)應用場合為客戶提供不同配置的傳感器,如體積測量,物品定位和位姿檢測等。
建圖與定位
通俗的說,傳感器是機器人的眼睛,導航模塊則是機器人的大腦。導航模塊使機器人能夠認識、感知、探索周圍環(huán)境。導航主要包含定位(Location)、建圖(Mapping)和路徑規(guī)劃(Path Planning)三個主要部分。其中定位和建圖模塊通常被稱為SLAM(Simultaneous Localization and Mapping,同時定位與建圖)。SLAM一般分為激光SLAM和視覺SLAM。
應用在機器人領域的激光雷達一般為單線激光雷達,主要在二維平面上進行建圖和和定位。多線激光雷達更多的應用在自動駕駛領域。激光雷達的建圖方案是依賴二維的輪廓線進行匹配和拼接,完成場景的輪廓圖重建。激光地圖一般是珊格化,利用ICP算法同現(xiàn)有地圖輪廓進行匹配,達到位姿定位的效果。由于僅有二維信息,激光方案的弊端也顯而易見,即在處理長走廊和環(huán)境變化時容易定位失敗。
視覺SLAM技術是計算機視覺、機器人領域的研究熱點。除了機器人導航之外,SLAM技術同時也是AR領域和核心技術。視覺SLAM的原理和GPS類似,通過相機獲取空間紋理信息,結合相機參數(shù)反推出機器人當前位置。然而視覺SLAM技術在服務機器人、物流等領域的應用存在諸多的挑戰(zhàn)性。比如環(huán)境變化、光照變化、場景紋理缺失等。
圖一 針孔相機空間模型抽象
為提高視覺SLAM技術的穩(wěn)定性,建圖和定位過程一般會加入IMU作為輔助,同時采用深度相機直接獲取紋理特征的3D信息。全景相機也廣泛應用在SLAM技術中。隨著深度學習的逐漸成熟,許多研究者提出了語義SLAM的方案并取得了一定的應用。
路徑規(guī)劃和運動控制
運動規(guī)劃指機器人導航的規(guī)劃方案,即機器人如何在環(huán)境中行走。路徑規(guī)劃分為全局路徑規(guī)劃和局部路徑規(guī)劃。全局路徑規(guī)劃主要指在地圖中一個目標點,規(guī)劃出全局路徑,機器人的行走軌跡依賴于此路徑。常用算法包括A-star、Dijkstar、Voronoi等算法。局部路徑規(guī)劃是在全局規(guī)劃的基礎上,結合局部障礙物等信息,通過電機對機器人進行運動控制,如DWA算法。實際場景中,路徑規(guī)劃根據(jù)需求有諸多變化,包括固定點規(guī)劃、固定路線規(guī)劃、短距離規(guī)劃、遠離障礙物規(guī)劃方案等。
物流和服務機器人使用多的是雙輪差動的方式完成行走和轉彎。局部路徑規(guī)劃實時向電機發(fā)送線速度和角速度,達到行走的目的。
避障
避障系統(tǒng)是機器人運行安全的保障。常用避障方案有激光雷達、深度相機、超聲波、紅外傳感器等。這些方案各有優(yōu)劣,機器人應根據(jù)應用場合和自身特定,選擇合適的避障方案。超聲波傳感器通過發(fā)射一個錐面檢測前方是否有障礙物,一般適合應用在倒車雷達,并不適合自動導航機器人;紅外傳感器較多的應用在掃地機器人上。工業(yè)和服務領域使用的機器人則廣泛使用激光雷達的避障方案。
調度系統(tǒng)
調度系統(tǒng)負責機器人的任務分配、調度、運行維護。包括多任務寫作,相互避障等。運行維護包括自動充電、檢測報警等。多機調度技術在應用場景很大且機器人數(shù)目變多時起到關鍵作用。多機調度首先保證提供接口給用戶使用,同時在任務較多時保證調度的效率,選擇不錯的調度方案供用戶使用。
多機調度技術在應用場景很大且機器人數(shù)目變多時起到關鍵作用。多機調度首先保證提供接口給用戶使用,同時在任務較多時保證調度的效率,選擇不錯的調度方案供用戶使用。