一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

白盒测试方法、装置、电子设备以及存储介质与流程

2022-06-18 02:50:19 来源:中国专利 TAG:


1.本技术涉及工业机器人动力学算法功能测试领域,特别是涉及一种白盒测试方法、装置、电子设备以及计算机可读存储介质。


背景技术:

2.工业机器人的测试环节非常重要,是衡量机器人稳定性的重要环节。其中,工业机器人包括功能测试以及逻辑驱动测试,通常使用黑盒测试进行功能测试,使用白盒测试进行逻辑驱动测试。当工业机器人进行功能测试,并发生错误时,无法快速确定发生错误的真正原因,影响测试效率。


技术实现要素:

3.本技术至少提供一种白盒测试方法、装置、电子设备以及计算机可读存储介质。
4.本技术第一方面提供了一种白盒测试方法,该白盒测试方法包括:
5.获取待测机器人型号;
6.基于待测机器人型号获取基础测试函数与测试集数据,进行基础参数测试;
7.判断是否通过基础参数测试;
8.若是,则基于待测机器人型号获取功能测试函数与测试集数据,进行功能测试。
9.本技术第二方面提供了一种白盒测试装置,该白盒测试装置包括:
10.获取模块,用于获取待测机器人型号、基础测试函数、功能测试函数与测试集数据;
11.处理模块,连接获取模块,用于基于基础测试函数与测试集数据进行基础参数测试,以及基于功能测试函数与测试集数据进行功能测试;
12.处理模块还用于判断是否通过基础参数测试。
13.本技术第三方面提供了一种电子设备,包括相互耦接的存储器和处理器,处理器用于执行存储器中存储的程序指令,以实现上述第一方面中的白盒测试方法。
14.本技术第四方面提供了一种计算机可读存储介质,其上存储有程序指令,程序指令被处理器执行时实现上述第一方面中的白盒测试方法。
15.本技术的有益效果是:区别于现有技术,本技术根据待测机器人的型号,预先判断其通过基础参数测试,再进行功能测试,有效防止基础参数错误导致功能测试失败,同时方便寻找发生错误的原因。
附图说明
16.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
17.图1是本技术提供的白盒测试方法一实施例的流程示意图;
18.图2是图1提供的白盒测试方法中步骤s12和步骤s13的具体流程示意图;
19.图3是图1提供的白盒测试方法中步骤s14的一具体流程示意图;
20.图4是图1提供的白盒测试方法中步骤s14的另一具体流程示意图;
21.图5是图1提供的白盒测试方法中步骤s14的又一具体流程示意图;
22.图6是本技术提供的白盒测试装置一实施例的框架示意图;
23.图7是本技术提供的电子设备一实施例的框架示意图;
24.图8是本技术提供的计算机可读存储介质一实施例的框架示意图。
具体实施方式
25.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
26.请参阅图1,图1是本技术提供的白盒测试方法一实施例的流程示意图。
27.本技术的白盒测试方法的执行主体可以是一种白盒测试装置,例如,白盒测试方法可以由终端设备或服务器或其它处理设备执行,其中,白盒测试装置可以为用户设备(user equipment,ue)、移动设备、用户终端、终端、蜂窝电话、无线电话、个人数字处理(personal digital assistant,pda)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该白盒测试方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
28.本技术在白盒测试装置中建立一种适用于工业机器人动力学功能白盒测试体系,该白盒测试体系中封装有测试项函数以及测试数据集。
29.具体地,测试项函数包括驱动参数测试函数、摩擦参数测试函数、本体参数测试函数、碰撞检测测试函数、软浮动测试函数以及拖动示教测试函数。其中,驱动参数测试函数、摩擦参数测试函数以及本体参数测试函数为基础测试函数,用于进行基础参数的测试;碰撞检测测试函数、软浮动测试函数以及拖动示教测试函数为功能测试函数,用于进行功能测试。
30.测试数据集包括动力学伺服参数轨迹数据、摩擦参数轨迹数据、本体参数轨迹数据、碰撞检测轨迹数据、软浮动检测轨迹数据以及拖动示教检测轨迹数据。其中,摩擦参数轨迹数据进一步包括摩擦参数辨识轨迹数据与摩擦参数自验证轨迹数据;本体参数轨迹数据进一步包括本体参数辨识轨迹数据与本体参数自验证轨迹数据。
31.具体而言,本实施例的白盒测试方法可以包括以下步骤:
32.步骤s11:获取待测机器人型号。
33.其中,工业机器人包括不同公斤级别的机器人,分别对应不同的型号,且不同公斤级别的机器人的基础参数要求以及运动性能均不相同。本实施例通过获取待测机器人的型号,以获取待测机器人的基础参数要求。
34.步骤s12:基于待测机器人型号获取基础测试函数与测试集数据,进行基础参数测试。
35.其中,由于基础测试函数包括驱动参数测试函数、摩擦参数测试函数以及本体参数测试函数,则基础参数测试包括驱动参数测试、摩擦参数测试以及本体参数测试。本实施例调用测试数据集中的动力学伺服参数轨迹数据、摩擦参数轨迹数据以及本体参数轨迹数据,分别进行驱动参数测试、摩擦参数测试以及本体参数测试。
36.步骤s13:判断是否通过基础参数测试。
37.其中,待测机器人进行功能测试的前提是判断待测机器人通过基础参数测试。当判断待测机器人未通过基础参数测试时,则判断待测机器人的测试集数据存在误差,可通过调整待测机器人的测试集数据以使待测机器人通过基础参数测试。
38.继续参阅图2,图2是图1提供的白盒测试方法中步骤s12和步骤s13的具体流程示意图。具体而言,包括以下步骤:
39.步骤s120:获取驱动参数测试函数与动力学伺服参数轨迹数据,进行驱动参数测试,获取电流力矩与速度定标因子。
40.其中,当获取待测机器人的型号时,调取测试项函数中的驱动参数测试函数,以及测试数据集中的动力学伺服参数轨迹数据,根据动力学伺服参数轨迹数据与驱动参数测试函数进行驱动参数测试。
41.具体地,驱动参数测试包括电流定标因子测试项以及速度定标因子测试项,通过对电流定标因子测试项进行测试可获得电流力矩,通过对速度定标因子测试项进行测试可获得速度定标因子。
42.步骤s121:判断电流力矩的偏差值是否位于第一预设阈值内和速度定标因子的偏差值是否位于第二预设阈值内。
43.其中,电流力矩为动力学伺服参数轨迹数据基于驱动参数测试函数计算所得,测试电流定标因子测试项通过将待测机器人在固定位姿下的反馈力矩与电流力矩进行对比验证,当两者的偏差值位于第一预设阈值内,即测试电流定标因子测试项测试正常。具体地,第一预设阈值为待测机器人各轴电机额定力矩的0%-20%,即当反馈力矩与电流力矩的偏差值小于或等于各轴电机额定力矩的20%时,电流定标因子测试项测试通过。
44.测试速度定标因子测试项通过对比测试轨迹的反馈速度与下发指令速度是否一致,当两者的偏差值位于第二预设阈值内,即测试速度定标因子测试项测试正常。具体地,第二预设阈值为待测机器人各轴额定转速的0%-2%,即当反馈速度与下发指令速度的偏差值小于或等于各轴电机额定力矩的2%时,速度定标因子测试项测试通过。
45.当判断通过驱动参数测试时,则执行步骤s123;当判断未通过驱动参数测试时,则执行步骤s122。
46.步骤s122:获取报警信号,停止基础参数测试。
47.其中,由于驱动参数测试包括电流定标因子测试项以及速度定标因子测试项,当其中任意一项测试项未通过测试时,白盒测试装置发出报警信号,提示驱动参数测试发生错误,并停止基础参数测试。
48.具体地,未通过驱动参数测试情况包括:通过电流定标因子测试项测试,未通过速度定标因子测试项测试;未通过电流定标因子测试项测试,通过速度定标因子测试项测试;未通过电流定标因子测试项测试以及未通过速度定标因子测试项测试。
49.步骤s123:获取摩擦参数测试函数与摩擦参数轨迹数据,进行摩擦参数测试,获取
摩擦力矩。
50.其中,当通过驱动参数测试时,调取测试项函数中的摩擦参数测试函数,以及测试数据集中的摩擦参数轨迹数据,根据摩擦参数测试函数与摩擦参数轨迹数据进行摩擦参数测试,以获取摩擦力矩。
51.具体地,本实施例调取摩擦参数辨识轨迹数据,并基于辨识模型计算,以获取摩擦力矩;进一步调取摩擦参数自验证轨迹数据,并基于辨识模型计算,以获取自验证摩擦力矩,用于判断摩擦力矩是否准确,摩擦力矩与自验证摩擦力矩的偏差越小,则摩擦力矩越准确。
52.步骤s124:判断摩擦力矩的偏差值是否位于第三预设阈值内。
53.其中,本实施例将摩擦力矩与反馈力矩进行比较,当判断两者的偏差值位于第三预设阈值内时,通过摩擦参数测试。具体地,第三预设阈值为0%-5%,即当摩擦力矩与反馈力矩的偏差值小于或等于5%时,通过摩擦参数测试。
54.当判断通过摩擦参数测试时,则执行步骤s126;当判断未通过摩擦参数测试时,则执行步骤s125。
55.步骤s125:获取报警信号,停止基础参数测试。
56.其中,当摩擦力矩与反馈力矩的偏差值大于5%时,白盒测试装置发出报警信号,提示摩擦参数测试发生错误,并停止基础参数测试。
57.步骤s126:获取本体参数测试函数与本体参数轨迹数据,进行本体参数测试,获取理论力矩。
58.其中,当通过摩擦参数测试时,调取测试项函数中的本体参数测试函数,以及测试数据集中的本体参数轨迹数据,根据本体参数测试函数与本体参数轨迹数据进行摩擦参数测试,以获取理论力矩。
59.具体地,本实施例调取本体参数辨识轨迹数据,并基于本体参数模型计算,以获取理论力矩;进一步调取本体参数自验证轨迹数据,并基于本体参数模型计算,以获取自验证理论力矩,用于判断理论力矩是否准确,理论力矩与自验证理论力矩的偏差越小,则理论力矩越准确。
60.步骤s127:判断理论力矩的偏差值是否位于第四预设阈值内。
61.其中,本实施例将理论力矩与反馈力矩和摩擦力矩进行比较,当判断理论力矩与反馈力矩的偏差值以及理论力矩与摩擦力矩的偏差值均位于第四预设阈值内时,通过本体参数测试。具体地,第四预设阈值为0%-5%,即当理论力矩与反馈力矩的偏差值以及理论力矩与摩擦力矩的偏差值均小于或等于5%时,通过本体参数测试。
62.当判断通过本体参数测试时,则执行步骤s128;当判断未通过本体参数测试时,则执行步骤s129。
63.步骤s128:完成基础参数测试。
64.其中,当完成驱动参数测试、摩擦参数测试以及本体参数测试时,即完成基础参数测试时,根据实际需要进行待测机器人的功能测试。
65.步骤s129:获取报警信号,停止基础参数测试。
66.其中,当理论力矩与反馈力矩的偏差值或/和理论力矩与摩擦力矩的偏差值大于5%时,白盒测试装置发出报警信号,提示本体参数测试发生错误,并停止基础参数测试。
67.步骤s14:基于待测机器人型号获取功能测试函数与测试集数据,进行功能测试。
68.其中,功能测试包括碰撞检测测试、软浮动测试以及拖动示教测试,若需要进行碰撞检测测试,则执行步骤s1411-步骤s1414;若需要进行软浮动测试,则执行步骤s1421-步骤s1424;若需要进行拖动示教测试,则执行步骤s1431-步骤s1434。
69.继续参阅图3,图3是图1提供的白盒测试方法中步骤s14的一具体流程示意图。具体而言,包括以下步骤:
70.步骤s1411:获取碰撞检测测试函数与碰撞检测轨迹数据,进行碰撞检测测试。
71.其中,当选择进行碰撞检测测试时,调取测试项函数中的碰撞检测测试函数,以及测试数据集中的碰撞检测轨迹数据,根据碰撞检测测试函数与碰撞检测轨迹数据进行碰撞检测测试。
72.步骤s1412:判断是否通过碰撞检测测试。
73.其中,碰撞检测轨迹数据包括无碰撞测试轨迹与有碰撞测试轨迹,碰撞检测测试函数包括碰撞测试案例。
74.当采用无碰撞测试轨迹时,运行碰撞检测测试函数,即运行碰撞测试案例,若无误报警情况,则通过碰撞检测测试中的无碰撞测试;若发生误报警情况,则未通过碰撞检测测试中的无碰撞测试。
75.当采用碰撞测试轨迹时,运行碰撞检测测试函数,即运行碰撞测试案例,若在发生碰撞时发出报警通知,则通过碰撞检测测试中的碰撞测试;若在发生碰撞时未发出报警通知,则未通过碰撞检测测试中的碰撞测试。
76.当判断通过碰撞检测测试时,即同时通过无碰撞测试与碰撞测试,则执行步骤s1413;当判断未通过碰撞检测测试时,即未通过无碰撞测试或/和碰撞测试,则执行步骤s1414。
77.步骤s1413:结束功能测试。
78.其中,当判断通过碰撞检测测试时,则完成功能测试,并输出测试结果。
79.步骤s1414:获取报警信号,停止功能测试。
80.其中,当判断未通过碰撞检测测试时,白盒测试装置发出报警信号,提示碰撞检测测试发生错误,并停止功能测试。
81.继续参阅图4,图4是图1提供的白盒测试方法中步骤s14的另一具体流程示意图。具体而言,包括以下步骤:
82.步骤s1421:获取软浮动测试函数与软浮动检测轨迹数据,进行软浮动测试。
83.其中,当选择进行软浮动测试时,调取测试项函数中的软浮动测试函数,以及测试数据集中的软浮动检测轨迹数据,根据软浮动测试函数与软浮动检测轨迹数据进行软浮动测试。
84.步骤s1422:判断是否通过软浮动测试。
85.其中,软浮动检测轨迹数据包括定点位置数据,软浮动测试函数包括定向外力值以及无外力值。
86.当调取软浮动测试函数中的无外力值对定点位置数据进行测试时,即不施加外力值时,若无浮动位置信息生成,则通过软浮动测试;若有浮动位置信息生成,则未通过软浮动测试。
87.当调取软浮动测试函数中的定向外力值对定点位置数据进行测试时,即加载定向外力值时,若有浮动位置信息生成,则通过软浮动测试;若无浮动位置信息生成,则未通过软浮动测试。
88.当判断通过软浮动测试时,则执行步骤s1423;当判断未通过软浮动测试时,则执行步骤s1424。
89.步骤s1423:结束功能测试。
90.其中,当判断通过软浮动测试时,则完成功能测试,并输出测试结果。
91.步骤s1424:获取报警信号,停止功能测试。
92.其中,当判断未通过软浮动测试时,白盒测试装置发出报警信号,提示软浮动测试发生错误,并停止功能测试。
93.继续参阅图5,图5是图1提供的白盒测试方法中步骤s14的又一具体流程示意图。具体而言,包括以下步骤:
94.步骤s1431:获取拖动示教测试函数与拖动示教检测轨迹数据,进行拖动示教测试。
95.其中,当选择进行拖动示教测试时,调取测试项函数中的拖动示教测试函数,以及测试数据集中的拖动示教检测轨迹数据,根据拖动示教测试函数与拖动示教检测轨迹数据进行拖动示教测试。
96.步骤s1432:判断是否通过拖动示教测试。
97.其中,拖动示教检测轨迹数据包括定点位置数据,拖动示教测试函数包括指令力矩。当通过定点位置数据测试时,若反馈力矩与指令力矩差值小于或等于10%,则通过拖动示教测试;若反馈力矩与指令力矩差值大于10%,则通过拖动示教测试。
98.当判断通过拖动示教测试时,则执行步骤s1433;当判断未通过拖动示教测试时,则执行步骤s1434。
99.步骤s1433:结束功能测试。
100.其中,当判断通过拖动示教测试时,则完成功能测试,并输出测试结果。
101.步骤s1434:获取报警信号,停止功能测试。
102.其中,当判断未通过拖动示教测试时,白盒测试装置发出报警信号,提示拖动示教测试发生错误,并停止功能测试。
103.可选地,在其他实施例中,可同时或依次进行碰撞检测测试、软浮动测试以及拖动示教测试,且进行测试的顺序不作限制。
104.区别于现有技术,本技术预先在白盒测试装置中建立一种适用于工业机器人动力学功能白盒测试体系,并封装测试项函数以及测试数据集于白盒测试体系中,进行动力学功能测试时,能够方便快捷地调用数据进行测试。同时,本技术根据待测机器人的型号,预先判断其通过基础参数测试,即依次通过驱动参数测试、摩擦参数测试以及本体参数测试,再进行功能测试,分别进行碰撞检测测试、软浮动测试以及拖动示教测试;且当未通过驱动参数测试、摩擦参数测试、本体参数测试、碰撞检测测试、软浮动测试或拖动示教测试时,白盒测试装置发出报警信号,提示相应的测试发生错误,并停止测试,有效防止基础参数错误导致功能测试失败,同时方便寻找发生错误的原因。
105.请继续参阅图6,图6是本技术提供的白盒测试装置一实施例的框架示意图。白盒
测试装置60包括:
106.获取模块61,用于获取待测机器人型号、基础测试函数、功能测试函数与测试集数据;
107.处理模块62,连接获取模块61,用于基于基础测试函数与测试集数据进行基础参数测试,以及基于功能测试函数与测试集数据进行功能测试;
108.处理模块62还用于判断是否通过基础参数测试与功能测试。
109.请参阅图7,图7是本技术提供的电子设备一实施例的框架示意图。电子设备70包括相互耦接的存储器71和处理器72,处理器72用于执行存储器71中存储的程序指令,以实现上述任一白盒测试方法实施例中的步骤。在一个具体的实施场景中,电子设备70可以包括但不限于:微型计算机、服务器,此外,电子设备70还可以包括笔记本电脑、平板电脑等移动设备,在此不做限定。
110.具体而言,处理器72用于控制其自身以及存储器71以实现上述任一白盒测试方法实施例中的步骤。处理器72还可以称为cpu(central processing unit,中央处理单元)。处理器72可能是一种集成电路芯片,具有信号的处理能力。处理器72还可以是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器72可以由集成电路芯片共同实现。
111.请参阅图8,图8是本技术提供的计算机可读存储介质一实施例的框架示意图。计算机可读存储介质80存储有能够被处理器运行的程序指令81,程序指令81用于实现上述任一白盒测试方法实施例中的步骤。
112.在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
113.上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
114.在本技术所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
115.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
116.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现
出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施方式方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献