低速無人車
低速無人車聽說過嗎?
最近幾年,無人?;鳂I(yè)、無人清潔、無人快遞、 屢屢登上新聞頭條,多種無人車平臺也都走進日常生活中。而這些無人車,都屬于低速無人車。
低速無人車,主要應用在校園、景區(qū)、園區(qū)、機場、礦山等半封閉區(qū)域內。與乘用車或商用車相比,低速無人車擁有明確的應用場景和可控的成本,成為未來更具商業(yè)價值的領域。
近年來,隨著數字化智能化建設,物流配送、安防巡邏、零售、環(huán)衛(wèi)、港口、礦區(qū)等運營場景對低速無人車的需求日益增加,產業(yè)鏈得到較快發(fā)展 。
接下來小Y將持續(xù)為大家推出低速無人車核心技術分享專欄 ,從自動駕駛技術-到底盤控制技術為大家詳細說明低速無人車的技術路線與行業(yè)應用發(fā)展路線 ,希望大家多多關照 。
在行業(yè)應用中移動機器人多種建圖算法說明- Hector
1.原理詳解
Hector整體算法很直接,就是將激光點與已有的地圖“對齊”,即掃描匹配。掃描匹配就是使用當前幀與已經有的地圖數據構建誤差函數,使用高斯牛頓法得到最優(yōu)解和偏差量。其工作是實現(xiàn)激光點到柵格地圖的轉換,t時刻所有的激光點都能變換到柵格地圖中,也就意味著匹配成功。
2.具體流程
首先初始時刻激光自身的坐標系與柵格地圖坐標系重合,即激光在地圖中的初始位姿(estimate)已知,激光的第一幀掃描數據在地圖中的坐標已知。接著,獲取到第二幀激光掃描數據,第二幀數據在激光雷達坐標系下的坐標是可以測出的(根據激光雷達的range、angle便可得到在激光坐標系下的坐標),但是不知道與第一幀的相對位置關系。
下一步就是實現(xiàn)這兩幀數據的匹配,我們假設兩幀數據無限接近,即激光點在柵格地圖占用值接近1(占用值越大,匹配的效果越好)。然后構造最小二乘法,對函數先對括號內部展開,然后對使誤差偏導為0,求解高斯牛頓方程(其中有用到地圖求偏導的方程(雙線性插值法),帶入即可求出位姿增量(在hector位姿增量用變量searchDir)。
接下來就可求出第二幀激光在地圖坐標系下的位姿(第一幀位姿加上位姿增量即可得到,estimate += searchDir),slam中定位完成。
接下來建圖,后一幀的激光位姿求出,因為已知后一幀激光點在激光坐標系下的坐標,所以可根據后一幀激光位姿得后一幀激光點在地圖中坐標,即映射到地圖中,完成slam建圖過程。
cartographer中的前端匹配使用了雙三次線性插值+ceres庫求解非線性優(yōu)化問題(構造最小二乘,優(yōu)化匹配),而hector slam中使用了雙線性插值+高斯牛頓求解非線性優(yōu)化問題
3.hector存在的問題
1、其中對于雙線性差值,在理論上存在不連續(xù)的可能,Pm可能在計算的時候迭代的過程中跑出P00->P11圍成的正方形。這個問題也被google的cartographer改進為三線性差值。
2、沒有對地圖的修正能力,一旦地圖出錯,之后的匹配也都會出現(xiàn)問題。
4.算法概述
Hector slam 利用高斯牛頓方法解決 scan-matching 問題,對傳感器要求較高。
其無需使用里程計,所以在不平坦區(qū)域實現(xiàn)建圖的空中無人機及地面小車具有運用的可行性,利用已經獲得的地圖對激光束點陣進行優(yōu)化,估計激光點在地圖的表示和占據網絡的概率,獲得激光點集映射到已有地圖的剛體變換,為避免局部最小而非全局最優(yōu)出現(xiàn),地圖使用多分辨率。
需具備高更新頻率且測量噪音小的激光掃描儀,所以,在制圖過程中,robot的速度要控制在較低的情況下才會有比較理想的建圖效果,這也是它沒有回環(huán)的一個后遺癥。另外在里程計數據比較精確的情況下無法有效利用里程計信息。
5.算法優(yōu)缺點
優(yōu)點
不需要使用里程計,所以使得空中無人機及地面小車在不平坦區(qū)域建圖存在運用的可行性;利用已經獲得的地圖對激光束點陣進行優(yōu)化, 估計激光點在地圖的表示,和占據網格的概率;利用高斯牛頓方法解決scan-matching 問題,獲得激光點集映射到已有地圖的剛體變換;為避免局部最小而非全局最優(yōu),使用多分辨率地圖;導航中的狀態(tài)估計加入慣性測量系統(tǒng)(IMU),利用EKF濾波;
缺點
成本高 ,需要掃描傳感器或雷達(LRS)的更新頻率較高滿足測量噪點小,但是在制圖過程中需要機器人速度控制在比較低的情況下,建圖效果才會比較理想,這也是它沒有回環(huán)(loop close)的一個后遺癥;且在里程計數據比較精確的時候,無法有效利用里程計信息,造成數據的浪費 。
6.綜合評價
建圖效果標準,必須要機器人速度控制在比較低的情況下建圖效果才能好一點兒,以上建圖由于速度過快導致地圖發(fā)生偏移。在大地圖,低特征(distinctive landmarks)場景中,hector的建圖誤差高于gmapping。
這是由于hector過分依賴scan-match。特別是在長廊問題中,誤差更加明顯。hector_slam通過最小二乘法匹配掃描點,且依賴高精度的激光雷達數據,因此掃描角度很小且噪點較大的外圍是不行的,匹配時會陷入局部點,地圖比較混亂。
對比下來Gmapping是應用最為廣泛的2D slam方法,主要是基于2D激光雷達使用RBPF(Rao-Blackwellized Particle Filters)粒子濾波算法完成二維柵格地圖構建,每個粒子都攜帶一張地圖,將定位和建圖過程分離,先進行定位再進行建圖。
Gmapping可以實時構建室內環(huán)境地圖,在構建小場景地圖所需的計算量較小且地圖精度較高。相比于Hector SLAM,對激光雷達掃描頻率要求較低、魯棒性高(Hector在機器人快速轉向時很容易發(fā)生錯誤匹配,構建的地圖發(fā)生錯位,原因主要是優(yōu)化算法容易陷入局部最小值);而相比于Cartographer,在構建小場景地圖時Gmapping不需要太多的粒子并且沒有回環(huán)檢測,因此計算量小于Cartographer而精度并沒有差太多。
Gmapping有效利用了里程計信息,這也是Gmapping對激光雷達頻率要求低的原因:里程計可以提供機器人的位姿先驗。而Hector和Cartographer的設計初衷不是為了解決平面移動機器人定位和建圖,Hector主要用于救災等地面不平坦的情況。
最后向大家介紹YUHESEN 開發(fā)的商業(yè)化應用導航模塊 NV-AUTO
歡迎大家位臨公司交流學習 ,一同推動移動機器人導航技術發(fā)展與技術落地。