www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀] 目前,機(jī)器人遙操作系統(tǒng)已成為機(jī)器人研究的一個熱點(diǎn)。在機(jī)器人遙操作的過程中,本地服務(wù)器與遠(yuǎn)程客戶機(jī)之間的網(wǎng)絡(luò)通信問題是遙操作的關(guān)鍵環(huán)節(jié)。針對機(jī)器人遙操作的通信問題,本文設(shè)計(jì)了一種在Windows XP環(huán)境下,運(yùn)

 目前,機(jī)器人遙操作系統(tǒng)已成為機(jī)器人研究的一個熱點(diǎn)。在機(jī)器人遙操作的過程中,本地服務(wù)器與遠(yuǎn)程客戶機(jī)之間的網(wǎng)絡(luò)通信問題是遙操作的關(guān)鍵環(huán)節(jié)。針對機(jī)器人遙操作的通信問題,本文設(shè)計(jì)了一種在Windows XP環(huán)境下,運(yùn)用Socket實(shí)現(xiàn)的基于TCP/IP協(xié)議的網(wǎng)絡(luò)通信平臺。

  1 Socket編程原理

  1.1 Socket簡介

  Socket(套接字)最初是加州大學(xué)伯克利分校為UNIX操作系統(tǒng)開發(fā)的網(wǎng)絡(luò)通信接口。后來Intel, Microsoft, Sun等網(wǎng)絡(luò)廠商將其移植到Windows中,形成了Windows Sockets規(guī)范,它定義了一套Windows環(huán)境下網(wǎng)絡(luò)編程的接口。利用Windows Socket開發(fā)的網(wǎng)絡(luò)通信程序的層次結(jié)構(gòu)如圖1示。

圖1 Sockets編程的結(jié)構(gòu)

  根據(jù)傳輸數(shù)據(jù)類型的不同,Sockets可分為流式套接字(SOCK_STREAM)和數(shù)據(jù)報(bào)式套接字(SOCK_DGRAM)兩類。流式套接字提供面向連接、可靠的數(shù)據(jù)傳輸服務(wù),數(shù)據(jù)無差錯、無重復(fù)的發(fā)送,且按發(fā)送順序接受。流式套接字實(shí)際上是基于TCP協(xié)議實(shí)現(xiàn)的。數(shù)據(jù)報(bào)式套接字提供無連接服務(wù)。數(shù)據(jù)報(bào)以獨(dú)立包形式發(fā)送,不提供無錯保證,數(shù)據(jù)可能丟失或重復(fù),并且接受順序混亂。數(shù)據(jù)報(bào)套接字實(shí)際上是基于UDP協(xié)議實(shí)現(xiàn)的。

  按照套接字在客戶機(jī)/服務(wù)器(Client/ Server)模式中的功能可將其分為兩類:

  監(jiān)聽套接字:該套接字位于服務(wù)器端,它的主要功能就是對特定的端口進(jìn)行不斷的監(jiān)聽,當(dāng)檢測到有連接請求時,接受申請,并構(gòu)造一個新的客戶端套接字,與連接申請方的客戶端套接字建立連接,從而為雙方的通信做好準(zhǔn)備。

  客戶端套接字:該套接字是用來進(jìn)行網(wǎng)絡(luò)通信的實(shí)體。它位于客戶機(jī)和服務(wù)器上,服務(wù)器必須維持它為之服務(wù)的客戶一樣數(shù)量的這種套接字,形成一個以服務(wù)器為中心的星型結(jié)構(gòu)。

  1.2 TCP網(wǎng)絡(luò)通信平臺設(shè)計(jì)步驟

  基于Internet的機(jī)器人遙操作技術(shù)是現(xiàn)代網(wǎng)絡(luò)技術(shù)和機(jī)器人控制技術(shù)的結(jié)合,Internet使用網(wǎng)際分組交換協(xié)議TCP/IP作為通信規(guī)范,它包括 TCP, UDP和ICMP等協(xié)議。其中TCP協(xié)議是面向連接的協(xié)議,要求在數(shù)據(jù)交換以前必須與通信方建立一條連接、它具有分段和重組功能,能夠確保數(shù)據(jù)可靠、有序地傳輸。

  TCP通信整個過程可以分成三個階段:連接建立、數(shù)據(jù)傳輸和拆除連接。

 ?。?)連接建立階段:首先服務(wù)器中的監(jiān)聽套接字對斷口進(jìn)行偵聽,客戶端的套接字向服務(wù)器端的特定斷口提出連接申請。

 ?。?)通信階段:這是整個過程的核心部分,任務(wù)就是負(fù)責(zé)數(shù)據(jù)的收發(fā)。

 ?。?)拆除連接階段:在傳完數(shù)據(jù)之后,關(guān)閉套接字,釋放所分配的資源。

  使用Soeket編寫TCP通信程序的主要步驟如下:

  1) 構(gòu)造 Soeket對象 ;

  2) 使用該對象構(gòu)造基本的Socket句柄。由于遙操作的數(shù)據(jù)通信要求可靠,準(zhǔn)確,故采用TCP協(xié)議,套接字使用流式套接字;

  3) 建立客戶機(jī)CSocket,調(diào)用Connect()建立與服務(wù)器套接字的連接.服務(wù)器調(diào)用Listen()監(jiān)聽請求連接情況,并在收到客戶端請求后調(diào)用Accept()接收客戶端連接.

  4) 構(gòu)造CSocketFile對象,并使用CSocket對象與之關(guān)聯(lián).

  5) 構(gòu)造CArchive對象 ,用于接受和發(fā)送數(shù)據(jù)。使用CArchive對象來進(jìn)行客戶端與服務(wù)器端之間的Socket通信

  6) 通信結(jié)束,關(guān)閉套接字,退出程序。

  2 TCP網(wǎng)絡(luò)通信平臺程序的實(shí)現(xiàn)

  本程序是為機(jī)器人遙操作的通信所搭建的一個網(wǎng)絡(luò)通信平臺,該平臺實(shí)現(xiàn)了本地服務(wù)器與遠(yuǎn)程客戶機(jī)之間的數(shù)據(jù)網(wǎng)絡(luò)通信,系統(tǒng)結(jié)構(gòu)圖如圖2所示。

圖2 遙操作系統(tǒng)結(jié)構(gòu)圖

  本文的程序設(shè)計(jì)是基于TCP/IP協(xié)議的,使用客戶機(jī)/服務(wù)器模式。本程序設(shè)計(jì)調(diào)試的網(wǎng)絡(luò)環(huán)境為采用Windows XP中的 TCP/IP協(xié)議配置的局域網(wǎng),服務(wù)器的的IP地址是“192.168.0.104”,通信端口可任意設(shè)置,本文設(shè)為4231。

  2.1 通信平臺程序的實(shí)現(xiàn)流程

  服務(wù)器是控制機(jī)器人的主控制臺,通過服務(wù)器可以控制機(jī)器人的爬行、檢測以及轉(zhuǎn)向等。本文中服務(wù)器端程序,主要是建立一個能夠讓客戶端連接的端口,并通過監(jiān)聽,與需要連接的客戶端建立連接,并與其進(jìn)行數(shù)據(jù)信息通信,將機(jī)器人傳感器獲取的機(jī)器人的狀態(tài)信息發(fā)送給客戶端來實(shí)現(xiàn)遠(yuǎn)程信號處理,并接收來自的客戶端的控制信息以實(shí)現(xiàn)對機(jī)器人的操控。

  客戶機(jī)端是對機(jī)器人進(jìn)行遠(yuǎn)程控制的計(jì)算機(jī),它通過請求與服務(wù)器建立連接之后,將控制信息傳送給服務(wù)器端,服務(wù)器端根據(jù)控制信息實(shí)現(xiàn)對機(jī)器人控制。而且,客戶機(jī)端還能夠接受服務(wù)器傳送過來的機(jī)器人狀態(tài)信息,以便對機(jī)器人獲取的信息進(jìn)行處理。本文的客戶機(jī)端程序通過Connect()與服務(wù)器建立連接,來達(dá)到相互通信的目的。

網(wǎng)絡(luò)通信平臺實(shí)現(xiàn)的流程圖如圖3所示。服務(wù)器端程序是通信平臺的核心部分,本文的服務(wù)器端程序不僅可以實(shí)現(xiàn)與一個遠(yuǎn)程客戶機(jī)端的單對單通信,而且可以與多個客戶機(jī)端同時進(jìn)行通信。客戶機(jī)端程序相對于服務(wù)器端程序比較簡單,沒有了服務(wù)器端程序的監(jiān)聽程序和接受連接程序,但是比服務(wù)器端增加了連接程序。連接程序和監(jiān)聽程序是區(qū)別于服務(wù)器端程序和客戶機(jī)端程序的標(biāo)志。

圖3 通信平臺流程圖

  (1) 監(jiān)聽程序

  Listen()(監(jiān)聽程序)是服務(wù)器程序區(qū)別于客戶機(jī)端程序最主要的標(biāo)志,服務(wù)器端通過監(jiān)聽程序來監(jiān)聽有沒有客戶機(jī)端請求連接。當(dāng)有客戶機(jī)提出連接請求,通過監(jiān)聽程序?qū)⑦B接請求發(fā)至服務(wù)器來建立兩者之間的連接,服務(wù)器與客戶機(jī)才能實(shí)現(xiàn)通信。監(jiān)聽程序還是區(qū)別使用了流式套接字或數(shù)據(jù)報(bào)式套接字的標(biāo)志。監(jiān)聽程序的存在為網(wǎng)絡(luò)通信提供了可靠、無差錯的連接。

 ?。?)連接程序

  Connect()(連接程序)是客戶端中所獨(dú)有的程序,是向服務(wù)器端發(fā)送連接請求所編寫的。連接程序在收到客戶機(jī)端需要連接服務(wù)器的請求之后,就會發(fā)送所需要連接的服務(wù)器IP地址和服務(wù)器端口。發(fā)送之后會等待連接消息的反饋消息,來確認(rèn)客戶機(jī)端是否連接成功。

 ?。?) 接受連接程序

  Accept()(接收連接程序)是客戶機(jī)端對應(yīng)于客戶機(jī)端連接程序而編寫的,該程序可以實(shí)現(xiàn)對連接程序的反饋。當(dāng)程序接收到客戶機(jī)端程序發(fā)來的連接請求時,會對客戶機(jī)反饋回連接是否成功的消息,而且該程序可以獲取要求連接的客戶機(jī)端的IP地址和端口,以便服務(wù)器端可以記錄客戶機(jī)端的連接狀態(tài)信息。

 ?。?)發(fā)送消息程序

  Send()(發(fā)送消息程序)可以實(shí)現(xiàn)控制信息實(shí)時地從遠(yuǎn)程操作者一方發(fā)向服務(wù)器,而機(jī)器人的狀態(tài)信息又通過各種傳感器(如視覺傳感器、力覺傳感器等)獲取后,由服務(wù)器反饋給遠(yuǎn)程客戶端。

 ?。?)接收消息程序

  Receive()(接收消息程序)可以實(shí)現(xiàn)客戶機(jī)或者服務(wù)器端接收來自對方發(fā)送的數(shù)據(jù)消息。該程序在服務(wù)器和客戶機(jī)中都是一致的,配合發(fā)送消息程序?qū)崿F(xiàn)了客戶機(jī)和服務(wù)器之間的數(shù)據(jù)消息通信。

  2.2 實(shí)驗(yàn)結(jié)果

  本文的網(wǎng)絡(luò)通信平臺運(yùn)行之后的界面輸出圖像如圖4所示。

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

  本文設(shè)計(jì)的程序可以支持多個不同的

(a)

(b)

(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ù)的丟失問題

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

  機(jī)器人遠(yuǎn)端遙操作控制的采用并不意味著實(shí)時控制作用被上移到網(wǎng)絡(luò),實(shí)時控制依然由現(xiàn)場的控制單元來完成,而網(wǎng)絡(luò)遙操作更關(guān)注的是對現(xiàn)場信息的監(jiān)視和管理以及對機(jī)器人的非實(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é)論

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

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉