一种基于移动机器人的上下位机通讯系统及方法

文档序号:1686969 发布日期:2020-01-03 浏览:11次 >En<

阅读说明:本技术 一种基于移动机器人的上下位机通讯系统及方法 (Upper and lower computer communication system and method based on mobile robot ) 是由 宋韬 管大为 岳承涛 李育文 郭帅 于 2019-09-19 设计创作,主要内容包括:本发明涉及一种基于移动机器人的上下位机通讯系统,其特征在于,包括TCP封包模块、TCP解包模块、数据解析模块,在上位机及下位机均布置有TCP封包模块、TCP解包模块、数据解析模块,还包括TCP数据传输模块及多线程模块。本发明的另一个技术方案是提供了一种基于移动机器人的上下位机通讯方法。本发明将上位机和下位机的通讯功能剥离出来,分别采用接口的方式提供给上位机和下位机,上位机和下位机可以专心地处理各自的逻辑,而不需要关心具体的传输逻辑,这样可扩展性得到了增强,而且利用protobuf传输协议,可以更快地进行数据传输。(The invention relates to a mobile robot-based upper and lower computer communication system which is characterized by comprising a TCP (transmission control protocol) packaging module, a TCP unpacking module and a data analysis module, wherein the TCP packaging module, the TCP unpacking module and the data analysis module are arranged on an upper computer and a lower computer, and the upper and lower computer communication system also comprises a TCP data transmission module and a multithreading module. The invention further provides a communication method of the upper computer and the lower computer based on the mobile robot. The invention strips the communication function of the upper computer and the lower computer, and provides the communication function for the upper computer and the lower computer respectively in an interface mode, the upper computer and the lower computer can process respective logic with concentration without paying attention to specific transmission logic, thereby enhancing the expandability, and the data transmission can be carried out more quickly by utilizing a protobuf transmission protocol.)

一种基于移动机器人的上下位机通讯系统及方法

技术领域

本发明涉及一种基于移动机器人的上下位机的通讯系统及方法,属于网络通讯技术领域。

背景技术

随着计算机网络的发展和壮大,数据传输已经变成一项必不可少的功能,人们正在研发一种更加快速和安全数据传输的方式,传统的上下位机通讯对于机器人来说已经是非常普及的一项工作了,越来越多的研究都在表明我们急需一项更加完善的上下位机通讯系统来进行数据的传输。传统的上下位机通讯有着可扩展性差、调试困难、不易于系统的维护的缺陷。

发明内容

本发明的目的是:将上位机和下位机的通讯功能剥离出来,增强可扩展性,并且实现更快的数据传输。

为了达到上述目的,本发明的技术方案是提供了一种基于移动机器人的上下位机通讯系统,其特征在于,包括TCP封包模块、TCP解包模块、数据解析模块,在上位机及下位机均布置有TCP封包模块、TCP解包模块、数据解析模块,还包括TCP数据传输模块及多线程模块,其中:

数据解析模块用于:采用Protocol网络协议的形式对需要传输的数据序列化为二进制字节数组后发送给TCP封包模块;采用Protocol网络协议的形式对TCP解包模块输出的二进制字节流数据进行反序列化处理;

TCP封包模块用于将接收自数据解析模块的二进制字节数组进行封包后发送给TCP数据传输模块;

TCP数据传输模块用于将上位机的TCP封包模块产生的数据或者下位机的TCP封包模块产生的数据发送给下位机的TCP解包模块或者上位机的TCP解包模块,TCP数据传输模块中的接收数据的功能是在多线程模块中是实现的,多线程模块用于实现异步接收数据;

TCP解包模块用于将接收自TCP数据传输模块的数据解包为二进制字节流数据。

本发明的另一个技术方案是提供了一种基于移动机器人的上下位机通讯方法,其特征在于,采用上述的上下位机通讯系统,包括以下步骤:

步骤1、客户端发起对移动机器人的数据请求;

步骤2、运用数据解析模块把所要传输的数据进行序列化转换为二进制字节流;

步骤3、运用TCP封包模块把二进制字节流进行封包,并检查数据的正确性;

步骤4,TCP数据传输模块将TCP封包模块输出的数据包发送给移动机器人端的TCP解包模块;

步骤5、移动机器人端的TCP解包模块将接收自TCP数据传输模块的数据解包为二进制字节流数据;

步骤6、移动机器人端的数据解析模块对TCP解包模块输出的二进制字节流数据进行反序列化处理并进行指定数据的回复,并以此往复进行。

本发明将上位机和下位机的通讯功能剥离出来,分别采用接口的方式提供给上位机和下位机,上位机和下位机可以专心地处理各自的逻辑,而不需要关心具体的传输逻辑,这样可扩展性得到了增强,而且利用protobuf传输协议,可以更快地进行数据传输。

附图说明

图1为本发明一种基于移动机器人的上下位机通讯系统的数据流程图;

图2为本发明一种基于移动机器人的上下位机通讯系统的一种实施例的流程示意图。

具体实施方式

下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。

如图1所示,本发明提供了一种基于移动机器人的上下位机通讯系统,其特征在于,包括TCP封包模块、TCP解包模块、数据解析模块,在上位机及下位机均布置有TCP封包模块、TCP解包模块、数据解析模块。本发明还包括TCP数据传输模块及多线程模块。

数据解析模块用于:采用Protocol网络协议的形式对需要传输的数据序列化为二进制字节数组后发送给TCP封包模块;采用Protocol网络协议的形式对TCP解包模块输出的二进制字节流数据进行反序列化处理。

TCP封包模块用于将接收自数据解析模块的二进制字节数组进行封包后发送给TCP数据传输模块;

TCP数据传输模块用于将上位机的TCP封包模块产生的数据或者下位机的TCP封包模块产生的数据发送给下位机的TCP解包模块或者上位机的TCP解包模块,TCP数据传输模块中的接收数据的功能是在多线程模块中是实现的,多线程模块用于实现异步接收数据;

TCP解包模块用于将接收自TCP数据传输模块的数据解包为二进制字节流数据。

数据解析模块采用Protocol网络协议的形式对需要传输的数据进行序列化和反序列化,并把序列化后的数据传输给TCP封包模块进行数据的封包并通过TCP数据传输模块进行数据传输。数据解析模块利用Protocol网络协议反序列化数据,并把反序列化后的数据发送给TCP数据解包模块进行解包并传输给上位机进行数据的显示。TCP封包模块把需要传输的数据转化为二进制流,并存入字节数组,数据解包模块把数据分成若干个长度进行接收,建立了一个网络通讯的桥梁,数据再通过TCP数据传输模块进行传输。

参考图2,本发明还提供了一种基于移动机器人的上下位机通讯方法,包括以下步骤:

(1)客户端发起对移动机器人的数据请求,请求需要客户端和移动机器人拥有固定的IP地址和端口号,并且不同大类的请求必须要有不同的端口号,以便于分类和查找;

(2)运用数据解析模块把所要传输的数据进行序列化转换为二进制字节流,这里使用了Protocol自己封装好的序列化方法以便于对数据进行序列化和反序列化的操作;

(3)运用TCP封包模块把二进制字节流进行封包,并检查数据的正确性和准确性。

(4)数据通过TCP数据传输模块逐包传输给移动机器人,在预定义的一个字符数组区间里面,规定每一次传输过程中最多能够传递的字符数组的大小,为了能够避免内存泄漏等问题,需要规定最大的数组区间的大小,利用指针的移动来对整包的数据进行分割和传输;

(5)运用TCP数据解包模块把传输给移动机器人的数据进行解包,解包成二进制字节流数据。解包和封包是一个完全截然相反的过程,但是原理是一样的,那就是利用字符数组和指针对二进制流数据进行分割和传输;

(6)移动机器人运用数据解析模块对二进制字节流进行解析,生成反序列化后的文件并进行指定数据的回复。

6页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种适用于USB-PD协议的BMC码异步接收方法及存储设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!