一种基于机器人的版本更新测试方法及系统与流程

文档序号:14554624阅读:246来源:国知局
一种基于机器人的版本更新测试方法及系统与流程

本发明涉及机器人领域,尤指一种基于机器人的版本更新测试方法及系统。



背景技术:

随着科技的发展,涌现出了非常多的智能产品,给我们的生活和工作带了非常多的便利。比如工厂里的工业机器人实现了生产自动化,家庭里的服务型机器人提高了人们的生活品质,还有诸如搜救机器人、运输机器人等等的特种机器人。

由于当前机器人的制造和开发成本高,给机器人的更新换代带来了严峻的挑战。如何能在保留机器人原有硬件情况下,更新机器人软件系统,提升机器人的性能,是当前亟待解决的问题。在机器人进行软件升级的过程中,为了确保机器人能够进行版本升级或者版本回退,免不了对机器人进行版本升级或版本回退的测试。当前的测试方法多是通过人工手动测试,但是这种方法太过依靠人力,造成人力的浪费;同时,由于测试的周期长,不适合进行人工操作。

因此,需要发明一种可以对机器人进行自动版本升级或版本回退的方法。



技术实现要素:

本发明的目的是提供一种基于机器人的版本更新测试方法及系统,实现机器人的自动化版本升级或版本回退测试,以及对机器人的远程测试操作。

本发明提供的技术方案如下:

本发明提供了一种基于机器人的版本更新测试方法,包括步骤:s20云端向目标机器人发送升级指令以及待升级版本对应的待升级版本资源,或回退指令以及待回退版本对应的待回退版本资源;s30所述目标机器人接收到所述升级指令以及所述待升级版本资源后,进行版本升级;或接收到所述回退指令以及所述待回退版本资源后,进行版本回退;s40所述云端统计所述目标机器人的当前升级次数以及升级成功次数,或当前回退次数以及回退成功次数;s50所述云端判断所述当前升级版本次数,和/或当前回退版本次数是否达到预设测试次数;若未达到,则返回步骤s20;否则,停止测试。

优选的,步骤s20之前包括步骤:s10在所述云端中的机器人列表中选择目标机器人、所述目标机器人中的待测试对象、待升级版本和待回退版本;所述升级对象包括:应用端、工控端、多个单片机。

优选的,步骤s20具体还包括步骤:s21所述目标机器人订阅所述云端发布的版本升级测试对应的主题或版本回退测试对应的主题,获取所述升级指令以及所述待升级版本对应的所述待升级版本资源,或所述回退指令以及所述待回退版本对应的所述待回退版本资源。

优选的,步骤s30具体包括步骤:s301所述待测试对象中的应用端和/或工控端接收对应的所述待升级版本资源或所述待回退版本资源;s302所述应用端根据对应的所述待升级版本资源对所述应用端进行版本升级,或根据对应的所述待回退版本资源对所述应用端进行版本回退;s303所述工控端根据对应的所述待升级版本资源对所述应用端进行版本升级,或根据对应的所述待回退版本资源对所述工控端进行版本回退;并将所述多个单片机对应的所述待升级版本资源或所述待回退版本资源下发到对应的单片机;s304所述单片机根据对应的所述待升级版本资源进行版本升级,或根据对应的所述待回退版本资源进行版本回退。

优选的,步骤s40具体包括步骤:s401所述目标机器人在进行版本升级或进行版本回退之后,将当前版本数据上传至所述云端;s402所述云端统计当前升级次数或当前回退次数;并记录所述目标机器人的当前版本数据;s403所述云端根据所述目标机器人的当前版本数据,以及所述待升级版本或所述待回退版本,统计升级成功次数或回退成功次数。

优选的,步骤s40具体包括步骤:s411所述目标机器人在进行版本升级或进行版本回退之后,将当前版本数据记录到日志文件;s412所述云端读取所述日志文件,得到所述目标机器人的当前版本数据,并统计当前升级次数或当前回退次数;s413所述云端根据所述目标机器人的当前版本数据、所述待升级版本或所述待回退版本,统计升级成功次数或回退成功次数。

本发明还提供了一种基于机器人的版本更新测试系统,包括相互通信连接的云端和目标机器人;

所述云端包括:云端通信模块,用于向目标机器人发送升级指令以及待升级版本对应的待升级版本资源,或回退指令以及待回退版本对应的待回退版本资源;

所述目标机器人包括:版本更新模块,用于接收到所述升级指令以及所述待升级版本资源后,进行版本升级;或接收到所述回退指令以及所述待回退版本资源后,进行版本回退;

所述云端还包括:统计模块,用于统计所述目标机器人的当前升级次数以及升级成功次数,或当前回退次数以及回退成功次数;判断模块,与所述统计模块电连接,用于判断所述当前升级版本次数,和/或当前回退版本次数是否达到预设测试次数;若未达到,则继续进行测试;否则,停止测试。

优选的,所述云端还包括:测试选择模块,与所述云端通信模块电连接,用于在所述云端中的机器人列表中选择目标机器人、所述目标机器人中的待测试对象、待升级版本和待回退版本;所述升级对象包括:应用端、工控端、多个单片机。

优选的,所述目标机器人还包括获取模块,用于订阅所述云端发布的版本升级测试对应的主题或版本回退测试对应的主题,获取所述升级指令以及所述待升级版本对应的所述待升级版本资源,或所述回退指令以及所述待回退版本对应的所述待回退版本资源。

优选的,所述目标机器人包括所述应用端、所述工控端、所述多个单片机,所述工控端还与多个单片机电连接;所述应用端包括应用通信子模块,用于接收对应的所述待升级版本资源或所述待回退版本资源;所述工控端包括工控通信子模块,用于接收对应的所述待升级版本资源或所述待回退版本资源;所述版本更新模块包括第一更新子模块,与所述应用端电连接,用于根据对应的所述待升级版本资源对所述应用端进行版本升级,或根据对应的所述待回退版本资源对所述应用端进行版本回退;所述版本更新模块还包括第二更新子模块,与所述工控端电连接,用于根据对应的所述待升级版本资源对所述应用端进行版本升级,或根据对应的所述待回退版本资源对所述工控端进行版本回退;所述工控通信子模块,还用于将所述多个单片机对应的所述待升级版本资源或所述待回退版本资源下发到对应的单片机;所述版本更新模块包括第三更新子模块,分别与所述多个单片电连接,用于根据对应的所述待升级版本资源进行版本升级,或根据对应的所述待回退版本资源进行版本回退。

优选的,所述目标机器人还包括机器人通信模块,用于所述目标机器人在进行版本升级或进行版本回退之后,将当前版本数据上传至所述云端;所述统计模块,还用于统计当前升级次数或当前回退次数;并记录所述目标机器人的当前版本;所述统计模块,还用于根据所述目标机器人的当前版本,以及所述待升级版本或所述待回退版本,统计升级成功次数或回退成功次数。

优选的,所述目标机器人还包括记录模块,用于在进行版本升级或进行版本回退之后,将当前版本数据记录到日志文件;所述云端还包括读取模块,用于读取所述日志文件,得到所述目标机器人的当前版本数据,并统计当前升级次数或当前回退次数;所述统计模块,还用于根据所述目标机器人的当前版本数据、所述待升级版本或所述待回退版本,统计升级成功次数或回退成功次数。

通过本发明提供的一种基于机器人的版本更新测试方法及系统,能够带来以下至少一种有益效果:

1、由于云端与机器人可以建立通信连接,用户在任何地点,只需要在云端上选择自动测试,就可以通过云端对机器人进行自动化升级或回退测试,实现了远程操控。同时,若测试次数没有达到预设测试次数,云端会自动下发升级指令以及待升级版本资源,或回退指令以及待回退版本对应的待回退版本资源,对机器人进行测试,无需人工手动测试,可以实现全程自动化测试。

2、由于云端上可能绑定有非常多的机器人,有的机器人可能不用进行测试,而且在测试过程中也不一定要对机器人所有的系统进行测试;同时,需要测试的版本根据不同的需求也会不一样。因此,用户在需要对机器人进行升级或者回退测试时,可以在云端上选择需要升级的目标机器人、所述目标机器人中的待测试对象、以及待升级版本和待回退版本。同时,云端以多进程的方式进行测试,可以大大节约测试时间,提高测试效率,同时满足用户的测试需求。

3、当用户选择升级目标机器人其中一部分系统时,具体由目标机器人中的应用端和/或工控端分别接收各自对应的所述待升级版本资源或所述待回退版本资源,然后分别对各自的模块进行相互独立的升级或回退,避免了相互的干扰。此外,机器人通过rosbridge与云端建立通信连接,能够有效接收云端下发的信息。

4、当目标机器人升级或回退后,会将当前版本数据上传至所述云端,云端根据目标机器人的上传次数判断是否测试完毕,以此来实现整个自动化测试的流程。同时,云端根据目标机器人的当前版本,以及所述待升级版本或所述待回退版本,可以判断目标机器人是否升级成功或者回退成功,向用户直观地反应机器人版本升级或回退测试的情况。除此以外,目标机器人还可以将自身的升级或者回退情况记录在日志文件中,云端通过读取日志文件,也可以判断是否测试完毕,以及目标机器人是否升级成功或者回退成功;并且用户也可以调取日志文件,查看测试情况。

附图说明

下面将以明确易懂的方式,结合附图说明优选实施方式,对一种基于机器人的版本更新测试方法及系统的上述特性、技术特征、优点及其实现方式予以进一步说明。

图1是本发明一种基于机器人的版本更新测试方法的一个实施例的流程图;

图2是本发明一种基于机器人的版本更新测试方法的另一个实施例的流程图;

图3是本发明一种基于机器人的版本更新测试方法的另一个实施例的流程图;

图4是本发明一种基于机器人的版本更新测试系统的一个实施例的结构示意图;

图5是本发明一种基于机器人的版本更新测试系统的一个实施例的结构示意图。

附图标号说明:

1-云端、11-云端通信模块、12-统计模块、13-判断模块、14-测试选择模块、15-记录模块、16-读取模块、2-目标机器人、21-版本更新模块、211-第一更新子模块、212-第二更新子模块、213-第三更新子模块、22-应用端、221-应用通信子模块、23-工控端、231-工控通信子模块、24-单片机、25-机器人通信模块、26-获取模块。

具体实施方式

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。

为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。

如图1所示,本发明提供了一种基于机器人的版本更新测试方法的一个实施例,包括步骤:

s20云端向目标机器人发送升级指令以及待升级版本对应的待升级版本资源,或回退指令以及待回退版本对应的待回退版本资源;

s30所述目标机器人接收到所述升级指令以及所述待升级版本资源后,进行版本升级;或接收到所述回退指令以及所述待回退版本资源后,进行版本回退;

s40所述云端统计所述目标机器人的当前升级次数以及升级成功次数,或当前回退次数以及回退成功次数;

s50所述云端判断所述当前升级版本次数,和/或当前回退版本次数是否达到预设测试次数;若未达到,则返回步骤s20;否则,停止测试。

具体的,本实施例中,云端上储存有需要升级或回退的版本资源。目标机器人可以作为一个ros节点,通过rosbridge工具包完成和云端之间的ros通信。用户可以在云端的web页面上操作进行相应的测试操作。因此,在进行目标机器人的版本更新测试的时候可以不受空间的局限,实现远程测试。

当需要对目标机器人进行版本升级时,用户可以在云端上设置升级测试次数,或回退测试次数,以此达到测试要求。之后,云端会向目标机器人发出升级指令以及所述待升级版本资源,目标机器人调用自身的升级所需的脚本语言,进行相应的升级。云端上会统计当前的升级次数,并根据目标机器人的升级成功与否,统计目标机器人是否升级成功。

然后,服务器会向目标机器人下发回退指令以及待回退版本对应的待回退版本资源,目标机器人调用版本回退所需的脚本语言,进行相应的版本回退。同样,云端上也会统计当前的回退次数,并根据目标机器人的回退成功与否,统计目标机器人是否回退成功。

在目标机器人进行升级和回退期间,云端会判断测试的次数是否达到用户预设的测试次数,当未达到时,会继续进行测试。其中测试过程由云端程序自动控制,无需人工操控,实现了全程自动化的测试。此外,目标机器人先进行版本升级测试还是进行版本回退测试可视情况而定,不局限于本实施例所述的顺序。

如图2所示,本发明还提供了一种基于机器人的版本更新测试方法的另一个实施例,包括步骤:

s10在所述云端中的机器人列表中选择目标机器人、所述目标机器人中的待测试对象、待升级版本和待回退版本;所述升级对象包括:应用端、工控端、多个单片机。

s20云端向目标机器人发送升级指令以及待升级版本对应的待升级版本资源,或回退指令以及待回退版本对应的待回退版本资源;

优选的,步骤s20还包括步骤:s21所述目标机器人订阅所述云端发布的版本升级或版本回退对应的主题,获取所述升级指令以及所述待升级版本对应的所述待升级版本资源,或所述回退指令以及所述待回退版本对应的所述待回退版本资源。

s30所述目标机器人接收到所述升级指令以及所述待升级版本资源后,进行版本升级;或接收到所述回退指令以及所述待回退版本资源后,进行版本回退;

优选的,步骤s30具体包括步骤:

s301所述待测试对象中的应用端和/或工控端接收对应的所述待升级版本资源或所述待回退版本资源;

s302所述应用端根据对应的所述待升级版本资源对所述应用端进行版本升级,或根据对应的所述待回退版本资源对所述应用端进行版本回退;

s303所述工控端根据对应的所述待升级版本资源对所述应用端进行版本升级,或根据对应的所述待回退版本资源对所述工控端进行版本回退;并将所述多个单片机对应的所述待升级版本资源或所述待回退版本资源下发到对应的单片机;

s304所述单片机根据对应的所述待升级版本资源进行版本升级,或根据对应的所述待回退版本资源进行版本回退。

s40所述云端统计所述目标机器人的当前升级次数以及升级成功次数,或当前回退次数以及回退成功次数;

s50所述云端判断所述当前升级版本次数,和/或当前回退版本次数是否达到预设测试次数;若未达到,则返回步骤s20;否则,否则,停止测试。

具体的,本实施例中,由于云端上会绑定有非常多的机器人,在实际测试中,可能只是对其中一部分的机器人进行测试,因此本实施例中将需要测试的机器人成为目标机器人。由于目标机器人上有非常多的组成部分,比如应用端(例如:目标机器人的应用app)、工控端(例如:x86操作系统),工控端下还通过can总线方式连接有很多不同功能的单片机(例如:避障功能单片机、雷达功能单片机、光控功能单片机、声控功能单片机、动力功能单片机等等)。在对目标机器人进行版本更新测试时,也许不一定要对上述的全部模块进行测试。

因此,本实施例中,还可以在云端上提供一种选择的功能,用户在云端上可以选择需要升级的目标机器人作为目标机器人进行相应测试,还可以选择所述目标机器人中的待测试对象(例如,只选择升级应用端,或者选择应用端、避障模块和动力模块进行测试)。同时,由于目标机器人上各个组成部分的系统版本可能有很多个版本,在进行多个版本测试的时候,用户还可以在云端上选择相应的升级版本以及回退版本。

在用户通过上述操作确定对目标机器人进行升级之后,云端会发布相应的topic,目标机器人订阅之后,可以获取升级版本资源以及回退版本资源。具体的,目标机器人中的应用端通过agent与云端进行连接,接收对应的所述待升级版本资源或所述待回退版本资源;云端web页面通过javascript系统语言调用rosbridge工具包完成和目标机器人之间的通信,向目标机器人发送对应的所述待升级版本资源或所述待回退版本资源;

所述应用端中设置有更新版本所需的脚本语言,当接收待升级版本资源或待回退版本资源后,将其储存在相应的储存器中,并调用脚本语言进行版本升级或版本回退。

所述工控端接收到所述待升级版本资源或所述待回退版本资源后,会将所述待升级版本资源或所述待回退版本资源通过can总线下发到对应的单片机;例如,将避障模块对应的待升级版本资源或待回退版本资源下发到避障模块,将动力模块对应的待升级版本资源或待回退版本资源下发到动力模块。各个单片机会调用脚本语言,进行相应的版本升级或版本回退。

如图3所示,本发明还提供了一种基于机器人的版本更新测试方法的另一个实施例,包括步骤:

s10在所述云端中的机器人列表中选择目标机器人、所述目标机器人中的待测试对象、待升级版本和待回退版本;所述升级对象包括:应用端、工控端、单片机。

s20云端向目标机器人发送升级指令以及待升级版本对应的待升级版本资源,或回退指令以及待回退版本对应的待回退版本资源;

优选的,步骤s20还包括步骤:

s21所述目标机器人订阅所述云端发布的版本升级或版本回退对应的主题,获取升级指令或回退指令,以及待升级版本对应的待升级版本资源,或待回退版本对应的待回退版本资源。

s30所述目标机器人接收到所述升级指令以及所述待升级版本资源后,进行版本升级;或接收到所述回退指令以及所述待回退版本资源后,进行版本回退;

优选的,步骤s30具体包括步骤:

s301所述待测试对象中的应用端和/或工控端接收对应的所述待升级版本资源或所述待回退版本资源;

s302所述应用端根据对应的所述待升级版本资源对所述应用端进行版本升级,或根据对应的所述待回退版本资源对所述应用端进行版本回退;

s303所述工控端根据对应的所述待升级版本资源对所述应用端进行版本升级,或根据对应的所述待回退版本资源对所述工控端进行版本回退;并将所述多个单片机对应的所述待升级版本资源或所述待回退版本资源下发到对应的单片机;

s304所述单片机根据对应的所述待升级版本资源进行版本升级,或根据对应的所述待回退版本资源进行版本回退。

s40所述云端统计所述目标机器人的当前升级次数以及升级成功次数,或当前回退次数以及回退成功次数;

优选的,步骤s40具体包括步骤:

s401所述目标机器人在进行版本升级或进行版本回退之后,将当前版本数据上传至所述云端;

s402所述云端统计当前升级次数或当前回退次数;并记录所述目标机器人的当前版本数据;

s403所述云端根据所述目标机器人的当前版本数据,以及所述待升级版本或所述待回退版本,统计升级成功次数或回退成功次数。

优选的,步骤s40具体还包括步骤:

s411所述目标机器人在进行版本升级或进行版本回退之后,将当前版本数据记录到日志文件;

s412所述云端读取所述日志文件,得到所述目标机器人的当前版本数据,并统计当前升级次数或当前回退次数;

s413所述云端根据所述目标机器人的当前版本数据、所述待升级版本或所述待回退版本,统计升级成功次数或回退成功次数。

s50所述云端判断所述当前升级版本次数,和/或当前回退版本次数是否达到预设测试次数;若未达到,则返回步骤s20;否则,否则,停止测试。

具体的,在目标机器人在进行版本升级或进行版本回退之后,服务器需要知道目标机器人升级或回退是否成功。本实施例给出了两种方案。

其一,目标机器人可以通过rosbridge与云端建立通信连接,将当前版本数据上传至云端。目标机器人每次上传当前版本数据时,云端可以记录目标机器人完成了一次版本升级或版本回退测试,由此统计当前升级次数或当前回退次数。同时,云端会判断目标机器人的当前版本数据是否符合待升级版本或者带回退版本,若符合,则判断出所述目标机器人升级或回退成功,否则,判断出所述目标机器人升级或回退失败。

其二,目标机器人可以在每次升级或回退之后,将当前的版本信息记录在日志文件当中。服务器可以向目标机器人发送一个获取信号,调用日志文件,获取其中的信息,统计当前升级次数或当前回退次数。判断目标机器人的当前版本数据是否符合待升级版本或者带回退版本,统计得到升级成功次数或回退成功次数。

如图4所示,本发明一种基于机器人的版本更新测试系统的一个实施例,包括相互通信连接的云端1和目标机器人:

所述云端1包括:

云端通信模块11,用于向目标机器人发送升级指令以及待升级版本对应的待升级版本资源,或回退指令以及待回退版本对应的待回退版本资源;

所述目标机器人2包括:

版本更新模块21,用于接收到所述升级指令以及所述待升级版本资源后,进行版本升级;或接收到所述回退指令以及所述待回退版本资源后,进行版本回退;

所述云端1还包括:

统计模块12,用于统计所述目标机器人的当前升级次数以及升级成功次数,或当前回退次数以及回退成功次数;

判断模块13,与所述统计模块12电连接,用于判断所述当前升级版本次数,和/或当前回退版本次数是否达到预设测试次数;若未达到,则继续进行测试;否则,停止测试。

具体的,云端1上储存有需要升级或回退的版本资源。目标机器人可以作为一个ros节点,通过rosbridge工具包完成和云端1之间的ros通信。用户可以在云端1的web页面上操作进行相应的操作。因此,在进行目标机器人的版本更新测试的时候可以不受空间的局限,用户可以在任何地方进行相应的操作。

当需要对目标机器人进行版本升级时,用户可以在云端1上设置升级测试次数,或回退测试次数,满足测试要求;之后,云端1会向目标机器人发出升级指令以及所述待升级版本资源,目标机器人调用自身的升级所需的脚本语言,进行相应的升级。云端1上会统计当前的升级次数,并根据目标机器人的升级成功与否,统计目标机器人是否升级成功。

然后,服务器会向目标机器人下发回退指令以及待回退版本对应的待回退版本资源,目标机器人调用版本回退所需的脚本语言,进行相应的版本回退。同样,云端1上也会统计当前的回退次数,并根据目标机器人的回退成功与否,统计目标机器人是否回退成功。

在目标机器人进行升级和回退期间,云端1会判断测试的次数是否达到用户预设的测试次数,当未达到时,会继续进行测试。其中测试过程由云端1内的程序自动控制,无需人工操控,实现了全程自动化的测试。

如图5所示,本发明一种基于机器人的版本更新测试系统的一个实施例,包括相互通信连接的云端1和目标机器人2:

优选的,所述云端1包括:测试选择模块14,与所述云端通信模块11电连接,用于在所述云端1中的目标机器人2列表中选择目标机器人2、所述目标机器人2中的待测试对象、待升级版本和待回退版本;所述升级对象包括:应用端22、工控端23、多个单片机24。

所述云端1包括:

云端通信模块11,用于向目标机器人2发送升级指令以及待升级版本对应的待升级版本资源,或回退指令以及待回退版本对应的待回退版本资源;

优选的,所述目标机器人2还包括获取模块26,用于订阅所述云端1发布的版本升级测试对应的主题或版本回退测试对应的主题,获取所述升级指令以及所述待升级版本对应的所述待升级版本资源,或所述回退指令以及所述待回退版本对应的所述待回退版本资源。

所述目标机器人2包括:

版本更新模块21,用于接收到所述升级指令以及所述待升级版本资源后,进行版本升级;或接收到所述回退指令以及所述待回退版本资源后,进行版本回退;

优选的,所述目标机器人2包括所述应用端22、所述工控端23、所述多个单片机24,所述工控端23还与多个单片机24电连接;所述应用端22包括应用通信子模块221,用于接收对应的所述待升级版本资源或所述待回退版本资源;所述工控端23包括工控通信子模块231,用于接收对应的所述待升级版本资源或所述待回退版本资源;所述版本更新模块21包括第一更新子模块221,与所述应用端22电连接,用于根据对应的所述待升级版本资源对所述应用端22进行版本升级,或根据对应的所述待回退版本资源对所述应用端22进行版本回退;所述版本更新模块21还包括第二更新子模块212,与所述工控端23电连接,用于根据对应的所述待升级版本资源对所述应用端22进行版本升级,或根据对应的所述待回退版本资源对所述工控端23进行版本回退;所述工控通信子模块231,还用于将所述多个单片机24对应的所述待升级版本资源或所述待回退版本资源下发到对应的单片机24;所述版本更新模块21包括第三更新子模块213,分别与所述多个单片电连接,用于根据对应的所述待升级版本资源进行版本升级,或根据对应的所述待回退版本资源进行版本回退。

所述云端1还包括:

统计模块12,用于统计所述目标机器人2的当前升级次数以及升级成功次数,或当前回退次数以及回退成功次数;

优选的,所述目标机器人2还包括机器人通信模块25,用于所述目标机器人2在进行版本升级或进行版本回退之后,将当前版本数据上传至所述云端1;所述统计模块12,还用于统计当前升级次数或当前回退次数;并记录所述目标机器人2的当前版本;所述统计模块12,还用于根据所述目标机器人2的当前版本,以及所述待升级版本或所述待回退版本,统计升级成功次数或回退成功次数。

优选的,所述目标机器人2还包括记录模块15,用于在进行版本升级或进行版本回退之后,将当前版本数据记录到日志文件;所述云端1还包括读取模块16,用于读取所述日志文件,得到所述目标机器人2的当前版本数据,并统计当前升级次数或当前回退次数;所述统计模块12,还用于根据所述目标机器人2的当前版本数据、所述待升级版本或所述待回退版本,统计升级成功次数或回退成功次数。

判断模块13,与所述统计模块12电连接,用于判断所述当前升级版本次数,和/或当前回退版本次数是否达到预设测试次数;若未达到,则继续进行测试;否则,停止测试。

具体的,本实施例中,目标机器人2上安装一个安卓系统的胸口平板,与内部x86系统通信,与目标机器人2还有与一个手持安卓系统平板监理通信连接,两个平板上都有应用app;x86系统下连接有很多不同功能的单片机24。这里我们将这些app称为应用端22。将x86系统称为工控端23。

云端1和平板上的app通过agent建立通信连接,目标机器人2中的x86系统可以作为一个ros节点,通过rosbridge与云端1建立通信连接,云端1在下发升级指令以及待升级版本对应的待升级版本资源,或回退指令以及待回退版本对应的待回退版本资源时,可以分别将对应的升级指令以及待升级版本对应的待升级版本资源,或回退指令以及待回退版本对应的待回退版本资源下发至app和x86系统,也可以下发到app之后,在通过app将x86对应的待升级版本资源或待回退版本资源转发到x86系统。

云端1向app下发升级指令以及待升级版本对应的待升级版本资源,或回退指令以及待回退版本对应的待回退版本资源之后,app会将升级app所需要的待升级版本资源、待回退版本资源储存到平板中,并将其他的待升级版本资源、待回退版本资源发送到x86系统中,x86将待升级版本资源、待回退版本资源下发至各个单片机24。

由于云端1上会绑定有非常多的机器人,在实际测试中,可能只是对其中一部分的机器人进行测试。并且,由于目标机器人2上有非常多的组成部分,比如应用端22(例如:目标机器人2的应用app)、工控端23(例如:x86操作系统),工控端23下还通过can总线方式连接有很多不同功能的单片机24(例如:避障功能单片机、雷达功能单片机、光控功能单片机、声控功能单片机、动力功能单片机等等)。在对目标机器人2进行版本更新测试时,也许不一定要对上述的全部模块进行测试。

因此,本实施例中,还可以在云端1上提供一种选择的功能,用户在云端1上可以选择需要升级的目标机器人2作为目标机器人2进行相应测试,还可以选择所述目标机器人2中的待测试对象(例如,只选择升级应用端22,或者选择应用端22、避障模块和动力模块进行测试)。同时,由于目标机器人2上各个组成部分的系统版本可能有很多个版本,在进行多个版本测试的时候,用户还可以在云端1上选择相应的升级版本以及回退版本。

除此以外,为了提高测试效率,也可以根据用户需求,在同一时间进行多项测试。例如:用户在云端1上选择对编号为1、2、3的三个目标机器人2进行测试,待测试对象为应用端22,待升级版本为第四版本,待回退版本为第二版本;同时,在云端1上进行另一项测试,选择对编号为4、5、6的三个目标机器人2进行测试,待测试对象为:应用端22、工控端23、所有单片机24,待升级版本为第二版本,待回退版本为第一版本;同时,在云端1上还可以再进行一项测试,选择对编号为7、8、9的三个目标机器人2进行测试,待测试对象为:所有单片机24,待升级版本为第三版本,待回退版本为第一版本。

云端1以多进程的方式进行测试,可以大大节约测试时间,提高测试效率,同时满足用户的测试需求。

在用户通过上述操作确定对目标机器人2进行升级之后,云端1会发布相应的topic,目标机器人2订阅之后,可以获取升级版本资源以及回退版本资源。具体的,目标机器人2中的应用端22通过agent与云端1进行连接,接收对应的所述待升级版本资源或所述待回退版本资源;云端1的web页面通过javascript调用rosbridge工具包完成和目标机器人2之间的ros通信,向目标机器人2发送对应的所述待升级版本资源或所述待回退版本资源;

所述应用端22中设置有更新版本所需的脚本语言,当接收待升级版本资源或待回退版本资源后,将其储存在相应的储存器中,并调用脚本语言进行版本升级或版本回退;

所述工控端23接收到所述待升级版本资源或所述待回退版本资源后,会将所述待升级版本资源或所述待回退版本资源通过can总线下发到对应的单片机;例如,将避障模块对应的待升级版本资源或待回退版本资源下发到避障模块,将动力模块对应的待升级版本资源或待回退版本资源下发到动力模块。各个单片机会调用脚本语言,进行相应的版本升级或版本回退。

应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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