王鵬 羅全珍
摘 要:為了解決復(fù)雜環(huán)境下無(wú)人駕駛小車的定位導(dǎo)航問題,提出基于激光雷達(dá)SLAM技術(shù)的無(wú)人車自動(dòng)導(dǎo)航系統(tǒng)。采用SSH遠(yuǎn)程登錄協(xié)議實(shí)現(xiàn)PC端的命令控制,通過(guò)無(wú)線傳輸協(xié)議將手機(jī)終端數(shù)據(jù)傳送到無(wú)人車,利用手機(jī)終端對(duì)無(wú)人車進(jìn)行地圖構(gòu)建和自動(dòng)導(dǎo)航操作。操作人員無(wú)需手動(dòng)控制躲避障礙物,只需在手機(jī)端設(shè)定終點(diǎn)即可實(shí)現(xiàn)小車的自動(dòng)導(dǎo)航功能。最后,選擇室內(nèi)環(huán)境進(jìn)行測(cè)試分析。結(jié)果表明,該系統(tǒng)實(shí)現(xiàn)了無(wú)線傳輸、遠(yuǎn)程監(jiān)控以及自動(dòng)構(gòu)圖導(dǎo)航的設(shè)計(jì)目標(biāo)。
關(guān)鍵詞:無(wú)人車;物聯(lián)網(wǎng)技術(shù);SLAM技術(shù);遠(yuǎn)程監(jiān)控;地圖構(gòu)建;自動(dòng)導(dǎo)航
中圖分類號(hào):TP274文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):2095-1302(2020)05-00-03
0 引 言
隨著我國(guó)科技的不斷發(fā)展,人工智能產(chǎn)品在日常生活中越來(lái)越受歡迎,ROS作為最主流的機(jī)器人通信框架,其提供了非常完善的操作服務(wù)。對(duì)于目前無(wú)人小車研究中存在的對(duì)不同環(huán)境的識(shí)別、復(fù)雜地圖構(gòu)建和精確導(dǎo)航等問題[1-2],本文設(shè)計(jì)基于激光雷達(dá)SLAM技術(shù)的地圖構(gòu)建與自動(dòng)導(dǎo)航系統(tǒng),結(jié)合移動(dòng)終端、無(wú)線網(wǎng)關(guān)、激光雷達(dá)及攝像頭等設(shè)備可以實(shí)現(xiàn)無(wú)人車對(duì)復(fù)雜環(huán)境的地圖構(gòu)建,同時(shí)能夠精確地對(duì)無(wú)人車進(jìn)行地圖自動(dòng)導(dǎo)航。該系統(tǒng)可以依據(jù)構(gòu)建的地圖自動(dòng)規(guī)避障礙物,為無(wú)人車規(guī)劃最優(yōu)路徑,提高了無(wú)人車定位的精確度。
1 系統(tǒng)總體設(shè)計(jì)
系統(tǒng)主要分為硬件部分、軟件部分及開發(fā)平臺(tái)三部分。系統(tǒng)總體架構(gòu)如圖1所示。
系統(tǒng)的硬件部分采用樹莓派3B+主控板、STM32驅(qū)動(dòng)板、激光雷達(dá)、攝像頭等設(shè)備來(lái)實(shí)現(xiàn)對(duì)環(huán)境信息的采集和無(wú)線信號(hào)的接收與處理;軟件部分采用Android Studio編譯環(huán)境來(lái)實(shí)現(xiàn)對(duì)移動(dòng)終端的設(shè)計(jì)與調(diào)試;系統(tǒng)開發(fā)平臺(tái)則采用Ubuntu 16.04操作系統(tǒng)來(lái)實(shí)現(xiàn)遠(yuǎn)程登錄和命令控制操作。系統(tǒng)通過(guò)Ubuntu 16.04平臺(tái)遠(yuǎn)程接入樹莓派系統(tǒng),使用啟動(dòng)命令將硬件設(shè)備調(diào)試到工作狀態(tài),然后利用手機(jī)終端控制無(wú)人車進(jìn)行地圖構(gòu)建和自動(dòng)導(dǎo)航。
2 硬件設(shè)計(jì)
2.1 樹莓派主控板
Raspberry Pi 3B+不僅體積小,同時(shí)還具有完善的電腦功能,并且該主板支持Python,C等編程語(yǔ)言[3]。Raspberry Pi 3B+含有64位的1.4 GHz四核處理器,并裝載2.4 GHz和5 GHz雙頻段的無(wú)線網(wǎng)卡和藍(lán)牙4.2,支持PoE功能[4-5]。Raspberry Pi 3B+實(shí)物如圖2所示。
通過(guò)燒錄軟件將系統(tǒng)鏡像燒進(jìn)SD卡,然后把SD卡插入樹莓派3B+上電啟動(dòng),正確顯示界面后,通過(guò)鍵盤和鼠標(biāo)進(jìn)行網(wǎng)絡(luò)連接和命令鍵入。
2.2 STM32驅(qū)動(dòng)板
STM32系列單片機(jī)具有高性能、低成本、低功耗的特點(diǎn)[6-7]。本設(shè)計(jì)使用的型號(hào)為STM32F103RCT6,具有256 KB的FLASH空間,48 KB的RAM容量。STM32F103RCT6實(shí)物如圖3所示。
在使用過(guò)程中,連接驅(qū)動(dòng)板、電機(jī)、電壓表及電源等設(shè)備,通過(guò)供電設(shè)備使其進(jìn)入工作狀態(tài)。同時(shí),驅(qū)動(dòng)板上裝載姿態(tài)傳感器,可以用來(lái)感知無(wú)人車的運(yùn)動(dòng)姿態(tài)和方位等信息。
2.3 激光雷達(dá)與攝像頭
與普通微波雷達(dá)相比,激光雷達(dá)具有高分辨率、抗干擾能力強(qiáng)、體積小、質(zhì)量輕等優(yōu)勢(shì)[8-9]。在構(gòu)建地圖過(guò)程中,通過(guò)控制小車的移動(dòng)使激光雷達(dá)能夠?qū)Νh(huán)境進(jìn)行準(zhǔn)確的掃描,最后在終端呈現(xiàn)出精確的環(huán)境平面圖。激光雷達(dá)設(shè)備如圖4所示。監(jiān)控設(shè)備采用普通USB接口的攝像頭,其成本低且可以調(diào)節(jié)焦距,成像清晰,驅(qū)動(dòng)程序簡(jiǎn)單易懂,可以滿足設(shè)計(jì)中對(duì)環(huán)境的監(jiān)控功能。攝像頭設(shè)備如圖5所示。
3 Ubuntu平臺(tái)搭建
本系統(tǒng)采用Ubuntu 16.04操作平臺(tái),不僅符合樹莓派的操作系統(tǒng),同時(shí)具有運(yùn)行速度快、可移植性強(qiáng)、多終端并行工作等優(yōu)勢(shì),不僅節(jié)省后續(xù)復(fù)雜算法的開發(fā)時(shí)間,還可以多平臺(tái)進(jìn)行移植操作。此外,除了在PC端移植Ubuntu 16.04系統(tǒng),還在系統(tǒng)上構(gòu)建次級(jí)系統(tǒng)—ROS系統(tǒng)[10]作為無(wú)人車的上層決策系統(tǒng)。搭建完成后的平臺(tái)界面如圖6所示。
4 軟件設(shè)計(jì)
4.1 集成開發(fā)環(huán)境
本系統(tǒng)使用Android Studio來(lái)開發(fā)手機(jī)端的APP。在進(jìn)行Android Studio開發(fā)環(huán)境配置過(guò)程中需要注意JDK版本的一致性問題。此開發(fā)環(huán)境相比Eclipse而言,提供基于Gradle的項(xiàng)目構(gòu)建系統(tǒng),在構(gòu)建Android項(xiàng)目時(shí)更加靈活[11],可以通過(guò)變量配置來(lái)生成多個(gè)版本的APK文件,擁有大量的代碼模板可以快速地構(gòu)建Android項(xiàng)目,可直接拖拽UI編輯器以及內(nèi)置Link Tools代碼優(yōu)化工具,可以解決性能、可用性、版本兼容等問題。
4.2 軟件界面設(shè)計(jì)
設(shè)計(jì)的移動(dòng)終端界面效果如圖7所示。移動(dòng)終端的設(shè)計(jì)主要分為地圖區(qū)、監(jiān)控區(qū)和控制區(qū)3個(gè)部分。地圖區(qū)用來(lái)呈現(xiàn)無(wú)人車在移動(dòng)過(guò)程中通過(guò)激光雷達(dá)掃描后得到的環(huán)境平面結(jié)構(gòu)圖,其中黑色表示不可通行區(qū)域;監(jiān)控區(qū)用來(lái)顯示在無(wú)人車移動(dòng)過(guò)程中前方呈現(xiàn)的影像,方便操作者在移動(dòng)終端對(duì)實(shí)際環(huán)境進(jìn)行監(jiān)控;右下方的控制區(qū)則是用來(lái)控制無(wú)人車在構(gòu)建地圖時(shí)移動(dòng)的方向,提高構(gòu)建地圖的準(zhǔn)確性。
5 系統(tǒng)調(diào)試與實(shí)現(xiàn)
本系統(tǒng)在設(shè)計(jì)完成后,選取室內(nèi)環(huán)境對(duì)無(wú)人車進(jìn)行測(cè)試,具體實(shí)現(xiàn)步驟如下:
步驟1:打開樹莓派主控板和操作平臺(tái),將二者接入同一網(wǎng)絡(luò)中,在搭建的Ubuntu 16.04平臺(tái)上通過(guò)SSH遠(yuǎn)程登錄的方式進(jìn)入樹莓派系統(tǒng);
步驟2:登錄成功后,利用終端分別打開樹莓派底板、激光雷達(dá)構(gòu)圖、導(dǎo)航及攝像頭等功能的啟動(dòng)文件;
步驟3:打開移動(dòng)終端,對(duì)無(wú)人車所在環(huán)境進(jìn)行地圖構(gòu)建和自動(dòng)導(dǎo)航測(cè)試。
實(shí)際操作效果如圖8所示。
6 結(jié) 語(yǔ)
本系統(tǒng)利用Raspberry Pi 3B+與激光雷達(dá)等設(shè)備設(shè)計(jì)無(wú)人車的自動(dòng)構(gòu)圖導(dǎo)航功能,并通過(guò)測(cè)試對(duì)設(shè)計(jì)的功能進(jìn)行展示。結(jié)果表明,所設(shè)計(jì)的無(wú)人車能夠?qū)?fù)雜環(huán)境進(jìn)行準(zhǔn)確地地圖構(gòu)建,并且可以有效地躲避復(fù)雜路況上的障礙物到達(dá)指定位置,同時(shí)操作人員可以對(duì)環(huán)境進(jìn)行遠(yuǎn)程監(jiān)控。此系統(tǒng)有效地融合激光雷達(dá)技術(shù)與智能控制技術(shù),為后期的定位導(dǎo)航和路線規(guī)劃等研究提供了重要基礎(chǔ)。
參考文獻(xiàn)
[1]張夢(mèng)巍.智能無(wú)人駕駛車輛路徑跟蹤及底層控制方法研究[D].沈陽(yáng):沈陽(yáng)理工大學(xué),2018.
[2]陳靜.基于無(wú)人機(jī)的室外全景漫游地圖設(shè)計(jì)與實(shí)現(xiàn)[J].物聯(lián)網(wǎng)技術(shù),2019,9(1):103-104.
[3]張偉,王宜懷.基于Raspberry Pi 3的智能家居系統(tǒng)設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2018,18(2):43-46.
[4]靳建彬,吳昊,張海龍.基于Raspberry Pi平臺(tái)的火災(zāi)報(bào)警智能小車實(shí)現(xiàn)[J].電子世界,2018(13):191.
[5]朱得元,胡冰,俞寶庫(kù).基于Android/Raspberry Pi的智能家居安防系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2017,13(19):158-161.
[6]王鵬飛,張映宏,王昊,等.基于STM32F103微控制器自動(dòng)避障小車控制系統(tǒng)設(shè)計(jì)[J].信息技術(shù)與信息化,2019(2):77-80.
[7]楊輝,吳賽燕.農(nóng)業(yè)機(jī)器人路徑識(shí)別自主導(dǎo)航系統(tǒng):基于STM32與物聯(lián)網(wǎng)[J].農(nóng)機(jī)化研究,2019,41(9):176-179.
[8]李晨曦,張軍,靳欣宇,等.激光雷達(dá)SLAM技術(shù)及其在無(wú)人車中的應(yīng)用研究進(jìn)展[J].北京聯(lián)合大學(xué)學(xué)報(bào),2017,31(4):61-69.
[9]王會(huì),羅濤,陸培源.激光雷達(dá)在無(wú)人車輛中的應(yīng)用及關(guān)鍵技術(shù)分析[J].激光與紅外,2018,48(12):1458-1467.
[10]李步恒,杜玉曉.基于ROS的人形機(jī)器系統(tǒng)設(shè)計(jì)[J].電子世界,2018(5):59.
[11]馬力.基于Android的智能小車遠(yuǎn)程控制與視頻監(jiān)控系統(tǒng)研究[D].西安:西安電子科技大學(xué),2018.