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

基于OpenGL的語音控制數(shù)控加工仿真的研究

2010-04-12 00:00:00俊,
現(xiàn)代電子技術(shù) 2010年11期

摘 要:利用OpenGL技術(shù)在VC++編程平臺上開發(fā)數(shù)控加工仿真系統(tǒng),并結(jié)合語音識別技術(shù)實現(xiàn)語音控制。簡要介紹OpenGL及其三維仿真技術(shù),以及語音識別的原理和技術(shù)。通過應(yīng)用微軟語音應(yīng)用程序軟件開發(fā)工具包Speech SDK進行二次開發(fā),旨在通過語音輸入加工參數(shù)和操作命令,經(jīng)過數(shù)控程序譯碼進行代碼校驗和數(shù)據(jù)處理,實現(xiàn)對刀具和工件加工過程的動態(tài)模擬仿真,體現(xiàn)語音識別技術(shù)為數(shù)控加工領(lǐng)域所帶來的便利。

關(guān)鍵詞:OpenGL; 數(shù)控加工; 語音識別; Speech SDK

中圖分類號:TP391.9 文獻標(biāo)識碼:A

文章編號:1004-373X(2010)11-0121-04

Research on NC Machining Simulation Controlled by Speech Recognition Based on OpenGL

SHI Jun, FU Gang

(Northern Science Technology College, Shenyang Institute of Aeronautical Engineering, Shenyang 110034, China)

Abstract: The NC machining simulation system was developed with OpenGL technology on the VC++ programming platform, and the speech control was implemented in combination with the speech recognition technology. The OpenGL and its 3D simulation technology as well as principles and technology of speech recognition are introduced briefly. The secondary development of the system is performed with Microsoft speech application software development kit Speech SDK to input the machining parameters and operating commands by noice, carry out NC code checking and data processing through NC program decoding, and realize the dynamic simulation of the cutter movement and the workpiece machining process. It embodies the convinece caused by the speech recognition technology for the field of numerical control.

Keywords: OpenGL; NC machining; speech recognition; simulation; Speech SDK

0 引 言

數(shù)控加工仿真是利用計算機圖形學(xué)的手段對零件的切削加工過程進行動態(tài)模擬的技術(shù),是實現(xiàn)虛擬制造的主要手段。通過數(shù)控加工仿真,可以驗證數(shù)控程序的正確性、監(jiān)測加工過程、代替或減少實際加工中的試切工作、節(jié)省資源、避免風(fēng)險[1]。計算機圖形軟件開發(fā)接口OpenGL為三維幾何建模提供了有力的支持,是進行圖形化編程、數(shù)據(jù)可視化、實體仿真的重要工具。因此借助OpenGL強大的圖形能力,建立數(shù)控加工仿真系統(tǒng),實現(xiàn)高質(zhì)量的實體動態(tài)仿真。

以往的數(shù)控加工仿真系統(tǒng)需要輸入大量的加工參數(shù)和控制命令,并根據(jù)仿真結(jié)果調(diào)整參數(shù)后反復(fù)仿真,以取得最佳的加工效果,這樣卻帶來了工作量大、重復(fù)操作的問題。若結(jié)合語音識別技術(shù),實現(xiàn)語音控制數(shù)控加工仿真,不僅可以更加方便、快捷地輸入?yún)?shù)和命令,解放操作人員的雙手,減少工作量,而且適合遠程控制,從而進一步提高加工效率、增加經(jīng)濟價值。

1 OpenGL及其三維建模

OpenGL是由SGI公司在其GL(Graphics Library)的基礎(chǔ)上發(fā)展起來的三維圖形庫,作為三維圖形API的標(biāo)準(zhǔn)。OpenGL可以與Visual C++緊密接合,便于實現(xiàn)數(shù)控加工仿真的有關(guān)計算和圖形算法,并可保證算法的正確性和可靠性。

OpenGL在圖形顯示的過程中首先將物體轉(zhuǎn)化為描述幾何性質(zhì)的頂點與描述圖像的像素。幾何頂點數(shù)據(jù)經(jīng)過運算器、逐個頂點操作轉(zhuǎn)化成像素數(shù)據(jù);對于像素數(shù)據(jù),圖像操作的結(jié)果被存儲在紋理組裝用的內(nèi)存中。像素數(shù)據(jù)經(jīng)過光柵化、逐個片元處理形成圖形片元。最后,圖形片元再經(jīng)過逐個操作,得到最后的像素值送入幀緩沖器,從而實現(xiàn)圖形的顯示。OpenGL的工作流程[2]如圖1所示。

在OpenGL中進行主要的圖形操作并在計算機屏幕上渲染繪制出三維圖形的基本步驟如下:

(1) 根據(jù)基本圖形單元建立物體模型,并對所建立的模型進行數(shù)學(xué)描述;

(2) 把物體模型放在三維空間中的合適位置,并設(shè)置視點;

(3) 確定物體的色彩、光照條件、紋理方式等;

(4)進行從物體模型的數(shù)學(xué)描述及其色彩信息到計算機屏幕像素的轉(zhuǎn)換,即光柵化。

圖1 OpenGL工作流程圖

2 語音識別技術(shù)

語音識別(Speech Recognition)是計算機通過識別和理解過程把語音信號轉(zhuǎn)變?yōu)橄鄳?yīng)的文本或命令的技術(shù),它屬于多維模式識別和智能接口的范疇。語音識別技術(shù)是一項集聲學(xué)、語言學(xué)、計算機、信息處理、人工智能于一身的綜合技術(shù)。

語音識別分為兩步。第一步是根據(jù)識別系統(tǒng)的類型選擇一種能夠滿足要求的識別方法,采用語音分析方法分析出這種識別方法所要求的語音特征參數(shù),把這些參數(shù)作為標(biāo)準(zhǔn)模式存儲起來,形成“模板”,這一過程稱為 “訓(xùn)練”。第二步就是“識別”階段,根據(jù)實際需要選擇語音特征參數(shù),這些特征參數(shù)的時間序列構(gòu)成了測試模板,將其與己存在的參考模板逐一進行比較,進行測度估計,最后經(jīng)由專家知識庫判決,最佳匹配的參考模板即為識別結(jié)果。語音識別的原理[3]如圖2所示。

圖2 語音識別原理框圖

目前應(yīng)用較為廣泛的語音識別技術(shù)有矢量量化(Vector Quantization,VQ)、動態(tài)時間規(guī)整(Dynamic Time Warping,DTW)、隱馬爾可夫模型(Hidden Markov Models,HMM)以及人工神經(jīng)元網(wǎng)絡(luò)(Artificial Neural Network,ANN)等[4]。

3 語音控制數(shù)控加工仿真系統(tǒng)的設(shè)計與實現(xiàn)

3.1 功能設(shè)計

根據(jù)數(shù)控機床的零件加工流程和計算機仿真的基本原理,將語音控制數(shù)控加工仿真系統(tǒng)的功能模塊化,如圖3所示。

(1) 在語音識別控制模塊中,采用微軟公司開發(fā)的Speech SDK 5.1在VC++的編程平臺下進行二次開發(fā),實現(xiàn)小詞匯量、孤立詞、非特定人的語音識別系統(tǒng)。語音識別訓(xùn)練是針對本系統(tǒng)的命令和待識別詞或短語進行的。

圖3 語音控制數(shù)控加工仿真系統(tǒng)功能模塊圖

(2) 通過對數(shù)控加工程序進行詞法和語法分析來檢驗數(shù)控程序的正確性、有效性;數(shù)據(jù)處理負(fù)責(zé)提取與仿真有關(guān)的命令和狀態(tài)信息,從而進行參數(shù)設(shè)置、插補運算和續(xù)效性設(shè)置等操作[5]。

(3) 加工仿真模塊根據(jù)分析得到的加工指令,動態(tài)模擬刀具運動和進給切削工件的加工軌跡,并由語音控制操作。

(4) 信息管理模塊使用Microsoft SQL Server 2000作為后臺數(shù)據(jù)庫,存儲工件模型和刀具模型的參數(shù)和圖像信息,可以實現(xiàn)信息的添加、修改、刪除和查詢操作。用戶直接選擇合適的刀具和工件,節(jié)省輸入?yún)?shù)的時間,增強仿真效果,為加工仿真提供數(shù)據(jù)支持。

3.2 語音識別控制

微軟公司推出的Microsoft Speech SDK 5.1語音開發(fā)工具包提供了語音識別和語音合成的接口,并采用了HMM建模技術(shù),通過大量的語音數(shù)據(jù)訓(xùn)練,得到了精確廣泛的聲學(xué)模型,并具有較強的抗噪聲能力。

在進行語音識別工作前需要編寫一個*.XML的文法文件。SDK通過一個語音識別引擎來識別用戶的語音。文法中定義了需要識別的字和短語。簡單的文法例子如下[6]:

開始

暫停

加速

……

中插入的是一組待識別的字或短語,而中插入的是以為可選擇的可能匹配用戶語音的字或短語。

在程序中需要定義以下語音識別所需的接口對象:

CComPtrm_Recognizer; //用于訪問語音引擎;

CComPtrm_RecoContxt; //用于接收和發(fā)送與語音消息相關(guān)的事件消息,裝載和卸載文法;

CComPtr m_RecoGrammar; //用于建立、載入、激活語法和規(guī)則;

CComPtr m_Audio;//定義聲音處理時的語音對象;

實現(xiàn)語音識別控制的主要步驟[7]如下:

(1) 初始化COM端口,通過調(diào)用函數(shù)CoInitialize(NULL)來實現(xiàn);

(2) 通過m_Recognizer對象調(diào)用CoCreateInstance()函數(shù)創(chuàng)建一個獨占型語音識別引擎,用CLSID_SpInprocRecognizer標(biāo)志設(shè)置,只允許該程序使用識別引擎;

(3) 調(diào)用ISpRecognizer::CreateRecoContext創(chuàng)建識別上下文接口(ISpRecoContext);

(4) 通過m_RecoContxt對象調(diào)用SetNotifyWindowMessage()函數(shù)告訴操作系統(tǒng)哪個是我們的識別消息,需要進行處理;

(5) 通過m_RecoContxt對象調(diào)用SetInterest()函數(shù)來告訴識別引擎,什么是我們感興趣的事件;

(6) 通過m_RecoContxt對象調(diào)用CreateGrammar()函數(shù)建立一個Rule對象,再調(diào)用LoadCmdFromFile()函數(shù)從XML文件中裝載對應(yīng)的語法規(guī)則;

(7) 通過m_RecoGrammar 對象調(diào)用SetRule-State()函數(shù)激活語法規(guī)則,開始接收音頻輸入并進行識別;

(8) 截獲識別消息(WM_RECOEVENT),通過event.RecoResult()獲取識別結(jié)果,分析判別后對參數(shù)或程序狀態(tài)進行設(shè)置。

當(dāng)用戶向系統(tǒng)發(fā)出一個語音指令后,系統(tǒng)界面馬上顯示指令結(jié)果,讓用戶確定所發(fā)出的指令是否被系統(tǒng)聽見,是否被正確識別。對于參數(shù)設(shè)置,需要進行短語分割和數(shù)字轉(zhuǎn)換,對于操作命令則直接識別后改變加工仿真的狀態(tài)。由于本系統(tǒng)所需識別的詞匯具有一定的局限性和規(guī)律性,系統(tǒng)可以根據(jù)已經(jīng)識別的字或短語通過聯(lián)想預(yù)先選取可能出現(xiàn)的后續(xù)詞,從而減少系統(tǒng)匹配的時間,提高系統(tǒng)的識別速度。

3.3 數(shù)控程序譯碼

系統(tǒng)在利用OpenGL技術(shù)進行動態(tài)加工仿真之前需要對數(shù)控加工程序進行分析、計算、判別以及譯碼等處理。對于檢查出來的詞法錯誤可以自動改正,對于出現(xiàn)不合理的數(shù)值和參數(shù)的語法錯誤則提示錯誤原因供用戶參考。

系統(tǒng)加載文本格式的數(shù)控加工程序,并按行存入數(shù)組,程序中設(shè)置不同的變量存儲相關(guān)參數(shù)。根據(jù)各功能字之間用空格隔開等特點,分析出代碼中所指定的命令和參數(shù)值,修改對應(yīng)的變量。同時應(yīng)考慮續(xù)效指令,若當(dāng)前行指令代碼沒有出現(xiàn)同組其他指令時,相應(yīng)變量會保持不變。對于絕對值或是增量值指令(G90/G91),應(yīng)采用直接替換參數(shù)或累加增量的方法,確保零件輪廓坐標(biāo)的準(zhǔn)確性。系統(tǒng)還能根據(jù)刀具的參數(shù)信息和刀具補償參數(shù)計算出刀具中心軌跡,用于實現(xiàn)刀具的仿真。數(shù)控程序譯碼流程圖如圖4所示。

圖4 數(shù)控程序譯碼流程圖

3.4 加工仿真

在仿真環(huán)境中建立刀具和工件的幾何模型。刀具和工件根據(jù)用戶選擇的模型以及語音輸入的參數(shù)可以通過OpenGL直接編程生成,并且通過glTranslatef(),glRotatef(),glScalef(),gluLookAt(),gluPerspective()等函數(shù)可以實現(xiàn)模型的平移、旋轉(zhuǎn)、縮放、視圖變換、正投影和透視投影等操作[8-10]。

系統(tǒng)根據(jù)數(shù)控程序譯碼階段得到的命令和狀態(tài)信息設(shè)置模擬加工參數(shù)。通過正投影的XY平面和XZ平面兩個視角同時動態(tài)模擬刀具的旋轉(zhuǎn)和相對工件運動形成的加工軌跡。系統(tǒng)界面還同時顯示數(shù)控加工代碼的當(dāng)前作用指令、刀具的各項指標(biāo)以及切削液狀態(tài)等信息,供用戶實時觀察及時查錯。零件輪廓由直線和圓弧組成,對于直線段,根據(jù)起點坐標(biāo)、終點坐標(biāo)以及進給速度F依據(jù)比例關(guān)系計算單位時間刀具移動的位移。對于圓弧,則應(yīng)確定單位時間內(nèi)刀具移動形成圓弧的弧長為一定值。通過余旋定理把弧長轉(zhuǎn)換成角度,也就是單位時間內(nèi)刀具移動形成圓弧的圓心角為一定值。設(shè)angB為連接圓弧起點和圓心的直線與X軸的夾角,angE為連接圓弧終點和圓心的直線與X軸的夾角,angleL即為計算求得的單位時間內(nèi)刀具切削圓弧所形成的圓心角。實現(xiàn)刀具切削圓弧軌跡的程序段如下,根據(jù)測試結(jié)果angleL要小于0.1,否則繪制出的圓弧會出現(xiàn)偏差。

glPushMatrix();//保存矩陣狀態(tài)

glColor3f(1.0f, 1.0f, 0.0f); //設(shè)置顏色

glBegin(GL_LINE_STRIP);//設(shè)置連續(xù)直線段擬和圓弧

for(float angle =angB; angle <= angleE; angle += angleL)

{

x=sin(angleL);

y=cos(angleL);

glVertex2f(x, y);//指定下一個繪制的點

}

glEnd(); //完成繪制

glPopMatrix();//恢復(fù)矩陣狀態(tài)

定義OpenGL的顯示模式為雙緩沖,調(diào)用glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE)函數(shù)進行設(shè)置,即所有的OpenGL繪制命令在非顯示緩沖區(qū)中執(zhí)行,繪制完成后調(diào)用glutSwapBuffers()函數(shù)將其內(nèi)容拷貝到顯示緩沖區(qū)中進行圖形顯示,這樣使得圖像轉(zhuǎn)換更為平滑,有效地改善了屏幕刷新時的閃爍問題。

4 結(jié) 語

語音控制數(shù)控加工仿真系統(tǒng)經(jīng)過大量測試得到的數(shù)據(jù)表明,在語音識別方面,在實驗室條件下可以達到98%的識別率,即使在小噪聲的環(huán)境下也可以保證95%以上的識別率,基本滿足系統(tǒng)的使用需求;在加工仿真方面,采用OpenGL圖形處理策略實現(xiàn)的刀具模擬、刀具軌跡顯示以及加工過程的仿真,提高了顯示的真實感與實時性。語音識別技術(shù)與數(shù)控仿真相結(jié)合,在一定程度上為數(shù)控加工降低了工作量、提高了生產(chǎn)效率、降低了生產(chǎn)成本,進一步推動語音識別技術(shù)在更廣泛領(lǐng)域的應(yīng)用,也推動?xùn)|北老工業(yè)基地的發(fā)展和振興。

參考文獻

[1]羅生梅,許奇武.OpenGL在數(shù)控加工仿真中的應(yīng)用[J].組合機床與自動化加工技術(shù),2008(4):89-91.

[2]高恩婷.基于VC++的OpenGL三維應(yīng)用程序的設(shè)計[J].蘇州大學(xué)學(xué)報:自然科學(xué)版,2007,23(4):37-41.

[3]王炳錫,屈丹,彭煊.實用語音識別基礎(chǔ)[M].北京:國防工業(yè)出版社,2005.

[4]韓紀(jì)慶,張磊,鄭鐵然.語音信號處理[M].北京:清華大學(xué)出版社,2004.

[5]馬銀戌,嚴(yán)忠.基于VB和OpenGL的數(shù)控車削仿真系統(tǒng)研究[J].機械工程師,2008(8):43-44.

[6]Microsoft Inc.. Speech API幫助文檔[EB/OL].\\. http://www.microsoft.com\\\\Microsoft Speech SDK 5.1\\\\Docs\\\\Help\\\\sapi.chm,2008.

[7]初琦.Speech SDK在語音機器人開發(fā)中的應(yīng)用[J].北京工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報,2008,7(4):32-36.

[8]Richard S Wright, Jr Benjamin Lipchak.OpenGL超級寶典[M].3版.北京:人民郵電出版社,2005.

[9]王永超.基于OpenGL的虛擬車床幾何建模[J].現(xiàn)代電子技術(shù),2008,31(12):165-168.

[10]林忠,黃陳蓉.數(shù)控車床虛擬加工的仿真技術(shù)與實現(xiàn)[J].機械設(shè)計與制造,2008(9):165-167.

主站蜘蛛池模板: 2018日日摸夜夜添狠狠躁| 3344在线观看无码| 伊人久综合| 国产丝袜啪啪| 色妞永久免费视频| 男女男免费视频网站国产| 91口爆吞精国产对白第三集| 精品欧美日韩国产日漫一区不卡| 99re在线视频观看| 91免费国产在线观看尤物| 国产欧美网站| av天堂最新版在线| 国产一在线| 日本一区二区三区精品视频| 亚洲男人天堂网址| 999国产精品| 久久精品人人做人人综合试看| 国产第三区| 亚洲精品午夜无码电影网| 成人国产精品视频频| 中文字幕2区| 久久国产免费观看| 亚洲欧美成人在线视频| 欧美午夜小视频| 国产在线八区| 精品国产污污免费网站| 国产本道久久一区二区三区| 日韩 欧美 小说 综合网 另类 | 日本在线亚洲| 亚洲va欧美ⅴa国产va影院| 免费全部高H视频无码无遮掩| 制服丝袜一区| 伊人成人在线| 香蕉eeww99国产精选播放| 日韩av在线直播| 黄色福利在线| 日韩 欧美 国产 精品 综合| 亚洲第一极品精品无码| 亚洲中文字幕23页在线| 亚洲国产日韩在线成人蜜芽| 亚洲精品va| 欧美一区二区三区国产精品| 在线视频亚洲欧美| 91亚洲免费视频| 伊人久久大香线蕉aⅴ色| 国产小视频免费观看| 国产小视频a在线观看| 成人久久精品一区二区三区| 欧美一级大片在线观看| 午夜高清国产拍精品| 国产精品私拍99pans大尺度 | 亚洲日韩国产精品综合在线观看| 亚洲无线国产观看| 色成人亚洲| 无遮挡一级毛片呦女视频| 99热线精品大全在线观看| 国产素人在线| Jizz国产色系免费| 在线观看91精品国产剧情免费| 亚洲日韩精品综合在线一区二区| 久久久久久久久久国产精品| 在线观看国产精美视频| 亚洲欧美日韩精品专区| 青草精品视频| 精品国产香蕉伊思人在线| 一本无码在线观看| 欧美黄网在线| 亚洲AV永久无码精品古装片| 国产高清不卡视频| 四虎免费视频网站| 国产91视频免费观看| 2022国产91精品久久久久久| 国产成+人+综合+亚洲欧美| 亚洲中文字幕23页在线| 国产精品片在线观看手机版| 午夜国产精品视频| 毛片免费视频| 伊人久久精品无码麻豆精品| 热这里只有精品国产热门精品| 中文字幕免费播放| 亚洲天堂区| 亚洲日本韩在线观看|