一种信息通信方法、机器人及存储介质
技术领域
本发明实施例涉及通信技术领域,特别涉及一种信息通信方法、机器人及存储介质。
背景技术
随着科技的发展,机器人在人们的生活中得到越来越多的应用,并通过云端和机器人之间的信息交互来实现对机器人的控制。
发明人发现现有技术中至少存在如下问题:当前机器人在与云端进行通信时,在机器人与云端进行数据传输的过程中,机器人在将信息发送给云端之后,并不知道所发送信息的传输状况,如传输的历史数据信息是否成功传输给云端,从而影响机器人与云端的正常通信。
发明内容
本发明实施方式的目的在于提供一种信息通信方法、机器人及存储介质,使得机器人能够通过云端的反馈信息获得所发送的数据信息的传输状态,从而保证机器人与云端之间的通信质量。
为解决上述技术问题,本发明的实施方式提供了一种信息通信方法,包括以下步骤:将数据信息以及传输状态信息发送给云端,其中,云端根据数据信息以及传输状态信息产生反馈信息;接收反馈信息,其中,反馈信息包括传输调整信息或数据重发信息;执行与所述反馈信息所对应的操作。
本发明的实施方式还提供了一种机器人,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如上所述的信息通信方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现如上的信息通信方法。
本发明实施方式相对于现有技术而言,机器人在将数据信息以及传输状态信息发送给云端之后,能够接收到云端根据数据信息以及传输状态信息所产生的反馈信息,由于反馈信息中包含传输调整信息或数据重发信息,因此机器人能够得知云端是否成功接收到所发送的数据信息,并根据传输调整信息能够对数据信息的传输状态进行调整,从而保证机器人与云端之间的通信质量。
另外,将数据信息以及传输状态信息发送给云端,具体包括:将不同类型的数据信息采用相同的协议传输给云端;在预设时间内将传输状态信息传输给云端,其中,传输状态信息用于指示不同类型的数据信息的总数量。
另外,反馈信息还包括:运动控制命令。
另外,执行与反馈信息所对应的操作,具体包括:在确定反馈信息为传输调整信息时,根据传输调整信息执行传输调整操作;在确定反馈信息为数据重发信息时,根据数据重发信息执行数据重发操作;在确定反馈信息为运动控制命令时,根据运动控制命令执行运动转换操作。
另外,根据传输调整信息执行传输调整操作,具体包括:根据传输调整信息获取数据信息的抖动信息;判断抖动信息是否大于预设抖动阈值,若是,则降低数据信息的传输频率,否则提高数据信息的传输频率。该实现中,根据传输调整信息获取数据信息的抖动信息,并根据抖动信息与预设抖动阈值的对比结果,对数据信息的传输速率进行适应性调整,从而保证数据信息的传输质量。
另外,根据数据重发信息执行数据重发操作,具体包括:根据数据重发信息获取云端未接收到的数据信息的序号;从本地获取序号所对应的数据信息;将序号所对应的数据信息重新发送给云端。该实现中,在根据数据重发信息执行数据重发操作时,能够从数据重发信息中获取机器人传输过程中所丢失的数据信息的序号,并能够从本地获取到该序号所对应的数据信息,并将序号所对应的数据信息重新发送给云端,从而保证了重传数据的准确性。
另外,根据运动控制命令执行运动转换操作,具体包括:对运动控制命令进行识别,确定运动控制命令所对应的转换动作;确定当前动作;根据转换动作对当前动作进行转换。
另外,对运动控制命令进行识别,确定运动控制命令所对应的转换动作之前,还包括:产生命令应答信息,其中,命令应答信息用于指示成功接收到运动控制命令;将命令应答信息传输给云端。该实现中,机器人在获取到云端所发送的运动控制命令时,能够产生命令应答信息,并传输给云端,从而通知云端已经成功接收到所发送的运动控制命令,从而进一步提高了机器人与云端之间的通信质量。
另外,数据信息的类型包括:音频数据、视频数据和传感器数据。
另外,协议包括:HMTP协议。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本申请第一实施例中信息通信方法的流程图;
图2是本申请第二实施例中信息通信方法的流程图;
图3是本申请第三实施例中信息通信装置的方框示意图;
图4是本申请第四实施例中信息通信装置的方框示意图;
图5是本申请第五实施例中机器人的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种信息通信方法,应用于机器人。具体流程如图1所示,包括以下步骤:
步骤101,将数据信息以及传输状态信息发送给云端,其中,云端根据数据信息以及传输状态信息产生反馈信息。
具体的说,本实施方式中将不同类型的数据信息采用相同的协议传输给云端,在预设时间内将传输状态信息传输给云端,而传输状态信息用于指示不同类型的数据信息的总数量。并且本实施方式中数据信息的类型是包括音频数据、视频数据和传感器数据的,而不同类型的数据信息所采用的相同的协议具体为HMTP协议。
具体的说,在使用HMTP协议进行数据信息的传输时,可以将机器人通过麦克风、摄像头和超声波传感器所分别采集的音频数据、视频数据和传感器数据按照HMTP协议格式进行封装获得传输数据包,其中,数据包的结构如表1所示
表1
Header |
Extension Header |
Payload |
其中,Header为包头信息,长度固定,共有26个字节,Extension Header为扩展头,用来扩展包头信息,Payload用于保存不同类型的数据信息,并且包头信息的格式如表2所示
表2
位数 |
32 |
3 |
1 |
4 |
24 |
8 |
64 |
8 |
32 |
32 |
标识 |
F |
V |
EXT |
DT |
PL |
P |
TS |
TSE |
SEQ |
SSRC |
其中,F为所使用的数据包的标识符,用“HARI”标识;V为数据包所使用的协议版本号;EXT表示扩展头标识,0表示没有扩展,1表示有扩展;DT为数据类型,1表示音频数据,2表示视频数据,3表示传感器数据;PL为包长度,表示数据包的总长度;P为能力标识,表示每一种数据类型的功能;TS为时间戳,单位为毫秒;TES为扩展的时间戳;SEQ为丢失数据的序列号;SSRC为同步源,表示发送当前数据包的端口源标识符。
具体的说,在预设时间内传输给云端的传输状态信息具体可以用SR包进行表示,并且SR包的格式如表3所示
表3
位数 |
32 |
8 |
64 |
32 |
32 |
32 |
32 |
标识 |
F |
V |
TS |
SSRC |
SPC |
SOC |
SEQ |
其中,F为传输状态信息所使用的传输包的标识符,用“SENR”表示;V为传输状态信息所使用的协议版本号;TS为时间戳,单位为毫秒;SSRC为同步源,表示发送当前SR包的端口源标识符;SPC为发送包记数,表示在预设时间内所发送的不同类型的数据信息的总数量;SOC为发送静荷载记数,表示在预设时间内所发送的净数据(不包含包头信息)的总字节数。
需要说明的是,本实施方式中的反馈信息包括传输调整信息或数据重发信息,另外还包括运动控制命令。
步骤102,接收反馈信息。
具体的说,在本实施方式中,由于可能存在丢包的情况机器人所发送的数据信息可能并未被云端接收,而云端在确定存在丢失数据的情况下会生成数据重发信息,数据重发信息具体可以采用NACK包进行表示,并且NACK包的格式如表4所示
表4
位数 |
32 |
4 |
4 |
24 |
32 |
32 |
16 |
16 |
标识 |
F |
V |
T |
L |
SSRC |
SSRCS |
PID |
BLP |
其中,F为数据重发信息所使用的传输包的标识符,用“NACK”表示;V为数据重发信息所使用的协议版本号;T为类型标识;L为包长度,表示NACK包的总长度;SSRC为同步源,表示发送NACK包的端口源标识符;SSRCS为媒体源标识,表示NACK包所接收的对象;PID为云端未接收到的数据信息的起始序列号;BLP为云端未接收到的数据信息的掩码。
具体的说,在本实施方式中,云端在接收到机器人的传输状态信息后,会根据传输状态信息以及实际所接收到的数据信息,生成传输调整信息,并且本实施方式中的传输调整信息具体可以用RR包进行表示,RR包的格式如表5所示
表5
位数 |
32 |
8 |
64 |
32 |
32 |
32 |
32 |
32 |
标识 |
F |
V |
TS |
SSRC |
SSRCS |
CPL |
JT |
SEQ |
其中,F为传输调整信息所使用的传输包的标识符,用“RECR”表示;V为传输调整信息所使用的协议版本号;TS为时间戳,单位为毫秒;SSRC为同步源,表示发送当前RR包的端口源标识符;SSRCS为媒体源标识,表示RR包所接收的对象;CPL为累积丢包总数;JT为延时抖动;SEQ为RR包的序列号。
需要说明的是,本实施方式的反馈信息还包括运动控制命令,该运动控制命令是云端对获取的不同类型的数据信息,如音频数据、视频数据和传感器数据进行分析所获得的。例如,所获取的数据信息为机器人通过摄像头所拍摄的前方路面存在坑洼的视频数据,则云端对该视频数据进行分析,获得“倒退”的运动控制命令。并且运动控制命令采用与数据包相同的包格式进行传输,但运动控制命令中包头信息的DT即数据类型具体数值为4。
指的一提的是,在本实施方式中,不论是以NACK包形式传输的数据重发信息还是以RR包形式传输的传输调整信息,以及运动控制命令都是可以采用无线通信的方式进行接收,例如采用WIFI或蓝牙通信方式进行接收,本实施方式中并不限定所采用的具体接收方式,只要机器人能够接收到云端所产生的反馈信息都是在本申请的保护范围内。
步骤103,执行与反馈信息所对应的操作。
具体的说,在本实施方式中,机器人会根据反馈信息的具体内容,执行与具体内容所对应的操作,即在确定反馈信息为传输调整信息时,根据传输调整信息执行传输调整操作;在确定反馈信息为数据重发信息时,根据数据重发信息执行数据重发操作;在确定反馈信息为运动控制命令时,根据运动控制命令执行运动转换操作。
其中,在确定反馈信息为传输调整信息时,会根据传输调整信息获取数据信息的抖动信息;判断抖动信息是否大于预设抖动阈值,若是,则降低数据信息的传输频率,否则提高数据信息的传输频率。例如,在传输调整信息的RR包中获取的抖动信息JT为8,而设定的抖动阈值为7,由于从传输调整信息的RR包中所获取的抖动信息大于预设阈值,因此机器人会降低后续的数据信息的传输频率。
其中,在确定反馈信息为数据重发信息时,会根据数据重发信息获取云端未接收到的数据信息的序号;从本地获取序号所对应的数据信息;将序号所对应的数据信息重新发送给云端。例如,在数据重发信息的NACK包中获取未接收到的数据信息的起始序列号PID为25,而未接收到的数据信息的掩码对应的二进制分别为0000,0101,1010,1110,表示需要重传的数据有4个,并且每一个数据信息的序号分别为25+0=25,25+5=30,25+10=35,25+14=39,在确定云端未接收到的数据信息的序号后,会从本地获取序号所对应的数据信息,并将序号为25的数据信息、序号为30的数据信息、序号为35的数据信息和序号为39的数据信息重新发送给云端,通过将丢失的数据进行重传,从而保证了机器人和云端之间的通信质量。当然本实施方式中仅是以四个需要重传的数据为例进行说明,在实际应用中,当需要重传的数据量比较大的情况下,机器人会按照数据的优先级由高到低的顺序进行重传,而机器人中已经预存了每一序号所对应的数据信息的等级信息。
其中,在确定反馈信息为运动控制命令时,会对运动控制命令进行识别,确定运动控制命令所对应的转换动作,确定当前动作,根据转换动作对当前动作进行转换。例如,在确定所接收到的运动控制命令为“倒退”,则会对“倒退”运动控制命令进行识别,确定“倒退”所对应的转换动作为向正后方移动,并确定当前动作是向正前方移动,则机器人将向正前方移动的动作转换为向正后方移动。
需要说明的是,在对运动控制命令进行识别,确定运动控制命令所对应的转换动作之前,还包括产生命令应答信息,而命令应答信息用于指示成功接收到运动控制命令,并将命令应答信息传输给云端,命令应答信息具体可以采用ACK应答包进行表示,并且ACK应答包的格式如表6所示
表6
位数 |
32 |
8 |
32 |
32 |
32 |
标识 |
F |
V |
SSRC |
SSRCS |
SEQ |
其中,F为命令应答信息所使用的传输包的标识符,用“ACKN”表示;V为传输命令应答信息所使用的协议版本号;SSRC为同步源,表示发送当前ACK应答包的端口源标识符;SSRCS为媒体源标识,表示ACK应答包所接收的对象;SEQ为ACK应答包的序列号。
与现有技术相比,本实施方式提供的信息通信方法,机器人在将数据信息以及传输状态信息发送给云端之后,能够接收到云端根据数据信息以及传输状态信息所产生的反馈信息,由于反馈信息中包含传输调整信息或数据重发信息,因此机器人能够得知云端是否成功接收到所发送的数据信息,并根据传输调整信息能够对数据信息的传输状态进行调整,从而保证机器人与云端之间的通信质量。
本发明的第二实施方式涉及一种信息通信方法。本实施例在第一实施例的基础上做了进一步改进,具体改进之处为:在将数据信息即传输状态信息发送给云端之后,增加了将数据信息在本地进行缓存的步骤。本实施例中的信息通信方法的流程如图2所示。具体的说,在本实施例中,包括步骤201至步骤204,其中步骤201与第一实施方式中的步骤101大致相同,步骤203至步骤204与第一实施方式中的步骤102至步骤103大致相同,此处不再赘述,下面主要介绍不同之处,未在本实施方式中详尽描述的技术细节,可参见第一实施例所提供的信息通信方法,此处不再赘述。
在步骤201之后,执行步骤202。
步骤202,将数据信息在本地进行缓存。
具体的说,在本实施方式中,在将数据信息进行缓存时,具体可以采用先进先出(First Input First Output,FIFO)的方式进行缓存,并且缓存的数据量越多,则当根据云端反馈的数据重发信息确定传输过程中存在数据丢失的情况下,机器人能够从本地获取到丢失的数据,并进行重新传输的成功率就越大。因此,本实施方式中通过将数据信息在本地进行缓存,能够提高数据重新传输的成功率,从而进一步提升了机器人与云端之间的通信质量。
步骤203,接收反馈信息。
步骤204,执行与反馈信息所对应的操作。
与现有技术相比,本实施方式提供的信息通信方法,机器人在将数据信息以及传输状态信息发送给云端之后,能够接收到云端根据数据信息以及传输状态信息所产生的反馈信息,由于反馈信息中包含传输调整信息或数据重发信息,因此机器人能够得知云端是否成功接收到所发送的数据信息,并根据传输调整信息能够对数据信息的传输状态进行调整,从而保证机器人与云端之间的通信质量。并且通过将数据信息在本地进行缓存,能够提高数据重新传输的成功率,从而进一步提升了机器人与云端之间的通信质量。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第三实施方式涉及一种信息通信装置装置,具体结构如如图3所示。
如图3所示,信息通信装置包括:发送模块301、接收模块302和执行模块303。
其中,发送模块301,用于将数据信息以及传输状态信息发送给云端,其中,云端根据数据信息以及传输状态信息产生反馈信息。
接收模块302,用于接收反馈信息。
执行模块303,用于执行与反馈信息所对应的操作。
不难发现,本实施方式为与第一实施方式相对应的装置实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
本发明第四实施方式涉及一种信息通信装置。该实施方式与第三实施方式大致相同,具体结构如图4所示。其中,主要改进之处在于:第四实施方式在第三实施方式中的基础上增加了缓存模块304。
发送模块301,用于将数据信息以及传输状态信息发送给云端,其中,云端根据数据信息以及传输状态信息产生反馈信息。
缓存模块304,用于将数据信息在本地进行缓存。
接收模块302,用于接收反馈信息。
执行模块303,用于执行与反馈信息所对应的操作。
不难发现,本实施方式为与第二实施方式相对应的装置实施例,本实施方式可与第二实施方式互相配合实施。第二实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第二实施方式中。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明第五实施方式涉及一种机器人,如图5所示,包括至少一个处理器501;以及,与至少一个处理器501通信连接的存储器502;其中,存储器502存储有可被至少一个处理器501执行的指令,指令被至少一个处理器501执行,以使至少一个处理器501能够执行上述实施例中的信息通信方法。
本实施例中,处理器501以中央处理器(Central Processing Unit,CPU)为例,存储器502以可读写存储器(Random Access Memory,RAM)为例。处理器501、存储器502可以通过总线或者其他方式连接,图5中以通过总线连接为例。存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中实现信息通信方法的程序就存储于存储器502中。处理器501通过运行存储在存储器502中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述信息通信方法。
存储器502可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储选项列表等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器502可选包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至外接设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个程序模块存储在存储器502中,当被一个或者多个处理器501执行时,执行上述任意方法实施例中的信息通信方法。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
本申请的第六实施方式涉及一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序被处理器执行时能够实现本发明任意方法实施例中涉及的信息通信方法。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。