机器人性能测试方法、机器人及计算机可读存储介质
技术领域
本发明涉及机器人技术领域,特别涉及一种机器人性能测试方法、机器人及计算机可读存储介质。
背景技术
在机器人测试过程中,通过不同的测试方法可细分为各种各样的测试分类,例如性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
然而,本发明的发明人发现,在长时间的测试过程中,可能会出现部分数据较大偏移大部分数值的情况,但是这些偏移数据的出现是无规律的,该部分偏移数据对于取到正确的测试结果存在非常大的干扰,如果根据这些偏移数据进行计算,那么所计算的结果把全部的干扰项都计算进去,该结果和应该取得的最准确结果可能存在一定的误差。因此,如何减少机器人性能测试结果的误差成为一个亟待解决的问题。
发明内容
本发明实施方式的目的在于提供一种机器人性能测试方法、机器人及计算机可读存储介质,使得机器人性能测试结果的误差减小。
为解决上述技术问题,本发明的实施方式提供了一种机器人性能测试方法,包含以下步骤:对机器人进行多次性能测试,获取所述机器人的性能测试数据集;根据聚类算法,从所述性能测试数据集中获取有效数据集;根据预设算法对所述有效数据集中的有效数据进行计算,得到所述机器人的性能测试结果。
本发明的实施方式还提供了一种机器人,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如前述的机器人性能测试方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现前述的机器人性能测试方法。
本发明实施方式相对于现有技术而言,对机器人进行多次性能测试,得到多次性能测试的性能测试数据形成的性能测试数据集后,根据聚类算法从性能测试数据集中获取有效数据集,从而剔除至少部分偏移数据,由于有效数据集中偏移数据较少,根据预设算法对有效数据集中的有效数据进行计算,得到的性能测试结果收到偏移数据的影响也较小,从而使得机器人性能测试结果的误差减小。
另外,所述从所述性能测试数据集中获取有效数据集,具体包括:从性能测试数据集中获取多个性能测试数据作为中心数据;为各个所述中心数据分别构建数据子集;将各个所述性能测试数据分入与自身相关度最大的中心数据的数据子集中;根据各个所述数据子集中的性能测试数据更新所述中心数据,直至所述中心数据不再变化;获取性能测试数据最多的所述数据子集作为所述有效数据集。
另外,所述根据各个所述数据子集中的性能测试数据更新所述中心数据,具体包括:获取各个所述数据子集中性能测试数据的均值;将所述均值作为更新后的中心数据。
另外,所述将各个所述性能测试数据分入与自身相关度最大的中心数据所处的数据子集中,具体包括:获取各个所述性能测试数据与所述中心数据的距离;所述将各个所述性能测试数据分入与自身距离最小的中心数据的数据子集中。
另外,所述获取各个所述性能测试数据与所述中心数据的距离前,还包括:将各个所述性能测试数据映射到同一坐标系中,并确定各个所述性能测试数据的坐标;所述获取各个所述性能测试数据与所述中心数据的距离,具体包括:根据所述坐标计算各个所述性能测试数据与所述中心数据的距离。
另外,所述获取各个所述性能测试数据与所述中心数据的距离,具体包括:获取各个所述性能测试数据与所述中心数据沿预设方向的距离。
另外,所述获取各个所述数据子集中性能测试数据的均值,具体包括:通过加权平均法获取各个所述数据子集中性能测试数据的均值。
另外,所述通过加权平均法获取各个所述数据子集中性能测试数据的均值前,还包括:根据所述相关度确定各个所述性能测试数据的权值。
附图说明
图1是本发明第一实施方式所提供的机器人性能测试方法的流程图;
图2是本发明第一实施方式所提供的机器人性能测试方法中获取有效数据集的流程图;
图3是本发明第二实施方式所提供的机器人的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种机器人性能测试方法。具体流程如图1所示,包括以下步骤:
步骤S101:获取机器人的性能测试数据集。
具体的,在本步骤中,对机器人进行多次性能测试,记录每次性能测试的数据,多次性能测试的性能测试数据形成性能测试数据集。例如,针对机器人的CPU性能进行测试,通过测试获取一个时间段内的CPU性能数据,如果测试时长为1小时,每秒取一个当前CPU测试数据值,总共3600个测试数据共同组成测试数据集。
步骤S102:根据聚类算法,从性能测试数据集中获取有效数据集。
具体的,在本步骤中,获取有效数据集的流程如图2所示,包括以下步骤:
步骤S201:从性能测试数据集中获取多个性能测试数据作为中心数据。
具体的,在本步骤中,根据实际需要从性能测试数据集中随机获取多个性能测试数据作为中心数据。如图3所示,其中,横轴为时间,将所有数据分为3个类,即:标准类、峰值类、底数类。则在性能测试数据集中随机获取三个性能测试数据作为中心数据,即3个中心数据。
步骤S202:为各个中心数据分别构建数据子集,将各个性能测试数据分入与自身相关度最大的中心数据的数据子集中。
具体的,在本步骤中,确定中心数据后,分别计算各个性能测试数据与中心数据的相关度,将各个性能测试数据分入与自身相关度最大的中心数据所处的数据子集中。例如,选取3个中心数据,则计算各个性能测试数据与3个中心数据的相关度,将各个性能测试数据与相关度最大的中心数据分入同一数据子集中。
进一步的,在本实施方式中,通过计算各个性能测试数据与中心数据的距离表征各个性能测试数据与中心数据的相关度,即将各个性能测试数据分入与自身距离最小的中心数据的数据子集中。可以理解的是,前述通过计算距离表征相关度仅为本实施方式中的一种具体的举例说明,并不构成限定,在本发明的其它实施方式中,也可以是通过其它数据表征相关度,例如计算各个性能测试数据与中心数据在某一预设方向上,如Y轴方向上的距离等,在此不进行一一例举,具体可以根据实际需要进行灵活的设定。
步骤S203:根据各个数据子集中的性能测试数据更新中心数据。
具体的,在本步骤中,可以通过计算数据子集中的数据的平均值对中心数据进行更新,即将平均值作为新的中心数据。可以理解的是,前述通过计算数据子集中的数据的平均值对中心数据进行更新仅为本实施方式中的一种具体的举例说明,并不构成限定,在本发明的其它实施方式中,也可以是将数据子集的最小外接圆的圆心作为新的中心数据等方法,在此不进行一一列举,具体可以根据实际需要进行灵活的设置。
优选的,在本实施方式中,在计算数据子集中的数据的平均值前,根据数据子集中的各个数据与中心数据的相关度设置权值,根据权值对数据子集中的数据进行加权平均计算,获取加权平均值。
步骤S204:判断更新后的中心数据和更新前的中心数据是否相同,若是,则执行步骤S205;若否,则执行步骤S202。
具体的,在本步骤中,当连续两次的中心数据相同时,说明数据分类已经收敛,各个数据子集中的数据不会再发生变化,则执行步骤S205。否则执行步骤S202重复更新中心数据。
步骤S205:获取性能测试数据最多的数据子集作为有效数据集。
具体的,在本步骤中,当各个数据子集不再变化时,获取各个数据子集中的性能测试数据的数量,将数量最多的数据子集作为有效数据集。
步骤S103:根据预设算法对有效数据集中的有效数据进行计算,得到机器人的性能测试结果。
具体的,在本步骤中,预设算法为平均值算法,即将有效数据集中各个性能测试数据的平均值作为最终的机器人的性能测试结果。可以理解的是,前述仅为本实施方式中预设算法的一种具体的应用举例,并不构成限定,在本发明的其它实施方式中,也可以是通过加权平均等其它算法,在此不进行一一列举,具体可以根据实际需要进行灵活的设定。
与现有技术相比,本发明第一实施方式所提供的机器人性能测试方法通过对机器人进行多次性能测试,得到多次性能测试的性能测试数据形成的性能测试数据集后,根据聚类算法从性能测试数据集中获取有效数据集,从而剔除至少部分偏移数据,由于有效数据集中偏移数据较少,根据预设算法对有效数据集中的有效数据进行计算,得到的性能测试结果收到偏移数据的影响也较小,从而使得机器人性能测试结果的误差减小。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第二实施方式涉及一种机器人,如图3所示,包括:至少一个处理器301;以及,与至少一个处理器301通信连接的存储器302;其中,存储器302存储有可被至少一个处理器301执行的指令,指令被至少一个处理器301执行,以使至少一个处理器301能够执行如上述的机器人性能测试方法。
其中,存储器302和处理器301采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器301和存储器302的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器301处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器301。
处理器301负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器302可以被用于存储处理器301在执行操作时所使用的数据。
不难发现,本实施方式为与第一实施方式相对应的系统实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
值得一提的是,本实施方式中所涉及到的各结构单元均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明第三实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。