<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于ARM自主避障機器魚設計

          基于ARM自主避障機器魚設計

          作者: 時間:2012-08-24 來源:網(wǎng)絡 收藏

          摘要:研究芯片和LINUX嵌入式系統(tǒng)具有避障功能的魚。首先搭建了芯片的硬件平臺,然后對圖像采集、圖像顯示和紅外測距進行實現(xiàn)。通過紅外傳感器實現(xiàn)魚的避障的功能。實驗表明該方案魚能流暢地進行實時避障與圖像顯示??梢宰鳛楹罄m(xù)機器魚的自主視覺功能開發(fā)的基礎,提高了機器魚的智能度。
          關鍵詞:自主避障;;紅外測距;LINUX嵌入式系統(tǒng)

          本文引用地址:http://www.ex-cimer.com/article/148550.htm

          隨著科技的發(fā)展與進步,出現(xiàn)了具有特殊功能的智能機器,如索尼公司生產(chǎn)的能夠以自我“意識”來“感覺”“學習”和“飼養(yǎng)”的寵物機器狗,以弗吉尼亞理工大學研制的CHARLI-L1機器人為基礎進行升級改造的SAFFIR的消防機器人等。機器魚作為一項比較新的產(chǎn)品,涉及到機器魚的智能開發(fā)并不深,因此機器魚的智能化程度并不高,但隨著機器魚研究的加深,相信機器魚的智能度會大大提高,功能也會更趨完善。目前的機器魚類型主要有遙控機器魚和語音控制機器魚,例如曾在德國漢諾威電子展上展現(xiàn)的通過機器魚體內(nèi)收縮來提供動力的遙控式機器魚和在西南民族大學誕生的國內(nèi)首個的聲控機器魚等。據(jù)調(diào)查顯示同內(nèi)涉及到具有自主避障與自主視覺功能的智能機器魚的研究與開發(fā)并不多。由于技術等諸多原因我們選擇了自主避障的機器魚。由于機器魚具有機動性、高效性、低噪性等優(yōu)點,所以高智能的機器魚適合去完成如探測污染物質(zhì)、繪制港口的實時立體圖和對海底資源進行探測等具有一定難度和危險的任務。由于國內(nèi)涉及到機器魚智能的開發(fā)程度不高,所以高智能的機器魚研發(fā)有較大的空間。

          1 硬件系統(tǒng)設計
          1.1 工作原理
          機器魚主硬件原理如圖1所示。機器魚的自主避障功能是通過以ARM芯片、LINUX嵌入式系統(tǒng)、紅外傳感器等結合實現(xiàn)的。機器魚在水中分別通過攝像頭、紅外傳感器、LCD進行畫面采集、自主避障和畫而顯示。攝像頭采集到圖片后,圖像被緩存于SDRAM中。ARM芯片通過紅外傳感器的AD管腳向發(fā)射器傳送命令,使探測器的發(fā)射模塊不斷地向外發(fā)送紅外線,當接收器接收到返回的紅外線后會立刻通過AD管腳向ARM芯片傳送與紅外線返回的光強相應的電壓,電壓經(jīng)過ARM芯片的A/D轉換器轉變成十位的二進制數(shù)字量,通過一定的公式計算出此時與障礙物的距離。當計算出來的距離小于預設量時,ARM芯片的控制軟件執(zhí)行一個串行中斷指令改變脈沖的脈寬即改變改PWM波的占空比變,進而改變機器魚的游向從而避開障礙物。

          a.JPG


          上一頁 1 2 3 4 下一頁

          關鍵詞: 設計 機器 自主 ARM 基于

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();