2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、:www.paper.1機(jī)械手仿真軟件交互式軌跡實(shí)現(xiàn)機(jī)械手仿真軟件交互式軌跡實(shí)現(xiàn)王旋,魏世民北京郵電大學(xué)自動(dòng)化學(xué)院,北京(100876)Email:xxp7523@摘要:要:本篇文章,著重闡述了利用VC的消息機(jī)制建立用戶對(duì)話平臺(tái),使仿真手臂能夠按照用戶需求實(shí)現(xiàn)實(shí)時(shí)軌跡組合。與以往相比較,通過(guò)這種人機(jī)交互平臺(tái),仿真機(jī)械手臂能夠按照用戶的需求實(shí)現(xiàn)不同單一軌跡的組合。關(guān)鍵詞關(guān)鍵詞:機(jī)械手仿真;無(wú)模式對(duì)話框;VC中圖分類號(hào):中圖分類號(hào):TP39

2、1.9;TP241.31.引言引言在仿真機(jī)械手軟件最初設(shè)計(jì)階段,由于沒(méi)有利用消息機(jī)制,只能事先編寫出固定的軌跡函數(shù),譬如使仿真機(jī)械手按BUPT這四個(gè)字母的書寫規(guī)則進(jìn)行軌跡運(yùn)動(dòng)[4],繼而在PC屏幕上寫出這四個(gè)字母。但卻無(wú)法按照用戶的需求寫出別的字母或數(shù)字,或者多個(gè)數(shù)字的組合,也無(wú)法實(shí)現(xiàn)別的軌跡。仿真軟件的設(shè)計(jì),其最終目的是能與用戶實(shí)現(xiàn)交互。這款優(yōu)化后的仿真機(jī)械手軟件亦是如此,期望其最終能夠按照用戶的想法實(shí)現(xiàn)自身軌跡,而不不僅僅是只能實(shí)現(xiàn)

3、一種或固定幾種預(yù)先規(guī)定好的軌跡。在此設(shè)計(jì)中,通過(guò)消息機(jī)制,設(shè)計(jì)一種用戶交互平臺(tái),便可令仿真機(jī)械手按用戶的不同需求,實(shí)現(xiàn)不同軌跡或不同軌跡組合。同時(shí),也可在此原理基礎(chǔ)上進(jìn)一步擴(kuò)展軌跡種類。2.交互式軌跡實(shí)現(xiàn)的機(jī)制交互式軌跡實(shí)現(xiàn)的機(jī)制利用VC的消息處理機(jī)制,對(duì)基于MFC單文檔的OpenGL并聯(lián)機(jī)械手的模型進(jìn)行軌跡控制,通過(guò)交互界面,用戶下達(dá)自己所需的軌跡命令,使機(jī)械手按其要求實(shí)現(xiàn)軌跡。2.1消息機(jī)制消息機(jī)制在使用VisualC進(jìn)行應(yīng)用程序開(kāi)

4、發(fā)時(shí),除了用戶界面的定制之外,其他大部分工作是編寫各種消息處理函數(shù)。消息用來(lái)通知系統(tǒng),用戶的操作。為了軌跡實(shí)現(xiàn)的可交互性,此仿真軟件建模后的絕大部分的工作便是進(jìn)行消息處理。VisualC6.0提供了MFC類庫(kù),很多底層的消息都進(jìn)行了封裝,只需要處理一些高層的消息,如選擇菜單等命令[3]。WINDOWS應(yīng)用程序開(kāi)始執(zhí)行后,操作系統(tǒng)會(huì)為該應(yīng)用程序創(chuàng)建一個(gè)消息隊(duì)列,用于存放該應(yīng)用程序所接受的各種消息。在執(zhí)行必要的初始化工作后,就進(jìn)入消息循環(huán),

5、直到該應(yīng)用程序被終止。消息循環(huán)就是應(yīng)用程序依次查詢消息隊(duì)列的中的每一條消息,對(duì)其進(jìn)行解釋、分解、處理過(guò)程。應(yīng)用程序在其消息循環(huán)中得到屬于自己的消息,并調(diào)用相應(yīng)的窗口過(guò)程,而當(dāng)應(yīng)用程序沒(méi)有消息時(shí),消息循環(huán)就將將控制權(quán)交還給操作系統(tǒng)[1]。2.2消息處理消息處理在程序運(yùn)行時(shí),譬如當(dāng)用戶單擊菜單時(shí),操作系統(tǒng)馬上“感知”了這一事件,并能知道用戶選擇的是哪個(gè)菜單項(xiàng)。操作系統(tǒng)通過(guò)消息將這一事件轉(zhuǎn)交給應(yīng)用程序,由應(yīng)用程序決定如何對(duì)這一事件作出反應(yīng)。這

6、即是消息相應(yīng)。在MFC中,對(duì)消息的響應(yīng)處理采用的是消息映射機(jī)制,也就是消息和其處理函數(shù)的一:www.paper.34.2定制消息,編寫消息處理函數(shù)和建立消息映射定制消息,編寫消息處理函數(shù)和建立消息映射4.2.1定制消息定制消息為了實(shí)現(xiàn)數(shù)據(jù)的傳輸,將對(duì)話框的輸入數(shù)字傳送給VIEW類,需要自定義消息。所有的消息都是通過(guò)消息的名稱來(lái)訪問(wèn)的。因此自定義一個(gè)消息名稱,并利用自定義的消息來(lái)發(fā)送和傳遞數(shù)據(jù)。在這里,#defineWM_DIALOG_C

7、REATWM_USER100這里需要從WM_USER100開(kāi)始,以免和系統(tǒng)定義的其他消息沖突。如需自定義其他消息,只需依次定義即可。像其他函數(shù)一樣,也要在類的定義中聲明消息響應(yīng)函數(shù):OnDlgNotifyMsg();classCEmulationView:publicCView……AFX_MSG(CEmulationView)afx_msgintOnCreate(LPCREATESTRUCTlpCreateStruct)afx_msgv

8、oidOnDestroy()afx_msgvoidOnSize(UINTnTypeintcxintcy)afx_msgvoidOnTimer(UINTnIDEvent)afx_msgvoidOnKeyDown(UINTnUINTnRepCntUINTnFlags)afx_msgvoidOnLButtonDown(UINTnFlagsCPointpoint)afx_msgvoidOnLButtonUp(UINTnFlagsCPointpo

9、int)afx_msgvoidOnMouseMove(UINTnFlagsCPointpoint)afx_msgBOOLOnMouseWheel(UINTnFlagsshtzDeltaCPointpt)AFX_MSGafx_msgvoidOnDlgNotifyMsg(WPARAMwP)此處一定將聲明放在AFX_MSG外,否則系統(tǒng)便會(huì)將其認(rèn)為MFC已封裝的消息函數(shù),而忽略。4.2.2編寫消息處理函數(shù)編寫消息處理函數(shù)voidCEmulati

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論