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