亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ORB-SLAM的移動機器人嵌入式實現(xiàn)與優(yōu)化*

        2017-03-09 16:56:45林連秀姚劍敏郭太良
        關鍵詞:開發(fā)板移動機器人柵格

        林連秀,葉 蕓,姚劍敏,郭太良

        (福州大學 物理與信息工程學院, 福建 福州 350002)

        基于ORB-SLAM的移動機器人嵌入式實現(xiàn)與優(yōu)化*

        林連秀,葉 蕓,姚劍敏,郭太良

        (福州大學 物理與信息工程學院, 福建 福州 350002)

        ORB-SLAM(基于ORB特征識別的同時定位與地圖構建系統(tǒng))的源代碼無法在嵌入式開發(fā)板運行,其構建的點云圖太稀疏無法滿足移動機器人路徑規(guī)劃要求。針對這個問題,文章提出將ORB-SLAM進行改進與優(yōu)化,移植到嵌入式開發(fā)板完成SLAM過程。首先,刪除原PC端Linux系統(tǒng)下的軌跡、點云圖、一些依賴庫,保留并改進src和include文件夾下大部分C++代碼;其次,在嵌入式平臺以JNI調(diào)用方式調(diào)用改進后的C++代碼,增加OpenCV、g2o、DBoW2、Eigen等依賴庫;最后根據(jù)處理后的關鍵幀連接繪制柵格地圖,完成實時軌跡顯示和地圖構建。實驗結果表明,通過移植實現(xiàn)了在嵌入式開發(fā)板進行SLAM過程,硬件配置要求和成本大大降低,所構建的柵格地圖占存量更小且更直觀反映實際環(huán)境的布局情況,地圖誤差控制在±0.5 m的較高精度范圍內(nèi),較大程度地提高了SLAM性能。

        ORB-SLAM;嵌入式;移植;柵格地圖

        0 引言

        同時定位與地圖構建(SLAM)技術是移動機器人在未知環(huán)境中,通過對環(huán)境的觀測,遞增地構建環(huán)境地圖,并通過構建的環(huán)境地圖實現(xiàn)對機器人的定位,它是實現(xiàn)機器人自主導航和定位的關鍵技術。目前實現(xiàn)SLAM的算法很多,其中ORB-SLAM以追蹤效果好、地圖精度高、定位穩(wěn)定性好等優(yōu)勢脫穎而出,成為研究熱點。

        ORB-SLAM算法由Raúl M A等人于2015年發(fā)表在IEEE Transactions on Robotics[1],且在PC的Linux系統(tǒng)上開放了開源ORB-SLAM系統(tǒng)。采用該ORB-SLAM開源算法,在PC Linux系統(tǒng)上較好實現(xiàn)了SLAM過程,但等同于PC的硬件配置需求成本高,對移動機器人普通嵌入式開發(fā)板不適用[2]。ORB-SLAM算法主要由追蹤、地圖構建、閉環(huán)控制3個線程組成,其中地圖構建部分平均處理每關鍵幀約385 ms,相對比較耗時,具備較大優(yōu)化空間[3]。采用ORB-SLAM開源算法所構建的地圖是用點云圖方式顯示,點云很稀疏,不容易看出所構建的室內(nèi)結構[4]。對移動機器人地圖要求上,柵格地圖表示法優(yōu)于點云圖表示法,一方面可以大大節(jié)省內(nèi)存空間,另一方面也便于后續(xù)路徑規(guī)劃過程中進行碰撞檢測和空間可行性分析[5]。從硬件開發(fā)成本考慮,如若用PC進行移動機器人開發(fā),顯然只用到PC很小部分功能,造成功能浪費、成本偏高,而嵌入式開發(fā)板有著低功耗、低成本、適當?shù)腃PU運算效能與友善的軟件接口等優(yōu)勢[6]。

        針對以上ORB-SLAM源代碼只能運行在PC而無法在嵌入式開發(fā)板上運行,且其構建的點云圖太稀疏無法滿足移動機器人路徑規(guī)劃要求的問題,本文對此進行了較大改進,保留ORB-SLAM部分源碼并做出修改,移植到嵌入式開發(fā)平臺,修改地圖構建中的耗時部分,增加基于柵格地圖實時軌跡顯示部分。移植到普通嵌入式開發(fā)板后的ORB-SLAM,不僅大大降低了對硬件平臺的要求,還完成了基于柵格地圖的實時軌跡顯示,使地圖能清晰了然地反映實際環(huán)境的布局情況,且所建地圖控制在較高精度范圍內(nèi)。

        1 ORB-SLAM改進與優(yōu)化

        1.1 總設計流程的改進

        本文將原PC端Linux系統(tǒng)下的ORB-SLAM進行了移植和改進,最終在Android平臺完成了基于柵格地圖的軌跡繪制即完成了實時地圖構建,改進后的總設計流程如圖1所示。

        在上述流程圖模塊中,本文主要修改的部分是:修改所保留的ORB-SLAM原src和include文件夾下的C++代碼;在LOCAL MAPPING部分中進行了大部分刪減,只做優(yōu)化部分;刪除了原實時點云及軌跡顯示部分,在嵌入式平臺添加GRID MAP部分即基于柵格地圖的實時軌跡顯示部分。

        1.2 ORB-SLAM源碼的修改

        ORB-SLAM算法的實現(xiàn)主要在src和include文件夾下,完成追蹤、地圖構建、閉環(huán)控制和重定位等任務。本文對源碼所作的修改工作主要有:刪除MapDrawer.cc和Viewer.cc代碼即刪除軌跡、點云圖顯示部分的代碼;刪除Linux下依賴復雜的ROS系統(tǒng)部分的代碼;更換不同系統(tǒng)下的OpenCV、g2o、DBoW2、Eigen等庫;修改輸入接口,以便直接連接攝像頭在線使用;注釋掉部分代碼,包含保存當前幀圖片、點云的代碼等。

        1.3 LOCAL MAPPING部分的改進

        LOCAL MAPPING線程用于處理新的幀,更新優(yōu)化它們本地鄰近的幀。它對關鍵幀作確定新的地圖云點、更新局部區(qū)域、局部偏差調(diào)整、去除冗余關鍵幀等工作。LOCAL MAPPING在整個系統(tǒng)中耗時相對較長,其平均處理每關鍵幀要用時約385 ms,而像TRACKING平均處理每幀只要約30 ms??紤]到一方面LOCAL MAPPING相對耗時,一方面這部分作刪減后精度不會受到很大影響,這為移植到嵌入式平臺提供了一個可行之處。所以本文對LOCAL MAPPING部分中的Triangulate ORB、Update Local Area、Prune Redundant KeyFrame進行了刪減,只做優(yōu)化部分,主要部分的設計如圖2所示。

        1.4 GRID MAP部分的設計

        機器人地圖包括幾何地圖、點云地圖、拓撲地圖和柵格地圖等,其中原ORB-SLAM采用點云地圖來表示,其所構建的點云圖中點云很稀疏,完全不能看出任何結構。而柵格地圖將環(huán)境分解成一系列具有二值信息的網(wǎng)格單元,對環(huán)境描述直觀清晰,適當調(diào)整柵格的大小既可以降低存儲消耗,又保留環(huán)境的空間結構,同時也便于后續(xù)路徑規(guī)劃過程中進行碰撞檢測和空間可行性分析,所以本文去除點云圖表示法而改用柵格地圖表示法。本文采用的柵格地圖用黑格表示障礙物,白格表示無障礙物可通過區(qū)。GRID MAP主要部分的設計如圖3所示。

        由設計圖3可知,本文設計的顯示端顯示三個部分:一是USE_CAMERA_INPUT,顯示攝像頭采集到的當前圖像,未經(jīng)過任何處理;二是DRAW_FRAME,對當前圖像幀進行3D ORB特征點的提取與匹配,并在窗口顯示特征點追蹤情況;三是DRAW_GRID_MAP,繪制最終處理后的所有KeyFrames,追蹤當前KeyFrames和CameraCenter。采用柵格地圖表示法將各KeyFrames用線連起來,繞室內(nèi)全覆蓋運行即可完成最終室內(nèi)地圖的繪制,地圖以矢量形式存儲供移動機器人合理規(guī)劃路徑和重定位之用。

        2 實驗結果與分析

        2.1 實驗硬件配置對比

        實驗硬件配置為PC和自制的移動機器人模型,其中移動機器人模型主要用到的模塊有基于Android平臺的開發(fā)板、單目攝像頭、電機,PC和開發(fā)板參數(shù)如表1所示。PC系統(tǒng)擁有很強的運算能力,但通常只用到小部分,倘若用于機器人開發(fā)而配置一個PC,不僅眾多未開發(fā)資源被浪費,且其在購買成本、功耗性、便攜性、集成性方面都具有較大劣勢。而嵌入式開發(fā)板具有低功耗、低成本、適當?shù)腃PU運算效能與友善的軟件接口等優(yōu)點,被稱之為低價計算機。對比表1參數(shù),將ORB-SLAM從PC移植到嵌入式開發(fā)板上實現(xiàn),則大大降低了對硬件配置的要求,成本、功耗也大大降低,縮小了機器人體積,方便攜帶。

        實驗選用的單目攝像頭為小蟻攝像頭,采用 “張正友”標定法原理,標定模板采用包含12×12的正方塊的棋盤格,每個棋盤格大小為30 mm×30 mm,在MATLAB下運行程序載入20張不同角度、像素為640×480的棋盤格圖片進行相機標定,標定結果如表2所示。

        2.2 移植后的ORB-SLAM運行結果分析

        本文建立的柵格地圖為640×960像素的地圖,占用柵格大小為30,機器人實際寬度為0.15 m,如圖4所示,白色部分為移動機器人繞室內(nèi)一圈的軌跡,完整柵格地圖即為移動機器人繞室內(nèi)全覆蓋移動,最終白色部分表示可通過區(qū),黑色部分表示障礙物區(qū)。由表3可知,地圖軌跡點與實際標定點的誤差最大為0.539 m,其軌跡誤差一般能控制在±0.5 m的較小范圍內(nèi),約為地圖尺寸的0.78%,相比原PC Linux系統(tǒng)實現(xiàn)的軌跡誤差約為地圖尺寸的1%,誤差并未擴大反而有所縮小,即定位精度得到提高。

        2.3 原基于點云圖的ORB-SLAM與基于柵格地圖的ORB-SLAM的地圖對比

        圖5為修改前所構建的點云圖,圖中軌跡由相機位姿估計點構成,左下圖為相機實時采集的圖像并對特征點進行提取與匹配。圖6為修改后所構建的柵格地圖,左上圖為相機采集的原圖,左下圖為特征點提取與匹配圖,右圖為柵格地圖。首先從占存量對比分析,移動機器人按同樣路線繞室內(nèi)一圈構建一張1 280×960的地圖,原Linux系統(tǒng)運行的ORB-SLAM所建的點云圖占存量約為4 940 KB,而移植后的柵格地圖占存約98 KB,相差大約50倍的耗存量,可見使用柵格地圖表示法在節(jié)約存儲空間上具有非常大的優(yōu)勢。再從直觀性對比分析,原Linux系統(tǒng)運行的ORB-SLAM所建的點云圖非常稀疏,只含有稀疏的地圖特征點來構成軌跡,看不出實際空間結構與布局,這稀疏的地圖對于機器人下一步的應用會造成很大的困難。而基于柵格地圖繪制的ORB-SLAM地圖,每個柵格可直接映射到現(xiàn)實環(huán)境的某個區(qū)域,白格表示已經(jīng)運行的可通過區(qū),黑格表示障礙物區(qū),機器人繞室內(nèi)全覆蓋一次即可直觀地得到布局情況,其所存儲的障礙信息非常便于移動機器人進行動態(tài)避障以及路徑規(guī)劃。

        2.4 移植前后運行指標對比

        先對原ORB-SLAM與移植后ORB-SLAM代碼運行情況進行對比分析,本文移植過程中在同一臺PC上安裝了WIN7+Ubuntu雙系統(tǒng)用于開發(fā)ORB-SLAM,將ORB-SLAM代碼在同一臺PC上運行,原Linux系統(tǒng)CPU占用率高達約180%,移植到WIN7后CPU占用率約48%,可知原ORB-SLAM因為依賴一些Linux系統(tǒng)自帶庫使運行速度得到限制。再對LOCAL MAPPING部分運行速率進行對比,原ORB-SLAM的LOCAL MAPPING部分主要包含KeyFrame Insertion、Map Point Cullin、Map Point Creation、Local BA、KeyFrame Culling,總體運行時間約為464.27 ms。優(yōu)化后,通過減小與字典的匹配次數(shù),減小關鍵幀重新計算的次數(shù),將總體運行時間提高到約280.50 ms,刪減ORB-SLAM的LOCAL MAPPING部分速率得到40%的提升,較大程度地簡化了移植工作。

        3 結論

        本文提出并實現(xiàn)了將ORB-SLAM通過改進與優(yōu)化,最終移植到嵌入式開發(fā)板完成SLAM過程,CPU占用率和運行速率得到提升,大大降低了硬件成本和配置要求。針對原點云圖太稀疏無法滿足移動機器人路徑規(guī)劃要求的問題,改用柵格地圖表示法,從而使地圖占存量縮小了約98%,且更直觀地反映了實際環(huán)境的布局情況。通過移植,最終的軌跡誤差一般能控制在±0.5 m的較小范圍內(nèi),相比原軌跡誤差得到了縮小。這種改進技術不只適用于移動機器人,同樣也適用于像VR/AR那樣需要用到嵌入式開發(fā)板來完成定位的技術領域。

        [5] 張彪,曹其新,王雯珊. 使用三維柵格地圖的移動機器人路徑規(guī)劃[J]. 西安交通大學學報,2013,47(10): 57-61.

        [6] 金麗科技.讓嵌入式Linux變身為低價計算機(上)[J]. 電子與電腦,2007,14(5):61-64.

        Embedded implementation and optimization of mobile robot based on ORB-SLAM

        Lin Lianxiu,Ye Yun,Yao Jianmin,Guo Tailiang

        (College of Physics and Information Engineering, Fuzhou University, Fuzhou 350002, China)

        The source code of ORB-SLAM (Simultaneous localization and mapping system based on the ORiented Brief feature recognition) can’t be run on the embedded development board, and construction of the point cloud is too sparse to meet the requirements of mobile robot path planning.To solve this problem, the ORB-SLAM was improved and optimized, and then transplanted to the SLAM process in the embedded development board. Firsty, the trajectory, point cloud, and some dependency database in original Linux system under the PC were deleted. Then the most of the C++ code in src and include folder were retained and improved. Subsequently, the improved C++ code were called by JNI method in the embedded platform, and OpenCV, g2o, DBoW2, Eigen, and other dependent libraries were increased. Finally, according to the key frame connected to the grid map, the real-time track display and map building was completed. The results showed that the SLAM process, hardware configuration requirements and cost of the hardware configuration were greatly reduced by transplanting the embedded development board, and the construction of the grid map of the stock was smaller and more intuitive to reflect the actual layout of the environment. The construction chart error was controlled in the high precision of ±0.5 m similarly, which greatly improved the performance of SLAM.

        ORB-SLAM; embedded; transplantation; grid map

        福建省自然科學基金(2014J01236);福建省科技重大專項(2014HZ0003-1);福建省資助省屬高校專項課題(JK2014003).

        TP242

        A

        10.19358/j.issn.1674- 7720.2017.05.016

        林連秀,葉蕓,姚劍敏,等.基于ORB-SLAM的移動機器人嵌入式實現(xiàn)與優(yōu)化[J].微型機與應用,2017,36(5):50-53.

        2016-11-08)

        林連秀(1990-),女,碩士研究生,主要研究方向:嵌入式系統(tǒng)。

        葉蕓(1977-),女,研究員,主要研究方向:光電顯示材料與器件。

        姚劍敏(1978-),男,副研究員,主要研究方向:電路與系統(tǒng)。

        猜你喜歡
        開發(fā)板移動機器人柵格
        移動機器人自主動態(tài)避障方法
        基于鄰域柵格篩選的點云邊緣點提取方法*
        基于Twincat的移動機器人制孔系統(tǒng)
        Microchip最新推出兩款PIC32 Curiosity開發(fā)板
        淺析單片機開發(fā)板的設計與制作
        電子制作(2017年22期)2017-02-02 07:10:14
        不同剖面形狀的柵格壁對柵格翼氣動特性的影響
        基于CVT排布的非周期柵格密度加權陣設計
        雷達學報(2014年4期)2014-04-23 07:43:13
        Mouser為您呈上開發(fā)關鍵之STMicroelectronics Nucleo開發(fā)板
        Arduino和Atmel發(fā)布Arduino Zero開發(fā)板
        極坐標系下移動機器人的點鎮(zhèn)定
        国产一品二品三区在线观看| 欧美一级在线全免费| 亚洲国产高清美女在线观看| 97人妻精品一区二区三区免费| 色欲色香天天天综合网www| 精品成人av一区二区三区| 日韩成人精品在线| 国产人妖一区二区av| 亚洲人成在久久综合网站| 十八18禁国产精品www| 久久久久久人妻精品一区百度网盘 | 377p日本欧洲亚洲大胆张筱雨| 乱码一二区在线亚洲| 国产av乳头久久一区| 人妻久久一区二区三区蜜桃| 日本高清视频www| 亚洲国产欧美日韩一区二区| 手机在线看片在线日韩av| 大奶白浆视频在线观看| 国产va在线观看免费| 乱人伦视频69| 国产自拍av在线观看| 国产无夜激无码av毛片| 国产精品女同一区二区| 亚洲综合一区二区三区蜜臀av| 日本人视频国产一区二区三区| 亚洲综合久久精品无码色欲| 久久国产品野战| 国产中文字幕亚洲国产| 中文字幕无线码免费人妻| 日本高清一区二区三区水蜜桃| 日韩精品人妻少妇一区二区| 亚洲视频一区二区三区视频| 日日噜噜噜夜夜爽爽狠狠视频| www.久久av.com| 久久精品国产亚洲av麻豆床戏| 厕所极品偷拍一区二区三区视频 | 国产成人一区二区三区影院动漫| 97中文字幕在线观看| 亚洲av天堂在线免费观看| 美女高潮黄又色高清视频免费|