版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
基于SLAM算法的無人配送車路徑規(guī)劃研究TOC\o"1-3"\h\u25527 I178191緒論 1169461.1研究背景 1140371.2研究目的及意義 1261491.2.1研究目的 128791.2.2研究意義 2129921.3國內(nèi)外研究現(xiàn)狀 2102431.3.1國外研究現(xiàn)狀 2134021.3.2國內(nèi)研究現(xiàn)狀 2319081.4研究內(nèi)容及方法 417391.4.1研究內(nèi)容 4323701.4.2研究方法 5224211.5本文擬解決的問題 5175602相關技術介紹 5108102.1ROS軟件平臺基本概念 5290632.1.1基于文件系統(tǒng)層次概念的ROS 5308402.1.2基于計算圖形層次概念的ROS 6155652.1.3基于社區(qū)層次概念的ROS 8218312.2激光SLAM算法的相關硬件介紹 8185882.2.1激光雷達 9124842.2.2基于ROS的激光SLAM算法分析 1221852.2.3ROS框架下Gmapping算法的設計流程 1331812.3里程計 15274742.4JETSONNANO開發(fā)板 17108522.5無人配送車運動學模型 18183363環(huán)境信息的表示 20224083.1柵格地圖 20194963.2拓撲地圖 20122053.3幾何特征地圖 21301123.4環(huán)境信息的提取和處理 21297523.4.1激光雷達數(shù)據(jù)的坐標轉換 21249093.4.2ICP數(shù)據(jù)匹配 2243244無人配送車全局路徑規(guī)劃算法研究 23187634.1引言 2319264.2基于改進A*算法的全局路徑規(guī)劃研究 2381154.2.1A*算法原理介紹 247684.2.2A*算法的改進 26103144.2.3改進A*算法的流程圖設計 2948104.2.4仿真實驗及結果分析 31113655基于SLAM算法的無人配送車的仿真平臺搭建及測試 33234745.1雙輪無人配送車硬件仿真模型搭建 337995.2自平衡機器人的控制系統(tǒng)分層 35122365.3無人配送車的軟件系統(tǒng) 36143625.3.1策略組織層 36201315.3.2運動平衡層 37116125.4無人配送車自主導航算法仿真系統(tǒng)的搭建及測試分析 38225695.4.1無人配送車自主導航算法測試及分析 39146025.4.2基于改進Gmapping算法的多場景SLAM測試及分析 3940935.4.3改進路徑規(guī)劃算法測試及分析 411554結論 4415352參考文獻 45PAGE91緒論1.1研究背景近年來隨著人工智能物與聯(lián)網(wǎng)技術的高速發(fā)展,越來越多的智能設備被用于各個行業(yè)領域,極大的推動了新零售行業(yè)的興起,使得運用于社會各領域的無人配送車有了廣泛的市場需求,例如京東、阿里、美團、菜鳥裹裹等科技巨頭都在快速部署特定應用場景下的無人配送業(yè)務,特別是美團于2018年7月25日發(fā)布的無人配送平臺,更是吸引了業(yè)內(nèi)的廣泛關注。隨著依托人工智能與物聯(lián)網(wǎng)技術的無人配送業(yè)務的迅猛發(fā)展,基于特定應用場景下自主導航[1]的配送車更是進入了新的研究階段。在無人配送車不斷更新迭代的過程當中,自主導航功能是評價無人配送車性能優(yōu)劣的重要參考因素,不斷改進和優(yōu)化無人配送車導航算法是提高無人配送車配送效率的有效途徑。由于無人配送車的配送場景復雜多樣,目前無人配送車所采取的的導航算法均未能取得理想的配送效果,目前,針對無人配送車自主導航領域的研究主要采用基于攝像頭的視覺導航和基于激光雷達傳感器的導航[2],一:無人配送車采用基于視覺傳感器的導航方式,攝像頭獲取的環(huán)境信息太過復雜,對無人配送車的軟硬件都有著很高的要求,實時性不高,不能及時的根據(jù)外部環(huán)境的改變而做出準確的判斷和行為,難以保證無人配送車安全可靠的配送物品;二:無人配送車采用基于激光雷達傳感器的導航方式,在具有一定封閉性質的小區(qū)是一種比較好的解決方案,并且采用激光雷達導航的無人配送車在同時定位與地圖生成,路徑最優(yōu)規(guī)劃和實時安全避障等方面都有著非常大的改進空間。同時隨著激光雷達的成本不斷下降,采用激光雷達導航方式的無人配送車受到了廣泛的關注,并以此作為重點研究內(nèi)容和方向。自主導航功能是無人配送車的核心功能,基于SLAM算法的無人配送車的研究適應社會發(fā)展需要。為了實現(xiàn)小區(qū)高效配送物品的目標,本文主要基于SLAM算法的無人配送車設計,重點研究無人配送車的自主導航算法。1.2研究目的及意義1.2.1研究目的無人配送車從研發(fā)到應用一定會經(jīng)歷一個過渡階段。而且這個過渡階段,需要面臨技術的不成熟、社會大眾的不認可等諸多問題。通過調(diào)查研究表明,目前中小型無人配送車的硬件成本在5-15萬元不等。真正要實現(xiàn)無人配送,就需要嚴格的控制成本、達到量產(chǎn)才行。而在過渡階段并不能夠實現(xiàn)無人配送車的技術量產(chǎn)和對技術設備的絕對自信。因而,在這個過渡階段,對無人配送車進行研究具有非常的必要性。1.2.2研究意義一方面,對于物流公司而言,現(xiàn)階段無人配送車車輛成本較高,作為以營利為目的的企業(yè)而言,大批量的夠買無人配送車意味著大量的資金投入。在這個過渡階段,無人配送車和傳統(tǒng)配送車輛共同配送是必須經(jīng)歷的階段。對于物流公司而言,購置無人配送車的數(shù)量、規(guī)劃無人配送車的配送路徑是需要進行決策的。另一方面,對于政府管理部門而言,無人配送車上路需要對其進行管控,而相關管控政策的出臺也需要理論支持和依據(jù)。本文采用基于激光雷達傳感器和導航算法相結合的技術方案,設計無人配送車,重點研究在低速狀態(tài)下采用自主導航算法運行的無人配送車能否在無需人工干預的情況下高效安全的完成配送任務。如上所述,無人配送車的設計研究,重點在于自主導航算法的研究上,這具有重要的科研價值和研究意義。1.3國內(nèi)外研究現(xiàn)狀1.3.1國外研究現(xiàn)狀國外無人系統(tǒng)發(fā)展起步于20世紀60年代,在軍事用途和工業(yè)自動化領域率先發(fā)展。21世紀初,美國DEMOⅢ計劃的試驗無人車具備障礙檢測和避讓能力。除美國外,以色列、法國、德國、英國、日本等都開始加入無人系統(tǒng)研制行列。2015年7月,聯(lián)邦航空管理局批準了商業(yè)無人機遞送,標志著無人配送系統(tǒng)發(fā)展的一個里程碑。沃爾瑪、亞馬遜、Flytex等公司先后推出物流配送無人機,用于快遞配送和外賣配送環(huán)節(jié)中。2018年初,谷歌發(fā)布L4級自動駕駛配送車,這款無人配送車可以在模擬的道路環(huán)境中,完成紅綠燈識別、行人識別、自動變道、以及自主通過四向停車路口等操作。1.3.2國內(nèi)研究現(xiàn)狀我國無人系統(tǒng)雖起步較晚,但21世紀以來,隨著我國物流行業(yè)發(fā)展和科技的不斷進步,以京東、順豐為代表的多家電商、物流企業(yè)在國內(nèi)多個省市開展了大量的無人系統(tǒng)試驗試點工作,我國無人配送系統(tǒng)發(fā)展與國外差距明顯縮小。京東近年解決物流配送的“最后一公里”的末端無人機、無人車等在北京、陜西、云南、青海等多地實現(xiàn)了常態(tài)化運營。2018年6月,深圳市羅伯醫(yī)療科技有限公司研發(fā)的無人無人配送車ROBOGO在上海市第十人民醫(yī)院正式展開投入使用,目前服務于國內(nèi)外數(shù)十家大中型醫(yī)院。該類型的無人配送車融合了激光導航、超聲避障等先進技術,可以提供無需人工干預的全自主物品配送功能,進而替代先前通過人工運送物品的工作,有效滿足醫(yī)院大部分的物品配送需求,緩解醫(yī)院人力資源不夠用的局面,提高了醫(yī)院的物流配送能力。ROBOGO無人配送車如圖1-1所示。圖1-1ROBOGO無人配送車2020年1月26日,深圳市普渡科技有限公司研發(fā)的無人配送車首次在深圳市疫情防控隔離點啟動配送業(yè)務,有效緩解人力配送資源的緊張局面。該類型的無人配送車融合了高精度激光雷達、深度相機、紅外等多種類型的傳感器,運用先進的物聯(lián)網(wǎng)技術、跨樓棟導航算法和電梯控制技術,使其能夠實現(xiàn)醫(yī)院范圍內(nèi)全場景的物品配送服務。普渡科技無人無人配送車如圖1-2所示圖1-3普渡科技無人配送車目前,隨著我國無人設備的多場景應用,并在5G、人工智能、工業(yè)互聯(lián)網(wǎng)等新基建的加持下,我國無人配送體系將呈現(xiàn)出從點到面的飛速發(fā)展態(tài)勢,結合國家在智慧城市、智能物流園區(qū)的建設規(guī)劃,實現(xiàn)物流產(chǎn)業(yè)的智慧升級。在這個時期,無人配送車領域的發(fā)展也在不斷的深入,針對無人配送車領域的研究呈現(xiàn)出了非常迅猛的發(fā)展勢頭,同時也可以總結出無人配送車要實現(xiàn)低成本的精準配送還有一定的距離要走,隨著傳感器等硬件資源的不斷完善,設計開發(fā)低成本且高效的無人配送車已成為當前的研究熱點。1.4研究內(nèi)容及方法1.4.1研究內(nèi)容本文研究基于SLAM算法的無人配送車設計,重點研究無人配送車設計的自主導航算法中的全局最優(yōu)路徑規(guī)劃算法。針對無人配送車設計中的自主導航過程中的路徑規(guī)劃問題,本文從全局最優(yōu)路徑規(guī)劃進行深入研究。根據(jù)先前運用激光雷達傳感器和同時定位與地圖生成算法構建的地圖,一開始為無人配送車規(guī)劃出一條從初始位置到目標位置的全局最優(yōu)初始路徑。通過綜合判斷全局路徑規(guī)劃算法的優(yōu)缺點,得出A*算法路徑規(guī)劃的性能穩(wěn)定,尤其是適用于低速工作的場景。因此,在無人配送車的設計上,本文主要對傳統(tǒng)A*算法規(guī)劃生成的路徑距離過長,路徑轉折點過多,實時性弱等問題進行深入研究探討。仿真結果表明,改進優(yōu)化后了的A*算法全局路徑規(guī)劃性能有了顯著的提高。最后將以上改進的算法集成到無人配送車上進行仿真測試,實驗結果表明,設計的基于SLAM算法下的無人配送車設計能夠達到預期效果。1.4.2研究方法(1)文獻分析方法:通過查閱圖書館中的大量文件,查看國外大量無人系統(tǒng)及無人配送車的發(fā)展狀況及相關數(shù)據(jù)進行分析研究,研究無人系統(tǒng)及無人配送車的可行性和發(fā)展(2)需求分析法:通過對無人車的需求進行分析,了解哪些功能更滿足用戶需要,哪些功能可以對于企業(yè)來說是重中之重。(3)系統(tǒng)測試法:對成品項目新型測試,實現(xiàn)預期功能。1.5本文擬解決的問題本文通過對基于SLAM算法的無人配送車設計成功中路徑規(guī)劃問題以及實時避障問題進行研究,通過優(yōu)化和改良后的算法,使基于SLAM算法的無人配送車,在行駛過程中實現(xiàn)最優(yōu)路徑的規(guī)劃以及在行駛過程中如有障礙物,可以進行及時的避障,避免造成不必要的損失。2相關技術介紹2.1ROS軟件平臺基本概念目前,在ROS機器人軟件框架下開發(fā)無人配送車項目是許多研究人員的首選方案。它也是一種元級操作系統(tǒng),具備分布式模塊化的設計特點,這也大大加快了無人配送車的研發(fā)進度,同時ROS作為一種機器人軟件中間環(huán)節(jié),能夠在一個龐大的異構計算機集群中提供機器人軟件包管理,實現(xiàn)機器人常用功能,具備完善的信息通信機制,在底層設備控制及硬件抽象方面都有著很好的性能。同時,基于ROS軟件平臺的開發(fā),可以采用C++、Python等多種常用的編程語言,將采用各類編程語言的研究人員協(xié)同起來,共同完成相應機器人項目的開發(fā)。ROS軟件平臺的概念可以劃分為三個層次:基于計算圖形的層次、基于文件系統(tǒng)的層次和基于社區(qū)的層次[34],本小節(jié)將分別簡要介紹這些層級及其下屬基本概念。2.1.1基于文件系統(tǒng)層次概念的ROSROS文件系統(tǒng)層次是指在計算機磁盤上存放的ROS資源,主要由功能包、元功能包、棧、包描述、倉庫、消息類型、服務類型等構成。(1)功能包:包是ROS中編寫程序的主要單元。一個包可能含有ROS運行時進程(節(jié)點)文件、ROS依賴庫、數(shù)據(jù)集、配置文件或者其他需要統(tǒng)一歸檔的文件。同時,包也是ROS中最基本的構建項目和發(fā)布項目,是構建和發(fā)布的最基本單元。(2)元功能包:元功能包是一種特殊的包,它不包含功能性的源碼,主要作用在于維系功能包之間的聯(lián)系,表示功能包之間存在的依存關系。(3)棧:一個棧是由一些為實現(xiàn)一個統(tǒng)一的目標而實現(xiàn)了相關功能的包組成的,通常還包含一個元包來描述這個棧的信息,例如常用的Navigation棧,囊括了具有硬件控制、路徑規(guī)劃、運動控制等功能的包。(4)包描述:包描述是存于包內(nèi)的一個文件(通常命名為package.xml),它可以提供一個包的元數(shù)據(jù),包括包名、版本、功能描述、許可證信息、庫依賴和其他元信息(如導出包)。(5)倉庫:倉庫是指一個存有一個包的集合的版本控制系統(tǒng)VCS(VersionControlSystem)。共享同一個VCS的包也共享同一個版本,可以被同時發(fā)布。(6)消息類型:是一種消息描述文件,以“.msg”后綴存于包中,用于定義消息中的數(shù)據(jù)結構。(7)服務類型:是一種服務描述文件,服務是專門用來處理ROS節(jié)點間請求和應答模型的信息通信,其在ROS系統(tǒng)中有唯一的名稱,當節(jié)點發(fā)送請求服務時,系統(tǒng)中的其他節(jié)點可以根據(jù)需要對其進行應答。以“.srv”后綴存于包中。研發(fā)人員可以使用ROS系統(tǒng)中常用的服務數(shù)據(jù)類型,也可以根據(jù)機器人項目需要,自定義服務數(shù)據(jù)類型。2.1.2基于計算圖形層次概念的ROS在ROS中,計算圖是指共同處理數(shù)據(jù)的眾多ROS節(jié)點組成的P2P網(wǎng)絡。計算圖層級描述的是ROS運行過程中的進程和數(shù)據(jù)結構,其中包含的基本概念和介紹如下:(1)節(jié)點管理器:ROS節(jié)點管理器采用的是遠程調(diào)用的形式,負責對運行在ROS系統(tǒng)中所有節(jié)點的注冊、查找和信息傳遞,同時具備了ROS系統(tǒng)中提供參數(shù)服務器的功能,管理整個ROS系統(tǒng)的參數(shù)。圖2-1為ROS節(jié)點管理器通訊模型。圖2-1ROS節(jié)點管理器通訊模型(2)節(jié)點:節(jié)點是實現(xiàn)計算的進程,是ROS細粒度模塊化的體現(xiàn)。整個ROS軟件控制系統(tǒng)通常由許多節(jié)點組成,節(jié)點是由相應的ROS客戶端庫編寫的,單一的節(jié)點完成具體的機器人控制功能。ROS進程間的通信,其實就是ROS節(jié)點間的通信。(3)消息:消息在ROS系統(tǒng)中是以數(shù)據(jù)結構的形式存在,由相應的類型字段組成,后綴為“.msg”的文件描述。不但支持整型、浮點型、布爾型等標準的而且數(shù)據(jù)類型,還可以包含任意嵌套的數(shù)組和結構,同時開發(fā)人員還可以根據(jù)機器人項目的需要自定義數(shù)據(jù)類型。節(jié)點通過傳遞消息的形式進行通信。圖2-2為ROS消息模型。圖2-2ROS消息模型(4)參數(shù)服務器:參數(shù)服務器允許任何節(jié)點以鍵值對的形式存儲數(shù)據(jù),目前已經(jīng)成為主節(jié)點的一部分。主要負責ROS系統(tǒng)參數(shù)的修改和存儲。在運行ROS系統(tǒng)時,參數(shù)服務器可以將相應的數(shù)據(jù)傳遞給節(jié)點,保證節(jié)點可以完成相對應的功能。(5)服務:雖然采用發(fā)布和訂閱的模型進行通信是一種高效的通信模式,但在其多對多、單向式的傳輸中不適合用于請求/應答交互場景。但在分布式系統(tǒng)中,經(jīng)常需要用到請求/響應式的交互。所以在ROS系統(tǒng)中的服務是專門用來完成請求/應答式的信息通信,服務的消息結構是成對存在的,分別用于請求和響應。一個節(jié)點可以實現(xiàn)一個服務并且在主節(jié)點注冊一個名字,其他的節(jié)點或者客戶端如果需要調(diào)用該服務,就可以向該服務發(fā)送請求消息并等待回應。(6)數(shù)據(jù)包:數(shù)據(jù)包是ROS系統(tǒng)中用來存儲和回放消息的數(shù)據(jù)格式。主要將傳感器的數(shù)據(jù)存于數(shù)據(jù)包中可以使算法的開發(fā)和測試更加方便。(7)主題:主題用于節(jié)點之間的單工通信,主題是一種節(jié)點間通信的路由,發(fā)布節(jié)點將消息傳送到相應的主題中,訂閱節(jié)點負責接收這些來自主題的消息。主題是標識節(jié)點內(nèi)容的名稱,需要此節(jié)點內(nèi)容的其他節(jié)點將訂閱該主題。一個主題的發(fā)布者和訂閱者可以是一個或者多個,一個節(jié)點會根據(jù)系統(tǒng)功能的需要發(fā)布或者訂閱不同的主題。發(fā)布節(jié)點只負責將該節(jié)點的消息發(fā)送到相對應的主題,訂閱節(jié)點只負責接收訂閱該主題的消息,發(fā)布節(jié)點與訂閱節(jié)點是解耦的,這符合ROS系統(tǒng)模塊化的需要。2.1.3基于社區(qū)層次概念的ROSROS的社區(qū)層次指的是遍布于全球的機器人開發(fā)社區(qū)可以通過ROS平臺上提供的資源進行分享機器人相關技術和軟件知識。ROS平臺上的資源包括ROS發(fā)行版、機器人資源庫、ROS社區(qū)Wiki、郵件列表、ROS問題解答網(wǎng)站和相關的ROS博客等。2.2激光SLAM算法的相關硬件介紹目前,配送車的款式有很多種,有仿人型、輪式型、履帶型等,其中輪子型的配送車比較適合目前的無人配送業(yè)務,在市場上比較常見,其中相關的機械安裝和結構設計方面都有了非常大的改進。本文采用輪式型的無人配送車進行深入研究,通過對輪子的差速控制完成無人配送車的前進、后退、轉彎等運動方式。采用JETSONNANO開發(fā)板作為無人配送車的控制器,在JETSONNANO上安裝Linux操作系統(tǒng)、ROS軟件功能包及各類傳感器驅動及控制模塊,實現(xiàn)和上位機的遠程交互、傳感器數(shù)據(jù)的采集以及分析和無人配送車的啟停等功能。本文對激光SLAM算法的集成設計是基于輪式無人配送車的基礎上進行而研究的,無人配送車的硬件設計結構圖如圖2-3所示。圖2-3無人配送車硬件設計結構圖在無人配送車導航算法研究的過程中,首先要建立無人配送車的數(shù)學模型,其次以無人配送車輪軸為基點建立起無人配送車坐標變換系統(tǒng)。無人配送車坐標變換采用的坐標系一般情況下分為兩種:笛卡爾坐標系[3]和極坐標系[4]。其中笛卡爾坐標系在無人配送車控制系統(tǒng)中廣泛應用,無人配送車通過搭載ROS機器人軟件平臺,可以使用ROS坐標變換樹對無人配送車中的各個模塊的坐標進行相互轉換,使無人配送車在各個功能模塊之間可以協(xié)同操作。本文研究的無人配送車的基座是可移動的,在這個基座的上方安裝了一個激光雷達。為了能將基于無人配送車基座為中心的坐標系和基于激光雷達為中心的坐標系整合,校準激光雷達掃描的數(shù)據(jù)信息,使其能夠為控制配送車提供準確的坐標。2.2.1激光雷達本文使用是的360度二位激光掃描系統(tǒng)是由團隊robopeak研發(fā)的LIDARRPLIDAR,型號為A1,是一種低成本的二維激光雷達(LIDAR)解決方案,如圖2-4所示。圖2-4激光雷達RPLIDARA1RPLIDARA1采用激光三角測距技術,配合自主研發(fā)的高速的視覺采集處理機構,可進行每秒8000次以上的測距動作。采用光磁融合獨創(chuàng)設計,傳統(tǒng)的非固態(tài)激光雷達多采用滑環(huán)傳輸能量和數(shù)據(jù)信息,但由于存在機械磨損其連續(xù)工作時僅有數(shù)千小時壽命。綜合無線供電和光通信技術,獨創(chuàng)性的設計了光磁融合技術,徹底解決了因物理接觸機械磨損導致電氣連接失效、激光雷達壽命短的問題。它可以實現(xiàn)360度6米范圍內(nèi)的激光掃描,產(chǎn)生所在空間的平面點云地圖信息可用于環(huán)境掃描與3D重建、通用的同步定位與地圖構建(SLAM)、地圖測繪、機器人定位導航等應用。如圖2-5所示,激光雷達的工作原理跟聲納比較類似,工作時激光器發(fā)出一束激光打在被測量物體上反射回來,經(jīng)過鏡頭成像于CCD(成像屏幕)上,,通過鑲嵌在RPLIDARA1內(nèi)部的DSP運用三角原理實時進行計算,得出被測量的目標物體與雷達中心的距離以及當前的夾角信息后,通過通信接口進行輸出。圖2-5RPLIDAR的工作原理圖2-5同時示意了單個激光照射點數(shù)據(jù)采集的過程,其中θ是掃描點相對于雷達正前方(0°)的夾角,d為被照射物體與雷達中心的距離。因此,當雷達被安裝在機器人上中心位置時,以雷達的中心為極坐標原點,可以得到各個掃描點的坐標為:Zi=(ρi,θi)=(di,,θi),i=1,…,N(2-1)式中,N為雷達順時針掃描一周得到的測量數(shù)據(jù)的個數(shù),隨掃描頻率設定的不同而不同。RPLIDAR自身帶有一個電機驅動系統(tǒng)。在電機的驅動下,雷達會順時針按照設定的頻率進行掃描。同時,RPLIDAR自身帶有轉速檢測和自適應系統(tǒng),雷達的掃描頻率會自動隨著實際的電機轉速做出調(diào)整而無需為RPLIDAR提供復雜的供電系統(tǒng)和轉速控制系統(tǒng)。圖2-6激光雷達RPLIDAR的分辨率結合圖2-6和表2-1可以看的出來激光雷達的分辨率在整個測量范圍內(nèi)都小于13mm,占到了整個測量距離的百分比小于0.22%表2-1激光雷達PRLIDAR參數(shù)項目單位最小值典型值最大值備注測距范圍米(m)待定0.2-6待定基于白色高反光物體測得掃描角度度(°)不適用0-360不適用測距分辨率毫米(mm)不適用<0.5不適用測量物體在1.5米以內(nèi)<實際距離1%全部量程范圍內(nèi)角度分辨率度(°)不適用≤1不適用5.5Hz掃描時單次測距時間毫秒(ms)不適用0.5不適用測量頻率赫茲(Hz)不適用≥20002010掃描頻率赫茲(Hz)15.510掃描360度的頻率。典型值時一次恰好掃描360點在一般環(huán)境下,激光雷達對環(huán)境進行掃描能夠得到非常精確和可靠的數(shù)據(jù)。但在某些特殊情況下,例如強烈光照的戶外,環(huán)境物體為欄桿、桌椅的腿部、高透過率的玻璃、高反射率的鏡子時,也會出現(xiàn)很大的誤差,這對機器人的定位甚至會產(chǎn)生嚴重的影響。圖2-7a)所示的為機器人朝向產(chǎn)生較小變化,但導致被觀測物“消失”的情況(圖中虛線為前一時刻的照射光線,實線為當前時刻的照射光線),這樣的特殊情況會導致似然函數(shù)P(zt|mt-1,st)在st的不連續(xù),這樣會導致無人配送車有丟失正確狀態(tài)的風險。圖2-7b)所示的為被掃描物體為高反射率的鏡子導致的錯誤觀測。圖2-7c)所示的為高透過率的玻璃導致的錯誤觀測。a)b)c)圖2-7激光雷達的錯誤觀測2.2.2基于ROS的激光SLAM算法分析無人配送車的環(huán)境識別與定位功能是通過SLAM算法實現(xiàn)的。基于ROS軟件框架下,采用激光雷達方式的SLAM算法主要有HectorSLAM算法[5-7],KartorSLAM算法,LagoSLAM算法,Gmapping算法[8-9]和Google開發(fā)的Cartographer算法[10]。以上五種SLAM算法都是基于環(huán)境地圖特征的重合度作為性能優(yōu)劣與否的參考,最終都是采用占用柵格的方式輸出,以生成地圖質量的完整性為主要目標。圖2-8Gmapping算法輸入輸出流程圖在配送車自主導航領域中,研究最多的SLAM算法是HectorSLAM算法和Gmapping算法.HectorSLAM算法采用慣性傳感器[11-12]技術和二維環(huán)境下的掃描匹配技術實現(xiàn)環(huán)境識別與定位功能。使用HectorSLAM算法,配送車需要搭載低測量噪聲和高掃描更新率的外部傳感器。由于HectorSLAM算法沒有采用里程計傳感器,局部環(huán)境下的相對定位存在改進的空間,且如果采用低更新率的激光掃描儀,會影響生成的環(huán)境地圖質量。Gmapping算法通過采用基于里程計傳感器的相對定位技術和基于激光雷達傳感器的絕對定位技術,大大提升了無人配送車構建地圖的質量,是基于ROS框架下普遍采用的同時定位與地圖生成算法。Gmapping算法的輸入輸出流程圖如圖2-8所示。2.2.3ROS框架下Gmapping算法的設計流程本論文通過改進優(yōu)化的Gmapping算法來實現(xiàn)無人配送車的同時定位與地圖構建功能。Gmapping算法的集成設計是通過編程方式,將算法代碼以軟件功能包的行式集成到整個ROS框架下自主導航算法體系中,無人配送車通過加載Gmapping算法launch功能指令文件,結合其自身搭載的激光雷達,里程計等外部傳感器,實現(xiàn)對整個配送環(huán)境的地圖構建和自身位姿定位功能。Gmapping算法具體的集成設計工作如下:(1)首先,在GAZEBO軟件仿真平臺中,構建與無人配送車真實配送場景相對應的仿真環(huán)境,構建過程是用專門的機器人編程語言編寫相應的代碼。本文將根據(jù)無人配送車配送場景的需要,構建出不同的仿真環(huán)境,以便對后續(xù)改進的相關算法進行驗證。圖2-9是在GAZEBO軟件仿真平臺中,用于初步實現(xiàn)無人配送車同時定位與地圖構建功能的仿真環(huán)境圖2-9Gmapping算法仿真環(huán)境(2)用C++編程語言將Gmapping算法代碼化,編譯后將Gmapping算法以軟件功能包的方式集成到無人配送車自主導航軟件系統(tǒng)中,同時為避免頻繁在PC終端輸入相關控制指令,編寫相應的launch文件并進行編譯。圖2-10無人配送車定位與地圖生成過程圖(3)在PC終端中依次輸入相關控制指令,無人配送車便可以通過集成的Gmapping算法進行同時定位與地圖生成,圖2-10為無人配送車定位與地圖生成過程。roslaunchdelivery_gazebodelivery_world.launchroslaunchdelivrey_gmappingdelivery_gmapping.launchroslaunchdelivery_teleopdelivery_teleop_key.launch(4)無人配送車地圖構建完成后,可在PC機終端中輸入以下指令保存地圖。rosrunmap_servermap_saver-f~/delivery_map2.3里程計光電編碼器是利用光電效應原理,將角度、位置、轉速等物理量轉化為電信號并輸出的傳感器。里程計(odometry),便是通過光電編碼器輸出的脈沖數(shù)計算車輪在一定時間段內(nèi)轉動的弧度而獲得距離測量值。其價格低廉、采樣率高、段距離內(nèi)能提供相對較高的測量精度,因而被廣泛使用。光電編碼器按照編碼方式分為:絕對式編碼器、增量式編碼器和混合式編碼器。本課題論文使用的編碼器為增量式,如圖2-11所示。光電編碼器有一個中心有軸的光電碼盤,其上有環(huán)形通和不通的刻線(如圖2-12所示),當圓盤旋轉一個節(jié)距時,在發(fā)光元件的照射下,光敏元件得到A、B具有90度相位差的正弦波信號,經(jīng)過放大和整形得到方波輸出。若A相超前B相90度,為正方向旋轉;反之則為逆向旋轉。圖2-11光電編碼器圖2-12光電碼盤示意圖光電編碼器的分辨率P定義為:編碼器每旋轉360度提供多少通或暗的刻線數(shù)。定義里程計的分辨率為光電編碼器每個脈沖輸出對應車輪轉動的距離,如下式所示:(2-2)式中,R為車輪的半徑;P為光電編碼器的分辨率;η為電機減速機構的減數(shù)比。假設單位采樣周期為Δt,在Δt內(nèi)左右輪對應的編碼器輸出的脈沖數(shù)分別為NL和NR左右輪對應的里程計的輸出為:Δ????=??×=(2-3)Δ????=??×=(2-4)即為左右輪分別對應的增量位移。很明顯,式(2-3)和式(2-4)的輸出是包含誤差的,一般我們將基于里程計的位置估計誤差建模成高斯分布。對于左右輪裝了獨立編碼器的雙輪自平衡機器人,其里程計噪聲一般建成獨立的兩組高斯分布,一組為機器人直線平移的測量誤差,一組為機器人旋轉運動的測量誤差。圖2-14所示為里程計誤差導致的機器人位置估計的“香蕉型”分布。圖中實線為機器人的運動軌跡,右邊的“香蕉型”陰影代表了機器人的可能位置,顏色越深的部分代表機器人所在的可能性越大。圖a)和圖b)表示了機器人初始和最終的位置相同,當路徑不同的造成的位置估計p(????|?????1,????)的區(qū)別。可以看出,由于多了機器人的旋轉運動,造成了機器人的位置估計的不確定度要大于機器人直線運動的情況。b)圖2-14里程在不同機器人位移情況下的位置估計誤差2.4JETSONNANO開發(fā)板JetsonNano采用四核64位ARMCPU和128核集成NVIDIAGPU,可提供472GFLOPS的計算性能。它還包括4GBLPDDR4存儲器,采用高效,低功耗封裝,具有5W/10W功率模式和5VDC輸入,JetsonNano也提供了完整的桌面Linux環(huán)境,具有加速圖形,支持NVIDIACUDAToolkit10.0,以及cuDNN7.3和TensorRT等庫。該SDK還包括本機安裝流行的功能開源機器學習(ML)框架,如TensorFlow,PyTorch,Caffe,Keras和MXNet,以及計算機視覺和機器人開發(fā)的框架,如OpenCV和ROS。JetsonNano可以運行各種各樣的高級網(wǎng)絡,包括流行的ML框架的完整原生版本,如TensorFlow,PyTorch,Caffe/Caffe2,Keras,MXNet等。通過實現(xiàn)圖像識別,對象檢測和定位,姿勢估計,語義分割,視頻增強和智能分析等強大功能,這些網(wǎng)絡可用于構建自動機器和復雜AI系統(tǒng)。JetsonNano在沒有互聯(lián)網(wǎng)連接的情況下部署了AI。邊緣計算有助于機器人,無人機,安全攝像頭以及許多其他不希望依賴互聯(lián)網(wǎng)連接的設備進行功率推斷。如圖2-15,2-16所示是JETSONNANO開發(fā)板的接口圖:圖2-15JETSONNANO正面接口圖圖2-16JETSONNANO背面接口圖2.5無人配送車運動學模型圖2-17所示的是本論文的模型——雙輪式無人配送車。它是一個擁有2個平面支撐運動自由度和2個姿態(tài)角運動自由度的4自由度非完整系統(tǒng)。圖2-17雙輪式無人配送車圖2-18雙輪式無人配送車的運動學分析2-18時刻從位姿運動到t時刻的分別代表無人配送車在地圖中的直角橫縱坐標和朝向與x正方向的夾角。圖中????和?????1分別為雙輪無人配送車在時刻和x軸正方向的夾角;圖中和分別為雙輪無人配送車在t時刻和時刻的軸徑向朝向,定義為無人配送車左輪中心經(jīng)軸心指向右輪中心的方向和x軸正方向的夾角,并且有,1;分別代表無人配送車中心、左輪/右輪運動的軌跡長度。分析可得單位時間機器人位姿增量的公式為:(2-5)上式成立的條件為。當?shù)臅r候,式(2-5)退化為(2-6)3環(huán)境信息的表示環(huán)境地圖對于許多定位方法和路徑規(guī)劃具有重要的基礎作用。機器人利用傳感器感知現(xiàn)實環(huán)境信息并創(chuàng)建、更新環(huán)境地圖。目前典型使用的地圖有柵格地圖、幾何特征地圖和拓撲地圖。3.1柵格地圖柵格地圖是這三種地圖中最簡單的環(huán)境表示方法,最早是由Moravec,Elfes和Borenstein/Koren提出并被其他研究者所拓展和采用。它將整個環(huán)境用一系列的柵格劃分,便于表示環(huán)境中的障礙物。對于2D柵格地圖,整個環(huán)境被分割成大小一致的柵格,每一個柵格被賦予一個(0,1)之間的值,表示這個柵格被占的概率,以此來表示這個柵格對應的實際環(huán)境中的位置是否有障礙物存在。對于3D柵格地圖,每個柵格還會被賦予一個高度值以表示環(huán)境中物體的高度,這對于野外環(huán)境地圖的表示具有重要作用。柵格地圖易于創(chuàng)建和維護,每個柵格的信息可以和對應的環(huán)境中的某個區(qū)域所對應,特別適用于處理超聲測量數(shù)據(jù)和激光測量數(shù)據(jù)。但是,對于柵格地圖來說,環(huán)境表示的分辨率和柵格尺寸大小有關,提高分辨率就會增加柵格的數(shù)量,這就會增加運算時間復雜度和空間復雜度。同時,對于大型的環(huán)境,隨著全局地圖的擴增和不斷更新,會對計算信息存儲帶來不小的問題。但是,對于小型的地圖,柵格地圖的使用和維護是非常方便和實用的。3.2拓撲地圖拓撲地圖是由Brooks,Mataric等人提出的[13]。不同于幾何特征地圖和柵格地圖使用笛卡爾坐標標定地圖信息位置,拓撲地圖使用節(jié)點和連接節(jié)點的路徑來表示環(huán)境地圖。拓撲地圖定義為一個圖,一個圖節(jié)點表示環(huán)境中的一個特殊位置,一個圖弧表示兩個節(jié)點間的路徑信息。這樣,兩個不相鄰節(jié)點之間的導航就表示為一串中間節(jié)點。拓撲地圖的構建過程分為:柵格化、Voronoi圖、找關鍵點、找關鍵線、拓撲圖。它是在柵格地圖的基礎上構建的,基于柵格的地圖被劃分成不同的區(qū)塊,每個區(qū)塊生成同構的圖,用圖中的節(jié)點對應區(qū)塊并用弧連接相鄰的區(qū)塊,得到的圖便是拓撲地圖。拓撲地圖對于結構化的環(huán)境是一種有效的表示方法,是很容易實現(xiàn)的。但對于非機構化的環(huán)境,節(jié)點的識別就會變得非常復雜。機器人很容易迷失位姿。如果機器人經(jīng)過兩個相似的地方,就很難斷定這兩個地方是否為同一個地方。為了更好的表示環(huán)境信息,出現(xiàn)了混合拓撲和特征地圖的表示方法。通過加入尺度信息來補償拓撲信息,兼具拓撲地圖的高效性和特征地圖的一致性和精確性。3.3幾何特征地圖幾何特征地圖主要是在觀測原始數(shù)據(jù)中提取環(huán)境中路標的幾何特征,并使用其全局地圖坐標進行描述。每一個環(huán)境特征在地圖中都有精確表示,并且每一個環(huán)境特征都有對應的基本幾何模型(如點、線段等)。這種適用于結構化的環(huán)境信息描述,但對于非結構化的環(huán)境,很多環(huán)境特征難以用點、線段等標準的幾何特征模型描述,想要實現(xiàn)精確和具體的環(huán)境描述就會有困難。使用幾何特征地圖的另一個難點是數(shù)據(jù)的關聯(lián)問題。要對全局地圖進行更新第二章傳感器模型與環(huán)境信息處理維護,就需要將局部地圖的數(shù)據(jù)和當前的全局地圖的數(shù)據(jù)進行對比,把對應的環(huán)境特征關聯(lián)起來用于保證構造的地圖具有一致性。為了保證地圖的一致性,幾何特征地圖要求各觀測信息的位置具有一定的精確性。同時,對于機器人在全局地圖中的定位,數(shù)據(jù)關聯(lián)的準確性也直接影響機器人的位姿估計。如果觀測的環(huán)境環(huán)境特征能夠與全局地圖正確關聯(lián)和匹配,就可以直接計算出機器人的位姿,或者用濾波估計技術來跟蹤機器人的位姿。3.4環(huán)境信息的提取和處理3.4.1激光雷達數(shù)據(jù)的坐標轉換在圖3-1中,A點表示機器人的位姿,B點表示激光雷達的任一被照射點的位置。Ψ是機器人的朝向角,定義為與x軸正方向的夾角;、分別為機器人在直角坐標系中的橫縱坐標;θ為雷達照射點與機器人朝向的夾角(激光雷達是順時針旋轉的,故θ隨著照射點相對于機器人朝向順時針變化而在[0,360)周期從小到大變化);d為激光照射點距離雷達中心(機器人中心)的距離;β為坐標轉換后激光照射點在直角坐標系中與原點的連線和x軸正方向的夾角;x,y為激光照射點在直角坐標系中的橫縱坐標。圖3-1激光雷達測量數(shù)據(jù)坐標轉換根據(jù)幾何計算,可以得到:(3-1)(3-2)(3-3)3.4.2ICP數(shù)據(jù)匹配ICP(IterativeClosestPoint)迭代最近點算法是Besl和Mckay在1992年提出的[14]。在激光雷達數(shù)據(jù)匹配問題中可以描述為:在給定機器人移動前后的兩組激光測量點數(shù)據(jù)的條件下,通過迭代運算求得機器人的運動參數(shù)使得這兩組激光測量點盡可能對準。假設P為上一時刻激光掃描點的數(shù)據(jù)集合,數(shù)據(jù)的個數(shù)為;Q為當前時刻激光掃描點的數(shù)據(jù)集合,數(shù)據(jù)的個數(shù)為。則ICP匹配問題就是求運動參數(shù),使得數(shù)據(jù)點,經(jīng)過運動變換得到,使集合P變?yōu)?,有與Q誤差最小。ICP匹配的具體步驟如下:⑴對P中每一個,在Q中尋找離最近的一點。⑵代入點集,使用最小二乘法或者奇異值分解法求解公式(3-4)得參數(shù)的解。(3-4)⑶由參數(shù)計算求得。⑷反過來再用由上面的方法迭代求P得到新的,即更新。⑸計算前后兩次得到的的誤差,當誤差小于預設閾值時退出迭代運算;否則就按照⑴-⑷的步驟反復迭代運算,直至前后兩次得到的的誤差值小于預設閾值,或者迭代超過限制次數(shù)。ICP算法具有較好的精度和魯棒性,對環(huán)境沒有特殊要求。但是存在以下缺點:⑴收斂速度較慢;⑵前后兩次激光掃描數(shù)據(jù)點不存在一對多的關系,但是每次迭代過程中,觀測點集中的某點可能對應參考點集中的多個點;⑶給定初始值不佳等原因可能使得算法結果收斂于局部最優(yōu)解;⑷利用搜索算法搜索得到的每個點對都具有不同的誤差權重,在實際應用中為了便于計算都是賦予每個點對具有一樣的權重,因此會導致結果存在誤差[15]。4無人配送車全局路徑規(guī)劃算法研究4.1引言無人配送車自主導航系統(tǒng)的實現(xiàn),離不開目前先進的路徑規(guī)劃算法。無人配送車將同時定位與地圖生成算法構建好的柵格地圖用于路徑規(guī)劃,無人配送車的路徑規(guī)劃分為全局最優(yōu)路徑規(guī)劃和局部路徑規(guī)劃。全局路徑規(guī)劃是指無人配送車在環(huán)境完全已知的情況下,快速規(guī)劃出一條從起始位置到目標位置的最優(yōu)路徑,全局路徑規(guī)劃算法有很多,本章節(jié)主要對傳統(tǒng)A*算法和定向加權A*算法[16]進行改進和優(yōu)化。4.2基于改進A*算法的全局路徑規(guī)劃研究A*算法是一種啟發(fā)式搜索算法,在靜態(tài)環(huán)境中尋找最短路徑時非常有效。A*算法由NilsNilsson首先提出,是在Dijkstra算法基礎上改進得到的。Dijkstra算法和A*算法都是基于柵格圖型的搜索算法,在配送車路徑規(guī)劃領域有著廣泛的應用。Dijkstra算法是一種基于貪婪模式的算法,不具有啟發(fā)性,路徑搜索效率低,很難規(guī)劃出路徑全局最優(yōu)路徑。A*算法在Dijkstra算法的基礎上,定義了啟發(fā)函數(shù)[17],大大提高了路徑搜索的能力,其在靜態(tài)環(huán)境下能夠快速搜索到可行有效的路徑,因此廣泛用于智能移動機器人路徑規(guī)劃,但基于8鄰域搜索的A*算法規(guī)劃生成的路徑包含了很多不必要的冗余點,且在拐點處的轉折角度過大,致使規(guī)劃生成的路徑長度過長,路徑曲率不連續(xù),不利于無人配送車的平穩(wěn)運行,同時基于8鄰域搜索的A*算法路徑規(guī)劃耗時較長,滿足不了無人配送車快速規(guī)劃路徑的需要。張超超等人提出了一種針對路徑長度和轉折角度進行改進的算法,有效縮短了基于8鄰域搜索A*算法規(guī)劃的路徑長度和轉折角度,路徑規(guī)劃的時間也有較大幅度的降低,但其算法規(guī)劃生成的路徑轉折線段仍然存在,且路徑規(guī)劃的時間也較長,致使無人配送車無法穩(wěn)定快速地規(guī)劃生成出最優(yōu)的路徑;陳若男等人通過引入最佳的鄰域矩陣進行障礙搜索,并結合分區(qū)自適應距離信息改進啟發(fā)函數(shù),明顯提升了路徑的安全性,但是路徑距離和規(guī)劃時間都無明顯改善;李沖等人提出了一種基于方向約束的A*算法,通過方向約束和定向擴展機制進行路徑規(guī)劃,有效提高了路徑規(guī)劃的搜索效率,但在復雜環(huán)境下,規(guī)劃生成的路徑距離達不到最優(yōu),且路徑搜索效率也不高。綜上所述,現(xiàn)有改進A*算法的相關研究工作,在一定的條件約束下,路徑規(guī)劃的單一性能指標有了明顯的提升,但還無法兼顧規(guī)劃生成路徑的安全性、實時性、平滑性等問題。為此,本文提出一種能夠適用于無人配送車全局路徑規(guī)劃的改進A*算法。在基于8鄰域搜索A*算法的基礎上,設計出了一種適應無人配送車運行環(huán)境的多啟發(fā)式搜索方法,使其能夠很好地衡量每個路徑擴展節(jié)點的計算成本,進而快速規(guī)劃出更優(yōu)的路徑。同時,本文還提出一種路徑優(yōu)化策略,將初步生成的路徑轉折曲線優(yōu)化為圓弧,進一步降低路徑的轉折角度。最后,改進A*算法的搜索路徑機制,使規(guī)劃生成的路徑與障礙物保持在一定的距離,以此保證無人配送車在運行的過程中不碰到障礙物,安全的到達目標位置。本文改進的A*算法不僅保證了規(guī)劃生成的路徑全局最優(yōu),最大限度的平滑路徑,有效增強了無人配送車的避障能力,同時還進一步提高了路徑規(guī)劃的快速性。4.2.1A*算法原理介紹傳統(tǒng)A*算法是一種基于柵格圖形的路徑遍歷算法,同時也是一種具有啟發(fā)式搜索特點的高效尋路算法,A*算法采用估價函數(shù)的設計,深度融合了廣度優(yōu)先搜索算法[56]和深度優(yōu)先搜索算法[18]所具有的特點,使其能夠在靜態(tài)已知環(huán)境中找到一條合適可行的路徑。因此,A*算法廣泛應用于靜態(tài)已知環(huán)境下的全局路徑規(guī)劃。此外,A*算法的優(yōu)劣,極大程度取決于估價函數(shù)的設計。設計好合理的估價函數(shù)之后,便確定了路徑搜索時的啟發(fā)規(guī)則和方向。它首先從起始點開始搜索周圍的每一個節(jié)點,同時估價函數(shù)計算周圍每個節(jié)點的估價值,選取最小估價值的節(jié)點作為下一個擴展的節(jié)點,更新起始點,之后不斷循環(huán)的搜索,搜索到目標位置之后,再從目標位置不斷回溯到起始位置,最終生成路徑。A*算法在整個的路徑搜索過程中,始終都是以最低的估價值不斷循環(huán)搜索,因此最終的估價值也是最小的。用于計算A*算法估價值的數(shù)學表達式定義為:(4-1)表達式中:是從起始位置到目標位置的估價值,是從起始位置到節(jié)點的實際代價值,是從節(jié)點到目標位置的啟發(fā)函數(shù)估價值。A*算法要找到最優(yōu)路徑,關鍵在于的選取,設節(jié)點到目標位置的實際代價為,時,搜索的節(jié)點少,搜索范圍小,效率高,但不能保證搜索到最優(yōu)的路徑;時,估計代價等于實際代價,A*算法將沿著最短路徑進行搜索,找到最優(yōu)的路徑:時,搜索的節(jié)點多,搜索范圍大,效率低,但能找到最優(yōu)路徑。定義啟發(fā)函數(shù)的距離有Chebyshev距離、Euclidean距離、Manhattan距離,即(4-2)(4-3)(4-4)其中是節(jié)點的橫坐標,是節(jié)點的縱坐標,是目標點的橫坐標,是目標點的縱坐標。。由于無人配送車路徑規(guī)劃是以實際距離進行評估的,以規(guī)劃生成最短的路徑為目標,因此Chebyshev距離不適用。此外,計算兩點間的最短距離,Euclidean距離和Manhattan距離都是常用的距離定義啟發(fā)函數(shù),其中基于8鄰域柵格的搜索,Euclidean距離定義的啟發(fā)函數(shù)明顯優(yōu)于Manhattan距離定義的啟發(fā)函數(shù),通過對以上三種距離進行分析后得出,以上距離都不能很好的適應無人配送車工作環(huán)境。因此,本文將結合Euclidean和Manhattan距離,設計出一種搜索效率更高,生成路徑更優(yōu)的啟發(fā)函數(shù)。在柵格地圖中采用A*算法搜尋路徑,需要實時維護兩個列表,開啟列表和關閉列表。開啟列表儲存的是下一個擴展節(jié)點的所有候選點,A*算法搜尋路徑的過程中,從開啟列表中選取最小估價值的節(jié)點作為下一個擴展節(jié)點。關閉列表儲存的是所有檢查過的不具有最小估價值的節(jié)點和有障礙物不可通行的節(jié)點。采用A*算法進行路徑規(guī)劃的主要工作流程包括以下幾個步驟:1)把起始位置的節(jié)點加入開放列表。2)查詢開放列表中有無節(jié)點,如果沒有節(jié)點,則表示路徑搜索不到;有節(jié)點,則執(zhí)行。3)選用開放列表中最小估價值的節(jié)點作為當前擴展節(jié)點,并對擴展節(jié)點的所有周圍節(jié)點進行篩選:當前擴展節(jié)點的周圍節(jié)點是不可通行節(jié)點或者是關閉列表中的節(jié)點,不進行任何操作;當前擴展節(jié)點的周圍節(jié)點不在開放列表中,則將其加入開放列表,同時把當前擴展節(jié)點作為該節(jié)點的周圍節(jié)點的父節(jié)點,計算當前擴展節(jié)點的周圍節(jié)點的估價函數(shù)值;當前擴展節(jié)點的周圍節(jié)點在開放列表中,若當前擴展節(jié)點作為父節(jié)點,當前節(jié)點的周圍節(jié)點的實際代價值比之前更小,則把當前擴展節(jié)點的父節(jié)點作為當前擴展點,重新計算其估價值,否則,不進行任何操作。4)將當前擴展的節(jié)點加入關閉列表,查詢目標位置是否在開放列表中,如果不在開放列表中,則跳回步驟2繼續(xù)進行路徑搜索;如果在,路徑已找到,搜索完成。5)從目標位置開始,不斷從每一個父節(jié)點追溯到起始位置,生成路徑。4.2.2A*算法的改進針對無人配送車路徑規(guī)劃過程中耗時較長,路徑不夠平滑,避障性能不足等問題,本節(jié)對基于8鄰域搜索方向的A*算法進行了三方面的改進及優(yōu)化,通過重新設計距離定義啟發(fā)函數(shù)使得改進A*算法能夠在搜尋路徑的過程中,兼顧可通行區(qū)域和障礙物區(qū)域,并且優(yōu)化了路徑的生成策略,最大限度地平滑了算法生成的路徑;同時改進了A*算法的搜索路徑機制,使規(guī)劃生成的路徑與障礙物保持在一定的距離,實現(xiàn)了適合無人配送車行駛的最優(yōu)安全路徑的快速規(guī)劃。1.距離定義智能啟發(fā)函數(shù)的設計改進的A*算法采用基于柵格地圖的八鄰域搜索方式,設計出一種基于多啟發(fā)式搜索的智能啟發(fā)函數(shù),使其能夠根據(jù)無人配送車的工作場景,結合Euclidean距離和Manhattan距離,在不同的搜索方向中使用不同的但保持一定比例的距離加權值,通過兩種方式的改進,設計出的智能啟發(fā)函數(shù)能很好的兼顧無人配送車可通行區(qū)域和障礙物區(qū)域,找到最適合無人配送車通行的路徑。改進的距離定義智能啟發(fā)函數(shù)的具體形式如式(4.5)和式(4.6)所示。式(4.7)和式(4.8)是將改進的距離定義智能啟發(fā)函數(shù)融入A*算法估價函數(shù)的具體形式。(4-5)(4-6)(4-7)(4-8)在式(4.5)和式(4.6)中,第一種方式的改進是指距離定義啟發(fā)函數(shù)在當前柵格的上下左右四個方向上,采用Manhattan距離定義,在當前柵格的左上、右上、左下、右下四個方向上,采用歐幾里得距離定義;第二種方式的改進是在結合Euclidean距離和Manhattan距離定義的基礎上,使Euclidean距離定義的啟發(fā)函數(shù)和Manhattan距離定義的啟發(fā)函數(shù)保持一定比例,其中表示距離加權值,為正整數(shù)。改進后的距離定義啟發(fā)函數(shù),節(jié)省了很多冗余的計算成本,明顯使得改進后的啟發(fā)函數(shù)變得高效和可靠,大大縮短了無人配送車的路徑規(guī)劃時間。2.路徑轉折線段優(yōu)化策略A*算法在柵格地圖中進行路徑規(guī)劃,起初是以起始點作為當前擴展點,估價函數(shù)不斷評估當前擴展點的周圍節(jié)點并選取具有最低估價值的節(jié)點作為下一個擴展節(jié)點,不斷向周圍節(jié)點進行擴展,直到目標節(jié)點找到,從目標節(jié)點進行回溯生成路徑,搜索完畢。此時生成的路徑曲線轉折點過多,轉折角度過大,致使無人配送車不能安全平穩(wěn)實時的運行。針對這個問題,本文提出了一種優(yōu)化策略,可以優(yōu)化路徑的轉折曲線為圓弧,最大限度的平滑規(guī)劃生成的路徑。路徑轉折線段優(yōu)化策略如圖3-1所示。圖4-1路徑轉折線段優(yōu)化前后效果圖本文提出的路徑轉折線段優(yōu)化策略是依據(jù)數(shù)學上的邊弧優(yōu)化原理,對之前融入智能啟發(fā)函數(shù)后規(guī)劃生成的初始路徑進行邊弧優(yōu)化。關鍵步驟是計算出路徑轉折處節(jié)點間的轉折角度α,并通過公式(4.9)求出其余弦值,計算公式如下:(4-9)其中為初始路徑三個相鄰節(jié)點的坐標。由于無人配送車在柵格地圖中轉動的角度只存在0°、45°和90°這三種情況,因此只需根據(jù)節(jié)點間的夾角和方向,便可以采用邊弧優(yōu)化理論計算出所有轉彎情況的半徑,圓心和轉彎的弧度。根據(jù)路徑轉折處節(jié)點間的轉折角度α的值,無人配送車在轉折點處的運動狀態(tài)有以下三種情況,對此采取的路徑轉折線段優(yōu)化策略流程圖如下圖4-2所示。圖4-2路徑轉折線段優(yōu)化策略流程圖具體實現(xiàn)過程如下:(1)當α>0°時,無人配送車向左轉動,并根據(jù)α值的大小,控制轉動的角度;(2)當α=0°時,無人配送車行駛方向保持不變;(3)當徑轉折線段優(yōu)化策略α<0°時,無人配送車向右轉動,并根據(jù)α值的大小,控制轉動的角度。3.安全避障的路徑生成策略針對無人配送車配送過程中的安全問題,平滑規(guī)劃生成的路徑依然無法保證不與障礙物發(fā)生碰撞,對此,進一步優(yōu)化算法的路徑生成策略,使改進后的算法規(guī)劃生成的路徑與障礙物保持至少0.707cm的安全距離,以此保證無人配送車在運行的過程中不碰到障礙物,安全的到達目標位置。安全避障的路徑生成策略如圖4-3所示。圖4-3安全避障的路徑生成策略本文提出的安全避障路徑生成策略主要是對子節(jié)點的估價值進行調(diào)整。實現(xiàn)方法如下:(1)若當前的節(jié)點與相鄰節(jié)點的方向和當前節(jié)點與其父節(jié)點方向相同,則減小公式(1)中的估價值;若方向相反,則增加的估價值。(2)初始路徑轉折點間的轉彎程度與的估價值呈正比例相關。轉彎程度越大的估價值也越大。(3)擴展子節(jié)點的過程中,優(yōu)先擴展垂直水平方向上的節(jié)點,隨后根據(jù)垂直水平方向上是否存在障礙物,如果存在,則不擴展與障礙物相鄰的對角線節(jié)點;如果不存在,則擴展對角線方向節(jié)點。安全避障路徑生成策略的流程圖如圖3-4所示。圖4-4安全避障路徑生成策略的流程圖4.2.3改進A*算法的流程圖設計通過采用流程圖的形式,進一步闡明為改進A*算法所做的研究。本文算法流程圖如圖3-5所示。首先根據(jù)無人配送車運行環(huán)境建立與之對應的柵格地圖,將起始位置和目標位置導入柵格地圖,并將起點加入開放列表;然后選取開放列表中估價值最低的節(jié)點,即起始節(jié)點作為當前擴展點,不斷沿著當前擴展節(jié)點的周圍節(jié)點進行擴展,融入了智能啟發(fā)函數(shù)的改進A*算法,在很好的兼顧可通行區(qū)域和障礙物區(qū)域的基礎上,實時檢測每一個擴展的節(jié)點是否為路徑的關鍵拐點,如果是,則進行標記保存,否則,將其視為冗余點剔除;最終在搜尋到目標節(jié)點的同時,所有的關鍵拐點都已標記保存,在回溯生成路徑的過程中,直接連接起始節(jié)點,所有的關鍵拐點和目標節(jié)點,生成最優(yōu)的路徑。圖4-5改進A*算法的流程圖4.2.4仿真實驗及結果分析為了驗證本文改進的A*算法在無人配送車全局路徑規(guī)劃中具備優(yōu)良的特性,特根據(jù)無人配送車運行環(huán)境,建立與之完全對應的柵格地圖,聚焦規(guī)劃生成路徑的長度,轉折角度,生成路徑與障礙物的距離,路徑規(guī)劃時間等一系列影響無人配送車運行得性能指標,進行針對定向加權A*算法對比分析的實驗。用于仿真實驗的計算機配置為:UBUNTU16.04.6LTSLinux操作系統(tǒng),處理器:Intel?CoreTM,i5-3230MCPU@2.60GHZ,運行內(nèi)存為4Gib,仿真平臺采用MATLABR2017b。1.改進A*算法仿真實驗由于定向加權A*算法在仿真環(huán)境下,采用較小單位制來約束路徑距離,以提高路徑規(guī)劃的精確性。因此,為搭建與其相同的實驗環(huán)境,對之前所構建的柵格進行細分化處理,每個柵格由之前表示100個單位細分表示為1個單位,每個單位以厘米計算,在20*20的柵格地圖中進行算法對比仿真實驗。圖4-6融入智能啟發(fā)函數(shù)規(guī)劃生成的路徑圖4-6是融入智能啟發(fā)函數(shù)之后規(guī)劃生成的路徑,其規(guī)劃生成的路徑長度能夠達到最優(yōu),但路徑規(guī)劃的時間明顯減少,與定向加權A*算法相比,時間從1.379秒減少為0.988秒。因此,融入了智能啟發(fā)函數(shù)之后的A*算法優(yōu)化生成路徑的同時,減少了規(guī)劃生成路徑的時間。圖4-7啟用路徑轉折線段優(yōu)化策略規(guī)劃生成的路徑圖4-7是啟用路徑轉折線段優(yōu)化策略之后規(guī)劃生成的路徑,從圖中可以看出,啟用路徑轉折線段優(yōu)化策略之后規(guī)劃生成的路徑能夠將路徑轉折線段部分優(yōu)化為圓弧,路徑折點數(shù)和路徑轉折角度進一步減少,使得整體規(guī)劃生成的路徑更加平滑,這對于無人配送車的平穩(wěn)運行具有重要的參考價值。圖4-8啟用安全避障路徑生成策略規(guī)劃生成的路徑圖4-8是啟用安全避障路徑生成策略之后規(guī)劃生成的路徑,從圖中可以看出,啟用安全避障路徑生成策略之后規(guī)劃生成的路徑與障礙物始終保持半個柵格單位的距離,雖然路徑長度從優(yōu)化之前的23.4cm增加到25.8cm,但是大大提高了無人配送車的避障性能,能夠很好的滿足無人配送車安全無碰的到達目標位置。2.實驗數(shù)據(jù)列表及實驗結果對比分析為了進一步清晰直觀的說明本文改進的A*算法能夠規(guī)劃生成出更優(yōu)的路徑,將影響路徑規(guī)劃性能的主要參數(shù)列表顯示,根據(jù)路徑規(guī)劃算法仿真實驗得出的數(shù)據(jù),對傳統(tǒng)A*算法、定向加權A*算法和本文改進算法的優(yōu)劣進行量化對比分析。表4-1算法改進前后性能參數(shù)比較算法路徑距離/cm運行時間/s折點數(shù)安全距離/cm傳統(tǒng)A*算法27.82.580120定向加權A*算法23.41.37830或0.707本文改進A*算法25.80.98800.707通過表4-1可以看出,本文算法規(guī)劃生成的路徑,多項性能參數(shù)都要優(yōu)于傳統(tǒng)A*算法和定向加權A*算法,其中,本文改進的A*算法規(guī)劃生成的路徑距離為25.8cm,路徑規(guī)劃的時間為0.988s,路徑折點數(shù)顯著減少。此外,本文針對無人配送車路徑規(guī)劃問題進行研究,對初步生成的路徑轉折曲線優(yōu)化為圓弧,最大限度的平滑路徑,使生成的路徑轉折點數(shù)降至為零,在啟用安全避障路徑生成策略之后,規(guī)劃生成的路徑距離達不到最短,比定向加權A*算法規(guī)劃生成的路徑距離要長2.4cm,但是本文算法能夠很好地避開障礙物,這對于無人配送車平穩(wěn)安全的運行具有更加重要的意義。由于本文改進的A*算法將路徑轉折曲線優(yōu)化為圓弧,因此折點數(shù)降至為零,累計轉折角度也降為零,各項性能指標都有了較大幅度的改善,能夠較好的滿足無人配送車的運行需要。5基于SLAM算法的無人配送車的仿真平臺搭建及測試5.1雙輪無人配送車硬件仿真模型搭建雙輪自平衡無人配送車,在結構上模仿人的直立姿態(tài),原理上模仿人的平衡能力。是一種既屬于結構性仿生又屬于原理性仿生的機器人系統(tǒng)。自平衡機器人的平衡控制策略來源于倒立擺的控制原理。它是具有兩個平面支撐運動自由度、兩個姿態(tài)角運動自由度,一共四個自由度的非完整系統(tǒng)。其中,只有左右輪的位置這兩個自由度是可以驅動的[19]。5.1.1自平衡無人配送車的機體結構b)圖5-1雙輪自平衡無人配送車圖5-1所示的為本論文自主搭建的無人配送車模型,從機體機構它主要包含如下部分:⑴機體。機體安裝于底盤之上,搭載了Linux系統(tǒng)、激光雷達RPLIDAR環(huán)境掃描系統(tǒng)、無線通信模塊、DSP系統(tǒng)等電子設備。⑵底盤。底盤上安裝了兩個直流電機用于驅動車輪的順時針和逆時針的轉動。同時還搭載有電機驅動系統(tǒng)用于將DSP運動平衡系統(tǒng)發(fā)出的PWM信號轉換為對連接了車輪的電機的驅動控制。⑶車輪。左右車輪分別直接安裝于左右兩個電機之上,由兩個電機分別驅動控制。同時車輪外部直接由連接軸和聯(lián)軸器與光電編碼器相連接。光電編碼器固定于車體之上。本文研究的無人配送車采用思嵐科技研發(fā)的激光雷達傳感器RPLIDAR-A1作為感知外部環(huán)境的主要傳感器。激光雷達在進行測距的過程中,不斷進行旋轉,可以全方位的感知外部環(huán)境,以供無人配送車對周圍環(huán)境識別與定位。激光雷達傳感器的主要工作原理是向外部發(fā)出信號,再根據(jù)反射回來的信號進行距離分析。思嵐科技RPLIDARA1激光雷達傳感器的主要特點如下:(1)基于激光三角測距原理,采用Slamtec開發(fā)的高速視覺采集處理硬件。該系統(tǒng)以每秒8000多次的速度測量距離數(shù)據(jù)。(2)RPLIDARA1采用360度順時針運行的全向激光測距掃描的方式,可以快速感知周圍環(huán)境,為同時定位與地圖生成算法提供原始的環(huán)境信息。(3)RPLIDAR改進了內(nèi)部光學設計和算法系統(tǒng),使采樣速率達到8000倍,支持配送車準確、快速地進行地圖繪制。由于自主開發(fā)設計的無人配送車自主導航系統(tǒng)需要運行在安裝了UBUNTU操作系統(tǒng)的遠程PC機上,本文選用遠程PC機的處理器采用IntelRCoreTMi5-3230MCPU2.60GHZ。遠程PC機與搭載在無人配送車中的JETSONNANO控制器進行交互控制,完成無人配送車的環(huán)境識別和定位、路徑規(guī)劃等自主導航操作。GAZEBO是專門用來仿真機器人的軟件平臺,其可以實現(xiàn)3D模型的動力學仿真,支持驗證機器人相關算法,有效降低了機器人研發(fā)成本,加快了機器人研發(fā)進度。GAZEBO仿真環(huán)境下的無人配送車模型如下圖5-2所示。圖5-2GAZEBO環(huán)境中無人配送車模型5.2自平衡機器人的控制系統(tǒng)分層圖5-3無人配送車控制系統(tǒng)分層如圖5-3所示,對于自主搭建的自平衡機器人,從控制系統(tǒng)方面看,對機器人按照分層思想可以分為從上到下共3部分:⑴策略組織層。這一層在控制方面主要相當于人的大腦,進行機器人的所有活動進行策略制定和行為組織。包括通過無線模塊接收命令或者進行數(shù)據(jù)的收發(fā)、接收激光雷達環(huán)境掃描系統(tǒng)的數(shù)據(jù)、和DSP運動平衡系統(tǒng)進行通訊、SLAM算法的執(zhí)行、機器人運動策略控制等。這一層的核心主要是ARMLinux系統(tǒng)。如圖5-4所示。⑵運動平衡層。這一層的核心是DSP系統(tǒng),在控制方面的角色相當于人的小腦。通過DSPI2C模塊接收MPU6050加速度、陀螺儀模塊的姿態(tài)檢測信號,負責對機器人的姿態(tài)進行控制。接收策略組織層的命令,通過DSPePWM模塊產(chǎn)生相應PWM波形,輸出到電機驅動系統(tǒng)對機器人進行前進、后退、轉彎等行為控制。通過DSPeQEP模塊對編碼器的正交脈沖輸入信號進行處理,計算出機器人的位姿累計變化,在需要時發(fā)送給策略組織層。如圖5-5所示。⑶運動執(zhí)行層。這一層相當于人的運動神經(jīng),對“肌肉”直流電機執(zhí)行相應的控制。這一層主要由帶光耦隔離的電機驅動系統(tǒng)擔任。圖5-4策略組織層圖5-5運動平衡層5.3無人配送車的軟件系統(tǒng)自平衡機器人的軟件系統(tǒng)的分層與控制系統(tǒng)的分層相對應,其主體結構如圖5-6所示。5.3.1策略組織層Linux策略組織層的核心是Linux系統(tǒng),使用英偉達開發(fā)的JETSONNANO開發(fā)板。本論文在JETSONNAN上移植SDRAM驅動、NANDFlash驅動、USB設備驅動等驅動程序的Linux內(nèi)核和根據(jù)自身需要制作的根文件系統(tǒng)。Linux系統(tǒng)的工作主要包含:⑴控制激光雷達RPLIDAR的行為,并通過激光雷達獲取周圍環(huán)境的掃描點云數(shù)據(jù);⑵接收DSP運動平衡層通過里程計讀數(shù)計算得到的機器人位姿改變量、機器人的平衡姿態(tài)信息以及其他狀態(tài)信息;⑶通過無線模塊接收遙控命令;⑷根據(jù)行為決策結果向運動平衡層發(fā)出運動控制命令;⑸執(zhí)行SLAM算法,對機器人的位姿進行定位并同步構建更新全局,同時對相關數(shù)據(jù)進行存儲。圖5-5自平衡機器人軟件系統(tǒng)Linux系統(tǒng)只是發(fā)送機器人行為策略控制命令,例如前進、后退、左轉、右轉停止等。而ARMLinux系統(tǒng)將從DSP系統(tǒng)接收機器人的累計位姿改變量、機器人的平衡姿態(tài)信息、錯誤信息等數(shù)據(jù)。ARMLinux系統(tǒng)與DSP運動平衡層的通信通過串口進行,通信方式采用異步串行通信。通信協(xié)議為:波特率為19200,8位數(shù)據(jù)位,無奇偶校驗位,1個停止位。字節(jié)發(fā)送順序上采用小端(littleendian)格式。5.3.2運動平衡層DSP系統(tǒng)使用DSP28335作為主控,并使用CCS6.0進行軟件開發(fā)。DSP系統(tǒng)主要的工作包含:⑴使用SCI模塊接收ARMLinux系統(tǒng)發(fā)送的運動控制指令,并用SCI模塊將通過里程計數(shù)據(jù)計算累積得到的機器人的位姿該變量、、機器人實時的平衡狀態(tài)θ和、ERROR錯誤狀態(tài)信息發(fā)送到Linux系統(tǒng);⑵通過IIC模塊讀取MPU6050加速度計、陀螺儀模塊的數(shù)據(jù)以獲得機器人的平衡姿態(tài);⑶通過定時計數(shù)器模塊計算光電編碼器的輸出脈沖數(shù)并計算得出機器人單位之間內(nèi)位姿變化,并且在發(fā)送給Linux前進行累積;⑶將MPU6050模塊的數(shù)據(jù)濾波后,結合Linux發(fā)送的運動控制指令,通過控制算法轉換成兩路獨立的PWM輸出以驅動左右兩個電機做相應的運動控制。DSP以SCI中斷方式接收Linux系統(tǒng)發(fā)送的命令。用定時器中斷實現(xiàn)10ms的控制周期對機器人實現(xiàn)編碼器數(shù)據(jù)的讀取并計算單位時間位姿變化量、進行機器人姿態(tài)平衡和運動控制。在每十次10ms定時器中斷后,在定時器中斷中通過判斷定時計數(shù)變量flag是否等于10,在flag=10時通過SCI模塊向nux發(fā)送根據(jù)編碼器得到的姿態(tài)變化量和其他狀態(tài)信息。用中斷實現(xiàn)MPU6050的姿態(tài)數(shù)據(jù)接收。其中定時器中斷優(yōu)先級高于中斷,中斷優(yōu)先級高于SCI中斷。5.4無人配送車自主導航算法仿真系統(tǒng)的搭建及測試分析設計搭建好無人配送車硬件仿真模型,還需要搭建無人配送車自主導航算法仿真系統(tǒng),主要工作是將之前改進的自主導航算法集成為導航算法軟件功能包,并配置好自主導航算法軟件功能包,最后通過加載系列無人配送車自主導航算法所需的功能指令,便可以實現(xiàn)無人配送車的自主導航。首先在遠程PC機上安裝UBUNTU操作系統(tǒng),搭載完成ROS機器人軟件框架,并安裝好無人配送車仿真器和導航軟件功能包,最后配置好導航軟件功能包的各項參數(shù)。通過加載相應的導航功能模塊,實現(xiàn)無人配送車的自主導航。在安裝了UBUNTU操作系統(tǒng)的遠程PC機配置ROS的主要工作如下:打開遠程PC機終端,輸入以下指令安裝ROS環(huán)境:sudoapt-getupdatesudoapt-getupgradesudoapt-getinstallros-kinetic-desktop-full依次執(zhí)行以上三條命令后,就可以在遠程PC機上初步安裝完成ROS,仿真器,通用機器人軟件功能包,仿真調(diào)試工具等。其次,運行以下指令配置ROS機器人操作系統(tǒng):echo"source/opt/ros/kinetic/setup.bash">>~/.bashrcsource~/.bashrc依次執(zhí)行以上兩條指令,便完成了ROS環(huán)境變量的設置,此后每次打開UBUNTU終端時,ROS環(huán)境自動添加到操作系統(tǒng)的運行配置文件中。安裝配置好ROS環(huán)境后,接下來安裝配置GAZEBO軟件仿真平臺,安裝GAZEBO軟件仿真平臺的指令為:curl-sSLhttp://get.GAZEBO|sh這條指令的作用是下載腳本并運行腳本,此前已將安裝GAZEBO及配置GAZEBO的指令依次編輯到腳本文件中,只需按順序執(zhí)行相應的代碼便可以安裝和配置GAZEBO仿真器,模擬無人配送車導航的現(xiàn)實場景。接下來的工作是配置之前集成的無人配送車自主導航軟件功能包。配置無人配送車自主導航軟件功能包是實現(xiàn)無人配送車自主導航的關鍵步驟。首先,在遠程PC機終端中打開自主導航算法軟件功能包delivery_navigation,構建無人配送車仿真環(huán)境delivery.world,最后在PC機終端中輸入無人配送車自主導航的仿真環(huán)境指令roslaunchdelivery_GAZEBOdelivery_world.launch,便可配置完成用于模擬無人配送車導航的工作場景。之后在delivery_navigation軟件功能包的param文件下對無人配送車導航軟件功能包的各項性能參數(shù)進行配置,使其很好地滿足無人配送車導航的需求。5.4.1無人配送車自主導航算法測試及分析為了驗證改進自主導航算法的有效性,將改進的自主導航算法嵌入到無人配送車仿真模型中,并在GAZEBO軟件平臺中進行仿真。分別完成無人配送車同時定位與地圖構建算法、路徑規(guī)劃算法的驗證。用于仿真無人配送車導航系統(tǒng)的具體相關軟硬件配置如下:PC機處理器為IntelRCoreTMi5-3230MCPU2.60GHZ,操作系統(tǒng)的版本是UBUNTU16.04.6LTS,仿真環(huán)境選用ROS-kinetic版本,無人配送車仿真平臺選用GAZEBO。5.4.2基于改進Gmapping算法的多場景SLAM測試及分析為了驗證無人配送車集成了改進優(yōu)化的Gmapping算法后,具備在各種配送場景中生成完整的地圖的能力,在GAZEBO仿真平臺中搭建三種和無人配送車真實工作場景相對應的仿真環(huán)境,并采用Turtlebot3模擬無人配送車,分組多場景進行改進Gmapping算法的測試。進行改進優(yōu)化Gmapping算法的測試,首先要打開GAZEBO自主導航算法軟件仿真平臺,在終端中輸入啟動指令,運行封裝了改進的Gmapping算法軟件功能包,同時打開新的終端,通過指令控制無人配送車在仿真環(huán)境中移動,這時搭載在無人配送車上的激光雷達不斷采集和更新外部環(huán)境信息,以完成無人配送車工作環(huán)境的地圖生成,并通過指令保存生成的環(huán)境地圖。圖5-6,圖5-7和圖5-8是采用改進優(yōu)化的Gmapping算法生成的環(huán)境地圖。圖5-6簡單配送場景圖5-7小區(qū)配送場景圖5-8復雜配送場景由圖5-6、圖5-7和圖5-8可以看出,無人配送車采用改進優(yōu)化后的Gmapping算法,具備在各種環(huán)境下快速生成完整地圖的能力,驗證了本文改進優(yōu)化Gmapping算法的可行性和有效性,為后續(xù)無人配送車安全,準確,高效的自主導航奠定了初步基礎。5.4.3改進路徑規(guī)劃算法測試及分析無人配送車采用改進優(yōu)化的Gmapping算法構建好在各種場景下配送的環(huán)境地圖后,接下來無人配送車將依據(jù)構建好的環(huán)境地圖,測試本文改進的路徑規(guī)劃算法,進一步驗證無人配送車采用本文改進的路徑規(guī)劃算法后,具備安全,準確,高效自主導航的能力。首先在GAZEBO軟件平臺中加載無人配送車工作環(huán)境地圖,并在rviz軟件界面設置好無人配送車的起始位置和目標位置,此時無人配送車將調(diào)用改進的路徑規(guī)劃算法,進行路徑規(guī)劃。圖5-9,圖5-10和圖5-11分別是無人配送車在
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度橘子種植基地承包與農(nóng)產(chǎn)品供應鏈合作協(xié)議3篇
- 2024版綜治普法 第十九章專業(yè)物流服務協(xié)議細則版
- 2025年度特色農(nóng)產(chǎn)品直供餐飲采購合同范本3篇
- 《初中生地理空間思維培養(yǎng)策略研究》
- 2024版全新?lián)=K止協(xié)議下載
- 2025年度房地產(chǎn)項目樣板間參觀合作協(xié)議模板3篇
- 2024年預售辦公樓權益協(xié)議
- 《國內(nèi)大學生誠信教育問題與對策研究》
- 錯過令人難忘的事情小學生作文10篇
- 《真空預壓下吹填淤泥淤堵機理與固結理論研究》
- 2024江蘇泗陽縣交通產(chǎn)業(yè)集團招聘第一線操作人員招聘39人易考易錯模擬試題(共500題)試卷后附參考答案
- GB 19272-2024室外健身器材的安全通用要求
- 北師大版五年級數(shù)學下冊第3單元第3課時分數(shù)乘法(三)課件
- 2025新外研社版英語七年級下單詞默寫表
- 2024年演出經(jīng)紀人資格《思想政治與法律基礎》考前必刷必練題庫500題(含真題、必會題)
- 麻醉與舒適醫(yī)療
- 全國林草行業(yè)森林消防員技能競賽理論知識考試題及答案
- 《中小學校園食品安全和膳食經(jīng)費管理工作指引》專題培訓
- 2022年山東省公務員錄用考試《申論》真題(A類)及答案解析
- 2024年治安保衛(wèi)部規(guī)章制度(2篇)
- 2024年保密知識測試試題附答案(綜合卷)
評論
0/150
提交評論