线性关系模型的建立及碰撞检测方法、装置及电子设备
技术领域
本申请涉及机器人碰撞检测技术领域,具体而言,涉及一种线性关系模型的建立及碰撞检测方法、装置及电子设备。
背景技术
目前主流的机器人碰撞检测方式是基于机器人动力学。通过辨识机器人的动力学参数,包括机器人各个关节的质量、质心、摩擦力以及电机转子惯量等,再根据动力学方程计算出各个关节需要的理论输出扭矩。通过实时测量各个关节的电流,得到各个关节实际的输出扭矩,通过比较理论与实际的输出扭矩差值来判断机器人是否发生碰撞。
但是,基于机器人动力学进行机器人碰撞检测,其准确性主要取决于动力学参数辨识的精度、关节电机电流的精度。而由于关节摩擦力参数辨识通常存在较大误差,且关节电流存在很大的噪声,导致机器人碰撞检测精度低,容易出现误判。
针对上述问题,目前尚未有有效的技术解决方案。
发明内容
本申请实施例的目的在于提供一种线性关系模型的建立及碰撞检测方法、装置及电子设备,可以提高碰撞检测的准确率。
第一方面,本申请实施例提供了一种线性关系模型的建立方法,用于机器人的碰撞检测,所述机器人包括机器人本体、六维力传感器以及底座,所述机器人本体设置于所述底座上,所述机器人本体设置有六个关节,所述六维力传感器用于检测所述机器人本体对所述底座的约束力参数;其特征在于,所述方法包括以下步骤:
建立待辨识的动力学参数模型Φ,所述动力学参数模型Φ包括每一所述关节的多个动力学参数;
建立回归矩阵W,其中,所述回归矩阵W包括机器人本体的各个关节的位置参数、角速度参数以及角加速度参数;
获取所述机器人处于多个运动状态下时每一所述关节的位置参数、角速度参数以及角加速度参数,以及每种运动状态下的约束力参数(F,T),其中,F为机器人本体对底座的作用力,T为机器人本体对底座的转矩;
根据所述多个运动状态下的每一所述关节的位置参数、角速度参数以及角加速度参数,以及对应每种运动状态下的约束力参数对所述动力学参数模型Φ进行辨识,从而建立线性关系模型(F,T)=WΦ。
本申请通过该方法建立的线性关系模型在进行碰撞检测时,可以通过获取六维力传感器的检测数据来实现碰撞判断,无需在对机器人的关节的运动参数进行检测,可以提高碰撞判断的准确性,避免出现误判。
可选地,在本申请实施例所述的线性关系模型的建立方法中,所述获取所述机器人处于多个运动状态下的每一所述关节的位置参数、角速度参数以及角加速度参数,以及对应每种运动状态下的约束力参数(F,T)的步骤之前,还包括:
基于回归矩阵W选取机器人的运动激励模型,以使得回归矩阵W的条件数最小,其中,所述运动激励模型用于描述所述机器人的运动状态;
从所述运动激励模型上选取多个目标点从而确定出多个运动状态,每一个目标点对应一个运动状态。
本申请通过选取合适的运动激励模型可以降低动力学参数模型Φ的各个动力学参数的辨识误差,可以提高碰撞检测的准确性。
可选地,在本申请实施例所述的线性关系模型的建立方法中,所述根据所述多个运动状态下的每一所述关节的位置参数、角速度参数以及角加速度参数,以及每种运动状态下的约束力参数对所述动力学参数模型Φ进行辨识,从而建立线性关系模型(F,T)=WΦ的步骤包括:
根据所述多个运动状态下的每一所述关节的位置参数、角速度参数以及加速度参以及每种运动状态下的约束力参数对所述动力学参数模型Φ进行辨识,并采用最小二乘法进行拟合以建立线性关系模型(F,T)=WΦ。
本申请通过采用最小二乘法来对各个第一动力学参数模型Φ1的同类动力学参数进行均值处理,可以降低动力学参数的误差,提高动力学参数模型的准确性,进而可以提高碰撞检测的准确性。
可选地,在本申请实施例所述的线性关系模型的建立方法中,所述建立待辨识的动力学参数模型Φ的步骤包括:
获取每一所述关节的动力学参数,每一所述关节的动力学参数包括每一所述关节的动力学参数包括Mj、MjXj、MiYj、MiZj、XXj、XYj、XZj,YYj、YZj、ZZj;其中,j为关节序号,Mj为该关节的质量参数,建立该关节的三维运动坐标系,该三维运动坐标系包括X轴、Y轴以及Z轴;MjXj、MiYj、MiZj分别为该关节的相对X轴、Y轴以及Z轴的静力矩参数,XXj、XYj、XZj,YYj、YZj、ZZj为该关节的惯性张量参数;
对该六个关节的60个动力学参数中线性相关的参数进行线性组合处理,以得到N个经过线性组合处理的动力学参数,其中,N小于60;
根据所述N个经过线性组合处理的动力学参数建立待辨识的动力学参数模型Φ。
本申请通过采用对动力学参数进行线性组合处理,以减小动力学参数的个数,从而可以降低运算量,提高碰撞检测效率。
第二方面,本申请实施例还提供了一种线性关系模型的建立装置,用于机器人的碰撞检测,所述机器人包括机器人本体、六维力传感器以及底座,所述机器人本体设置于所述底座上,所述机器人本体设置有六个关节,所述六维力传感器用于检测所述机器人本体对所述底座的约束力参数;所述装置包括:
第一建立模块,用于建立待辨识的动力学参数模型Φ,所述动力学参数模型Φ包括每一所述关节的多个动力学参数;
第二建立模块,用于建立回归矩阵W,其中,所述回归矩阵W包括机器人本体的各个关节的位置参数、角速度参数以及角加速度参数;
第一获取模块,用于获取所述机器人处于多个运动状态下的每一所述关节的位置参数、角速度参数以及角加速度参数,以及每种运动状态下的约束力参数(F,T),其中,F为机器人本体对底座的作用力,T为机器人本体对底座的转矩;
第三建立模块,用于根据所述多个运动状态下的每一所述关节的位置参数、角速度参数以及角加速度参数,以及对应每种运动状态下的约束力参数对所述动力学参数模型Φ进行辨识,从而建立线性关系模型(F,T)=W*Φ。
本申请通过该方法建立的线性关系模型在进行碰撞检测时,可以通过获取六维力传感器的检测数据来实现碰撞判断,无需在对机器人的关节的运动参数进行检测,可以提高碰撞判断的准确性,避免出现误判。
第三方面,本申请实施例还提供了一种碰撞检测方法,所述机器人包括机器人本体、六维力传感器以及底座,所述机器人本体设置于所述底座上,所述六维力传感器用于检测所述机器人本体对所述底座的约束力参数;其特征在于,所述方法包括以下步骤:
获取基于所述六维力传感器在第一时间点的检测数据得到的实际约束力参数;
获取所述机器人本体的各个关节在所述第一时间点的预期位置参数、预期角速度参数以及预期角加速度参数;
将所述预期位置参数、预期角速度参数以及预期角加速度参数带入线性关系模型以计算出机器人本体在第一时间点对底座的预期约束力参数,所述线性关系模型为采用权利要求1-5任一项所述的方法建立;
将所述预期约束力参数与所述实际约束力参数进行比较以判断是否发生碰撞。
本申请通过预先建立的线性关系模型在进行碰撞检测时,可以通过获取六维力传感器的检测数据来实现碰撞判断,无需在对机器人的关节的运动参数进行检测,可以提高碰撞判断的准确性,避免出现误判。
可选地,在本申请实施例所述的碰撞检测方法中,所述获取基于所述六维力传感器在第一时间点的检测数据得到的实际约束力参数的步骤包括:
获取所述六维力传感器在机器人处于静止状态时检测得到第一约束力参数;
获取所述六维力传感器在第一时间点的检测得到的第二约束力参数;
根据所述第二约束力参数以及所述第一约束力计算得到所述六维力传感器在第一时间点的实际约束力参数。
本申请在进行实际约束力参数的计算时,通过实时检测的约束力参数减去静止状态的约束力参数,去除了机器人本体本身重量对检测结果的影响,可以提高判断准确性。
第四方面,本申请实施例还提供了一种碰撞检测装置,所述机器人包括机器人本体、六维力传感器以及底座,所述机器人本体设置于所述底座上,所述六维力传感器用于检测所述机器人本体对所述底座的约束力参数;所述方装置包括:
第二获取模块,用于获取基于所述六维力传感器在第一时间点的检测数据得到的实际约束力参数;
第三获取模块,获取所述机器人本体的各个关节在所述第一时间点的预期位置参数、预期角速度参数以及预期角加速度参数;
计算模块,用于将所述预期位置参数、预期角速度参数以及预期角加速度参数带入线性关系模型以计算出机器人本体在第一时间点对底座的预期约束力参数,所述线性关系模型为采用上述任一项所述的方法建立;
判断模块,用于将所述预期约束力参数与所述实际约束力参数进行比较以判断是否发生碰撞。
本申请通过预先建立的线性关系模型在进行碰撞检测时,可以通过获取六维力传感器的检测数据来实现碰撞判断,无需在对机器人的关节的运动参数进行检测,可以提高碰撞判断的准确性,避免出现误判。
可选地,在本申请实施例所述的碰撞检测装置中,所述第二获取模块包括:
第一获取单元,用于获取所述六维力传感器在机器人处于静止状态时检测得到第一约束力参数;
第二获取单元,用于获取所述六维力传感器在第一时间点的检测得到的第二约束力参数;
计算单元,用于根据所述第二约束力参数以及所述第一约束力计算得到所述六维力传感器在第一时间点的实际约束力参数。
本申请在进行实际约束力参数的计算时,通过实时检测的约束力参数减去静止状态的约束力参数,去除了机器人本体本身重量对检测结果的影响,可以提高判断准确性。
第五方面,本申请实施例提供一种电子设备,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如上述第一方面提供的所述方法中的步骤。
本申请实施例提供的线性关系模型的建立及碰撞检测方法、装置及电子设备通过建立待辨识的动力学参数模型Φ,所述动力学参数模型Φ包括每一所述关节的多个动力学参数;建立回归矩阵W,其中,所述回归矩阵W包括机器人本体的各个关节的位置参数、角速度参数以及角加速度参数;获取所述机器人处于多个运动状态下时每一所述关节的位置参数、角速度参数以及角加速度参数,以及每种运动状态下的约束力参数(F,T),其中,F为机器人本体对底座的作用力,T为机器人本体对底座的转矩;根据所述多个运动状态下的每一所述关节的位置参数、角速度参数以及角加速度参数,以及对应每种运动状态下的约束力参数对所述动力学参数模型Φ进行辨识,从而建立线性关系模型(F,T)=WΦ;在进行碰撞检测时,可以通过获取六维力传感器的检测数据来实现碰撞判断,无需在对机器人的关节的运动参数进行检测,可以提高碰撞判断的准确性,避免出现误判。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的线性关系模型的建立方法的一种流程图。
图2为本申请实施例提供的线性关系模型的建立方法的另一种流程图。
图3为本申请实施例提供的线性关系模型的建立装置的一种结构图。
图4为本申请实施例提供的线性关系模型的建立装置的另一种结构图。
图5为本申请实施例提供的碰撞检测方法的一种流程图。
图6为本申请实施例提供的碰撞检测装置的一种结构图。
图7为本申请实施例提供的电子设备的一种结构图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参照图1,图1是本申请实施例中的一种线性关系模型的建立方法的流程图。该线性关系模型用于机器人的碰撞检测,所述机器人包括机器人本体、六维力传感器以及底座,六维力传感器通过法兰与底座以及机器人本体连接。机器人本体设置于底座上,机器人本体设置有六个关节,六维力传感器用于检测机器人本体对底座的约束力参数。其中,该方法包括以下步骤:
S101、建立待辨识的动力学参数模型Φ,所述动力学参数模型Φ包括每一所述关节的多个动力学参数。
S102、建立回归矩阵W,其中,所述回归矩阵W包括机器人本体的各个关节的位置参数、角速度参数以及角加速度参数。
S103、获取所述机器人处于多个运动状态下时每一所述关节的位置参数、角速度参数以及角加速度参数,以及每种运动状态下的约束力参数(F,T),其中,F为机器人本体对底座的作用力,T为机器人本体对底座的转矩。
S104、根据所述多个运动状态下的每一所述关节的位置参数、角速度参数以及角加速度参数,以及对应每种运动状态下的约束力参数对所述动力学参数模型Φ进行辨识,从而建立线性关系模型(F,T)=WΦ。
下面对该方法的各个步骤进行详细说明。
在该步骤S101中,该动力学参数模型Φ为基于牛顿-欧拉运动方程建立的模型。其中,每一个关节的动力学参数包括:Mj、MjXj、MiYj、MiZj、XXj、XYj、XZj,YYj、YZj、ZZj;其中,j为关节序号,总共有6个关节,因此j的取值可以为1至6。Mj为该关节的质量参数。建立该关节的三维运动坐标系,该三维运动坐标系包括X轴、Y轴以及Z轴。MjXj、MiYj、MiZj分别为该关节的相对X轴、Y轴以及Z轴的静力矩参数,XXj、XYj、XZj,YYj、YZj、ZZj为该关节的惯性张量参数。
在一些实施例中,该动力学参数模型Φ为基于该Mj、MjXj、MiYj、MiZj、XXj、XYj、XZj,YYj、YZj、ZZj建立的模型。
在另一些实施例中,可以对该6个关节的60个动力学参数进行线性组合处理,从减小动力学参数的个数,便于提高计算速度。具体地,该步骤S101包括:S1011、获取每一所述关节的动力学参数,每一所述关节的动力学参数包括Mj、MjXj、MiYj、MiZj、XXj、XYj、XZj,YYj、YZj、ZZj;S1012、对所述六个关节的60个动力学参数中线性相关的参数进行线性组合处理,以得到N个经过线性组合处理的动力学参数,其中,N小于60;S1013、根据所述N个经过线性组合处理的动力学参数建立待辨识的动力学参数模型Φ。在具体实施过程中,这些未经过经过线性组合处理的动力学参数之间是否属于线性关系与各个关节的本身设置有关。在本实施例中,经过线性组合处理的动力学参数总共有41个,τ1至τ41。
τ1至τ4分别如下所示:
τ3=XY2;
当然,τ5至τ41在这里不一一列举。通过对该6个关节的60个动力学参数进行线性组合处理,从减小动力学参数的个数,便于提高计算速度,可以提高碰撞判断的效率。
在该步骤S102中,该回归矩阵是由该机器人本体的各个关节的位置参数、角速度参数、角加速度参数、关节的结构参数所构成的矩阵;当然可以理解地,还可以引入其他便于检测的运动参数来构成该回归矩阵。关节的结构参数包括a、d,其中(ai,di)分别为关节i的相对位置坐标,i的取值为1到6。
在该步骤S103中,控制该机器人处于各种运动状态,尽量保证每种运动状态的下各个关节的角加速度参数、角速度参数以及位置参数均不相同。然后,通过在各种运动状态时,采集该关节对应位置的加速度传感器、位置传感器以及速度传感器的检测数据,进而得到该关节的角加速度参数、角速度参数以及位置参数。并且,当该机器人处于各种运动状态时,还需要采集六维力传感器的检测得到的约束力参数(F,T)。该约束力参数(F,T)包括机器人本体对底座的各个方向的力,以及各个方向的转矩,也是该六维力传感器的X轴、Y轴以及Z轴方向上的力和转矩,当然,该力和转矩均包括其所对应的方向。
在该步骤S104中,通过将该多个运动状态下的每一所述关节的位置参数、角速度参数以及加速度参以及每种运动状态下的约束力参数代入该(F,T)=WΦ中,从而将该动力学参数模型Φ的各个动力学参数辨识出。具体为通过多个运动状态下的每一所述关节的位置参数、角速度参数以及加速度参以及每种运动状态下的约束力参数对所述动力学参数模型Φ进行辨识,并采用最小二乘法进行拟合以建立线性关系模型(F,T)=WΦ。
将该目标约束力参数带入该(F,T)=WΦ中,进行动力学参数的辨识。
由上可知,本申请实施例提供的线性关系模型的建立方法通过建立待辨识的动力学参数模型Φ,所述动力学参数模型Φ包括每一所述关节的多个动力学参数;建立回归矩阵W,其中,所述回归矩阵W包括机器人本体的各个关节的位置参数、角速度参数以及角加速度参数;获取所述机器人处于多个运动状态下时每一所述关节的位置参数、角速度参数以及角加速度参数,以及每种运动状态下的约束力参数(F,T),其中,F为机器人本体对底座的作用力,T为机器人本体对底座的转矩;根据所述多个运动状态下的每一所述关节的位置参数、角速度参数以及角加速度参数,以及对应每种运动状态下的约束力参数对所述动力学参数模型Φ进行辨识,从而建立线性关系模型(F,T)=WΦ;在进行碰撞检测时,可以通过获取六维力传感器的检测数据来实现碰撞判断,无需在对机器人的关节的运动参数进行检测,可以提高碰撞判断的准确性,避免出现误判。
请参照图2,图2是本申请一些实施例中的线性关系模型的建立方法的流程图。该线性关系模型用于机器人的碰撞检测,所述机器人包括机器人本体、六维力传感器以及底座,所述机器人本体设置于所述底座上,所述机器人本体设置有六个关节,所述六维力传感器用于检测所述机器人本体对所述底座的约束力参数。其中,该方法包括以下步骤:
S201、建立待辨识的动力学参数模型Φ,所述动力学参数模型Φ包括每一所述关节的多个动力学参数。
S202、建立回归矩阵W,其中,所述回归矩阵W包括机器人本体的各个关节的位置参数、角速度参数以及角加速度参数。
S203、基于所述回归矩阵W选取机器人的运动激励模型,以使得述回归矩阵W的条件数最小,其中,运动激励模型用于描述机器人的运动状态。
S204、从所述运动激励模型上选取多个目标点从而确定出多个运动状态,每一个目标点对应一个运动状态。
S205、获取所述机器人处于多个运动状态下时每一所述关节的位置参数、角速度参数以及角加速度参数,以及每种运动状态下的约束力参数(F,T),其中,F为机器人本体对底座的作用力,T为机器人本体对底座的转矩。
S206、根据所述多个运动状态下的每一所述关节的位置参数、角速度参数以及角加速度参数,以及对应每种运动状态下的约束力参数对所述动力学参数模型Φ进行辨识,从而建立线性关系模型(F,T)=WΦ。
其中,该步骤S201-步骤S202与上述实施例中的步骤S101-步骤S102相同,该步骤S205与步骤S206与上述实施例中的步骤S103以及步骤S104相同,固不过多描述。以下对新增步骤S203以及步骤S204进行详细描述。
在该步骤S203中,机器人的运动激励模型包括该机器人关节空间下的激励轨迹方程、相应轨迹下的关节的角速度方程以及相应轨迹下的关节的角加速度方程为。其中,该机器人关节空间下的激励轨迹方程为:
其中,该相应轨迹下的关节的角速度方程为:
其中,该相应轨迹下的关节的角加速度方程为:
其中,基础频率wf=2πff,激励频率ff=0.1HZ,qi0为第i个关节位置的常数项,ail、bil为第i个关节的正余弦函数的幅度值。因此,上述三个公式中的qi0、ail、bil为激励模型中的待优化参数。而对于该回归矩阵W,其条件数的定义方程为:Cond(W)=σmax(W)/σmin(W)。
其中,σmax(W)以及σmin(W)分别为该回归矩阵W的奇异值中的最大值以及最小值。选取条件数作为优化指标的意义在于,其值越小,在利用最小二乘法求解参数的过程中,越不容易收到由于自身误差所带来的影响,条件数越小,表明机器人在其允许的工作空间内以较高的速度和加速度运动,且尽可能充斥整个机器人的工作空间。在确定优化问题之后,可以采用以下约束条件来求解激励模型中的各个参数。该约束条件如下:
|qi(t)|≤qimax;
qi(t0)=qi(tf)=0;
根据以上约束条件就可以求出该激励模型的各个参数,从而得到要选择的运动激励模型,使得该矩阵W的条件数最小。通过选取条件数作为优化指标,使得在利用最小二乘法求解参数的过程中,越不容易收到由于自身误差所带来的影响,可以提高准确性。
其中,在该步骤S204中,在该运动激励模型上选取目标点时,尽量选取速度差距大、角速度差距较大的点作为目标点,便于提高辨识出的动力学参数的精确度。
请参照图3,图3是本申请一些实施例中的一种线性关系模型的建立装置的结构图。该装置建立的线性关系模型用于机器人的碰撞检测,机器人包括机器人本体、六维力传感器以及底座,机器人本体设置于所述底座上,所述机器人本体设置有六个关节,六维力传感器用于检测所述机器人本体对所述底座的约束力参数;装置包括:第一建立模块301、第二建立模块302、第一获取模块303、第三建立模块304。
其中,该第一建立模块301用于建立待辨识的动力学参数模型Φ,所述动力学参数模型Φ包括每一所述关节的多个动力学参数。其中,该动力学参数模型Φ为基于牛顿-欧拉运动方程建立的模型。其中,每一个关节的动力学参数包括:Mj、MjXj、MiYj、MiZj、XXj、XYj、XZj,YYj、YZj、ZZj;其中,j为关节序号,总共有6个关节,因此j的取值可以为1至6。Mj为该关节的质量参数。建立该关节的三维运动坐标系,该三维运动坐标系包括X轴、Y轴以及Z轴。MjXj、MiYj、MiZj分别为该关节的相对X轴、Y轴以及Z轴的静力矩参数,XXj、XYj、XZj,YYj、YZj、ZZj为该关节的惯性张量参数。
在一些实施例中,该动力学参数模型Φ为基于该Mj、MjXj、MiYj、MiZj、XXj、XYj、XZj,YYj、YZj、ZZj建立的模型。
在另一些实施例中,可以对该6个关节的60个动力学参数进行线性组合处理,从减小动力学参数的个数,便于提高计算速度。具体地,该第一建立模块301用于获取每一所述关节的动力学参数,每一所述关节的动力学参数包括Mj、MjXj、MiYj、MiZj、XXj、XYj、XZj,YYj、YZj、ZZj;对所述六个关节的60个动力学参数中线性相关的参数进行线性组合处理,以得到N个经过线性组合处理的动力学参数,其中,N小于60;根据所述N个经过线性组合处理的动力学参数建立待辨识的动力学参数模型Φ。在具体实施过程中,这些未经过经过线性组合处理的动力学参数之间是否属于线性关系与各个关节的本身设置有关。
其中,该第二建立模块302用于建立回归矩阵W,其中,所述回归矩阵W包括机器人本体的各个关节的位置参数、角速度参数以及角加速度参数;该回归矩阵是由该机器人本体的各个关节的位置参数、角速度参数、角加速度参数、关节的结构参数所构成的矩阵;当然可以理解地,还可以引入其他便于检测的运动参数来构成该回归矩阵。关节的结构参数包括a、d,其中(ai,di)为关节i的相对位置坐标,i的取值为1到6。
其中,该第一获取模块303用于获取所述机器人处于多个运动状态下的每一所述关节的位置参数、角速度参数以及角加速度参数,以及每种运动状态下的约束力参数(F,T),其中,F为机器人本体对底座的作用力,T为机器人本体对底座的转矩;
其中,该第三建立模块304用于根据所述多个运动状态下的每一所述关节的位置参数、角速度参数以及角加速度参数,以及对应每种运动状态下的约束力参数对所述动力学参数模型Φ进行辨识,从而建立线性关系模型(F,T)=W*Φ。然后,通过在各种运动状态时,采集该关节对应位置的加速度传感器、位置传感器以及速度传感器的检测数据,进而得到该关节的角加速度参数、角速度参数以及位置参数。并且,当该机器人处于各种运动状态时,还需要采集六维力传感器的检测得到的约束力参数(F,T)。该约束力参数(F,T)包括机器人本体对底座的各个方向的力,以及各个方向的转矩,也是该六维力传感器的X轴、Y轴以及Z轴方向上的力和转矩,当然,该力和转矩均包括其所对应的方向。
该第三建立模块304控制该机器人处于各种运动状态,尽量保证每种运动状态的下各个关节的角加速度参数、角速度参数以及位置参数均不相同。通过将该多个运动状态下的每一所述关节的位置参数、角速度参数以及加速度参以及每种运动状态下的约束力参数代入该(F,T)=WΦ中,从而将该动力学参数模型Φ的各个动力学参数辨识出。
可以理解地,如图4所示,在一些实施例中,该线性关系模型的建立装置还包括一第一选取模块305以及第二选取模块306。
其中,该第一选取模块305用于基于回归矩阵W选取机器人的运动激励模型,以使得回归矩阵W的条件数最小,其中,所述运动激励模型用于描述所述机器人的运动状态。其中,该第二选取模块306用于从所述运动激励模型上选取多个目标点从而确定出多个运动状态,每一个目标点对应一个运动状态。
由上可知,本申请实施例提供的线性关系模型的建立装置通过建立待辨识的动力学参数模型Φ,所述动力学参数模型Φ包括每一所述关节的多个动力学参数;建立回归矩阵W,其中,所述回归矩阵W包括机器人本体的各个关节的位置参数、角速度参数以及角加速度参数;获取所述机器人处于多个运动状态下时每一所述关节的位置参数、角速度参数以及角加速度参数,以及每种运动状态下的约束力参数(F,T),其中,F为机器人本体对底座的作用力,T为机器人本体对底座的转矩;根据所述多个运动状态下的每一所述关节的位置参数、角速度参数以及角加速度参数,以及对应每种运动状态下的约束力参数对所述动力学参数模型Φ进行辨识,从而建立线性关系模型(F,T)=WΦ;在进行碰撞检测时,可以通过获取六维力传感器的检测数据来实现碰撞判断,无需在对机器人的关节的运动参数进行检测,可以提高碰撞判断的准确性,避免出现误判。
请参照图5,图5是本申请一些实施例中的一种碰撞检测方法的流程图。该机器人包括机器人本体、六维力传感器以及底座,所述机器人本体设置于所述底座上,所述六维力传感器用于检测所述机器人本体对所述底座的约束力参数;该碰撞检测方法包括以下步骤:
S401、获取基于所述六维力传感器在第一时间点的检测数据得到的实际约束力参数。
S402、获取所述机器人本体的各个关节在所述第一时间点的预期位置参数、预期角速度参数以及预期角加速度参数。
S403、将所述预期位置参数、预期角速度参数以及预期角加速度参数带入线性关系模型以计算出机器人本体在第一时间点对底座的预期约束力参数,所述线性关系模型为采用任一实施例所述的方法建立。
S404、将所述预期约束力参数与所述实际约束力参数进行比较以判断是否发生碰撞。
其中,在该步骤S401中,处理器每隔2ms向六维力传感器请求数据,并将数据解析为以N和N·m为单位的力及力矩后保存,供碰撞检测线程调用。其中的第一时间点并不构成对检测的限制,而是便于对后续的预期位置参数、预期角速度参数以及预期角加速度参数相互对应,表明这些参数是相同时间获取的。
在一些实施例中,该步骤S401包括:S4011、获取所述六维力传感器在机器人处于静止状态时检测得到第一约束力参数;S4012、获取所述六维力传感器在第一时间点的检测得到的第二约束力参数;S4013、根据所述第二约束力参数以及所述第一约束力计算得到所述六维力传感器在第一时间点的实际约束力参数。通过第二约束力参数减去第一约束力参数来计算得到实际约束力参数,避免由于机器人本体自身的重量产生的约束力参数的偏置值。从而可以提高判断的准确性。
在该步骤S402中,可以通过查询机器人的存储设备,通过查询其中的存储的指令,从而获取在第一时间点的预期位置参数、预期角速度参数以及预期角加速度参数,而并不是采用检测的方式获取。
在该步骤S403中,将所述预期位置参数、预期角速度参数以及预期角加速度参数带入线性关系模型(F,T)=W*Φ以计算出机器人本体在第一时间点对底座的预期约束力参数。
在该步骤S404中,如果该预期约束力参数与该实际约束力参数进行比较时,实际约束力参数中的F和T与该预期约束力参数中的F和T的差值均大于设定的阈值,则说明发生碰撞,反之则未发生碰撞,并在发生碰撞时,控制机器人停止前进。
由上可知,本申请实施例提供的碰撞判断方法通过调用预先建立的线性关系模型并检测六维力传感器的检测参数进行碰撞检测,无需在对机器人的关节的运动参数进行检测,可以提高碰撞判断的准确性,避免出现误判。
请参照图6,图6是本申请一些实施例中的一种碰撞检测装置的结构图。该机器人包括机器人本体、六维力传感器以及底座,所述机器人本体设置于所述底座上,所述六维力传感器用于检测所述机器人本体对所述底座的约束力参数;该装置包括:第二获取模块501、第三获取模块502、计算模块503以及判断模块504。
其中,该第二获取模块501用于获取基于所述六维力传感器在第一时间点的检测数据得到的实际约束力参数;处理器每隔2ms向六维力传感器请求数据,并将数据解析为以N和N·m为单位的力及力矩后保存,供碰撞检测线程调用。其中的第一时间点并不构成对检测的限制,而是便于对后续的预期位置参数、预期角速度参数以及预期角加速度参数相互对应,表明这些参数是相同时间获取的。
第二获取模块501包括:第一获取单元、第二获取单元以及计算单元。第一获取单元用于获取所述六维力传感器在机器人处于静止状态时检测得到第一约束力参数;第二获取单元用于获取所述六维力传感器在第一时间点的检测得到的第二约束力参数;计算单元用于根据所述第二约束力参数以及所述第一约束力计算得到所述六维力传感器在第一时间点的实际约束力参数。通过第二约束力参数减去第一约束力参数来计算得到实际约束力参数,避免由于机器人本体自身的重量产生的约束力参数的偏置值。从而可以提高判断的准确性。
其中,该第三获取模块502获取所述机器人本体的各个关节在所述第一时间点的预期位置参数、预期角速度参数以及预期角加速度参数。
其中,该计算模块503用于将所述预期位置参数、预期角速度参数以及动力学参数带入线性关系模型以计算出机器人本体在第一时间点对底座的预期约束力参数,所述线性关系模型为采用权利要求1-5任一项所述的方法建立;将所述预期位置参数、预期角速度参数以及预期角加速度参数带入线性关系模型(F,T)=W*Φ以计算出机器人本体在第一时间点对底座的预期约束力参数。
其中,该判断模块504用于将所述预期约束力参数与所述实际约束力参数进行比较以判断是否发生碰撞。如果该预期约束力参数与该实际约束力参数进行比较时,实际约束力参数中的F和T与该预期约束力参数中的F和T的差值均大于设定的阈值,则说明发生碰撞,反之则未发生碰撞,并在发生碰撞时,控制机器人停止前进。
由上可知,本申请实施例提供的碰撞判断装置通过调用预先建立的线性关系模型并检测六维力传感器的检测参数进行碰撞检测,无需在对机器人的关节的运动参数进行检测,可以提高碰撞判断的准确性,避免出现误判。
请参照图7,图7为本申请实施例提供的一种电子设备的结构示意图,本申请提供一种电子设备6,包括:处理器601和存储器602,处理器601和存储器602通过通信总线603和/或其他形式的连接机构(未标出)互连并相互通讯,存储器602存储有处理器601可执行的计算机程序,当计算设备运行时,处理器601执行该计算机程序,以执行时执行上述实施例中的线性关系模型的建立\碰撞检测方法。
本申请实施例提供一种存储介质,所述计算机程序被处理器执行时,执行线性关系模型的建立\碰撞检测方法中的步骤。其中,存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random AccessMemory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable ProgrammableRead-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable ProgrammableRead Only Memory,简称EPROM),可编程只读存储器(Programmable Red-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。