




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