机器人远程打包升级方法、系统及相关产品与流程

文档序号:29044780发布日期:2022-02-25 21:43阅读:98来源:国知局
机器人远程打包升级方法、系统及相关产品与流程
机器人远程打包升级方法、系统及相关产品
【技术领域】
1.本发明涉及机器人技术领域,尤其涉及一种机器人远程打包升级方法及相关产品。


背景技术:

2.目前,随着当前机器人硬件结构层面的定模量产之后,后续的产品体验优化方面更多的寄托软件/固件版本的升级迭代,进而修复bug或带给用户使用方面的新功能。在机器人发布平台中,一次发布动作,就会有大量机器人的多个软件、硬件需要更新上线,导致云端的任务数量巨大,造成管理发布任务困难,不利于机器人软件/固件的及时更新。
3.鉴于此,实有必要提供一种机器人远程打包升级方法、系统及相关产品以克服上述缺陷。


技术实现要素:

4.本发明的目的是提供一种机器人远程打包升级方法及相关产品,旨在改善机器人平台更新发布时任务数量巨大的问题,避免造成管理发布任务困难,有利于机器人软件/固件的及时更新。
5.为了实现上述目的,本发明第一方面提供一种机器人远程打包升级方法,包括以下步骤:
6.确定机器人所需升级的所有所述包文件及其版本号,并打包放于同一套件内且存于云端,所述包文件即软硬件文件;
7.平台根据机器人的唯一编号通过devops主服务器向所述机器人端的多个机器人下发对应的套件的发布命令;
8.机器人通过自身客户端接收所述devops主服务器的发布命令后,从所述云端下载对应的所述套件的包文件,然后完成升级。
9.在一个优选实施方式中,所述机器人通过自身客户端接收所述devops主服务器的发布命令后,从所述云端下载对应的所述套件的包文件,然后完成升级步骤中,包括以下步骤:
10.机器人自所述云端下载对应的所述套件后,根据所述发布命令对所述套件的包文件的版本进行自检,根据版本信息上报时间确认所述包文件的版本是否正确,若结果为否,则通过所述devops主服务器报错。
11.在一个优选实施方式中,所述机器人远程打包升级方法还包括步骤:
12.当所述机器人完成升级后,机器人向所述devops主服务器自动上报自身的当前版本信息,并将所述当前版本信息与所述套件的包文件的版本进行版本校验,若校验结果为不匹配,则机器人向所述devops主服务器报错。
13.在一个优选实施方式中,所述机器人远程打包升级方法还包括步骤:
14.获取机器人的当前状态并判断是否满足包文件升级需求,若结果为是,则根据所
述套件更新升级;若结果为否,则暂停所述套件的更新升级。
15.在一个优选实施方式中,所述机器人远程打包升级方法还包括步骤:
16.创建机器人端的版本依赖图谱。
17.在一个优选实施方式中,所述机器人根据版本依赖图谱中的依赖关系对所述套件中的包文件进行顺序升级。
18.在一个优选实施方式中,所述机器人远程打包升级方法还包括步骤:
19.判断所述包文件进行升级的优先度级别,对超过预设级别的所述包文件则在机器人上暂停当前任务的执行并更新升级,对未超过预设级别的所述包文件任务则在机器人上完成当前任务后执行更新升级。
20.本发明第二方面提供一种机器人远程打包升级系统,包括平台与机器人;
21.所述平台包括文件确定模块、文件存储模块、套件创建模块与命令发布模块;
22.所述文件确定模块,用于确定机器人所需升级的所有包文件及其版本号,所述包文件即软硬件文件;
23.所述文件存储模块,用于接收对应版本号的包文件,并存储在云端;
24.所述套件创建模块,用于将机器人所需升级的所有包文件及其版本号打包并放于同一套件内;
25.所述命令发布模块,用于根据机器人的唯一编号通过devops主服务器向所述机器人端的多个机器人下发对应的套件的发布命令;
26.所述机器人,用于通过自身客户端接收所述devops主服务器的发布命令后,从所述云端下载对应的所述套件的包文件,然后完成升级。
27.本发明第三方面提供一种终端,所述终端包括存储器、处理器以及存储在所述存储器的计算机程序,所述计算机程序被所述处理器执行时实现如上述实施方式任一项所述的机器人远程打包升级方法的各个步骤。
28.本发明第四方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施方式任一项所述的机器人远程打包升级方法的各个步骤。
29.本发明第五方面提供一种计算机程序产品,包括计算机程序或者指令,所述计算机程序或者指令在被处理执行时实现如上述实施方式任一项所述的机器人远程打包升级方法的各个步骤。
30.本发明提供的机器人远程打包升级方法及相关产品,在平台中将机器人所需的包文件及其版本放到同一个套件内,然后由平台通过devops主服务器向机器人端的多个机器人下发发布命令,最后由机器人根据发布命令从云端中下载自身所需的套件,完成相应的包文件的升级,从而在平台中实现了对升级更新任务的整合发布,简化了平台对于任务发布的管理程度,降低了云端的任务数量。
【附图说明】
31.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这
些附图获得其他相关的附图。
32.图1为本发明提供的机器人远程打包升级方法的一实施例流程图;
33.图2为本发明提供的机器人远程打包升级方法的另一实施例流程图;
34.图3为本发明提供的机器人远程打包升级系统的一实施例框架图。
【具体实施方式】
35.为了使本发明的目的、技术方案和有益技术效果更加清晰明白,以下结合附图和具体实施方式,对本发明进行进一步详细说明。应当理解的是,本说明书中描述的具体实施方式仅仅是为了解释本发明,并不是为了限定本发明。
36.还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
37.还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
38.在本发明的实施例中,提供一种机器人远程打包升级方法,用于在平台中远程对多个机器人发送与其对应的软硬件与版本的更新任务,使机器人远程在线完成软件/固件版本的升级迭代。其中,本方法可通过ota(over-the-air technology,空中下载技术)技术实现对机器人的软件相应的远程升级功能,提升更新效率。
39.实施例一
40.如图1所示,一种机器人远程打包升级方法,包括以下步骤:
41.确定机器人所需升级的所有包文件及其版本号,并打包放于同一套件内且存于云端,所述包文件即软硬件文件;
42.平台根据机器人的唯一编号通过devops主服务器向所述机器人端的多个机器人下发对应套件的发布命令;
43.机器人通过自身客户端接收所述devops主服务器的发布命令后,从所述云端下载对应的所述套件的包文件,然后完成升级。
44.所述机器人远程打包升级方法还包括:创建机器人端的版本依赖图谱。
45.其中,所述确定机器人所需升级的所有包文件及其版本号,可以由运维人员根据机器人端当前的包文件及版本信息,来确定需要升级的包文件及版本信息。
46.在一些实施例中,所述确定机器人所需升级的所有包文件及其版本号,也可由运维人员根据需要进行发布,无需核对当前机器人的包文件及其版本号,最后由机器人在接收到发布命令并下载套件后来核对是否需要升级。
47.在一些实施例中,所述版本依赖图谱可以是在平台创建的,随同包文件一并下发,也可以是预先设计的,例如预先写入升级软件中,无需后期配置。
48.实施例二
49.如图2所示,提供的机器人远程打包升级方法,以实施例一为基础,其包括以下步骤s101-s105。
50.步骤s101,平台创建机器人端的版本依赖图谱,明确机器人端的软硬件名称及描述;其中,可将每个软硬件文件定义为包文件。
51.在本步骤中,可通过平台中预设的应用程序的历史版本信息或者直接检测各个软件的版本依赖关系,然后将待升级的软件及其版本加入到先前的版本依赖关系,生成版本依赖图谱。
52.需要说明的是,上述描述中谈及所要升级的软硬件中,硬件是指硬件的固件驱动版本升级包,软件是硬件平台上安装的应用软件版本升级包。
53.步骤s102,平台接收对应版本号的包文件,并存储在云端。
54.步骤s103,根据机器人端当前的包文件及版本信息,确定机器人所需升级的所有包文件及其版本号,并放于同一套件内。
55.在本步骤中,由运营人员统一对包文件的版本进行管理,明确机器人端的多个机器人进行软件升级需要哪些包的哪些版本。由运营人员在平台创建套件,将具体的包文件以及版本放在同一套件内。例如,套件a包含某部分机器人升级所需的软件a的v1.0.0版本与软件b的v2.0.0版本。
56.步骤s104,平台根据机器人的唯一编号通过devops主服务器向机器人端的多个机器人下发对应的套件的发布命令。
57.在本步骤中,由拥有发布权限的人员在平台做发布动作。具体的,可以选择多个站点中的多个机器人,选择要发布的套件,套件中即包含了要发布的所述多个机器人所需的所有软硬件具体版本的包文件。当确认要发布的机器人编号以及发布的包和版本后,平台后端点击发布按钮。平台前端触发此次发布任务,给到devops master(devops主服务器)将发布任务解析,对于发布任务中的多个机器人下发命令,以套件为单位进行发布。
58.需要说明的是,devops(development和operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(qa)部门之间的沟通、协作与整合。
59.步骤s105,机器人通过自身客户端接收devops主服务器的发布命令后,从云端下载对应的套件的包文件,然后完成升级。
60.在本步骤中,机器人上的devops client客户端收到devops主服务器的命令后,从云端下载套件中所有包含具体版本的包文件,该包文件即为机器人升级对应软件或者硬件所需的全部文件,当下载完成后进行升级。进一步的,在软硬件的升级过程中,机器人根据版本依赖图谱中的依赖关系对套件中的包文件进行顺序升级。即,当某个软硬件在本次升级过程中存在着多个版本时,优先升级更为底层或者特定的版本,然后再升级依赖于该底层或特定版本的其他版本。需要说明的是,为防止文件丢失,机器人自云端下载包文件以及更新后,备份原软件的服务文件。
61.在一个实施例中,机器人自云端下载对应的套件后,根据发布命令对套件中的包文件的版本进行自检,根据版本信息上报时间确认包文件的版本是否正确,若结果为否,则通过devops主服务器报错,由技术人员在平台中进行包及版本检查,若是平台在云端上传包版本错误,则重新上传正确的版本,然后机器人可重新进行下载正确的包版本。
62.在一个实施例中,机器人远程打包升级方法还包括步骤:获取机器人的当前状态并判断是否满足包文件升级需求,若结果为是,则根据套件更新升级;若结果为否,则暂停套件的更新升级。
63.需要说明的是,目前由于现场环境的复杂多样性,机器人在升级过程中需要保证
在特定环境下来执行,提升机器人软件更新升级的成功率。举例来说,机器人处于充电桩充电并且电量高于设定可升级软件的最低限值,或者机器人当前没有云端任务的调度和本地的调度任务,则执行升级任务。
64.进一步的,本实施例还包括步骤:判断包文件进行升级的优先度级别,对超过预设级别的包文件则在机器人上暂停当前任务的执行并更新升级,对未超过预设级别的包文件任务则在机器人上完成当前任务后执行更新升级。
65.能够理解的是,优化性的软硬件升级的优先级不会太高,可在不影响现场使用的情况下升级。而有一种特殊的情况,此时优先级较高,例如解决机器人软件bug的强制更新则会绕过部分的体验使用,暂停当前任务并保存,切换到升级模式下,等完成任务升级,再恢复到原始任务下继续。
66.在一个实施例中,机器人远程打包升级方法还包括步骤:当机器人完成升级后,机器人向devops主服务器自动上报自身的当前版本信息,并将当前版本信息与套件的包文件的版本进行版本校验,若校验结果为不匹配,则机器人向所述devops主服务器报错。即,机器人在完成升级后,此时需要升级的软硬件的版本信息都已经更新,机器人的软硬件版本信息在正常情况下应该与下载的包文件的版本信息相一致,若是二者不一致,表明机器人软硬件升级失败,此时表明机器人下载的包文件可能有问题,因此向devops主服务器报错。
67.上面机器人内部的升级流程中,将系统监视软件作为升级模式切换的主要执行者和维护者,负责整个机器人本地状态、模式的维护和切换,机器人的升级任务不应该影响机器人本体工作的基本运行,在用户正常使用情况下一般不允许进入升级模式。机器人升级切换到升级模式下会进入用户短暂的不可用状态。机器人升级需要保持电量充裕,如果在低电量下强制进行软件的升级会有极大的风险导致失败或者损坏。由于机器人软件包的升级会有下载云端新版软件包的情况,所以当前网络状态比较差的情况下也会导致下载软件包失败,进而导致此次更新任务的失败。
68.以上实施例中的方法不是机器人本体主动检测远端软件版本是否可升级,进而触发升级任务,而是明确要求升级任务要通过云端主动触发,机器人本地客户端接受任务并执行的方案,做到无感完成的软硬件升级任务。
69.作为实施例,实施例一和实施例二中的机器人打包升级方法,也可以是由机器人端上报版本异常后,由运维人员根据机器人端当前的包文件及版本信息,确定机器人所需升级的所有包文件及其版本号,并打包放于同一套件内且存于云端,并执行后续的升级步骤,在此不再对后续步骤详述。
70.需要说明的是,在软件更新升级的过程中,每个步骤均相应的保存具有详细数据的埋点记录,并通过消息队列回传到ota云端,为后续流程优化和溯源保存记录。
71.上述实施例中,本发明提供的机器人远程打包升级方法,在平台中将机器人所需的包文件及其版本放到同一个套件内,然后由平台通过devops主服务器向机器人端的多个机器人下发发布命令,最后由机器人根据发布命令从云端中下载自身所需的套件,完成相应的包文件的升级,从而在平台中实现了对升级更新任务的整合发布,简化了平台对于任务发布的管理程度,降低了云端的任务数量。
72.实施例三
73.本发明还提供一种机器人远程打包升级系统,用于在平台中远程对多个机器人发
送与其对应的软硬件与版本的更新任务,使机器人远程在线完成软件/固件版本的升级迭代。需要说明的是,机器人远程打包升级系统100的实现原理及实施方式与上述的机器人远程打包升级方法相一致,故以下不再赘述。
74.如图3所示,机器人远程打包升级系统100包括平台与机器人10。
75.平台包括文件确定模块20、文件存储模块30、套件创建模块40与命令发布模块50;
76.文件确定模块20,用于确定机器人所需升级的所有包文件及其版本号,所述包文件即软硬件文件;
77.文件存储模块30,用于接收对应版本号的包文件,并存储在云端;
78.套件创建模块40,用于将机器人所需升级的所有包文件及其版本号打包并放于同一套件内;
79.命令发布模块50,用于根据机器人的唯一编号通过devops主服务器向机器人端的多个机器人下发对应的套件的发布命令;
80.机器人10,用于通过自身客户端接收devops主服务器的发布命令后,从云端下载对应的套件的包文件,然后完成升级。
81.其中,机器人内集成有用于升级软件的软件升级模块、用于软件版本校验的版本校验模块。
82.实施例四
83.本发明提供了一种终端,所述终端包括存储器、处理器以及存储在所述存储器的计算机程序,所述计算机程序被所述处理器执行时实现如上述实施方式任一项所述的机器人远程打包升级方法的各个步骤。
84.实施例五
85.本发明提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施方式任一项所述的机器人远程打包升级方法的各个步骤。
86.实施例六
87.本发明提供了一种计算机程序产品,包括计算机程序或者指令,所述计算机程序或者指令在被处理执行时实现如上述实施方式任一项所述的机器人远程打包升级方法的各个步骤。
88.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
89.在本发明所提供的实施例中,应该理解到,所揭露的系统或装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的系统或装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
90.本发明并不仅仅限于说明书和实施方式中所描述,因此对于熟悉领域的人员而言可容易地实现另外的优点和修改,故在不背离权利要求及等同范围所限定的一般概念的精神和范围的情况下,本发明并不限于特定的细节、代表性的设备和这里示出与描述的图示
示例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1