基于机械臂实现自动化辅助检测支付终端的系统及方法与流程

文档序号:33645799发布日期:2023-03-29 03:51阅读:70来源:国知局
基于机械臂实现自动化辅助检测支付终端的系统及方法与流程

1.本发明涉及金融设备测试技术领域,尤其涉及一种基于机械臂实现自动化辅助检测支付终端的系统及方法。


背景技术:

2.当前随着支付终端设备的技术发展,各种支付终端设备越来越多,更新换代的速度也在加快,从而对产品的研发速度要求越来越高。因此缩短研发周期势在必行,而支付终端的性能测试是支付终端设备研发过程中的重要环节,由于终端设备的特殊性,会有一些重复性动作的测试用例,比如测试支付终端设备刷卡1000次的准确率等,因此如果能提高测试效率,减少测试时间,对缩短产品研发周期能起到至关重要的作用。
3.现有技术中有采用机械臂代替人工进行刷卡测试,但是目前市面上的机械臂大部分只是可以实现对非接触卡的自动换卡,对接触式ic卡和磁条卡还不能实现自动换卡,主要原因是接触式ic卡和磁条卡要对准终端设备的ic卡卡槽和磁条卡卡槽才能刷卡成功,但是现有技术中的机械臂并不能自动校准位置。


技术实现要素:

4.本发明的目的在于提供一种基于机械臂实现自动化辅助检测支付终端的系统及方法,从而解决现有技术中存在的前述问题。
5.为了实现上述目的,本发明采用的技术方案如下:
6.一种基于机械臂实现自动化辅助检测支付终端的系统,包括内置控制器的机械臂、待测试终端设备(支付终端)和安装有辅助自动化测试软件的上位机,所述上位机分别与所述机械臂的控制器和所述待测试终端设备通信相连,所述待测试终端设备安装在所述机械臂上,发送请求测试指令给所述上位机,所述上位机接收到请求测试指令后,分析后发送测试动作指令给所述机械臂的控制器,所述机械臂的控制器控制所述机械臂执行所述动作指令,并将测试结果返回给所述上位机;
7.所述机械臂包括主框架和安装在所述主框架上可移动的x轴、y轴和z轴,所述x轴和所述z轴交叉设置在所述y轴的上方,实现x轴左右移动、所述y轴前后移动以及z轴上下移动;所述y轴上设置舵机1以安装所述待测试终端设备,所述z轴上设置舵机以固定用于测试终端设备的卡片或签字笔。
8.优选的,所述主框架包括底座、立柱和横梁,所述立柱垂直安装在所述底座上,所述横梁安装在所述立柱顶端且与所述底座平行,所述x轴安装在所述横梁上,所述z轴安装在所述x轴上且垂直于所述底座;所述y轴平行设置在所述底座上;
9.所述z轴上设置舵机2和舵机3,所述舵机2位于所述z轴的底端,用于固定非接卡;所述舵机3位于所述z轴的中部,用于固定ic卡或电子签字笔;
10.所述x轴、y轴、z轴、舵机1、舵机2和舵机3均与所述控制器相连。
11.优选的,机械臂还包括步进电机和红外激光测距传感器,所述步进电机和所述红
外激光测距传感器均与所述控制器相连,所述步进电机设置在x轴,y轴和z轴的端部用于驱动x轴、y轴和z轴移动,所述红外激光测距传感器(图中未标出)位于x轴、y轴和z轴0坐标(以x轴、y轴和z轴原始位置的一端作为0坐标)的主框架上,用于测定x轴、y轴和z轴目前所处的位置以及移动的距离。
12.优选的,所述辅助自动化测试软件包括初始化模块、测试模块和结果判定模块,所述初始化模块用于设置待测试终端设备的型号、连接方式和测试项目,加载对应机械臂参数,创建并发送测试线程任务给所述测试模块;所述测试模块接收测试线程任务后,计算分析得到机械臂的移动步数,制定动作指令发给所述机械臂的控制器,所述机械臂的控制器通过电机驱动执行所述动作指令测试终端设备,同时终端设备反馈是否检测到有刷卡或按键动作给所述结果判断模块,若有,则继续执行动作指令并返回测试结果;若无,则返回错误码,重新制定动作指令。
13.优选的,所述初始化模块还包括:每测试一个终端设备前,选择连接方式和测试项目,手动设置舵机2、3以及舵机1的相对位置,并保存x轴、y轴和z轴的参数,建立机械臂步长与长度换算模型;在进行测试时,测试模块接收测试线程任务后,根据待测试终端设备的型号、连接方式和测试类型,采用机械臂步长与长度换算模型计算分析得到机械臂的移动步数,制定动作指令发给所述机械臂的控制器。
14.优选的,所述机械臂步长与长度换算模型具体包括:
15.确定坐标轴的长度为s,设置步进电机的最高步数为n,即步进电机每步长度为s/n;对于坐标轴待到达的目标位置s1与该坐标轴的实时位置s2,确定步进电机所需要移动的步数为:(s1-s2)/(s/n)。
16.本发明的另一个目的在于提供一种基于机械臂实现自动化辅助检测支付终端的方法,采用基于机械臂实现自动化辅助检测支付终端的系统,包括以下步骤:
17.s1,安装待测试终端设备于舵机1上,初始化辅助自动化测试软件,设置待测试终端设备型号、连接方式以及测试项目,加载对应机械臂参数,创建测试线程任务并发送任务case号给所述待测试终端设备;
18.s2,所述待测试终端设备是否收到ack,若是,则终端设备执行该线程任务,并发送指令给所述上位机,否则,取消该线程任务;
19.确定上位机是否收到该指令,若是,则上位机制定动作指令给所述机械臂,所述机械臂执行该测试任务,待测试结束后反馈指令执行结果至所述上位机。
20.优选的,还包括:若上位机未收到所述指令,则进一步确认该线程任务是否已完成,若是,则将该线程任务标记为已完成,释放该线程;否则,需要进一步判断原因,若线程出现“fail”或“error”字符串,则该线程任务已失败,释放该线程;若没有出现“fail”或“error”字符串,则返回步骤s1,重新读取线程任务。
21.优选的,步骤s2中具体包括:
22.s21,判断待测试终端设备是否需要刷卡或按键动作,若不需要,则直接进入步骤s27;若需要,则进一步判断是自动流程还是手动流程,自动流程进入步骤s22,手动流程进入步骤s23;
23.s22,终端设备发送刷卡或按键动作指令给上位机,上位机转发该动作指令给机械臂,机械臂执行所述动作指令,进入步骤s24;
24.s23,手动刷卡或按键动作测试终端设备,进入步骤s24;
25.s24,终端设备检测是否有刷卡或按键动作,若是,则继续进行测试,直到测试结束,否则直接进入步骤s27;
26.s25,测试结束后将测试结果返回上位机,若测试结果符合预期,则测试过程成功;否则进入步骤s26;
27.s26,测试失败,返回错误码。
28.优选的,所述机械臂执行该测试任务,具体包括:按照测试需要安装待测试终端设备和卡片,控制器根据动作指令调整x轴、y轴、z轴、舵机1、舵机2和舵机3的位置,使得舵机2或3的卡片能够插入舵机1上的终端设备,完成测试过程。
29.更优选的,本发明中提供的机械臂具有自动校准功能,以保证测试过程顺利进行,包括复位校准和实时校准:
30.复位校准:由于在x轴、y轴、z轴的0位置那端各安装一个红外激光测距传感器,因此复位校准就是每次测试完成后使各轴都回到0位置,并把各轴的位置距离置为0;
31.实时校准就是每做完一条测试用例后直接在该位置进行校准,校准的方法是用红外激光测距传感器测量当前坐标轴的距离s1,然后与步进电机移动的步数换算后的距离s2比较,如果s1等于s2,则不用移动该坐标轴;如果s1大于s2,则该轴的步进电机前进(s1-s2)距离;如果s1小于s2,该轴的步进电机后退(s2-s1)距离。
32.本发明的有益效果是:
33.本发明提供一种基于机械臂实现自动化辅助检测支付终端的系统及方法,该系统采用自主研发的机械臂,根据最初设置的参数,配合特定的机械臂步长与长度换算模型,通过移动坐标轴自动找准支付终端设备的测试位置,并且如果发生位置偏移会报警并实现自动校准位置,从而快速提高机械臂的刷卡准确度,提高产品的测试效率,减少产品测试周期,节约测试人员人力成本。缩短了开发周期,达到了降低成本的目的。
附图说明
34.图1是实施例1中提供的基于机械臂实现自动化辅助检测支付终端的系统示意图;
35.图2是机械臂的结构示意图;
36.1是主框架,2是机械臂电源,3是机械臂控制器,4是机械臂x轴,5是机械臂y轴,6是机械臂z轴,7是机械臂舵机1,8是机械臂舵机2,9是机械臂舵机3,10是紧急停止按钮,11是步进电机;
37.图3是采用实施例1中的系统进行自动化辅助检测支付终端的初始化过程示意图;
38.图4是采用实施例1中的系统进行自动化辅助检测支付终端的总体流程示意图;
39.图5是采用实施例1中的系统进行自动化辅助检测支付终端时终端设备执行测试用例的流程示意图;
40.图6是机械臂执行自动测试时的动作处理流程示意图;
41.图7是通信协议示意图。
具体实施方式
42.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进
行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
43.实施例1
44.本实施例提供了一种基于机械臂实现自动化辅助检测支付终端的系统,如图1所示,包括内置控制器的机械臂、待测试终端设备和安装有辅助自动化测试软件的上位机,所述上位机分别与所述机械臂的控制器和所述待测试终端设备通信相连,所述待测试终端设备安装在所述机械臂上,发送请求测试指令给所述上位机,所述上位机接收到请求测试指令后,分析后发送测试动作指令给所述机械臂的控制器,所述机械臂的控制器控制所述机械臂执行所述动作指令,并将测试结果返回给所述上位机;
45.本实施例中所记载的所述机械臂结构如图2所示,包括主框架和安装在所述主框架上可移动的x轴、y轴和z轴,所述主框架包括底座、立柱和横梁,所述立柱垂直安装在所述底座上,所述横梁安装在所述立柱顶端且与所述底座平行,所述x轴安装在所述横梁上,所述z轴安装在所述x轴上且垂直于所述底座;所述y轴平行设置在所述底座上;所述x轴、y轴、z轴均与所述控制器相连,实现x轴左右移动、所述y轴前后移动以及z轴上下移动。
46.所述y轴上设置舵机1,舵机1上设置安装座,以安装所述待测试终端设备,其中舵机1可360度旋转;所述z轴上设置舵机2和舵机3,所述舵机2位于所述z轴的底端,与终端设备垂直设置,可用于固定非接卡,进行非接卡的刷卡测试过程;所述舵机3位于所述z轴的中部,安装方向垂直于所述z轴,用于固定ic卡或电子签字笔。舵机2和舵机3均可以绕转轴180度旋转。
47.本实施例中的机械臂还包括步进电机和红外激光测距传感器,所述步进电机和所述红外激光测距传感器均与所述控制器相连,所述步进电机设置在x轴,y轴和z轴的端部用于驱动x轴、y轴和z轴移动,所述红外激光测距传感器(图中未标出)位于x轴、y轴和z轴0坐标(以x轴、y轴和z轴原始位置的一端作为0坐标)的主框架上,用于测定x轴、y轴和z轴目前所处的位置以及移动的距离。
48.本实施例中的机械臂还包括电源和紧急停止按钮,所述电源为控制器和电机供电,当遇到突发事件,可以通过紧急停止按钮切断电源停止机械臂的工作。
49.本实施例中的所述辅助自动化测试软件包括初始化模块、测试模块和结果判定模块,所述初始化模块用于设置待测试终端设备的型号、连接方式和测试项目,加载对应机械臂参数,创建并发送测试线程任务给所述测试模块;所述测试模块接收测试线程任务后,计算分析得到机械臂的移动步数,制定动作指令发给所述机械臂的控制器,所述机械臂的控制器通过电机驱动执行所述动作指令测试终端设备,同时终端设备反馈是否检测到有刷卡或按键动作给所述结果判断模块,若有,则继续执行动作指令并返回测试结果;若无,则返回错误码,重新制定动作指令。
50.所述初始化模块还包括:每测试一个终端设备前,选择连接方式和测试项目,手动设置舵机2、3以及舵机1的相对位置,并保存x轴、y轴和z轴的参数,所述参数包括各轴的起始位置和各舵机的角度,还包括各轴对不同运动需要移动的距离,建立机械臂步长与长度换算模型;在进行测试时,测试模块接收测试线程任务后,根据待测试终端设备的型号、连接方式和测试类型,采用机械臂步长与长度换算模型计算分析得到机械臂的移动步数,制定动作指令发给所述机械臂的控制器。
51.本实施例中所述机械臂步长与长度换算模型具体包括:
52.确定坐标轴的长度为s,设置步进电机的最高步数为n,即步进电机每步长度为s/n;对于坐标轴待到达的目标位置s1与该坐标轴的实时位置s2,确定步进电机所需要移动的步数为:(s1-s2)/(s/n)。
53.基于上述模型,本实施例中的机械臂具有自动校准功能,包括复位校准和实时校准:
54.复位校准:由于在x轴、y轴、z轴的0位置那端各安装一个红外激光测距传感器,因此复位校准就是每次测试完成后使各轴都回到0位置,并把各轴的位置距离置为0;
55.实时校准就是每做完一条测试用例后直接在该位置进行校准,校准的方法是用红外激光测距传感器测量当前坐标轴的距离s1,然后与步进电机移动的步数换算后的距离s2比较,如果s1等于s2,则不用移动该坐标轴;如果s1大于s2,则该轴的步进电机前进(s1-s2)距离;如果s1小于s2,该轴的步进电机后退(s2-s1)距离。
56.实施例2
57.本实施例提供了一种基于机械臂实现自动化辅助检测支付终端的方法,采用实施例1中所述的基于机械臂实现自动化辅助检测支付终端的系统,包括以下步骤:
58.s1,安装待测试终端设备于舵机1上,初始化辅助自动化测试软件,设置待测试终端设备型号、连接方式以及测试项目,加载对应机械臂参数,创建测试线程任务并发送任务case号给所述待测试终端设备;
59.s2,所述待测试终端设备是否收到ack,若是,则终端设备执行该线程任务,并发送指令给所述上位机,否则,取消该线程任务;
60.确定上位机是否收到该指令,若是,则上位机制定动作指令给所述机械臂,所述机械臂执行该测试任务,待测试结束后反馈指令执行结果至所述上位机。
61.本实施例中的初始化流程如图3所示,包括以下步骤:
62.s11,设置待测试终端设备的机型、终端连接方式、机械臂连接方式和测试项目;
63.s12,如果执行成功则执行s13,否则执行s110。
64.s13,根据选择的待测试终端设备的机型加载对应的机械臂参数(如x、y、z轴的位置,移动速度、舵机的角度等)。
65.s14,如果执行成功则执行s15,否则执行s110。
66.s15,移动机械臂的x轴、y轴和z轴的位置到参数指定位置。
67.s16,如果执行成功则执行s17,否则执行s110。
68.s17,加载测试项目并创建测试线程任务。
69.s18,如果执行成功则执行s19,否则执行s1110。
70.s19,返回初始化成功。
71.s110,返回初始化失败。
72.本实施例中步骤s2的自动化辅助检测过程如图4所示:
73.s21,上位机中的自动化辅助检测系统从任务队列中读取一行数据,解析出case号并发送给待测试终端设备;
74.s22,自动化辅助检测系统是否接收到正确的应答数据,如果正确接收到执行s23否则执行s25。
75.s23,待测试终端设备执行case。
76.s24,自动化辅助检测系统是否接收到终端设备的动作指令,接收到动作指令执行s26,否则执行s27。
77.s25,自动化辅助检测系统释放线程调度一段时间,(如freertos中延时10ms,释放10ms的权限)。
78.s26,自动化辅助检测系统根据运动指令和终端设备参数计算机械臂移动步数,发送动作指令给机械臂,机械臂执行动作(更为详尽的处理说明参见流程图5),执行完成之后跳转到s211。
79.s27,查询是否收到终端设备返回数据行中是否有指令执行正确标识符“ok”,如果查询到执行s28,否则执行s29。
80.s28,case结构体中resp_status记为成功状态,即赋值为0,跳转执行s211。
81.s29,自动化测试辅助系统是否接收到失败或者错误标识,“fail”、“error”。若是则执行s210,否则执行s21。
82.s210,case结构体中resp_status记为失败状态,即赋值为-1。
83.s211,主控释放信号量resp_notice。
84.上述步骤s23中,终端设备执行case的过程如图5所示:
85.1),手动测试流程,手动输入测试用例case号。
86.2),自动化测试流程,接收到辅助系统发来的测试用例case号。
87.3),终端设备执行case。
88.4),是否需要刷卡或按键等操作。如果是且是手动流程则执行s5,如果是且是自动化流程则执行6),否则执行12);
89.5),手动刷卡或按键等操作。
90.6),发送刷卡或按键等动作指令给辅助系统。
91.7),辅助系统转发动作指令给机械臂。
92.8),机械臂执行指令动作。
93.9),终端设备判断是否检测到刷卡或按键等动作,如果是执行10),否则执行12)。
94.10),判断测试结果是否符合预期,如果是执行11),否则执行12)。
95.11),返回成功。
96.12),返回错误码。
97.机械臂执行动作指令的处理过程如图6所示,具体包括以下步骤:
98.a,机械臂初始化成功并处于待命状态。
99.b,判断是否接收到指令,如果是则执行s3,否则执行s1
100.c,执行指令动作。
101.d,反馈指令执行结果给辅助系统。
102.e,机械臂回到初始状态。
103.本实施例中,终端设备与上位机、上位机与机械臂之间均通过usb串口协议通讯,因此基于现有技术建立了一个三层的通信协议,包括数据层、命令层和传输层,如图7所示:
104.数据层的格式不固定,包含不同的命令所需要的不同数据;
105.命令层的数据包括数据层数据和命令头,命令层格式为:4字节命令头+命令数据
106.命令头:cla+ins+len_lo+len_hi+[data]
[0107]
响应报文
[0108]
4字节响应头+响应数据
[0109]
响应头:cla+ret_ins+len_lo+len_hi
[0110]
传输层负责帧数据的拆封,数据校验,超时重发,错误重传。将命令层数据加上头部和尾部封装成帧发送给接收方,或将接收到来自发送方的帧数据解开,保证协议的可靠性。帧传输支持明文和密文模式。
[0111]
帧数据:帧头+命令层数据+校验字节(crc16)。
[0112]
帧头:tag(1b)+len(2b,little-endian)+seq(2b)+state(1b)+rfu(1b),共7字节
[0113]
校验字节:前面数据全部异或,目前定义2字节。
[0114][0115][0116]
len(2b,little-endian):
[0117]
包含6b命令头+数据长度。
[0118]
seq(2b):
[0119]
帧序号,返回帧中根据传进来的帧序号原样返回。
[0120]
state(1b):
[0121]
主动发送方的帧数据中此字节未使用,暂时固定为0,返回数据时此字节作为帧状态码。
[0122]
rfu(1b):
[0123]
1为响应接收到命令帧,0为响应执行命令结果
[0124]
[0125][0126]
本实施例中,机械臂与上位机之间通信指令如下表所示:
[0127][0128]
备注1:
[0129]
crc校验算法:
[0130][0131][0132]
备注2:
[0133]
2字节移动步数,低字节在前,高字节在后
[0134]
如:fe 06 00 17 00 01 d0 07 91 02,向x轴正方向移动07d0步
[0135]
备注3:
[0136]
发送获取实时数据指令:fe 03 00 00 00 3c 51 d4
[0137]
返回的数据:fe 03 78
[0138]
0f 6e 04 3c 02 8a 00 00 00 00 00 00 00 32 00 32 00 32 00 00
[0139]
15 7c 05 dc 32 c8 00 00 00 00 00 00 00 00 00 00 00 00 00 07
[0140]
07 d0 01 f4 13 88 00 00 07 d0 00 00 00 00 00 00 00 00 00 00
[0141]
01 f4 00 0c 13 88 00 32 00 64 15 7c 00 64 01 f4 00 00 00 00
[0142]
01 f4 00 0f 13 88 00 32 00 64 05 dc 00 64 00 c8 00 00 00 00
[0143]
03 20 00 14 32 c8 00 32 00 64 88 b8 00 64 07 d0 00 00 00 00
[0144]
b9 81(2字节校验码)
[0145]
本实施例中的待测试终端设备与上位机的动作通信指令如下表所示:
[0146]
[0147][0148]
例子:
[0149]
vm30 pos机通知插ic卡:
[0150]
40 0c 00 00 01 00 00fc 01 01 00 00 00c8 ab
[0151]
响应:
[0152]
20 06 00 00 01 00 00 6b 64
[0153]
通过采用本发明公开的上述技术方案,得到了如下有益的效果:
[0154]
本发明提供一种基于机械臂实现自动化辅助检测支付终端的系统及方法,该系统采用自主研发的机械臂,根据最初设置的参数,配合特定的机械臂步长与长度换算模型,通过移动坐标轴自动找准支付终端设备的测试位置,并且如果发生位置偏移会报警并实现自动校准位置,从而快速提高机械臂的刷卡准确度,提高产品的测试效率,减少产品测试周期,节约测试人员人力成本。缩短了开发周期,达到了降低成本的目的。
[0155]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1