机器人信号传输技术方法的研究
2019-01-28杨帅张现征王兴龙陈超
杨帅 张现征 王兴龙 陈超
摘 要:文章介绍了机器人两种信号传输技术方法:利用无线网络技术,通过构建无线网络实验平台,在无线网络技术和Socket通信的基础上,使用Socket通信使服务器和客户端连接,实现信号传输;利用TCP/UDP协议实时传输协议和RTP/RTCP实时传输控制协议,通过网络的传输层协议,利用本地优秀化的网络资源,在客户机和服务器之间提供数字化的信号传输信息。这两种传输方法都提供了人类与机器人控制之间最实时、最有效的信息传递。
关键词:机器人;信号传输;无线网络技术;Socket通信;RTP协议
中图分类号:TP273 文献标志码:A 文章编号:2095-2945(2019)02-0166-02
Abstract: This paper introduces two kinds of signal transmission technology methods of robot: one is using wireless network technology, through constructing wireless network experimental platform, and on the basis of wireless network technology and Socket communication, using Socket communication to connect the server and the client, so as to realize signal transmission; the other one is using the real-time transmission protocol of TCP/UDP and the real-time transmission control protocol of RTP/RTCP, and through the transport layer protocol of the network, using the local excellent network resources, the digital signal transmission information is provided between the client and the server. These two transmission methods provide the most real-time and effective information transmission between human and robot controls.
Keywords: robot; signal transmission; wireless network technology; Socket communication; RTP protocol
1 概述
網络机器人是通过因特网对机器人的行为动作给出指令。但是由于网络机器人的发展技术还不够娴熟,机器人不可能完全达成我们交付给的任务,还需要人为为机器人提供关键性的指导。视频信号是控制人员获取机器人工作状态的最有力途径,就当前网络机器人的视频传输技术难题,本文提出了两种解决办法,一是基于无线网络技术上的传输方法,二是基于TCP/UDP协议的实时传输协议(RTP)和实时传输控制协议(RTCP)实时视频传输的方法。第一种视频传输方法是在研究和分析通信协议、无线网络技术和Socket 通信的基础上,完成了机器人无线网络视频传输系统设计。第二种传输方法是运用网络的传输层协议实现机器人的数字化视频信息传输。
2 无线网络技术下的信号传输
无线网络技术下机器人的视频信号传输主要就是通过基于Socket通信机制的网络通信完成。Socket提供了基于网络环境下进程间通信的一种方法。启动Socket时服务器端过程为socket()-> bind()-> listen()-> accept()->send()/recv()-> closesocket()。首先开启服务器系统,调用系统程序的建立函数、通信连接函数、监听函数、接受请求函数、发送函数和接收函数。建立函数的作用是创立一个通讯套接字,为通信做好准备。通信连接函数的作用是利用Socket通信时两个计算机之间建立起通信,通信时间的长短取决于希望建立通信的计算机的个数。一般情况下个数为5个。之后就调用接受请求函数来同意请求,从而建立连接。连接建立后,两个计算机之间就可以通过调用发送函数和接收函数来发送和接收数据, 客户端和服务器是处在同一地位,数据传送结束后,双方都调用关闭函数关闭套接字。
无线网络技术下的信号传输利用编程软件,通过编写Socket通信的代码来完成程序的初步设计。在编写代码之前,要先用机器人的摄像头录下视频信息,再用Socket建立起操作人员和机器人的联系,并实现视频数据的传输。信号传输过程中,机器人为主端,控制对象为从端。首先通过机器人身上的视觉采集器对机器人的视野信息进行捕捉,最初捕捉到的视频信息是模拟的,通过模数转换器转换成数字形式的视频信号,此时的视频格式不能兼容,所以还要将图像格式进行修改,最终修改成MJPEG标准格式。之后视频数据通过无线发射模块,转换成无线信号。这样,通过网络机器人内部的芯片就会接收这个信号,接收完毕后,就会通过Socket传输到计算机上,操作人员就会在计算机上看到机器人的实时视频图像。计算机服务器端的实现主要由三个部分组成:硬件初始化和套接字,服务器端初始化和发送数据。具体实施过程:首先启动服务器,建立Socket 通信和套接字,时刻探测网络状态,如果网络状态良好则启动连接,运用多线程技术的同时性,一部分线程在机器人的芯片里通过Socket传输给操作人员,另一部分线程在传输过程中对视频信息进行整理。整理完闭之后,操作人员打开计算机就会看到机器人的实时视频图像。
计算机客户端接收从机器人发来的视频数据并在计算机上进行浏览。操作人员接收到的图像数据,还要经过一系列的操作,最后才能读取视频信息。具体过程:运用socket()通信来创建请求连接关系的套接字,通过调用连接函数和机器人建立连接,操作人员发送一个连接请求,其中m_cSocket 和&saddr;分别是套接字的连接请求代码和用来确定客户端想连接的服务器端的套接字地址。控制人员和机器人之间建立了连接之后,就可以进行视频数据传输了,调用接受函数可以接收数据。
3 TCP/UDP+RTP/RTCP协议下机器人的信号传输
TCP是在网络分层中一種可以连接的、有较高稳定性的、可按编程代码的数量为基础的传输层通信协议,IETF的RFC 793负责规定它的工作内容。UDP协议是通报用户协议,它的作用是协助TCP协议处理数据。利用TCP/UDP协议传输视频信号,首先它是需要用户连接的,需要连接的两个用户间通过请求连接信号,建立连接的通信信道。在信道建立完毕后,用户就可以在道路上进行视频信号数据传输了。但要注意的是这条信道在传输完毕后就要暂停使用,在经过一段休整期后才能继续使用。它的优点就是不会发生数据丢失的情况,通信的用户间通讯情况良好。在数据传输时,用户间的通讯情况决定了能否进行新一轮的数据传输。发送方和接收方如果通讯状态较差,将取消这次传输。它提供面向发送方与接受方的视频传输,不是断断续续的,是连续性的。另外,它还能控制网络视频传输时所耗费的数据流量,传输的流量取决于本地网络的地址稳定性。最后,TCP传输是相互的,用户间可以同时相互传递信息。由于信息传输需要的连接步骤较为复杂,所计入的成本也就较高,普通用户不会使用。在传输层的另一个协议UDP由于是面向无连接的,所以方便用户使用。用户可以不用打开负反馈功能,直接通过使用网络UDP协议层的端口将所要传输的视频数据发往另一台主机,因而UDP协议传输的范围很广,途径很多,而且不会存在延误传输的可能性。此外,UDP传输数据是按照依次录下的顺序开始的,彼此的记录间要有空隔。然而UDP也有两面性,它在进行视频传输时可能会发生错误,会出现数据乱序的可能性。而且数据流越大,某些重要的数据越可能乱序甚至消失,从而耽误了视频传输的实时性和准确性。所以UDP主要适用于较短视频数据的实时传输。
实时传输协议RTP是针对Internet上多媒体数据流的一个传输协议,实时传输控制协议RTCP负责管理传输质量在当前应用进程之间交换控制信息。机器人在RTP/RTCP协议下传输视频信号过程中,RTP协议的运行顺序要先于UDP实行,RTP协议本身是一个独立的传输层,不存在建立与下一传输层的连接,因此可以兼容与之匹配的其他传输层的协议,与它们一起被实行。在运行传输程序时,所编写的代码要包含RTP协议的运行代码。在控制端,操作人员必须在写程序的代码时,把RTP的执行程序写入运用RTP的总程序里,然后编写连接的代码,使RTP协议程序与UDP的网络接口建立连接,构成通讯道路。这样在接收端,RTP信息就可以进入到机器人的内部芯片里,因此开发人员必须在机器人芯片上编写进允许RTP协议进入的程序代码。与RTP有密切关系的RTCP可以让接受方向RTP的发送方进行信息的应答,并监测QoS。为了对RTP数据传输的准确性做到最好,需要RTCP协议信息为应用程序找到本地网络的最准确的信息,从而使网络资源起到重要的作用,从而达到资源利用率的最佳,使传输更加实时准确。运用RTCP协议的机器人会周期性地向操作人员发送视频信息,该信息会详细记录机器人的实时工作状况,操作人员可以通过视频信息及时对机器人的运行程序以及工作参数进行修改。
4 结束语
无线网络技术实现了机器人基于无线网络和客户机/服务器模型下信号传输,TCP/UDP协议实现了Socket套接字通信,RTP/RTCP协议为实时有效地掌握机器人的工作状态,这些方法为未来网络机器人视频传输技术的研究提供了新思路。
参考文献:
[1]薛岚,杨帅,孙炳孝.配电网电力载波通信关键技术的研究[J].科技创新与应用,2018(11):140-141.
[2]杨帅,张江,王冰川,等.智慧社区协同管理服务平台系统建设与集成[J].科技创新与应用,2018(4):99-100,104.
[3]杨帅,张楼英,朱静.基于LON总线平台的智慧型水质监测管理系统[J].科技通报,2017,33(4):155-158.
[4]杨帅,王超,朱静.电梯安全监控管理一体化平台的搭建[J].装备制造技术,2016(1):211-213.