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

正文內(nèi)容

畢業(yè)設計-舞蹈機器人設計-資料下載頁

2024-12-03 18:21本頁面

【導讀】年后的今天,他預言,機器人即將重復個人電腦崛起的道路。點燃機器人普及的“導火。索”,這場革命必將與個人電腦一樣,徹底改變這個時代的生活方式。近幾年機器人已成為高技術(shù)領(lǐng)域內(nèi)具有代表性的戰(zhàn)略目標。機器人技術(shù)的出現(xiàn)和。發(fā)展,不但使傳統(tǒng)的工業(yè)生產(chǎn)面貌發(fā)生根本性變化,而且將對人類社會產(chǎn)生深遠的影響。從自動化生產(chǎn)線到海洋資。源的探索,乃至太空作業(yè)等領(lǐng)域,機器人可謂是無處不在。目前機器已經(jīng)走進人們的生。們已經(jīng)越來越離不開機器人幫助。目前對機器人的研究已經(jīng)呈現(xiàn)出專業(yè)。目前機器人行業(yè)的發(fā)展與30年前的電腦行業(yè)極為相似。極受青少年的喜愛。其機器人的產(chǎn)量和安。裝的臺數(shù)在國際上躍居首位。取得了一大批科研成果,成功地研制出了一批特種機器人。的年收益額為47億元,我國對工業(yè)機器人的需求量和品種將逐年大幅度增加。對小機器人進行語音控制,通過發(fā)出語音命令,控制機器人的。機器人包括底座、頭部、

  

【正文】 編排好了,那么舞蹈動作部分也就制作好了。這時可以把動作數(shù)據(jù)表下載到單片機中,由單片機來控制各個關(guān)節(jié),順序執(zhí)行動作表中的各個動作。同時 控制 音樂播放器 播放舞蹈音樂,那么我們就可以直觀觀看一到舞蹈機器人在音樂聲中翩翩起舞了。要設計出一套完整的舞蹈動作,使機器人能夠像舞蹈演員那樣在舞臺上表演是相當繁瑣的過程,需要反復調(diào)試 ,還要通過對人類動作行為作出的細致入微的觀察,并能根據(jù)機械結(jié)構(gòu),把人類動作轉(zhuǎn)變成對機器人關(guān)節(jié)的控制,才能獲得完美的控制效果。 主程序設計 圖 主程序流程圖 根據(jù)前述的機械結(jié)構(gòu)設計與電路設計,單片機上的控制程序主要包括一個主程序和相應的中斷服務子程序。 本設計 采用 C語言按模塊化的編程思想編寫。所有機器人的動作實現(xiàn)部分均在子函數(shù)中完成主函數(shù)中只負責對子函數(shù)的調(diào)用如此便保證了良好的維護性和清晰的代 碼結(jié)構(gòu)。主程序中,首先對單片機進行初始化,接著調(diào)用脈寬調(diào)速函數(shù),使相應電機獲得應有的速度。然后進入程序中的主循環(huán),判斷當前系統(tǒng)的工作模式是自動狀態(tài)還是手動狀態(tài) (設置變量用于標識系統(tǒng)運行的狀態(tài),在機器人剛通電時默認進入主程序 單片機初始化 等待語音信號 是否為 開始 YY 執(zhí)行對話 N 執(zhí)行舞蹈 開始舞蹈 結(jié)束 N Y 手動控制狀態(tài) )。 主程序主要負責設置堆棧指針和中斷向量 .對所 用到的特殊寄存器進行初始化和舞蹈動作初始化 .主程序軟件框圖如下: 子程序 設計 最主要的是考慮到電機控制信號的產(chǎn)生,采用定時器每隔一定的時間 中斷以產(chǎn)生控制信號和加載舞蹈動作。利用定時器中斷程序可以很容易 的產(chǎn)生直流電動機的控制信號。 通 過外部中斷,對機器人前后左右四個方向上的碰撞做出處理,以使機器 人不會因為碰撞影響以后動作的執(zhí)行。對碰撞的處理,實際上就是改變保存舞蹈動作的寄存器,由于一定時間 讀取一次動作數(shù)據(jù),可以理解,對碰撞的處理僅 在碰撞后的這個規(guī)定時間內(nèi)。只要對直流電機的控制數(shù)據(jù)設置恰當,就完全可以滿足要 求,使其不影響以后動作的執(zhí)行。以下為 電機驅(qū)動 的 子 程序 和 74HC595 的應用子程序 : /********************************************************/ /*將顯示數(shù)據(jù)送入 74HC595 內(nèi) 部移位寄存器 */ /********************************************************/ void WR_595(void) { uchar j 。 temp_595=temp。 for (j=0 。j16 。j++) { temp_595=temp_5951 。 SDATA_595=CY 。 SCLK_595=1 。 //上升沿發(fā)生移位 SCLK_595=0 。 } } void OUT_595(void) { RCK_595=0 。 _nop_() 。 RCK_595=1 。 //上升沿將數(shù)據(jù)送到輸出鎖存器 RCK_595=0 。 } void start_595(void) { WR_595()。 OUT_595()。 _nop_() 。 } /********************************************************/ /* 0關(guān)電機 //關(guān)某位用 1 或,其他位為 0 */ /* 1正轉(zhuǎn) //開某位用 0 與,其他位為 1 */ /* 2反轉(zhuǎn) */ /********************************************************/ void moto0(unsigned char s0) { switch(s0) { case 0: {temp_0=temp。 temp_0|=0x0003。 temp=temp_0。} break 。 //關(guān)電機 case 1: {temp_0=temp。 temp_0amp。=0xfffe。 temp=temp_0。} break 。 //正轉(zhuǎn) case 2: {temp_0=temp。 temp_0amp。=0xfffd。 temp=temp_0。} break 。 //反轉(zhuǎn) } } /********************************************************/ //反饋信號讀入 void scan(void) { state0_B=state0_A。 state0_A=in0。 if(state0_A!=state0_B) //判斷是否有電平跳變 { count_0++。 if(count_0num_0) { moto0(0)。 start_595()。 count_0=0。 num。 num_0=0xffff。 } } } 語音輸入 特征提取 語音特征模型 訓練階段 語音輸入 特征提取 識別階段 匹配校驗 識別結(jié)果 編程準備 由于控制機器人動作的電機共有 7 個,將占用單片機的 14 個 IO 口,控制 ISD2590的 IO 口為三個,用于重新訓練的按鍵也占用 1 個 IO 口,所以一共要用單片機的 18 個IO 口,另外還應考慮機器人可擴展的傳感器模塊等其它功能模塊接口,所以首先對單片機 IO 口進行分配,在分配過程中要注意以下問題: (1) 光耦電路輸入引腳為每六個腳一組,對應三個電機,因為與單片機 IO 口引腳為排線相連,所以應考慮連線位置 (2) 檢測重新訓練鍵是否按下用到單 片機的 IOA 口的 3 腳,所以 IOA 口 07 腳只作輸入的 IO 口用 (3) 控制 ISD2590 的三個 IO 口也應考慮聯(lián)線過程中不與上面兩者沖 突 所以單片機 IO 口具體分配見表 : 表 : IO 口分配表 IOA 15 ISD2590 啟動 IOA 14 ISD2590 停止 IOA 7 ISD2590 的 EOM 輸入信號 IOA 2 重新訓練按鍵 子程序的編寫 語音識別程序 語音識別可分為特定語音識別和非特定語音識別兩種,特定語音識別需要使用者先進行訓練,非特定語音識別可識別任何人的聲音, 鑒于開發(fā)時間和難度,本次設計采用特定語音識別的方式。 語音識別的原理如圖 。 初始化 RAM N 開始 執(zhí)行訓練 ,獲得訓練結(jié)果 返回 Y 定時 采集語音 開始 返回 初始化識別器 N 開始 獲得識別結(jié)果 返回 Y 執(zhí)行相應動作 訓練成功 識別成功 語音特征模型 圖 語音識別原理 61 單片機實現(xiàn)語音識別的過程包括 訓練部分與識別部分,以及在訓練、識別過程中的 中斷的情況 ,可見圖 。 圖 61 單片機識別流程 實現(xiàn)語音功能程序的 編寫主要依靠凌陽公司提供的 API,使用該 API 需要在程序中鏈接語音庫文件:“ ” 和包 含頭件:“ ” 。 在語音訓練的程序中 主要用到兩個 API函數(shù), 分別為 : (1) BSR_Train()。 (2) BSR_ExportSDWord()。 BSR_Train函數(shù) 在 訓練語音 時使用 ,帶有兩個參數(shù):所訓練的該條語音的序號和需訓練的次數(shù)。 BSR_ExportSDWord函數(shù)在 每五 條語音 命令(為一組)訓練成功后調(diào)用,用于將這一組 語音 命令 的特征模型數(shù)據(jù)導出到一個 臨時 自動創(chuàng)建 為 100個字節(jié)的數(shù)組BSR_SDModel[]中,從而可通過這個數(shù)組將 語音特征模型 數(shù)據(jù)寫入 Flash單元進行存儲。 語音識別的程序主要用四個 API 函數(shù),分別為: (1) BSR_InitRecognizer()。 (2) BSR_GetResult()。 (3) BSR_DeleteSDGroup(int SDGroupNo)。 (4) BSR_ImportSDWord()。 其中, BSR_InitRecognizer 函數(shù)用于初始化辨識器,該函數(shù)在主程序中被調(diào)用時,辨識器便打開 8K 采樣率的 FIQ_TMA 中斷并開始將采樣的語音數(shù)據(jù)填入辨識器的數(shù)據(jù)隊列中。 BSR_DeleteSDGroup 用于將 RAM 空間中所有的特征模型數(shù)據(jù)刪除,即清除內(nèi) 存。 BSR_ImportSDWord 的作用同 BSR_ExportSDWord 相類似, 是將已訓練過的一組語音特征模型數(shù)據(jù)導入到數(shù)組 BSR_SDModel[]中,采樣結(jié)果在這里與原特征模型數(shù)據(jù)進行匹配校驗。 在 BSR_SDModel[]中所存儲數(shù)據(jù)為 100 字節(jié),所以 61 單片機在語音識別時一次最多只能同時識別五條語音命令,但 61 單片機的 flash 閃存為 32K,可儲存較多的語音模型數(shù)據(jù),所以在本次設計中希望可以使機器人能識別更多條的語音命令,這里采用了一個比較巧妙的方法來實現(xiàn),首先將命令分為 5 條一組(共多組)存入 flash 閃存中,第一組命令作為觸發(fā)命令組,在第一次識別時根據(jù)識別的命令載入相應的組的特征模型數(shù)據(jù),在隨后的第二次識別中在所載入的這一組數(shù)據(jù)中進行識別比較, 流程如圖 所示。 圖 多條語音識別流程 這種通過不同的觸發(fā)命令載入相應的分組數(shù)據(jù)進行識別的方法在理論上可以達到識別任意條語音命令,本次設計中做了 15 條語音命令的識別。 15 條語音命令分為三組存放,第一組的第一條命令是機器人的待命狀態(tài)指令,第二條命令即為導入第二組數(shù)據(jù),第三條命令為導入第三組數(shù)據(jù)。 8 系統(tǒng)功能測試 硬件檢測 做好機器人的硬件部分和軟件部分之后,要讓機器人實現(xiàn)軟硬結(jié)合,就必須經(jīng)過調(diào)試,才能夠達到課題的要求。在進行總體調(diào)試之前,我進行了硬件的檢測: (1)首先是采用萬用表進行硬件的檢查,由于本硬件需要焊接的器件較多,在焊接的過程中可能沒有連接上,元器件的好壞,是否正常工作等。 載入第一組命令 命令一 命令二 載入第二 組命令 載入第三 組命令 命令 a 命令 b ?? 命令 c 命令 c 命令三 載入第四 組命令 ?? ?? ?? ( 2) 由于單片機的工作電壓是 5V,所以先接入 5V 的電壓看硬件電路板中的發(fā)光二極管是否亮來判斷電路是否接好。 該部分主要是判斷單片機能否驅(qū)動 直流 電機。為了提高效率,我先編簡單的程序只控制 直流 電機前進跟后退。先判斷光電耦合器是否工作。調(diào)試時先不接 電機驅(qū)動部分 ,而是把光耦的輸出接到 LED 發(fā)光二極管,看 LED 是否會閃動。這部分調(diào)試過程中發(fā)現(xiàn)有一個亮著的 LED 不會閃動,檢查了整個電路沒有發(fā)現(xiàn)問 題,于是我把幾個光耦對換了位置,發(fā)現(xiàn)原來不閃動的 LED 會閃了,但是對換光耦位置的另一個 LED 出現(xiàn)了同樣的問題。于是我判斷是光耦的問題,換了一個新的,通電后十二個LED 都會閃動,說明電路正常了,接上 電機驅(qū)動部分 ,把 直流電機 的接線接好,通電后直流 電機成功實現(xiàn)正、反轉(zhuǎn)。 而電機的驅(qū)動電壓是 12V,因此在使用之前也要用 12V 的電源接上電機,判斷電機是否可用。 軟件調(diào)試 完成以上的檢測之后就進行軟件的調(diào)試。 調(diào)試 伴舞機器人 是一個相當繁瑣的過程,需要反復調(diào)試 對 機器人 多個 關(guān)節(jié) 直流電機的控制,而編排舞蹈則是把調(diào)試好的舞 蹈動作按一定順序組合起來。因此在調(diào)試過程中把編好的每個子程序分別進行調(diào)試。 本設計我選擇的是單一的電源供電,但是在調(diào)試初期我先雙電源開始調(diào)試,發(fā)現(xiàn)所有的開關(guān)器件很難穩(wěn)定地給單片機送正確值,只有當更換新電池或機器人剛剛啟動時才會很準確,經(jīng)過思考,這都是開關(guān)元件消耗電量很大的原因,一旦電池電量不足其工作將會萎靡不振,于是我們將所有開關(guān)器件劃成一個部分,由一塊電池專門供電。 在所有電源開啟后,系統(tǒng)即進入給定時間倒計時狀態(tài),而倒計時完畢之后,有時電機不能正常啟動。經(jīng)分析,這是屬于正常情況,因為其啟動需要克服很大的慣 性,而其電源又不能在瞬間提供很大的電流,所以就沒有動靜。此時
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1