CN105912355A - 一种智能机器人硬件程序升级的方法及系统 - Google Patents
一种智能机器人硬件程序升级的方法及系统 Download PDFInfo
- Publication number
- CN105912355A CN105912355A CN201610196468.1A CN201610196468A CN105912355A CN 105912355 A CN105912355 A CN 105912355A CN 201610196468 A CN201610196468 A CN 201610196468A CN 105912355 A CN105912355 A CN 105912355A
- Authority
- CN
- China
- Prior art keywords
- boot
- program
- hardware
- intelligent robot
- region
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种智能机器人硬件程序升级的方法及系统,所述方法包括以下步骤:智能机器人与服务器联网通信;服务器向智能机器人发送硬件程序数据包;机器人接收并存储硬件程序数据包;机器人运行boot程序进行硬件程序升级;机器人运行更新后的硬件程序。本发明的方案通过远程自动为智能机器人的硬件进行程序升级,不必频繁地更换硬件,降低了成本,提高了维护效率。此外,通过直接将升级程序按照地址存储到boot主程序区域,降低了硬件程序升级过程中出错的概率。
Description
技术领域
本发明涉及智能机器人领域,具体地,涉及一种智能机器人硬件程序升级的方法及系统。
背景技术
随着智能化时代的到来,机器人已经越来越走进人们的生活,从工厂产品线上的智能机械手到生活中的服务机器人,我们的社会即将进入智能机器人的时代。但由于机器人的开发和制造成本较高,频繁更换硬件成本高而且不方便,因此为了提高机器人的使用效能,就需要不断地在原有硬件基础上提升机器人的功能,如何有效地为智能机器人的硬件进行升级就成为机器人领域一个亟待解决的问题。
发明内容
为了有效地为智能机器人的硬件进行升级,本发明提供一种智能机器人硬件程序升级的方法,包括以下步骤:智能机器人与服务器联网通信;服务器向智能机器人发送硬件程序数据包;机器人接收并存储硬件程序数据包;机器人运行boot程序进行硬件程序升级;机器人运行更新后的硬件程序。
进一步地,在存储装置中设置boot区域和boot主程序区域,boot区域负责硬件升级程序的处理,boot主程序区域负责存储硬件运行的软件程序。
进一步地,服务器将硬件程序的二进制文件拆分为若干个数据包分别发送到智能机器人。
进一步地,每个数据包都包含不同的地址,所述地址对应boot主程序区域的物理地址。
进一步地,若干个数据包按照地址顺序依次发送。
进一步地,boot程序将接收到数据包进行解析和校验,然后按照数据包中的地址将数据存储在boot主程序区域。
进一步地,通过设置标志位,使得运行程序在boot区域和boot主程序区域之间跳转。
根据本发明另一方面,提供一种智能机器人硬件程序升级的系统,所述系统包括服务器和智能机器人。智能机器人包括:通信模块,与服务器联网通信接收服务器发来的指令和数据包;解析模块,解析服务器发来的指令和数据包;存储模块,存储解析后的硬件程序数据;工控机,与机器人硬件设备连接和通信,接收解析模块解析后的指令,并向硬件设备转发指令。服务器包括:通信模块,与智能机器人联网通信;数据库,用于存储硬件程序数据包;处理装置,向智能机器人发出指令。
进一步地,所述存储模块分为boot区域和boot主程序区域,boot区域负责硬件升级程序的处理,boot主程序区域负责存储硬件运行的软件程序。
进一步地,boot程序将接收到的硬件程序数据包解析后存储在boot主程序区域,不同的数据包有不同的地址,所述地址是存储模块中boot主程序区域的物理地址。
本发明的方案通过远程自动为智能机器人的硬件进行程序升级,不必频繁地更换硬件,降低了成本,提高了维护效率。此外,通过直接将升级程序按照地址存储到主程序区域,降低了硬件程序升级过程中出错的概率。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1是根据本发明一个实施方式的智能机器人硬件程序升级的方法流程图。
图2是根据本发明一个实施方式的智能机器人硬件程序升级系统的示意性框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
参照图1,本公开提出了一种智能机器人硬件程序升级的方法,包括以下步骤:
智能机器人与服务器联网通信;服务器向智能机器人发送硬件程序数据包;机器人接收并存储硬件程序数据包;机器人运行boot程序进行硬件程序升级;机器人运行更新后的硬件程序。
在智能机器人与服务器联网通信步骤,智能机器人可以主动连接服务器,也可以由服务器发起二者的连接。通常服务器设置在中心机房,可以是用户所在地的机房,也可以是机器人制造商的机房,或者是机器人服务提供商的机房。如果服务器与机器人处于同一个WIFI或者UWD网络中,则智能机器人与服务器联网可以保持实时联网通信。但是,多数情况智能机器人与服务器距离遥远,二者通过3G或者4G通信网络进行通信。优选地,为了减少不必要的3G或4G流量损失,智能机器人不主动链接服务器,由服务器发起与智能机器人的链接。服务器可以每天定时与智能机器人链接通信,接收智能机器人的工作日志等状态信息。此外,还可根据需要随时发起链接,例如,如果客户发现机器人工作异常,则通知客户人员或者向服务器发送信息,由服务器端主动发送连接智能机器人的请求命令,建立通信,智能机器人主动发送有关故障信息给服务器,服务器做判断并处理。
智能机器人与服务器链接,需要通过身份验证。每一台智能机器人都设置有唯一标识码,服务器端存储有该标识码的验证信息。服务器向智能机器人发送建立链接的请求命令中包含该智能机器人的唯一标识码,智能机器人接收到请求命令,解析出唯一标识码进行核对,通过身份验证后建立通信链接。为了增强安全性,避免智能机器人被非法控制,可在服务器端对唯一标识码进行加密,智能机器人接收到请求命令后进行解密,获得唯一标识码进行验证。所有智能机器人的唯一标识码都存储在服务器端,服务器根据唯一标识码识别和查找智能机器人。
在智能机器人主动发起与服务器的链接时,智能机器人向服务器发送含有唯一标识码的加密后的数据。服务器解密后获取该唯一标识码,通过身份验证后,建立二者的通信链接。
服务器端的操控由专门的工程人员负责,如有新的硬件程序版本,工程人员会定期将相应的程序包放在服务器端,由工程人员控制升级,由此能够进行远程集中升级,节约了升级管理成本,提高了效率。
在需要进行硬件程序升级时,工程人员将相应的程序包放在服务器端的存储器内,由服务器发起链接请求,在服务器与向智能机器人建立通信链接后,服务器向智能机器人发送硬件程序数据包。智能机器人接收并存储该硬件程序数据包。
优选地,硬件程序数据包被分段传输和接收,每一段接收后进行校验数据是否完整,全部接收后进行硬件程序升级。例如,服务器端存放的硬件程序数据包为二进制文本,由服务器端将二进制文本进行分段处理,例如每段数据为128字节,将这128字节数据加上包头、包尾、CRC检验形成一个数据包,随后将数据包加密之后发送给智能机器人,以此类推合成并发送N个数据包,直到将二进制文本分段都发送给智能机器人。
机器人接收并存储硬件程序数据包。机器人接收到数据包后进行解析,获得二进制文本,并利用CRC检验数据的完整性。
优选地,每个需要升级程序的硬件,都包括Flash存储区域。Flash存储区域可分为两块,一个是boot区域,专门负责硬件升级程序的处理;一个是boot主程序区域,专门负责存储硬件运行的软件程序。Boot程序接收到的硬件升级程序数据包并进行解析。
优选地,不同的数据包还包括不同的存储地址,该存储地址是主程序区域的物理地址。机器人解析数据包后获得存储地址,并按照存储地址将二进制文本存储在主程序区域中对应的地址部分。
通过分段传输数据能够提高传输速率,避免数据量过大传输失败后反复重新传输的问题。此外,通过为每一部分数据设置存储地址,能够精确控制每一部分数据的更新。这样可以有效的进行校验验证,提高数据的准确性,进而提高升级的成功概率。
智能机器人运行硬件程序数据包进行硬件程序升级。优选地,程序运行在boot主程序区域中,当收到“升级开始命令”后,将标志位设为1,运行程序由主程序跳转到boot区域,开始运行boot程序进行硬件程序升级,此时boot程序开始按照解析获得的地址,将升级数据写入主程序区域的地址中。升级结束之后,将标志位设为0,运行程序重新由boot区域跳转到boot主程序区域,开始正常运行升级后的程序。
作为一个实施例,服务器与智能机器人遵循查询一应答机制,命令都是由服务器主动发起,机器人被动应答。在需要进行硬件程序升级时,由服务器向智能机器人发起链接请求指令,在通过身份验证后,建立通信链接。在硬件程序升级过程中,首先服务器会发送一个“升级开始命令”给智能机器人,智能机器人接收“升级开始命令”进行命令解析,解析通过后,发送应答命令并将标志位设为“1”,程序进入boot区域运行boot程序,进行硬件程序升级。
服务器端接收到应答后,将要升级的硬件程序的二进制文件拆分为若干个遵循升级协议的数据包。例如,升级协议由“包头+整个协议数据长度+标志+数据负载长度+命令字+数据+校验字节”构成。数据包在升级协议“数据”里面。例如,升级固件数据包的格式定义为:
一个升级文件会拆分为若干个数据包,数据包含有将被存储的地址,数据包按照地址循序依次排列,所述地址对应boot主程序区域中的物理地址,由boot程序负责数据包的解析与处理。智能机器人根据不同地址来存储不同的数据包。数据包发送完毕之后,服务器会发送“升级结束命令”,协议解析通过后,智能机器人将标志位设为“0”,程序跳出boot区域,进入boot主程序区域开始正常执行。
上述举例说明了硬件程序升级过程。整个硬件程序升级过程就是对硬件中的固件进行更新,分段将更新程序写入boot主程序区域的不同地址完成更新。针对不同硬件程序升级完成之后,立即生效,不需要断电重启机器人。
根据本发明的另一方面,提供一种智能机器人硬件程序升级的系统,所述系统包括服务器和智能机器人。其中智能机器人包括:通信模块,与服务器联网通信接收服务器发来的指令和数据包;解析模块,解析服务器发来的指令和数据包;存储模块,存储解析后的硬件程序数据;工控机,与机器人硬件设备连接和通信,接收解析模块解析后的指令,并向硬件设备转发指令。服务器包括:通信模块,与智能机器人联网通信;数据库,用于存储硬件程序数据包;处理装置,向智能机器人发出指令。
进一步地,解析模块还能够校验解析后的数据的完整性。
进一步地,工控机通过串口与机器人硬件设备连接和通信。
进一步地,智能机器人和服务器都包括身份验证模块,用于在二者建立连接的时候验证身份。每一台智能机器人都设置有唯一标识码,服务器端存储有该标识码的验证信息。服务器向智能机器人发送建立链接的请求命令中包含该智能机器人的唯一标识码,智能机器人接收到请求命令,解析出唯一标识码进行核对,通过身份验证后建立通信链接。
工控机与开关门电路板、电源电路板、射频电路板等硬件连接,控制这些硬件的升级。
下面参照图2详细描述根据本发明一个实施方式智能机器人硬件程序升级的系统。智能机器人硬件程序升级的系统包括服务器20和智能机器人10,其中智能机器人10包括:通信模块11,与服务器20的通信模块21联网通信,接收服务器20发来的指令和数据包;解析模块13,解析服务器20发来的指令和数据包;存储模块14,存储解析后的硬件程序数据;工控机12,与智能机器人硬件设备连接和通信,接收解析模块13解析后的指令,并向硬件设备转发指令。服务器20包括:通信模块21,与智能机器人10联网通信;数据库23,用于存储硬件程序数据包;处理装置22,向智能机器人10发出指令。
存储模块14是Flash存储装置,分为两块,一个是boot区域,专门负责处理硬件升级程序;一个是boot主程序区域,专门负责存储硬件运行的软件程序。接收到的硬件程序数据包解析后存储在boot主程序区域。不同的数据包有不同的地址,所述地址是存储装置中boot主程序区域的物理地址。
本发明的方案通过远程自动为智能机器人的硬件进行程序升级,不必频繁地更换硬件,降低了成本,提高了维护效率。此外,通过直接将升级程序按照地址存储到boot主程序区域,降低了硬件程序升级过程中出错的概率。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种智能机器人硬件程序升级的方法,其特征在于,包括以下步骤:
智能机器人与服务器联网通信;
服务器向智能机器人发送硬件程序数据包;
机器人接收并存储硬件程序数据包;
机器人运行boot程序进行硬件程序升级;
机器人运行更新后的硬件程序。
2.根据权利要求1所述的方法,其特征在于,在存储装置设置boot区域和boot主程序区域,boot区域负责硬件升级程序的处理,boot主程序区域负责存储硬件运行的软件程序。
3.根据权利要求1或2所述的方法,其特征在于,服务器将硬件程序的二进制文件拆分为若干个数据包分别发送到智能机器人。
4.根据权利要求3所述的方法,其特征在于,每个数据包都包含不同的地址,所述地址对应boot主程序区域的物理地址。
5.根据权利要求4所述的方法,其特征在于,若干个数据包按照地址顺序依次发送。
6.根据权利要求3所述的方法,其特征在于,boot程序将接收到的数据包进行解析和校验,然后按照数据包中的地址将数据存储在boot主程序区域。
7.根据权利要求2所述的方法,其特征在于,通过设置标志位,使得运行程序在boot区域和boot主程序区域之间跳转。
8.一种智能机器人硬件程序升级的系统,其特征在于,所述系统包括服务器和智能机器人;
智能机器人包括:
通信模块,与服务器联网通信接收服务器发来的指令和数据包;
解析模块,解析服务器发来的指令和数据包;
存储模块,存储解析后的硬件程序数据;
工控机,与机器人硬件设备连接和通信,接收解析模块解析后的指令,并向硬件设备转发指令;
服务器包括:
通信模块,与智能机器人联网通信;
数据库,用于存储硬件程序数据包;
处理装置,向智能机器人发出指令。
9.根据权利要求8所述的系统,其特征在于,所述存储模块分为boot区域和boot主程序区域,boot区域负责硬件升级程序的处理,boot主程序区域负责存储硬件运行的软件程序。
10.根据权利要求9所述的系统,其特征在于,boot程序将接收到的硬件程序数据包解析后存储在boot主程序区域,不同的数据包有不同的地址,所述地址是存储模块中boot主程序区域的物理地址。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2016100646200 | 2016-01-29 | ||
CN201610064620 | 2016-01-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105912355A true CN105912355A (zh) | 2016-08-31 |
Family
ID=56745465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610196468.1A Pending CN105912355A (zh) | 2016-01-29 | 2016-03-31 | 一种智能机器人硬件程序升级的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105912355A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107147519A (zh) * | 2017-04-10 | 2017-09-08 | 北京德威特继保自动化科技股份有限公司 | 设备升级的方法、装置和系统 |
CN109814900A (zh) * | 2018-12-29 | 2019-05-28 | 深圳市越疆科技有限公司 | 一种固件更新方法、装置及机器人关节的控制器 |
CN110096047A (zh) * | 2019-04-04 | 2019-08-06 | 深圳无境智能机器人有限公司 | 一种机器人运动控制系统的升级方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101650662A (zh) * | 2009-08-26 | 2010-02-17 | 中兴通讯股份有限公司 | 一种嵌入式系统的存储器件、固件启动及升级方法 |
CN101770372A (zh) * | 2008-12-31 | 2010-07-07 | 亚旭电脑股份有限公司 | 固件更新系统、方法以及固件更新系统之固件建构方法 |
US20110179405A1 (en) * | 2006-10-24 | 2011-07-21 | Dicks Kent E | Systems for remote provisioning of electronic devices |
CN104331312A (zh) * | 2014-11-24 | 2015-02-04 | 东软熙康健康科技有限公司 | 一种固件升级方法及嵌入式设备 |
-
2016
- 2016-03-31 CN CN201610196468.1A patent/CN105912355A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110179405A1 (en) * | 2006-10-24 | 2011-07-21 | Dicks Kent E | Systems for remote provisioning of electronic devices |
CN101770372A (zh) * | 2008-12-31 | 2010-07-07 | 亚旭电脑股份有限公司 | 固件更新系统、方法以及固件更新系统之固件建构方法 |
CN101650662A (zh) * | 2009-08-26 | 2010-02-17 | 中兴通讯股份有限公司 | 一种嵌入式系统的存储器件、固件启动及升级方法 |
CN104331312A (zh) * | 2014-11-24 | 2015-02-04 | 东软熙康健康科技有限公司 | 一种固件升级方法及嵌入式设备 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107147519A (zh) * | 2017-04-10 | 2017-09-08 | 北京德威特继保自动化科技股份有限公司 | 设备升级的方法、装置和系统 |
CN109814900A (zh) * | 2018-12-29 | 2019-05-28 | 深圳市越疆科技有限公司 | 一种固件更新方法、装置及机器人关节的控制器 |
CN109814900B (zh) * | 2018-12-29 | 2023-05-30 | 深圳市越疆科技股份有限公司 | 一种固件更新方法、装置及机器人关节的控制器 |
CN110096047A (zh) * | 2019-04-04 | 2019-08-06 | 深圳无境智能机器人有限公司 | 一种机器人运动控制系统的升级方法及系统 |
CN110096047B (zh) * | 2019-04-04 | 2022-02-15 | 深圳无境智能机器人有限公司 | 一种机器人运动控制系统的升级方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105893091A (zh) | 一种智能机器人软件程序升级的方法及系统 | |
US20020086688A1 (en) | Method for processing messages in a cellular base station system | |
US20110060830A1 (en) | Method, system and device for device capabilities exchange | |
CN105912355A (zh) | 一种智能机器人硬件程序升级的方法及系统 | |
CN101656631A (zh) | 一种统一管理平台中实现支持多网关的方法和装置 | |
CN112733062B (zh) | 一种物联应用管理系统及方法 | |
CN102025712B (zh) | 一种数据更新方法、装置和系统 | |
CN102622550B (zh) | 面向终端计算机的补丁安全在线检查系统 | |
CN112583646A (zh) | 一种智能电表的远程升级方法 | |
CN114866525B (zh) | 一种一主多从模式嵌入式设备远程在线固件升级方法及系统 | |
CN113242317A (zh) | 一种面向联盟链监管系统的寻址路由同步方法和相关装置 | |
CN102404710A (zh) | 机器类型通信设备的签约数据管理方法、设备及系统 | |
US10075418B1 (en) | Modular encryption device | |
CN105631715A (zh) | 广告更新监管方法及装置 | |
CN103217956B (zh) | 工业控制系统及其控制方法和控制装置 | |
CN108769241B (zh) | 一种热泵机组远程控制的操作方法、装置及系统 | |
CN101212346B (zh) | 一种网元管理系统的软件版本管理方法及装置 | |
US8037160B2 (en) | Method and device arrangement for managing a user application/device management server/client device environment | |
US20140078893A1 (en) | Router, system and method for network recovery | |
CN107766066A (zh) | 一种更新从属模块固件的方法 | |
CN107302448B (zh) | 端口监听方法及装置 | |
CN115150162B (zh) | 一种根证书更新方法、装置 | |
CN101883419A (zh) | 客户端信息的同步方法和系统 | |
CN110622468B (zh) | 用于运行网络的方法 | |
CN114503079A (zh) | 用于铁路信号设备的配置方法以及更新系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination |