版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 緒論</b></p><p> 當今社會,科學技術日新月異,時代前進的步伐越邁越寬,應用自動化設備,計算機處理,現代化通訊,數字化信息,現代化顯示設備等高新技術而建立的現代化智能,監(jiān)控等系統(tǒng)已經得到充分的發(fā)展與應用,智能機器人也就應運而生。同時,在建設以人為本的和諧社會的過程中,智能服務機器人能夠完成多種危險作業(yè),以保證人身安全。因此,重點研究低成本的自組織網
2、絡,個性化的智能機器人成為主要方向。</p><p> 此外隨著汽車工業(yè)的迅速發(fā)展,關于汽車的研究也就越來越受人關注。全國電子大賽和省內電子大賽幾乎每次都有智能小車這方面的題目,全國各高校也都很重視該題目的研究??梢娖溲芯恳饬x也很適應了當今智能機器人研究方向。本設計就是在這樣的背景下提出的,指導教師已經有充分的準備。本題目是結合科研項目而確定的設計類課題。設計的智能電動小車應該能夠實時顯示時間、速度,具有語音識
3、別、避障功能,可程控行駛速度。</p><p> 根據題目的要求,確定如下方案:在現有玩具電動車的基礎上,加裝光電、紅外線,實現對電動車的速度、位置、運行狀況的實時測量,并將測量數據傳送至單片機進行處理,然后由單片機根據所檢測的各種數據實現對電動車的智能控制。</p><p> 這種方案能實現對電動車的運動狀態(tài)進行實時控制,控制靈活、可靠、精度高,可滿足對系統(tǒng)的各項要求。本設計采用凌陽
4、系列中的SPCE061A單片機為控制核心,利用紅外線傳感器檢測道路上的障礙,控制電動小汽車的自動避障,快慢速行駛,以及自動停車,并可以自動記錄時間和速度,語音識別功能。SPCE061A是一款16位單片機,它的易用性和多功能性受到了廣大使用者的好評。它是第三代單片機的代表。</p><p> 新一代的單片機的最主要的技術特點是向外部接口電路擴展,以實現Microcomputer完善的控制功能為己任,將一些外部接口
5、功能單元如A/D﹑PWM﹑PCA(可編程計數器陣列)﹑WDT(監(jiān)視定時器)﹑高速I/O口﹑計數器的捕獲/比較邏輯等。這一代單片機中,在總線方面最重要的進展是為單片機配置了芯片間的串行總線,為單片機應用系統(tǒng)設計提供了更加靈活的方式。凌陽公司還為這一代單片機SPCE061A系列單片機引入了具有較強功能語音識別。新一代單片機為外部提供了相當完善的總線結構,為系統(tǒng)的擴展與配置打下了良好的基礎。 </p><p> 本設
6、計就采用了比較先進的SPCE061A為控制核心,SPCE061A采用CHOMS工藝,功耗很低。該設計具有實際意義,可以應用于考古、機器人、醫(yī)療器械等許多方面。尤其是在足球機器人研究方面具有很好的發(fā)展前景。所以本設計與實際相結合,現實意義很強。</p><p><b> 硬件電路設計</b></p><p><b> 硬件框圖</b></
7、p><p> 避障語音控制小車系統(tǒng)構成框圖如圖2-1所示。主要由61板、電機驅動板、車體(含前后輪電機)和顯示板等部分構成。</p><p> 圖2-1 控制系統(tǒng)構成框圖</p><p> 硬件連接如圖2-2所示。</p><p> 圖2-2 硬件連接圖</p><p><b> 硬件原理圖</
8、b></p><p> 硬件電路包括外部電機驅動電路如圖2-3所示,外擴顯示板如圖2-4和2-5所示。</p><p> 圖2-3 電機驅動電路圖</p><p> 電機前后輪驅動模塊驅動采用分立元件組成的H橋控電路,內部定時器產生的PWM波經IOB9輸入H橋電路驅動電機前進,同時IOB8為低電平;反之,車輛倒車;IOB10輸入H橋高電平,IOB11為
9、低電平時車左轉,反之,車輛右轉。(注意H橋兩臂不能同時出現高電平信號。)</p><p> 為了便于單片機的引腳有效利用,所以對此電路PCB的設計還擴了多個引腳插槽,彼此都為并聯(lián),這樣設計主要兩方面的好處,其一是使單片機的引腳利用率,其二是便于各模塊的連接,即插即用,便于固定,并且穩(wěn)定性高。</p><p> 在設計中還把電源引腳也集成到插槽內,這樣外擴模塊供電方式也解決了,這也為本硬
10、件設計的一大特色。</p><p> 圖2-4 外擴顯示板電路圖</p><p> 圖2-5 顯示測速板絲網圖</p><p> 此模塊中用四段八段數碼管作為顯示器,并具有雙重功能,在小車行駛時能顯示倒計時,又能通過按鍵的切換來顯示小車的當前速度,此外在四位數碼管的兩側分別有四個LED燈用以顯示小車的運行狀態(tài)。在顯示板的右側為測速裝置,它由一組紅外對管以及兩個
11、三極管配合而成的比較器組成,當檢測到白線后,就會產生高電平,進行中斷觸發(fā)。而在車輪上貼有白色膠帶,所以要想檢測車速,只要判斷單位時間內產生的中斷數即可。</p><p><b> 硬件資源利用</b></p><p><b> 微控制器電路</b></p><p> 控制器采用凌陽科技公司的SPCE061A,其硬件資
12、源分配見表2-3所示。</p><p> 表2-3 硬件資源分配表</p><p><b> 電源板電路模塊分析</b></p><p> 4節(jié)AA的電池給61板提供6V的輸入電壓,經61板上電源穩(wěn)壓塊SPY0029的作用下產生3.3V的電壓供給SPCE061A。外部顯示模塊由61板提供電源,電機驅動由電池直接供電。</p>
13、<p> 圖2-4所示電源電路圖中的VDDH3為SPCE061A的I/O電平參考,接SPCE061A的51腳,這種接法使得I/O輸入輸出高電平為3.3V,VDDP為PLL鎖相環(huán)電源,接SPCE061A的7腳,VDD和VDDA為數字電源,分別接SPCE061A的15腳和36腳,AVSS1是模擬地,接SPCE061A的24腳;VSS是數字地,接SPCE061A的38腳;AVSS2接音頻輸出電路的AVSS2。</p>
14、<p> 圖2-4 電源電路圖</p><p><b> 鍵盤輸入電路</b></p><p> 鍵盤輸入電路如圖2-5鍵盤輸入電路所示,當有鍵按下時,對應的I/O口被拉到高電平,CPU響應按鍵信號,進行相應的信號處理。</p><p> 圖2-5 鍵盤輸入電路</p><p><b>
15、 麥克風輸入電路</b></p><p> 麥克采來的語音信號經AGC(自動增益控制放大)后進入MIC-IN通道進行A/D轉換。音頻錄入部分:主要由Microphone、AGC電路、ADC電路構成。 </p><p> 圖2-6是音頻錄入電路。因為SPCE061A內置了AGC電路和ADC電路,所以實現音頻錄入的外圍電路變得如此簡單。這部分電路與SPCE061A的連接是這樣的
16、:AGC 接音頻錄入AGC引腳(25腳),OPI接Microphone的第二運放輸入腳(26腳),MICOUT接Microphone的第一運放輸出腳(27腳),MICN接Microphone的負向輸入腳(28腳),MICP接Microphone正向輸入腳(33腳),VCM接ADC參考電壓輸出腳(34腳),VMIC接Microphone電源(37腳)。</p><p> 語音信號經Microphone轉換成電信號
17、,由隔直電容隔掉直流成分,然后輸入至SPCE061A內部前置放大器。SPCE061A內部自動增益控制電路AGC能隨時跟蹤、監(jiān)視前置放大器輸出的音頻信號電平,當輸入信號增大時,AGC電路自動減小放大器的增益;當輸入信號減小時,AGC電路自動增大放大器的增益,以便使進入A/D的信號保持在最佳電平,又可使削波減至最小。</p><p> 圖2-6 麥克輸入電路</p><p><b>
18、; CPU語音輸出電路</b></p><p> SPCE061A內置2路10位精度的DAC,只需要外接功放電路即可完成語音的播放。</p><p> 圖2-7是音頻輸出電路圖??梢越佣鷻C,也可以直接聽喇叭輸出的聲音。</p><p> 圖2-7 CPU語音輸出電路</p><p><b> 指示電路</
19、b></p><p> 指示燈實際排列如圖2-8所示;</p><p> 當車準備就緒的時候,車顯示板的1號,5號,3號,7號四個燈亮起。</p><p> 當遇到障礙物和顯示速度的時候,車的八個燈全部點亮。</p><p> 當車進入設置模式后,加數時1號,5號燈亮,減數的時2號,6號燈亮;</p><p&
20、gt; 圖2-8 指示燈排列圖</p><p><b> 避障電路</b></p><p> 如圖2-9所示,避障光電接收管采集的電流信號經三極管放大,在集電極將電流信號變成電壓信號。當檢測到障礙物后TX就會發(fā)生電平變化,產生外部中斷。</p><p> 圖2-9 指示燈硬件電路原理圖</p><p><b
21、> 本章小結</b></p><p> 此章主要為小車的硬件結構,在設計中本著穩(wěn)定性強,結構緊湊,便于擴展的原則,進行的電路原理圖的設計以及PCB圖的排版。在安全性上也進行了改進,比如在電機控制部分中為了防止短路,在設計中進行了優(yōu)化。</p><p> 凌陽音頻函數在系統(tǒng)中的應用</p><p> 本系統(tǒng)中凌陽音頻的使用</p>
22、<p> 語音處理大致可以分為A/D轉換、編碼處理、語音存儲、語音解碼處理以及D/A轉換幾大模塊;</p><p> SPCE061A針對以上的各大要素進行的解決方案為:</p><p> 將A/D、編碼算法、解碼算法、存儲及D/A作成相應的模塊,對于每個模塊都有其應用程序接口API,用戶只需了解每個模塊所要實現的功能及其參數的內容,然后調用該API函數即可實現語音處理
23、功能。</p><p><b> 語音資源格式的選取</b></p><p> 表3-1所列出的是凌陽音頻的幾種算法:</p><p> 表3-1 SACM-lib庫中模塊及其算法類型</p><p> 麥克風輸入所生成的WAVE文件,其占用的存儲空間很大,對于單片機來說想要存儲大量的信息顯然是不可能的,而凌陽的
24、SPCE061A提出了解決的方法,即SACM-LIB,該庫將A/D、編碼、解碼、存儲及D/A作成相應的模塊,對于每個模塊都有其應用程序接口API,只需了解每個模塊所要實現的功能及其參數的內容,然后調用該API函數即可實現該功能,例如在程序中插入語音提示,或連續(xù)播放一段語音或音樂,也可以根據自己需要的空間或使用范圍選擇適合自己的算法如表3-2所示</p><p> 表3-2 單片機對語音處理過程</p>
25、;<p> SACM-S480壓縮算法壓縮比較大,為80:3,存儲容量大,音質介于A2000和S240之間,適用于語音播放。本系統(tǒng)采用S480格式語音資源。</p><p> S480語音資源的制作</p><p> 系統(tǒng)所用語音素材采用錄音軟件錄制成WAV語音文件,其文件格式要求為單聲道、16位、8K采樣率。然后通過凌陽提供的語音壓縮工具轉換為S480格式文件。<
26、;/p><p><b> 凌陽語音辨識 </b></p><p> 對于語音辨識主要有以下兩種: </p><p> (1) 特定發(fā)音人識別SD(Speaker Dependent):是指語音樣板由單個人訓練,也只能識別訓練人的語音命令,而他人的命令識別率較低或幾乎不能識別。在本產品中采用特定人的語音識別。 </p><p
27、> (2) 非特定發(fā)音人識別SI(Speaker Independent):是指語音樣板由不同年齡、不同性別、不同口音的人進行訓練,可以識別一群人的命令。</p><p> 本系統(tǒng)采用特定發(fā)音人識別。語音辨識庫已被集成在凌陽的單片機開發(fā)環(huán)境unSP IDE 2.0.0軟件安裝包內,安裝該軟件后,可在其子目錄下查找到。</p><p><b> 語音識別基本流程:<
28、;/b></p><p> (1) 語音信號數字化。</p><p> (2) 特征提?。撼槿》磻Z音本質的特征參數,形成特征矢量序列。</p><p> (3) 語音模型庫:從一個或多個講話者多次重復講話中提取的語音參數模板。</p><p> (4) 模式匹配:把輸入語音的特征參數與語音模型庫進行比較分析,得到識別結果。&l
29、t;/p><p> S480語音的應用程序接口API的功能介紹及應用 </p><p> 以下就SACM-S480算法具體介紹其API函數的格式、功能、參數、返回值、備注。 </p><p> 其相關API函數如下所示: </p><p> int SACM_S480_Initial(int Init_Index) </p>
30、<p> void SACM_S480_ServiceLoop(void) </p><p> void SACM_S480_Play(int Speech_Index, int Channel, int Ramp_Set) </p><p> void SACM_S480_Stop(void) </p><p> void SACM_S480_
31、Pause(void) </p><p> void SACM_S480_Resume(void) </p><p> void SACM_S480_Volume(Volume_Index) </p><p> unsigned int SACM_S480_Status(void) </p><p> Call F_FIQ_Servi
32、ce_SACM_S480 </p><p> 各函數具體內容如下: </p><p> (1)【API格式】C:int SACM_S480_Initial(int Init_Index) </p><p> ASM:R1=[Init_Index] </p><p> Call F_SACM_S480_Initial </p>
33、;<p> 【功能說明】SACM_S480語音播放之前的初始化。 </p><p> 【參數】Init_Index=0 表示手動方式;Init_Index=1 則表示自動方式。 </p><p> 【返回值】0:代表語音模塊初始化失敗 </p><p> 1:代表初始化成功。 </p><p> 【備注】該函數用于對定
34、時器、中斷和DAC等的初始化。 </p><p> (2)【API格式】C:void SACM_S480_ServiceLoop(void) </p><p> ASM:Call F_SACM_S480_ServiceLoop</p><p> 【功能說明】從資源中獲取SACM_S480語音資料,并將其填入解碼隊列中。</p><p>
35、<b> 【參數】無。</b></p><p><b> 【返回值】無。</b></p><p> 【備注】播放語音文件中數據,當出現FF FF FFH數據時便停止播放。 </p><p> (3)【API格式】C:int SACM_S480_Play(int Speech_Index, int Channel,
36、int Ramp_Set);</p><p> ASM:R1=[Speech_Index] </p><p> R2=[Channel] </p><p> R3=[Ramp_Set] </p><p> Call SACM_S480_Play</p><p> 【功能說明】播放資源中SACM_S480語音。
37、</p><p> 【參數】Speech_Index 表示語音索引號。 </p><p> Channel:1.通過DAC1通道播放; </p><p> 2.通過DAC2通道播放; </p><p> 3.通過DAC1和DAC2雙通道播放。 </p><p> Ramp_Set:0.禁止音量增/減調節(jié); &
38、lt;/p><p> 1.僅允許音量增調節(jié); </p><p> 2.僅允許音量減調節(jié); </p><p> 3.允許音量增/減調節(jié)。</p><p><b> 【返回值】無。 </b></p><p><b> 【備注】 </b></p><p&g
39、t; ?、賁ACM_S480的數據率有4.8Kbps\7.2Kbps三種,可在同一模塊的幾種算法中自動選擇一種。 </p><p> ?、赟peech_Index是定義在resource.inc文件中資源表(T_SACM_S480_Speech Table)的偏移地址。</p><p> ?、壑袛喾兆映绦蛑蠪_FIQ_Service_SACM_S480必須放在TMA_FIQ中斷向量上(參
40、見SPCE的中斷系統(tǒng))。 </p><p> ④函數允許TimerA以所選的的數據采樣率(計數溢出)中斷。 </p><p> (4)【API格式】C:void SACM_S480_Stop(void); </p><p> ASM:Call F_ SACM_S480_Stop </p><p> 【功能說明】停止播放SACM_S48
41、0語音。</p><p><b> 【參數】無。 </b></p><p><b> 【返回值】無。 </b></p><p> (5)【API格式】C:void SACM_S480_Pause (void); </p><p> ASM:Call F_ SACM_S480_Pause &l
42、t;/p><p> 【功能說明】暫停播放SACM_S480語音。 </p><p><b> 【參數】無。 </b></p><p><b> 【返回值】無。 </b></p><p> (6)【API格式】C:void SACM_S480_Resume(void);</p>&l
43、t;p> ASM:Call F_ SACM_S480_Resume</p><p> 【功能說明】恢復暫停播放的SACM_S480語音。 </p><p><b> 【參數】無。 </b></p><p><b> 【返回值】無。 </b></p><p> (7)【API格式】C:
44、void SACM_S480_Volume(Volume_Index); </p><p> ASM:R1=[ Volume_Index] </p><p> Call F_Model-Index_Volume</p><p> 【功能說明】在播放SACM_S480語音時改變主音量。 </p><p> 【參數】Volume_Inde
45、x為音量數,音量從最小到最大可在0~15之間選擇。 【返回值】無。 </p><p> (8)【API格式】C:unsigned int SACM_S480_Status(void);</p><p> ASM:Call F_SACM_S480_Status</p><p><b> 【返回值】=R1。</b></p>&l
46、t;p> 【功能說明】獲取SACM_S480語音播放的狀態(tài)。 </p><p><b> 【參數】無。</b></p><p> 【返回值】當R1的值bit0=0,表示語音播放結束;bit0=1,表示語音在播放中。 </p><p> (9)【API格式】ASM:Call F_FIQ_Service_SACM_S480 </
47、p><p> 【功能說明】用作SACM_S480語音背景程序的中斷服務子程序。通過前臺子程序(自動方式的SACM_S480_ServiceLoop及手動方式的SACM_S480_Dec ode)對語音資料進行解碼,然后將其送入DAC通道播放。</p><p><b> 【參數】無</b></p><p><b> 【返回值】無。&l
48、t;/b></p><p> 【備注】SACM_S480語音背景子程序只有匯編指令形式,且應將此子程序安置在TMA_FIQ中斷源上。 </p><p> 語音辨識應用程序接口API的功能介紹及應用</p><p> 在本系統(tǒng)中,借助語音辨識函數庫開發(fā)訓練語音和語音識別功能,以達到語音控制小車的目的。</p><p> 圖3-3是
49、語音辨識的一個整體框圖:</p><p> 圖3-3 語音辨識原理框圖</p><p> 常用的API函數介紹:</p><p> 【API格式】C:int BSR_DeleteSDGroup(0);</p><p> ASM:F_BSR_DeleteSDGroup(0)</p><p> 【功能說明】SRA
50、M初始化。</p><p> 【參數】該參數是辨識的一個標識符,0代表選擇SRAM,并初始化。</p><p> 【返回值】當SRAM擦除成功返回0,否則,返回-1。 </p><p><b> 訓練部分:</b></p><p> 【API格式】C:int BSR_Train (int CommandID, i
51、nt TraindMode); </p><p> ASM:F_BSR_Train</p><p> 【功能說明】訓練函數。</p><p><b> 【參數】 </b></p><p> CommandID:命令序號,范圍從0x100到0x105,并且對于每組訓練語</p><p>&l
52、t;b> 都是唯一的。 </b></p><p> TraindMode:訓練次數,要求使用者在應用之前訓練一或兩遍: </p><p> BSR_TRAIN_ONCE:要求訓練一次。 </p><p> BSR_TRAIN_TWICE要求訓練兩次。 </p><p> 【返回值】訓練成功,返回0;沒有聲音返回-1
53、;訓練需要更多的語音數</p><p> 據來訓練,返回-2;當環(huán)境太吵時,返回-3;當數據庫滿,返回-4;當兩次輸入命令不通,返回-5;當序號超出范圍,返回-6。</p><p><b> 【備注】 </b></p><p> 在調用訓練程序之前,確保識別器正確的初始化。</p><p> 訓練次數是2時,則兩
54、次一定會有差異,所以一定要保證兩次訓練結果接近 </p><p> 為了增強可靠性,最好訓練兩次,否則辨識的命令就會傾向于噪音 </p><p> 調用函數后,等待2秒開始訓練,每條命令只有1.3秒,也就是說,當訓練命令超出1.3秒時,只有前1.3秒命令有效。 </p><p><b> 辨識部分: </b></p><
55、;p> (1)【API格式】C:void BSR_InitRecognizer(int AudioSource)</p><p> ASM:F_BSR_InitRecognizer </p><p> 【功能說明】辨識器初始化。 </p><p> 【參數】定義語音輸入來源。通過MIC語音輸入還是LINE_IN電壓模擬量輸入。 </p>
56、<p><b> 【返回值】無。 </b></p><p> (2)【API格式】C:int BSR_GetResult();</p><p> ASM:F_ BSR_GetResult </p><p><b> 【返回值】=R1 </b></p><p> 【功能說明】辨識中
57、獲取數據。 </p><p><b> 【參數】無。 </b></p><p><b> 【返回值】 </b></p><p> 當無命令識別出來時,返回0; </p><p> 識別器停止未初始化或識別未激活返回-1; </p><p> 當識別不合格時返回-2;
58、 </p><p> 當識別出來時返回命令的序號。 </p><p> 【備注】該函數用于啟動辨識,BSR_GetResult();</p><p> (3)【API格式】C:void BSR_StopRecognizer(void); </p><p> ASM:F_BSR_StopRecognizer </p>&l
59、t;p> 【功能說明】停止辨識。 </p><p><b> 【參數】無。 </b></p><p><b> 【返回值】無。 </b></p><p> 【備注】該函數是用于停止識別,當調用此函數,FIQ_TMA中斷將關閉。 </p><p><b> 中斷部分: <
60、;/b></p><p> (4)【API格式】ASM:_BSR_InitRecognizer </p><p> 【功能說明】在中斷中調用,并通過中斷將語音信號送DAC通道播放。 </p><p><b> 【參數】無。 </b></p><p><b> 【返回值】無。 </b>&
61、lt;/p><p><b> 【備注】 </b></p><p> ?、?該函數在中斷FIQ_TMA中調用 </p><p> ?、?當主程序調用BSR_InitRecognizer時,辨識器便打開8K采樣率的FIQ_TMA中斷并開始將采樣的語音數據填入辨識器的數據隊列中。 </p><p> ③ 應用程序需要設置一下程
62、序段在FIQ_TMA中.</p><p><b> 本章小結</b></p><p> 本章介紹了凌陽SPCE061A的核心—語音,在此主要以S480為例分別從這種格式的存儲、播放、識別中所用到的API函數做了詳細的介紹。這些函數都為凌陽公司所提供的底層函數,所以應用時要注意函數的返回值以及函數的形參,這樣也會節(jié)省大量的時間進行上層開發(fā)。</p>&
63、lt;p> 凌陽公司提供的這些API函數分別從C語言和匯編語言兩種形式提供給用戶,便于各方面用戶的調用。</p><p><b> 軟件設計</b></p><p><b> 系統(tǒng)軟件設計說明</b></p><p> 在進行微機控制系統(tǒng)設計時,除了系統(tǒng)硬件設計外,大量的工作就是如何根據每個生產對象的實際需要
64、設計應用程序。因此,軟件設計在微機控制系統(tǒng)設計中占重要地位。對于本系統(tǒng),軟件更為重要。</p><p> 在單片機控制系統(tǒng)中,大體上可分為數據處理、過程控制兩個基本類型。數據處理包括:數據的采集、數字濾波、標度變換等。過程控制程序主要是使單片機按一定的方法進行計算,然后再輸出,以便控制生產。</p><p> 為了完成上述任務,在進行軟件設計時,通常把整個過程分成若干個部分,每一部分叫
65、做一個模塊。所謂“模塊”,實質上就是所完成一定功能,相對獨立的程序段,這種程序設計方法叫模塊程序設計法。</p><p> 模塊程序設計法的主要優(yōu)點是:</p><p> 1.單個模塊比起一個完整的程序易編寫及調試;</p><p> 2.模塊可以共存,一個模塊可以被多個任務在不同條件下調用;</p><p> 3.模塊程序允許設計者
66、分割任務和利用已有程序,為設計者提供方便。</p><p> 本系統(tǒng)軟件采用模塊化結構,由主程序﹑定時子程序、避障子程序﹑中斷子程序顯示子程序﹑調速子程序﹑算法子程序構成。</p><p><b> 模塊分析</b></p><p> 整個軟件系統(tǒng)分主程序模塊、系統(tǒng)初始化模塊、語音功能模塊、顯示功能模塊、避障功能模塊、運行時間控制模塊、鍵
67、盤功能模塊。</p><p><b> 主程序</b></p><p><b> 主程序流程圖</b></p><p> 主程序是整個工程的核心。本項目的軟件設計大量采用子函數結構,主程序通過調用各種子函數來實現系統(tǒng)功能。在主程序里包含了函數的初始化,其中包含了IO口的初始化,中斷函數初始化,定時器初始化。還包含了訓
68、練函數,進行語音存儲,識別函數的打開,蔽障和鍵盤的查詢,以及速度的檢測。</p><p> 在主程序的開始的進行初始化之后,就會進入一個死循環(huán)中。用查詢的方式判斷鍵值的輸入,以及判斷中斷標志位的變化,進而進行相應的處理。</p><p> 主程序的流程圖如圖4-1所示。</p><p> 圖4-1 主程序流程圖</p><p><
69、b> 初始化系統(tǒng)子函數</b></p><p> 該函數承擔著開機后初始化系統(tǒng)的任務,包含初始化I/O端口工作模式、初始化變量與參數、初始化定時器TimerB及開放它的FIQ中斷。</p><p> 其中具體包含,初始化操作將IOB8~IOB11設置為輸出端,用以控制電機。必要時還要有對應的輸入端設置和PWM端口設置等,同時還初始化IOA的高八口為顯示信號輸出端口。
70、初始IOA0,IOA1,IOA2為按鍵輸入端口,IOB2為避障信號輸入端口,IOB0,IOB4~IOB7初始為輸出端口用以控制數碼管和LED的位選。</p><p> 圖4-2 初始化系統(tǒng)子函數流程圖</p><p><b> 語音功能的實現</b></p><p> 凌陽科技針對SPCE061A開發(fā)了自己的語音函數庫,該函數庫能夠實現語
71、音訓練、辨識、錄制、播放等特色功能。</p><p> 通過語音訓練建立若干語音指令的語音特征參數數組,SPCE061A在識別模式下通過對比采集到的特征參數與訓練建立的特征參數進行對比,根據對與不同訓練指令的匹配程度輸出返回參數,小車驅動電機子程序對該返回參數進行判斷,決定前進、后退、左轉、右轉,還是原地不動。</p><p> 系統(tǒng)中,語音功能涉及到語音播放和語音識別,其實現的軟件流
72、程如下分析。</p><p><b> 語音播放功能</b></p><p> 此模塊的實現通過用戶編寫的播放子函數及中斷服務程序完成。</p><p> 在本設計中采用的是S480格式語音資源,它是介于A2000和S240語音格式之間一種資源,據有所占硬件存儲資源少,音質清晰的特點。鑒于單片機內部資源有限的特點,故選此格式。</p
73、><p> (1)自動播放S480格式語音資源子函數</p><p> 傳入參數為語音資源的序號,軟件流程如圖4-3。</p><p> 圖4-3 S480語音播放流程</p><p> (2)FIQ中斷服務程序</p><p> 系統(tǒng)功能中,實現S480語音播放、語音訓練、語音識別這些功能需要使用中斷服務程序。
74、根據凌陽公司語音庫函數的要求,為提高語音播放質量及保證識別效率,語音相關的后臺中斷服務函數必須安排在TimerA的FIQ中斷服務中。</p><p> FIQ為凌陽61單片機的一個中斷類型,在61單片機中包含了三種中斷類型,分別為IRQ中斷、FIQ中斷、軟件中斷以及異常中斷,快速FIQ可以打斷普通中斷IRQ,形成中斷嵌套。</p><p> 為保證數碼管和LED顯示效果,將動態(tài)掃描數碼
75、管和LED的程序安排在TimerB的FIQ中斷服務中。</p><p> 該中斷服務程序采用匯編語言編寫,旨在提高代碼執(zhí)行效率。</p><p> FIQ中斷服務程序流程圖如圖4-4所示。</p><p> 圖4-4 FIQ中斷服務程序</p><p><b> 語音訓練與識別</b></p>&l
76、t;p> 語音識別主要分為“訓練”和“識別”兩個階段。在訓練階段,單片機對采集到的語音樣本進行分析處理,從中提取出語音特征信息,建立一個特征模型;在識別階段,單片機對采集到的語音樣本也進行類似的分析處理,提取出語音的特征信息,然后將這個特征信息模型與已有的特征模型進行對比,如果二者達到了一定的匹配度,則輸入的語音被識別。</p><p> 1.訓練單條語音指令子函數</p><p&g
77、t; 訓練單條語音為語音儲存的基礎,在本設計中主要儲存了和小車動作相應的語音,以及和在訓練時相應的語音。在訓練時能儲存的語音要素一共為五句,分別為為小車所起的名字,和控制小車的前后左右運動的四句話。在儲存每一條語音時需要訓練相同的兩遍,如果兩次輸入不同則會有相應的語音提示,再從新輸入。</p><p> 訓練單條語音指令子函數的軟件流程圖如圖4-5所示。</p><p> 圖4-5
78、單條語音訓練程序流程</p><p> 2.訓練多條語音指令的子函數</p><p> 訓練多條語音指令的子函數程序流程如圖4-6所示。</p><p> 圖4-6 多條語音訓練指令</p><p> 3.語音識別結果處理子函數</p><p> 語音識別結果處理子函數根據獲得的語音識別結果參數來執(zhí)行不同的程
79、序分支。小車的前進、后退、左轉、右轉動作的子函數只有在外界獲得相匹配的語音要素后各子函數才被調用。調用之后,只能運行2秒鐘,因為當打開運行函數的同時,也把4赫茲的時機中斷打開,定時2秒鐘。本系統(tǒng)只有在前進的時候用到了PWM輸出控制。</p><p> 具體軟件流程圖如圖4-7所示。</p><p> 圖4-7 語音識別流程</p><p> 在該流程圖中,考慮
80、到小車從靜止到運動需要較大的電機功率輸出,故在程序上提出了一個軟件處理技巧,即在響應“前進”語音指令后,不立即使用PWM驅動方式降低電機輸出功率,而是首先全功率驅動電機,在延時一段時間(預計小車狀態(tài)已轉換到運動狀態(tài))后,關閉全功率驅動,代替以有固定占空比的PWM波驅動。這樣可以有效降低小車穩(wěn)定運行時的行駛速度。</p><p> 每執(zhí)行一次小車動作,都會啟動IRQ5的2Hz中斷來倒計時,中斷計時到預先設定值后將
81、在中斷服務程序中停止小車并終止計時。</p><p><b> 顯示功能的實現</b></p><p><b> 更新顯示緩存子函數</b></p><p> 數碼管的掃描段碼與整數的位具有一一對應的關系。更新顯示緩存子函數中,程序提取傳入參數(整數)的個、十、百、千位并轉換為數碼管段碼(全局變量,作為顯示緩存的一部
82、分)。該功能實現的軟件流程圖如圖4-8所示。</p><p> 圖4-8 數碼管顯示流程</p><p><b> 動態(tài)掃描子函數</b></p><p> 數碼管顯示采用的方式為動態(tài)掃描。之前常用到方法為延時法,延時法的實質是做無用計算,通過浪費時間來實現時間消耗,此方法會占用大量的CPU資源,降低CPU使用率。采用中斷法實現顯示掃描,
83、將掃描放在時基中斷中,每隔一定時間啟動一次掃描,其它時間CPU可運行其它程序,此時CPU的使用率較高,這種掃描方式摒除了傳統(tǒng)動態(tài)掃描中用冗余指令獲得延時的方法,而是充分利用兩次中斷響應之間的停留時間作為視覺暫留時間。該方法能有效提高CPU運行效率。</p><p> 此外動態(tài)掃描法還要注意以下幾個方面:</p><p> 在切換位選前,需要清除段碼輸出,否則易造成顯示有殘影。</
84、p><p> 掃描頻率可以通過調節(jié)定時器初值完成。</p><p> 注意操作端口時不要影響沒有用到的I/O端口的狀態(tài)。</p><p> 動態(tài)掃描數碼管和LED的流程圖如圖4-9所示。</p><p> 圖4-9 掃描數碼管和LED的流程圖</p><p><b> 避障功能的實現</b>
85、</p><p> 在本設計中采用了中斷方式來進行蔽障,節(jié)約了MCU的利用率,提高了它的處理速度。</p><p> IRQ3中斷服務程序</p><p> 外部輸入信號EX1的IRQ3中斷服務程序是為避障傳感器遇障信號的響應設置的。因語音播放遇障信息需要調用播放子函數,其程序執(zhí)行時間相對較長,若直接設置在此中斷服務程序中,易造成中斷服務時間過長,影響系統(tǒng)其他
86、中斷的正常工作(特別是辨識功能將受很大影響)。故采取標志傳遞的方法,在中斷中改變“障礙物檢測標志”,主程序中的主循環(huán)程序通過查詢“障礙物檢測標志”來決定是否語音播放遇障信息。其流程圖如圖4-10所示。</p><p> 圖4-10 IRQ3中斷服務程序</p><p><b> 鍵盤功能的實現</b></p><p> 按鍵所要完成的功能
87、是通過SPCE061A單元板上的按鍵動作,來完成相應的預設的功能。而要實現按鍵的作用,在軟件上其基礎就要包含獲取鍵值和鍵值處理這兩個底層函數。</p><p><b> 獲取鍵值子函數</b></p><p> 當按鍵按下時,相應I/O端口被拉到高點平狀態(tài),單片機通過查詢I/O引腳的電平狀態(tài)來形成鍵值,鍵值反映了鍵盤按鍵的當前操作狀態(tài)。</p>&l
88、t;p> 調用獲取鍵值子函數將返回當前鍵盤鍵值。在主程序中對鍵值的選取是通過查詢的方式進行的,所以只有按鍵有返回值后才能實現按鍵的作用,在再取鍵值的子函數中應注意兩點,一是先讀取I/O口鍵值保存在寄存器中,判斷讀回值是否為零,為零則表示沒有鍵按下,返回零。非零則延時大約30ms后再次讀取I/O口鍵值,比較兩次讀取的鍵值是否相同,如果相同則返回鍵值,否則返回零。二是即使前兩次檢測按鍵值相同,但還有第三次判斷,所以當按下按鍵后必須要
89、松開,不能一直按著,如果這樣的話,也不能作為一次有效地按鍵。</p><p> 其軟件流程圖如圖4-11所示。</p><p> 圖4-11 獲取鍵值流程圖</p><p><b> 鍵值處理子函數</b></p><p> 鍵值處理子函數的傳入參數為某鍵值,其功能為根據不同鍵值執(zhí)行不同的功能。在本系統(tǒng)中,按鍵功
90、能設置為:</p><p> KEY1:設置模式進入/退出鍵</p><p> KEY2:運行時間加1操作鍵</p><p> KEY3:運行時間減1操作鍵</p><p> 如果KEY1沒有進入設置模式,直接按下KEY2鍵四位數碼管就會顯示小車的當前的車速,直接按下KEY3,就會從擦出上次的訓練語音,從新進入訓練狀態(tài)。</p&
91、gt;<p> 鍵值處理子函數的軟件流程圖如圖4-12所示。</p><p> 圖4-12 鍵值處理流程圖</p><p><b> 直流調速系統(tǒng)</b></p><p><b> 方案分析</b></p><p> 根據題目的要求,確定如下方案:在現有玩具電動車的基礎上,加
92、裝光電檢測器,實現對電動車的速度、位置、運行狀況的實時測量,并將測量數據傳送至單片機進行處理,然后由單片機根據所檢測的各種數據實現對電動車的智能控制。</p><p> 這種方案能實現對電動車的運動狀態(tài)進行實時控制,控制靈活、可靠,精度高,可滿足對系統(tǒng)的各項要求。</p><p> 方案一:串電阻調速系統(tǒng)。</p><p> 方案二:靜止可控整流器。簡稱V-M
93、系統(tǒng)。</p><p> 方案三:脈寬調速系統(tǒng)。</p><p> 旋轉變流系統(tǒng)由交流發(fā)電機拖動直流電動機實現變流,由發(fā)電機給需要調速的直流電動機供電,調節(jié)發(fā)電機的勵磁電流即可改變其輸出電壓,從而調節(jié)電動機的轉速。改變勵磁電流的方向則輸出電壓的極性和電動機的轉向都隨著改變,所以G-M系統(tǒng)的可逆運行是很容易實現的。該系統(tǒng)需要旋轉變流機組,至少包含兩臺與調速電動機容量相當的旋轉電機,還要一
94、臺勵磁發(fā)電機,設備多、體積大、費用高、效率低、維護不方便等缺點。且技術落后,因此擱置不用。</p><p> V-M系統(tǒng)是當今直流調速系統(tǒng)的主要形式。它可以是單相、三相或更多相數,半波、全波、半控、全控等類型,可實現平滑調速。V-M系統(tǒng)的缺點是晶閘管的單向導電性,它不允許電流反向,給系統(tǒng)的可逆運行造成困難。它的另一個缺點是運行條件要求高,維護運行麻煩。最后,當系統(tǒng)處于低速運行時,系統(tǒng)的功率因數很低,并產生較大的
95、諧波電流危害附近的用電設備。</p><p> 采用晶閘管的直流斬波器基本原理與整流電路不同的是,在這里晶閘管不受相位控制,而是工作在開關狀態(tài)。當晶閘管被觸發(fā)導通時,電源電壓加到電動機上,當晶閘管關斷時,直流電源與電動機斷開,電動機經二極管續(xù)流,兩端電壓接近于零。脈沖寬度調制(Pulse Width Modulation),簡稱PWM。脈沖周期不變,只改變晶閘管的導通時間,即通過改變脈沖寬度來進行直流調速。&l
96、t;/p><p> 與V-M系統(tǒng)相比,PWM調速系統(tǒng)有下列優(yōu)點:</p><p> ?。?)由于PWM調速系統(tǒng)的開關頻率較高,僅靠電樞電感的濾波作用就可以獲得脈動很小的直流電流,電樞電流容易連續(xù),系統(tǒng)的低速運行平穩(wěn),調速范圍較寬,可達1:10000左右。由于電流波形比V-M系統(tǒng)好,在相同的平均電流下,電動機的損耗和發(fā)熱都比較小。</p><p> ?。?)同樣由于開關
97、頻率高,若與快速響應的電機相配合,系統(tǒng)可以獲得很寬的頻帶,因此快速響應性能好,動態(tài)抗擾能力強。</p><p> ?。?)由于電力電子器件只工作在開關狀態(tài),主電路損耗較小,裝置效率較高。</p><p> 脈寬調速也可通過單片機控制繼電器的閉合來實現,但是驅動能力有限。為順利實現電動小汽車的前行與倒車,本設計采用了可逆PWM變換器??赡鍼WM變換器主電路的結構式有H型、T型等類型。我們在
98、設計中采用了常用的雙極式H型變換器,它是由4個三極電力晶體管組成的橋式電路。</p><p><b> PWM技術介紹</b></p><p> PWM利用三極管等開關器件將直流電壓變?yōu)榉讲ǖ男问?,輸出的電壓就在VLoad和0V之間不停的跳變,如圖4-13所示</p><p> 圖4-13 PWM計算示意圖</p><
99、p> 平均電壓Uo=Th/(Th+Tl)*VLoad</p><p> 可通過調整PWM的占空比來改變Th和Tl的比值</p><p> 例如:Th=5ms Ti=5ms VLoad=1V</p><p> Uo=Th/(Th+Tl)*VLoad</p><p> =5/(5+5)*1</p><p>
100、<b> =0.5V</b></p><p> 本設計中由SPCE061A的IOB8、IOB9輸出PWM信號,經過H橋電路放大,驅動后輪直流電機可通過設置P_TimerA_Ctrl單元該單元的第0~5位來選擇TimerA的時鐘源(時鐘源A、B)設置該單元的第6~9位,TimerA將輸出不同頻率的脈寬調制信號,即對脈寬占空比輸出PWM進行控制。</p><p>
101、有關P_TimerA_Ctrl寄存器的功能介紹詳見表4-14。</p><p> 表4-14 P_TimerA_Ctrl單元</p><p> 通過對P_TimerA_Ctrl的b9-b6位的設置可以決定PWM的輸出狀態(tài),其中當這四位都為0時,為關斷PWM的輸出。相應的加1,其占空比加1,因為為四位的設置,所以SPCE061A的PWM輸出為十六級輸出。</p><p
102、> 所以針對本設計的核心控制芯片SPCE061A要想輸出PWM信號,只要對P_TimerA_Ctrl做相應的賦值即可,操作十分簡單。</p><p><b> 本章小結</b></p><p> 本章為本設計的核心部分,前幾章的介紹都為此章所服務,此章先是從語音的識別,介紹了小車如何受語音控制。又介紹了蔽障服務程序,接著介紹了鍵盤取值方式,最后重點講述了凌
103、陽SPCE061A的另一大特色PWM輸出控制。</p><p> 測試數據、測試結果分析及結論</p><p><b> 訓練小車</b></p><p> 訓練部分完成的工作就是建立語音模型。程序一開始判斷小車是否被訓練過,如果沒有訓練過則要求對其進行訓練,并且會在訓練成功之后將訓練的模型存儲到FLASH,在以后使用時不需要重新訓練;如
104、果已經訓練過會把存儲在FLASH中的模型調出來裝載到辨識器中。</p><p> 成功下載程序以后,小車就會提示你對它進行訓練。訓練采用應答式訓練,每條指令的訓練為兩次,每一條命令的訓練過程都是一樣的,以前進為例說明:</p><p> 步驟一:小車提示“前進”;</p><p> 步驟二:告訴小車“前進”;</p><p> 步驟三
105、:小車提示“請再說一遍”(重復訓練提示音);</p><p> 步驟四:再次告訴小車“前進”(重復訓練一次)。</p><p> 這是一個完整的訓練過程,如果訓練成功,小車會自動進入下一條指令的訓練,并會提示您下一條指令對應的動作(后退,左拐,右拐等);如果沒有訓練成功,小車會提示“說什么暗語呀”或者“沒有聽到任何聲音”等信息,這樣的話您就要重復剛才所說的四個步驟,直到成功為止。<
106、;/p><p> 整個的訓練過程共有5次這樣的訓練,依次為:名稱——前進——后退——左拐——右拐。</p><p> 在識別環(huán)節(jié)當中,如果辨識結果是名字,停止當前的動作并進入待命狀態(tài),然后等待動作命令。如果辨識結果為動作指令小車會語音告知相應動作并執(zhí)行該動作,在運動過程中可以通過呼叫小車的名字使小車停下來。</p><p> 以下為小車的語音識別具體過程如下:&l
107、t;/p><p> 第一:叫小車的名字,小車在識別出名字以后會有一個回應信號。</p><p> 第二:可以直接對小車說前進,倒車,左拐,右拐等,小車如果識別出指令同樣會有一個回應信號,告訴你它要執(zhí)行的動作,然后執(zhí)行對應的動作,稍后小車會自然的停下來,或者遇到障礙物停車并發(fā)出警報;</p><p> 在小車運行過程中可以再次對小車發(fā)出控制指令,小車在識別后會結束當
108、前運動狀態(tài)并執(zhí)行新的命令。 </p><p> 第三:小車在運行前,你可以使用61板上面的KEY1鍵進入時間設定模式,KEY2和KEY3鍵盤設定小車前進時間。</p><p><b> 重新訓練</b></p><p> 考慮到有重新訓練的需求,設置了重新訓練的按鍵(61板的KEY3),循環(huán)掃描該按鍵,一旦檢測到此鍵按下,則將擦除訓練標志
109、位(0xe000單元),并等待復位。復位后,程序重新執(zhí)行,當檢測到訓練標志位為0xffff時會要求重新對其進行訓練。</p><p> 測試中可能出現的情況及其排查</p><p> 在實際的測試過程當中,可能會出現一系列的問題,請參照表5-1所示。</p><p> 表5-1 測試問題解決方案對照表:</p><p><b>
110、; 本章小結</b></p><p> 本章主要介紹了本設計的使用以及在測試中遇到的一些問題的解決方法,由于本設計嚴格按照程序而行,所以在訓練和使用時最好是按照前面的說明進行。在運用時可能會出現電源連接不上,程序不能正常下載等,怎樣去排除這些問題,順利的進行調試,在本章也都介紹了常用的解決方式。</p><p><b> 結論與展望</b></
111、p><p><b> 結論</b></p><p> 歷時三個月的設計過程中,我首先邊查資料,邊在實驗室焊接小車的線路板。在焊接過程中,我感覺到即使是一個簡單的電路,要想很輕松的焊好,也不是很容易的事情。有時是“虛焊”的原因,有時可能是阻值選錯。在焊接顯示電路時,我就錯將680歐的電阻焊成了6.8千歐。這使我深深感受到理論與實際間的差距。通過這樣的設計,提高了我的動手
112、能力。每天在實驗室除了焊接線路板,還可以上機編程,使我軟件調試知識也提高了。</p><p> 本設計采用的是SPCE61A單片機,這主要是因為該單片機的穩(wěn)定性比較好。還可以采用其它系列的單片機。結構上配合多種傳感器,實現了自動蔽障,速度測量,以及顯示模塊的增加,為智能小車增加了亮點。設計中充分發(fā)揮了SPCE61A單片機的硬件資源,兩個中斷、兩個定時器、多個時機中斷的應用,加之單片機的特色語音識別、PWM輸出的
113、合理應用,基本上壓干了單片機的所有資源。當然在設計中也有一些地方做的不盡完善,比如語音識別只能識別五句話,速度控制只用到了單環(huán)反饋等等,這些都需要以后的完善。</p><p><b> 展望</b></p><p> 智能機器人是一個國家高科技發(fā)展水平的重要標志之一 ,具有廣闊的應用前景。機器人技術的發(fā)展是一個國家高科技水平和工業(yè)自動化程度的重要標志和體現。機器人
114、在當前生產生活中的應用越來越廣泛 ,正在替代人發(fā)揮著日益重要的作用。機器人技術是綜合了計算機、控制論、機構學、信息和傳感技術、人工智能、仿生學等多學科而形成的高新技術 ,集成了多學科的發(fā)展成果 ,代表高技術的發(fā)展前沿 ,是當前科技研究的熱點方向。隨著計算機、微電子、信息技術的快速進步 ,機器人技術的開發(fā)速度越來越快 ,智能度越來越高 ,應用范圍也得到了極大的擴展。</p><p> 隨著社會的不斷進步,科學技術
115、的不斷發(fā)展,面向智能化方向的科學更成為當代社會的重要科學。然而,智能化的科學之中,對外界信息的采集和處理成為這門科學的重要支柱之一。在當代科學技術中占有十分重要的地位,因此汽車機器人領域這也為一個不容忽視的發(fā)展方向。</p><p><b> 參考文獻</b></p><p> [1] 羅亞非。凌陽16位單片機應用基礎。北京:北京航空航天大學出版社,2003<
116、;/p><p> [2] 譚浩強。C程序設計。北京:清華大學出版社,1999</p><p> [3] 唐清善等。Protel DXP 高級實例教程。北京:中國水利水電出版社,2004</p><p> [4] 李正軍。計算機控制系統(tǒng)。北京:機械工業(yè)出版社,2005</p><p> [5] 高峰編。單片微型計算機原理與接口技術。北京:科
117、學出版社,2003</p><p> [6] 船倉一朗,土屋堯等(日)。機器人控制電子學。宗光華,楊洋,唐伯雁譯。北京:科學出版社,2004</p><p> [7] Ramon Pallas-Areny,John G. Webster(美)。傳感器和信號調節(jié),第2版。張倫譯。北京:清華大學出版社,2003</p><p><b> 。</b&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能遙控避障小車畢業(yè)設計
- 智能避障小車畢業(yè)設計論文
- 畢業(yè)設計+智能循跡避障小車設計
- 小車避障系統(tǒng)設計畢業(yè)論文
- 畢業(yè)設計---智能循跡避障聲控小車設計
- 畢業(yè)設計--智能超聲波避障小車
- 智能循跡避障小車控制系統(tǒng)設計
- 智能避障小車設計
- 智能超聲波避障小車-畢業(yè)設計論文
- 智能避障小車設計
- 畢業(yè)設計--語音控制小車
- 畢業(yè)設計--語音控制小車
- 畢業(yè)設計-----語音控制小車
- 智能尋跡避障小車系統(tǒng)硬件設計
- 避障小車課程設計
- 藍牙控制&自動避障小車的設計畢業(yè)論文
- 小車設計論文-智能尋光避障小車
- 智能循跡避障小車畢業(yè)論文
- 畢業(yè)論文---智能循跡避障小車
- 超聲波避障小車設計
評論
0/150
提交評論