一种基于互联网云服务的远程机器人实时消息推送方法、系统和装置与流程

文档序号:12033872阅读:269来源:国知局
一种基于互联网云服务的远程机器人实时消息推送方法、系统和装置与流程

本发明涉及互联网和机器人技术领域,尤其涉及一种实现网络远程操控机器人设备的方法、系统和装置。



背景技术:

互联网机器人是指机器人设备和用户通过互联网进行信息传递,以实现用户对机器人设备的远程操控和环境数据获取。其在当前的机器人应用领域非常流行,例如,利用互联网机器人实现远程医疗,安防监控,高危环境作业实施等。

目前,机器人设备应用广泛,在公共场所、家庭等环境通过(无线)路由器连接到互联网,或通过无线通信网络连接互联网的情况下,因设备没有公开网络地址,故用户客户端无法直接在互联网上找到机器人设备并进行通信。

因此,机器人设备采用通过互联网连接云服务器,实现机器人设备所在环境数据的同步和获取用户实时远程操作指令。机器人实时远程操控的实现下面予以详细说明,其中,用户称为操控方,机器人设备称为被操控方。

具体地,操控方按照意愿使用客户端程序发出操作指令,通过互联网发送到云服务器,云服务器根据被操控方在线设备标识找到其对应连接,实现指令的实时传递。其中因处于运营商和路由器所组成的私有局域网等复杂网络环境下,使用消息树确认和重发机制确保关键指令的传输成功。

由上述方案可见,用户远程发送的机器人设备指令具有极强的实时效力,因此需要对机器人设备是否在线做出实时判断。同时关键指令具有不可丢失的特性,尤其在重要工作场合中,关键指令推送需要确认和重发机制以确保各种网络环境下指令被成功执行。

另外,由于用户和机器人设备数量庞大,云服务器必须使用高效的通信和消息处理机制,以确保可行性和服务器、网络带宽资源的实现成本的商业优势。



技术实现要素:

有鉴于此,本发明提供了一种实现基于互联网的高性能远程机器人实时消息推送方法、系统和装置,以便提高实现互联网机器人的实时远控和数据获取的成功率和实时性。

本发明的技术方案具体是这样实现的:

一种机器人设备在互联网中的标识系统,该系统包括标识码管理模块,标识码嵌入模块。

被操控方唯一设备标识码的生成,获取和安装,云服务器根据被操控方唯一设备标识码匹配和保存被操控方设备连接信息,并实施实时在线确认机制。

所述标识码管理模块,用于生成和记录被操控方唯一标识码,及回收失效标识码。操控方通过客户端软件在云服务平台生成被操控方唯一标志码,同时,云服务平台将操控方登录使用的注册用户名和生成的被操控方唯一标志码进行绑定和存储记录。

所述标识码嵌入模块,用于将已生成被操控方唯一标识码嵌入机器人设备操作系统装置,在被操控方安装机器人设备操作系统装置后,连接云服务平台,实现标识码与设备绑定生效。

一种被操控方实时在线的判断和确认机制,实现操控方实时了解被操控方是否实时在线的状态,该系统包括连接管理模块、心跳模拟模块、在线状态存储模块,其中,所述模块均位于云服务器侧;

所述连接管理模块,用于被操控方连接云服务器成功后的连接维护和连接相关信息管理;

所述心跳模拟模块,用于云服务器定时向已连接被操控方发送模拟心跳协议数据,被操控方在一定时间内予以确认,以确定被操控方实时在线可控,如超过一定时间未收到确认消息,则判断被操控方连接断开,无法实现实时在线可控。并将被操控方的在线信息发送至在线状态存储模块

所述在线状态存储模块,用于保存由心跳模拟模块发送的被操控方在线信息,以提供操控方实时查询的结果返回;

一种实现机器人设备操控指令消息和机器人传感器获取数据的网络传输云服务平台,该网络平台包括客户端模块、用户网关模块、设备网关模块、关键指令确认及重发模块;

所述客户端模块,用于操控方使用,以获取被操控方信息和实现操控的软件系统;

所述用户网关模块,用于在用户打开客户端模块时,通过互联网连接到云服务平台后,用于管理客户端模块网络连接。同时连接设备网关模块以同步被操控方数据。

所述设备网关模块,用于在被操控方设备启动时,通过互联网连接到云服务平台后,用于管理被操控方设备网络连接信息。同时连接用户网关模块已同步操控指令。

所述关键指令确认及重发模块,用于将操控法发送的关键指令做识别和区分,并临时存储于消息树数据结构中,在一定时间阈值内,将关键指令定时反复推送给被操控方,直到被操控方接受确认为止。

一种用于机器人设备的操作系统装置,该装置包括网络通信模块、指令处理模块、状态和环境数据获取模块;

所述网络通信模块,用于同云服务平台的设备网关模块进行网络连接和通信。

所述指令处理模块,用于将接收的操控指令在设备本地执行,并将执行结果通过通信模块返回。

所述状态和环境数据获取模块,用户将设备本地系统状态相关信息和通过设备所装载传感器获取到的相关环境数据,通过通信模块发送给操控方。

由上述技术方案可见,本发明中,操控方通过客户端经过云服务平台获取到被操控方状态和所处环境相关数据,同时操控方通过云服务平台了解被操控实时状态信息,以确保指令的实时发送。操控方的关键指令在经过云服务平台时被识别并进行关键指令确认及重发处理,以确保在复杂网络环境下的机器人操控指令成功执行。

另外,由于操控方和被操控方数量巨大,云服务平台使用设备网关和用户网关以处理操控方和被操控方的连接信息,同时设备网关和用户网关之间以长连接进行高效、低复杂度的网络通信。从而实现了海量用户和机器人设备的低成本连接及通信。

附图说明

图1是本发明提供的实现机器人设备实施消息推送的方法流程图。

图2是本发明提供的实现被操控方实时在线的判断和确认机制组成示意图。

图3是本发明提供的实现机器人设备操控指令消息和机器人传感器获取数据的网络传输云服务平台组成示意图。

图4是本发明提供的机器人设备操作系统装置结构图。

图5是本发明提供的实现机器人设备在互联网中的标识的方法流程图。

具体实施方式

图1是本发明提供的实现机器人设备消息推送的方法流程图。

如图1所示,该方法包括:

步骤101,操控方获取被操控方机器人设备在互联网中的唯一标识,并嵌入机器人设备操作系统装置软件中,在客户端下载后将其安装于被操控方设备中。在设置被操控方网络连接后,被操控方通过互联网连接到云服务平台,同时,用户使用客户端软件连接至云服务平台,云服务平台根据设备唯一标志码将用户和设备进行绑定,将信息存储在云服务平台中。

其中,唯一标识被嵌入被操控方所需要的机器人设备操作系统软件中,在云服务平台生成后经用户下载、安装至被操控方设备,实现设备标识。

所述设备在互联网中的唯一标识,一般地,是根据用户标识和unix格式时间值生成md5结果得到,确保同一个设备使用不同网卡登陆云服务均可被唯一识别。

步骤102,操控方用户登陆客户端软件连接到云服务平台,同时,被操控方设备安装设备操作系统后,携带唯一标志码连接至云服务平台,云服务将操控方和被操控方进行绑定和记录,操控方可在客户端软件中看到所绑定的被操控方设备信息,并进行指令操控。

步骤103,云服务平台通过定时t时间间隔,对建立连接的被操控方设备发送心跳包,被操控方收到后立即回复,由此一个来回过程云服务平台确认被操控方在线。如云服务平台未收到确认数据返回,如有连续三次,则认为被操控方已不在线,不可接受实时指令。

步骤104,操控方通过客户端软件,获取被操控方实时状态,如在线,通过云服务平台发送实时指令,经云服务平台转发至被操控方,实现实时远控操控。

步骤105,操控方发出关键指令,如开启,关闭等重要指令,如发生丢失,机器人操控将出现严重问题。故云平台对关键指令做匹配,将关键指令放入消息树中存储,消息树一般使用rb-tree数据结构,基于其平均效率最好的特点。

步骤106,将正在推送的关键指令消息变为树节点,以用户名和设备标识码作为key(唯一),按消息生成时间字段作排序。消息树节点表示该操控方用户的关键指令消息正在进行推送,当被操控方收到消息,并返回确认消息给云服务平台后,此关键消息将从消息树中删除,否则按可设定时间阈值t循环推送,直到发现被操控方不在线或收到被操控方确认消息为止。

其中,操控方和被操控方一般使用路由器或移动运营商网络接入互联网,指令从操控方经云服务平台再至被操控方中间网络环境复杂,指令有丢失可能性。使用消息树作为关键指令的临时存储,定时遍历推送,实现在复杂网络环境下确保关键消息准确发送的能力。

步骤107,被操控方收到指令并执行后,将结果(包括异常错误)数据返回云服务平台,同步至客户端反馈操控方,完整流程结束。

图1所示的机器人消息推送方法可以实现各种类型的消息和数据推送,例如,机器人远控执行指令,传感器启动、关闭和参数设定,机器人移动和导航辅助,音视频数据的传输分享等。

下面以采用伪代码格式描述协议为例,对使用所述云服务平台实现机器人设备远程操控和数据传输进行示例性说明,所举例子并不用于限制本发明,使用通信协议结构如下具体请参见表一:

表一

typerequestwebstruct{

emailstring//用户邮箱

cmdstring//指令名称

subcmdstring//子指令名称

valueint//参数值

datastring//参数字符串值

ridint//机器人唯一标识码

dinfodeviceinfo//设备信息

}

typedeviceinfostruct{

didstring//设备唯一标识码

dnamestring//设备名称

dtypestring//设备类型

dipstring//设备网络地址

wifiidstring//设备连接wifiid

wifikeystring//设备连接wifi密码

}

typeresponsewebstruct{

retint//返回码

msgstring//处理结果描述

cmdstring//指令

subcmdstring//子指令

dinfodeviceinfo//设备信息

}

首先,用户登录云服务平台客户端,进行用户名注册和登录,添加设备同时生成设备唯一标识码,使用标识码嵌入机器人操作系统功能,下载并安装嵌入完成的机器人操作系统至机器人设备中,将设备连接互联网,连接云服务平台后,根据唯一标志码实现用户和机器人设备的绑定,用户在客户端发布指令使用requestweb协议格式传输用户指令,经云服务平台推送至机器人设备,机器人设备执行命令,将结果数据返回云服务平台,同步至客户端,使用responseweb协议格式反馈用户,至此,机器人远控完成。

本发明还提供了实现被操控方实时在线的判断和确认机制和系统装置,具体请参见图2。

图2是本发明提供的实现心跳机制的系统组成示意图。

如图2所示,该系统包括连接管理模块201、心跳模拟模块202、在线状态存储模块203和操控方客户端204,及被操控方设备205,其中,所述连接管理模块201、心跳模拟模块202和在线状态存储模块203均位于云服务平台网站服务器侧,同时,为不同设备中提供功能一致的操控方客户端204,被操控方设备205中安装有机器人操作系统,此系统下文有详细介绍。

连接管理模块201,处理海量来自操控方用户客户端,和被操控方设备的接入连接信息管理,为提供高效率的云服务平台,此处使用基于tcp的长连接模式,即连接后不断进行数据通信,直到操控方或被操控方自行退出才关闭连接,如此设计避免了通信频繁的建立连接过程和系统消耗,使数据更加实时传递,符合机器人实时应用的特性。

心跳模拟模块202,用于云服务平台对已经建立长连接的操控端或被操控段进行设定时间间隔阈值t的轮训访问,推送心跳协议包,当被操控方收到后进行回复,云服务平台收到回复后,确认被操控方在线,否则,当连续n次未收到被操控方的心跳回复包后,即判定被操控方离线,此时将离线结果同步至操控方客户端204,反馈操控方此时被操控方离线不可控。

在线状态存储模块203,用于记录存储操控方和被操控方连接云服务平台产生的长连接信息,使用基于键-值对的形式进行存储,以操控方或被操控方唯一标志码为键,长连接信息和最新一次心跳确认时间为值;存储格式参见表二:

其中,当有数据传输时根据键信息找到已建立的长连接,进行数据推送传输。

操控方客户端204,用于提供用户使用的基于图形用户界面的软件,以web方式实现支持繁多种类的客户端形式,

被操控方设备205,即机器人设备。

根据所述,连接管理模块201接收到被操控方设备205的连接请求后,建立长连接,并使用被操控方设备205的唯一标志码做为键值,将长连接信息存储至在线状态存储模块203,此时,心跳模拟模块202按设定时间间隔阈值t,遍历已存储长连接进行心跳数据包的推送,在收到被操控方设备205的回复包后将unix格式的当前时间对应更新存入在线状态存储模块203。当用户使用操控方客户端204连接至云服务平台时,云服务平台将查询在线状态存储模块203中存储的用户绑定被操控方设备的最新心跳更新时间,如满足如下数学表达式:

p=(t_interval*n)-(time_now-time_hb)

t_interval:设定间隔时间

time_now:系统当前时间

time_hb:记录的最新一次被操控方确认心跳更新时间

n:设定判断设备离线心跳次数

p:结果值

当p>0时则判断被操控方设备在线,否则,当p<=0时判断被操控方设备离线。当被操控方设备在线时,操控方可使用操控方客户端204实现发布指令等远控操作。其中,t_interval越小,判断越实时,但发送数据处理性能要求越高。

图3是本发明提供的实现机器人设备操控指令消息和机器人传感器获取数据的网络传输云服务平台组成示意图。

如图3所示,该网络平台包括客户端模块301、机器人设备302和用户网关模块303、设备网关模块304、以及关键指令确认及重发模块305。

客户端模块301,即是上述操控方客户端204。

机器人设备302,即是上述被操控方设备205。

用户网关模块303,用于接收和处理来自客户端模块301的连接请求。

设备网关模块304,用于接收和处理来自机器人设备302。

关键指令确认及重发模块305,用于判断用户网关模块303接收到的来自户端模块301所发送的操控指令,将关键指令存入指令树。参见步骤106。

图4是本发明提供的机器人设备操作系统装置结构图。

如图4所示,该装置包括云服务平台401和指令处理模块402、状态和环境数据获取模块403、网络通信模块404、机器人设备传感器模块405。402、403、404三个模块是组成机器人设备操作系统装置主要部分。

云服务平台401,参见图3说明。

指令处理模块402,用于对网络通信模块接收到的指令进行执行。

状态和环境数据获取模块403,用于对机器人设备传感器模块405进行开控制并取得相关结果数据,这些数据包括通用传感器结果,如被操控方所处环境的气温,光感强度,经纬度,磁场情况,周围环境测距结果,音视频数据等等

网络通信模块404,用于连接云服务平台并进行通信。

所述网络通信模块404接收到来自云服务平台401的网络数据,包括推送指令和心跳包等数据协议经指令处理模块402执行后的到结果数据,返回云服务平台401。其中,有对于获取被操作方数据的请求指令,根据状态和环境数据获取模块403的结果数据返回云服务平台401。实现被操控方机器人远控和被操控方所处环境数据的同步。

图5是本发明提供的实现机器人设备在互联网中的标识的方法流程图。

图5中所述流程均位于云服务平台网站服务器侧。

如图5所示,该流程包括:

步骤501,操控方通过客户端发起请求指令。

步骤502,云服务平台接收操控方请求

步骤503,云服务平台判断所接受的操控方请求是否为关键指令。如是,则进行步骤504将关键指令作为节点添加进消息树,该节点以用户名和唯一标识码为标识,以添加时间作为排序参数。如否,则执行步骤509直接将请求推送至被操控方执行。

步骤505,用于关键指令在消息树中,定时间隔时间t遍历消息树中的所有指令,向对应被操控方推送。

步骤506,判断关键指令是否被操控方确认收到并返回云服务平台确认消息,如是,执行步骤508,将该关键指令节点从消息树中删除,并执行步骤509将请求推送至被操控方执行。否则,执行步骤507继续判断被操控方是否在线,如是,则循环执行步骤505,否则,执行步骤510,同步被操控方离线信息到客户端,同时将该关键指令节点从消息树中删除。

其中,消息树建议但不限于使用二叉平衡树的数据结构,查找效率时间复杂度为o(logn),提供平均高效率的叉查找。

流程完成

机器人类产品具有广阔的发展前景,人们期望智能机器人在更多领域为人类服务,代替人类完成更复杂的工作。机器人的远控是重要的操控形式,包括自动化产品等均需要远控作为重要的辅助手段。

本发明实现基于互联网云服务的机器人远控技术,对关键指令处理和海量被操控放设备的连接管理提供更加可靠和高效的技术手段。同时,使被操控方机器人设备的云服务接入成本低,易于操作执行。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1