CN114310895B - 机器人碰撞检测方法、装置、电子设备及存储介质 - Google Patents
机器人碰撞检测方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114310895B CN114310895B CN202111674606.XA CN202111674606A CN114310895B CN 114310895 B CN114310895 B CN 114310895B CN 202111674606 A CN202111674606 A CN 202111674606A CN 114310895 B CN114310895 B CN 114310895B
- Authority
- CN
- China
- Prior art keywords
- robot
- joint
- hidden layer
- input data
- sequence
- 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
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
本发明实施例涉及机器人领域,公开了一种机器人碰撞检测方法、装置、电子设备及存储介质。通过采集机器人各关节的运动学参数和测量扭矩;将所述运动学参数输入至预先训练的深度网络模型,得到所述各关节的预测扭矩;根据所述各关节的所述测量扭矩与所述预测扭矩之间的差值,判断所述机器人是否发生碰撞。本方案通过采用深度学习模型做碰撞检测,避免了利用力学模型进行碰撞检测所带来的诸多缺陷。
Description
技术领域
本发明实施例涉及机器人领域,特别涉及一种机器人碰撞检测方法、装置、电子设备及存储介质。
背景技术
目前工业机械臂或者机器人领域为了保护人身安全,加入了碰撞检测功能,即机器人在无预知的情况下碰到人或者周围物体时可以检测到碰撞,马上停下来或者进入柔顺模式,以免伤到人或者损坏周围物体。
业内通用的碰撞检测算法一般是基于牛顿-欧拉方程或者欧拉-拉格朗日方程等力学模型建立起的,其方程比较复杂,需要先每个关节建立参考坐标系,计算每个关节的运动学参数,比如线速度、旋转速度、位置、姿态、旋转加速度、线加速度等,再计算每个关节的力和力矩,其模型参数的回归会受到每个执行器的制造差异的影响,比如电流/力矩的非线性化、旋转轴的摩擦力、装配的精度误差、执行器速度_位置数据采集误差等都会影响到最终参数的辨识结果,并导致在使用时发生误触发碰撞检测,且回归所用的激励舞蹈都需要是精心设计的特定动作。
发明内容
本发明实施方式的目的在于提供一种机器人碰撞检测方法、装置、电子设备及存储介质,通过采用深度学习模型做碰撞检测,避免了利用力学模型进行碰撞检测所带来的以上缺陷。
为解决上述技术问题,本发明的实施方式提供了一种机器人碰撞检测方法,包括:
采集机器人各关节的运动学参数和测量扭矩;
将所述运动学参数输入至预先训练的深度网络模型,得到所述各关节的预测扭矩;
根据所述各关节的所述测量扭矩与所述预测扭矩之间的差值,判断所述机器人是否发生碰撞。
本发明的实施方式还提供了一种机器人碰撞检测装置,包括:
采集模块,用于采集机器人各关节的运动学参数和测量扭矩;
预测模块,用于将所述运动学参数输入至预先训练的深度网络模型,得到所述各关节的预测扭矩;
判断模块,用于根据所述各关节的所述测量扭矩与所述预测扭矩之间的差值,判断所述机器人是否发生碰撞。
本发明的实施方式还提供了一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的机器人碰撞检测方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的机器人碰撞检测方法。
本发明实施方式相对于现有技术而言,通过采集机器人各关节的运动学参数和测量扭矩;将运动学参数输入至预先训练的深度网络模型,得到各关节的预测扭矩;根据各关节的测量扭矩与预测扭矩之间的差值,判断机器人是否发生碰撞。本方案相较于传统的利用力学模型进行碰撞检测,具有如下优势:
1、深度网络模型是基于数据特征学习和驱动的,可以避免建立复杂的力学模型,适用于各种型号、大小、形式的串行机械臂或者机器人,模型适用性广泛且简单易懂;
2、基于深度网络模型的数据特征学习,可以自适应由于制造差异和数据采集误差的数据特征,且对于训练的舞蹈没有特殊要求,普通舞蹈动作都可以用来学习训练,省去了设计激励舞蹈;
3、深度网络模型都可以预训练,再针每台机器人做迭代训练,这样可以省去初始参数的训练过程,有利于快速部署;
4、深度网络模型的迭代学习,使得其具有比较强的泛化能力,比如在机器人发生物理改变时,如某个关节的尺寸发生改变,只需要在原有参数基础上做简单的迭代训练即可再次使用;再比如某个舞蹈发生了误触发碰撞,只需将这个舞蹈做简单的迭代训练即可解决这个问题,但传统的力学模型则需要修改模型或者人为调参才可以,非常耗时耗力。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是根据本发明第一实施方式的机器人碰撞检测方法的具体流程图;
图2是根据本发明第一实施方式中构建编码网络的过程流程图;
图3是根据本发明第一实施方式中编码网络的结构示意图;
图4是根据本发明第一实施方式中构建解码网络的过程流程图;
图5是根据本发明第一实施方式中解码网络的结构示意图;
图6是根据本发明第二实施方式中机器人碰撞检测装置的结构示意图;
图7是根据本发明第三实施方式的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种机器人碰撞检测方法,该方法适用于工业机械臂或机器人在运动过程(如舞蹈、施工作业等)中的碰撞检测。如图1所示,该机器人碰撞检测方法包括如下步骤:
步骤101:采集机器人各关节的运动学参数和测量扭矩。
具体地,在机器人运动过程中,采集机器人本体上各关节的运动学参数和测量扭矩,该机器人可以为串联机器人。例如,以某一跳舞机器人本体的躯干关节为例,这些躯干关节从下至上依次包含Kneel(1号关节)、Trunk_yaw(2号关节)、Trunk_pitch(3号关节)、Trunk_roll(4号关节)。在机器人跳舞时,以200hz频率采集机器人各躯干关节的运动学参数和测量扭矩,将一次采集的运动学参数和测量扭矩作为一组数据,进行后续碰撞检测过程。
其中,所述运动学参数至少包括:关节的位置(pos)、速度(vel)和加速度(acc)。同一组内的测量扭矩(effort)可以认为是基于该组内的运动学参数产生的实际扭矩。
步骤102:将运动学参数输入至预先训练的深度网络模型,得到各关节的预测扭矩。
其中,预先训练的深度网络模型的输入为任一次采集的机器人各关节的运动学参数,输出为基于输入的各关节的运动学参数进行模型预测得到的相应关节的预测扭矩。
本实施例中,对于深度网络模型的网络结构和构建过程不做限定。例如该深度网络模型可以采用编码网络-解码网络(Encoder-Decoder)的模型框架构建。其中,编码网络(Encoder)的作用是将输入的各关节的运动学参数进行特征提取,得到一个涵盖所有关节的运动学参数的学习向量(C);解码网络(Decoder)的作用是将Encoder网络输出的学习向量(C)进行特征转换得到各关节在输入的运动学参数下产生的预测扭矩(effort)。
以下将分别对Encoder网络和Decoder网络的构建过程分别进行阐述。
如图2所示,为本实施例提供的构建编码网络的过程,包括:
步骤201:创建输入层,以及与机器人的各关节一一对应的多个第一隐藏层;每个第一隐藏层用于从输入层接收对应关节的运动学参数的第一输入数据,并基于第一输入数据生成第一输出数据。
具体地,如图3所示,为本实施例中编码网络的结构示意图。该编码网络包括:输入层和多个第一隐藏层(Hidden layer1、Hidden layer2,……,Hidden layer n),第一隐藏层的数量与机器人包含的关节(joint 1、joint 2,……,joint n)的数量相同;第一隐藏层与关节一一对应,即与各关节的运动学参数(Input joint 1pos/vel/acc、Input joint2pos/vel/acc,……,Input joint n pos/vel/acc)一一对应。每个第一隐藏层用于接收对应关节的运动学参数的第一输入数据,并基于第一输入数据计算得到第一输出数据。例如第一隐藏层Hidden layer i接收对应关节joint i的运动学参数Input joint i pos/vel/acc的第一输入数据(Input joint i第一输入数据),并基于该第一输入数据计算得到第一输出数据(Output joint i第一输出数据)。其中,i属于[1,n]中任一整数。
步骤202:对各第一隐藏层按第一顺序进行排序,形成第一序列。
本实施例中对各第一隐藏层的排序不做限定,例如可以按图3中:Hidden layer1、Hidden layer2,……,Hidden layer n的顺序进行排序,由于第一隐藏层与关节一一对应,则第一隐藏层的顺序对应了各关节(关节的运动学参数)的顺序。
步骤203:针对第一序列中每相邻两个第一隐藏层,将排序在前的第一隐藏层的第一输入数据、第一输出数据,与排序在后的第一隐藏层的第一输入数据叠加,作为排序在后的第一隐藏层的更新后的第一输入数据。
其中,第一序列中非首个第一隐藏层的第一输出数据基于该第一隐藏层的更新后的第一输入数据生成,且第一序列中最后一个第一隐藏层的第一输出数据为编码网络的输出数据。
具体地,输入层接收数据时,是按照串行顺序(该顺序为第一隐藏层排列的第一顺序)接收各关节的运动学参数,因此在向各第一隐藏层输送第一输入数据时也是按该串行顺序依次将各关节对应的第一输入数据输送到各关节对应的第一隐藏层,输入顺序即为第一隐藏层的第一顺序。这样,在第一序列中每相邻两个第一隐藏层,其排序在前的第一隐藏层要先于排序在后的第一隐藏层接收对应的第一输入数据,以及产生对应的第一输出数据。基于此,针对排序在后的第一隐藏层在计算第一输出数据时,除了可以基于自身接收的第一输入数据外,还可以基于排序在前的第一隐藏层的第一输入数据和第一输出数据。即,将排序在前的第一隐藏层的第一输入数据、第一输出数据,与排序在后的第一隐藏层的第一输入数据叠加,作为排序在后的第一隐藏层的更新后的第一输入数据。这样排序在后的第一隐藏层就可以基于更新后的第一输入数据生成对应的第一输出数据,且该第一输出数据中同时涵盖了这两个第一隐藏层所对应的关节的运动学参数的信息。
依此处理,在第一序列中,每一个非首个第一隐藏层,都可以基于其前一个第一隐藏层的第一输入数据、第一输出数据对本第一隐藏层的第一输入数据更新,从而利用更新后的第一输入数据,计算得到本第一隐藏层的第一输出数据。而在第一序列中最后一个第一隐藏层的第一输出数据,则同时涵盖了所有第一隐藏层所对应的关节的运动学参数的信息。将最后一个第一隐藏层的第一输出数据作为编码网络的输出数据,可以体现编码网络对所有关节的运动学参数的学习结果。
如图4所示,为本实施例提供的构建解码网络的过程,包括:
步骤204:创建输出层,以及与机器人的各关节一一对应的多个第二隐藏层;每个第二隐藏层用于接收编码网络的输出数据作为该第二隐藏层的第二输入数据,并将基于第二输入数据生成的第二输出数据通过输出层输出,得到对应关节的预测扭矩。
具体地,如图5所示,为本实施例中解码网络的结构示意图。该解码网络包括:输出层和多个第二隐藏层(Hidden layer1、Hidden layer2,……,Hidden layer n),第二隐藏层的数量与机器人包含的关节(joint 1、joint 2,……,joint n)的数量相同;第二隐藏层与关节一一对应,即与各关节的运动学参数(Input joint 1pos/vel/acc、Input joint2pos/vel/acc,……,Input joint n pos/vel/acc)一一对应。每个第二隐藏层用于接收编码网络的输出数据(Encoder output)作为该第二隐藏层的第二输入数据(Input joint第二输入数据),并将基于该第二输入数据生成的第二输出数据通过输出层输出,得到对应关节的预测扭矩(Output joint 1effort、Output joint 2effort,……,Output joint neffort)。例如第二隐藏层Hidden layer i接收编码网络的输出数据,即第二输入数据,并基于该第二输入数据计算得到关节joint i在当前运动学参数下的第二输出数据,该第二输出数据经输出层格式转换后输出预测扭矩。其中,i属于[1,n]中任一整数。
步骤205:对各第二隐藏层按第二顺序进行排序,形成第二序列。
本实施例中对各第二隐藏层的排序不做限定,例如可以按图5中:Hidden layern,……,Hidden layer2,Hidden layer1,的顺序进行排序,由于第二隐藏层与关节一一对应,则第二隐藏层的顺序对应了各关节(关节的预扭矩)的顺序。
步骤206:针对第二序列中每相邻两个第二隐藏层,将排序在前的第二隐藏层的第二输出数据与排序在后的第二隐藏层的第二输入数据叠加,作为排序在后的第二隐藏层的更新后的第二输入数据。
其中,第二序列中非首个第二隐藏层的第二输出数据基于该第二隐藏层的更新后的第二输入数据生成。
具体地,输出层输出数据时,是按照串行顺序(该顺序为第二隐藏层排列的第二顺序)输出各关节的预测扭矩,因此在从各第二隐藏层接收第二输出数据时也是按该串行顺序依次从各关节对应的第二隐藏层接收第二输出数据,输出顺序即为第二隐藏层的第二顺序,也为各第二隐藏层生成第二输出数据的顺序。这样,在第二序列中每相邻两个第二隐藏层,其排序在前的第二隐藏层要先于排序在后的第二隐藏层接收对应的第二输入数据,以及产生对应的第二输出数据。基于此,针对排序在后的第二隐藏层在计算第二输出数据时,除了可以基于自身接收的第二输入数据外,还可以基于排序在前的第二隐藏层的第二输出数据。即,将排序在前的第二隐藏层的第二输出数据与排序在后的第二隐藏层的第二输入数据叠加,作为排序在后的第二隐藏层的更新后的第二输入数据。这样排序在后的第二隐藏层就可以基于更新后的第二输入数据生成对应的第二输出数据,且该第二输出数据中同时涵盖了这两个第二隐藏层所对应的关节的在当前运动学参数下的预测扭矩的信息。
依此处理,在第二序列中,每一个非首个第二隐藏层,都可以基于其前一个第二隐藏层的第二输出数据对本第二隐藏层的第二输入数据更新,从而利用更新后的第二输入数据,计算得到本第二隐藏层的第二输出数据。
在一个例子中,按与机器人的各关节的对应关系划分,第二顺序为第一顺序的倒序。例如,当第一顺序为如图3所示的Hidden layer 1、Hidden layer 2,……Hidden layern时,第二顺序则为如图5所示的Hidden layer n,……,Hidden layer2、Hidden layer1。这样处理的好处是:在编码网络的输出数据中,先计算的关节的第一输出数据较后计算的关节的第一输出数据,所保留的关节的运动学参数的信息量占比较小,此时可以先基于编码网络的输出数据预测在后计算的关节的第一输出数据所对应的第二输出数据,继而得到相应关节的预测扭矩,此时预测结果较为准确。然后,在计算后续关节的预测扭矩时,可以通过将编码网络的输出数据与前一次得到的关节的第二输出数据叠加,如从编码网络的输出数据中减去前一次得到的关节的第二输出数据,这样可以增大当前待计算关节的运动学参数的信息在更新后的第二输入数据中的占比,从而得到相应关节的预测扭矩,此时预测结果较为准确。依此类推,在编码网络中在先被处理的关节的运动学参数,在解码网络中在后生成该关节的预测扭矩,使对每个关节的相关信息的处理在编码解码网络中实现对称部署。
此外,在联合训练编码网络和解码网络时,可以200hz频率分别采集机器人执行两段舞蹈总耗时30多秒的包含各关节运动学参数的上千例样本数据,每例样本数据包含机器人上各躯干关节的一组运动学参数(pos/vel/acc)和测量扭矩effort。在pytorch框架下编写仿真和验证的程序,将采集的样本数据分为两组,一组用来训练Encoder-Decoder模型,一组用来验证模型。
步骤103:根据各关节的测量扭矩与预测扭矩之间的差值,判断机器人是否发生碰撞。
具体地,当机器人没有发生碰撞时,其各关节的测量扭矩应与预测扭矩相差不大,否则差距较大。基于此,可以通过判断各关节的测量扭矩与预测扭矩之间的差值大小,来判断机器人是否发生碰撞。
在一个例子中,本步骤103可通过如下步骤实现。
步骤一:判断各关节的测量扭矩与预测扭矩之间的差值是否大于预设阈值。
其中,预设阈值为评价机器人发生碰撞的边界值,每个关节可以设置不同的预设阈值。这里的差值指各关节的测量扭矩与预测扭矩之间的差值的绝对值。
步骤二:如果任一关节的差值大于预设阈值,则判定机器人发生碰撞。
具体地,为了保证检测的准确性,设定只要存在一个关节的测量扭矩与预测扭矩之间的差值大于预设阈值,就判定机器人发生碰撞。
步骤三:如果所有关节的差值均不大于所述预设阈值,则判定机器人未发生碰撞。
具体地,当判定所有关节的测量扭矩与预测扭矩之间的差值均不大于预设阈值是,才判定机器人未发生碰撞。
此外,为了避免伤到人或者损坏周围物体,当判定机器人发生碰撞之后,可以控制机器人马上停止运动,或者进入柔顺模式。与相关技术相比较,本发明实施例通过引入深度网络模型,预测机器人各关节的预测扭矩;根据各关节的测量扭矩与预测扭矩之间的差值,判断机器人是否发生碰撞。通过相关实验数据表明,本实施例中的深度网络模型可以准确的学习到逆动力学的数据特征,并在极少的计算资源下达到很不错的验证效果,这些验证效果表明基于深度网络模型的防碰撞检测较基于力学模型的防碰撞检测其检测结果更为准确。
本发明第二实施方式涉及一种机器人碰撞检测装置,可用于执行上述方法实施例中的机器人碰撞检测方法。如图6所示,该机器人碰撞检测装置包括:
采集模块301,用于采集机器人各关节的运动学参数和测量扭矩;
预测模块302,用于将所述运动学参数输入至预先训练的深度网络模型,得到所述各关节的预测扭矩;
判断模块303,用于根据所述各关节的所述测量扭矩与所述预测扭矩之间的差值,判断所述机器人是否发生碰撞。
在一个例子中,所述深度网络模型采用编码网络-解码网络的模型框架构建。
在一个例子中,上述机器人碰撞检测装置还包括:
编码网络构建模块,用于创建输入层,以及与所述机器人的各关节一一对应的多个第一隐藏层;每个所述第一隐藏层用于从所述输入层接收对应关节的运动学参数的第一输入数据,并基于所述第一输入数据生成第一输出数据;对各所述第一隐藏层按第一顺序进行排序,形成第一序列;针对所述第一序列中每相邻两个第一隐藏层,将排序在前的第一隐藏层的所述第一输入数据、所述第一输出数据,与排序在后的第一隐藏层的所述第一输入数据叠加,作为所述排序在后的第一隐藏层的更新后的所述第一输入数据;
其中,所述第一序列中非首个第一隐藏层的所述第一输出数据基于该第一隐藏层的更新后的所述第一输入数据生成,且所述第一序列中最后一个第一隐藏层的所述第一输出数据为所述编码网络的输出数据。
在一个例子中,上述机器人碰撞检测装置还包括:
解码网络构建模块,用于创建输出层,以及与所述机器人的各关节一一对应的多个第二隐藏层;每个所述第二隐藏层用于接收所述编码网络的输出数据作为该第二隐藏层的第二输入数据,并将基于所述第二输入数据生成的第二输出数据通过所述输出层输出,得到对应关节的预测扭矩;对各所述第二隐藏层按第二顺序进行排序,形成第二序列;针对所述第二序列中每相邻两个第二隐藏层,将排序在前的第二隐藏层的所述第二输出数据与排序在后的第二隐藏层的所述第二输入数据叠加,作为所述排序在后的第二隐藏层的更新后的所述第二输入数据;
其中,所述第二序列中非首个第二隐藏层的所述第二输出数据基于该第二隐藏层的更新后的所述第二输入数据生成。
在一个例子中,按与所述机器人的各关节的对应关系划分,所述第二顺序为所述第一顺序的倒序。
在一个例子中,所述运动学参数至少包括:关节的位置、速度和加速度。
在一个例子中,所述判断模块303,用于判断所述各关节的所述测量扭矩与所述预测扭矩之间的差值是否大于预设阈值;如果任一所述关节的所述差值大于所述预设阈值,则判定所述机器人发生碰撞;如果所有所述关节的所述差值均不大于所述预设阈值,则判定所述机器人未发生碰撞。
在一个例子中,上述机器人碰撞检测装置还包括:控制模块,用于在所述判断模块判定所述机器人发生碰撞之后,控制所述机器人停止运动,或者进入柔顺模式。
在一个例子中,所述机器人为串联机器人。
与相关技术相比较,本发明实施例通过引入深度网络模型,预测机器人各关节的预测扭矩;根据各关节的测量扭矩与预测扭矩之间的差值,判断机器人是否发生碰撞,可以达到较好的防碰撞检测效果。
本发明第三实施方式涉及一种电子设备,如图7所示,包括至少一个处理器402;以及,与至少一个处理器402通信连接的存储器401;其中,存储器401存储有可被至少一个处理器402执行的指令,指令被至少一个处理器402执行,以使至少一个处理器402能够执行上述任一方法实施例。
其中,存储器401和处理器402采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器402和存储器401的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器402处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器402。
处理器402负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器401可以被用于存储处理器402在执行操作时所使用的数据。
本发明第四实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述任一方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (10)
1.一种机器人碰撞检测方法,其特征在于,包括:
采集机器人各关节的运动学参数和测量扭矩;
将所述运动学参数输入至预先训练的深度网络模型,得到所述各关节的预测扭矩;
根据所述各关节的所述测量扭矩与所述预测扭矩之间的差值,判断所述机器人是否发生碰撞;
所述深度网络模型采用编码网络-解码网络的模型框架构建;
构建所述编码网络的过程包括:
创建输入层,以及与所述机器人的各关节一一对应的多个第一隐藏层;每个所述第一隐藏层用于从所述输入层接收对应关节的运动学参数的第一输入数据,并基于所述第一输入数据生成第一输出数据;
对各所述第一隐藏层按第一顺序进行排序,形成第一序列;
针对所述第一序列中每相邻两个第一隐藏层,将排序在前的第一隐藏层的所述第一输入数据、所述第一输出数据,与排序在后的第一隐藏层的所述第一输入数据叠加,作为所述排序在后的第一隐藏层的更新后的所述第一输入数据;
其中,所述第一序列中非首个第一隐藏层的所述第一输出数据基于该第一隐藏层的更新后的所述第一输入数据生成,且所述第一序列中最后一个第一隐藏层的所述第一输出数据为所述编码网络的输出数据。
2.根据权利要求1所述的方法,其特征在于,构建所述解码网络的过程包括:
创建输出层,以及与所述机器人的各关节一一对应的多个第二隐藏层;每个所述第二隐藏层用于接收所述编码网络的输出数据作为该第二隐藏层的第二输入数据,并将基于所述第二输入数据生成的第二输出数据通过所述输出层输出,得到对应关节的预测扭矩;
对各所述第二隐藏层按第二顺序进行排序,形成第二序列;
针对所述第二序列中每相邻两个第二隐藏层,将排序在前的第二隐藏层的所述第二输出数据与排序在后的第二隐藏层的所述第二输入数据叠加,作为所述排序在后的第二隐藏层的更新后的所述第二输入数据;
其中,所述第二序列中非首个第二隐藏层的所述第二输出数据基于该第二隐藏层的更新后的所述第二输入数据生成。
3.根据权利要求2所述的方法,其特征在于,按与所述机器人的各关节的对应关系划分,所述第二顺序为所述第一顺序的倒序。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述运动学参数至少包括:关节的位置、速度和加速度。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述各关节的所述测量扭矩与所述预测扭矩之间的差值,判断所述机器人是否发生碰撞,包括:
判断所述各关节的所述测量扭矩与所述预测扭矩之间的差值是否大于预设阈值;
如果任一所述关节的所述差值大于所述预设阈值,则判定所述机器人发生碰撞;
如果所有所述关节的所述差值均不大于所述预设阈值,则判定所述机器人未发生碰撞。
6.根据权利要求5所述的方法,其特征在于,所述判定所述机器人发生碰撞之后,还包括:
控制所述机器人停止运动,或者进入柔顺模式。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述机器人为串联机器人。
8.一种机器人碰撞检测装置,其特征在于,包括:
采集模块,用于采集机器人各关节的运动学参数和测量扭矩;
预测模块,用于将所述运动学参数输入至预先训练的深度网络模型,得到所述各关节的预测扭矩;
判断模块,用于根据所述各关节的所述测量扭矩与所述预测扭矩之间的差值,判断所述机器人是否发生碰撞;
所述深度网络模型采用编码网络-解码网络的模型框架构建;
所述机器人检测装置还包括:
编码网络构建模块,用于创建输入层,以及与所述机器人的各关节一一对应的多个第一隐藏层;每个所述第一隐藏层用于从所述输入层接收对应关节的运动学参数的第一输入数据,并基于所述第一输入数据生成第一输出数据;对各所述第一隐藏层按第一顺序进行排序,形成第一序列;针对所述第一序列中每相邻两个第一隐藏层,将排序在前的第一隐藏层的所述第一输入数据、所述第一输出数据,与排序在后的第一隐藏层的所述第一输入数据叠加,作为所述排序在后的第一隐藏层的更新后的所述第一输入数据;
其中,所述第一序列中非首个第一隐藏层的所述第一输出数据基于该第一隐藏层的更新后的所述第一输入数据生成,且所述第一序列中最后一个第一隐藏层的所述第一输出数据为所述编码网络的输出数据。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一项所述的机器人碰撞检测方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的机器人碰撞检测方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111674606.XA CN114310895B (zh) | 2021-12-31 | 2021-12-31 | 机器人碰撞检测方法、装置、电子设备及存储介质 |
PCT/CN2022/100144 WO2023123911A1 (zh) | 2021-12-31 | 2022-06-21 | 机器人碰撞检测方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111674606.XA CN114310895B (zh) | 2021-12-31 | 2021-12-31 | 机器人碰撞检测方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114310895A CN114310895A (zh) | 2022-04-12 |
CN114310895B true CN114310895B (zh) | 2022-12-06 |
Family
ID=81020158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111674606.XA Active CN114310895B (zh) | 2021-12-31 | 2021-12-31 | 机器人碰撞检测方法、装置、电子设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114310895B (zh) |
WO (1) | WO2023123911A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114310895B (zh) * | 2021-12-31 | 2022-12-06 | 达闼科技(北京)有限公司 | 机器人碰撞检测方法、装置、电子设备及存储介质 |
CN115389077B (zh) * | 2022-08-26 | 2024-04-12 | 法奥意威(苏州)机器人系统有限公司 | 碰撞检测方法、装置、控制设备及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107253196A (zh) * | 2017-08-01 | 2017-10-17 | 中科新松有限公司 | 一种机械臂碰撞检测方法、装置、设备及存储介质 |
CN108582070A (zh) * | 2018-04-17 | 2018-09-28 | 上海达野智能科技有限公司 | 机器人碰撞检测系统和方法、存储介质、操作系统 |
CN109079856A (zh) * | 2018-10-30 | 2018-12-25 | 珠海格力智能装备有限公司 | 机器人的碰撞检测方法和装置 |
CN109732599A (zh) * | 2018-12-29 | 2019-05-10 | 深圳市越疆科技有限公司 | 一种机器人碰撞检测方法、装置、存储介质及机器人 |
CN112757345A (zh) * | 2021-01-27 | 2021-05-07 | 上海节卡机器人科技有限公司 | 一种协作机器人碰撞检测方法、装置、介质及电子设备 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103192413A (zh) * | 2012-01-06 | 2013-07-10 | 沈阳新松机器人自动化股份有限公司 | 一种无传感器的机器人碰撞检测保护装置及方法 |
JP2014018941A (ja) * | 2012-07-23 | 2014-02-03 | Daihen Corp | 制御装置、及び制御方法 |
JP6586079B2 (ja) * | 2014-03-28 | 2019-10-02 | ソニー株式会社 | アーム装置、及びプログラム |
CN104985598B (zh) * | 2015-06-24 | 2016-11-23 | 南京埃斯顿机器人工程有限公司 | 一种工业机器人碰撞检测方法 |
CN111712356A (zh) * | 2018-02-23 | 2020-09-25 | Abb瑞士股份有限公司 | 机器人系统和操作方法 |
CN109940622B (zh) * | 2019-04-28 | 2020-10-27 | 西安交通大学 | 一种基于电机电流的机器人机械臂无传感碰撞检测方法 |
CN110480678B (zh) * | 2019-07-19 | 2022-03-04 | 南京埃斯顿机器人工程有限公司 | 一种工业机器人碰撞检测方法 |
KR102357168B1 (ko) * | 2019-10-30 | 2022-02-07 | 주식회사 뉴로메카 | 인공신경망을 이용한 로봇 매니퓰레이터의 충돌을 감지하는 방법 및 시스템 |
CN111872936B (zh) * | 2020-07-17 | 2021-08-27 | 清华大学 | 一种基于神经网络的机器人碰撞检测系统及方法 |
CN112247992B (zh) * | 2020-11-02 | 2021-07-23 | 中国科学院深圳先进技术研究院 | 一种机器人前馈力矩补偿方法 |
CN113021340B (zh) * | 2021-03-17 | 2022-07-01 | 华中科技大学鄂州工业技术研究院 | 机器人的控制方法、装置、设备及计算机可读存储介质 |
CN114310895B (zh) * | 2021-12-31 | 2022-12-06 | 达闼科技(北京)有限公司 | 机器人碰撞检测方法、装置、电子设备及存储介质 |
-
2021
- 2021-12-31 CN CN202111674606.XA patent/CN114310895B/zh active Active
-
2022
- 2022-06-21 WO PCT/CN2022/100144 patent/WO2023123911A1/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107253196A (zh) * | 2017-08-01 | 2017-10-17 | 中科新松有限公司 | 一种机械臂碰撞检测方法、装置、设备及存储介质 |
CN108582070A (zh) * | 2018-04-17 | 2018-09-28 | 上海达野智能科技有限公司 | 机器人碰撞检测系统和方法、存储介质、操作系统 |
CN109079856A (zh) * | 2018-10-30 | 2018-12-25 | 珠海格力智能装备有限公司 | 机器人的碰撞检测方法和装置 |
CN109732599A (zh) * | 2018-12-29 | 2019-05-10 | 深圳市越疆科技有限公司 | 一种机器人碰撞检测方法、装置、存储介质及机器人 |
CN112757345A (zh) * | 2021-01-27 | 2021-05-07 | 上海节卡机器人科技有限公司 | 一种协作机器人碰撞检测方法、装置、介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114310895A (zh) | 2022-04-12 |
WO2023123911A1 (zh) | 2023-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114310895B (zh) | 机器人碰撞检测方法、装置、电子设备及存储介质 | |
US11958554B2 (en) | Steering control for vehicles | |
US11429854B2 (en) | Method and device for a computerized mechanical device | |
CN111008999B (zh) | 用包含跟踪网络的cnn跟踪对象的方法和使用该方法的装置 | |
CN111009153B (zh) | 一种轨迹预测模型的训练方法、装置和设备 | |
US9192869B2 (en) | Autonomous mobile robot system | |
US11188089B2 (en) | Localization for autonomous vehicles using gaussian mixture models | |
EP3825075A1 (en) | Parameter identifying device, method, and program | |
WO2021178299A1 (en) | Multi-agent trajectory prediction | |
CN105082132A (zh) | 力-扭矩任务的快速机器人模仿学习 | |
CN113515131A (zh) | 基于条件变分自动编码器的移动机器人避障方法及系统 | |
CN111738046A (zh) | 对用于基于深度学习的装置的学习的虚拟世界模拟器的物理引擎进行标定的方法及装置 | |
CN114386160A (zh) | 生成用于XiL系统的简化模型 | |
CN113156961B (zh) | 驾驶控制模型训练方法、驾驶控制方法及相关装置 | |
CN112783142B (zh) | 车道居中控制的仿真测试系统、方法、设备和存储介质 | |
CN111812668B (zh) | 绕机检查装置及其定位方法、存储介质 | |
Zimmerman | Neural network based obstacle avoidance using simulated sensor data | |
Al-Ashmori et al. | Comparison of Optimisation Solvers for Model Predictive Control-Based Motion Cueing Algorithm | |
Neher et al. | Using game physics engines for hardware-in-the-loop material flow simulations: benefits, requirements and experiences | |
CN115270902A (zh) | 用于测试产品的方法 | |
JP2023051421A (ja) | 移動体制御装置、移動体、学習装置、学習方法、および、プログラム | |
Petrinić et al. | AMORsim− A Mobile Robot Simulator for Matlab | |
Crnokic et al. | Artificial neural networks-based simulation of obstacle detection with a mobile robot in a virtual environment | |
Salih et al. | Intelligent Performance Analysis of Automated Steering Systems for Autonomous Vehicles | |
US20230204760A1 (en) | Adjusting radar parameter settings based upon data generated in a simulation environment |
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 |