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

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

 目前,機(jī)器人遙操作系統(tǒng)已成為機(jī)器人研究的一個熱點。在機(jī)器人遙操作的過程中,本地服務(wù)器與遠(yuǎn)程客戶機(jī)之間的網(wǎng)絡(luò)通信問題是遙操作的關(guān)鍵環(huán)節(jié)。針對機(jī)器人遙操作的通信問題,本文設(shè)計了一種在Windows XP環(huán)境下,運用Socket實現(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ù)報式套接字(SOCK_DGRAM)兩類。流式套接字提供面向連接、可靠的數(shù)據(jù)傳輸服務(wù),數(shù)據(jù)無差錯、無重復(fù)的發(fā)送,且按發(fā)送順序接受。流式套接字實際上是基于TCP協(xié)議實現(xiàn)的。數(shù)據(jù)報式套接字提供無連接服務(wù)。數(shù)據(jù)報以獨立包形式發(fā)送,不提供無錯保證,數(shù)據(jù)可能丟失或重復(fù),并且接受順序混亂。數(shù)據(jù)報套接字實際上是基于UDP協(xié)議實現(xiàn)的。

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

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

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

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

  基于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ù)傳輸和拆除連接。

  (1)連接建立階段:首先服務(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ò)通信平臺程序的實現(xiàn)

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

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

  本文的程序設(shè)計是基于TCP/IP協(xié)議的,使用客戶機(jī)/服務(wù)器模式。本程序設(shè)計調(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 通信平臺程序的實現(xiàn)流程

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

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

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

圖3 通信平臺流程圖

 ?。?) 監(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ī)才能實現(xiàn)通信。監(jiān)聽程序還是區(qū)別使用了流式套接字或數(shù)據(jù)報式套接字的標(biāo)志。監(jiān)聽程序的存在為網(wǎng)絡(luò)通信提供了可靠、無差錯的連接。

 ?。?)連接程序

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

 ?。?) 接受連接程序

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

  (4)發(fā)送消息程序

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

 ?。?)接收消息程序

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

  2.2 實驗結(jié)果

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

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

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

(a)

(b)

(c)

圖4 通信平臺運行界面

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

  3 實驗性能分析

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

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

  機(jī)器人遠(yuǎn)端遙操作控制的采用并不意味著實時控制作用被上移到網(wǎng)絡(luò),實時控制依然由現(xiàn)場的控制單元來完成,而網(wǎng)絡(luò)遙操作更關(guān)注的是對現(xiàn)場信息的監(jiān)視和管理以及對機(jī)器人的非實時控制,所以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)隊列中。需要使用該變量數(shù)值的函數(shù)總是從隊列的前端將其刪除。而另一些寫入該變量的數(shù)值的函數(shù)總是從隊列的末端進(jìn)行操作。
4)在臨界段開始執(zhí)行之前通過使用信號量來關(guān)閉中斷,在其完成之時打開中斷。


  4 結(jié)論

  本文設(shè)計了一種基于TCP協(xié)議的網(wǎng)絡(luò)通信平臺,通過該平臺可以實現(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)點,對機(jī)器人遙操作領(lǐng)域的技術(shù)進(jìn)步將會起到幫助作用。

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

本文中,小編將對工業(yè)機(jī)器人予以介紹,如果你想對工業(yè)機(jī)器人的詳細(xì)情況有所認(rèn)識,或者想要增進(jìn)對工業(yè)機(jī)器人的了解程度,不妨請看以下內(nèi)容哦。

關(guān)鍵字: 工業(yè)機(jī)器人 機(jī)器人 自動化

要問機(jī)器人公司哪家強(qiáng),波士頓動力絕對是其中的佼佼者。近來年該公司在機(jī)器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開發(fā)的機(jī)器人會后空翻,自主爬樓梯等。這不,波士頓動力又發(fā)布了其機(jī)器人組團(tuán)跳男團(tuán)舞的新視頻,表演的機(jī)器人包括...

關(guān)鍵字: 機(jī)器人 BSP 工業(yè)機(jī)器人 現(xiàn)代汽車

近日,一個存在于Windows Mark of the Web (MotW)中的零日漏洞被發(fā)現(xiàn),并正在被攻擊者積極利用。但有趣的是,在微軟官方還沒有對該漏洞做出修復(fù)之前,第三方平臺0patch就提供了該漏洞的修復(fù)補(bǔ)丁。據(jù)...

關(guān)鍵字: PATCH Windows 微軟 APP

蘇州2022年10月17日 /美通社/ -- 如今,數(shù)字中國的發(fā)展浪潮正在向千行百業(yè)推進(jìn),數(shù)字技術(shù)與實體經(jīng)濟(jì)的融合越來越緊密。為更好地實現(xiàn)數(shù)字技術(shù)與千行百業(yè)的深度融合,近年來,互聯(lián)網(wǎng)行業(yè)創(chuàng)新多種技術(shù)手段以促進(jìn)千...

關(guān)鍵字: 機(jī)器人 數(shù)字化 虛擬化 儀表盤

ARM處理器是英國Acorn有限公司設(shè)計的低功耗成本的第一款RISC微處理器。全稱為Advanced RISC Machine。ARM處理器本身是32位設(shè)計,但也配備16位指令集,一般來講比等價32位代碼節(jié)省達(dá)35%,卻...

關(guān)鍵字: 米家 模塊 機(jī)器人

2022年9月30日,廣州——“童心喜迎二十大,棋聚金蘭賀華誕—暨金蘭苑小學(xué)2022年慶國慶棋文化推廣活動”在廣州市荔灣區(qū)金蘭苑小學(xué)隆重舉行。全球領(lǐng)先的人工智能企業(yè)商湯科技為金蘭苑小學(xué)的師生們帶來了象棋教學(xué)的新朋友和好幫...

關(guān)鍵字: 人工智能 機(jī)器人 AI技術(shù)

人形機(jī)器人,再度站上“C位”。2022年9月30日,特斯拉在AI Day大會上發(fā)布了特斯拉人形機(jī)器人Tesla Bot,其被冠名為擎天柱(Optimus),后者為知名電影《變形金剛》中汽車人的領(lǐng)袖。從命名可見,馬斯克對T...

關(guān)鍵字: 人形 機(jī)器人 AI

自2019以來,5G技術(shù)發(fā)展捷報頻傳,通信和算力持續(xù)增強(qiáng),信息傳達(dá)的速度更為高效、精準(zhǔn),抗干擾的能力更強(qiáng)。中國作為率先搶占5G技術(shù)高點的國家,以迅雷之勢發(fā)展5G相關(guān)產(chǎn)業(yè)及其應(yīng)用,機(jī)器人產(chǎn)業(yè)與5G技術(shù)的高度貼合,更是得到了...

關(guān)鍵字: 美格智能 5G AI 機(jī)器人

從制造業(yè)領(lǐng)域,再到醫(yī)療服務(wù)、軍事航天、家庭娛樂、救災(zāi)排險等領(lǐng)域,機(jī)器人作為先進(jìn)制造技術(shù)領(lǐng)域不可或缺的自動化設(shè)備,其場景的應(yīng)用越來越加廣泛。近些年來,在市場需求的拉動下,加之在新一代信息技術(shù)的發(fā)展突破以及國家政策的扶持下,...

關(guān)鍵字: 機(jī)器人 應(yīng)用 規(guī)模

不知不覺間,聽起來遙不可及的機(jī)器人已經(jīng)逐漸深入各行各業(yè),并且開始在我們的日常生活中扮演著愈發(fā)重要的角色,比如我們所熟知的能夠解放雙手的掃地機(jī)器人。事實上,掃地機(jī)器人僅僅是服務(wù)機(jī)器人眾多類別中的一種,而除了服務(wù)機(jī)器人之外,...

關(guān)鍵字: 機(jī)器人 掃地機(jī)器人 物流機(jī)器人

通信技術(shù)

120595 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉