freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)-labview智能小車設(shè)計(jì)(編輯修改稿)

2025-01-08 20:02 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 IEW 通過(guò)數(shù)據(jù)流 驅(qū)動(dòng)的方式來(lái)控制程序的運(yùn)行,在程序中用連線連接多個(gè)控件以交換數(shù)據(jù)。這種驅(qū)動(dòng)方式和數(shù)據(jù)交換方式在某些情況下可能會(huì)遇到麻煩,例如程序復(fù)雜時(shí),連線會(huì)非?;靵y,其結(jié)果是導(dǎo)致程序的可讀性變得很差,有些時(shí)候甚至影響程序的正常工作以及程序員的調(diào)試和管理。另外,僅僅依靠連線也無(wú)法進(jìn)行兩個(gè) VI 程序之間的數(shù)據(jù)交換。 LabVIEW 中的局部變量和全局變量在某種程度上可以解決這個(gè)問(wèn)題,因而在LabVIEW 程序設(shè)計(jì)中具有重要的意義。 局部變量主要用于在程序內(nèi)部傳遞數(shù)據(jù),它既可以作為控制量向其他對(duì)象傳遞數(shù)據(jù),也可以作為顯示量接收其他對(duì) 象傳遞過(guò)來(lái)的數(shù)據(jù)。在 LabVIEW 中,建立局部變量的方式有兩種。第一種方式是直接在函數(shù)模板中的 Structure 子模板中選擇 Local Variable,并放置在后面板上,形成一個(gè)還沒(méi)有被賦值的局部變量,圖標(biāo)為回。第二種方式是在后面板中已有的對(duì)象上面單擊鼠標(biāo)右鍵,從彈出的快捷菜單中選擇 Create Local Variable,構(gòu)成這個(gè)對(duì)象的局部變量。從某種意義上講,局部變量是它所代表的對(duì)象的替身,可以用于傳遞這個(gè)對(duì)象的數(shù)據(jù)。局部變量既可以是控制量也可以是顯示量,如果想要將一個(gè)顯示量的局部變量變成控制量,只 需要在局部變量上單擊鼠標(biāo)右鍵,從彈出的快捷菜單中選擇 Change to Read;反之,則需要在快捷菜單中選擇 Change to Write。 局部變量通常用于程序內(nèi)部的數(shù)據(jù)傳遞,對(duì)于程序之間的數(shù)據(jù)傳遞就無(wú)能為力了,而全局變量可以解決在 LabVIEW 的程序間數(shù)據(jù)傳遞的問(wèn)題。 創(chuàng)建全局變量的方法有兩種,第一種方法是在 LabVIEW 的新建菜單中選擇Global Variable,單擊“ OK”按鈕后可以打開(kāi)設(shè)計(jì)全局變量窗口,這時(shí)形成的一個(gè)沒(méi)有后面板的 LabVIEW 程序,也就是說(shuō)它僅僅是一個(gè)盛放前面板中控件的容器, 沒(méi)有任何代碼,編輯后保存成一個(gè) VI,便建立一個(gè)全局變量;第二種方法是用 LabVIEW 函數(shù)模板的 Structur。子模板,從中選擇 Global Variable 并放置在程序的后面板上,在后面板上生成圖標(biāo),雙擊圖標(biāo)便可以打開(kāi)編輯窗口,在這里可以編輯該全局變量。全局變量既可以是控制量也可以是顯示量,如果想要將一個(gè)顯示量的全局變量變成控制量,只需要在全局變量上單擊鼠標(biāo)右鍵,從彈出的快捷菜單中選擇 Change to Read;反之,則需要在快捷菜單中選擇 Change to Write。 LabVIEW 平臺(tái)的特 點(diǎn) LabVIEW 平臺(tái)的特點(diǎn)可歸結(jié)為以下幾個(gè)方面: 基于圖形化的編程方式,其編程十分簡(jiǎn)潔方便,是真正的工程師 的語(yǔ)言; 提供豐富的數(shù)據(jù)采集、分析及存儲(chǔ)的庫(kù)函數(shù); 提供傳統(tǒng)的程序調(diào)試手段,如單步執(zhí)行、設(shè)置斷點(diǎn),同時(shí)提供設(shè)置探針、顯示數(shù)據(jù)流動(dòng)畫等獨(dú)具特色的調(diào)試方法; 繼承傳統(tǒng)編程語(yǔ)言結(jié)構(gòu)化和模塊化的優(yōu)點(diǎn),這對(duì)于建立復(fù)雜應(yīng)用和代碼的可重用性來(lái)說(shuō)是至關(guān)重要的; 囊括了 PCI, GPIB, PXI, VXI, RS232/485, USB 等各種儀器通信總線標(biāo)準(zhǔn)的所有功能函數(shù),使不懂總線標(biāo)準(zhǔn)的開(kāi)發(fā)者也能驅(qū)動(dòng)不同總線標(biāo) 準(zhǔn)接口設(shè)備與儀器; 提供大量與外部代碼或軟件進(jìn)行鏈接的機(jī)制,諸如 DLL 動(dòng)態(tài)鏈接庫(kù) 、 DDE 共享庫(kù) 、 ActiveX 等; 具有強(qiáng)大的 Inter 功能,支持常用的網(wǎng)絡(luò)協(xié)議,方便網(wǎng)絡(luò)、遠(yuǎn)程測(cè)量?jī)x器的開(kāi)發(fā)。 建立賽道功能模塊 仿真系統(tǒng)提供賽道設(shè)計(jì)賽道功能模塊,可以快速地建立起賽道,很好地解決了實(shí)際中設(shè)計(jì)不同賽道的經(jīng)濟(jì)性和效率性的問(wèn)題,賽道設(shè)計(jì)功能模塊就是為所要對(duì)智能車比賽的真實(shí)賽道建模。用戶可以在系統(tǒng)中自行設(shè)計(jì)不同的賽道,然后保存為文件,在仿真時(shí)將其調(diào)用即可 [8]。 計(jì)方法 在仿真軟件的設(shè)計(jì)過(guò)程中,賽道設(shè)計(jì)是以簡(jiǎn)化了的賽道為模型,即在軟件的制作過(guò)程中,以點(diǎn)的形式存儲(chǔ)賽道,兩個(gè)相關(guān)聯(lián)的點(diǎn)之間的距離定義為分辨率,分辨率是連續(xù)賽道的數(shù)字量化的量度,賽道的具體體現(xiàn)是認(rèn)為兩個(gè)相連的點(diǎn)之間是直線連接的,在分辨率設(shè)置很低的情況下,軟件設(shè)計(jì)中限定了最大分辨率為 厘米,這樣,即使是曲線的賽道也可以近似為直線,不會(huì)對(duì)仿真精度產(chǎn)生多大的影響 [10]。 賽道的生成是以賽道段為單位的,所謂賽道段就是具有同種形狀的賽道,比如,只是直線賽道,那就認(rèn)為為一個(gè)賽道段,一個(gè)直線末端連一個(gè)半徑為 米的角度為 180 的弧,則認(rèn)為為兩個(gè)賽道段,對(duì)于弧線,不同的半徑認(rèn)為是在不同的賽道段上。當(dāng)然也可以把一個(gè)賽道段劃分為多個(gè)賽道段。賽道段總體上分為兩類,直線段和弧線段,直線段信息為端點(diǎn),弧線段信息為俯視旋轉(zhuǎn)方向、角度和半徑信息。 用戶首先要根據(jù)實(shí)際賽道的工程圖紙,在不同的賽道段連接點(diǎn)建立起平面直角坐標(biāo)系下的坐標(biāo),然后可以根據(jù)圖紙,從起點(diǎn)開(kāi)始依次輸入各個(gè)賽道段信息,直到終點(diǎn)。這樣就可以在仿真環(huán)境里建立起一個(gè)虛擬賽道。 能模塊介紹 賽道設(shè)計(jì)功能模塊,利用了 LabVIEW 可視化的優(yōu)勢(shì),為用戶提供了 友好的交互方式,賽道設(shè)計(jì)方便,賽道設(shè)計(jì)界面包括 :起始設(shè)置、操作和賽道顯示三個(gè)部分: 起始設(shè)置為設(shè)置生成賽道的分辨率,以及賽道的起始坐標(biāo)點(diǎn); 操作部分的功能有賽道的生成方式、直線、弧線、撤銷、保存賽 道和停止; 賽道的生成方式有兩種,分別為創(chuàng)建賽道和調(diào)入賽道,選擇調(diào)入 賽道是從磁盤文件中調(diào)入已經(jīng)保存好的賽道文件,用來(lái)查看已有的賽道。選擇創(chuàng)建賽道就要求用戶自行定制新的賽道 [10]。 運(yùn)行及仿真效果 軟件創(chuàng)建賽道的流程,首先提取初始設(shè)置值,根據(jù)輸入的賽道段命令及賽道段信息,進(jìn)入各自的量化處理程序,賽道量化后數(shù)據(jù) 暫時(shí)保存在臨時(shí)的數(shù)組中,并且在賽道界面顯示面板中顯示,或者撤銷創(chuàng)建,取消臨時(shí)數(shù)組中的數(shù)據(jù)前一次量化得到的所有數(shù)據(jù),或者繼續(xù)選擇相應(yīng)的賽道段輸入命令,繼續(xù)輸入,直到賽道輸入結(jié)束 [11]。創(chuàng)建賽道的流程圖如圖 所示。 圖 創(chuàng)建賽道流程 建立智能車功能模塊 智能車體也是整個(gè)仿真的基本要素之一。該模塊是對(duì)智能車的基本參數(shù)進(jìn)行設(shè)置,在軟件環(huán)境中建立起智能車的外觀模型,這些參數(shù)包括車的長(zhǎng)度,車的寬度,輪距,軸距,轉(zhuǎn)向參數(shù),對(duì)于給定的智能車,這些基本參數(shù)是相同且不可改變的,為了使軟件更通用,軟件也對(duì)這些基本 參數(shù)進(jìn)行了可寫操作,為了在更換了智能車的情況下也可以用它來(lái)仿真。 仿真功能模塊 仿真界面是軟件的核心部分,它是模擬智能車的真實(shí)賽道運(yùn)行的環(huán)境,包括控制臺(tái)和顯示屏兩部分。首先,賽道文件調(diào)入程序?qū)惖罃?shù)據(jù)文件的讀取,加載賽道數(shù)據(jù)到仿真環(huán)境,成為智能車仿真運(yùn)行的基礎(chǔ),然后調(diào)入智能車文件程序,程序會(huì)根據(jù)賽道的起始點(diǎn)自動(dòng)調(diào)整智能車,使其以最佳的姿態(tài)停在賽道上 [12]。 仿真程序是仿真軟件的核心,它主要為模擬傳感器檢測(cè)賽道功節(jié)點(diǎn)、控制算法功能節(jié)點(diǎn)、智能車運(yùn)動(dòng)模型模擬節(jié)點(diǎn)和智能車的顯示功能節(jié)點(diǎn)。仿真程序的設(shè)計(jì)步驟如 圖 所示。 圖 仿真程序設(shè)計(jì)步驟 仿真程序塊的運(yùn)行流程圖如圖,程序在賽道和智能車都調(diào)入仿真環(huán)境中后,主要在賽道檢測(cè),得到賽道信息,通過(guò)賽道信息和智能車當(dāng)前的狀態(tài)控制智能車的運(yùn)行,根據(jù)運(yùn)動(dòng)模型的到下一個(gè)仿真周期智能車位置,輸出顯示智能車幾個(gè)環(huán)節(jié)中循環(huán),直到完成比賽。 數(shù)據(jù)分析功能模塊 利用軟件對(duì)智能車進(jìn)行仿真,可以把仿真中記載智能車運(yùn)行過(guò)程的主要數(shù)據(jù)記錄出來(lái),這是軟件比實(shí)際運(yùn)行調(diào)試的另一個(gè)好處,在實(shí)際運(yùn)行過(guò)程中,我們只能通過(guò)觀測(cè)智能車是否能夠完成比賽任務(wù)和完成比賽時(shí)間的長(zhǎng)短來(lái)定性的判斷控制算法的 好壞,不能精確的分析智能車的設(shè)計(jì)方案中出現(xiàn)的問(wèn)題,如控制參數(shù)設(shè)置不當(dāng)?shù)膯?wèn)題。 此模塊是用來(lái)完成對(duì)仿真數(shù)據(jù)的后期處理,在實(shí)際的仿真運(yùn)行過(guò)程中,雖然可以看見(jiàn)智能車的仿真運(yùn)行狀態(tài),但是,由于智能車的運(yùn)行速度很快,這些狀態(tài)在以相當(dāng)高的頻率變化,特別是速度表所指示的速度,和實(shí)際測(cè)試一樣,也不能的對(duì)運(yùn)行過(guò)程進(jìn)行分析,但是,在仿真的結(jié)束,可以把仿真數(shù)據(jù)存放在文件中,這里就是對(duì)仿真數(shù)據(jù)的處理程序 [13]。 智能車仿真系統(tǒng)的開(kāi)發(fā)主要分為前面板設(shè)計(jì)和程序框圖設(shè)計(jì)。前面板設(shè)計(jì)是視覺(jué)上最為直接的設(shè)計(jì),主要 是利用 LabVIEW 添加一些系統(tǒng)所需的功能按鈕,并需要我們盡可能的簡(jiǎn)單實(shí)用。前面板上添加的按鈕在程序框圖中都有圖標(biāo)顯示,程序框圖設(shè)計(jì)則是為前面板上添加的按鈕賦予其應(yīng)有的功能,并且將各個(gè)按鈕的功能聯(lián)系起來(lái),使其能夠完成我們所需要的功能。本文主要運(yùn)用 LabVIEW G 語(yǔ)言完成控制程序的編寫 [14]。 完成該系統(tǒng)的開(kāi)發(fā),首先要對(duì)系統(tǒng)的功能進(jìn)行總體分析,羅列出該系統(tǒng)應(yīng)該具備的功能,然后進(jìn)行前面板設(shè)計(jì),進(jìn)而完成程序框圖設(shè)計(jì),最后經(jīng)過(guò)反復(fù)的調(diào)試和不斷的完善,來(lái)最終實(shí)現(xiàn)該系統(tǒng)。 流程圖介紹 在智能車仿真 系統(tǒng)的軟件設(shè)計(jì)中,仿真的大體流程是:先完成初始化設(shè)置,然后設(shè)置賽道信息,即黑線數(shù)據(jù),加載賽車信息并發(fā)送命令,最終在黑線圖像上顯示結(jié)果 [15]。 初始化 初始化主要包括串口選擇,波特率設(shè)置,數(shù)據(jù)比特設(shè)置,奇偶位設(shè)置和停止位設(shè)置。 2)設(shè)置賽道信息 賽道信息在系統(tǒng)顯示為黑線數(shù)據(jù),這個(gè)需要根據(jù)自身需要進(jìn)行設(shè)定。主要包括寬度,高度,放大倍數(shù),黑線的掩碼和色碼。修改黑線的色碼后黑線將不再是黑色,而是自己設(shè)定的顏色。 3)加載賽車信息 系統(tǒng)已經(jīng)設(shè)定好加載功能,我們可以在數(shù)據(jù)加載選項(xiàng)中選擇自己的賽車信息并加載到系統(tǒng)中。 發(fā)送命令 這是進(jìn)入仿真的命令,設(shè)定好之后即可按照已經(jīng)設(shè)定好的命令進(jìn)行仿真,并能夠在黑線圖像上顯示出仿真結(jié)果。系統(tǒng)仿真流程圖如圖 所示。 圖 仿真流程圖 程序代碼及注釋 程序 初始化設(shè)置主要包括開(kāi)關(guān)串口,串口的選擇,波特率的設(shè)定,數(shù)據(jù)比特的設(shè)定,奇偶位選擇,停止位的選擇。其前面板如圖 所示。 圖 初始化設(shè)置前面板 其中: 1)串口選擇是 VISA 資源的名稱指定要打開(kāi)的資源,該控件也指定了會(huì)話句柄和類。 波特率是指數(shù)據(jù)信號(hào)對(duì)載波的調(diào)制速率,它用單位時(shí)間內(nèi)載波調(diào) 制狀態(tài)改變的次數(shù)來(lái)表示,其單 位是波特( Baud)。波特率與比特率的關(guān)系是比特率 波特率 *單個(gè)調(diào)制狀態(tài)對(duì)應(yīng)的二進(jìn)制位數(shù)。 數(shù)據(jù)比特是輸入數(shù)據(jù)的位數(shù)。 奇偶校驗(yàn)位是一種校驗(yàn)代碼傳輸正確性的方法。根據(jù)被傳輸?shù)囊? 組二進(jìn)制代碼的數(shù)位中“ 1”的個(gè)數(shù)是奇數(shù)或偶數(shù)來(lái)進(jìn)行校驗(yàn)。通常專門設(shè)置一個(gè)奇偶校驗(yàn)位,用它使這組代碼中“ 1”的個(gè)數(shù)為奇數(shù)或偶數(shù)。若用奇校驗(yàn),則當(dāng)接收端收到這組代碼時(shí),校驗(yàn)“ 1”的個(gè)數(shù)是否為奇數(shù),從而確定傳輸代碼的正確性。 停止位是指定用于表示幀結(jié)束的停止位的數(shù)量。 初始化設(shè)置的程序框圖如圖 所示。 圖 初始化設(shè)置程序框圖 其中: 啟用終止符使串行設(shè)備做好識(shí)別終止符的準(zhǔn)備。如值為 TRUE(默認(rèn)),VI_ATTR_ASRL_END_IN 屬性將被設(shè)置為識(shí)別終止符。如值為 FALSE ,VI_ATTR_ASRL_END_IN 屬性將被設(shè)置為 0(無(wú))且串行設(shè)備不識(shí)別終止符。 終止符通過(guò)調(diào)用終止讀取操作。從串行設(shè)備讀取終止符后讀取操作將終止。 0xA 是換行符 \n 的十六進(jìn)制表示。消息字符串的終止符由回車 \r 改為 0xD。 超時(shí)設(shè)置讀取和寫入操作的超時(shí)值,以毫秒為單位。默認(rèn)值為 10000。 VISA 資源名稱指定要打開(kāi)的資源。該控件也可指定 會(huì)話句柄和類。 波特率是傳輸速率,默認(rèn)值為 9600。 數(shù)據(jù)比特是輸入數(shù)據(jù)的位數(shù)。 數(shù)據(jù)比特的值介于 5 和 8 之間,默認(rèn)值為 8。 奇偶指定要傳輸或接收的每一幀所使用的奇偶校驗(yàn)。 黑線數(shù)據(jù)及黑線圖像顯示 黑線數(shù)據(jù)即賽道信息,因?yàn)橘惖涝趯?shí)際中就是一條黑線,所以在此用黑線表示。在前面板中可以設(shè)定賽道的高度,寬度及圖像放大倍數(shù),色碼和掩碼。其前面板如圖 所示。 圖 黑線數(shù)據(jù)及黑線圖像顯示的前面板 其中: 掩碼是字節(jié)數(shù)組,其中的每一位都描述了一個(gè)像素的掩碼信息, 第一個(gè)字節(jié)描述餓了前八個(gè)像素,第二個(gè)字節(jié)描述了 后八個(gè)像素,依次類推。 色碼表是與數(shù)據(jù)數(shù)組映射的兩種顏色。 黑線數(shù)據(jù)及黑線圖像顯示程序框圖如圖 所示。 圖 黑線數(shù)據(jù)及黑線圖像顯示程序框圖 其中: 截取字符串 字符串是輸入字符串。 偏移量是起始位置并且必須為數(shù)值。 字符串中第一個(gè)字符的偏移量為 0。如沒(méi)有連線或小于 0,則默認(rèn)值為 0。長(zhǎng)度必須為數(shù)值。如長(zhǎng)度沒(méi)有連線,則默認(rèn)值為字符串長(zhǎng)度減去偏移量。 子字符串如偏移量大于字符串的長(zhǎng)度,或長(zhǎng)度小于等于 0,則值為空。如長(zhǎng)度大于或等于字符串長(zhǎng)度減去偏移量,則子字符串是從偏移量開(kāi)始的剩余部分。 重排數(shù)組維數(shù) n 維 數(shù)組可以是任何類型的 n 維數(shù)組。維數(shù)大小 0..m1 指定 m 維數(shù)組的維數(shù),必須為數(shù)字。如維數(shù)大小為 0,函數(shù)將創(chuàng)建空字符串。 m 維數(shù)組的數(shù)組大小接線端必須為 m。 m 維數(shù)組如維數(shù)大小的乘積大于輸入數(shù)組元素的數(shù)量,函數(shù)將用 n 維數(shù)組的默認(rèn)數(shù)據(jù)類型填充新數(shù)組。如維數(shù)的乘積小于輸入數(shù)組元素的數(shù)量,函數(shù)將對(duì)數(shù)組進(jìn)行剪切。 捆綁 簇是要改變值的簇。如該輸入端沒(méi)有連線,函數(shù)將返回簇。連線簇接線端時(shí),“捆綁”。函數(shù)將用元素 0..n1 替換簇。輸入接線端的數(shù)量必須匹配輸入簇中元素的數(shù)量。元素 0..n1 可接收任意類型的數(shù)據(jù)。 輸出簇是作 為結(jié)果的簇。 平化像素圖 左上角指定圖像左上角在坐標(biāo)系中的位置。 x 是右側(cè)增加的水平坐標(biāo)。 y
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1