CN110505309A - 网络通信方法、装置、设备及存储介质 - Google Patents
网络通信方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110505309A CN110505309A CN201910818383.6A CN201910818383A CN110505309A CN 110505309 A CN110505309 A CN 110505309A CN 201910818383 A CN201910818383 A CN 201910818383A CN 110505309 A CN110505309 A CN 110505309A
- Authority
- CN
- China
- Prior art keywords
- client
- server
- service end
- control instruction
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1689—Teleoperation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
本发明公开了一种网络通信方法、装置、设备及存储介质,设置第一服务端和第二服务端,通过第一服务端将接收到的机器人状态信息转发至服务器中的第一客户端,通过第二服务端接收控制指令,其中,控制指令由服务器中的第二客户端发送,控制指令通过服务器根据机器人状态信息确定;根据控制指令驱动机器人行走。本技术方案中两个服务端分别管理上传数据和下发数据,解决了高频率数据交互时,由于网络堵塞等等原因导致网络断开,无法保证数据传输的实时性和稳定性的问题,实现数据传输的实时性和稳定性。
Description
技术领域
本发明实施例涉及机器人技术领域,尤其涉及一种网络通信方法、装置、电子设备及存储介质。
背景技术
随着科技的日益进步,智能化设备也遍布人们的生活中,人们的购物方式也发生了翻天覆地的变化。移动售货机器人不受时间和地点的限制,越来越受到欢迎。
移动售货机器人一般采用的是导航装置+控制装置架构,导航装置将采集的机器人的状态信息发送至控制装置,控制装置将状态信息转发至终端,终端根据状态信息,生成控制指令,并将控制指令发送至控制装置。控制装置接收控制指令并发送控制底盘驱动机器人行走。
导航装置、控制装置和终端之间的通信要求实时性,由于数据交互量大,一般采用网络通信。然而,高频率数据交互时,由于网络堵塞等等原因导致网络断开,无法保证数据传输的实时性和稳定性。
发明内容
本发明提供一种网络通信方法、装置、设备及存储介质,实现高频率数据交互时,保证数据传输的实时性和稳定性。
第一方面,本发明实施例提供了一种网络通信方法,所述方法应用于底盘控制器,所述方法包括:
设置第一服务端和第二服务端;
通过所述第一服务端将接收到的机器人状态信息转发至服务器中的第一客户端;
通过第二服务端接收控制指令,其中,所述控制指令由所述服务器中的第二客户端发送,所述控制指令通过服务器根据机器人状态信息确定;
根据所述控制指令驱动机器人行走。
第二方面,本发明实施例还提供了一种网络通信方法,所述方法应用于服务器,所述方法包括:
设置第一客户端和第二客户端;
通过所述第一客户端接收机器人状态信息;其中,所述机器人状态信息由底盘控制器中的第一服务器发送;
根据所述机器人状态信息生成控制指令;
通过所述第二客户端将所述控制指令发送至所述底盘控制器中的第二服务端,以使底盘控制器根据控制指令驱动机器人行走。
第三方面,本发明实施例还提供了一种网络通信装置,所述装置配置于底盘控制器,所述装置包括:
第一设置模块,用于设置第一服务端和第二服务端;
第一发送模块,用于通过所述第一服务端将接收到的机器人状态信息转发至服务器中的第一客户端;
第一接收模块,用于通过第二服务端接收控制指令,其中,所述控制指令由所述服务器中的第二客户端发送,所述控制指令通过服务器根据机器人状态信息确定;
驱动模块,用于根据所述控制指令驱动机器人行走。
第四方面,本发明实施例还提供了一种网络通信装置,所述装置配置于服务器,所述方法包括:
第二设置模块,用于设置第一客户端和第二客户端;
第二接收模块,用于通过所述第一客户端接收机器人状态信息;其中,所述机器人状态信息由底盘控制器中的第一服务器发送;
指令生成模块,用于根据所述机器人状态信息生成控制指令;
第二发送模块,用于通过所述第二客户端将所述控制指令发送至所述底盘控制器中的第二服务端,以使底盘控制器根据控制指令驱动机器人行走。
第五方面,本发明实施例还提供了一种底盘控制器,所述底盘控制器包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述第一方面中所述的网络通信方法。
第六方面,本发明实施例还提供了一种服务器,所述服务器包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述第二方面中所述的网络通信方法。
第七方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面中或第二方面中任一所述的网络通信方法。
本发明实施例通过设置第一服务端和第二服务端,通过第一服务端将接收到的机器人状态信息转发至服务器中的第一客户端,通过第二服务端接收控制指令,其中,控制指令由服务器中的第二客户端发送,控制指令通过服务器根据机器人状态信息确定;根据控制指令驱动机器人行走的技术方案,两个服务端分别管理上传数据和下发数据,解决了高频率数据交互时,由于网络堵塞等等原因导致网络断开,无法保证数据传输的实时性和稳定性的问题,实现数据传输的实时性和稳定性。
附图说明
图1为本发明实施例提供的网络通信方法的流程示意图;
图2为本发明实施例提供的网络通信方法的流程示意图;
图3为本发明实施例提供的网络通信系统的结构示意图;
图4为发明实施例提供的单个服务器的数据传输效果图;
图5为发明实施例提供的双服务器的数据传输效果图;
图6为本发明实施例提供的网络通信装置的结构示意图;
图7为本发明实施例提供的网络通信装置的结构示意图;
图8为本发明实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施例
图1为本发明实施例提供的网络通信方法的流程示意图,本实施例可适用于移动售货机器人与服务器进行网络通信的情况,该方法可以由网络通信装置来执行,该装置可以采用硬件和/或软件的方式来实现,所述方法应用于底盘控制器,所述网络通信装置配置在移动售货机器人的底盘控制器中。
移动售货机器人可以应用即时定位与地图构建(simultaneous localizationand mapping,SLAM)算法及图像识别技术,通过检测人群密集程度,来自定义导航和智能规划路径,向人群密集的区域移动,主动寻找和识别潜在客户,实现“货到人”的购物体验。用户可以通过扫码一键召唤机器人过来购买零食饮料,也可以在移动售货机器正在巡游的时候随时叫停,购买所需要的商品。
由于现有处理器的限制,移动售货机器人需要将机器人的状态信息发送至服务器进行处理之后,根据服务器返回的控制指令驱动机器人行走。由于移动移动售货机器人需要根据服务器返回的控制指令行走,售货机器人的底盘控制器与服务器数据传输的实时性和稳定性就尤为重要。
如图1所示,本发明实施例提供的网络通信方法主要包括如下步骤:
S101、设置第一服务端和第二服务端。
在本实施例中,服务端可以理解为能够和服务器建立网络连接,并进行数据或信息传输的端口,即接收或者发送数据或者信息的端口。在本实施例中,第一服务端可以理解为上传数据或者信息的端口,第二服务器可以理解为接收数据或者信息的端口。
每个移动售货机器人都拥有一个底盘控制器,每个底盘控制器中均设置两个服务端。需要说明的是,底盘控制器可以通过服务端调用服务器中的程序或者存储的数据资源。
需要说明的是,底盘控制器中设置两个服务端是一种优选实例,可以根据实际数据传输需求,在底盘控制器中设置多个服务端。其中底盘控制器中服务端的个数与服务器中客户端的个数可以相等,也可以不相等。
进一步的,在一个通信网络中。可以仅存在一个移动售货机器人,也可以存在多个移动售货机器人。可以仅存在一个服务器,也可以存在多服务器。移动售货机器人中的底盘控制器与服务器可以是多对一的网络连接关系,即在一个通信网络中,可以存在多个移动售货机器人中的底盘控制器与同一服务器进行网络连接。
进一步的,根据TCP/IP协议通过改写代码的形式在底盘控制器中设置第一服务端和第二服务端。在底盘控制器中设置服务端的方式,本实施例不再赘述,可以参照现有的服务端设置方式进行设置。
S102、通过第一服务端将接收到的机器人状态信息转发至服务器中的第一客户端。
在本实施例中,机器人状态信息可以理解为与底盘相关的状态信息,机器人的状态信息是大数据量的数据信息。比如:一些运动姿态信息:角速度、线速度、位姿等等中的一种或者多种。
接收到的机器人状态信息可以理解为接收到移动售货机器人的传感器反馈的状态信息。需要说明的是,机器人的状态信息可以由机器人上的传感器进行采集。例如可以通过角速度传感器获取机器人的旋转角速度,可以通过安装在移动售货机器人上的摄像头获取机器人环境图像,根据环境图像和位姿确定算法确定机器人位姿。通过安装在移动售货机器人上的速度传感器获取线速度,等等。机器人的状态信息通过预先安装在移动售货机器人上的传感器进行获取。可以根据实际情况获取相应的状态信息,本实施例中,仅对采集状态信息的方式进行说明,而非限定。
在本实施例中,底盘控制器通过第一服务端与第一客户端的网络连接,将接收到的机器人状态信息上传至服务器中,以使服务器根据机器人状态信息进行相应的处理或者决策。
S103、通过第二服务端接收控制指令,其中,控制指令由服务器中的第二客户端发送,控制指令通过服务器根据机器人状态信息确定。
在本实施例中,控制指令可以理解为控制机器人移动或者行走的指令。
在本实施例中,由于TCP/IP协议可以独立于网络硬件系统,可以运行在广域网,更适合于互联网,因此,所述第一服务端与所述第一客户端的通信连接采用TCP/IP协议。所述第二服务端与所述第二客户端的通信连接采用TCP/IP协议。
这样,可以使得第一服务端上传机器人的状态信息,第二服务端接收服务器下发的控制指令,两个服务端分别执行不同的数据传输方向,解决了由于网络堵塞等等原因导致网络断开,无法保证数据传输的实时性和稳定性的问题。
S104、根据控制指令驱动机器人行走。
在本实施例中,根据控制指令驱动机器人行走可以理解为根据控制指令中的行驶速度、旋转角度等确定移动售货机器人的驱动电机所需的电压,以按照上述电压使驱动电机驱动主动轮产生相应的行驶速度,或者使驱动电机驱动从动轮产生相应的角速度,实现移动售货机器人的转弯行走。
需要说明的是,在机器人领域智中,根据控制指令驱动机器人行走具有多种方式,可以根据实际情况进行选择,本实施中仅对根据控制指令驱动机器人行走的方式进行说明,而非限定。
本实施例通过设置第一服务端和第二服务端,通过第一服务端将接收到的机器人状态信息转发至服务器中的第一客户端,通过第二服务端接收控制指令,其中,控制指令由服务器中的第二客户端发送,控制指令通过服务器根据机器人状态信息确定;根据控制指令驱动机器人行走的技术方案,两个服务端分别管理上传数据和下发数据,解决了高频率数据交互时,由于网络堵塞等等原因导致网络断开,无法保证数据传输的实时性和稳定性的问题,实现数据传输的实时性和稳定性。
在上述实施例的基础上,所述方法还包括:通过所述第一服务端接收状态反馈信息,所述状态反馈信息由所述服务器中的第一客户端发送。
在本实施例中,状态反馈信息可以理解为确定机器人状态信息是否上传成功的信息。其中,状态反馈信息包括成功信息和失败信息。如果服务器通过第一客户端接收到机器人的状态信息,并且解析成功,则将成功信息通过第一服务端和第一客户端的网络连接发送至底盘控制器。如果服务器通过第一客户端接收到机器人的状态信息,并未解析成功,则将失败信息通过第一服务端和第一客户端的网络连接发送至底盘控制器。
底盘控制器接收到成功信息后,发送下一机器人状态信息。如果接收到失败信息,则重新发送当前机器人状态信息。这样,可以保证上传至服务器的机器人状态信息都能够成功被解析。
在上述实施例的基础上,所述方法还包括:在预设时长内,所述第一服务端未接收到状态反馈信息,且所述第二服务端未接收到所述控制指令,则断开第一服务端与第一客户端的通信连接,断开第二服务端与第二客户端的通信连接,并启动监听模式。
预设时长是指根据移动售货机器人处理器芯片的工作状态确定的一个时长。在本实施例中预设时长可以在50-200ms内任意选择。
当底盘控制器在预设时间内没有接收到来自服务器的第一客户端或第二客户端中发送的网络包,底盘控制器31会主动断开第一服务端311和第二服务端312,重新进入监听模式,以备被服务器快速重新连接,同时会控制售货机器人停止,保证安全。
在上述实施例的基础上,所述方法还包括:接收到服务器中的第一客户端和/或第二客户端发送的连接请求时,建立所述第一服务端与所述第一客户端之间的通信连接,建立所述第二服务端与所述第二客户端之间的通信连接。
在本实施例中,底盘控制器进行监听模式后,监听服务器发送的连接请求,当接收到服务器发送的连接请求后,建立第一服务端与第一客户端之间的通信连接,建立第二服务端与第二客户端之间的通信连接,实现底盘控制器和服务器的快速重连。
上述连接请求可以由第一客户端发送至第一服务端,也可以由第二客户端发送至第二服务端。本实施例中,不对连接请求的发送方式进行限定。
图2为本发明实施例提供的网络通信方法的流程示意图,本实施例可适用于移动售货机器人与服务器进行网络通信的情况,该方法可以由网络通信来执行,该装置可以采用硬件和/或软件的方式来实现,所述方法应用于服务器中,所述网络通信装置配置在服务器中。
如图2所示,本发明实施例提供的网络通信方法主要包括如下步骤:
S201、设置第一客户端和第二客户端。
在本实施例中,客户端可以理解为能够和底盘控制器建立网络连接,并进行数据或信息传输的端口。在本实施例中,第一客户端可以理解为接收底盘控制器上传的数据或者信息的端口,第二服务器可以理解为向底盘控制发送数据或者信息的端口。
需要说明的是,服务器中设置两个客户端是一种优选实例,可以根据实际数据传输需求,在底盘控制器中设置多个客户端。其中,服务器中客户端的个数与底盘控制器中服务端端的个数可以相等,也可以不相等。
进一步的,根据TCP/IP协议通过改写代码的形式在服务器中设置第一客户端和第二客户端。在服务器中设置客户端的方式,本实施例不再赘述,可以参照现有的客户端设置方式进行设置。
S202、通过第一客户端接收机器人状态信息;其中,机器人状态信息由底盘控制器中的第一服务器发送。
通过第一客户端接收机器人状态信息是指通过服务器的第一客户端与底盘控制器中的第一服务端的网络连接,接收底盘控制器发送的机器人状态信息。
S203、根据机器人状态信息生成控制指令。
在本实施例中,控制指令可以理解为控制机器人移动或者行走的指令。
服务器接收到机器人状态信息后,根据机器人状态信息以及预设算法确定控制指令。
S204、通过第二客户端将控制指令发送至底盘控制器中的第二服务端,以使底盘控制器根据控制指令驱动机器人行走。
第二服务端和第二客户端进行网络通信,用于将服务器中的控制指令发送至底盘控制器。这样,可以使得第一客户端接收机器人的状态信息,第二客户端下发控制指令,两个客户端分别执行不同的数据传输方向,解决了由于网络堵塞等等原因导致网络断开,无法保证数据传输的实时性和稳定性的问题。
本实施例通过设置第一客户端和第二客户端,通过第一客户端接收机器人状态信息;其中,机器人状态信息由底盘控制器中的第一服务器发送,根据机器人状态信息生成控制指令,通过第二客户端将控制指令发送至底盘控制器中的第二服务端,以使底盘控制器根据控制指令驱动机器人行走的技术方案,两个客户端分别管理接收上传数据和下发数据,解决了高频率数据交互时,由于网络堵塞等等原因导致网络断开,无法保证数据传输的实时性和稳定性的问题,实现数据传输的实时性和稳定性。
在上述实施例的基础上,所述方法还包括:通过所述第二客户端接收指令反馈信息,所述指令反馈信息由所述服务器中的第二客户端发送。
在本实施例中,指令反馈信息可以理解为服务器确定控制指令是否成功下发至底盘控制器的信息。其中,指令反馈信息包括下发成功信息和下发失败信息。
如果底盘控制器通过第二服务端接收到控制指令,并且解析成功,则将下发成功信息通过第二服务端和第二客户端的网络连接发送至服务器。如果底盘控制器通过第二服务端接收到控制指令,并未解析成功,则将下发失败信息通过第二服务端和第二客户端的网络连接发送至服务器。
服务器接收到下发成功信息后,发送下一控制指令。如果接收到下发失败信息,则重新发送当前控制指令。这样,可以保证下发至移动售货机器人的每个控制指令被成功执行。
在上述实施例的基础上,所述方法还包括:在预设时长内,所述第二服务端未接收到指令反馈信息,且所述第一客户端未接收到所述机器人状态信息,则断开第一客户端与第一服务端的通信连接,断开第二客户端与第二服务端的通信连接,并启动重连模式,向底盘控制器发送连接请求。
预设时长是指根据移动售货机器人处理器芯片的工作状态确定的一个时长。在本实施例中预设时长可以在50-200ms内任意选择。
当服务器在预设时间内没有接收到来自底盘控制器两个服务端中的任意一个端口发送的网络包,服务器会主动断开第一客户端和第二客户端,同时发送连接请求,实现快速重连。
图3为本发明实施例提供的网络通信系统的结构示意图,如图3所示,网络通信系统包括底盘控制器31和服务器32,其中底盘控制器中设置有第一服务端311和第二服务端312,服务器32中设置有第一客户端321和第二客户端322。
第一服务端311和第一客户端321进行网络通信,用于将底盘控制器31中的机器人状态信息上传至服务器32中。
机器人状态信息是指与底盘相关的大数据量信息的,比如一些运动姿态信息:角速度、线速度、位姿等等。
服务器32接收到机器人状态信息后,根据机器人状态信息以及预设算法确定控制指令。
第二服务端312和第二客户端323进行网络通信,用于将服务器中的控制指令发送至底盘控制器32。
控制指令可以理解为控制机器人行走的指令,例如:可以是转弯指令,直行指令,爬坡指令等。其中,控制指令包括行驶速度,控制底盘驱动的速度和角速度等等。
底盘控制器32接收到控制指令后,根据控制指令,驱动移动售货机器人的执行机构执行相应的动作,实现移动售货机器人的行走。
当底盘控制器31在预设时间内没有接收到来自服务器32的两个客户端中的任意一个端口发送的网络包,底盘控制器31会主动断开第一服务端311和第二服务端312,重新进入监听模式,以备被服务器快速重新连接,同时会控制售货机器人停止,保证安全。在本实施例中,预设时间为50-200ms间任意选取的数字。
当服务器32在预设时间内没有接收到来自底盘控制器31两个服务端中的任意一个端口发送的网络包,服务器32会主动断开第一客户端321和第二客户端322,同时快速重连。
在整个网络通讯过程中,开启两个服务端能够解决嵌入式领域利用网络进行大数据、高频率运动控制的实时和稳定问题,以及网络断开的快速重连问题。即在足够短的时间能够高频率进行大数据量传输,即实现实时控制,同时又保证了尽可能少的网络通讯断开以及网络快速重连,即实现稳定控制。
为了增加通讯实时性,减少软件开发量和硬件成本,我们采用W5500这款具备硬件网络协议栈芯片,这样,软件层的网络协议栈就不需要部署到单片机中运行,直接在W5500这种硬件上完成,而且处理速度块,保证了数据交互的硬实时性,同时在满足功能的情况下能够减少开发量和减少硬件成本。
图4为发明实施例提供的单个服务器的数据传输效果图。如图4所示,通过实际网络测试工具,采用一个服务端,即一个端口进行上传和下载,监控到的报文会有很多黑色的重传报文,而这些重传报文会很大概率导致服务器无法及时接收到数据,导致控制延迟,甚至网络断开几率大大提升,影响控制稳定性,出现这个的原因在于采用一个服务端时,当数据量大和通讯频率高的情况下,很容易出现丢帧和网络堵塞。
图5为发明实施例提供的双服务器的数据传输效果图。如图5所示,采用两个服务端,一个服务端用来接收指令,另一个服务端用来上报数据,基本没有黑色的重传报文,从数据实验上能看出,两个服务端分管上报和下发数据是能解决网络大数据、高频率传输的实时和稳定控制问题。
图6为本发明实施例提供的网络通信装置的结构示意图,本实施例可适用于移动售货机器人与服务器进行网络通信的情况,该装置可以采用硬件和/或软件的方式来实现,所述网络通信装置配置在移动售货机器人的底盘控制器中。
如图6所示,本发明实施例提供的网络通信装置主要包括如下模块:
第一设置模块61,用于设置第一服务端和第二服务端;
第一发送模块62,用于通过所述第一服务端将接收到的机器人状态信息转发至服务器中的第一客户端;
第一接收模块63,用于通过第二服务端接收控制指令,其中,所述控制指令由所述服务器中的第二客户端发送,所述控制指令通过服务器根据机器人状态信息确定;
驱动模块64,用于根据所述控制指令驱动机器人行走。
本发明实施例通过设置第一服务端和第二服务端,通过第一服务端将接收到的机器人状态信息转发至服务器中的第一客户端,通过第二服务端接收控制指令,其中,控制指令由服务器中的第二客户端发送,控制指令通过服务器根据机器人状态信息确定;根据控制指令驱动机器人行走的技术方案,两个服务端分别管理上传数据和下发数据,解决了高频率数据交互时,由于网络堵塞等等原因导致网络断开,无法保证数据传输的实时性和稳定性的问题,实现数据传输的实时性和稳定性。
具体的,所述第一服务端与所述第一客户端的通信连接采用TCP/IP协议;所述第二服务端与所述第二客户端的通信连接采用TCP/IP协议。
进一步的,所述装置还包括:
第一反馈信息接收模块,用于通过所述第一服务端接收状态反馈信息,所述状态反馈信息由所述服务器中的第一客户端发送。
进一步的,所述装置还包括:
第一监听模式启动模块,用于在预设时长内,所述第一服务端未接收到状态反馈信息,且所述第二服务端未接收到所述控制指令,则断开第一服务端与第一客户端的通信连接,断开第二服务端与第二客户端的通信连接,并启动监听模式。
进一步的,所述装置还包括:
第一通信连接建立模块,用于接收到服务器中的第一客户端和/或第二客户端发送的连接请求时,建立所述第一服务端与所述第一客户端之间的通信连接,建立所述第二服务端与所述第二客户端之间的通信连接。
本发明实施例所提供的网络通信装置可执行本发明任意实施例所提供的网络通信方法,具备执行方法相应的功能模块和有益效果。
图7为本发明实施例提供的网络通信装置的结构示意图,本实施例可适用于移动售货机器人与服务器进行网络通信的情况,该装置可以采用硬件和/或软件的方式来实现,所述网络通信装置配置在服务器中。
第二设置模块71,用于设置第一客户端和第二客户端;
第二接收模块72,用于通过所述第一客户端接收机器人状态信息;其中,所述机器人状态信息由底盘控制器中的第一服务器发送;
指令生成模块73,用于根据所述机器人状态信息生成控制指令;
第二发送模块74,用于通过所述第二客户端将所述控制指令发送至所述底盘控制器中的第二服务端,以使底盘控制器根据控制指令驱动机器人行走。
本实施例通过设置第一客户端和第二客户端,通过第一客户端接收机器人状态信息;其中,机器人状态信息由底盘控制器中的第一服务器发送,根据机器人状态信息生成控制指令,通过第二客户端将控制指令发送至底盘控制器中的第二服务端,以使底盘控制器根据控制指令驱动机器人行走的技术方案,两个客户端分别管理接收上传数据和下发数据,解决了高频率数据交互时,由于网络堵塞等等原因导致网络断开,无法保证数据传输的实时性和稳定性的问题,实现数据传输的实时性和稳定性。
进一步的,所述装置还包括:
第二反馈信息接收模块,用于通过所述第二客户端接收指令反馈信息,所述指令反馈信息由所述服务器中的第二客户端发送。
进一步的,所述装置还包括:
第二监听模式启动模块,用于在预设时长内,所述第二服务端未接收到指令反馈信息,且所述第一客户端未接收到所述机器人状态信息,则断开第一客户端与第一服务端的通信连接,断开第二客户端与第二服务端的通信连接,并并启动重连模式,向底盘控制器发送连接请求。
本发明实施例所提供的网络通信装置可执行本发明任意实施例所提供的网络通信方法,具备执行方法相应的功能模块和有益效果。
图8为本发明实施例提供的一种设备的结构示意图,如图8所示,该设备包括处理器80和存储器81;设备中处理器80的数量可以是一个或多个,图8中以一个处理器80为例;设备中的处理器80、存储器81、输入装置82和输出装置83可以通过总线或其他方式连接,图8中以通过总线连接为例。
存储器81作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的网络通信方法对应的程序指令/模块(例如,网络通信装置中的第一设置模块61、第一发送模块62、第一接收模块63和驱动模块64,又如,网络通信装置中的第二设置模块71、第二接收模块72、指令生成模块73和第二发送模块74,)。处理器80通过运行存储在存储器81中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的网络通信方法。
存储器81可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器81可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器81可进一步包括相对于处理器80远程设置的存储器,这些远程存储器可以通过通信连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
需要说明的是,本实施例中的执行设备为底盘控制器时,处理器80通过运行存储在系统存储器81中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的网络通信方法,该方法包括:
设置第一服务端和第二服务端;
通过所述第一服务端将接收到的机器人状态信息转发至服务器中的第一客户端;
通过第二服务端接收控制指令,其中,所述控制指令由所述服务器中的第二客户端发送,所述控制指令通过服务器根据机器人状态信息确定;
根据所述控制指令驱动机器人行走。
当然,本领域技术人员可以理解,处理器81还可以实现本发明任意实施例所提供的网络通信的方法的技术方案。该终端的硬件结构以及功能可参见本实施例的内容解释。
需要说明的是,本实施例中的执行设备为服务器时,处理器80通过运行存储在系统存储器81中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的网络通信方法,该方法包括:
设置第一客户端和第二客户端;
通过所述第一客户端接收机器人状态信息;其中,所述机器人状态信息由底盘控制器中的第一服务器发送;
根据所述机器人状态信息生成控制指令;
通过所述第二客户端将所述控制指令发送至所述底盘控制器中的第二服务端,以使底盘控制器根据控制指令驱动机器人行走。
当然,本领域技术人员可以理解,处理器80还可以实现本发明任意实施例所提供的网络通信方法的技术方案。该终端的硬件结构以及功能可参见本实施例的内容解释。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种网络通信方法,所述方法应用于底盘控制器,所述方法包括:
设置第一服务端和第二服务端;
通过所述第一服务端将接收到的机器人状态信息转发至服务器中的第一客户端;
通过第二服务端接收控制指令,其中,所述控制指令由所述服务器中的第二客户端发送,所述控制指令通过服务器根据机器人状态信息确定;
根据所述控制指令驱动机器人行走。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的网络通信方法中的相关操作.
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种网络通信方法,所述方法应用于服务器,所述方法包括:
设置第一客户端和第二客户端;
通过所述第一客户端接收机器人状态信息;其中,所述机器人状态信息由底盘控制器中的第一服务器发送;
根据所述机器人状态信息生成控制指令;
通过所述第二客户端将所述控制指令发送至所述底盘控制器中的第二服务端,以使底盘控制器根据控制指令驱动机器人行走。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的网络通信方法中的相关操作.
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述网络通信装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (13)
1.一种网络通信方法,其特征在于,所述方法应用于底盘控制器,所述方法包括:
设置第一服务端和第二服务端;
通过所述第一服务端将接收到的机器人状态信息转发至服务器中的第一客户端;
通过第二服务端接收控制指令,其中,所述控制指令由所述服务器中的第二客户端发送,所述控制指令通过服务器根据机器人状态信息确定;
根据所述控制指令驱动机器人行走。
2.根据权利要求1所述的方法,其特征在于,所述第一服务端与所述第一客户端的通信连接采用TCP/IP协议;所述第二服务端与所述第二客户端的通信连接采用TCP/IP协议。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过所述第一服务端接收状态反馈信息,所述状态反馈信息由所述服务器中的第一客户端发送。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在预设时长内,所述第一服务端未接收到状态反馈信息,且所述第二服务端未接收到所述控制指令,则断开第一服务端与第一客户端的通信连接,断开第二服务端与第二客户端的通信连接,并启动监听模式。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
接收到服务器中的第一客户端和/或第二客户端发送的连接请求时,建立所述第一服务端与所述第一客户端之间的通信连接,建立所述第二服务端与所述第二客户端之间的通信连接。
6.一种网络通信方法,其特征在于,所述方法应用于服务器,所述方法包括:
设置第一客户端和第二客户端;
通过所述第一客户端接收机器人状态信息;其中,所述机器人状态信息由底盘控制器中的第一服务器发送;
根据所述机器人状态信息生成控制指令;
通过所述第二客户端将所述控制指令发送至所述底盘控制器中的第二服务端,以使底盘控制器根据控制指令驱动机器人行走。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
通过所述第二客户端接收指令反馈信息,所述指令反馈信息由所述服务器中的第二客户端发送。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在预设时长内,所述第二服务端未接收到指令反馈信息,且所述第一客户端未接收到所述机器人状态信息,则断开第一客户端与第一服务端的通信连接,断开第二客户端与第二服务端的通信连接,并启动重连模式,向底盘控制器发送连接请求。
9.一种网络通信装置,其特征在于,所述装置配置于底盘控制器,所述装置包括:
第一设置模块,用于设置第一服务端和第二服务端;
第一发送模块,用于通过所述第一服务端将接收到的机器人状态信息转发至服务器中的第一客户端;
第一接收模块,用于通过第二服务端接收控制指令,其中,所述控制指令由所述服务器中的第二客户端发送,所述控制指令通过服务器根据机器人状态信息确定;
驱动模块,用于根据所述控制指令驱动机器人行走。
10.一种网络通信装置,其特征在于,所述装置配置于服务器,所述方法包括:
第二设置模块,用于设置第一客户端和第二客户端;
第二接收模块,用于通过所述第一客户端接收机器人状态信息;其中,所述机器人状态信息由底盘控制器中的第一服务器发送;
指令生成模块,用于根据所述机器人状态信息生成控制指令;
第二发送模块,用于通过所述第二客户端将所述控制指令发送至所述底盘控制器中的第二服务端,以使底盘控制器根据控制指令驱动机器人行走。
11.一种底盘控制器,其特征在于,所述底盘控制器包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的网络通信方法。
12.一种服务器,其特征在于,所述服务器包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求6-8中任一所述的网络通信方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一所述的网络通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910818383.6A CN110505309B (zh) | 2019-08-30 | 2019-08-30 | 网络通信方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910818383.6A CN110505309B (zh) | 2019-08-30 | 2019-08-30 | 网络通信方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110505309A true CN110505309A (zh) | 2019-11-26 |
CN110505309B CN110505309B (zh) | 2022-02-25 |
Family
ID=68590820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910818383.6A Active CN110505309B (zh) | 2019-08-30 | 2019-08-30 | 网络通信方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110505309B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111343255A (zh) * | 2020-02-17 | 2020-06-26 | 上海高仙自动化科技发展有限公司 | 客户端、智能机器人及智能机器人系统 |
CN111541606A (zh) * | 2020-04-17 | 2020-08-14 | 广东智源机器人科技有限公司 | 网关处理方法、网关设备和网关系统 |
CN111673736A (zh) * | 2020-05-13 | 2020-09-18 | 北京理工大学 | 一种机器人系统控制方法、设备及存储介质 |
CN112398897A (zh) * | 2020-04-24 | 2021-02-23 | 江南大学 | 一种基于Socket通信的无线遥控机器人系统设计方案 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012097834A2 (en) * | 2011-01-21 | 2012-07-26 | Abb Ag | System for commanding a robot |
CN103324173A (zh) * | 2013-06-08 | 2013-09-25 | 上海交通大学 | 基于中间件的多异构机器人协作方法 |
CN106873773A (zh) * | 2017-01-09 | 2017-06-20 | 北京奇虎科技有限公司 | 机器人交互控制方法、服务器和机器人 |
CN107239353A (zh) * | 2017-06-02 | 2017-10-10 | 浪潮金融信息技术有限公司 | 进程间通信方法及系统 |
CN107634929A (zh) * | 2016-07-18 | 2018-01-26 | 中兴通讯股份有限公司 | 业务处理方法及装置 |
CN107984474A (zh) * | 2017-12-25 | 2018-05-04 | 北京工业大学 | 一种半身人形智能机器人及其控制系统 |
-
2019
- 2019-08-30 CN CN201910818383.6A patent/CN110505309B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012097834A2 (en) * | 2011-01-21 | 2012-07-26 | Abb Ag | System for commanding a robot |
CN103324173A (zh) * | 2013-06-08 | 2013-09-25 | 上海交通大学 | 基于中间件的多异构机器人协作方法 |
CN107634929A (zh) * | 2016-07-18 | 2018-01-26 | 中兴通讯股份有限公司 | 业务处理方法及装置 |
CN106873773A (zh) * | 2017-01-09 | 2017-06-20 | 北京奇虎科技有限公司 | 机器人交互控制方法、服务器和机器人 |
CN107239353A (zh) * | 2017-06-02 | 2017-10-10 | 浪潮金融信息技术有限公司 | 进程间通信方法及系统 |
CN107984474A (zh) * | 2017-12-25 | 2018-05-04 | 北京工业大学 | 一种半身人形智能机器人及其控制系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111343255A (zh) * | 2020-02-17 | 2020-06-26 | 上海高仙自动化科技发展有限公司 | 客户端、智能机器人及智能机器人系统 |
CN111343255B (zh) * | 2020-02-17 | 2022-08-16 | 上海高仙自动化科技发展有限公司 | 客户端、智能机器人及智能机器人系统 |
CN111541606A (zh) * | 2020-04-17 | 2020-08-14 | 广东智源机器人科技有限公司 | 网关处理方法、网关设备和网关系统 |
CN112398897A (zh) * | 2020-04-24 | 2021-02-23 | 江南大学 | 一种基于Socket通信的无线遥控机器人系统设计方案 |
CN112398897B (zh) * | 2020-04-24 | 2022-03-11 | 江南大学 | 一种基于Socket通信的无线遥控机器人系统 |
CN111673736A (zh) * | 2020-05-13 | 2020-09-18 | 北京理工大学 | 一种机器人系统控制方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110505309B (zh) | 2022-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110505309A (zh) | 网络通信方法、装置、设备及存储介质 | |
Xiao et al. | Distributed optimization for energy-efficient fog computing in the tactile internet | |
CN106452841B (zh) | 在机器人操作系统中使用传输服务质量的方法 | |
Galambos | Cloud, fog, and mist computing: Advanced robot applications | |
US20200110625A1 (en) | Placement of container workloads triggered by network traffic for efficient computing at network edge devices | |
Hu et al. | Cloudroid: A cloud framework for transparent and QoS-aware robotic computation outsourcing | |
CN110334897B (zh) | 一种基于区块链奖励机制的无人机搜寻装置及方法 | |
US11223674B2 (en) | Extended mobile grid | |
Chen et al. | Fogros: An adaptive framework for automating fog robotics deployment | |
CN105945943A (zh) | 一种基于动态Agent的云机器人分布式控制系统及方法 | |
CN110784533A (zh) | 通信方法、通信装置、中转模块、控制终端及存储介质 | |
Siddiqui et al. | Elastic jade: Dynamically scalable multi agents using cloud resources | |
Penmetcha et al. | Smart cloud: Scalable cloud robotic architecture for web-powered multi-robot applications | |
Zhou et al. | Blockchain-based volunteer edge cloud for IoT applications | |
JP7049641B2 (ja) | 通信デバイス、情報通信端末装置及び通信方法 | |
Doriya | Development of a cloud-based RTAB-map service for robots | |
US20200198136A1 (en) | Information processing apparatus, information processing method, and program | |
Agüero et al. | Transparent multi-robot communication exchange for executing robot behaviors | |
CN115139300A (zh) | 云端服务器、机器人、多机管理系统及多机管理方法 | |
CN104468645A (zh) | 一种控制方法、电子设备及一种信息传输方法、装置 | |
Dziubany et al. | Development of a cyber-physical system for an autonomous indoor transportation service | |
Zhang et al. | KubeROS: A Unified Platform for Automated and Scalable Deployment of ROS2-based Multi-Robot Applications | |
CN117532592A (zh) | 机器人系统及其实现方法 | |
KR101037200B1 (ko) | 무인 로봇의 임무를 생성하는 장치, 및 무인 로봇의 임무를 생성하는 방법 | |
CN116599965B (zh) | 通信方法、通信装置、电子设备和可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 215200 standard plant 7, Dongyun Science Park, No. 558, Shanhu West Road, Wujiang Economic and Technological Development Zone, Suzhou, Jiangsu Province Patentee after: Suzhou Bozhong intelligent robot Co.,Ltd. Address before: 215200 No. 666 Hu Xin Road, Wujiang economic and Technological Development Zone, Suzhou, Jiangsu Patentee before: SUZHOU BOZHONG ROBOT Co.,Ltd. |