當(dāng)前位置:首頁(yè) > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]摘要:文中主要研究移動(dòng)機(jī)器人在環(huán)境未知情況下的障礙物檢測(cè)問(wèn)題,提出了一種基于Matlab和VC++混合編程的障礙物檢測(cè)系統(tǒng)軟件實(shí)現(xiàn)方法。該方法整合了MATLAB的數(shù)值計(jì)算功能,具有強(qiáng)大的圖形、圖像處理功能和VC++的可視

摘要:文中主要研究移動(dòng)機(jī)器人在環(huán)境未知情況下的障礙物檢測(cè)問(wèn)題,提出了一種基于Matlab和VC++混合編程的障礙物檢測(cè)系統(tǒng)軟件實(shí)現(xiàn)方法。該方法整合了MATLAB的數(shù)值計(jì)算功能,具有強(qiáng)大的圖形、圖像處理功能和VC++的可視化、執(zhí)行速度快、易維護(hù)升級(jí)等特點(diǎn)。實(shí)驗(yàn)結(jié)果表明,這種檢測(cè)方法在障礙物檢測(cè)系統(tǒng)的開(kāi)發(fā)過(guò)程中可以大大提高編程效率,并縮短軟件的開(kāi)發(fā)周期。
關(guān)鍵詞:Matlab;VC++;混合編程;障礙物檢測(cè)

0 引言
    在智能移動(dòng)機(jī)器人自主導(dǎo)航的研究中,應(yīng)用視覺(jué)來(lái)進(jìn)行實(shí)時(shí)障礙檢測(cè),一直是研究的熱點(diǎn)問(wèn)題。目前,許多研究工作者已將視覺(jué)導(dǎo)航應(yīng)用到移動(dòng)機(jī)器人的移動(dòng)控制中,但由于其圖像處理數(shù)據(jù)量大、算法較復(fù)雜,因此在具體應(yīng)用中存在實(shí)時(shí)性較差、道路區(qū)域檢測(cè)的算法不夠魯棒、只能適合算法特定的道路模型等缺點(diǎn)。為了提高移動(dòng)機(jī)器人檢測(cè)障礙物的實(shí)時(shí)性,文中提出了一種基于Matlab和VC混合編程的障礙物檢測(cè)系統(tǒng)軟件實(shí)現(xiàn)方法,可以大大提高編程的效率,縮短軟件的開(kāi)發(fā)周期,且可以快速準(zhǔn)確地檢測(cè)到障礙物。

1 VC++與Matlab混合編程方法
    Matlab是由美國(guó)MatlaWorks公司推出的用于算法開(kāi)發(fā)、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語(yǔ)言和交互式環(huán)境,在矩陣運(yùn)算、數(shù)值計(jì)算和圖形顯示等方面,具有強(qiáng)大的功能,非常直觀、簡(jiǎn)潔。它為各工程計(jì)算領(lǐng)域提供了相應(yīng)的工具箱,在控制界、生物醫(yī)學(xué)工程、語(yǔ)音處理、數(shù)字信號(hào)處理、雷達(dá)工程、信號(hào)分析、計(jì)算機(jī)技術(shù)等各行各業(yè)中都得到了廣泛的應(yīng)用。但是和其它高級(jí)編程語(yǔ)言相比,它的程序執(zhí)行速度較慢,其源代碼的公開(kāi)不利于算法和數(shù)據(jù)的保密。
    VisualC++是Microsoft公司推出的面向?qū)ο罂梢暬幊痰母呒?jí)程序設(shè)計(jì)語(yǔ)言,它集成了功能強(qiáng)大的編譯器、連接器、調(diào)試器、AppWizard等多種多樣的可視化編程工具。它采用編譯方式運(yùn)行,運(yùn)行速度快,特別是編寫界面的能力很強(qiáng)。但它在數(shù)字處理分析、算法工具、編程效率和準(zhǔn)確方便的繪制數(shù)據(jù)圖像方面遠(yuǎn)低于Matlab語(yǔ)言。
    Matlab與VC++常用的結(jié)合方法有5種:
    ①M(fèi)atlab引擎。
    ②用Matcom將Matlab的M文件編譯成C語(yǔ)言文件并嵌入VC++。
    ③使用Matlab提供的函數(shù)庫(kù)或C++接口函數(shù)庫(kù)直接在VC中編程。
    ④利用Matlab提供的MCC命令生成與Matlab文件對(duì)應(yīng)的基于C語(yǔ)言或C++語(yǔ)言的包裹文件,再嵌入VC中。
    ⑤應(yīng)用組建技術(shù)實(shí)現(xiàn)Matlab與VC混合編程。
    本研究針對(duì)5種方法進(jìn)行了研究和試驗(yàn)。后4種方法對(duì)于Matlab的圖像處理工具箱只有部分支持,而Matlab引擎對(duì)Matlab具有全功能調(diào)用功能,包括對(duì)于數(shù)字圖像和通信對(duì)象處理的支持,故本文選用Matlab引擎來(lái)實(shí)現(xiàn)基于VC++和Matlab的障礙物檢測(cè)系統(tǒng)研發(fā)平臺(tái)。

2 障礙物檢測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
2.1 Matlab和VC接口編譯環(huán)境的設(shè)置
    在VC的集成環(huán)境中,如要實(shí)現(xiàn)與Matlab引擎之間的通信,需要對(duì)VC的編譯環(huán)境進(jìn)行一些設(shè)置,例如:為VC工程添加Matlab頭文件、添加Matlab庫(kù)文件等等。
2.2 VC中調(diào)用Matlab引擎的設(shè)置及程序?qū)崿F(xiàn)
    在VC中利用Matlab引擎進(jìn)行圖像處理,首先需要在程序中進(jìn)行一些基本定義,如在使用Matlab引擎類的cpp文件中首先添加語(yǔ)句#inclu-de“engine.h”以及#include“matrix.h”,需要用Engine*m_ep定義Matlab引擎,用m_ep=engOpen(NULL)語(yǔ)句啟動(dòng)Matlab引擎;最后還要用engClose(m_ep)語(yǔ)句關(guān)閉Matlab引擎等。
    本文研究的障礙物檢測(cè)系統(tǒng)主要是先利用雙目立體視覺(jué)來(lái)檢測(cè)障礙物的位置及距離等信息,并對(duì)移動(dòng)機(jī)器人的雙攝像機(jī)進(jìn)行控制來(lái)采集圖像對(duì),然后對(duì)圖像進(jìn)行一系列的處理。其軟件設(shè)計(jì)采用模塊化開(kāi)發(fā)思想,主要包括圖像采集模塊、邊緣特征提取模塊、Otsu圖像分割模塊、攝像機(jī)標(biāo)定模塊、立體匹配模塊和三維重建模塊。障礙物檢測(cè)系統(tǒng)主界面如圖1所示。


    圖像Otsu分割Matlab圖像處理部分源程序?yàn)椋?br />    


3 障礙物檢測(cè)系統(tǒng)檢測(cè)過(guò)程及結(jié)果
    圖2~5為障礙物檢測(cè)系統(tǒng)的處理過(guò)程,即從獲取實(shí)時(shí)圖像、圖像預(yù)處理、障礙物特征提取、特征點(diǎn)匹配等過(guò)程,最后通過(guò)視差法計(jì)算出障礙物的位置坐標(biāo),從而為決策控制提供必要的信息。表1為檢測(cè)到的障礙物中的部分點(diǎn)坐標(biāo)。



4 結(jié)束語(yǔ)
    本文利用Matlab和VC++混合編程的方法,將VC++的可視化圖形界面功能和MATLAB的強(qiáng)大圖像處理功能有機(jī)的結(jié)合起來(lái),設(shè)計(jì)出移動(dòng)機(jī)器人障礙物檢測(cè)系統(tǒng)軟件開(kāi)發(fā)平臺(tái)。在實(shí)際的科研中,省去了編寫一些復(fù)雜煩瑣的圖像算法代碼,可以為熟悉VC語(yǔ)言的工程技術(shù)開(kāi)發(fā)實(shí)用圖像處理算法研究提供方便;利用Matlab引擎可以簡(jiǎn)單有效的實(shí)現(xiàn)在VC中調(diào)用Matlab的功能,因此提高了效率,縮短了軟件開(kāi)發(fā)周期。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉