本发明实施例涉及硬件测试技术,尤其涉及一种关节的测试方法、装置、设备和存储介质。
背景技术:
目前工业机械设备的控制系统作为机械设备的大脑,具有非常重要的地位。但是因为控制系统的软件架构庞大性以及算法复杂性,往往对于机械设备包括的支持其运动的硬件设备(一般称为关节)测试缺乏全面的测试,同时,针对该类的测试软件也相对匮乏。
目前对于机械设备控制系统的测试主流是通过简单的测试用例来实现的。一般的,通过提前示教好点位,然后让机械设备所包括的关节自动运行到示教好的点位,但是这种测试方法带有极大的局限性。因为这些点位都是提前确定的,而且数量有限。因此无法对机械设备的关节进行全方位的测试,导致了机械设备的可靠性大大降低。
技术实现要素:
本发明提供一种关节的测试方法、装置、设备和存储介质,以解决提前示教好点位造成的无法对机械设备,尤其是机械手臂的关节进行全方位的测试,导致了机械手臂的可靠性大大降低的问题。
第一方面,本发明实施例提供一种关节的测试方法,应用于上位机,包括:
确定机械手臂中的关节的可活动范围;
在所述可活动范围内随机生成目标位置;
向所述机械手臂发送控制指令,所述控制指令用于指示所述关节移动至所述目标位置;
接收所述机械手臂发送的所述关节的运行状态,所述运动状态根据所述目标位置与所述关节所处的实际位置确定。
在此基础上,所述确定机械手臂中的关节的可活动范围,包括:
确定机械手臂中的关节的类型,所述类型包括旋转类型与平移类型;
当所述类型为旋转类型,将所述关节可旋转的角度范围作为所述关节的可活动范围;
当所述类型为平移类型,将所述关节可平移的距离范围作为所述关节的可活动范围。
在此基础上,所述在所述可活动范围内随机生成目标位置,包括:
随机确定与所述可活动范围适配的随机因子;
使用所述随机因子在所述可活动范围内确定目标位置。
在此基础上,所述使用所述随机因子在所述可活动范围内确定目标位置,包括:
计算活动值,所述活动值为所述随机因子与区间范围值的乘积,所述区间范围值为所述可活动范围中终结位置与起始位置之间的差值;
将所述活动值与所述起始位置的和作为目标位置。
第二方面,本发明实施例还提供了一种关节的测试方法,应用于机械手臂,所述机械手臂具有多个关节,包括:
接收上位机发送的控制指令,所述控制指令用于指示所述关节移动至目标位置,所述目标位置为所述关节的可活动范围中随机的位置;
响应于所述控制指令,驱动所述关节移动至所述目标位置;
确定所述关节在停止移动时的移动参数;
根据所述移动参数确定所述关节所处的实际位置;
根据所述目标位置与所述实际位置确定所述关节的运行状态;
向所述上位机发送所述关节的运行状态。
在此基础上,所述根据所述移动参数确定所述关节所处的实际位置,包括:
确定所述关节在移动之前所处的原始位置;
使用所述移动参数确定所述关节在移动时经过的移动范围;
在所述原始位置的基础上加上所述移动范围,获得实际位置。
在此基础上,所述根据所述目标位置与所述实际位置确定所述关节的运行状态,包括:
确定所述实际位置与所述目标位置之间的差异;
当所述差异在预设的容错区间中时,确定所述关节的运行状态为正常状态;
当所述差异超出预设的容错区间时,确定所述关节的运行状态为异常状态。
第三方面,本发明实施例还提供了一种关节的测试方法,包括:
位机确定机械手臂中的关节的可活动范围;
所述上位机在所述可活动范围内随机生成目标位置;
所述上位机向所述机械手臂发送控制指令,所述控制指令用于指示所述关节移动至所述目标位置;
所述机械手臂响应于所述控制指令,驱动所述关节移动至所述目标位置;
所述机械手臂确定所述关节在停止移动时的移动参数;
所述机械手臂根据所述移动参数确定所述关节所处的实际位置;
所述机械手臂根据所述目标位置与所述实际位置确定所述关节的运行状态;
所述机械手臂向所述上位机发送所述关节的运行状态;
所述上位机接收所述机械手臂发送的所述关节的运行状态,所述运动状态根据所述目标位置与所述关节所处的实际位置确定。
第四方面,本发明实施例还提供了一种关节的测试装置,包括:
可活动范围确定模块,用于确定机械手臂中的关节的可活动范围;
目标位置生成模块,用于在所述可活动范围内随机生成目标位置;
控制指令发送模块,用于向所述机械手臂发送控制指令,所述控制指令用于指示所述关节移动至所述目标位置;
运行状态接收模块,用于接收所述机械手臂发送的所述关节的运行状态,所述运动状态根据所述目标位置与所述关节所处的实际位置确定。
第五方面,本发明实施例还提供了一种关节的测试装置,包括:
控制指令接收模块,用于接收上位机发送的控制指令,所述控制指令用于指示所述关节移动至目标位置,所述目标位置为所述关节的可活动范围中随机的位置;
控制指令执行模块,用于响应于所述控制指令,驱动所述关节移动至所述目标位置;
移动参数确定模块,用于确定所述关节在停止移动时的移动参数;
实际位置确定模块,用于根据所述移动参数确定所述关节所处的实际位置;
运行状态确定模块,用于根据所述目标位置与所述实际位置确定所述关节的运行状态;
运行状态发送模块,用于向所述上位机发送所述关节的运行状态。
第六方面,本发明实施例还提供了一种关节的测试装置,包括:
可活动范围确定模块,用于确定机械手臂中的关节的可活动范围;
目标位置生成模块,用于在所述可活动范围内随机生成目标位置;
控制指令发送模块,用于向所述机械手臂发送控制指令,所述控制指令用于指示所述关节移动至所述目标位置;
控制指令执行模块,用于所述机械手臂响应于所述控制指令,驱动所述关节移动至所述目标位置;
移动参数确定模块,用于确定所述关节在停止移动时的移动参数;
实际位置确定模块,用于所述机械手臂根据所述移动参数确定所述关节所处的实际位置;
运行状态确定模块,用于所述机械手臂根据所述目标位置与所述实际位置确定所述关节的运行状态;
运行状态发送模块,用于所述机械手臂向所述上位机发送所述关节的运行状态;
运行状态接收模块,用于所述上位机接收所述机械手臂发送的所述关节的运行状态,所述运动状态根据所述目标位置与所述关节所处的实际位置确定。
第七方面,本发明实施例还提供了一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面、第二方面或者第三方面所述的一种关节的测试方法。
第八方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面、第二方面或者第三方面所述的一种关节的测试方法。
本发明通过确定机械手臂中的关节的可活动范围;在可活动范围内随机生成目标位置;向机械手臂发送控制指令,控制指令用于指示关节移动至目标位置;接收机械手臂发送的关节的运行状态,运动状态根据目标位置与关节所处的实际位置确定。通过上述方式,上位机在机械手臂的关节的活动范围内,可以随机生成目标位置,因此在符合测试条件的情况下可以无限制的产生目标位置对机械手臂进行测试。由于目标位置是随机产生的,因此,产生的目标位置相同的概率极低,可以实现对机械手臂进行全面测试。
附图说明
图1为本发明实施例一提供的一种关节的测试方法的流程图;
图2为本发明实施例二提供的一种关节的测试方法的流程图;
图3为本发明实施例三提供的一种关节的测试方法的流程图;
图4为本发明实施例四提供的一种关节的测试方法的流程图;
图5为本发明实施例五提供的一种关节的测试装置的结构图;
图6为本发明实施例六提供的一种关节的测试装置的结构图;
图7为本发明实施例七提供的一种关节的测试装置的结构图;
图8为本发明实施例八提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种关节的测试方法的流程图。本实施例适用于上位机在机械手臂可活动范围内随机生成目标位置,接收机械手臂发送的移动参数并计算关节所处的实际位置,根据目标位置与实际位置确定关节的运行状态。该方法可以由上位机中的一种关节的测试装置来执行,该装置可以由软件和/或硬件的方式实现。
上位机是指可以直接发出操控命令的计算机。与上位机相对应的是下位机,下位机是指可以直接控制设备获取设备状况的计算机,一般是plc(programmablelogiccontroller,可编程逻辑控制器)/单片机之类。上位机发出的命令会给下位机,下位机根据此命令解释成相应时序信号直接控制相应设备。下位机会时不时的读取设备状态数据,然后在转换成数字信号反馈给上位机。在本实施例中,对上位机的具体结构不做限制,只要可以实现关节的测试方法即可,例如,个人电脑、服务器,等等。下位机可以理解为是机械手臂中的控制器软件,用于解析、执行上位机发送的控制指令,确定关节的实际位置,并向上位机发送实际位置。
参考图1,该方法具体包括:
s101、确定机械手臂中的关节的可活动范围。
机械手臂是机械人技术领域中得到最广泛实际应用的自动化机械装置,在工业制造、医学治疗、娱乐服务、军事、半导体制造以及太空探索等领域都能见到它的身影。尽管它们的形态各有不同,但它们都有一个共同的特点,就是能够接受指令,精确地定位到三维(或二维)空间上的某一点进行作业。机械手臂可以理解为下位机的一种具体例子。当然,在某些情况下,本领域技术人员也习惯将其称呼为机器人、机械装置等。本实施中的“手臂”并不构成对本方法的限制。
关节是指机械手臂中可活动的组件,一般的,关节可以通过电机来实现平移或者旋转的功能。机械手臂中的关节包括不同的类型,如可以包括旋转类型与平移类型。当关节的类型为旋转类型时,将关节可旋转的角度范围作为关节的可活动范围;当关节的类型为平移类型时,将关节可平移的距离范围作为关节的可活动范围。
在一可行的实现方式中,用户确定机械手臂中关节的数量,以及每个关节的活动范围,将其输入到上位机。
s102、在所述可活动范围内随机生成目标位置。
目标位置是指,上位机针对某一关节生成的坐标位置。
在本实施例中,目标位置通过可活动范围内的随机数生成,随机数是专门的随机试验的结果。在统计学的不同技术中需要使用随机数,比如在从统计总体中抽取有代表性的样本的时候,或者在将实验动物分配到不同的试验组的过程中,或者在进行蒙特卡罗模拟法计算的时候等等。产生随机数有多种不同的方法。这些方法被称为随机数发生器。随机数最重要的特性是:它所产生的后面的那个数与前面的那个数毫无关系。
在一可行的实现方式中,上位机首先确定生成目标位置的关节,确定该关节的可活动范围,在可活动范围内,生成该关节对应的坐标位置作为该关节本次测试的目标位置。
s103、向所述机械手臂发送控制指令。
控制指令用于指示某一关节移动至目标位置。上位机与机械手臂可以通过数据线进行连接,也可以通过无线方式进行连接。
在一可行的实现方式中,上位机通过网络传输与机械手臂之间进行数据交互。上位机将代表目标位置的坐标位置,按照上位机与机械手臂之间的通信协议进行数据封装,并将封装后的包括目标位置的控制指令发送给机械手臂。
s104、接收所述机械手臂发送的所述关节的运行状态。
机械手臂将目标位置的坐标与实际位置的坐标进行比对,根据比对结果来确定关节的运行状态。
在一可行的实现方式中,机械手臂根据移动参数推算出关节所处的实际位置的坐标记为第二坐标,同时,机械手臂确定针对该关节生成的目标位置对应的坐标,记为第三坐标。将第三坐标与第二坐标进行比对,以获得比对结果。根据比对结果确定该关节的运行状态是否正常。
本发明实施例通过确定机械手臂中的关节的可活动范围;在可活动范围内随机生成目标位置;向机械手臂发送控制指令,控制指令用于指示关节移动至目标位置;接收机械手臂发送的关节的运行状态,运动状态根据目标位置与关节所处的实际位置确定。通过上述方式,上位机在机械手臂的关节的活动范围内,可以随机生成目标位置,因此在符合测试条件的情况下可以无限制的产生目标位置对机械手臂进行测试。由于目标位置是随机产生的,因此,产生的目标位置相同的概率极低,可以实现对机械手臂进行全面测试。
实施例二
图2为本发明实施例二提供的一种关节的测试方法的流程图。本实施例是在实施例一的基础上进行了细化,详细描述了如何在可活动范围内随机生成目标位置的具体过程。参考图2,该方法包括:
s201、确定机械手臂中的关节的可活动范围。
根据机械手臂的构造不同,机械手臂包括的关节的数量和类型也不相同。确定机械手臂中包括的关节数量、关节类型和关节的可活动范围。
可活动范围是指电机可以带动关节活动的最大值。以实现平移的关节为例,可以将机械手臂未工作状态,该关节的静止的坐标点,记为[0,0]状态,将该关节左右移动的直线范围,记为x轴。在[0,0]点的基础上,将该关节可以向左或向右移动的最大值记为该关节的可活动范围。如,可以向左移动200,可以向右移动200,则可以将该关节的可活动范围记为[-200,200]。以实现旋转的关节为例,可以将机械手臂未工作状态,该关节的静止的坐标点,记为[0,0]状态。在[0,0]点的基础上,将该关节可以向左或向右旋转的最大值记为该关节的可活动范围。如,可以向左旋转100度,可以向右旋转100度,则可以将该关节的可活动范围记为[-100°,100°]。
在将一机械手臂与上位机连接后,采集(当然也可以预先设置)机械手臂中关节的相关信息。如采集机械手臂中关节的数量,并对关节进行编号处理,以便于对关节进行指令的下达;如采集关节的类型,如区分为旋转类型与平移类型;如配合关节的类型、采集关节的活动范围。
s202、随机确定与所述可活动范围适配的随机因子。
随机因子可以理解为一个随机数。根据密码学原理,随机数的随机性检验可以分为三个标准:1、统计学伪随机性。统计学伪随机性指的是在给定的随机比特流样本中,1的数量大致等于0的数量,同理,“10”“01”“00”“11”四者数量大致相等。类似的标准被称为统计学随机性。满足这类要求的数字在人类“一眼看上去”是随机的。2、密码学安全伪随机性。其定义为,给定随机样本的一部分和随机算法,不能有效的演算出随机样本的剩余部分。3、真随机性。其定义为随机样本不可重现。实际上只要给定边界条件,真随机数并不存在,可是如果产生一个真随机数样本的边界条件十分复杂且难以捕捉(比如计算机当地的本底辐射波动值),可以认为用这个方法演算出来了真随机数。
在一可行的实现方式中,采用c/c++中的rand()函数生成随机数,rand函数可以随机生成0-32767之间的数字。为了方便计算,一般将随机因子的取值范围设定在[0,1]区间。因此,将随机因子记为a,机械手臂中关节的编号记为i时,该关节的随机因子可以记为a[i]=rand()/32767。
s203、使用所述随机因子在所述可活动范围内确定目标位置。
由于随机因子是一个在[0,1]区间的值,因此,在确定关节移动的方向后,以该方向上的最值乘以随机因子,就可以获得目标位置。并且目标位置在该关节的可活动范围内。
在一可行的实现方式中,确定一关节(关节的编号记为i)的可活动范围为[min,max],min为可活动范围中起始位置,max为可活动范围中终结位置。将max-min的差值记为该关节的区间范围值,将该区间范围值与随机因子的乘积作为该关节的活动值,将活动值与起始位置的和作为目标位置,目标位置可以表示为x[i]=min+a[i]×(max-min)。
s204、向所述机械手臂发送控制指令。
上位机与机械手臂中的控制器软件通过tcp/ip协议进行通信。上位机向机械手臂通过tcp/ip协议发送控制指令,该控制指令用于指示关节移动至目标位置。
s205、接收所述机械手臂发送的、在所述关节停止移动时所述关节的移动参数。
实施例三
图3为本发明实施例三提供的一种关节的测试方法的流程图。本实施例适用于机械手臂接收并执行上位机发送的控制指令,并向上位机发送移动参数的场景。该方法可以由上位机中的一种关节的测试装置来执行,该装置可以由软件和/或硬件的方式实现。
参考图3,该方法具体包括:
s301、接收上位机发送的控制指令。
机械手臂中的控制器软件与上位机保持通信连接,并接收上位机发送的控制指令。该控制指令包括上位机根据机械手臂中某一关节的可活动范围随机生成的目标位置。控制指令用于指示关节按照移动参数移动至目标位置,移动参数为关节在移动时经过的移动范围。
其中,控制指令用于指示关节移动至目标位置,目标位置为关节的可活动范围中随机的位置。
s302、响应于所述控制指令,驱动所述关节移动至所述目标位置。
机械手臂在接收控制指令后,对该控制指令进行解析,分析出该控制指令包括的目标位置。机械手臂驱动关节按照移动参数进行移动,以到达目标位置。其中,移动参数是对带动关节移动的电机数据进行采集的结果。
一般的,机械手臂的移动方式可以包括:升降、平移和旋转。其中,升降和平移可以统一称为平移。一般的,机械手臂的升降采用齿轮齿条传动,电机带动齿轮在齿条上运动;机械手臂的平移采用:齿形带传动,移动部分固定在齿形带上;机械手臂的旋转:采用齿轮传动、齿形带传动、或者链传动都可以,比较简单的是减速电机直接接中间旋转轴。当然,一般的,机械手臂各关节的移动方式可以包括:平移和旋转。其中,电机一般为旋转运动,通过减速机将转速降低、扭矩增大,而平移一般通过滚珠丝杆方式将电机的旋转运动转化为平移。
s303、确定所述关节在停止移动时的移动参数。
机械手臂接收上位机发送的控制指令后,按照该控制指令进行执行。在控制指令执行完毕,即关节停止移动时,确定带动关节移动的电机的实际运行的信息,作为该关节的移动参数。当然,移动参数可以包括电机运动圈数,电机的运动方向和电机的运动时长等。移动参数还可以包括机械手臂经编码器的脉冲值换算后得到的当前机器人关节角度或者当前机器人末端空间点位置。
s304、根据所述移动参数确定所述关节所处的实际位置。
移动参数可以包括机械手臂中电机运动圈数,电机的运动方向。根据移动参数和机械手臂的自身特性可以确定出关节所处的实际位置。实际位置是关节接收控制指令,向目标位置移动,并且停止后的位置。
在一可行的实现方式中,机械手臂根据该移动参数和机械手臂的性质,对关节的实际运动数据进行计算,根据该实际运动数据确定关节所处的实际位置。
在一可行的实现方式中,以机械手臂中实现平移的关节为例进行说明。机械手臂确定一关节移动之前所处的位置坐标,记为第一坐标。机械手臂根据该移动参数,确定该关节平移的距离和方向。在第一坐标的基础上,加上该平移的距离,以推算该关节所处的实际位置,记为第二坐标。
在一可行的实现方式中,以机械手臂中实现旋转的关节为例进行说明。机械手臂确定一关节移动之前所处的位置坐标,记为第一坐标。机械手臂根据该移动参数,确定该关节旋转的角度和方向。在第一坐标的基础上,加上该旋转的角度,以推算该关节所处的实际位置,记为第二坐标。
在一可行的实现方式中,此步骤可以包括如下子步骤:
s3041、确定所述关节在移动之前所处的原始位置。
在机械手臂的某一关节移动前,记录该关节的原始位置,可以将该原始位置的坐标记为第一坐标。
s3042、使用所述移动参数确定所述关节在移动时经过的移动范围。
移动参数为关节在移动时经过的移动范围,一般是带动关节移动的一个或者多个电机的旋转方向和旋转圈数。
具体的,一关节的类型为平移类型,带动该关节平移的电机每转动一圈,该关节移动距离为10,电机向左旋转记为“-”,电机向右旋转记为“+”。如该移动参数为“左旋转10圈”,则可以推断该关节在移动时向左移动100,可以将这个移动范围记为“-100”。
s3043、在所述原始位置的基础上加上所述移动范围,获得实际位置。
在一可行的实现方式中,一关节的类型为平移类型,该关节的原始位置为130,若移动范围为-100时,该关节的实际位置为30。
s305、根据所述目标位置与所述实际位置确定所述关节的运行状态。
机械手臂将目标位置的坐标与实际位置的坐标进行比对,根据比对结果来确定关节的运行状态。
在一可行的实现方式中,机械手臂根据移动参数推算出关节所处的实际位置的坐标记为第二坐标,同时,机械手臂确定针对该关节生成的目标位置对应的坐标,记为第三坐标。将第三坐标与第二坐标进行比对,以获得比对结果。根据比对结果确定该关节的运行状态是否正常。
在一可行的实现方式中,此步骤可以包括如下子步骤:
s3051、确定所述实际位置与所述目标位置之间的差异;
目标位置是上位机向机械手臂下发的数据值,上位机在下发数据时可以直接保存该数据使用。
如果机械手臂中的关节工作状态正常,那么目标位置与实际位置应当一致。因此,可以基于目标位置与实际位置之间的差异来设计检验关节运行状态的检测逻辑。
s3052、当所述差异在预设的容错区间中时,确定所述关节的运行状态为正常状态;
s3053、当所述差异超出预设的容错区间时,确定所述关节的运行状态为异常状态。
判断实际位置与目标位置之间的差异值。
在一可行的实现方式中,由于测量结果以及测量精度的原因,可能会造成实际位置与目标位置之间的差异,因此需要设计一个合理的容错区间。
在一可行的实现方式中,判断该差异是否在预设的容错区间中,若在,则确定关节的运行状态为正常状态,若不在则确定关节的运行状态为异常状态。
s306、向所述上位机发送所述关节的运行状态。
关节的运动状态包括正常状态和异常状态,当机械手臂确定关节的运动状态后,将该关节所处的状态进行数据封装,并将封装好的数据发送给上位机。
本发明实施例通过接收上位机发送的控制指令,控制指令用于指示关节移动至目标位置,目标位置为关节的可活动范围中随机的位置;响应于控制指令,驱动关节移动至目标位置;确定关节在停止移动时的移动参数;根据移动参数确定关节所处的实际位置;根据目标位置与实际位置确定关节的运行状态;向上位机发送关节的运行状态。通过上述方式,上位机在机械手臂的关节的活动范围内,可以随机生成目标位置,因此在符合测试条件的情况下可以无限制的产生目标位置对机械手臂进行测试。由于目标位置是随机产生的,因此,产生的目标位置相同的概率极低,可以实现对机械手臂进行全面测试。
实施例四
图4为本发明实施例四提供的一种关节的测试方法的流程图。本实施例适用于上位机在机械手臂可活动范围内随机生成目标位置,向机械手臂发送包括目标位置的控制指令,机械手臂接收并执行上位机发送的控制指令,并向上位机发送移动参数,上位机接收机械手臂发送的移动参数并计算关节所处的实际位置,根据目标位置与实际位置确定关节的运行状态的场景。该方法可以由上位机中的一种关节的测试装置来执行,该装置可以由软件和/或硬件的方式实现。
参考图4,该方法具体包括:
s401、上位机确定机械手臂中的关节的可活动范围;
s402、所述上位机在所述可活动范围内随机生成目标位置;
s403、所述上位机向所述机械手臂发送控制指令,所述控制指令用于指示所述关节移动至所述目标位置;
s404、所述机械手臂响应于所述控制指令,驱动所述关节移动至所述目标位置;
s405、所述机械手臂确定所述关节在停止移动时的移动参数;
s406、所述机械手臂根据所述移动参数确定所述关节所处的实际位置;
s407、所述机械手臂根据所述目标位置与所述实际位置确定所述关节的运行状态;
s408、所述机械手臂向所述上位机发送所述关节的运行状态;
s409、所述上位机接收所述机械手臂发送的所述关节的运行状态,所述运动状态根据所述目标位置与所述关节所处的实际位置确定。
具体的,上位机确定与其连接的机械手臂包括的关节信息,如关节数量、关节可活动范围。根据关节信息,上位机首先确定生成目标位置的关节,确定该关节的可活动范围,在可活动范围内,生成该关节对应的坐标位置作为该关节本次测试的目标位置。上位机通过网络传输与机械手臂之间进行数据交互。上位机将代表目标位置的坐标位置,按照上位机与机械手臂之间的通信协议进行数据封装,并将封装后的包括目标位置的控制指令发送给机械手臂。机械手臂中的控制器软件与上位机保持通信连接,并接收上位机发送的控制指令。该控制指令包括上位机根据机械手臂中某一关节的可活动范围随机生成的目标位置。控制指令用于指示关节按照移动参数移动至目标位置,移动参数为关节在移动时经过的移动范围。机械手臂在接收控制指令后,对该控制指令进行解析,分析出该控制指令包括的目标位置。机械手臂驱动关节按照移动参数进行移动,以到达目标位置。其中,移动参数是对带动关节移动的电机数据进行采集的结果。当机械手臂中某一关节的电机的移动参数被采集后,根据该移动参数和机械手臂的性质,对关节的实际运动数据进行计算,根据该实际运动数据确定关节所处的实际位置。机械手臂根据移动参数推算出关节所处的实际位置的坐标记为第二坐标,同时,机械手臂确定针对该关节生成的目标位置对应的坐标,记为第三坐标。将第三坐标与第二坐标进行比对,以获得比对结果。根据比对结果确定该关节的运行状态是否正常。机械手臂中的控制器软件对该运行状态进行数据封装,并将封装好的数据发送给上位机。上位机接收机械手臂发送的运行状态。
实施例五
图5为本发明实施例五提供的一种关节的测试装置的结构图。该装置包括:可活动范围确定模块501、目标位置生成模块502、控制指令发送模块503和运行状态接收模块504。其中:
可活动范围确定模块501,用于确定机械手臂中的关节的可活动范围;
目标位置生成模块502,用于在所述可活动范围内随机生成目标位置;
控制指令发送模块503,用于向所述机械手臂发送控制指令,所述控制指令用于指示所述关节移动至所述目标位置;
运行状态接收模块504,用于接收所述机械手臂发送的所述关节的运行状态,所述运动状态根据所述目标位置与所述关节所处的实际位置确定。
本发明实施例通过确定机械手臂中的关节的可活动范围;在可活动范围内随机生成目标位置;向机械手臂发送控制指令,控制指令用于指示关节移动至目标位置;接收机械手臂发送的关节的运行状态,运动状态根据目标位置与关节所处的实际位置确定。通过上述方式,上位机在机械手臂的关节的活动范围内,可以随机生成目标位置,因此在符合测试条件的情况下可以无限制的产生目标位置对机械手臂进行测试。由于目标位置是随机产生的,因此,产生的目标位置相同的概率极低,可以实现对机械手臂进行全面测试。
在上述实施例的基础上,可活动范围确定模块501包括:
关节类型确定子模块,用于确定机械手臂中的关节的类型,所述类型包括旋转类型与平移类型;
第一类型执行子模块,用于当所述类型为旋转类型,将所述关节可旋转的角度范围作为所述关节的可活动范围;
第二类型执行子模块,用于当所述类型为平移类型,将所述关节可平移的距离范围作为所述关节的可活动范围。
在上述实施例的基础上,目标位置生成模块502包括:
随机因子确定子模块,用于随机确定与所述可活动范围适配的随机因子;
目标位置确定子模块,用于使用所述随机因子在所述可活动范围内确定目标位置。
在上述实施例的基础上,目标位置确定子模块包括:
活动值确定单元,用于计算活动值,所述活动值为所述随机因子与区间范围值的乘积,所述区间范围值为所述可活动范围中终结位置与起始位置之间的差值;
目标位置确定单元,用于将所述活动值与所述起始位置的和作为目标位置。
本实施例提供的一种关节的测试装置可用于执行实施例一、实施例二提供的一种关节的测试方法,具有相应的功能和有益效果。
实施例六
图6为本发明实施例六提供的一种关节的测试装置的结构图。该装置包括:控制指令接收模块601、控制指令执行模块602、移动参数确定模块603、实际位置确定模块604、运行状态确定模块605和运行状态发送模块606。其中:
控制指令接收模块601,用于接收上位机发送的控制指令,所述控制指令用于指示所述关节移动至目标位置,所述目标位置为所述关节的可活动范围中随机的位置;
控制指令执行模块602,用于响应于所述控制指令,驱动所述关节移动至所述目标位置;
移动参数确定模块603,用于确定所述关节在停止移动时的移动参数;
实际位置确定模块604,用于根据所述移动参数确定所述关节所处的实际位置;
运行状态确定模块605,用于根据所述目标位置与所述实际位置确定所述关节的运行状态;
运行状态发送模块606,用于向所述上位机发送所述关节的运行状态。
本发明实施例通过接收上位机发送的控制指令,控制指令用于指示关节移动至目标位置,目标位置为关节的可活动范围中随机的位置;响应于控制指令,驱动关节移动至目标位置;确定关节在停止移动时的移动参数;根据移动参数确定关节所处的实际位置;根据目标位置与实际位置确定关节的运行状态;向上位机发送关节的运行状态。通过上述方式,上位机在机械手臂的关节的活动范围内,可以随机生成目标位置,因此在符合测试条件的情况下可以无限制的产生目标位置对机械手臂进行测试。由于目标位置是随机产生的,因此,产生的目标位置相同的概率极低,可以实现对机械手臂进行全面测试。
在上述实施例的基础上,实际位置确定模块604包括:
原始位置确定子模块,用于确定所述关节在移动之前所处的原始位置;
移动范围确定子模块,用于使用所述移动参数确定所述关节在移动时经过的移动范围;
实际位置确定子模块,用于在所述原始位置的基础上加上所述移动范围,获得实际位置。
在上述实施例的基础上,运行状态确定模块605包括:
差异确定子模块,用于确定所述实际位置与所述目标位置之间的差异;
第一差异执行子模块,用于当所述差异在预设的容错区间中时,确定所述关节的运行状态为正常状态;
第二差异执行子模块,用于当所述差异超出预设的容错区间时,确定所述关节的运行状态为异常状态。
本实施例提供的一种关节的测试装置可用于执行实施例三提供的一种关节的测试方法,具有相应的功能和有益效果。
实施例七
图7为本发明实施例七提供的一种关节的测试装置的结构图。该装置包括:可活动范围确定模块701、目标位置生成模块702、控制指令发送模块703、控制指令接收模块704、移动参数确定模块705、实际位置确定模块706、运行状态确定模块707、运行状态发送模块708和运行状态接收模块709。其中:
可活动范围确定模块701,用于确定机械手臂中的关节的可活动范围;
目标位置生成模块702,用于在所述可活动范围内随机生成目标位置;
控制指令发送模块703,用于向所述机械手臂发送控制指令,所述控制指令用于指示所述关节移动至所述目标位置;
控制指令执行模块704,用于所述机械手臂响应于所述控制指令,驱动所述关节移动至所述目标位置;
移动参数确定模块705,用于确定所述关节在停止移动时的移动参数;
实际位置确定模块706,用于所述机械手臂根据所述移动参数确定所述关节所处的实际位置;
运行状态确定模块707,用于所述机械手臂根据所述目标位置与所述实际位置确定所述关节的运行状态;
运行状态发送模块708,用于所述机械手臂向所述上位机发送所述关节的运行状态;
运行状态接收模块709,用于所述上位机接收所述机械手臂发送的所述关节的运行状态,所述运动状态根据所述目标位置与所述关节所处的实际位置确定。
在上述实施例的基础上,可活动范围确定模块701包括:
关节类型确定子模块,用于确定机械手臂中的关节的类型,所述类型包括旋转类型与平移类型;
第一类型执行子模块,用于当所述类型为旋转类型,将所述关节可旋转的角度范围作为所述关节的可活动范围;
第二类型执行子模块,用于当所述类型为平移类型,将所述关节可平移的距离范围作为所述关节的可活动范围。
在上述实施例的基础上,目标位置生成模块702包括:
随机因子确定子模块,用于随机确定与所述可活动范围适配的随机因子;
目标位置确定子模块,用于使用所述随机因子在所述可活动范围内确定目标位置。
在上述实施例的基础上,目标位置确定子模块包括:
活动值确定单元,用于计算活动值,所述活动值为所述随机因子与区间范围值的乘积,所述区间范围值为所述可活动范围中终结位置与起始位置之间的差值;
目标位置确定单元,用于将所述活动值与所述起始位置的和作为目标位置。
在上述实施例的基础上,实际位置确定模块706包括:
原始位置确定子模块,用于确定所述关节在移动之前所处的原始位置;
移动范围确定子模块,用于使用所述移动参数确定所述关节在移动时经过的移动范围;
实际位置确定子模块,用于在所述原始位置的基础上加上所述移动范围,获得实际位置。
在上述实施例的基础上,运行状态确定模块707包括:
差异确定子模块,用于确定所述实际位置与所述目标位置之间的差异;
第一差异执行子模块,用于当所述差异在预设的容错区间中时,确定所述关节的运行状态为正常状态;
第二差异执行子模块,用于当所述差异超出预设的容错区间时,确定所述关节的运行状态为异常状态。
本实施例提供的一种关节的测试装置可用于执行实施例四提供的一种关节的测试方法,具有相应的功能和有益效果。
实施例八
图8为本发明实施例八提供的一种电子设备的结构示意图。如图8所示,该电子设备包括处理器80、存储器81、通信模块82、输入装置83和输出装置84;电子设备中处理器80的数量可以是一个或多个,图8中以一个处理器80为例;电子设备中的处理器80、存储器81、通信模块82、输入装置83和输出装置84可以通过总线或其他方式连接,图8中以通过总线连接为例。
存储器81作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本实施例中的一种关节的测试方法对应的模块(例如,一种关节的测试装置中的可活动范围确定模块501、目标位置生成模块502、控制指令发送模块503和运行状态接收模块504)。
存储器81作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本实施例中的一种关节的测试方法对应的模块(例如,一种关节的测试装置中的控制指令接收模块601、控制指令执行模块602、移动参数确定模块603、实际位置确定模块604、运行状态确定模块605和运行状态发送模块606)。
存储器81作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本实施例中的一种关节的测试方法对应的模块(例如,一种关节的测试装置中的可活动范围确定模块701、目标位置生成模块702、控制指令发送模块703、控制指令接收模块704、移动参数确定模块705、实际位置确定模块706、运行状态确定模块707、运行状态发送模块708和运行状态接收模块709)。
处理器80通过运行存储在存储器81中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的一种关节的测试方法。
存储器81可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器81可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器81可进一步包括相对于处理器80远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
通信模块82,用于与显示屏建立连接,并实现与显示屏的数据交互。输入装置83可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。
本实施例提供的一种电子设备,可执行本发明任一实施例提供的一种关节的测试方法,具体相应的功能和有益效果。
实施例九
本发明实施例九还提供一种包含计算机可执行指令的存储介质。所述计算机可执行指令在由计算机处理器执行时用于执行一种关节的测试方法,该方法包括:
确定机械手臂中的关节的可活动范围;
在所述可活动范围内随机生成目标位置;
向所述机械手臂发送控制指令,所述控制指令用于指示所述关节移动至所述目标位置;
接收所述机械手臂发送的所述关节的运行状态,所述运动状态根据所述目标位置与所述关节所处的实际位置确定。
所述计算机可执行指令在由计算机处理器执行时用于执行一种关节的测试方法,该方法包括:
接收上位机发送的控制指令,所述控制指令用于指示所述关节移动至目标位置,所述目标位置为所述关节的可活动范围中随机的位置;
响应于所述控制指令,驱动所述关节移动至所述目标位置;
确定所述关节在停止移动时的移动参数;
根据所述移动参数确定所述关节所处的实际位置;
根据所述目标位置与所述实际位置确定所述关节的运行状态;
向所述上位机发送所述关节的运行状态。
所述计算机可执行指令在由计算机处理器执行时用于执行一种关节的测试方法,该方法包括:
上位机确定机械手臂中的关节的可活动范围;
所述上位机在所述可活动范围内随机生成目标位置;
所述上位机向所述机械手臂发送控制指令,所述控制指令用于指示所述关节移动至所述目标位置;
所述机械手臂响应于所述控制指令,驱动所述关节移动至所述目标位置;
所述机械手臂确定所述关节在停止移动时的移动参数;
所述机械手臂根据所述移动参数确定所述关节所处的实际位置;
所述机械手臂根据所述目标位置与所述实际位置确定所述关节的运行状态;
所述机械手臂向所述上位机发送所述关节的运行状态;
所述上位机接收所述机械手臂发送的所述关节的运行状态,所述运动状态根据所述目标位置与所述关节所处的实际位置确定。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任一实施例所提供的一种关节的测试方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机电子设备(可以是个人计算机,服务器,或者网络电子设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述一种关节的测试装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
技术特征:
1.一种关节的测试方法,应用于上位机,其特征在于,包括:
确定机械手臂中的关节的可活动范围;
在所述可活动范围内随机生成目标位置;
向所述机械手臂发送控制指令,所述控制指令用于指示所述关节移动至所述目标位置;
接收所述机械手臂发送的所述关节的运行状态,所述运动状态根据所述目标位置与所述关节所处的实际位置确定。
2.根据权利要求1所述的方法,其特征在于,所述确定机械手臂中的关节的可活动范围,包括:
确定机械手臂中的关节的类型,所述类型包括旋转类型与平移类型;
当所述类型为旋转类型,将所述关节可旋转的角度范围作为所述关节的可活动范围;
当所述类型为平移类型,将所述关节可平移的距离范围作为所述关节的可活动范围。
3.根据权利要求1所述的方法,其特征在于,所述在所述可活动范围内随机生成目标位置,包括:
随机确定与所述可活动范围适配的随机因子;
使用所述随机因子在所述可活动范围内确定目标位置。
4.根据权利要求3所述的方法,其特征在于,所述使用所述随机因子在所述可活动范围内确定目标位置,包括:
计算活动值,所述活动值为所述随机因子与区间范围值的乘积,所述区间范围值为所述可活动范围中终结位置与起始位置之间的差值;
将所述活动值与所述起始位置的和作为目标位置。
5.一种关节的测试方法,应用于机械手臂,所述机械手臂具有多个关节,其特征在于,包括:
接收上位机发送的控制指令,所述控制指令用于指示所述关节移动至目标位置,所述目标位置为所述关节的可活动范围中随机的位置;
响应于所述控制指令,驱动所述关节移动至所述目标位置;
确定所述关节在停止移动时的移动参数;
根据所述移动参数确定所述关节所处的实际位置;
根据所述目标位置与所述实际位置确定所述关节的运行状态;
向所述上位机发送所述关节的运行状态。
6.根据权利要求5所述的方法,其特征在于,所述根据所述移动参数确定所述关节所处的实际位置,包括:
确定所述关节在移动之前所处的原始位置;
使用所述移动参数确定所述关节在移动时经过的移动范围;
在所述原始位置的基础上加上所述移动范围,获得实际位置。
7.根据权利要求5所述的方法,其特征在于,所述根据所述目标位置与所述实际位置确定所述关节的运行状态,包括:
确定所述实际位置与所述目标位置之间的差异;
当所述差异在预设的容错区间中时,确定所述关节的运行状态为正常状态;
当所述差异超出预设的容错区间时,确定所述关节的运行状态为异常状态。
8.一种关节的测试方法,其特征在于,包括:
上位机确定机械手臂中的关节的可活动范围;
所述上位机在所述可活动范围内随机生成目标位置;
所述上位机向所述机械手臂发送控制指令,所述控制指令用于指示所述关节移动至所述目标位置;
所述机械手臂响应于所述控制指令,驱动所述关节移动至所述目标位置;
所述机械手臂确定所述关节在停止移动时的移动参数;
所述机械手臂根据所述移动参数确定所述关节所处的实际位置;
所述机械手臂根据所述目标位置与所述实际位置确定所述关节的运行状态;
所述机械手臂向所述上位机发送所述关节的运行状态;
所述上位机接收所述机械手臂发送的所述关节的运行状态,所述运动状态根据所述目标位置与所述关节所处的实际位置确定。
9.一种关节的测试装置,其特征在于,包括:
可活动范围确定模块,用于确定机械手臂中的关节的可活动范围;
目标位置生成模块,用于在所述可活动范围内随机生成目标位置;
控制指令发送模块,用于向所述机械手臂发送控制指令,所述控制指令用于指示所述关节移动至所述目标位置;
运行状态接收模块,用于接收所述机械手臂发送的所述关节的运行状态,所述运动状态根据所述目标位置与所述关节所处的实际位置确定。
10.一种关节的测试装置,其特征在于,包括:
控制指令接收模块,用于接收上位机发送的控制指令,所述控制指令用于指示所述关节移动至目标位置,所述目标位置为所述关节的可活动范围中随机的位置;
控制指令执行模块,用于响应于所述控制指令,驱动所述关节移动至所述目标位置;
移动参数确定模块,用于确定所述关节在停止移动时的移动参数;
实际位置确定模块,用于根据所述移动参数确定所述关节所处的实际位置;
运行状态确定模块,用于根据所述目标位置与所述实际位置确定所述关节的运行状态;
运行状态发送模块,用于向所述上位机发送所述关节的运行状态。
11.一种关节的测试装置,其特征在于,包括:
可活动范围确定模块,用于确定机械手臂中的关节的可活动范围;
目标位置生成模块,用于在所述可活动范围内随机生成目标位置;
控制指令发送模块,用于向所述机械手臂发送控制指令,所述控制指令用于指示所述关节移动至所述目标位置;
控制指令执行模块,用于所述机械手臂响应于所述控制指令,驱动所述关节移动至所述目标位置;
移动参数确定模块,用于确定所述关节在停止移动时的移动参数;
实际位置确定模块,用于所述机械手臂根据所述移动参数确定所述关节所处的实际位置;
运行状态确定模块,用于所述机械手臂根据所述目标位置与所述实际位置确定所述关节的运行状态;
运行状态发送模块,用于所述机械手臂向所述上位机发送所述关节的运行状态;
运行状态接收模块,用于所述上位机接收所述机械手臂发送的所述关节的运行状态,所述运动状态根据所述目标位置与所述关节所处的实际位置确定。
12.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如任一权利要求所述的一种关节的测试方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如任一权利要求所述的一种关节的测试方法。
技术总结
本发明公开了一种关节的测试方法、装置、设备和存储介质。该方法包括:确定机械手臂中的关节的可活动范围;在所述可活动范围内随机生成目标位置;向所述机械手臂发送控制指令,所述控制指令用于指示所述关节移动至所述目标位置;接收所述机械手臂发送的所述关节的运行状态,所述运动状态根据所述目标位置与所述关节所处的实际位置确定。通过上述方式,上位机在机械手臂的关节的活动范围内,可以随机生成目标位置,因此在符合测试条件的情况下可以无限制的产生目标位置对机械手臂进行测试。由于目标位置是随机产生的,因此,产生的目标位置相同的概率极低,可以实现对机械手臂进行全面测试。
技术研发人员:李永胜
受保护的技术使用者:广州视源电子科技股份有限公司
技术研发日:.11.04
技术公布日:.02.07