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

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 機(jī)器人遙操作網(wǎng)絡(luò)通信平臺的設(shè)計(jì)

          機(jī)器人遙操作網(wǎng)絡(luò)通信平臺的設(shè)計(jì)

          作者: 時間:2009-04-07 來源:網(wǎng)絡(luò) 收藏

            圖4(a)顯示的是服務(wù)器端運(yùn)行之后的界面。服務(wù)器端是該程序的核心端,所有客戶端的數(shù)據(jù)都將傳輸?shù)椒?wù)器端,客戶端之間通信需要通過服務(wù)器端進(jìn)行中轉(zhuǎn)。而本文所的程序中的服務(wù)器端不僅可以實(shí)現(xiàn)以廣播的形式向所有連接到該服務(wù)器的客戶端發(fā)送信息,還可以以單對單通信的方式向單個的客戶端進(jìn)行通信。在圖 4(a)中就顯示了服務(wù)器端分別利用這兩種方式進(jìn)行了通信。點(diǎn)擊界面中的發(fā)送按鈕就采取廣播式發(fā)送信息,而點(diǎn)擊界面中的1和2兩個按鈕則是對特定客戶端發(fā)送數(shù)據(jù)。

            本文的程序可以支持多個不同的

          通信平臺運(yùn)行界面

          (a)

          通信平臺運(yùn)行界面

          (b)

          通信平臺運(yùn)行界面

          (c)

          圖4 通信運(yùn)行界面

            客戶端和服務(wù)器進(jìn)行連接并通信。圖4(b)顯示的是IP為“192.168.0.106”的客戶端和服務(wù)器建立連接之后的通信,而圖4(c)則是IP為“192.168.0.110”的客戶端和服務(wù)器通信的界面。

            3 實(shí)驗(yàn)性能分析

            1.時延和數(shù)據(jù)的丟失問題

            要求數(shù)據(jù)傳輸要具備可靠性和次序性,TCP協(xié)議提供了可靠而有序的傳輸,基于這一特性,可以在傳輸過程中使用超時重傳、分段、重組等檢錯糾錯策略,通過這些檢錯糾錯策略可以保證在數(shù)據(jù)傳輸過程中的可靠性和有序性,可以有效的防止數(shù)據(jù)的丟失。

            遠(yuǎn)端遙控制的采用并不意味著實(shí)時控制作用被上移到網(wǎng)絡(luò),實(shí)時控制依然由現(xiàn)場的控制單元來完成,而網(wǎng)絡(luò)遙更關(guān)注的是對現(xiàn)場信息的監(jiān)視和管理以及對的非實(shí)時控制,所以TCP通信在傳輸過程中存在的時延問題也就顯得影響不大。
           2.數(shù)據(jù)共享問題及其解決方案

            由于本文中程序是多任務(wù)多線程的,當(dāng)多個客戶端同時連接到服務(wù)器時,多任務(wù)、多線程就極易造成數(shù)據(jù)共享問題。數(shù)據(jù)共享問題可以解釋如下:假定有多個函數(shù)(或者ISR、任務(wù))共享一個變量,如果在某一時刻存在對該變量的數(shù)值的操作,并且在對其施加操作的的過程中,僅有部分操作完成,還有一部分沒有完成,若在此時產(chǎn)生一個中斷,如果此時還有另一個函數(shù)也在共享該變量,且前面的操作已經(jīng)完成,該變量的數(shù)值可能與預(yù)期的不同。因此,當(dāng)一個函數(shù)與另一個函數(shù)共享某變量時,所調(diào)用的ISR或者另一個函數(shù)都有可能改變此變量,是變量的數(shù)值發(fā)生變化,在返回時此變量的新數(shù)值將從堆棧轉(zhuǎn)載到四個寄存器中,未完成的操作將按照寄存器中的新數(shù)值執(zhí)行,程序就會發(fā)生錯誤。

            在本文中,利用了以下措施消除了程序中由共享數(shù)據(jù)問題所導(dǎo)致的錯誤。

          1) 對于從中斷返回的變量,在聲明中使用了volatile。此聲明可以警告編譯器,這些變量是可更改的。
          2)在中斷之前將完全執(zhí)行的部分中對原子指令使用可再生函數(shù),此部分叫臨界段。
          3) 將共享的變量放入循環(huán)隊(duì)列中。需要使用該變量數(shù)值的函數(shù)總是從隊(duì)列的前端將其刪除。而另一些寫入該變量的數(shù)值的函數(shù)總是從隊(duì)列的末端進(jìn)行操作。
          4)在臨界段開始執(zhí)行之前通過使用信號量來關(guān)閉中斷,在其完成之時打開中斷。


            4 結(jié)論

            本文了一種基于TCP協(xié)議的,通過該可以實(shí)現(xiàn)遠(yuǎn)程客戶機(jī)與本地服務(wù)器之間的信息通信,而且保證了數(shù)據(jù)傳輸?shù)目煽啃院痛涡蛐?,對機(jī)器人的遙操作提供了可靠的條件。

            平臺的建立,擴(kuò)大了對機(jī)器人操作的遠(yuǎn)程化距離,而且該平臺具有架構(gòu)容易,低成本,維護(hù)便利等優(yōu)點(diǎn),對機(jī)器人遙操作領(lǐng)域的技術(shù)進(jìn)步將會起到幫助作用。

          tcp/ip相關(guān)文章:tcp/ip是什么



          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();