999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ORB-SLAM的移動機器人嵌入式實現與優化*

2017-03-09 16:56:45林連秀姚劍敏郭太良
網絡安全與數據管理 2017年5期
關鍵詞:移動機器人嵌入式優化

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

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

基于ORB-SLAM的移動機器人嵌入式實現與優化*

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

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

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

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

0 引言

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

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

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

1 ORB-SLAM改進與優化

1.1 總設計流程的改進

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

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

1.2 ORB-SLAM源碼的修改

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

1.3 LOCAL MAPPING部分的改進

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

1.4 GRID MAP部分的設計

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

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

2 實驗結果與分析

2.1 實驗硬件配置對比

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

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

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

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

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

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

2.4 移植前后運行指標對比

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

3 結論

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

[5] 張彪,曹其新,王雯珊. 使用三維柵格地圖的移動機器人路徑規劃[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的移動機器人嵌入式實現與優化[J].微型機與應用,2017,36(5):50-53.

2016-11-08)

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

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

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

猜你喜歡
移動機器人嵌入式優化
移動機器人自主動態避障方法
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
搭建基于Qt的嵌入式開發平臺
基于Twincat的移動機器人制孔系統
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
Altera加入嵌入式視覺聯盟
倍福 CX8091嵌入式控制器
自動化博覽(2014年4期)2014-02-28 22:31:15
主站蜘蛛池模板: 国产va免费精品观看| 成年人福利视频| 亚洲久悠悠色悠在线播放| 日韩精品视频久久| 五月天福利视频| 亚洲精品日产精品乱码不卡| 国产亚洲视频中文字幕视频| 凹凸精品免费精品视频| 男女男免费视频网站国产| 精品视频一区二区三区在线播| 婷婷开心中文字幕| 国产欧美日韩18| 欧美久久网| 五月天久久婷婷| yy6080理论大片一级久久| 欧美一级黄色影院| 久草视频福利在线观看| 六月婷婷综合| 67194亚洲无码| 亚洲男人的天堂视频| 亚洲精品男人天堂| 91麻豆精品国产高清在线| 亚洲男人的天堂在线| 亚洲精品国产日韩无码AV永久免费网| 欧美一级大片在线观看| 日本午夜影院| 亚洲日韩国产精品综合在线观看| 欧美第一页在线| 欧美三级视频网站| 国产人成午夜免费看| 亚洲人在线| 中文字幕佐山爱一区二区免费| 日韩国产黄色网站| 最新国产精品第1页| 亚洲一级无毛片无码在线免费视频| 无码中字出轨中文人妻中文中| a天堂视频在线| 日韩视频福利| 91在线播放国产| 99re在线视频观看| 国产小视频免费| 欧美成人影院亚洲综合图| 老司国产精品视频| 尤物国产在线| 久久99国产视频| 亚洲日韩每日更新| 国产剧情国内精品原创| 久草视频中文| 国产精品视频a| 国产一区亚洲一区| 亚洲中文字幕无码爆乳| 久久99国产精品成人欧美| 国产自产视频一区二区三区| 亚洲国产精品国自产拍A| 国产又黄又硬又粗| 亚洲精品波多野结衣| 色播五月婷婷| 日本精品影院| 激情六月丁香婷婷| 毛片大全免费观看| 亚洲性视频网站| 91午夜福利在线观看精品| 狠狠亚洲五月天| 国产在线一区二区视频| 美女免费黄网站| 538精品在线观看| 亚洲成人手机在线| 亚洲国产成人自拍| 亚洲色无码专线精品观看| 久久国产高潮流白浆免费观看| 国产视频a| 麻豆精品视频在线原创| 大香网伊人久久综合网2020| 91精品免费久久久| 中文字幕一区二区人妻电影| 99re经典视频在线| 亚洲乱伦视频| 久久久久88色偷偷| 亚洲精品自在线拍| 欧美亚洲国产精品久久蜜芽| 免费无码一区二区| 欧美一区精品|