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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 公路劃線機劃線導向機器人的設計

          公路劃線機劃線導向機器人的設計

          作者: 時間:2013-12-07 來源:網絡 收藏
          1引言
            
          是用來在高等級公路及城市道路上劃各種路面標線的專用機械。在道路的養(yǎng)護過程中也用于在舊標線上劃新標線[1]。目前劃線機種類很多,它們分別應用于不同的場合,但其共同的特點都是先通過人工標線,然后進行機械噴涂。人工標線工作量大,且工作進度較慢,精度較差。針對這種現(xiàn)象本文介紹了,專門用于提供劃線機較準確的路線,減輕了人工標線的工作量,提高了劃線的準確度。

          2概述
            
          的系統(tǒng)基本組成:導向控制系統(tǒng)、電機驅動履帶行走系統(tǒng)和涂料噴涂系統(tǒng)。本文劃線導向機器人主要用于公路中線的劃線導向,機器人兩端安裝有超聲波測距模塊,分別測量公路兩邊的公路沿到機器人的距離,通過西門子S7-200軟件程序的處理后得出的信號來驅動直流電機的運動,使機器人快速地往中線上靠近,進而在中線上行進。當行進穩(wěn)定后,涂料噴涂系統(tǒng)中的噴槍開始對地面噴灑涂料,給劃線機提供較準確的標線。機器人控制示意圖如圖1所示。

          圖1機器人控制示意圖
          Fig.1Thediagramofcontrol

          3導向控制系統(tǒng)
            
          導向控制系統(tǒng)基本組成:超聲波測距模塊和控制單元。
            
          超聲波測距模塊一般包括硬件部分和軟件部分,硬件部分包括控制單元、、發(fā)射和接收電路等;軟件部分即是固定在控制單元中的程序。目前市場上出現(xiàn)的超聲波測距儀,可以稍加以改進,也可以滿足本文要求。目前的超聲波測距儀檢測距離可達到10m左右,遠遠滿足本文的要求。
            
          本機器人左右兩端分別對稱安裝一個超聲波測距模塊,左右兩個傳感器同時向兩邊發(fā)射超聲波,通過比較左右傳感器發(fā)射接收的時間差值來判斷機器人是右偏還是左偏,進而控制驅動輪直流電機的運動,從而是機器人在公路的中線上行進。控制單元在接收到兩邊超聲波測距模塊傳送的數(shù)據(jù)后,將兩組數(shù)據(jù)進行比較。如果右邊的數(shù)據(jù)較小,發(fā)出的超聲波在右邊返回的用時較短,則機器人偏向中線的右邊,那么右驅動輪比左驅動輪轉速快,如此不斷的調整,最后機器人位于公路中線上。穩(wěn)定后,控制單元將此時的超聲波傳回的數(shù)據(jù)儲存在存儲區(qū)中,以后機器人的驅動輪速度就以此時的速度勻速行進,靠傳感器實時傳回的數(shù)據(jù)進行調整。調整范圍限制在一定的值域內,超過該值域時,電機才轉動開始調整機器人與中線的距離,使其盡快在中線上行進。
            
          PLC控制單元軟件包括:主程序、讀超聲波測距模塊數(shù)據(jù)子程序和電機調整子程序。其程序流程圖如圖2所示。

          圖2程序流程圖
          Fig.2Thechartofprogramflow

          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(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); })();