CN113771047B - 对机械臂的碰撞处理方法、控制柜、以及机械臂系统 - Google Patents
对机械臂的碰撞处理方法、控制柜、以及机械臂系统 Download PDFInfo
- Publication number
- CN113771047B CN113771047B CN202111275647.1A CN202111275647A CN113771047B CN 113771047 B CN113771047 B CN 113771047B CN 202111275647 A CN202111275647 A CN 202111275647A CN 113771047 B CN113771047 B CN 113771047B
- Authority
- CN
- China
- Prior art keywords
- joint
- mechanical arm
- determining
- impedance control
- dynamic
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 31
- 239000002131 composite material Substances 0.000 claims abstract description 30
- 230000004044 response Effects 0.000 claims abstract description 21
- 238000000034 method Methods 0.000 claims description 33
- 238000013016 damping Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 description 26
- 238000001514 detection method Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 230000006378 damage Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
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
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/1605—Simulation of manipulator lay-out, design, modelling of manipulator
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J18/00—Arms
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/06—Safety devices
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
本公开提供了一种对机械臂的碰撞处理方法、控制柜、以及机械臂系统,其中,所述机械臂包括连杆、以及连接所述连杆的关节;所述碰撞处理方法包括:基于机械臂中的各关节分别对应的动力学模型,检测所述机械臂是否发生碰撞;响应于检测到所述机械臂发生碰撞,基于所述各关节的动力学参数、以及所述各关节的复合阻抗控制模型,为所述各关节确定对应的阻抗控制电流;向所述各关节施加所述阻抗控制电流。
Description
技术领域
本公开涉及机器人技术领域,具体而言,涉及一种对机械臂的碰撞处理方法、控制柜、机械臂系统、对机械臂的碰撞处理装置、计算机设备及存储介质。
背景技术
机械臂在实际使用的过程中,由于机械臂上的连杆具有相互连接的关系,因此在连杆的移动过程中,可能会发生机械臂中连杆的碰撞;同时,在多个机械臂协同工作的情况下,也可能发生不同机械臂之间的碰撞。在碰撞发生后,根据连杆之间的接触刚度不同,会在较短的一段时间后,碰撞力达到极值。由于碰撞力变化至极值的时间过短,当前的碰撞处理方式很难对产生的碰撞做出有效的反应处理,导致安全性较差。
发明内容
本公开实施例至少提供一种对机械臂的碰撞处理方法、控制柜、机械臂系统、对机械臂的碰撞处理装置、计算机设备及存储介质。
第一方面,本公开实施例提供了一种对机械臂的碰撞处理方法,所述机械臂包括连杆、以及连接所述连杆的关节;所述碰撞处理方法包括:基于机械臂中的各关节分别对应的动力学模型,检测所述机械臂是否发生碰撞;响应于检测到所述机械臂发生碰撞,基于所述各关节的动力学参数、以及所述各关节的复合阻抗控制模型,为所述各关节确定对应的阻抗控制电流;向所述各关节施加所述阻抗控制电流。
一种可选的实施方式中,所述基于机械臂中的各关节分别对应的动力学模型,检测所述机械臂是否发生碰撞,包括:获取机械臂中所述各关节的动力学参数;基于所述各关节的动力学参数、以及所述各关节的动力学模型,确定所述各关节的理论驱动电流;以及获取所述各关节的实际驱动电流;响应于所述机械臂中的至少一个关节的理论驱动电流与所述实际驱动电流的差值大于预设的电流差阈值,确定所述机械臂发生碰撞。
一种可选的实施方式中,所述碰撞处理方法还包括:采用下述方式确定所述各关节的动力学模型:确定所述各关节对应的联合动力学模型;以及,基于所述各关节的动力学参数,确定所述各关节对应的摩擦力模型;基于所述关节对应的联合动力学模型、以及所述各关节对应的摩擦力模型,确定所述各关节的动力学模型。
一种可选的实施方式中,所述确定所述各关节对应的联合动力学模型,包括:确定所述机械臂的动力学参数、以及所述机械臂上的负载对应的动力学参数;基于所述机械臂的动力学参数,确定所述机械臂对应的整臂动力学模型;以及,基于所述机械臂上的负载对应的动力学参数,确定所述机械臂对应的负载动力学模型;基于所述整臂动力学模型、以及所述负载动力学模型,确定所述各关节对应的联合动力学模型。
一种可选的实施方式中,所述响应于检测到所述机械臂发生碰撞,基于所述各关节的动力学参数、以及所述各关节的复合阻抗控制模型,为所述各关节确定对应的阻抗控制电流,包括:利用预设的阻尼系数、刚度系数,确定所述各关节的关节阻抗模型;基于所述各关节的动力学模型、以及所述各关节的关节阻抗模型,为所述各关节确定对应的复合阻抗控制模型;基于所述各关节的动力学参数、以及所述各关节对应的复合阻抗控制模型,确定所述各关节的阻抗控制电流。
一种可选的实施方式中,在向所述各关节施加所述阻抗控制电流之后,所述碰撞处理方法还包括:响应于机械臂末端的速度由碰撞时的当前速度变化至预设的反向速度,停止向所述各关节施加阻抗控制电流。
一种可选的实施方式中,在停止向所述各关节施加阻抗控制电流之后,所述碰撞处理方法还包括:控制所述机械臂进入整臂柔顺控制模式。
第二方面,本公开实施例还提供一种控制柜,所述控制柜被配置为执行第一方面或第一方面中任一种可能的实施方式中的步骤,用于在操控机械臂的过程中进行碰撞处理。
第三方面,本公开实施例还提供一种机械臂系统,包括:机械臂以及第二方面说明的控制柜;所述机械臂包括:连杆、以及连接所述连杆的至少一个关节。
第四方面,本公开实施例还提供一种对机械臂的碰撞处理装置,包括:检测模块,用于基于机械臂中的各关节分别对应的动力学模型,检测所述机械臂是否发生碰撞;确定模块,用于响应于检测到所述机械臂发生碰撞,基于所述各关节的动力学参数、以及所述各关节的复合阻抗控制模型,为所述各关节确定对应的阻抗控制电流;处理模块,用于向所述各关节施加所述阻抗控制电流。
一种可选的实施方式中,所述检测模块在基于机械臂中的各关节分别对应的动力学模型,检测所述机械臂是否发生碰撞时,用于:获取机械臂中所述各关节的动力学参数;基于所述各关节的动力学参数、以及所述各关节的动力学模型,确定所述各关节的理论驱动电流;以及获取所述各关节的实际驱动电流;响应于所述机械臂中的至少一个关节的理论驱动电流与所述实际驱动电流的差值大于预设的电流差阈值,确定所述机械臂发生碰撞。
一种可选的实施方式中,所述检测模块还用于:采用下述方式确定所述各关节的动力学模型:确定所述各关节对应的联合动力学模型;以及,基于所述各关节的动力学参数,确定所述各关节对应的摩擦力模型;基于所述关节对应的联合动力学模型、以及所述各关节对应的摩擦力模型,确定所述各关节的动力学模型。
一种可选的实施方式中,所述检测模块在确定所述各关节对应的联合动力学模型时,用于:确定所述机械臂的动力学参数、以及所述机械臂上的负载对应的动力学参数;基于所述机械臂的动力学参数,确定所述机械臂对应的整臂动力学模型;以及,基于所述机械臂上的负载对应的动力学参数,确定所述机械臂对应的负载动力学模型;基于所述整臂动力学模型、以及所述负载动力学模型,确定所述各关节对应的联合动力学模型。
一种可选的实施方式中,所述确定模块在响应于检测到所述机械臂发生碰撞,基于所述各关节的动力学参数、以及所述各关节的复合阻抗控制模型,为所述各关节确定对应的阻抗控制电流时,用于:利用预设的阻尼系数、刚度系数,确定所述各关节的关节阻抗模型;基于所述各关节的动力学模型、以及所述各关节的关节阻抗模型,为所述各关节确定对应的复合阻抗控制模型;基于所述各关节的动力学参数、以及所述各关节对应的复合阻抗控制模型,确定所述各关节的阻抗控制电流。
一种可选的实施方式中,所述处理模块在向所述各关节施加所述阻抗控制电流之后,还用于:响应于机械臂末端的速度由碰撞时的当前速度变化至预设的反向速度,停止向所述各关节施加阻抗控制电流。
一种可选的实施方式中,所述处理模块在停止向所述各关节施加阻抗控制电流之后,还用于:控制所述机械臂进入整臂柔顺控制模式。
第五方面,本公开可选实现方式还提供一种计算机设备,处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第六方面,本公开可选实现方式还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
关于上述对控制柜、机械臂系统、对机械臂的碰撞处理装置、计算机设备及存储介质的效果描述参见上述对机械臂的碰撞处理方法的说明,这里不再赘述。
本公开实施例提供的对机械臂的碰撞处理方法、控制柜、机械臂系统、对机械臂的碰撞处理装置、计算机设备及存储介质,在检测到机械臂发生碰撞的情况下,根据关节的动力学参数以及阻抗控制模型,为关节确定对应的阻抗控制电流,并向关节施加阻抗控制电流,以使关节能够在阻抗控制电流的作用下由原来的运动方向变化至相反的运动方向,能够在较短的时间内做出有效反应,因此安全性也较高。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种对机械臂的碰撞处理方法的流程图;
图2示出了本公开实施例所提供的一种对机械臂进行碰撞处理的具体实施例对应的流程图;
图3示出了本公开实施例所提供的一种对机械臂的碰撞处理装置的示意图;
图4示出了本公开实施例所提供的一种计算机设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
基于对背景技术的说明可以获知,机械臂在实际使用中,可能会出现机械臂中连杆的子碰撞,并在碰撞发生后的较短时间内(例如20毫秒)达到极值,导致机械臂的损坏。在机械臂中的连杆发生碰撞后可以采用的方式例如包括下述三种:
1)控制机械臂急停;
针对该种方式,直接控制机械臂急停的方式并不能减小碰撞力,容易损坏机械臂,甚至对操作机械臂的工作人员的安全造成威胁,导致安全性较差。
2)控制机械臂进入位置控制模式;
针对该种方式,控制机械臂进入位置控制模式具体是通过为机械臂施加预设大小的控制电流,使机械臂达到预设的反向速度的方式实现的,由于预设的反向速度可能与碰撞速度之间的差距较大,因此容易导致关节出现过载停止运动的情况,因此也不能有效的减小碰撞力,导致安全性较差。
3)控制机械臂进入整臂柔顺控制模式。
针对该种方式,由于整臂柔顺控制的周期时间较长,而碰撞后碰撞力达到极值的时间较短,直接采用该种方式对机械臂的调整程度有限,无法在较短时间内做出有效的反应,因此会导致安全性较差。
基于上述研究,本公开提供了一种对机械臂的碰撞处理方法,在检测到机械臂发生碰撞的情况下,利用机械臂中关节的动力学参数、以及关节的阻抗控制模型,可以合理的为关节确定对应的阻抗控制电流,使关节能够在阻抗控制电流的作用下由原来的运动方向变化至相反的运动方向,这种方式下的控制周期较短,可以在碰撞力达到极值前的较短时间内做出有效的反应,因此安全性较高。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种对机械臂的碰撞处理方法进行详细介绍,本公开实施例所提供的对机械臂的碰撞处理方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该对机械臂的碰撞处理方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
下面对本公开实施例提供的对机械臂的碰撞处理方法加以说明。其中,本公开实施例提供的机械臂包括连杆、以及连接连杆的关节。
参见图1所示,为本公开实施例提供的一种对机械臂的碰撞处理方法的流程图,所述方法包括步骤S101~S103,其中:
S101:基于机械臂中的各关节分别对应的动力学模型,检测所述机械臂是否发生碰撞;
S102:响应于检测到所述机械臂发生碰撞,基于所述各关节的动力学参数、以及所述各关节的复合阻抗控制模型,为所述各关节确定对应的阻抗控制电流;
S103:向所述各关节施加所述阻抗控制电流。
本公开实施例通过各关节分别对应的动力学模型检测机械臂是否发生碰撞,并在检测到机械臂发生碰撞时,利用机械臂中关节的动力学参数以及关节对应的复合阻抗控制模型,为关节确定对应的阻抗控制电流。这种方式可以合理的为关节确定对应的阻抗控制电流,使关节能够在阻抗控制电流的作用下由原来的运动方向变化至相反的运动方向,这种方式下的控制周期较短,可以在碰撞力达到极值前的较短时间内做出有效的反应,因此安全性较高。
下面对上述S101~S103加以详细说明。
针对上述S101,本公开实施例提供的机械臂例如可以包括至少一个连杆,多个连杆中,相邻的两个连杆由关节连接。机械臂的一端例如可以用于具体执行工作任务,例如码垛、搬运、装配等;另一端例如与工作台、墙面等位置固定连接,在连接时例如也可以采用关节连接。
示例性的,在机械臂中包含有多个连杆的情况下,在机械臂根据实际的工作任务运动的过程中,可能会出现连杆之间碰撞的情况。在碰撞发生之后,碰撞力会在较短的时间内达到极值,达到极值的过程中经历的时间具体根据连杆的接触刚度等差异而有所区别,例如15毫秒、20毫秒等。在碰撞发生的情况下,若可以减少碰撞力,则可以相应的减少可能对机械臂造成的损坏,并进一步避免对工作人员的伤害。
在具体实施中,具体检测机械臂是否发生碰撞时,例如可以采用下述方式:获取机械臂中所述各关节的动力学参数;基于所述各关节的动力学参数、以及所述各关节的动力学模型,确定所述各关节的理论驱动电流;以及获取所述各关节的实际驱动电流;响应于所述机械臂中的至少一个关节的理论驱动电流与所述实际驱动电流的差值大于预设的电流差阈值,确定所述机械臂发生碰撞。
其中,在获取各关节的动力学参数时,针对动力学参数中的不同参数,具体可以采用不同的方式获取。示例性的,针对任一关节对应的动力学参数,其中针对关节的旋转位置,例如可以先确定关节的初始旋转位置,并通过对关节旋转位置的变化进行监测,以获取关节当前的旋转位置。针对关节的角速度,例如可以采用电机编码器进行检测,其中电机编码器例如可以根据实际情况选取光电编码器以及磁电编码器。针对关节的温度值,例如可以采用温度传感器对关节的温度进行检测,具体采用的温度传感器例如包括DS18B20芯片。
此处,仅为提供的一种获取关节的动力学参数的具体示例,具体可以根据实际情况确定,在此并不做出限定。
在具体实施中,利用获取得到的各关节的动力学参数、以及机械臂的动力学模型,可以相应的确定各关节的理论驱动电流。这样,通过理论驱动电流与实际驱动电流的比较,即确定机械臂是否发生了碰撞。
其中,在确定所述机械臂的动力学模型时例如可以采用下述方式:确定所述各关节对应的联合动力学模型;以及,基于所述各关节的动力学参数,确定所述各关节对应的摩擦力模型;基于所述关节对应的联合动力学模型、以及所述各关节对应的摩擦力模型,确定所述各关节的动力学模型。
针对确定机械臂对应的联合动力学模型,具体可以采用下述方式:确定所述机械臂的动力学参数、以及所述机械臂上的负载对应的动力学参数;基于所述机械臂的动力学参数,确定所述机械臂对应的整臂动力学模型;以及,基于所述机械臂上的负载对应的动力学参数,确定所述机械臂对应的负载动力学模型;基于所述整臂动力学模型、以及所述负载动力学模型,确定所述各关节对应的联合动力学模型。
其中,在确定整臂动力学模型时,获取的机械臂的动力学参数包括但不限于机械臂中各个连杆分别对应的质量、质心、惯量。具体地,机械臂按照一定的位置、速度、加速度运动时,关节需要提供相应的扭矩,来平衡连杆产生的惯性力、重力、科氏力等力。因此,通过确定机械臂各连杆的动力学参数,可以建立机械臂运动学参数和关节扭矩之间的关系,也即得到机械臂的整臂动力学模型。
在确定负载动力学模型时,获取的机械臂上的负载对应的动力学参数包括但不限于负载的质心位置、负载的质量以及转动惯量。其中,可以把负载看作和机械臂中的一个连杆固定连接的一部分,负载和该连杆构成了一个新的连杆,该新的连杆的动力学参数包含了负载对应的的动力学参数,利用该新的连杆的动力学参数构建机械臂动力学模型,可以得到包含负载动力学参数的负载动力学模型。
此处,对于上述整臂动力学模型以及负载动力学模型,在本领域中是较为成熟的技术。因此,本公开实施例中说明的整臂动力学模型以及负载动力学模型可以根据实际情况选取,在此并不做出限定。
在得到整臂动力学模型以及负载动力学模型的情况下,在一种可能的实施方式中,由于整臂动力学模型以及负载动力学模型均是可以反应机械臂运动的模型,因此可以将两个动力学模型联立为机械臂的动力学模型。或者,也可以作为单独确定的模型,这里并不做出限定。
对于关节对应的摩擦力模型,具体在确定摩擦力模型时,获取的动力学参数中的具体参数包括但不限于关节的角速度以及温度。示例性的,在控制关节的温度不变时,随关节的角速度变大,相应的摩擦力也会变大;在控制关节的角速度不变时,随温度的升高,相应的摩擦力也会变大。因此,利用关节的动力学参数,可以相应的确定的关节的摩擦力模型。
此处,与上述整臂动力学模型以及负载动力学模型相似,具体的摩擦力模型也可以根据实际情况选取,在此并不做出限定。
在一种可能的情况下,利用机械臂对应的联合动力学模型、以及关节对应的摩擦力模型,可以确定机械臂的动力学模型。示例性的,得到的机械臂的动力学模型,例如可以采用下述公式(1)表示:
其中,M(·)表示机械臂对应的惯性项;C(·)表示科里奥利力项(Coriolisforce),用于描述关节对应的惯性项;g(·)表示机械臂的重力项;q表示关节在机械臂所在的空间中的位置;表示关节的角速度;表示关节的角加速度;τ表示关节的输出力矩;τext表示对关节施加的外部输入力矩;τf(·)表示摩擦力项;T表示温度。
此处,仅提供一种可能的机械臂的动力学模型的示例,由于不同机械臂的机械结构与使用参数不同,因此不同的机械臂对应的动力学模型可能会有所不同,具体可以根据实际情况选取与所使用的机械臂相对应的动力学模型,在此并不做出限定。
具体地,由于关节的输出力矩与关节对应的驱动电流成比例,因此,在利用机械臂的动力学模型确定其中关节的输出力矩的情况下,也可以相应的确定关节的理论驱动电流,具体可以利用动力学模型对关节的动力学参数进行处理实现。
在本公开实施例中,为了确定机械臂是否发生碰撞,还可以获取各关节的实际驱动电流值。其中,检测各关节的实际驱动电流值的方式也可以根据实际情况确定,采用传感器或者其他检测设备,具体方式在此同样不做出限定。
在一种可能的情况下,若不发生碰撞,则为关节确定的理论驱动电流可以等于关节的实际驱动电流;若发生碰撞,则为关节确定的理论驱动电流与关节的实际驱动电流不相等。但由于确定的机械臂的动力学模型可能存在一定的误差,因此在没有发生碰撞的情况下,也可能会出现关节的理论驱动电流与实际驱动电流不相等的情况。为了避免该种情况的发生,本公开实施例中在通过理论驱动电流和实际驱动电流确定机械臂是否碰撞时,还设置一预设的电流差阈值,在任一关节的理论驱动电流与实际驱动电流的差值大于该预设的电流差阈值时,才会确定机械臂发生碰撞。这样,也可以相应的减少检测错误的情况出现。
针对上述S102,在检测到机械臂发生碰撞的情况下,为了在较短的时间内迅速做出有效反应,例如可以将机械臂切换为阻抗控制模式。其中,在阻抗控制模式下一个反应周期例如为1毫秒,则在例如20毫秒的时间内可以执行20个周期,以有效的控制机械臂进一步向碰撞力增大的方向运动。
具体地,可以利用各关节的动力学参数、以及各关节的复合阻抗控制模型,为各关节确定对应的阻抗控制电流,以利用阻抗控制电流将机械臂切换为阻抗控制模式。
在具体实施中,在确定阻抗控制电流时,例如可以采用下述方式:利用预设的阻尼系数、刚度系数,确定所述各关节的关节阻抗模型;基于所述各关节的动力学模型、以及所述各关节的关节阻抗模型,为所述各关节确定对应的复合阻抗控制模型;基于所述各关节的动力学参数、以及所述各关节对应的复合阻抗控制模型,确定所述各关节的阻抗控制电流。
其中,针对各关节的复合阻抗控制模型,在具体实施中,例如可以利用预设的阻尼系数、刚度系数、以及所述机械臂的动力学模型,为所述关节确定对应的复合阻抗控制模型。
具体地,利用阻尼系数与刚度系数,例如可以先确定关节对应的关节阻抗模型。示例性的,为各关节确定的关节阻抗模型例如可以采用下述公式(2)表示:
其中,Md表示质量;Dd表示阻尼;Kd表示刚度;q0表示关节的参考位置,可以任意选定;τext与上述公式(1)中的τext相同。复合阻抗控制模型中确定的τext也即复合阻抗控制模型的控制目标,以使关节的位置、速度和加速度保持如公式(2)示出的对应关系。在一种可能的情况下,为了利用公式(2)确定的复合阻抗控制模型约束关节对应的位置、速度和加速度之间的关系,从而减小碰撞力,例如可以设置公式(2)中的阻尼Dd和刚度Kd为较小的参数,以模拟关节无法较好的抵御碰撞的情况,从而利用复合阻抗控制模型对关节实现较大程度的碰撞防护。
联立上述公式(1)以及公式(2),可以得到关节对应的复合阻抗控制模型,具体例如可以采用下述公式(3)表示:
其中,各符号表示的具体含义与上述公式(1)和(2)中相应符号表达的含义相同,在此不再重复说明。
在得到关节的输出力矩的情况下,利用下述公式(4)可以为关节确定对应的阻抗控制电流:
i=kτ (4)
其中,k表示力矩系数,具体数值可以根据实际情况确定,在此不做限定。
这样,即可以利用各关节对应的复合阻抗控制模型,为各关节确定对应的阻抗控制电流。
针对上述S103,在通过上述S102为各关节确定对应的阻抗控制电流的情况下,通过向各关节施加确定得到的该阻抗控制电流,可以相应的将机械臂切换为阻抗控制模式。
在具体实施中,在向各关节施加阻抗控制电流后,与阻抗控制电流对应的力矩会使各关节的速度发生变化。由于阻抗控制电流通常与各关节在碰撞时的当前速度反向,因此也可以称之为“反向电流”。阻抗控制电流会使各关节的当前速度发生变化,例如使对应的速度减小;在各关节的速度减小为0时,例如会在相反的方向上数值增加,并由碰撞时的当前速度变化至反向速度。此处,反向速度一般为0或者较小的值。
在本公开另一实施例中,在检测到各关节的速度均变化至预设的反向速度的情况下,可以认为完成了对机械臂碰撞的防护,并相应的停止向各关节施加阻抗控制电流。
另外,在另一实施例中,在停止向各关节施加阻抗控制电流后,还可以控制机械臂进入整臂柔顺控制模式。其中,示例性的,整臂柔顺控制模型可以由多种控制模式实现,具体包括但不限于导纳控制、阻抗控制、直接力控制等。利用整臂柔顺控制例如可以使机械臂正常的顺应外力而移动,例如继续应用于执行工作任务的正常运动中。
或者,在停止向关节施加阻抗控制电流后,也可以相应的停止机械臂的运动,以使工作人员重新查看机械臂是否存在损坏,并相应的通过维修等方式进行进一步的修复处理。
在本公开另一实施例中,还提供了一种对机械臂的碰撞处理的具体实施例,在该实施例中,实时对关节的动力学参数进行监测;在该具体实施例中,机械臂具体用于执行具体的工作任务,例如装配货物。参见图2所示,为本公开实施例提供的一种对机械臂进行碰撞处理的具体实施例对应的流程图;其中,
S201:获取机械臂中各关节的动力学参数、以及各关节的实际驱动电流。
S202:基于各关节的动力学参数,确定各关节的理论驱动电流。
S203:基于各关节的实际驱动电流以及理论驱动电流,确定机械臂是否发生碰撞;若是,执行S205;若否,执行S204。
S204:继续控制机械臂执行工作任务。
S205:基于各关节的动力学参数、以及各关节的复合阻抗控制模型,为各关节确定对应的阻抗控制电流。
S206:向各关节施加阻抗控制电流。
S207:判断各关节的速度是否变化至预设的反向速度;若是,执行S208;若否,执行S209。
S208:停止向各关节施加阻抗控制电流,跳转执行S204。
S209:继续向各关节施加阻抗控制电流,返回执行S207。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了一种控制柜,其中,控制柜被配置为执行本公开实施例提供的碰撞处理方法,用于在操控机械臂的过程中进行碰撞处理。
其中,配置柜在操控机械臂的过程中的碰撞处理的具体过程,可以参考本公开实施例中所述的机械臂的碰撞处理方法的步骤,此处不再赘述。
另外,本公开实施例中还提供了一种机械臂系统,在该机械臂系统中,包括机械臂、以及本公开实施例中提供的控制柜。其中,机械臂中包括连杆、以及连接所述连杆的至少一个关节,具体可以参见对碰撞处理方法的说明中对机械臂的描述,在此同样不再赘述。
基于同一发明构思,本公开实施例中还提供了与对机械臂的碰撞处理方法对应的对机械臂的碰撞处理装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述对机械臂的碰撞处理方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图3所示,为本公开实施例提供的一种对机械臂的碰撞处理装置的示意图,所述装置包括:检测模块31、确定模块32、以及处理模块33;其中,
检测模块31,用于基于机械臂中的各关节分别对应的动力学模型,检测所述机械臂是否发生碰撞;确定模块32,用于响应于检测到所述机械臂发生碰撞,基于所述各关节的动力学参数、以及所述各关节的复合阻抗控制模型,为所述各关节确定对应的阻抗控制电流;处理模块33,用于向所述各关节施加所述阻抗控制电流。
一种可选的实施方式中,所述检测模块31在基于机械臂中的各关节分别对应的动力学模型,检测所述机械臂是否发生碰撞时,用于:获取机械臂中所述各关节的动力学参数;基于所述各关节的动力学参数、以及所述各关节的动力学模型,确定所述各关节的理论驱动电流;以及获取所述各关节的实际驱动电流;响应于所述机械臂中的至少一个关节的理论驱动电流与所述实际驱动电流的差值大于预设的电流差阈值,确定所述机械臂发生碰撞。
一种可选的实施方式中,所述检测模块31还用于:采用下述方式确定所述各关节的动力学模型:确定所述各关节对应的联合动力学模型;以及,基于所述各关节的动力学参数,确定所述各关节对应的摩擦力模型;基于所述关节对应的联合动力学模型、以及所述各关节对应的摩擦力模型,确定所述各关节的动力学模型。
一种可选的实施方式中,所述检测模块31在确定所述各关节对应的联合动力学模型时,用于:确定所述机械臂的动力学参数、以及所述机械臂上的负载对应的动力学参数;基于所述机械臂的动力学参数,确定所述机械臂对应的整臂动力学模型;以及,基于所述机械臂上的负载对应的动力学参数,确定所述机械臂对应的负载动力学模型;基于所述整臂动力学模型、以及所述负载动力学模型,确定所述各关节对应的联合动力学模型。
一种可选的实施方式中,所述确定模块32在响应于检测到所述机械臂发生碰撞,基于所述各关节的动力学参数、以及所述各关节的复合阻抗控制模型,为所述各关节确定对应的阻抗控制电流时,用于:利用预设的阻尼系数、刚度系数,确定所述各关节的关节阻抗模型;基于所述各关节的动力学模型、以及所述各关节的关节阻抗模型,为所述各关节确定对应的复合阻抗控制模型;基于所述各关节的动力学参数、以及所述各关节对应的复合阻抗控制模型,确定所述各关节的阻抗控制电流。
一种可选的实施方式中,所述处理模块33在向所述各关节施加所述阻抗控制电流之后,还用于:响应于机械臂末端的速度由碰撞时的当前速度变化至预设的反向速度,停止向所述各关节施加阻抗控制电流。
一种可选的实施方式中,所述处理模块33在停止向所述各关节施加阻抗控制电流之后,还用于:控制所述机械臂进入整臂柔顺控制模式。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
本公开实施例还提供了一种计算机设备,如图4所示,为本公开实施例提供的计算机设备结构示意图,包括:
处理器10和存储器20;所述存储器20存储有处理器10可执行的机器可读指令,处理器10用于执行存储器20中存储的机器可读指令,所述机器可读指令被处理器10执行时,处理器10执行下述步骤:
基于机械臂中的各关节分别对应的动力学模型,检测所述机械臂是否发生碰撞;响应于检测到所述机械臂发生碰撞,基于所述各关节的动力学参数、以及所述各关节的复合阻抗控制模型,为所述各关节确定对应的阻抗控制电流;向所述各关节施加所述阻抗控制电流。
上述存储器20包括内存210和外部存储器220;这里的内存210也称内存储器,用于暂时存放处理器10中的运算数据,以及与硬盘等外部存储器220交换的数据,处理器10通过内存210与外部存储器220进行数据交换。
上述指令的具体执行过程可以参考本公开实施例中所述的对机械臂的碰撞处理方法的步骤,此处不再赘述。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的对机械臂的碰撞处理方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的对机械臂的碰撞处理方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
Claims (8)
1.一种对机械臂的碰撞处理方法,其特征在于,所述机械臂包括连杆、以及连接所述连杆的至少一个关节;所述碰撞处理方法包括:
基于机械臂中的各关节分别对应的动力学模型,检测所述机械臂是否发生碰撞;
响应于检测到所述机械臂发生碰撞,基于所述各关节的动力学参数、以及所述各关节的复合阻抗控制模型,为所述各关节确定对应的阻抗控制电流;
向所述各关节施加所述阻抗控制电流;
所述响应于检测到所述机械臂发生碰撞,基于所述各关节的动力学参数、以及所述各关节的复合阻抗控制模型,为所述各关节确定对应的阻抗控制电流,包括:利用预设的阻尼系数、刚度系数,确定所述各关节的关节阻抗模型;基于所述各关节的动力学模型、以及所述各关节的关节阻抗模型,为所述各关节确定对应的复合阻抗控制模型;基于所述各关节的动力学参数、以及所述各关节对应的复合阻抗控制模型,确定所述各关节的阻抗控制电流。
2.根据权利要求1所述的碰撞处理方法,其特征在于,所述基于机械臂中的各关节分别对应的动力学模型,检测所述机械臂是否发生碰撞,包括:
获取机械臂中所述各关节的动力学参数;
基于所述各关节的动力学参数、以及所述各关节的动力学模型,确定所述各关节的理论驱动电流;
以及获取所述各关节的实际驱动电流;
响应于所述机械臂中的至少一个关节的理论驱动电流与所述实际驱动电流的差值大于预设的电流差阈值,确定所述机械臂发生碰撞。
3.根据权利要求1或2所述的碰撞处理方法,其特征在于,还包括:采用下述方式确定所述各关节的动力学模型:
确定所述各关节对应的联合动力学模型;以及,
基于所述各关节的动力学参数,确定所述各关节对应的摩擦力模型;
基于所述关节对应的联合动力学模型、以及所述各关节对应的摩擦力模型,确定所述各关节的动力学模型。
4.根据权利要求3所述的碰撞处理方法,其特征在于,所述确定所述各关节对应的联合动力学模型,包括:
确定所述机械臂的动力学参数、以及所述机械臂上的负载对应的动力学参数;
基于所述机械臂的动力学参数,确定所述机械臂对应的整臂动力学模型;以及,
基于所述机械臂上的负载对应的动力学参数,确定所述机械臂对应的负载动力学模型;
基于所述整臂动力学模型、以及所述负载动力学模型,确定所述各关节对应的联合动力学模型。
5.根据权利要求1所述的碰撞处理方法,其特征在于,在向所述各关节施加所述阻抗控制电流之后,所述碰撞处理方法还包括:
响应于机械臂末端的速度由碰撞时的当前速度变化至预设的反向速度,停止向所述各关节施加阻抗控制电流。
6.根据权利要求1所述的碰撞处理方法,其特征在于,在停止向所述各关节施加阻抗控制电流之后,所述碰撞处理方法还包括:控制所述机械臂进入整臂柔顺控制模式。
7.一种控制柜,其特征在于,所述控制柜被配置为执行权利要求1-6任一项所述的碰撞处理方法,用于在操控机械臂的过程中进行碰撞处理。
8.一种机械臂系统,其特征在于,包括:机械臂以及如权利要求7所述的控制柜;所述机械臂包括:连杆、以及连接所述连杆的至少一个关节。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111275647.1A CN113771047B (zh) | 2021-10-29 | 2021-10-29 | 对机械臂的碰撞处理方法、控制柜、以及机械臂系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111275647.1A CN113771047B (zh) | 2021-10-29 | 2021-10-29 | 对机械臂的碰撞处理方法、控制柜、以及机械臂系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113771047A CN113771047A (zh) | 2021-12-10 |
CN113771047B true CN113771047B (zh) | 2023-02-21 |
Family
ID=78873593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111275647.1A Active CN113771047B (zh) | 2021-10-29 | 2021-10-29 | 对机械臂的碰撞处理方法、控制柜、以及机械臂系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113771047B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114872034A (zh) * | 2022-06-16 | 2022-08-09 | 北京市商汤科技开发有限公司 | 一种机械臂驱动结构、臂型机器人及驱动方法 |
CN115674190B (zh) * | 2022-09-30 | 2024-05-07 | 深圳市越疆科技股份有限公司 | 协作机械臂及其运动控制方法、碰撞检测方法、控制系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108582070A (zh) * | 2018-04-17 | 2018-09-28 | 上海达野智能科技有限公司 | 机器人碰撞检测系统和方法、存储介质、操作系统 |
CN110000815A (zh) * | 2019-04-09 | 2019-07-12 | 深圳前海达闼云端智能科技有限公司 | 一种碰撞检测方法、装置、电子设备及存储介质 |
DE102020103857A1 (de) * | 2020-02-14 | 2021-08-19 | Franka Emika Gmbh | Kraftbegrenzung bei Kollision eines Robotermanipulators |
WO2021170978A1 (en) * | 2020-02-27 | 2021-09-02 | Dyson Technology Limited | Robotic device |
-
2021
- 2021-10-29 CN CN202111275647.1A patent/CN113771047B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108582070A (zh) * | 2018-04-17 | 2018-09-28 | 上海达野智能科技有限公司 | 机器人碰撞检测系统和方法、存储介质、操作系统 |
CN110000815A (zh) * | 2019-04-09 | 2019-07-12 | 深圳前海达闼云端智能科技有限公司 | 一种碰撞检测方法、装置、电子设备及存储介质 |
DE102020103857A1 (de) * | 2020-02-14 | 2021-08-19 | Franka Emika Gmbh | Kraftbegrenzung bei Kollision eines Robotermanipulators |
WO2021170978A1 (en) * | 2020-02-27 | 2021-09-02 | Dyson Technology Limited | Robotic device |
Also Published As
Publication number | Publication date |
---|---|
CN113771047A (zh) | 2021-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113771047B (zh) | 对机械臂的碰撞处理方法、控制柜、以及机械臂系统 | |
CN107548336B (zh) | 控制和/或调节机器人的电机 | |
CN112809667B (zh) | 工业机器人的力控制方法、装置及其应用 | |
CN111618857A (zh) | 一种机械臂的多负载自适应重力补偿方法 | |
CN112936278B (zh) | 机器人的人机协作控制方法、装置和机器人 | |
US11305424B2 (en) | Generalized admittance control for robotic manipulators | |
JP2009032189A (ja) | ロボットの動作経路生成装置 | |
KR20140147681A (ko) | 운동학적 리던던트 로봇의 감시 | |
Popov et al. | Real-time external contact force estimation and localization for collaborative robot | |
CN113119098A (zh) | 机械臂控制方法、机械臂控制装置及终端设备 | |
CN114102587B (zh) | 机器人控制方法、系统、电子设备和存储介质 | |
CN114800532B (zh) | 机械臂控制参数确定方法、装置、设备、介质和机器人 | |
CN112236272A (zh) | 把持姿态评价装置和把持姿态评价程序 | |
CN113510698A (zh) | 一种机械臂控制方法、装置、机械臂和可读存储介质 | |
Bai et al. | Identification of generalized friction for an experimental planar two-link flexible manipulator using strong tracking filter | |
CN113814985A (zh) | 一种机器人控制方法、控制柜及系统 | |
JP2017213631A (ja) | ロボットアーム制御装置、ロボットアーム制御方法、およびプログラム | |
CN113858207A (zh) | 人形机器人的倒地控制方法、装置、电子设备及存储介质 | |
CN114115295B (zh) | 机器人运动规划方法及装置、机器人控制设备和存储介质 | |
CN111438692A (zh) | 机器人控制方法、装置、介质、设备以及机器人 | |
KR20240039182A (ko) | 다리식 로봇을 제어하는 방법, 장치, 기기, 다리식 로봇, 컴퓨터 판독 가능한 저장 매체 및 컴퓨터 프로그램 제품 | |
CN113799142B (zh) | 对机械臂的碰撞防护方法、控制柜以及机械臂系统 | |
Savin et al. | Control system design for two link robot arm with maccepa 2.0 variable stiffness actuators | |
CN114310912A (zh) | 机械臂装配控制方法及装置、机械臂控制设备和存储介质 | |
CN112008731A (zh) | 一种空中作业机器人的柔顺控制方法、装置、终端、系统及可读存储介质 |
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 | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: Room 407, building 5, yard 98, lianshihu West Road, Mentougou District, Beijing 102300 Patentee after: AUBO (Beijing) Intelligent Technology Co.,Ltd. Address before: Room 407, building 5, yard 98, lianshihu West Road, Mentougou District, Beijing 102300 Patentee before: AUBO (BEIJING) ROBOTICS TECHNOLOGY Co.,Ltd. |