机器人的碰撞检测方法和装置与流程

文档序号:16409098发布日期:2018-12-25 20:39阅读:546来源:国知局
机器人的碰撞检测方法和装置与流程

本发明涉及工业机器人领域,具体而言,涉及一种机器人的碰撞检测方法和装置。

背景技术

工业机器人是面向工业领域的多关节机械手或多自由度的机器装置,它能自动执行工作,是靠自身动力和控制能力来实现各种功能的一种机器。它可以接受人类指挥,也可以按照预先编排的程序运行。

在工业机器人的路径规划中,需要实时躲避运动或者静态的障碍物。碰撞检测的主要作用就是减少碰撞力对机器人本体的影响,避免机器人本体或周围设备损坏,甚至是人员伤亡。目前,碰撞检测方法主要分为在机器人外部添加传感器和在机器人内部添加或直接读取内部信息来检测碰撞的方法。由于传感器通常比较昂贵,采用添加传感器的检测方法额外增加了系统成本,同时还会增加系统布线的复杂度,不利用工业推广应用。

针对现有技术中使用传感器检测机器人碰撞,导致机器人成本较高的技术问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种机器人的碰撞检测方法和装置,以至少解决现有技术中使用传感器检测机器人碰撞,导致机器人成本较高的技术问题。

根据本发明实施例的一个方面,提供了一种机器人的碰撞检测方法,包括:根据目标关节上的参数,确定目标关节的预测驱动力矩;获取目标关节的实际驱动力矩;根据实际驱动力矩与预测驱动力矩的比值,判断机器人是否发生碰撞。

进一步地,根据实际驱动力矩与预测驱动力矩的比值,判断机器人是否发生碰撞,包括:获取预设阈值,其中,预设阈值为大于1的常数;确定实际驱动力矩与预测驱动力矩的比值;如果比值大于预设阈值,则判断机器人发生碰撞;如果比值小于或等于预设阈值,则判断机器人未发生碰撞。

进一步地,根据目标关节上的参数,确定目标关节的预测驱动力矩,包括:将目标关节对应的伺服电机的参数转换为目标关节的参数,其中,参数包括:角度、角速度和角加速度;基于目标关节的参数,通过预设的动力学方程确定目标关节的驱动力矩。

进一步地,获取目标关节的实际驱动力矩,包括:采集目标关节对应的伺服电机的扭矩;获取减速机的减速比和伺服电机的摩擦系数;根据减速比、摩擦系数以及扭矩,确定目标关节的实际驱动力矩。

进一步地,根据实际驱动力矩和预测驱动力矩的比值,判断机器人是否发生碰撞之后,上述方法还包括:根据机器人是否发生碰撞的结果确定碰撞标志位的赋值。

进一步地,根据实际驱动力矩和预测驱动力矩的比值,判断机器人是否发生碰撞之后,上述方法还包括:控制机器人停止运行;或控制机器人转向运行。

进一步地,目标关节为机器人关节中的任意一个或多个。

根据本发明实施例的另一方面,还提供了一种机器人的碰撞检测装置,包括:确定模块,用于根据目标关节上的参数,确定目标关节的预测驱动力矩;获取模块,用于获取目标关节的实际驱动力矩;判断模块,用于根据实际驱动力矩与预测驱动力矩的比值,判断机器人是否发生碰撞。

根据本发明实施例的另一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述任意一种机器人的碰撞检测方法。

根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,程序运行时执行上述任意一种机器人的碰撞检测方法。

在本发明实施例中,提出了基于机器人动力学和直接读取伺服电机扭矩的碰撞检测方法和装置,根据目标关节上的参数,确定目标关节的预测驱动力矩,获取目标关节的实际驱动力矩,根据实际驱动力矩与预测驱动力矩的比值,判断机器人是否发生碰撞。与现有技术相比,本发明不需要额外增加传感器,无需改变机器人的硬件结构,节约系统开发成本,进而解决了现有技术中使用传感器检测机器人碰撞,导致机器人成本较高的技术问题。而且动态性能好、准确性高、方法简单,便于工业推广应用。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种可选的机器人碰撞检测方法的流程图;

图2是根据本发明实施例的一种可选的机器人碰撞检测方法的原理图;以及

图3是根据本发明实施例的一种可选的机器人碰撞检测装置的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例1

根据本发明实施例,提供了一种机器人的碰撞检测方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的机器人的碰撞检测方法的流程图,如图1所示,该方法包括如下步骤:

步骤s12,根据目标关节上的参数,确定目标关节的预测驱动力矩。

一种可选方案中,上述目标关节可以是机器人众多关节中的任意一个或多个。上述参数可以是机器人对应关节的伺服电机的角度、角速度和角加速度等。

根据机器人各关节的伺服电机的角度、角速度和角加速度等参数,确定各关节的预测驱动力矩。

需要说明的是,驱动力矩是指驱使机器人关节转动的力矩,它与关节的角速度方向相同,并作正功。

步骤s14,获取目标关节的实际驱动力矩。

步骤s16,根据实际驱动力矩与预测驱动力矩的比值,判断机器人是否发生碰撞。

由于机器人发生碰撞时,各关节实际驱动力矩会突然增大,所以实际驱动力矩必然和预测驱动力矩的数值不一样,由此可以判断机器人是否发生碰撞。

上述步骤可以由机器人的处理器执行,也可以是与机器人通信的上位机执行。在一种可选的实施例中,机器人在移动的过程中,机器人的处理器按照预设周期获取目标关节的实际驱动力矩,并对目标关节上的理论驱动力矩进行预测。在获取实际驱动力矩和预测力矩之后,根据二者的比值判断机器人是否发生碰撞。

由上可知,本发明上述实施例根据目标关节上的参数,确定目标关节的预测驱动力矩,获取目标关节的实际驱动力矩,根据实际驱动力矩与预测驱动力矩的比值,判断机器人是否发生碰撞。上述方案通过比较机器人各关节实际驱动力矩与预测驱动力矩的大小来判断机器人是否发生碰撞,进而采取措施以保护机器人或周围物体,不需要额外增加传感器,无需改变机器人的硬件结构,节约系统开发成本,进而解决了现有技术中使用传感器检测机器人碰撞,导致机器人成本较高的技术问题。

可选地,根据实际驱动力矩与预测驱动力矩的比值,判断机器人是否发生碰撞,包括:

步骤s161,获取预设阈值,其中,预设阈值为大于1的常数。

通常情况下,机器人正常移动时,实际驱动力矩和预测驱动力矩相等,或实际驱动力矩比预测驱动力矩稍微大一些,而机器人发生碰撞时,各关节实际驱动力矩会突然增大,所以实际驱动力矩与预测驱动力矩的比值必然大于1,预设阈值为大于1的常数。

步骤s162,确定实际驱动力矩与预测驱动力矩的比值。

步骤s163,如果比值大于预设阈值,则判断机器人发生碰撞;如果比值小于或等于预设阈值,则判断机器人未发生碰撞。

当上述比值大于预设阈值时,则机器人发生碰撞,反之则未发生碰撞。

需要说明的是,实际驱动力矩与预测驱动力矩的比值越大,机器人碰撞的程度越严重,相应地,机器人相关零部件或被碰物体的损伤越大。因此,当判断机器人发生碰撞之后,可以根据碰撞发生时刻实际驱动力矩与预测驱动力矩的比值,追溯机器人的碰撞严重程度,以提出改进方案。

需要说明的是,本申请上述方案中,大于1的预设阈值用于与实际驱动力矩和预测驱动力矩之间的比值进行比较,来确定机器人是否发生碰撞。在另一种方案中,还可以设置另一个小于1的预设阈值,与预测驱动力矩和实际驱动力矩的比值进行比较,如果该比值小于上述小于1的常数阈值,则确定机器人发生碰撞,如果该比值大于等于上述小于1的比值,则确定机器人未发生碰撞。

可选地,根据目标关节上的参数,确定目标关节的预测驱动力矩,包括:

步骤s121、将目标关节对应的伺服电机的参数转换为目标关节的参数,其中,参数包括:角度、角速度和角加速度。

由减速机减速比将伺服电机的角度、角速度、角加速度转换成各关节的角度θ,角速度和角加速度减速比,即减速装置的传动比,是传动比的一种,是指减速机构中瞬时输入速度与输出速度的比值,通常为一个定值,由减速机的型号决定。

一种可选方案中,上述伺服电机的角度可通过本来就存在于机器人内部的角位移传感器实时获得,可以为光电编码器。

步骤s122,基于目标关节的参数,通过预设的动力学方程确定目标关节的驱动力矩。

由机器人动力学方程计算机器人各关节预测驱动力矩τ0,该预测驱动力矩为理论值,其中为惯性力项,为哥氏力和离心力项,为外力项,包括负载、重力、摩擦力等。

可选地,获取目标关节的实际驱动力矩,包括:采集目标关节对应的伺服电机的扭矩;获取减速机的减速比和伺服电机的摩擦系数;根据减速比、摩擦系数以及扭矩,确定目标关节的实际驱动力矩。

一种可选方案中,上述伺服电机的扭矩可以通过扭矩测试仪或扭矩传感器获得,其内置于机器人中。

可选地,根据实际驱动力矩和预测驱动力矩的比值,判断机器人是否发生碰撞之后,上述方法还包括:

步骤s181,根据机器人是否发生碰撞的结果确定碰撞标志位的赋值。

一种可选方案中,当实际驱动力矩和预测驱动力矩的比值小于预设阈值时,表明相应关节未发生碰撞,碰撞标识位赋值0;当实际驱动力矩和预测驱动力矩的比值大于预设阈值时,表明相应关节发生碰撞,碰撞标识位赋值1。当然,也可以将未发生碰撞关节的碰撞标志位赋值1,发生碰撞关节的碰撞标志位赋值0。根据各关节赋值的不同,用于追溯机器人的运动轨迹和碰撞情况。

可选地,根据实际驱动力矩和预测驱动力矩的比值,判断机器人是否发生碰撞之后,上述方法还包括:

步骤s182,控制机器人停止运行;或控制机器人转向运行。

当确定机器人发生碰撞时,上述方案提供了两种可选的方案。

在一种可选的方案中,当确定机器人发生碰撞时,可以控制机器人停止运行,该停止运行可以是机器人停止移动,也可以是机器人断电停机。

在另一种可选的方案中,当确定机器人发生碰撞时,可以控制机器人按照预设的角度调整移动方向,从而转向运行。

在另一种可选的方案中,当判断机器人发生碰撞时,机器人还可以立即停止,并沿之前的运行路径往反方向移动一小段距离以释放残余应力。

可选地,当判断机器人发生碰撞时,机器人会立即停止,并沿之前的运行路径往反方向移动一小段距离以释放残余应力。

进一步地,当判断机器人发生碰撞时,可发出告警,以提醒工作人员前来排查故障。当碰撞报警被确认之后,不需要重新上电,机器人还可以继续沿着之前的路径继续运行。

进一步地,目标关节为机器人关节中的任意一个。

实际驱动力矩与预测驱动力矩的比值大于预设阈值的个数越多,说明发生碰撞的关节数越多,相应地,机器人受损伤越严重。

在实际应用中,可以确定机器人的指定关节为目标关节,也可以确定机器人的所有关节为目标关节。

图2是根据本发明实施例的一种可选的机器人碰撞检测方法的原理图。在一种可选的实施例中,结合图2所示,机器人运行时,读取机器人各关节伺服电机的角度、角速度、角加速度,然后由减速机减速比将伺服电机角度、角速度、角加速度转换成各关节的角度、角速度、角加速度,再由机器人动力学方程计算此时机器人各关节理论驱动力矩τ0;读取机器人各关节伺服电机扭矩,由减速机减速比、摩擦系数等参数将各关节伺服电机扭矩转换成各关节的实际驱动力矩τ。计算各关节实际驱动力矩τ与理论驱动力矩τ0比值τ/τ0,与碰撞预设阈值n比较。当τ/τ0大于n时,则判定相应关节发生碰撞,碰撞标志位赋值1,并立即停机,当τ/τ0小于n时,则判定相应关节未发生碰撞,碰撞标志位赋值0,机器人继续运行。

通过本发明上述实施例,不仅解决了现有技术中使用传感器检测机器人碰撞,导致机器人成本较高的技术问题,而且无需改变机器人硬件结构,节约系统开发成本,可用于追溯机器人的运动轨迹和碰撞情况,动态性能好、准确性高、方法简单,便于工业推广应用。

实施例2

根据本发明实施例,提供了一种机器人的碰撞检测装置,图3是根据本发明实施例的一种机器人的碰撞检测装置的示意图,结合图3所示,该装置包括:

确定模块32,用于根据目标关节上的参数,确定目标关节的预测驱动力矩。

获取模块34,用于获取目标关节的实际驱动力矩。

判断模块36,用于根据实际驱动力矩与预测驱动力矩的比值,判断机器人是否发生碰撞。

由上可知,本发明上述实施例根据目标关节上的参数,确定目标关节的预测驱动力矩,获取目标关节的实际驱动力矩,根据实际驱动力矩与预测驱动力矩的比值,判断机器人是否发生碰撞。上述方案通过比较机器人各关节实际驱动力矩与预测驱动力矩的大小来判断机器人是否发生碰撞,进而采取措施以保护机器人或周围物体,不需要额外增加传感器,无需改变机器人的硬件结构,节约系统开发成本,进而解决了现有技术中使用传感器检测机器人碰撞,导致机器人成本较高的技术问题。

可选地,上述判断模块36包括:

阈值设定模块,用于获取预设阈值,其中,预设阈值为大于1的常数。

比值确定模块,用于确定实际驱动力矩与预测驱动力矩的比值。

碰撞判断模块,用于如果比值大于预设阈值,则判断机器人发生碰撞;如果比值小于或等于预设阈值,则判断机器人未发生碰撞。

可选地,上述确定模块32包括:

转换模块,用于将目标关节对应的伺服电机的参数转换为目标关节的参数,其中,参数包括:角度、角速度和角加速度。

预设驱动力矩确定模块,用于基于目标关节的参数,通过预设的动力学方程确定目标关节的驱动力矩。

可选地,上述获取模块34包括:

采集模块,用于采集目标关节对应的伺服电机的扭矩;

获取子模块,用于获取减速机的减速比和伺服电机的摩擦系数;

实际驱动力矩确定模块,用于根据减速比、摩擦系数以及扭矩,确定目标关节的实际驱动力矩。

可选地,上述装置还包括赋值模块,用于根据实际驱动力矩和预测驱动力矩的比值,判断机器人是否发生碰撞之后,根据机器人是否发生碰撞的结果确定碰撞标志位的赋值。

可选地,上述装置还包括控制模块,用于根据实际驱动力矩和预测驱动力矩的比值,判断机器人是否发生碰撞之后,控制机器人停止运行;或控制机器人转向运行。

可选地,当判断机器人发生碰撞时,机器人会立即停止,并沿之前的运行路径往反方向移动一小段距离以释放残余应力。

可选地,上述装置还包括告警模块,用于当判断机器人发生碰撞时,发出告警。

可选地,上述装置还包括告警确认模块,用于当碰撞报警被确认之后,机器人继续沿着之前的路径继续运行。

可选地,目标关节为机器人关节中的任意一个或多个。

实施例3

根据本发明实施例,提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行实施例1中的机器人的碰撞检测方法。

实施例4

根据本发明实施例,提供了一种处理器,处理器用于运行程序,其中,程序运行时执行实施例1中的机器人的碰撞检测方法。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本发明所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1