CN113504063B - 一种基于多轴机械臂的立体空间触屏设备可视化测试方法 - Google Patents

一种基于多轴机械臂的立体空间触屏设备可视化测试方法 Download PDF

Info

Publication number
CN113504063B
CN113504063B CN202110734355.3A CN202110734355A CN113504063B CN 113504063 B CN113504063 B CN 113504063B CN 202110734355 A CN202110734355 A CN 202110734355A CN 113504063 B CN113504063 B CN 113504063B
Authority
CN
China
Prior art keywords
touch screen
coordinate system
mechanical arm
calibration
touch
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110734355.3A
Other languages
English (en)
Other versions
CN113504063A (zh
Inventor
钱巨
金苇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Aeronautics and Astronautics
Original Assignee
Nanjing University of Aeronautics and Astronautics
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Aeronautics and Astronautics filed Critical Nanjing University of Aeronautics and Astronautics
Priority to CN202110734355.3A priority Critical patent/CN113504063B/zh
Publication of CN113504063A publication Critical patent/CN113504063A/zh
Application granted granted Critical
Publication of CN113504063B publication Critical patent/CN113504063B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01MTESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
    • G01M99/00Subject matter not provided for in other groups of this subclass
    • G01M99/008Subject matter not provided for in other groups of this subclass by doing functionality tests
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/002Measuring arrangements characterised by the use of optical techniques for measuring two or more coordinates
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • G01B11/2433Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures for measuring outlines by shadow casting

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)

Abstract

本发明公开了一种基于多轴机械臂的立体空间触屏设备可视化测试方法,包括一套用于立体空间触屏设备测试的机器人装置和一套依托该装置的可视化测试脚本的执行方法。机器人装置包括多轴机械臂、深度相机、操作台、被测设备。测试引擎包括一套用于减少触控误差的校准机制,一套用于确定三维空间中目标控件位置的定位算法,和一套触控运动规划算法,以及由此构成的测试脚本执行方法。本发明通过基于多轴机械臂的测试装置和测试方法,实现了对立体空间设备的非侵入式测试,解决了立体空间设备上图形界面软件难以测试的问题。

Description

一种基于多轴机械臂的立体空间触屏设备可视化测试方法
技术领域
本发明属于计算机***设备技术领域,尤其涉及一种基于多轴机械臂的立体空间触屏设备可视化测试方法。
背景技术
随着触屏设备的大范围普及,大量触屏应用程序蓬勃发展,构建了触屏应用生态***的同时也给软件测试带来了挑战。如果没有好的软件测试技术,测试人员将会花费大量精力在重复单调的测试当中,从而浪费大量的人力、物力、财力和时间。
测试自动化是指在预设条件下自动运行相关应用,检查运行结果,把以人为驱动的测试行为转化为机器执行的一种过程。与传统人工测试相比,触屏设备的自动化测试可以大大减少时间消耗和人力浪费,避免重复的人工操作,降低测试成本,提高测试效率。
在触屏设备测试自动化领域,人们已经提出了一些技术,并设计了相关工具。这些测试自动化框架大致可以分为三类:传统测试自动化技术、可视化测试技术与非侵入式机器人测试技术。
传统测试自动化技术通过控件标签,索引,坐标等执行GUI(用户图形界面)操作,例如UIAutomator、Robotium和Appium66。传统测试自动化技术由于需要控制操作***的底层控件,对被测设备***或者应用程序的界面框架具有较强依赖性。
可视化测试技术引入计算机视觉技术,利用控件图像执行GUI测试,以此摆脱对于界面框架的依赖性,例如Sikuli、JAutomate和AirTest等。此类可视化GUI测试主要通过在所得屏幕图像上进行控件识别获得控件位置,只需与操作***交互,而无需通过界面框架了解界面布局结构,跨平台性更强。然而以上两种测试技术均没有摆脱***的牵制,都需要通过被测设备提供***接口,属于侵入式测试,对于一些无法提供操作***接口的封闭***(例如GoPro,ATM机等)将无法开展测试。另一方面,以上两种测试技术的测试动作直接在底层***中激发,而不是通过真实用户界面激发,常常无法模拟真实的用户体验,其结果可能不是很可信。
非侵入式机器人测试技术通过引入机器人技术来模拟用户与被测设备的真实交互体验,不再通过底层***激发测试动作,而是通过二维机器人点击屏幕实现测试动作,摆脱了对于被测设备的***权限依赖,跨平台性更强,同时模拟用户与设备的交互过程使得测试结果更可信。然而该技术使用的二维机器人仅适用于水平放置的移动设备的自动化测试,无法对于一些结构和姿态复杂的立体空间设备(例如ATM机)进行有效测试,适用范围小,仍具有一定的局限性。
发明内容
本发明目的在于提供一种基于多轴机械臂的立体空间触屏设备可视化测试方法,以解决上述现有技术中存在的技术问题。
本发明的具体技术方案如下:
一种基于多轴机械臂的立体空间触屏设备可视化测试方法,包括以下步骤:
步骤1、构建立体空间触屏设备测试的机器人装置;
所述机器人装置包括多轴机械臂、深度相机、操作台、被测设备;
所述被测设备上安装有触控屏幕,被测设备部署在操作台上,触控屏幕所在面与操作台不在同一水平线上;
所述多轴机械臂与深度相机固定在操作台上,深度相机位于被测设备正前方,多轴机械臂位于被测设备侧方;
所述深度相机无遮挡拍摄被测设备屏幕全貌;
所述多轴机械臂能到达被测设备屏幕上任意位置;
所述多轴机械臂末端装有触控笔用于实现被测设备屏幕触控;
所述深度相机和多轴机械臂之间利用手眼标定技术计算出相机坐标系与机器人坐标系的转换矩阵。
步骤2、利用误差校准机制开展带反馈的触控尝试,基于其结果拟合一个触控位置误差修正函数,利用该修正函数克服由于多轴机械臂本身重力而产生的远端运动偏差,降低深度相机深度数据计算偏差带来的影响;
步骤3、误差校准完成后利用深度相机获得的RGB-D图像,计算出屏幕所在平面的平面方程并确定屏幕区域范围,构建被测设备屏幕的三维空间模型;
步骤4、逐条执行脚本中每一个测试指令,执行指令时,首先从脚本中解析出触屏动作类型与屏幕目标控件图元;再依据控件图元以及三维控件定位算法,定位目标控件在相机坐标系下的三维空间坐标;然后利用机器人装置手眼标定的结果将相机坐标系下的坐标转化为机器人坐标系下的三维坐标;
步骤5、利用步骤2误差校准的结果修正该机器人坐标系下的坐标,提高控件定位的准确度,与解析出的动作类型一并发送给机器人控制程序;
步骤6、机器人控制程序根据接收到的动作类型与目标控件在机器人坐标系下的三维坐标,利用触控运动规划算法规划机器人的基本运动步骤,将脚本中的一次动作拆解为多个机械臂基本运动步骤,然后利用逆运动学算法与运动规划算法将每一个基本运动步骤转化为多轴机械臂的关节角度序列并发送给机械臂底层驱动,以此驱动多轴机械臂在屏幕不同位置进行点击、滑动操作。
进一步的,步骤2的误差校准机制通过由平板电脑构成的校准板实现,将校准程序装入平板电脑,构成校准板;将校准板贴附于被测设备触屏表面,再自动控制多轴机械臂依次点击校准程序中的校准点并收集反馈,完成触控误差校准操作,布置好校准板后的具体校准步骤为:
步骤2.1、启动校准板的校准程序,程序显示S行、S列,共M(M=S×S)个校准点,作为待尝试触控的目标;
步骤2.2、先用霍夫变换圆检测算法识别校准点,获得其在深度相机所拍摄的RGB图像中的坐标
Figure BDA0003141013460000041
再利用步骤4中三维控件定位算法计算出校准板上校准点在相机坐标系下的三维坐标位置,然后利用手眼标定结果将其转换为机器人坐标系下的坐标作为校准点的目标触控位置Ai,最后利用步骤6的机器人控制程序根据Ai依次点击校准板上的校准点;
步骤2.3、校准程序记录每一次点击在校准板二维坐标系中的坐标位置与触控接触时间;若某一校准点在规定时间内未检测到触控,则利用步骤2.2重新计算该校准点的三维坐标,并逐步增大触控深度直至校准板检测到触控;若触控接触时间超过规定值,则逐步减小深度,直至触控接触时间在规定范围内;记校准点Ni对应的目标触控位置在机器人坐标系下的坐标为Ai=(xi,yi,zi)(i=1...M),Ni的实际触控位置在以校准板屏幕上边缘向右为X轴正方向、以左边缘向下为Y轴正方向、以校准板屏幕像素为单位的校准板二维坐标系中的坐标为
Figure BDA0003141013460000042
屏幕正视图像坐标系以屏幕正视图像左上角顶点为原点,图像上边缘向右为x轴正方向,左边缘向下为y轴正方向,以图片像素为单位;根据校准板坐标系与屏幕正视图像坐标系的比例将
Figure BDA0003141013460000043
转化为屏幕正视图像坐标系中的坐标
Figure BDA0003141013460000044
Figure BDA0003141013460000045
然后利用步骤4中的三维控件定位算法与手眼标定得到的转换矩阵计算出
Figure BDA0003141013460000051
在机器人坐标系下的坐标为Ci=(x′i,yi′,z′i)(i=1...M);
记校准点的实际触控位置在机器人坐标系下的坐标Ci与校准点的目标触控位置在机器人坐标系下的坐标Ai的偏差为di=(x′i-xi,yiyi′-y,z′i-zi)(i=1...M),然后利用样条插值算法根据Bi与di计算出误差修正函数F(x,y);当目标触控点在屏幕正视图像坐标系中的坐标为(x,y)时,F(x,y)=(dx,dy,dz)的计算结果表示(x,y)在机器人坐标系下坐标(x′,y′,z′)的修正值为(dx,dy,dz)。
进一步的,步骤3的构建屏幕三维空间模型辅助定位目标控件在三维空间中的坐标,提高定位精确度,包括以下步骤:
步骤3.1、屏幕轮廓提取
从深度相机拍摄的RGB图像中提取被测设备屏幕的轮廓,具体包括以下步骤:
步骤3.1.1、从深度相机获取被测设备的RGB图像,利用基于深度学习的目标识别算法从中识别出触控屏幕在扭曲变形图像中的多边形区域范围;找出该多边形区域的最小外接矩形,然后将矩形区域面积扩大20%,以保证屏幕被完整包含在区域内,同时该区域不包括复杂背景,最后截取出该区域;
步骤3.1.2、在被截取出的矩形区域中利用边缘检测技术识别屏幕轮廓,首先找出所围面积最大的轮廓线,再从该轮廓线中找出分别距离2.1.1所得图像四个顶角最近的四个点作为被测设备屏幕的四个顶点;
步骤3.1.3、利用透视变换技术将四个顶点所包围的区域投影到一个正视平面中,得到屏幕正视图像S;根据屏幕正视图像S构建屏幕正视图像坐标系;根据上述步骤,提取出被测设备的屏幕轮廓,以免除复杂背景对后续测试的影响;
步骤3.2、构建屏幕的三维空间模型
构建屏幕的三维空间模型,以确定被测设备屏幕在三维空间中的具***置与大小,包括以下步骤:
步骤3.2.1、在透视变换后的屏幕范围内中随机选取n个采样点以及4个屏幕顶点的二维坐标,再利用反透视变换计算出这n+4个点在摄像头所拍摄的原图像中的位置;
步骤3.2.2、利用深度相机的RGB-D图像获取这n+4个采样点在相机坐标系下的三维坐标,再对这n+4个三维坐标进行平面拟合计算出屏幕所在平面在相机坐标系中的三维空间方程P(x,y)与平面法向量
Figure BDA0003141013460000061
步骤3.2.3、屏幕范围修定:将深度相机获取到的4个屏幕顶点的三维坐标投影到上一步计算出的平面中作为屏幕新的四个顶点以最终确定屏幕的范围;最终得到相机坐标系下屏幕所在平面的方程P(x,y)、平面法向量
Figure BDA0003141013460000062
四个顶点的坐标位置以及通过计算屏幕顶点间的距离得到屏幕的物理世界长度hr与物理世界宽度wr,从而完成屏幕三维空间模型的构建。
进一步的,步骤4中利用如下三维控件定位算法确定目标控件在相机坐标系下的位置,具体包括以下步骤:
步骤4.1、首先计算目标控件在真实屏幕二维坐标系中的坐标:利用图像匹配算法获取目标控件图像在步骤3.1得到的屏幕正视图像坐标系中的坐标(x0,y0),再通过屏幕正视图像的长宽hp,wp与步骤3.2计算出的物理世界屏幕长宽hr,wr的比例计算出目标控件在物理世界屏幕坐标系中的坐标(x1,y1);物理世界屏幕坐标系以物理世界中屏幕左上角为原点,屏幕上边缘向右为x轴正方向,左边缘向下为y轴正方向,以物理世界尺寸为单位;
Figure BDA0003141013460000071
Figure BDA0003141013460000072
步骤4.2、目标控件三维位置计算:得到目标控件在物理世界屏幕坐标系中的坐标(x1,y1)后,在步骤3.2构造出的相机坐标系下的屏幕三维空间模型中构造两个正交单位向量u,v;u,v分别为屏幕空间模型中的屏幕上边缘与左边缘方向的单位向量,再将屏幕左上角顶点在屏幕空间模型中的坐标p作为原点,利用正交单位向量u,v与坐标p计算出目标控件在相机坐标系中的坐标pc=(xc,yc,zc),
pc=p+x1·u+y1·v。
进一步的,其中步骤6中的触控运动规划算法将脚本中一条指令的动作类型拆解为多个机械臂基本运动步骤,包括以下步骤:
步骤6.1、计算触控位置在屏幕法线方向正上方距离为D1的坐标,将其作为多轴机械臂执行动作的第一个目标位置t1,将触控位置作为多轴机械臂执行动作的第二个目标位置t2
步骤6.2、依据动作类型规划第三个触控位置,若动作类型为点击、长按,则第三个目标位置与第一个目标位置相同,多轴机械臂到达触控点后将会返回到该位置,至此点击、长按动作执行完毕,其移动顺序为t1→t2→t1
步骤6.3、若动作类型为滑动,则沿着滑动方向移动距离D2,计算出第三个目标位置t3,接着计算t3正上方距离为D1的第四个目标位置t4,将其作为滑动动作的最后一个目标位置,其移动顺序为t1→t2→t3→t4
步骤6.4、得到一个动作的所有目标位置之后,需要确定多轴机械臂末端触控笔到达目标位置时对应的姿态;用欧拉角(α,β,γ)表示触控笔的姿态,其中α代表触控笔绕机器人坐标系x轴旋转弧度,β代表触控笔绕机器人坐标系y轴旋转弧度,γ代表触控笔绕机器人绕z轴旋转弧度;对于目标位置不在屏幕上的一个基本运动步骤,笔尖姿态均设为垂直于屏幕向内;对于目标位置在屏幕上的一个基本运动步骤,将屏幕垂直划分为k个区域,判断该目标位置位于屏幕的哪一个区域;对于不同区域的点,触控笔笔尖姿态设为不同的值;对于靠近多轴机械臂的屏幕区域,笔尖姿态设为垂直于屏幕方向向内,对于远离多轴机械臂的屏幕区域,笔尖姿态代表的向量与屏幕平面夹角逐渐减小,具体计算公式如下:
Figure BDA0003141013460000081
Figure BDA0003141013460000082
其中
Figure BDA0003141013460000083
为屏幕所在平面在机器人坐标系下的法向量,
Figure BDA0003141013460000084
Figure BDA0003141013460000085
投影到z=0平面的投影向量,
Figure BDA0003141013460000086
为机器人坐标系下z轴正方向的单位向量;若触控位置位于区域Di(i=0..,k-1),则笔尖姿态值设为
Figure BDA0003141013460000087
步骤6.5、得到了目标位置坐标与到达该位置时对应的笔尖姿态,接下来使用路径规划算法计算出多轴机械臂从当前位置到目标位置的运动路径,运动路径由一个个路点组成,对于每一个路点,再利用逆运动学算法计算出多轴机械臂运动到该点时每一个关节轴应该转动到的角度,一个路点对应一组关节角度值,将每个路点对应的关节角度值依次发送给机械臂底层驱动,多轴机械臂将沿着运动路径以指定姿态到达目标位置完成一次运动;
步骤6.6、在执行下一个测试动作前多轴机械臂进行规避动作:为多轴机械臂设置了固定的规避姿态,当每一个完整的动作执行完毕后,多轴机械臂将自动进入规避姿态,在规避姿态下,多轴机械臂不对摄像头拍摄被测设备屏幕造成遮挡,同时不远离被测设备,使得下次执行动作时可以更快速地响应;同时在步骤6.5路径规划的过程中,也对被测设备进行规避。
本发明的一种基于多轴机械臂的立体空间触屏设备可视化测试方法,具有以下优点:
(1)本发明提供一套机器人装置来对立体空间设备进行非侵入式测试。测试过程中无需被测设备提供接口,无需获取被测设备的访问权限,对被测设备上的被测软件也无界面要求。该方法不仅适用于手机、平板,同时适用于ATM机等嵌入式的立体空间设备,适用范围广,通用性极强。
(2)本发明方法的误差校准、控件定位与多轴机械臂运动具有高度自动化,无需用户过多干预,多轴机械臂可模拟人与被测设备多种交互方式,如点击,长按,滑动等。
(3)本方法采用基于Mask-RCNN与RANSAC随机抽样一致技术的三维空间定位技术来获取目标控件在三维空间中的位置,具有较强的鲁棒性。
(4)本方法提出的触控运动规划算法可以将人机交互的常见动作(例如点击,滑动等)分解为一个或多个机械臂基本运动步骤,并通过自适应的笔尖角度姿态使多轴机械臂有效完成屏幕边缘区域的触控动作,提高测试执行的准确率。
附图说明
图1为本发明的可视化测试方法物理装置图;
图2为本发明的测试脚本示例图;
图3为本发明脚本执行方法的执行流程图;
图4为本发明提出的屏幕轮廓提取算法流程图;
图5为本发明提出的屏幕三维空间模型构建算法流程图;
图6为本发明提出的三维控件定位算法流程图;
图7为本发明手眼标定原理图;
图8为本发明误差校准机制流程图;
图9为本发明校准板坐标系示意图;
图10为本发明屏幕正视图像坐标系示意图;
图11为本发明误差校准机制示意图;
图12为本发明被测设备屏幕三维空间模型构建示意图;
图13为本发明目标控件定位示意图;
图14为本发明点击动作的动作分解示意图;
图15为本发明滑动动作的动作分解示意图;
图16为本发明触控笔笔尖姿态示意图。
图中标记说明:1、多轴机械臂;2、被测设备;3、触控笔;4、深度相机;5、操作台;6、校准点实际触控位置Ci;7、校准点目标触控位置Ai;8、平面拟合采样点;9、屏幕轮廓;10、屏幕正视图像坐标系;11、物理世界屏幕坐标系;12、相机坐标系;13、目标控件在屏幕正视图像坐标系中的坐标(x0,y0);14、目标控件在物理世界屏幕坐标系中的坐标(x1,y1);15、目标控件在相机坐标系中的坐标(xc,yc,zc);16、被测设备屏幕;17、点击动作第一步的运动方向;18、点击动作第二步的运动方向;19、滑动动作第一步的运动方向;20、滑动动作第二步的运动方向;21、滑动动作第三步的运动方向;22、第一笔尖姿态;23、第二笔尖姿态;
具体实施方式
为了更好地了解本发明的目的、结构及功能,下面结合附图,对本发明一种基于多轴机械臂的立体空间触屏设备可视化测试方法做进一步详细的描述。
1、第一阶段(构建立体空间触屏设备测试的机器人装置)
本发明首先构建立体空间触屏设备测试的机器人装置,包括多轴机械臂1、深度相机4、操作台5、被测设备2。
操作台5提供了一个稳定的操作空间,其搭建示意图如图1所示。被测设备2部署在操作台上或旁边,其被测设备屏幕16所在面与操作台呈一定角度。多轴机械臂1与深度相机4固定在操作台上。深度相机4位于被测设备2正前方,多轴机械臂1位于被测设备2侧方。该布局下深度相机4能够无遮挡拍摄被测设备屏幕16全貌,多轴机械臂1可以到达被测设备屏幕16上任意位置。多轴机械臂1末端装有触控笔3用于实现屏幕触控。各部分组件的特征和作用如下:
(1)多轴机械臂1。多轴机械臂1为六轴机械臂,多轴机械臂1末端装有触控笔3,具有一定缓冲作用,多轴机械臂1可在三维空间中以指定姿态到达指定位置,完成对立体空间设备屏幕的触控操作。
(2)深度相机4。主要用于拍摄被测设备屏幕16,获取屏幕深度信息,以完成屏幕三维空间模型的构建与控件匹配,最终算出目标控件在三维空间中的位置。同时可以根据拍摄的屏幕照片判断测试结果。
该用于立体空间触屏设备测试的机器人装置不仅可以应用于包括安卓、苹果等型号的各类手机和平板电脑的测试,还可满足含触控屏的立体嵌入式设备的测试需要,比如ATM机、触控显控台等。
2、第二阶段(手眼标定)
用于立体空间触屏设备测试的机器人装置搭建完毕之后,需要通过多轴机械臂1抓取标定板与摄像头拍摄标定板进行手眼标定,即确定相机坐标系13与机器人坐标系的转换关系,原理图7所示。转化关系如下:
A:多轴机械臂1末端在机器人坐标系下的位姿(包括坐标位置与姿态)
B:标定板在机械臂末端坐标系下的位姿;
C:深度相机4在标定板坐标系下的位姿;
D:深度相机4在机器人坐标系下的位姿;
其中D为我们最终需要得到的相机坐标系12到机器人坐标系下的转换关系,通过原理图图7可以得到如下等式:
D=A·B·C
通过移动多轴机械臂1变换不同姿态,让深度相机4的摄像头拍摄不同姿态下的标定板。这里让多轴机械臂1变换两种姿态,由于深度相机4在机器人坐标系中保持固定,即相机在机器人坐标系下的位姿保持不变,有D1=D2,那么可以得到
A1·B1·C1=A2·B2·C2
其中,A1与A2分别是多轴机械臂1两种姿态下其末端在机器人坐标系下的位姿,B1与B2分别是多轴机械臂1两种姿态下标定板在机器人末端坐标系下的位姿,C1与C2分别是多轴机械臂1两种姿态下相机在标定板坐标系下的位姿,因为标定板相对多轴机械臂末端始终保持固定,所以B1与B2是相等的,变换后可以得到。
Figure BDA0003141013460000121
B为一个齐次变换矩阵,R代表旋转变换,t代表平移变换。
Figure BDA0003141013460000122
A变换可通过多轴机械臂1的正运动学计算得到,C变换可通过摄像头拍摄标定板计算,于是可以计算出变换B,有了A,B,C后最终得到手眼标定的转换关系D。
3、第三阶段(多轴机械臂1误差校准,如图8所示。)
手眼标定之后将进行误差校准。由于多轴机械臂1本身重力因素的影响,当多轴机械臂1末端移动到远离多轴机械臂1的位置时,末端实际位置偏离预定坐标,本方法通过将校准程序装入平板电脑,构成校准板;将校准板贴附于被测设备屏幕16表面,再自动控制多轴机械臂1依次点击校准程序中的校准点并收集反馈,完成触控误差校准操作,提高测试方法执行操作的准确率。具体步骤为:
步骤a、启动校准板的校准程序,如图9,图10所示,程序显示S(例如6)行、S列,共M(M=S×S)个校准点,作为待尝试触控的目标;
步骤b、先用霍夫变换圆检测算法识别校准点,获得其在深度相机4所拍摄的RG图像中的坐标
Figure BDA0003141013460000131
再利用三维控件定位算法计算出校准板上校准点在相机坐标系12下的三维坐标位置,然后利用手眼标定得到的转换矩阵将其转换为机器人坐标系下的坐标作为校准点的目标触控位置Ai,最后利用第四阶段的机器人控制程序根据Ai依次点击校准板上的校准点;
步骤c、校准程序记录每一次点击在校准板二维坐标系中的坐标位置与触控接触时间。若某一校准点在规定时间内未检测到触控,则重新计算该校准点的三维坐标,并逐步增大触控深度直至校准板检测到触控,若触控接触时间超过规定值,则逐步减小深度,直至触控接触时间在规定范围内。记校准点Ni对应的目标触控位置在机器人坐标系下的坐标为Ai=(xi,yi,zi)(i=1...M),Ni的实际触控位置在以校准板屏幕上边缘向右为X轴正方向、以左边缘向下为Y轴正方向、以校准板屏幕像素为单位的校准板二维坐标系中的坐标为
Figure BDA0003141013460000132
屏幕正视图像坐标系以屏幕正视图像左上角顶点为原点,图像上边缘向右为x轴正方向,左边缘向下为y轴正方向,以图片像素为单位。根据校准板坐标系与屏幕正视图像坐标系的比例将
Figure BDA0003141013460000141
转化为屏幕正视图像坐标系中的坐标
Figure BDA0003141013460000142
然后利用三维控件定位算法与第二阶段手眼标定得到的转换矩阵计算出
Figure BDA0003141013460000143
在机器人坐标系下的坐标为Ci=(x′i,yi′,z′i)(i=1...M)
步骤d、记校准点实际触控位置Ci6与校准点目标触控位置Ai7的偏差为di=(x′i-xi,yi′-y,z′i-zi)(i=1...M),如图11所示。然后利用样条插值算法根据Bi与di计算出误差修正函数F(x,y)。当目标触控点在屏幕正视图像坐标系中的坐标为(x,y)时,F(x,y)=(dx,dy,dz)的计算结果表示(x,y)在机器人坐标系下坐标(x′,y′,z′)的修正值为(dx,dy,dz)。
4、第四阶段(使用脚本执行引擎计算目标控件位置)
本发明通过脚本执行方法解析脚本命令,如图3所示,按步骤执行测试脚本。
步骤a、首先从脚本中解析出需要点击的屏幕控件图元与动作类型,脚本如图2所示;
步骤b、然后利用深度相机4、图像的透视变换技术与RANSAC随机抽样一致技术来获取被测设备屏幕所在平面的平面方程,以及屏幕顶点的空间位置,以完成对屏幕三维空间模型的构建。
步骤c、利用本方法提出的三维控件定位算法计算出目标控件在相机坐标系12下的三维坐标。
如图4所示,本方法提出的基于深度目标识别的的屏幕轮廓提取技术(基于Mask-RCNN等算法),基于RANSAC随机抽样一致的屏幕三维空间模型构建技术与三维控件定位技术具体处理过程如下:
步骤4.1、屏幕轮廓提取
首先,从深度相机4拍摄的RGB图像中提取被测设备屏幕的轮廓,具体步骤包括:
步骤4.1.1、从深度相机4获取被测设备的RGB图像,利用基于深度学习的目标识别算法(如Mask-RCNN)从中识别出触控屏幕在扭曲变形图像中的多边形区域范围;找出该多边形区域的最小外接矩形,然后将矩形区域面积扩大20%,以保证屏幕被完整包含在区域内,同时该区域不包括复杂背景,最后截取出该区域。
步骤4.1.2、在被截取出的矩形区域中利用边缘检测技术识别屏幕轮廓,首先找出所围面积最大的轮廓线,再从该轮廓线中找出分别距离4.2.1所得图像四个顶角最近的四个点作为被测设备屏幕的四个顶点。
步骤4.1.3、利用透视变换技术将四个顶点所包围的区域投影到一个正视平面中,得到屏幕正视图像S。根据屏幕正视图像S构建屏幕正视图像坐标系。根据上述步骤,可以提取出被测设备的屏幕轮廓,以免除复杂背景对后续测试的影响。
步骤4.2、构建屏幕的三维空间模型,如图5所示。
下一步将构建屏幕的三维空间模型,以确定被测设备屏幕16在三维空间中的具***置与大小,如图12所示,包括平面拟合采样点8和屏幕轮廓9,主要步骤包括:
步骤4.2.1、在透视变换后的屏幕范围内中随机选取n个采样点以及4个屏幕顶点的二维坐标,再利用反透视变换计算出这n+4个点在摄像头所拍摄的原图像中的位置;
步骤4.2.2、利用深度相机获取这n+4个采样点在相机坐标系12下的三维坐标,再对这n+4个三维坐标进行平面拟合计算出屏幕所在平面在相机坐标系12中的三维空间方程P(x,y)与平面法向量
Figure BDA0003141013460000161
步骤4.2.3、屏幕范围修定:将深度相机获取到的4个屏幕顶点的三维坐标投影到上一步计算出的平面中作为屏幕新的四个顶点以最终确定屏幕的范围。最终得到屏幕所在平面在相机坐标系下的方程P(x,y)、平面法向量
Figure BDA0003141013460000162
屏幕的物理世界实际长度hr与实际宽度wr以及四个顶点的坐标位置,从而完成屏幕三维空间模型的构建。
步骤4.3、目标控件定位,如图6所示。
步骤4.3.1、目标控件定位过程如图13所示。首先,计算目标控件在物理世界屏幕二维坐标系中的坐标:利用图像匹配算法获取目标控件图像在步骤4.1得到的目标控件在屏幕正视图像坐标系中的坐标(x0,y0)13,再通过屏幕正视图像的长宽hp,wp与步骤4.2计算出的物理世界屏幕长宽hr,wr的比例计算出目标控件在物理世界屏幕坐标系中的坐标(x1,y1)14。
Figure BDA0003141013460000163
Figure BDA0003141013460000164
步骤4.3.2、目标控件三维位置计算:得到目标控件在物理世界屏幕坐标系中的坐标(x1,y1)后,在步骤3.2构造出的相机坐标系12下的屏幕三维空间模型中构造两个正交单位向量u,v。u,v分别为屏幕空间模型(相机坐标系12下)中的屏幕上边缘与左边缘方向的单位向量,再将屏幕左上角顶点在屏幕空间模型中的坐标p作为原点,利用正交单位向量u,v与坐标p计算出目标控件在相机坐标系中的坐标pc=(xc,yc,zc)15;
pc=p+x1·u+y1·v。
5、第五阶段(机器人执行操作)
脚本执行引擎计算出目标控件在相机坐标系下的坐标位置之后,利用手眼标定结果将坐标转化为机器人坐标系下的坐标,再将该位置与对应的动作类型发送给机器人控制程序,机器人控制程序接收到上位机传来的目标控件位置与动作类型后,将利用触控运动规划算法驱动多轴机械臂执行对应操作,具体步骤如下:
步骤5.1、坐标转换
脚本执行引擎将利用手眼标定得到的转换矩阵M将相机坐标系下的目标控件位置pc转换为机器人坐标系下的三维坐标pr
pr=M·pc
步骤5.2、误差校准结果应用
得到目标控件在机器人坐标系下坐标pr=(xr,yr,zr)之后,需要利用第二阶段误差校准得到的校准函数F(x,y)来修订坐标,若目标控件在屏幕正视图像坐标系中的坐标为(xp,yp),则校准后的目标控件在机器人坐标系下的坐标即实际发送给机器人控制程序的值为
p′=(x′r,yr′,z′r)=pr+F(xp,yp)
最后将p′作为触控位置与对应的动作类型一并发送给机器人控制程序;
步骤5.3、触控运动规划
步骤5.3.1、依据触控位置计算触控位置正上方距离为D1的坐标,将其作为多轴机械臂执行动作的第一个目标位置t1。将触控位置作为多轴机械臂执行动作的第二个目标位置t2
步骤5.3.2、依据动作类型规划第三个触控位置,若动作类型为点击、长按,则第三个目标位置与第一个目标位置相同,多轴机械臂到达触控点后将会返回到该位置。至此点击、长按动作执行完毕,其移动顺序为t1→t2→t1,如图14所示,包括点击动作第一步的运动方向17和点击动作第二步的运动方向18。
步骤5.3.3、若动作类型为滑动,则沿着滑动方向移动距离D2,计算出第三个目标位置t3,接着计算t3正上方距离D1的第四个目标位置t4,将其作为滑动动作的最后一个目标位置,其移动顺序为t1→t2→t3→t4,如图15所示,包括滑动动作第一步的运动方向19,滑动动作第二步的运动方向20和滑动动作第三步的运动方向21。
步骤5.3.4、得到一个动作的所有目标位置之后,需要确定多轴机械臂末端触控笔到达目标位置时对应的姿态,我们用欧拉角(α,β,γ)表示触控笔的姿态,其中α,β,γ分别代表触控笔绕机器人坐标系x轴旋转弧度α,绕y轴旋转弧度β,绕z轴旋转弧度γ。对于目标位置不在屏幕上的一个基本运动步骤,笔尖姿态均设为垂直于屏幕向内。对于目标位置在屏幕上的一个基本运动步骤,将屏幕垂直划分为k(例如3)个区域,判断该目标位置位于屏幕的哪一个区域。对于不同区域的点,触控笔笔尖姿态设为不同的值。对于靠近多轴机械臂的屏幕区域,笔尖姿态设为垂直于屏幕方向向内,对于远离多轴机械臂的屏幕区域,笔尖姿态代表的向量与屏幕平面夹角逐渐减小,具体计算公式如下:
Figure BDA0003141013460000181
Figure BDA0003141013460000182
其中
Figure BDA0003141013460000183
为屏幕所在平面在机器人坐标系下的法向量,
Figure BDA0003141013460000184
Figure BDA0003141013460000185
投影到z=0平面的投影向量,
Figure BDA0003141013460000186
为机器人坐标系下z轴正方向的单位向量。若触控位置位于区域Di(i=0...k-1),则笔尖姿态值设为
Figure BDA0003141013460000191
图16中的第一笔尖姿态22与第二笔尖姿态23分别为触控笔在靠近多轴机械臂的屏幕区域A与远离多轴机械臂的屏幕区域B的笔尖姿态示意图。
5.3.5、有了目标位置与到达该位置时对应的姿态,接下来使用路径规划算法计算出多轴机械臂从当前位置到目标位置的运动路径,运动路径由一个个路点组成,对于每一个路点,再利用逆运动学算法计算出多轴机械臂运动到该点时每一个关节轴应该转动到的角度,一个路点对应一组关节角度值,将每个路点对应的关节角度值依次发送给机械臂底层驱动,多轴机械臂将沿着运动路径以指定姿态到达目标位置完成一次运动。
5.3.6、为连贯执行测试动作同时避免遮挡摄像头拍摄屏幕照片,在执行下一个测试动作前多轴机械臂进行规避动作。本方法为多轴机械臂设置了固定的规避姿态,当每一个完整的动作(例如点击、滑动)执行完毕后,多轴机械臂将自动进入规避姿态,在规避姿态下,多轴机械臂不对摄像头拍摄被测设备屏幕造成遮挡,同时尽可能不远离被测设备,使得下次执行动作时可以更快速地响应。同时在步骤5.3.5路径规划的过程中,也需要对一些障碍物进行规避,本方法中,为避免多轴机械臂运动过程中与被测设备发生撞击,需将被测设备看作障碍物,在路径规划中避免路线途径该设备。
综上所述,本发明通过两个方面,即一套用于立体空间触屏设备测试的机器人装置和一套依托该装置的可视化测试脚本的执行方法,来完成对三维立体空间设备的自动化测试。通过图像处理技术、机器人驱动技术等保证了本发明的测试方法在不同被测设备上能够取得较好的效果。
在实验过程中,共对微信、提醒事项、淘宝等12种不同的应用设计了60个不同的测试脚本,涉及到社交、网上购物等多个应用领域,以及屏幕点击、文字输入、滑动、长按、拖拽等近十种动作。经过实际检验,95%的测试脚本都能很好地按预设要求执行测试步骤,表明本发明所提出的技术可在非侵入方式下满足立体空间设备上的大部分测试需要。
可以理解,本发明是通过一些实施例进行描述的,本领域技术人员知悉的,在不脱离本发明的精神和范围的情况下,可以对这些特征和实施例进行各种改变或等效替换。另外,在本发明的教导下,可以对这些特征和实施例进行修改以适应具体的情况及材料而不会脱离本发明的精神和范围。因此,本发明不受此处所公开的具体实施例的限制,所有落入本申请的权利要求范围内的实施例都属于本发明所保护的范围内。

Claims (5)

1.一种基于多轴机械臂的立体空间触控屏幕设备可视化测试方法,其特征在于,包括以下步骤:
步骤1、构建用于立体空间触控屏幕设备测试的机器人装置;
所述机器人装置包括多轴机械臂、深度相机、操作台、被测设备;
所述被测设备上安装有触控屏幕;被测设备部署在操作台上,触控屏幕所在面与操作台不在同一水平线上;
所述多轴机械臂与深度相机固定在操作台上,深度相机位于被测设备正前方,多轴机械臂位于被测设备侧方;
所述深度相机无遮挡拍摄被测设备的触控屏幕全貌;
所述多轴机械臂能到达被测设备触控屏幕上任意位置;
所述多轴机械臂末端装有触控笔,用于实现被测设备触控屏幕的控制;
所述深度相机和多轴机械臂之间利用手眼标定技术计算出相机坐标系与机器人坐标系的转换矩阵;
步骤2、利用误差校准机制开展带反馈的触控尝试,基于其结果拟合一个触控位置误差修正函数,利用该修正函数克服由于多轴机械臂本身重力而产生的远端运动偏差,降低深度相机深度数据计算偏差带来的影响;
步骤3、误差校准完成后利用深度相机计算出被测设备触控屏幕所在平面的平面方程并确定触控屏幕的区域范围,构建被测设备触控屏幕的三维空间模型;
步骤4、逐条执行脚本中每一个测试指令,执行指令时,首先从脚本中解析出触控屏幕上动作的类型与目标控件图元;再依据控件图元以及三维控件定位算法,定位目标控件在相机坐标系下的三维空间坐标;然后利用机器人装置手眼标定的结果将相机坐标系下的坐标转化为机器人坐标系下的三维坐标;
步骤5、利用步骤2误差校准的结果修正该机器人坐标系下的三维坐标,提高控件定位的准确度,与解析出的动作类型一并发送给机器人控制程序;
步骤6、机器人控制程序根据接收到的动作类型与目标控件在机器人坐标系下的三维坐标,利用触控运动规划算法规划多轴机械臂的基本运动步骤,将脚本中的一次动作拆解为多个机械臂基本运动步骤,然后利用逆运动学算法与运动规划算法将每一个基本运动步骤转化为多轴机械臂的关节角度序列并发送给多轴机械臂底层驱动,以此驱动多轴机械臂在被测设备触控屏幕不同位置进行点击、滑动操作。
2.根据权利要求1所述的基于多轴机械臂的立体空间触控屏幕设备可视化测试方法,其特征在于,步骤2的误差校准机制通过由平板电脑构成的校准板实现,将校准程序装入平板电脑,构成校准板;将校准板贴附于被测设备触控屏幕的表面,再自动控制多轴机械臂依次点击校准程序中的校准点并收集反馈,完成触控误差校准操作,布置好校准板后的具体校准步骤为:
步骤2.1、启动校准板的校准程序,程序显示S行、S列,共M个校准点,作为待尝试触控的目标;
步骤2.2、先用霍夫变换圆检测算法识别校准点,获得其在深度相机所拍摄的RGB二维图像中的坐标
Figure FDA0003687929810000021
再利用步骤4中三维控件定位算法计算出校准板上校准点在相机坐标系下的三维坐标位置,然后利用手眼标定结果将其转换为机器人坐标系下的三维坐标,作为校准点的目标触控位置Ai,最后利用步骤6的机器人控制程序根据Ai依次点击校准板上的校准点;
步骤2.3、校准程序记录每一次点击在校准板二维坐标系中的坐标位置与触控接触时间;若某一校准点在规定时间内未检测到触控,则利用步骤2.2 重新计算该校准点的三维坐标,并逐步增大触控深度直至校准板检测到触控;若触控接触时间超过规定值,则逐步减小深度,直至触控接触时间在规定范围内;记校准点Ni对应的目标触控位置在机器人坐标系下的坐标为Ai=(xi,yi,zi)(i=1...M),Ni的实际触控位置在以校准板屏幕上边缘向右为X轴正方向、以左边缘向下为Y轴正方向、以校准板屏幕像素为单位的校准板二维坐标系中的坐标为
Figure FDA0003687929810000031
校准板屏幕正视图像坐标系以校准板屏幕正视图像左上角顶点为原点,图像上边缘向右为x轴正方向,左边缘向下为y轴正方向,以图片像素为单位;根据校准板二维坐标系与校准板屏幕正视图像坐标系的比例将
Figure FDA0003687929810000032
转化为校准板屏幕正视图像坐标系中的坐标
Figure FDA0003687929810000033
然后利用步骤4中的三维控件定位算法与手眼标定得到的转换矩阵计算出
Figure FDA0003687929810000034
在机器人坐标系下的坐标为Ci=(x′i,y′i,z′i)(i=1...M);
记校准点的实际触控位置在机器人坐标系下的坐标Ci(xi′,yi′,zi′)与校准点的目标触控位置在机器人坐标系下的坐标Ai(xi,yi,zi)的偏差为di=(x′i-xi,y′i-yi,z′i-zi)(i=1...M),然后利用样条插值算法根据Ci与di计算出误差修正函数F(x,y);当目标触控点在被测设备触控屏幕正视图像坐标系中的坐标为(x,y)时,F(x,y)=(dx,dy,dz)的计算结果表示(x,y)在机器人坐标系下坐标(x′,y′,z′)的修正值为(dx,dy,dz)。
3.根据权利要求2所述的基于多轴机械臂的立体空间触控屏幕设备可视化测试方法,其特征在于,步骤3的构建被测设备触控屏幕三维空间模型辅助定位目标控件在三维空间中的坐标,提高定位精确度,包括以下步骤:
步骤3.1、被测设备触控屏幕轮廓提取;
从深度相机拍摄的被测设备RGB二维图像中提取触控屏幕的轮廓,具体包括以下步骤:
步骤3.1.1、从深度相机获取被测设备的RGB二维图像,利用基于深度学习的目标识别算法从中识别出触控屏幕在扭曲变形图像中的多边形区域范围;找出该多边形区域的最小外接矩形,然后将矩形区域面积扩大20%,以保证触控屏幕被完整包含在区域内,同时该区域不包括复杂背景,最后截取出该区域;
步骤3.1.2、在被截取出的矩形区域中利用边缘检测技术识别触控屏幕轮廓,首先找出所围面积最大的轮廓线,再从该轮廓线中找出分别距离步骤 3.1.1所得图像四个顶角最近的四个点作为触控屏幕的四个顶点;
步骤3.1.3、利用透视变换技术将四个顶点所包围的区域投影到一个正视平面中,得到触控屏幕的正视图像S,根据屏幕正视图像S构建屏幕正视图像坐标系;提取出被测设备的屏幕轮廓,以免除复杂背景对后续测试的影响;
步骤3.2、构建触控屏幕的三维空间模型;
构建触控屏幕的三维空间模型,以确定触控屏幕在三维空间中的具***置与大小,包括以下步骤:
步骤3.2.1、在透视变换后的触控屏幕范围内中随机选取n个采样点以及4个触控屏幕顶点的二维坐标,再利用反透视变换计算出这n+4个点在深度相机所拍摄的原RGB二维图像中的位置;
步骤3.2.2、利用深度相机获取这n+4个采样点在相机坐标系下的三维坐标,再对这n+4个三维坐标进行平面拟合计算出触控屏幕所在平面在相机坐标系中的三维空间方程P(x,y)与平面法向量
Figure FDA0003687929810000041
步骤3.2.3、触控屏幕范围修定:将深度相机获取到的4个触控屏幕顶点的三维坐标投影到上一步计算出的平面中作为触控屏幕新的四个顶点,以最终确定触控屏幕的范围;最终得到相机坐标系下触控屏幕所在平面的方程P(x,y)、平面法向量
Figure FDA0003687929810000042
四个顶点的坐标位置以及通过计算触控屏幕顶点间的距离得到触控屏幕的物理世界长度hr与物理世界宽度wr,从而完成触控屏幕三维空间模型的构建。
4.根据权利要求3所述的基于多轴机械臂的立体空间触控屏幕设备可视化测试方法,其特征在于,步骤4中利用三维控件定位算法确定目标控件在相机坐标系下的位置,具体包括以下步骤:
步骤4.1、首先计算目标控件在真实触控屏幕二维坐标系中的坐标:利用图像匹配算法获取目标控件图像在步骤3.1得到的触控屏幕正视图像坐标系中的坐标(x0,y0),再通过触控屏幕正视图像的长宽hp,wp与步骤3.2计算出的物理世界触控屏幕长宽hr,wr的比例计算出目标控件在物理世界触控屏幕坐标系中的坐标(x1,y1);物理世界触控屏幕坐标系以物理世界中触控屏幕左上角为原点,触控屏幕上边缘向右为x轴正方向,左边缘向下为y轴正方向,以物理世界尺寸为单位;
Figure FDA0003687929810000051
Figure FDA0003687929810000052
步骤4.2、目标控件三维位置计算:得到目标控件在物理世界触控屏幕坐标系中的坐标(x1,y1)后,在步骤3.2构造出的相机坐标系下的触控屏幕三维空间模型中构造两个正交单位向量u,v;u,v分别为触控屏幕空间模型中的屏幕上边缘与左边缘方向的单位向量,再将触控屏幕左上角顶点在触控屏幕空间模型中的坐标p作为原点,利用正交单位向量u,v与坐标p计算出目标控件在相机坐标系中的坐标pc=(xc,yc,zc),
pc=p+x1·u+y1·v。
5.根据权利要求4所述的基于多轴机械臂的立体空间触控屏幕设备可视化测试方法,其特征在于,其中步骤6中的触控运动规划算法将脚本中一条指令的动作类型拆解为多个多轴机械臂基本运动步骤,包括以下步骤:
步骤6.1、计算触控位置在触控屏幕法线方向正上方距离为D1的坐标,将其作为多轴机械臂执行动作的第一个目标位置t1,将触控位置作为多轴机械臂执行动作的第二个目标位置t2
步骤6.2、依据动作类型规划第三个目标位置,若动作类型为点击、长按,则第三个目标位置与第一个目标位置相同,多轴机械臂到达触控点后将会返回到该位置,至此点击、长按动作执行完毕,其移动顺序为t1→t2→t1
步骤6.3、若动作类型为滑动,则沿着滑动方向移动距离D2,计算出第三个目标位置t3,接着计算t3正上方距离为D1的第四个目标位置t4,将其作为滑动动作的最后一个目标位置,其移动顺序为t1→t2→t3→t4
步骤6.4、得到一个动作的所有目标位置之后,需要确定多轴机械臂末端触控笔到达目标位置时对应的姿态;用欧拉角(α,β,γ)表示触控笔的姿态,其中α代表触控笔绕机器人坐标系x轴旋转弧度,β代表触控笔绕机器人坐标系y轴旋转弧度,γ代表触控笔绕机器人绕z轴旋转弧度;对于目标位置不在触控屏幕上的一个基本运动步骤,笔尖姿态均设为垂直于触控屏幕向内;对于目标位置在触控屏幕上的一个基本运动步骤,将触控屏幕垂直划分为k个区域,判断该目标位置位于触控屏幕的哪一个区域;对于不同区域的点,触控笔笔尖姿态设为不同的值;对于靠近多轴机械臂的触控屏幕区域,笔尖姿态设为垂直于触控屏幕方向向内,对于远离多轴机械臂的触控屏幕区域,笔尖姿态代表的向量与触控屏幕平面夹角逐渐减小,具体计算公式如下:
Figure FDA0003687929810000061
Figure FDA0003687929810000071
其中
Figure FDA0003687929810000072
为触控屏幕所在平面在机器人坐标系下的法向量,
Figure FDA0003687929810000073
Figure FDA0003687929810000074
Figure FDA0003687929810000075
投影到z=0平面的投影向量,
Figure FDA0003687929810000076
为机器人坐标系下z轴正方向的单位向量;若触控位置位于区域Di(i=0...k-1),则笔尖姿态值设为
Figure FDA0003687929810000077
其中α0,为触控笔垂直于屏幕时绕机器人坐标系x轴旋转的角度,β0为触控笔垂直于屏幕时绕机器人坐标系z轴旋转的角度;
步骤6.5、得到了目标位置坐标与到达该位置时对应的笔尖姿态,接下来使用路径规划算法计算出多轴机械臂从当前位置到目标位置的运动路径,运动路径由一个个路点组成,对于每一个路点,再利用逆运动学算法计算出多轴机械臂运动到该点时每一个关节轴应该转动到的角度,一个路点对应一组关节角度值,将每个路点对应的关节角度值依次发送给多轴机械臂底层驱动,多轴机械臂将沿着运动路径以指定姿态到达目标位置完成一次运动;
步骤6.6、在执行下一个测试动作前多轴机械臂进行规避动作:为多轴机械臂设置了固定的规避姿态,当每一个完整的动作执行完毕后,多轴机械臂将自动进入规避姿态,在规避姿态下,多轴机械臂不对深度相机拍摄触控屏幕造成遮挡,同时不远离被测设备,使得下次执行动作时可以更快速地响应;同时在步骤6.5路径规划的过程中,也对被测设备进行规避。
CN202110734355.3A 2021-06-30 2021-06-30 一种基于多轴机械臂的立体空间触屏设备可视化测试方法 Active CN113504063B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110734355.3A CN113504063B (zh) 2021-06-30 2021-06-30 一种基于多轴机械臂的立体空间触屏设备可视化测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110734355.3A CN113504063B (zh) 2021-06-30 2021-06-30 一种基于多轴机械臂的立体空间触屏设备可视化测试方法

Publications (2)

Publication Number Publication Date
CN113504063A CN113504063A (zh) 2021-10-15
CN113504063B true CN113504063B (zh) 2022-10-21

Family

ID=78009449

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110734355.3A Active CN113504063B (zh) 2021-06-30 2021-06-30 一种基于多轴机械臂的立体空间触屏设备可视化测试方法

Country Status (1)

Country Link
CN (1) CN113504063B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114393576A (zh) * 2021-12-27 2022-04-26 江苏明月智能科技有限公司 基于人工智能的四轴机械臂点击和位置校准方法和***
CN114543669B (zh) * 2022-01-27 2023-08-01 珠海亿智电子科技有限公司 机械臂校准方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104180753A (zh) * 2014-07-31 2014-12-03 东莞市奥普特自动化科技有限公司 机器人视觉***的快速标定方法
CN111113414A (zh) * 2019-12-19 2020-05-08 长安大学 一种基于屏幕标识的机器人三维空间尺度提示方法及***

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2134243B1 (en) * 2007-04-13 2017-01-04 NIKE Innovate C.V. Unitary vision testing center
JP6373722B2 (ja) * 2014-10-29 2018-08-15 京セラ株式会社 携帯端末及び制御方法
CN105547119B (zh) * 2015-12-15 2018-07-06 中国矿业大学 一种基于电阻触摸屏的平面机器人位置检测方法及***
CN205899515U (zh) * 2016-06-28 2017-01-18 深圳市智致物联科技有限公司 触摸屏测试设备
CN110238845B (zh) * 2019-05-22 2021-12-10 湖南视比特机器人有限公司 最优标定点选取和误差自测量的自动手眼标定方法及装置
CN110619630B (zh) * 2019-09-10 2023-04-07 南京知倍信息技术有限公司 一种基于机器人的移动设备可视化测试***及测试方法
CN112306890B (zh) * 2020-11-23 2024-01-23 国网北京市电力公司 人机交互测试***、控制方法、控制装置和处理器
CN112836603B (zh) * 2021-01-21 2024-04-05 南京航空航天大学 基于机器人的触屏设备快速探索测试方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104180753A (zh) * 2014-07-31 2014-12-03 东莞市奥普特自动化科技有限公司 机器人视觉***的快速标定方法
CN111113414A (zh) * 2019-12-19 2020-05-08 长安大学 一种基于屏幕标识的机器人三维空间尺度提示方法及***

Also Published As

Publication number Publication date
CN113504063A (zh) 2021-10-15

Similar Documents

Publication Publication Date Title
Ong et al. Augmented reality-assisted robot programming system for industrial applications
US11440179B2 (en) System and method for robot teaching based on RGB-D images and teach pendant
CN111695562B (zh) 一种基于卷积神经网络的机器人自主抓取方法
US10751877B2 (en) Industrial robot training using mixed reality
RU2700246C1 (ru) Способ и система захвата объекта с помощью роботизированного устройства
CN113504063B (zh) 一种基于多轴机械臂的立体空间触屏设备可视化测试方法
CN103838437B (zh) 基于投影图像的触控定位控制方法
US9880553B1 (en) System and method for robot supervisory control with an augmented reality user interface
Chacko et al. An augmented reality interface for human-robot interaction in unconstrained environments
US11969893B2 (en) Automated personalized feedback for interactive learning applications
WO2021218542A1 (zh) 基于视觉感知设备的机器人本体坐标系的空间标定方法、装置和存储介质
JP2010042466A (ja) ロボット教示システム及びロボットの動作のシミュレーション結果の表示方法
US10437342B2 (en) Calibration systems and methods for depth-based interfaces with disparate fields of view
Zhang et al. Robot programming by demonstration: A novel system for robot trajectory programming based on robot operating system
CN112657176A (zh) 一种结合人像行为信息的双目投影人机交互方法
Gong et al. Projection-based augmented reality interface for robot grasping tasks
CN210361314U (zh) 一种基于增强现实技术的机器人示教装置
Frank et al. Towards teleoperation-based interactive learning of robot kinematics using a mobile augmented reality interface on a tablet
Rodrigues et al. Robot trajectory planning using OLP and structured light 3D machine vision
Sreenath et al. Monocular tracking of human hand on a smart phone camera using mediapipe and its application in robotics
Khalil et al. Visual monitoring of surface deformations on objects manipulated with a robotic hand
CN112732075B (zh) 一种面向教学实验的虚实融合机器教师教学方法及***
CN110619630A (zh) 一种基于机器人的移动设备可视化测试***及测试方法
Vysocky et al. Generating synthetic depth image dataset for industrial applications of hand localization
Barber et al. Sketch-based robot programming

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant