機器人遙操作網絡通信平臺的設計
本文的程序設計是基于TCP/IP協議的,使用客戶機/服務器模式。本程序設計調試的網絡環境為采用Windows XP中的 TCP/IP協議配置的局域網,服務器的的IP地址是“192.168.0.104”,通信端口可任意設置,本文設為4231。
2.1 通信平臺程序的實現流程
服務器是控制機器人的主控制臺,通過服務器可以控制機器人的爬行、檢測以及轉向等。本文中服務器端程序,主要是建立一個能夠讓客戶端連接的端口,并通過監聽,與需要連接的客戶端建立連接,并與其進行數據信息通信,將機器人傳感器獲取的機器人的狀態信息發送給客戶端來實現遠程信號處理,并接收來自的客戶端的控制信息以實現對機器人的操控。
客戶機端是對機器人進行遠程控制的計算機,它通過請求與服務器建立連接之后,將控制信息傳送給服務器端,服務器端根據控制信息實現對機器人控制。而且,客戶機端還能夠接受服務器傳送過來的機器人狀態信息,以便對機器人獲取的信息進行處理。本文的客戶機端程序通過Connect()與服務器建立連接,來達到相互通信的目的。
網絡通信平臺實現的流程圖如圖3所示。服務器端程序是通信平臺的核心部分,本文的服務器端程序不僅可以實現與一個遠程客戶機端的單對單通信,而且可以與多個客戶機端同時進行通信。客戶機端程序相對于服務器端程序比較簡單,沒有了服務器端程序的監聽程序和接受連接程序,但是比服務器端增加了連接程序。連接程序和監聽程序是區別于服務器端程序和客戶機端程序的標志。
圖3 通信平臺流程圖
(1) 監聽程序
Listen()(監聽程序)是服務器程序區別于客戶機端程序最主要的標志,服務器端通過監聽程序來監聽有沒有客戶機端請求連接。當有客戶機提出連接請求,通過監聽程序將連接請求發至服務器來建立兩者之間的連接,服務器與客戶機才能實現通信。監聽程序還是區別使用了流式套接字或數據報式套接字的標志。監聽程序的存在為網絡通信提供了可靠、無差錯的連接。
(2)連接程序
Connect()(連接程序)是客戶端中所獨有的程序,是向服務器端發送連接請求所編寫的。連接程序在收到客戶機端需要連接服務器的請求之后,就會發送所需要連接的服務器IP地址和服務器端口。發送之后會等待連接消息的反饋消息,來確認客戶機端是否連接成功。
(3) 接受連接程序
Accept()(接收連接程序)是客戶機端對應于客戶機端連接程序而編寫的,該程序可以實現對連接程序的反饋。當程序接收到客戶機端程序發來的連接請求時,會對客戶機反饋回連接是否成功的消息,而且該程序可以獲取要求連接的客戶機端的IP地址和端口,以便服務器端可以記錄客戶機端的連接狀態信息。
(4)發送消息程序
Send()(發送消息程序)可以實現控制信息實時地從遠程操作者一方發向服務器,而機器人的狀態信息又通過各種傳感器(如視覺傳感器、力覺傳感器等)獲取后,由服務器反饋給遠程客戶端。
(5)接收消息程序
Receive()(接收消息程序)可以實現客戶機或者服務器端接收來自對方發送的數據消息。該程序在服務器和客戶機中都是一致的,配合發送消息程序實現了客戶機和服務器之間的數據消息通信。
2.2 實驗結果
本文的網絡通信平臺運行之后的界面輸出圖像如圖4所示。
tcp/ip相關文章:tcp/ip是什么
評論