一种机器人的控制系统的制作方法

文档序号:17134697发布日期:2019-03-19 20:40阅读:147来源:国知局
一种机器人的控制系统的制作方法

本发明涉及机器人技术领域,特别是涉及一种机器人的控制系统。



背景技术:

随着机器人技术的发展,目前机器人已经能够应用到许多不同的领域。在许多具有高灵活度、高柔性等操作要求的领域中,由于机器人目前还难以满足这样的操作要求,因此,机器人通常需要与操作人员在同一空间内共同协作。例如,在医药、视频、物流等行业中,通常工业机器人与操作人员会在一起协作完成工作。在机器人与操作人员共同协作的过程中,由于两者处于同一空间,机器人很可能会碰撞到操作人员。这种碰撞很可能会伤害到操作人员,同时也很可能会损坏机器人本身。



技术实现要素:

本发明所要解决的技术问题是,提供一种机器人的控制系统,以使得机器人在发生碰撞的情况下能够被触发安全防护的动作,从而避免碰撞对操作人员的伤害,同时也避免碰撞损坏机器人本身。

为解决上述技术问题,本发明提供了一种机器人的控制系统,该系统包括:

控制器、电流传感器、编码器、驱动器和刹车驱动器;

所述控制器,用于获取电流传感器对目标电机检测到的实际电流值并根据所述实际电流值计算所述目标电机的实际输出力矩,获取目标关节的位置、角速度和角加速度并根据所述目标关节的位置、角速度和角加速度计算所述目标电机的理论输出力矩,计算所述实际输出力矩和所述理论输出力矩之间的差值,若所述差值大于力矩差阈值则向所述驱动器发送第一控制指令和/或向所述刹车驱动器发送第二控制指令;

所述电流传感器,用于对所述机器人的目标电机进行电流检测,以获得实际电流值并传送给所述控制器;

所述编码器,用于对目标关节的位置信息进行检测,以获得所述目标电机的位置、角速度和角加速度并传送给所述控制器;其中,所述目标关节是所述机器人上被所述目标电机控制的机械臂关节;

所述驱动器,用于按照所述第一控制指令,控制机器人执行安全防护的动作;

所述刹车驱动器,用于按照所述第二控制指令,控制机器人执行安全防护的动作。

可选的,所述实际输出力矩具体为所述实际电流值与所述目标电机的转矩系数通过非线性相乘而得到的。

可选的,所述理论输出力矩包括所述目标关节的惯量、科氏力和离心力、库伦摩擦力、粘性摩擦力和重力所产生的力矩;

所述目标关节的惯量所产生的力矩由所述目标关节角加速度确定;

所述目标关节的科氏力和离心力所产生的力矩由所述目标关节的位置和角速度确定;

所述目标关节的库伦摩擦力所产生的力矩由所述目标关节的角速度确定;

所述目标关节的粘性摩擦力所产生的力矩由所述目标关节的角速度确定;

所述目标关节的重力所产生的力矩由所述目标关节的位置确定。

可选的,所述目标关节的角速度是通过对所述目标关节的位置进行差分和滤波得到的,所述目标关节的角加速度对所述目标关节的角速度进行差分和滤波得到的。

可选的,

所述控制器,还用于预先响应于设置阈值的用户操作,将所述用户操作所指示的数值作为所述力矩差阈值。

可选的,所述用户操作具体为在预设的多个可选数值中选取出一个数值的操作,所述用户操作用于指示将选取出的数值作为所述力矩差阈值。

可选的,所述安全防护的动作为进入停止运动的状态。

可选的,所述安全防护的动作具体为所述机器人上所有的机械臂关节均进入停止运动的状态;

其中,所述目标关节为所述机器人上任意一个机械臂关节。

与现有技术相比,本发明具有以下优点:

在本发明实施例中,对于机器人上的机械臂关节及其电机,通过比较由该电机的实际电流值计算出的实际输出力矩与由该关节的位置信息计算出的理论输出力矩,可以确定机器人是否发生了碰撞,这样,在确定机器人发生碰撞的情况下就可以使机器人主动触发安全防护的动作,从而避免碰撞对操作人员的伤害,同时也避免碰撞损坏机器人本身。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的机器人产品示意图;

图2本申请实施例提供的机械臂本体的示意图;

图3为本申请实施例提供的机器人的控制方法的流程图;

图4为本申请实施例提供的机器人的控制方法的原理图;

图5为本申请实施例提供的控制机器人某一机械臂关节的流程图;

图6为本申请实施例提供的机器人的控制装置的示意图;

图7为本申请实施例提供的机器人的控制系统的示意图。

具体实施方式

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

发明人经过研究发现,通常工业机器人与操作人员会在一起协作完成工作,例如,在医药、物流等行业。在机器人与操作人员共同协作的过程中,由于两者处于同一空间,机器人很可能会碰撞到操作人员。这种碰撞很可能会伤害到操作人员,同时也很可能会损坏机器人本身。

基于此,在本发明实施例中,通过计算目标电机控制的机械臂关节的实际输出力矩和理论输出力矩的差值,当所述差值大于力矩差阈值时,认为机器人发生了碰撞,当机器人发生碰撞时控制机器人执行安全防护的动作,从而避免机器人伤害到操作人员,也避免机器人自身损伤。

如图1所示,该图为本申请实施例提供的机器人产品示意图,本发明实施例涉及的产品包括:一个机械臂本体,一个控制柜和一个示教器。

如图2所示,该图为本发明实施例提供的机械臂本体的示意图。机器人本体模仿人的手臂,共有6个旋转关节,每个关节表示一个自由度。机器人关节包括基座(关节1)、肩部(关节2)、肘部(关节3)、腕部1(关节4)、腕部2(关节5)、腕部3(关节6)。基座用于机器人本体和底座连接,工具端用于机器人与工具连接。肩部和肘部之间以及肘部和腕部之间采用臂管连接。通过示教器操作界面或拖动示教,用户可以控制各个关节转动,使机器人工具移动到不同的位姿。

下面结合附图,通过实施例来详细说明本发明实施例中机器人的控制方法的具体实现方式。

示例性方法

参见图3,该图为本实施例提供的机器人的控制方法的流程图。本实施例提供的机器人的控制方法,包括如下步骤:

S301:获取电流传感器对目标电机检测到的实际电流值,并根据所述实际电流值计算所述目标电机的实际输出力矩。

可以理解的是,当机械臂运动时,各个关节运动需要的驱动力矩由相应的电机提供,为各关节运动提供驱动力矩的电机通常为直流力矩电机。而直流力矩电机的实际输出力矩与电流成正比关系,具体地,所述实际输出力矩为所述实际电流值和所述目标电机的转矩系数的乘积,即τreal=Ki,其中,τreal表示所述实际输出力矩,K表示所述目标电机的转矩系数,i表示所述实际电流值。

需要说明的是,所述目标电机有与之对应的电流传感器和控制器,可以通过电流传感器获得所述目标电机的实际电流值,电流传感器将所述目标电机的实际电流值发送给控制器,控制器通过计算获得所述目标电机的实际输出力矩。

S302:获取目标关节的位置、角速度和角加速度,并根据所述目标关节的位置、角速度和角加速度计算所述目标电机的理论输出力矩;其中,所述目标关节是所述机器人上被所述目标电机控制的机械臂关节。

需要说明的是,机械臂在运动时,目标电机控制的目标关节可能会有一定的角速度和角加速度,例如腕部3(关节6)发生旋转时具有一定的角速度和角加速度。目标关节的角速度和角加速度是所述目标电机的理论输出力矩的影响因素。除此之外,所述目标关节的位置也是所述目标电机的理论输出力矩的一个影响因素。

需要说明的是,根据所述目标关节的位置、角速度和角加速度计算所述目标电机的理论输出力矩,所述理论输出力矩包括所述目标关节的惯量、科氏力和离心力、库伦摩擦力、粘性摩擦力和重力所产生的力矩。具体地:

以下对式(1)进行说明,假设机器人的关节数为N,式(1)中:

τ表示所述理论输出力矩。

q表示各关节位置向量,为N×1的向量。

为各关节加速度向量,为N×1的向量。

为各关节角加速度向量,为N×1的向量。

为所述目标关节的惯量产生的力矩,所述目标关节的惯量产生的力矩由所述目标关节的位置和角加速度确定。

为所述目标关节的科氏力和离心力所产生的力矩,所述目标关节的科氏力和离心力所产生的力矩由所述目标关节的位置和角速度确定。其中,为N×N的科氏力和离心力矩阵。

为所述目标关节的库伦摩擦力所产生的力矩,所述库伦摩擦力所产生的力矩由所述目标关节的角速度确定。其中,FS为N×N的库仑摩擦力矩阵,为以为自变量的符号函数。

FV为所述目标关节的粘性摩擦力所产生的力矩,所述目标关节所产生的力矩由所述目标关节的角速度确认。其中,FV为N×N的粘性摩擦力矩阵。

G(q)为所述目标关节的重力所产生的力矩,所述目标关节的重力所产生的力矩由所述目标关节的角速度确定。其中,G(q)为N×1的重力向量。

需要说明的是,所述目标电机有与之对应的编码器,可以根据编码器获得所述目标电机控制的目标关节的位置,对所述目标关节的位置进行差分、滤波之后可得到所述目标关节的角速度和角加速度。编码器获得所述目标电机的位置、角速度和角加速度之后可以将所述目标电机的位置、角速度和角加速度发送给控制器,由控制器计算所述目标电机的理论输出力矩。

需要说明的是,本实施例中不限定S301和S302的执行顺序,S301可以在S302之后执行,S301也可以与S302同时执行。

S303:计算所述实际输出力矩和理论输出力矩之间的差值。

可以理解的是,控制器获得所述实际输出力矩和所述理论输出力矩之后可以通过计算获得所述实际输出力矩和理论输出力矩之间的差值。

S304:若所述差值大于力矩差阈值,则控制机器人执行安全防护的动作。

可以理解的是,所述力矩差阈值可以是所述机器人安全工作范围内实际输出力矩和理论输出力矩的偏差的最大值。

需要说明的是,所述力矩差阈值可以是用户预先设置的。具体实现时,预先响应于设置阈值的用户操作,将所述用户操作所指示的数值作为所述力矩差阈值。

在一种可能的实施方式中,所述用户操作可以具体为在预设的多个可选数值中选取出一个数值的操作,所述用户操作用户指示将选取出的数值作为所述力矩差阈值。

可以理解的是,机器人的应用场景不同,对安全性的要求也不同,故而可以为机器人设置安全等级,每个等级设置有对应的力矩差阈值。用户可以根据机器人的实际应用场景对安全性的要求选择对应的力矩差阈值。

需要说明的是,本实施例中提及的安全防护动作为进入停止运动的状态。

可以理解的是,机械臂本体上有多个关节,各个关节都有可能发生碰撞,导致所述关节对应的电机的实际输出力矩与理论输出力矩的差值大于所述力矩差阈值,在本实施例中,机械臂本体上任意一个机械臂关节发生碰撞时,所述安全防护的动作具体为所述机器人上所有的机械臂关节均进入停止运动的状态。从而有效的避免碰撞对操作人员的伤害,同时也有效避免碰撞损坏机器人本身。

需要说明的是,本实施例中各个目标关节对应的目标电机有对应的驱动器和刹车驱动器。其中,驱动器为所述目标电机的驱动电路部分,驱动器可以驱动所述电机工作,也可以控制所述电机停止工作。刹车驱动器是机械臂关节的刹车,分为抱死和松开两个状态,刹车抱死时所述机械臂关节可以在短时间内进入停止工作状态。

本实施例中提及的安全防护的动作的执行可以由驱动器和/或刹车驱动器来完成。当控制器判断所述差值大于力矩差阈值时,可以向所述驱动器发送第一控制指令和/或刹车驱动器发送第二控制指令。驱动器接收到所述第一控制指令后控制所述目标电机停止工作,从而控制机械臂关节进入停止运动的状态。刹车驱动器接收到所述第二控制指令之后,刹车进入抱死状态,从而控制机械臂关节进入停止运动的状态。

以下结合具体场景介绍本申请提供的机器人的控制方法。

参见图4,该图为本申请实施例提供的机器人的控制方法的原理图。

参见图5,该图为本申请实施例提供的控制机器人某一机械臂关节的流程图。

S501:微控制单元(Microcontroller Unit,MCU)通过驱动器驱动电机工作,机械臂关节进入工作状态。

其中,驱动器为电机的驱动电路部分,由MOS管及MOS管驱动组成,驱动器可以驱动所述电机工作,也可以控制所述电机停止工作。

其中,MCU主要负责电机的驱动并与控制器通过电流分析板进行通信,将电机的状态信息上传给控制器。

其中,电流分析板主要负责MCU与控制板之间的通信。

S502:编码器A和编码器B获得机械臂关节的位置、角速度和角加速度,并通过MCU和电流分析板将所述机械臂关节的位置、角速度和角加速度发送给控制器。

需要说明的是,编码器A为绝对编码器,可以获得机械臂关节的绝对位置信息。编码器B为增量式编码器,可以获得电机的相对位置信息及速度、加速度等信息。结合编码器A和编码器B可以获得所述机械臂关节的位置、角速度进而角加速度信息。

可以理解的是,编码器A和编码器B也可以集成为一个编码器。

编码器A和编码器B可以为一个编码器,也可以为多个编码器。功能如上。

S503:电流传感器检测电机的实际电流值,并将所述实际电流值通过 MCU和电流分析板发送给控制器。

S504:控制器计算电机的实际输出力矩和理论输出力矩,并计算所述实际输出力矩和所述理论输出力矩的差值。

S505:判断所述差值大于所述力矩差阈值,通过MCU控制刹车驱动器进入抱死状态,从而控制机械臂关节停止运动。

需要说明的是,图4中所示的编码器A、编码器B、驱动器、刹车驱动器、电流传感器可以集成为一个电机驱动板。

本实施例提供的机器人的控制方法,对于机器人上的机械臂关节及其电机,通过比较由该电机的实际电流值计算出的实际输出力矩与由该关节的位置信息计算出的理论输出力矩,可以确定机器人是否发生了碰撞,这样,在确定机器人发生碰撞的情况下就可以使机器人主动触发安全防护的动作,从而避免碰撞对操作人员的伤害,同时也避免碰撞损坏机器人本身。

示例性装置

基于本申请实施例提供的机器人的控制方法,本申请还提供一种机器人的控制装置,参见图6,该图为本申请实施例提供的机器人的控制装置的示意图,本实施例提供的机器人的控制装置,包括:

第一获取单元610、第一计算单元620、第二获取单元630、第二计算单元640、第三计算单元650和控制单元660。

所述第一获取单元610,用于获取电流传感器对目标电机检测到的实际电流值。

所述第一计算单元620,用于根据所述实际电流值计算所述目标电机的实际输出力矩。

可选的,所述实际输出力矩具体为所述实际电流值与所述目标电机的转矩系数的乘积。

所述第二获取单元630,用于获取目标关节的位置、角速度和角加速度;其中,所述目标关节是所述机器人上被所述目标电机控制的机械臂关节。

可选的,所述目标关节的角速度和角加速度是通过对所述目标关节的位置进行差分和滤波得到的。

所述第二计算单元640,用于根据所述目标关节的位置、角速度和角加速度计算所述目标电机的理论输出力矩。

可选的,所述理论输出力矩包括所述目标关节的惯量、科氏力和离心力、库伦摩擦力、粘性摩擦力和重力所产生的力矩;

所述目标关节的惯量所产生的力矩由所述目标关节的位置和角加速度确定;

所述目标关节的科氏力和离心力所产生的力矩由所述目标关节的位置和角速度确定;

所述目标关节的库伦摩擦力所产生的力矩由所述目标关节的角速度确定;

所述目标关节的粘性摩擦力所产生的力矩由所述目标关节的角速度确定;

所述目标关节的重力所产生的力矩由所述目标关节的位置确定。

所述第三计算单元650,用于计算所述实际输出力矩和所述理论输出力矩之间的差值。

所述控制单元660,用于若所述差值大于力矩差阈值,则控制机器人执行安全防护的动作。

可选的,所述安全防护的动作为进入停止运动的状态。

可选的,所述安全防护的动作具体为所述机器人上所有的机械臂关节均进入停止运动的状态;其中,所述目标关节为所述机器人上任意一个机械臂关节。

可选的,所述装置还包括阈值设置单元。

所述阈值设置单元用于:预先响应于设置阈值的用户操作,将所述用户操作所指示的数值作为所述力矩差阈值。

可选的,所述用户操作具体为在预设的多个可选数值中选取出一个数值的操作,所述用户操作用于指示将选取出的数值作为所述力矩差阈值。

本实施例提供的机器人的控制装置,对于机器人上的机械臂关节及其电机,通过比较由该电机的实际电流值计算出的实际输出力矩与由该关节的位置信息计算出的理论输出力矩,可以确定机器人是否发生了碰撞,这样,在确定机器人发生碰撞的情况下就可以使机器人主动触发安全防护的动作,从而避免碰撞对操作人员的伤害,同时也避免碰撞损坏机器人本身。

示例性系统

基于本申请实施例提供的机器人的控制方法和装置,本申请还提供一种机器人的控制系统,参见图7,该图为本申请实施例提供的机器人的控制系统的示意图,本实施例提供的机器人的控制系统,包括:

控制器710、电流传感器720、编码器730、驱动器740和刹车驱动器750。

所述控制器710,用于获取电流传感器对目标电机检测到的实际电流值并根据所述实际电流值计算所述目标电机的实际输出力矩,获取目标关节的位置、角速度和角加速度并根据所述目标关节的位置、角速度和角加速度计算所述目标电机的理论输出力矩,计算所述实际输出力矩和所述理论输出力矩之间的差值,若所述差值大于力矩差阈值则向所述驱动器发送第一控制指令和/或向所述刹车驱动器发送第二控制指令。

所述电流传感器720,用于对所述机器人的目标电机进行电流检测,以获得实际电流值并传送给所述控制器。

所述编码器730,用于对目标关节的位置信息进行检测,以获得所述目标电机的位置、角速度和角加速度并传送给所述控制器;其中,所述目标关节是所述机器人上被所述目标电机控制的机械臂关节。

所述驱动器740,用于按照所述第一控制指令,控制机器人执行安全防护的动作。

所述刹车驱动器750,用于按照。所述第二控制指令,控制机器人执行安全防护的动作。

可选的,所述实际输出力矩具体为所述实际电流值与所述目标电机的转矩系数通过非线性相乘而得到的。

可选的,所述理论输出力矩包括所述目标关节的惯量、科氏力和离心力、库伦摩擦力、粘性摩擦力和重力所产生的力矩;

所述目标关节的惯量所产生的力矩由所述目标关节角加速度确定;

所述目标关节的科氏力和离心力所产生的力矩由所述目标关节的位置和角速度确定;

所述目标关节的库伦摩擦力所产生的力矩由所述目标关节的角速度确定;

所述目标关节的粘性摩擦力所产生的力矩由所述目标关节的角速度确定;

所述目标关节的重力所产生的力矩由所述目标关节的位置确定。

可选的,所述目标关节的角速度是通过对所述目标关节的位置进行差分和滤波得到的,所述目标关节的角加速度对所述目标关节的角速度进行差分和滤波得到的。

可选的,

所述控制器730,还用于预先响应于设置阈值的用户操作,将所述用户操作所指示的数值作为所述力矩差阈值。

可选的,所述用户操作具体为在预设的多个可选数值中选取出一个数值的操作,所述用户操作用于指示将选取出的数值作为所述力矩差阈值。

可选的,所述安全防护的动作为进入停止运动的状态。

可选的,所述安全防护的动作具体为所述机器人上所有的机械臂关节均进入停止运动的状态;

其中,所述目标关节为所述机器人上任意一个机械臂关节。

本实施例提供的机器人的控制系统,对于机器人上的机械臂关节及其电机,通过比较由该电机的实际电流值计算出的实际输出力矩与由该关节的位置信息计算出的理论输出力矩,可以确定机器人是否发生了碰撞,这样,在确定机器人发生碰撞的情况下就可以使机器人主动触发安全防护的动作,从而避免碰撞对操作人员的伤害,同时也避免碰撞损坏机器人本身。

需要说明的是,在本文中,诸如“第一获取单元”和“第二获取单元”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

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

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