一种智能机器人硬件程序升级的方法及系统的制作方法

文档序号:10552718阅读:542来源:国知局
一种智能机器人硬件程序升级的方法及系统的制作方法
【专利摘要】本发明提供一种智能机器人硬件程序升级的方法及系统,所述方法包括以下步骤:智能机器人与服务器联网通信;服务器向智能机器人发送硬件程序数据包;机器人接收并存储硬件程序数据包;机器人运行boot程序进行硬件程序升级;机器人运行更新后的硬件程序。本发明的方案通过远程自动为智能机器人的硬件进行程序升级,不必频繁地更换硬件,降低了成本,提高了维护效率。此外,通过直接将升级程序按照地址存储到boot主程序区域,降低了硬件程序升级过程中出错的概率。
【专利说明】
一种智能机器人硬件程序升级的方法及系统
技术领域
[0001] 本发明涉及智能机器人领域,具体地,涉及一种智能机器人硬件程序升级的方法 及系统。
【背景技术】
[0002] 随着智能化时代的到来,机器人已经越来越走进人们的生活,从工厂产品线上的 智能机械手到生活中的服务机器人,我们的社会即将进入智能机器人的时代。但由于机器 人的开发和制造成本较高,频繁更换硬件成本高而且不方便,因此为了提高机器人的使用 效能,就需要不断地在原有硬件基础上提升机器人的功能,如何有效地为智能机器人的硬 件进行升级就成为机器人领域一个亟待解决的问题。

【发明内容】

[0003] 为了有效地为智能机器人的硬件进行升级,本发明提供一种智能机器人硬件程序 升级的方法,包括以下步骤:智能机器人与服务器联网通信;服务器向智能机器人发送硬件 程序数据包;机器人接收并存储硬件程序数据包;机器人运行boot程序进行硬件程序升级; 机器人运行更新后的硬件程序。
[0004] 进一步地,在存储装置中设置boot区域和boot主程序区域,boot区域负责硬件升 级程序的处理,boot主程序区域负责存储硬件运行的软件程序。
[0005] 进一步地,服务器将硬件程序的二进制文件拆分为若干个数据包分别发送到智能 机器人。
[0006] 进一步地,每个数据包都包含不同的地址,所述地址对应boot主程序区域的物理 地址。
[0007] 进一步地,若干个数据包按照地址顺序依次发送。
[0008] 进一步地,boot程序将接收到数据包进行解析和校验,然后按照数据包中的地址 将数据存储在boot主程序区域。
[0009] 进一步地,通过设置标志位,使得运行程序在boot区域和boot主程序区域之间跳 转。
[0010] 根据本发明另一方面,提供一种智能机器人硬件程序升级的系统,所述系统包括 服务器和智能机器人。智能机器人包括:通信模块,与服务器联网通信接收服务器发来的指 令和数据包;解析模块,解析服务器发来的指令和数据包;存储模块,存储解析后的硬件程 序数据;工控机,与机器人硬件设备连接和通信,接收解析模块解析后的指令,并向硬件设 备转发指令。服务器包括:通信模块,与智能机器人联网通信;数据库,用于存储硬件程序数 据包;处理装置,向智能机器人发出指令。
[0011] 进一步地,所述存储模块分为boot区域和boot主程序区域,boot区域负责硬件升 级程序的处理,boot主程序区域负责存储硬件运行的软件程序。
[0012]进一步地,boot程序将接收到的硬件程序数据包解析后存储在boot主程序区域, 不同的数据包有不同的地址,所述地址是存储模块中boot主程序区域的物理地址。
[0013] 本发明的方案通过远程自动为智能机器人的硬件进行程序升级,不必频繁地更换 硬件,降低了成本,提高了维护效率。此外,通过直接将升级程序按照地址存储到主程序区 域,降低了硬件程序升级过程中出错的概率。
【附图说明】
[0014] 通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其 它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号 通常代表相同部件。
[0015] 图1是根据本发明一个实施方式的智能机器人硬件程序升级的方法流程图。
[0016] 图2是根据本发明一个实施方式的智能机器人硬件程序升级系统的示意性框图。
【具体实施方式】
[0017] 下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开 的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方 式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的 范围完整地传达给本领域的技术人员。
[0018] 参照图1,本公开提出了一种智能机器人硬件程序升级的方法,包括以下步骤:
[0019] 智能机器人与服务器联网通信;服务器向智能机器人发送硬件程序数据包;机器 人接收并存储硬件程序数据包;机器人运行boot程序进行硬件程序升级;机器人运行更新 后的硬件程序。
[0020] 在智能机器人与服务器联网通信步骤,智能机器人可以主动连接服务器,也可以 由服务器发起二者的连接。通常服务器设置在中心机房,可以是用户所在地的机房,也可以 是机器人制造商的机房,或者是机器人服务提供商的机房。如果服务器与机器人处于同一 个WIFI或者UWD网络中,则智能机器人与服务器联网可以保持实时联网通信。但是,多数情 况智能机器人与服务器距离遥远,二者通过3G或者4G通信网络进行通信。优选地,为了减少 不必要的3G或4G流量损失,智能机器人不主动链接服务器,由服务器发起与智能机器人的 链接。服务器可以每天定时与智能机器人链接通信,接收智能机器人的工作日志等状态信 息。此外,还可根据需要随时发起链接,例如,如果客户发现机器人工作异常,则通知客户人 员或者向服务器发送信息,由服务器端主动发送连接智能机器人的请求命令,建立通信,智 能机器人主动发送有关故障信息给服务器,服务器做判断并处理。
[0021] 智能机器人与服务器链接,需要通过身份验证。每一台智能机器人都设置有唯一 标识码,服务器端存储有该标识码的验证信息。服务器向智能机器人发送建立链接的请求 命令中包含该智能机器人的唯一标识码,智能机器人接收到请求命令,解析出唯一标识码 进行核对,通过身份验证后建立通信链接。为了增强安全性,避免智能机器人被非法控制, 可在服务器端对唯一标识码进行加密,智能机器人接收到请求命令后进行解密,获得唯一 标识码进行验证。所有智能机器人的唯一标识码都存储在服务器端,服务器根据唯一标识 码识别和查找智能机器人。
[0022] 在智能机器人主动发起与服务器的链接时,智能机器人向服务器发送含有唯一标 识码的加密后的数据。服务器解密后获取该唯一标识码,通过身份验证后,建立二者的通信 链接。
[0023] 服务器端的操控由专门的工程人员负责,如有新的硬件程序版本,工程人员会定 期将相应的程序包放在服务器端,由工程人员控制升级,由此能够进行远程集中升级,节约 了升级管理成本,提高了效率。
[0024] 在需要进行硬件程序升级时,工程人员将相应的程序包放在服务器端的存储器 内,由服务器发起链接请求,在服务器与向智能机器人建立通信链接后,服务器向智能机器 人发送硬件程序数据包。智能机器人接收并存储该硬件程序数据包。
[0025] 优选地,硬件程序数据包被分段传输和接收,每一段接收后进行校验数据是否完 整,全部接收后进行硬件程序升级。例如,服务器端存放的硬件程序数据包为二进制文本, 由服务器端将二进制文本进行分段处理,例如每段数据为128字节,将这128字节数据加上 包头、包尾、CRC检验形成一个数据包,随后将数据包加密之后发送给智能机器人,以此类推 合成并发送N个数据包,直到将二进制文本分段都发送给智能机器人。
[0026] 机器人接收并存储硬件程序数据包。机器人接收到数据包后进行解析,获得二进 制文本,并利用CRC检验数据的完整性。
[0027]优选地,每个需要升级程序的硬件,都包括Flash存储区域。Flash存储区域可分为 两块,一个是boot区域,专门负责硬件升级程序的处理;一个是boot主程序区域,专门负责 存储硬件运行的软件程序。Boot程序接收到的硬件升级程序数据包并进行解析。
[0028] 优选地,不同的数据包还包括不同的存储地址,该存储地址是主程序区域的物理 地址。机器人解析数据包后获得存储地址,并按照存储地址将二进制文本存储在主程序区 域中对应的地址部分。
[0029] 通过分段传输数据能够提高传输速率,避免数据量过大传输失败后反复重新传输 的问题。此外,通过为每一部分数据设置存储地址,能够精确控制每一部分数据的更新。这 样可以有效的进行校验验证,提高数据的准确性,进而提高升级的成功概率。
[0030] 智能机器人运行硬件程序数据包进行硬件程序升级。优选地,程序运行在boot主 程序区域中,当收到"升级开始命令"后,将标志位设为1,运行程序由主程序跳转到boot区 域,开始运行boot程序进行硬件程序升级,此时boot程序开始按照解析获得的地址,将升级 数据写入主程序区域的地址中。升级结束之后,将标志位设为0,运行程序重新由boot区域 跳转到boot主程序区域,开始正常运行升级后的程序。
[0031] 作为一个实施例,服务器与智能机器人遵循查询一应答机制,命令都是由服务器 主动发起,机器人被动应答。在需要进行硬件程序升级时,由服务器向智能机器人发起链接 请求指令,在通过身份验证后,建立通信链接。在硬件程序升级过程中,首先服务器会发送 一个"升级开始命令"给智能机器人,智能机器人接收"升级开始命令"进行命令解析,解析 通过后,发送应答命令并将标志位设为"1",程序进入boot区域运行boot程序,进行硬件程 序升级。
[0032] 服务器端接收到应答后,将要升级的硬件程序的二进制文件拆分为若干个遵循升 级协议的数据包。例如,升级协议由"包头+整个协议数据长度+标志+数据负载长度+命令字 +数据+校验字节"构成。数据包在升级协议"数据"里面。例如,升级固件数据包的格式定义 为: struct TUpdateData { i nt32 sum_of_byte; // 5成功传送的字节总和 _ _ intB program data [128] ; // 要升级的有效数据
[0033] j - // s i zeof ( TUpdateData) 11:11 132; //固件最后一段的数据长度可能不足12S字节,这时,主站需要对program_data□中 的剰佘空间填充0xFFfl
[0034] -个升级文件会拆分为若干个数据包,数据包含有将被存储的地址,数据包按照 地址循序依次排列,所述地址对应boot主程序区域中的物理地址,由boot程序负责数据包 的解析与处理。智能机器人根据不同地址来存储不同的数据包。数据包发送完毕之后,服务 器会发送"升级结束命令",协议解析通过后,智能机器人将标志位设为"〇",程序跳出boot 区域,进入boot主程序区域开始正常执行。
[0035]上述举例说明了硬件程序升级过程。整个硬件程序升级过程就是对硬件中的固件 进行更新,分段将更新程序写入boot主程序区域的不同地址完成更新。针对不同硬件程序 升级完成之后,立即生效,不需要断电重启机器人。
[0036] 根据本发明的另一方面,提供一种智能机器人硬件程序升级的系统,所述系统包 括服务器和智能机器人。其中智能机器人包括:通信模块,与服务器联网通信接收服务器发 来的指令和数据包;解析模块,解析服务器发来的指令和数据包;存储模块,存储解析后的 硬件程序数据;工控机,与机器人硬件设备连接和通信,接收解析模块解析后的指令,并向 硬件设备转发指令。服务器包括:通信模块,与智能机器人联网通信;数据库,用于存储硬件 程序数据包;处理装置,向智能机器人发出指令。
[0037] 进一步地,解析模块还能够校验解析后的数据的完整性。
[0038] 进一步地,工控机通过串口与机器人硬件设备连接和通信。
[0039]进一步地,智能机器人和服务器都包括身份验证模块,用于在二者建立连接的时 候验证身份。每一台智能机器人都设置有唯一标识码,服务器端存储有该标识码的验证信 息。服务器向智能机器人发送建立链接的请求命令中包含该智能机器人的唯一标识码,智 能机器人接收到请求命令,解析出唯一标识码进行核对,通过身份验证后建立通信链接。
[0040] 工控机与开关门电路板、电源电路板、射频电路板等硬件连接,控制这些硬件的升 级。
[0041] 下面参照图2详细描述根据本发明一个实施方式智能机器人硬件程序升级的系 统。智能机器人硬件程序升级的系统包括服务器20和智能机器人10,其中智能机器人10包 括:通信模块11,与服务器20的通信模块21联网通信,接收服务器20发来的指令和数据包; 解析模块13,解析服务器20发来的指令和数据包;存储模块14,存储解析后的硬件程序数 据;工控机12,与智能机器人硬件设备连接和通信,接收解析模块13解析后的指令,并向硬 件设备转发指令。服务器20包括:通信模块21,与智能机器人10联网通信;数据库23,用于存 储硬件程序数据包;处理装置22,向智能机器人10发出指令。
[0042]存储模块14是Flash存储装置,分为两块,一个是boot区域,专门负责处理硬件升 级程序;一个是boot主程序区域,专门负责存储硬件运行的软件程序。接收到的硬件程序数 据包解析后存储在boot主程序区域。不同的数据包有不同的地址,所述地址是存储装置中 boot主程序区域的物理地址。
[0043] 本发明的方案通过远程自动为智能机器人的硬件进行程序升级,不必频繁地更换 硬件,降低了成本,提高了维护效率。此外,通过直接将升级程序按照地址存储到boot主程 序区域,降低了硬件程序升级过程中出错的概率。
[0044] 以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也 不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技 术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨 在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领 域的其它普通技术人员能理解本文披露的各实施例。
【主权项】
1. 一种智能机器人硬件程序升级的方法,其特征在于,包括以下步骤: 智能机器人与服务器联网通信; 服务器向智能机器人发送硬件程序数据包; 机器人接收并存储硬件程序数据包; 机器人运行boot程序进行硬件程序升级; 机器人运行更新后的硬件程序。2. 根据权利要求1所述的方法,其特征在于,在存储装置设置boot区域和boot主程序区 域,boot区域负责硬件升级程序的处理,boot主程序区域负责存储硬件运行的软件程序。3. 根据权利要求1或2所述的方法,其特征在于,服务器将硬件程序的二进制文件拆分 为若干个数据包分别发送到智能机器人。4. 根据权利要求3所述的方法,其特征在于,每个数据包都包含不同的地址,所述地址 对应boo t主程序区域的物理地址。5. 根据权利要求4所述的方法,其特征在于,若干个数据包按照地址顺序依次发送。6. 根据权利要求3所述的方法,其特征在于,boot程序将接收到的数据包进行解析和校 验,然后按照数据包中的地址将数据存储在boot主程序区域。7. 根据权利要求2所述的方法,其特征在于,通过设置标志位,使得运行程序在boot区 域和boo t主程序区域之间跳转。8. -种智能机器人硬件程序升级的系统,其特征在于,所述系统包括服务器和智能机 器人; 智能机器人包括: 通信模块,与服务器联网通信接收服务器发来的指令和数据包; 解析模块,解析服务器发来的指令和数据包; 存储模块,存储解析后的硬件程序数据; 工控机,与机器人硬件设备连接和通信,接收解析模块解析后的指令,并向硬件设备转 发指令; 服务器包括: 通信模块,与智能机器人联网通信; 数据库,用于存储硬件程序数据包; 处理装置,向智能机器人发出指令。9. 根据权利要求8所述的系统,其特征在于,所述存储模块分为boot区域和boot主程序 区域,boot区域负责硬件升级程序的处理,boot主程序区域负责存储硬件运行的软件程序。10. 根据权利要求9所述的系统,其特征在于,boot程序将接收到的硬件程序数据包解 析后存储在boot主程序区域,不同的数据包有不同的地址,所述地址是存储模块中boot主 程序区域的物理地址。
【文档编号】G06F9/445GK105912355SQ201610196468
【公开日】2016年8月31日
【申请日】2016年3月31日
【发明人】吕伟辽, 吴亚斌, 汪雅楠
【申请人】北京云迹科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1