CN113799142B - 对机械臂的碰撞防护方法、控制柜以及机械臂系统 - Google Patents

对机械臂的碰撞防护方法、控制柜以及机械臂系统 Download PDF

Info

Publication number
CN113799142B
CN113799142B CN202111269264.3A CN202111269264A CN113799142B CN 113799142 B CN113799142 B CN 113799142B CN 202111269264 A CN202111269264 A CN 202111269264A CN 113799142 B CN113799142 B CN 113799142B
Authority
CN
China
Prior art keywords
link
connecting rod
collision
force
determining
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
Application number
CN202111269264.3A
Other languages
English (en)
Other versions
CN113799142A (zh
Inventor
李泽宇
刘刚
袁紫衣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aubo Beijing Intelligent Technology Co ltd
Original Assignee
Aubo Beijing Robotics Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Aubo Beijing Robotics Technology Co ltd filed Critical Aubo Beijing Robotics Technology Co ltd
Priority to CN202111269264.3A priority Critical patent/CN113799142B/zh
Publication of CN113799142A publication Critical patent/CN113799142A/zh
Application granted granted Critical
Publication of CN113799142B publication Critical patent/CN113799142B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J18/00Arms
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

本公开提供了一种对机械臂的碰撞防护方法、控制柜以及机械臂系统,其中,所述机械臂包括多个依次连接的连杆;所述方法包括:确定至少一个连杆对,所述连杆对的第一连杆和第二连杆在运动中会发生碰撞;确定所述至少一个连杆对分别对应的防护力;基于所述至少一个连杆对分别对应的防护力,确定第一目标防护力;基于位于控制末端的连杆的当前运动状态对所述第一目标防护力进行处理,确定第二目标防护力;向所述位于控制末端的连杆施加所述第二目标防护力。

Description

对机械臂的碰撞防护方法、控制柜以及机械臂系统
技术领域
本公开涉及机器人技术领域,具体而言,涉及一种对机械臂的碰撞防护方法、控制柜、机械臂系统、对机械臂的碰撞防护装置、计算机设备及存储介质。
背景技术
在对机器人的拖动示教的过程中,由于机械臂上关节之间联动的机械结构较为复杂,因此可能在拖动示教过程中出现机械臂上多个连杆之间的碰撞,更进一步也可能会造成机械臂的损坏并威胁到操作人员的安全。为了使操作人员可以安全顺利的通过拖动示教的方式对机械臂进行编程,需要对拖动示教中的机械臂中可能的发生的自碰撞进行防护。当前,在进行碰撞检测时,通常通过监控电流是否出现表征连杆可能发生碰撞的突变现象,来确定是否执行防护过程,但电流突变后到实际发生碰撞之间的时间较短,难以在较短的时间内快速反应,安全性较差。
发明内容
本公开实施例至少提供一种对机械臂的碰撞防护方法、控制柜、机械臂系统、对机械臂的碰撞防护装置、计算机设备及存储介质。
第一方面,本公开实施例提供了一种对机械臂的碰撞防护方法,所述机械臂包括多个依次连接的连杆;所述方法包括:确定至少一个连杆对,所述连杆对的第一连杆和第二连杆在运动中会发生碰撞;确定所述至少一个连杆对分别对应的防护力;基于所述至少一个连杆对分别对应的防护力,确定第一目标防护力;基于位于控制末端的连杆的当前运动状态对所述第一目标防护力进行处理,确定第二目标防护力;向所述位于控制末端的连杆施加所述第二目标防护力。
一种可选的实施方式中,所述位于控制末端的连杆的当前运动状态包括:所述位于控制末端的连杆在运动坐标系下的当前速度;所述基于位于控制末端的连杆的当前运动状态对所述第一目标防护力进行处理,确定第二目标防护力,包括:基于所述位于控制末端的连杆的所述当前速度、所述目标防护力在运动坐标系下各坐标方向分别对应的防护力分量,确定所述第二目标防护力。
一种可选的实施方式中,所述基于所述位于控制末端的连杆的所述当前速度、所述目标防护力在运动坐标系下各坐标方向分别对应的防护力分量,对所述目标防护力进行处理,确定所述第二目标防护力,包括:确定所述当前速度在所述运动坐标系下各坐标方向分别对应的速度分量;响应于在至少一个坐标方向上存在防护力分量、以及在该坐标方向对应的相反坐标方向上存在速度分量,基于该坐标方向上的所述防护力分量,确定所述第二目标防护力。
一种可选的实施方式中,所述确定所述至少一个连杆对分别对应的防护力,包括:基于所述至少一个连杆对中的第一连杆和第二连杆之间的主从动关系、以及距离,确定所述至少一个连杆对分别对应的防护力。
一种可选的实施方式中,基于所述至少一个连杆对中的第一连杆和第二连杆之间的主从动关系、以及距离,确定所述至少一个连杆对分别对应的防护力,包括:确定所述第一连杆对应的第一碰撞模型和所述第二连杆对应的第二碰撞模型;利用碰撞检测模型对所述第一碰撞模型以及所述第二碰撞模型进行距离检测处理,确定所述第一连杆和所述第二连杆之间的距离;基于所述第一连杆和第二连杆之间的主从动关系、以及所述距离,确定所述至少一个连杆对分别对应的防护力。
一种可选的实施方式中,还包括:基于所述机械臂的点云模型,生成所述机械臂中各个连杆分别对应的碰撞模型。
一种可选的实施方式中,所述利用碰撞检测模型对所述第一碰撞模型以及所述第二碰撞模型进行距离检测处理,确定所述第一连杆和所述第二连杆之间的距离,包括:基于所述第一连杆对应的第一碰撞模型在目标空间中的第一位姿信息、以及所述第二连杆对应的第二碰撞模型在所述目标空间中的第二位姿信息,确定所述第一连杆与所述第二连杆之间的距离。
一种可选的实施方式中,所述基于所述第一连杆对应的第一碰撞模型在目标空间中的第一位姿信息、以及所述第二连杆对应的第二碰撞模型在所述目标空间中的第二位姿信息,确定所述第一连杆与所述第二连杆之间的距离,包括:基于所述第一连杆对应的第一碰撞模型在目标空间中的第一位姿信息、以及所述第二连杆对应的第二碰撞模型在所述目标空间中的第二位姿信息,对所述第一连杆与所述第二连杆进行碰撞检测,确定第一连杆上的第一碰撞点、以及所述第二连杆上的第二碰撞点;基于所述第一碰撞点在所述目标空间中的第一位置信息、以及所述第二碰撞点在所述目标空间中的第二位置信息,确定所述第一连杆与所述第二连杆之间的距离。
一种可选的实施方式中,所述防护力包括:防护力大小、以及防护力方向;所述基于所述第一连杆和第二连杆之间的主从动关系、以及所述距离,确定所述至少一个连杆对分别对应的防护力,包括:基于所述至少一个连杆对中的第一连杆和第二连杆之间的距离,确定所述至少一个连杆对分别对应的防护力的防护力大小;基于所述至少一个连杆对中第一连杆和第二连杆之间的主从动关系,确定所述至少一个连杆对中分别对应的主动连杆以及从动连杆;针对任一连杆对,将该连杆对中的主动连杆作为第一连杆、从动连杆作为第二连杆,基于所述主动连杆上的第一碰撞点、和所述从动连杆上的第二碰撞点,确定所述第一碰撞点指向所述第二碰撞点的方向作为该连杆对对应的防护力的防护力方向。
一种可选的实施方式中,所述基于所述至少一个连杆对中的第一连杆和第二连杆之间的距离,确定所述至少一个连杆对分别对应的防护力的防护力大小,包括:基于所述至少一个连杆对中的第一连杆和第二连杆之间的距离、预设的安全距离阈值、以及预设的危险距离阈值,确定所述至少一个连杆对分别对应的防护力的防护力大小;其中,所述危险距离阈值小于所述安全距离阈值。
第二方面,本公开实施例还提供了一种控制柜,其中,控制柜被配置为执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤,以用于在操控机械臂的过程中的碰撞检测。
第三方面,本公开实施例还提供了一种机械臂系统,包括机械臂以及上述第二方面说明的控制柜;所述机械臂包括:多个依次连接的连杆。
第四方面,本公开实施例还提供一种对机械臂的碰撞防护装置,包括:第一确定模块,用于确定至少一个连杆对,所述连杆对的第一连杆和第二连杆在运动中会发生碰撞;第二确定模块,用于确定所述至少一个连杆对分别对应的防护力;第三确定模块,用于基于所述至少一个连杆对分别对应的防护力,确定第一目标防护力;第四确定模块,用于基于位于控制末端的连杆的当前运动状态对所述第一目标防护力进行处理,确定第二目标防护力;处理模块,用于向所述位于控制末端的连杆施加所述第二目标防护力。
一种可选的实施方式中,所述位于控制末端的连杆的当前运动状态包括:所述位于控制末端的连杆在运动坐标系下的当前速度;所述第四确定模块在基于位于控制末端的连杆的当前运动状态对所述第一目标防护力进行处理,确定第二目标防护力时,用于:基于所述位于控制末端的连杆的所述当前速度、所述目标防护力在运动坐标系下各坐标方向分别对应的防护力分量,确定所述第二目标防护力。
一种可选的实施方式中,所述第四确定模块在基于所述位于控制末端的连杆的所述当前速度、所述目标防护力在运动坐标系下各坐标方向分别对应的防护力分量,对所述目标防护力进行处理,确定所述第二目标防护力时,用于:确定所述当前速度在所述运动坐标系下各坐标方向分别对应的速度分量;响应于在至少一个坐标方向上存在防护力分量、以及在该坐标方向对应的相反坐标方向上存在速度分量,基于该坐标方向上的所述防护力分量,确定所述第二目标防护力。
一种可选的实施方式中,所述第二确定模块在确定所述至少一个连杆对分别对应的防护力时,用于:基于所述至少一个连杆对中的第一连杆和第二连杆之间的主从动关系、以及距离,确定所述至少一个连杆对分别对应的防护力。
一种可选的实施方式中,所述第二确定模块在基于所述至少一个连杆对中的第一连杆和第二连杆之间的主从动关系、以及距离,确定所述至少一个连杆对分别对应的防护力时,用于:确定所述第一连杆对应的第一碰撞模型和所述第二连杆对应的第二碰撞模型;利用碰撞检测模型对所述第一碰撞模型以及所述第二碰撞模型进行距离检测处理,确定所述第一连杆和所述第二连杆之间的距离;基于所述第一连杆和第二连杆之间的主从动关系、以及所述距离,确定所述至少一个连杆对分别对应的防护力。
一种可选的实施方式中,所述第二确定模块还用于:基于所述机械臂的点云模型,生成所述机械臂中各个连杆分别对应的碰撞模型。
一种可选的实施方式中,所述第二确定模块在利用碰撞检测模型对所述第一碰撞模型以及所述第二碰撞模型进行距离检测处理,确定所述第一连杆和所述第二连杆之间的距离时,用于:基于所述第一连杆对应的第一碰撞模型在目标空间中的第一位姿信息、以及所述第二连杆对应的第二碰撞模型在所述目标空间中的第二位姿信息,确定所述第一连杆与所述第二连杆之间的距离。
一种可选的实施方式中,所述第二确定模块在基于所述第一连杆对应的第一碰撞模型在目标空间中的第一位姿信息、以及所述第二连杆对应的第二碰撞模型在所述目标空间中的第二位姿信息,确定所述第一连杆与所述第二连杆之间的距离时,用于:基于所述第一连杆对应的第一碰撞模型在目标空间中的第一位姿信息、以及所述第二连杆对应的第二碰撞模型在所述目标空间中的第二位姿信息,对所述第一连杆与所述第二连杆进行碰撞检测,确定第一连杆上的第一碰撞点、以及所述第二连杆上的第二碰撞点;基于所述第一碰撞点在所述目标空间中的第一位置信息、以及所述第二碰撞点在所述目标空间中的第二位置信息,确定所述第一连杆与所述第二连杆之间的距离。
一种可选的实施方式中,所述防护力包括:防护力大小、以及防护力方向;所述第二确定模块在基于所述第一连杆和第二连杆之间的主从动关系、以及所述距离,确定所述至少一个连杆对分别对应的防护力时,用于:基于所述至少一个连杆对中的第一连杆和第二连杆之间的距离,确定所述至少一个连杆对分别对应的防护力的防护力大小;基于所述至少一个连杆对中第一连杆和第二连杆之间的主从动关系,确定所述至少一个连杆对中分别对应的主动连杆以及从动连杆;针对任一连杆对,将该连杆对中的主动连杆作为第一连杆、从动连杆作为第二连杆,基于所述主动连杆上的第一碰撞点、和所述从动连杆上的第二碰撞点,确定所述第一碰撞点指向所述第二碰撞点的方向作为该连杆对对应的防护力的防护力方向。
一种可选的实施方式中,所述第二确定模块在基于所述至少一个连杆对中的第一连杆和第二连杆之间的距离,确定所述至少一个连杆对分别对应的防护力的防护力大小时,用于:基于所述至少一个连杆对中的第一连杆和第二连杆之间的距离、预设的安全距离阈值、以及预设的危险距离阈值,确定所述至少一个连杆对分别对应的防护力的防护力大小;其中,所述危险距离阈值小于所述安全距离阈值。
第五方面,本公开可选实现方式还提供一种计算机设备,处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第六方面,本公开可选实现方式还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
关于上述对控制柜、机械臂系统、对机械臂的碰撞防护装置、计算机设备及存储介质的效果描述参见上述对机械臂的碰撞防护方法的说明,这里不再赘述。
本公开实施例提供的一种对机械臂的碰撞防护方法、控制柜、机械臂系统、对机械臂的碰撞防护装置、计算机设备及存储介质,采用通过确定机械臂中连杆对的连杆之间的距离,相应的为连杆对确定对应的防护力,并利用连杆对对应的防护力确定第一目标防护力,从而可以根据位于控制末端的连杆的当前运动状态,确定向位于控制末端的连杆施加的第二目标防护力,以抵抗拖动示教过程中外界施加的外力,防止碰撞。该过程利用距离确定连杆之间是否可能产生碰撞的方式进行碰撞防护,较之电流监测的方式而言,可预留的反应时间更加充足,因此也具有更高的安全性。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种对机械臂的碰撞防护方法的流程图;
图2示出了本公开实施例所提供的一种机械臂的示意图;
图3示出了本公开实施例所提供的一种连杆之间的间距d与所需防护力F之间的变化关系的示意图;
图4示出了本公开实施例所提供的一种确定防护力方向的示意图;
图5示出了本公开实施例所提供的一种确定第二目标防护力的示意图;
图6示出了本公开实施例所提供的一种对机械臂的碰撞防护装置的示意图;
图7示出了本公开实施例所提供的一种计算机设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
经研究发现,在对机械臂进行拖动示教的过程中,由于人为的拖动会使得机械臂上的连杆发生位移;这种位移可能会造成机械臂上的不同连杆之间发生碰撞,导致机械臂的损坏甚至威胁到操作人员的安全。为了对机械臂中可能发生的自碰撞进行防护,可以在机械臂上设置传感器;可以通过监测传感器的检测电流发生突变的方式来进行。具体地,由于在机械臂中的连杆可能发生碰撞时,安装在机械臂上的传感器的电流会发生突变,因此在监测到传感器电流发生突变时可以认为与传感器连接的机械臂中的连杆可能发生碰撞,并相应的确定是否执行防护的过程。但是,在这种电流监测的防护方式下,由于电流突变后到实际发生碰撞之间的时间较短,难以在较短的时间内快速反应,这就导致安全性较差。
基于上述研究,本公开提供了一种对机械臂的碰撞防护方法,通过确定连杆对中的连杆之间的距离,从而为可能发生碰撞的连杆对确定对应的防护力,以实现能够更早的对可能发生的碰撞做出预先的防护准备,反应时间充足,因此安全性也更高。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种对机械臂的碰撞防护方法进行详细介绍,本公开实施例所提供的碰撞防护方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如是用于对机械臂进行控制的计算机设备;该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(UserEquipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(PersonalDigital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该碰撞防护方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
下面对本公开实施例提供的一种对机械臂的碰撞防护方法加以说明。其中,本公开实施例提供的机械臂包括多个依次连接的连杆。
参见图1所示,为本公开实施例提供的一种对机械臂的碰撞防护方法的流程图,所述方法包括步骤S101~S105,其中:
S101:确定至少一个连杆对,所述连杆对的第一连杆和第二连杆在运动中会发生碰撞;
S102:确定所述至少一个连杆对分别对应的防护力;
S103:基于所述至少一个连杆对分别对应的防护力,确定第一目标防护力;
S104:基于位于控制末端的连杆的当前运动状态对所述第一目标防护力进行处理,确定第二目标防护力;
S105:向所述位于控制末端的连杆施加所述第二目标防护力。
本公开实施例提供的碰撞防护方法,为可能在运动中会发生碰撞的连杆对分别确定对应的防护力,以确定第一目标防护力。并根据位于控制末端的连杆的当前运动状态,确定向位于控制末端的连杆施加利用第一目标防护力确定的第二目标防护力。这样,通过确定连杆对中的连杆之间的距离,可以为可能发生碰撞的连杆对确定对应的防护力,以抵抗拖动示教过程中外界施加的外力,防止碰撞。该过程利用距离确定连杆之间是否可能产生碰撞的方式进行碰撞防护,较之电流监测的方式而言,可预留的反应时间更加充足,因此也具有更高的安全性。
下面对上述S101~S105加以详细说明。
针对上述S101,针对采用本公开实施例提供的碰撞防护方法进行碰撞防护的机械臂,由于机械臂的结构可以获知,因此机械臂包括的多个依次连接的连杆也可以确定。
示例性的,参见图2所示,为本公开实施例提供的一种机械臂的示意图。其中,在操作台21上放置有机械臂,该机械臂上包含有四个连杆,分别用连杆a、连杆b、连杆c、以及连杆d表示。在本公开实施例中,机械臂上的多个连杆型号可以相同,也可以不同,在此并不做出限定。
在一种可能的应用场景中,例如可以利用图2中示出的机械臂进行拖动示教。在对图2中示出的机械臂进行拖动示教时,由于连杆a固定于操作台上,因此用户可以操作的控制末端位于远离操作台的连杆,也即下文中说明的位于控制末端的连杆,也即连杆d,以实现对机械臂的拖动示教。在进行拖动示教的过程中,由于机械臂中的多个连杆之间存在连接关系,因此响应于拖动操作,由于连杆d发生了移动,与连杆d连接的连杆a、连杆b、以及连杆c均可能会发生移动。示例性的,根据机械臂上的四个连杆实际的连接关系,可以确定与连杆a可能会发生碰撞的机械臂为连杆c以及连杆d,与连杆b可能会发生碰撞的连杆为连杆d,与连杆c可能会发生碰撞的连杆为连杆a,与连杆d可能会发生碰撞的连杆为连杆a和连杆b。
在该种情况下,可以根据可能会发生碰撞的连杆,为机械臂预先确定多个连杆对。也即,在一种可能的情况下,连杆对中包括的两个连杆,为在机械臂中预先确定的可能碰撞的两个连杆。承接上述示例,确定的多个连杆对例如可以表示为[a,c]、[a,d]、[b、d]。示例性的,“[a,c]”表示连杆a可能会和连杆c发生碰撞。
示例性的,针对上述说明的连杆对[a,c],为了便于表述说明,将连杆对中包含的两个连杆称为第一连杆和第二连杆。具体地,例如可以将连杆a作为第一连杆,则相应的将连杆c作为第二连杆;或者,也可以将连杆c作为第一连杆,并相应的将连杆a作为第二连杆。
针对上述S102,在确定在机械臂的运动过程中会发生碰撞的连杆对的情况下,可以相应的为至少一个连杆对中的每个连杆对确定相应的防护力。
具体地,在确定每个连杆对对应的防护力时,由于防护力为矢量,具有防护力大小和防护力方向,因此例如可以采用下述方式确定防护力:基于所述至少一个连杆对中的第一连杆和第二连杆之间的主从动关系、以及距离,确定所述至少一个连杆对分别对应的防护力。其中,利用连杆对中的第一连杆和第二连杆之间的主从动关系,可以相应的确定防护力的防护力方向;而利用第一连杆和第二连杆之间的距离,则可以根据距离的远近,合理地确定该连杆对相应的防护力大小。
在具体实施中,本公开实施例中示例性的提供了一种确定防护力的方式,具体包括:确定所述第一连杆对应的第一碰撞模型和所述第二连杆对应的第二碰撞模型;利用碰撞检测模型对所述第一碰撞模型以及所述第二碰撞模型进行距离检测处理,确定所述第一连杆和所述第二连杆之间的距离;基于所述第一连杆和第二连杆之间的主从动关系、以及所述距离,确定所述至少一个连杆对分别对应的防护力。
其中,在为连杆确定对应的碰撞模型时,例如可以利用机械臂的点云模型,相应的生成机械臂中各个连杆分别对应的碰撞模型。
由于第一连杆与第二连杆在确定碰撞模型时的方式相似,因此以确定的第一连杆的第一碰撞模型为例进行说明。在确定第一连杆的第一碰撞模型时,例如可以根据第一连杆的实际结构确定包围盒(Bounding-Volume,BV),并作为第一连杆的第一碰撞模型,从而可以利用碰撞检测模型(Collision Detection)相应的确定第一连杆与第二连杆之间的距离。
示例性的,为了可以确定第一连杆的第一碰撞模型,则相应的可以获取机械臂的点云模型,从而可以通过对点云模型的语义分割模型或者其他分割方式,为该第一连杆确定对应的点云模型。利用碰撞检测库(flexible-collision-library,FCL)对第一连杆的点云模型进行处理,即可以得到第一连杆对应的包围盒,例如轴对齐包围盒(Axis-alignedbounding box,AABB),或者有向包围盒(Oriented bounding box,OBB)。其中,AABB包围盒以及OBB包围盒确定的碰撞模型均为三维模型。
此处,在一种可能的情况下,确定得到的第一碰撞模型,可以反应第一连杆的形态。示例性的,以图2中示出的任一连杆为例,连杆均为柱形,则相应确定得到的第一碰撞模型可以为圆柱形的模型形状。
相应的,也可以利用与确定第一碰撞模型相似的方式确定第二连杆对应的第二碰撞模型,具体在此不再赘述。
在具体实施中,利用碰撞检测模型对第一碰撞模型以及第二碰撞模型进行距离检测处理时,具体例如可以采用下述方式:基于所述第一连杆对应的第一碰撞模型在目标空间中的第一位姿信息、以及所述第二连杆对应的第二碰撞模型在所述目标空间中的第二位姿信息,确定所述第一连杆与所述第二连杆之间的距离。
这里,在对第一连杆和第二连杆之前的距离进行检测时,例如是在进入拖动示教的过程后实时进行检测的。在一种可能的情况下,可以通过距离确定对应的第一连杆和第二连杆是否可能会发生碰撞。例如,若第一连杆与第二连杆之间的距离小于一定距离,例如下文中说明的预设的安全距离阈值,则相应的可以认为第一连杆与第二连杆可能会发生碰撞。这样,可以在可能发生连杆之间的碰撞时,利用本公开实施例提供的碰撞方法,即可以及时的对机械臂施加防护。
在确定第一碰撞模型在目标空间中的第一位姿信息、以及第二碰撞模型在目标空间中的第二位姿信息时,目标空间例如可以包括机械臂所处的空间。具体在确定第一碰撞模型的第一位姿信息、以及第二碰撞模型的第二位姿信息时,例如可以采用正运动学(Forward Kinematics)求解的方式。
示例性的,在进行正运动学计算之前,例如可以利用可以表达两个相连连杆之间位置角度关系的参数,也即DH(Denavit–Hartenberg parameters)参数,确定机械臂中相邻两个连杆之间的关节在零位时的角度、以及在零位时机械臂中各个连杆的位姿。在机械臂的使用过程中,例如在拖动示教的过程中,由于连杆之间的连接关系,两个相邻连杆之间的关节相对于零位时的角度会出现相应的转角,并且,该转角可以在机械臂的实际使用过程中实时监控。利用该角度值、以及在零位时各个连杆的位姿,可以进行正运动学求解,以确定当前机械臂包含的连杆的位姿信息。
也即,对于上述说明的第一连杆和第二连杆,以第一连杆为例,由于可以采用正运动学求解的方式相应的确定第一连杆对应的位姿信息,并且在上述说明中可以知道,第一连杆对应的第一碰撞模型可以也可以确定,因此可以利用为第一连杆确定的位姿信息,为第一碰撞模型确定对应的第一位姿信息。
相似的,也可以以相似的方式为第二碰撞模型确定对应的第二位姿信息。
由于可以实时监测到第一连杆的第一碰撞模型在目标空间中的第一位姿信息、以及第二连杆的第二碰撞模型在目标空间中的第二位姿信息,因此可以相应的实时确定第一连杆与所述第二连杆之间的距离。
具体地,例如可以采用下述方式:基于所述第一连杆对应的第一碰撞模型在目标空间中的第一位姿信息、以及所述第二连杆对应的第二碰撞模型在所述目标空间中的第二位姿信息,对所述第一连杆与所述第二连杆进行碰撞检测,确定第一连杆上的第一碰撞点、以及所述第二连杆上的第二碰撞点;基于所述第一碰撞点在所述目标空间中的第一位置信息、以及所述第二碰撞点在所述目标空间中的第二位置信息,确定所述第一连杆与所述第二连杆之间的距离。
其中,在进行碰撞检测时,例如可以采用层次包围盒(Bounding VolumeHierarchies,BVH)的碰撞检测方法。利用层次包围盒的方式,可以分别在第一连杆以及第二连杆上分别检测到第一连杆与第二连杆之间距离最近的点。由于第一连杆与第二连杆上距离最近的点所在的位置,也即为第一连杆和第二连杆在发生碰撞时最先碰撞到的位置,因此可以将该第一连杆上的点确定为第一连杆上的第一碰撞点,并将该第二连杆上的点确定为第二连杆上的第二碰撞点。
相应的,在确定第一连杆上的第一碰撞点、以及第二连杆上的第二碰撞点时,也可以相应的确定第一碰撞点在目标空间中的第一位置信息、以及第二碰撞点在目标空间中的第二位置信息,具体例如可以采用三维坐标值表示,表示位置信息的具体方式在此并不做出限定。利用第一碰撞点对应的第一位置信息、以及第二碰撞点对应的第二位置信息,即可以确定第一连杆与第二连杆之间最近的距离,作为第一连杆与第二连杆之间的距离。
示例性的,对于上述说明的连杆对[a,c]、[a,d]、[b、d],其中,针对连杆对[a,c],对应确定的其中第一连杆与第二连杆之间的距离为dac;针对连杆对[a,d],对应确定的其中第一连杆与第二连杆之间的距离为dad;针对连杆对[b、d],对应确定的其中第一连杆与第二连杆之间的距离为dbd
在确定第一连杆与第二连杆之间的距离的情况下,利用第一连杆和第二连杆之间的主从动关系,可以相应的确定至少一个连杆对分别对应的防护力。其中,防护力包括防护力大小以及防护力方向。
在具体实施中,在确定至少一个连杆对分别对应的防护力时,具体例如可以采用下述方式:基于所述至少一个连杆对中的第一连杆和第二连杆之间的距离,确定所述至少一个连杆对分别对应的防护力的防护力大小;基于所述至少一个连杆对中第一连杆和第二连杆之间的主从动关系,确定所述至少一个连杆对中分别对应的主动连杆以及从动连杆;针对任一连杆对,将该连杆对中的主动连杆作为第一连杆、从动连杆作为第二连杆,基于所述主动连杆上的第一碰撞点、和所述从动连杆上的第二碰撞点,确定所述第一碰撞点指向所述第二碰撞点的方向作为该连杆对对应的防护力的防护力方向。
首先,对确定防护力的防护力大小加以说明。针对任一连杆对,在利用该连杆对中的第一连杆和第二连杆之间的距离确定该连杆对对应的防护力的防护力大小时,例如可以基于所述至少一个连杆对中的第一连杆和第二连杆之间的距离、预设的安全距离阈值、以及预设的危险距离阈值确定。其中,所述危险距离阈值小于所述安全距离阈值。
此处,安全距离阈值例如可以表示为dth,具体可以根据连杆的尺寸、以及对防碰撞的实际要求等确定,在此并不做出限定。示例性的,可以确定在第一连杆与第二连杆之间的距离小于15厘米时,判断可能会发生碰撞。在一种可能的情况下,若连杆对中的第一连杆与第二连杆之间的距离大于安全距离阈值dth,则相应的认为第一连杆与第二连杆之间的距离较远,不会发生碰撞,则对应的为该连杆对确定的防护力为0。
示例性的,针对上述说明的连杆对[a,c]、[a,d]、[b、d],依次对每个连杆对中的第一连杆以及第二连杆之间的距离进行检测,例如可以确定连杆对[b、d]中第一连杆以及第二连杆之间的距离dbd超过安全距离阈值dth,因此为该连杆对确定的防护力为0。
而对于包括的第一连杆与第二连杆之间的距离小于安全距离阈值dth的连杆对,例如连杆对[a,c]以及[a,d],可以相应的利用第一连杆与第二连杆之间的距离、安全距离阈值dth、以及危险距离阈值dcr,为该连杆对确定对应的防护力的防护力大小。
此处,危险距离阈值dcr在数值上小于安全距离阈值dth,具体可以根据实际情况确定危险距离阈值dcr的具体数值。示例性的,对应于上述说明的安全距离阈值dth为15厘米的情况,危险距离阈值dcr例如可以设置为5厘米。另外,在一种可能的情况下,可以认为在第一连杆和第二连杆之间的距离小于该危险距离阈值dcr的情况下,在第一连杆和第二连杆碰撞前可以反应的时间过短,因而无法做出有效的防护,并容易损坏机械臂。
在一种可能的情况下,具体基于连杆对中第一连杆和第二连杆之间的距离、预设的危险距离阈值、以及安全距离阈值,确定防护力大小时,例如可以采用下述公式(1):
Figure BDA0003328097810000161
其中,Fprotect表示确定的防护力;λ表示增益系数,具体可以根据实际情况确定;di表示连杆对中第一连杆和第二连杆之间的距离,示例性的,例如可以包括上述说明的连杆对[a,c]对应的距离dac、以及连杆对[a,d]对应的距离dad
示例性的,针对连杆对[a,c],利用上述公式(1)可以相应的确定的对应的防护力大小为|Fpro-ac|;针对连杆对[a,d],利用上述公式(1)可以相应的确定的对应的防护力大小为|Fpro-ad|。
针对上述公式(1),参见图3所示,为本公开实施例提供的一种连杆之间的间距d与所需防护力F之间的变化关系的示意图。根据该示意图可知,在连杆对中第一连杆和第二连杆之间的距离di,在距离di越接近危险距离阈值dcr的情况下,所需防护力F的数值越大;在距离di越接近安全距离阈值dth的情况下,所需防护力F的数值越小。采用公式(1),即可以相应的利用图3示出的变化关系,相应的为连杆对确定对应的防护力大小。
另外,由上述图3也可以获知,对于具有单调性、且在靠近某数值时可以达到无穷的函数,例如tan(x)、ex等,均可以用于确定第一连杆和第二连杆之间的距离。因此,上述公式(1)仅作为在确定防护力大小时的一种可选方式,并不对确定防护力大小的方式做出限定。
在确定防护力方向时,例如可以先确定连杆对中的第一连杆和第二连杆的主从动关系。示例性的,对于图2中示出的机械臂而言,其中远离控制末端的连杆安装在操作台上,因此可以相应的确定靠近操作台的连杆为主动连杆,相对远离操作台的连杆为从动连杆。示例性的,对于连杆对[a,c],其中可以确定的主动连杆为连杆a、从动连杆为连杆c。
此处,利用主动连杆中确定的中心点位置、以及从动连杆中的中心点位置,可以进一步确定防护力方向。以上述连杆对[a,c]中的主动连杆:连杆a、以及从动连杆:连杆c为例,参见图4所示,为本公开实施例提供的一种确定防护力方向的示意图(为了便于描述,在图中省略了连杆d);若将连杆a作为第一连杆,连杆c作为第二连杆,则可以相应的确定连杆a上的第一碰撞点p1以及连杆c上的第二碰撞点p2。在确定连杆对[a,c]对应的防护力方向时,连杆a的第一碰撞点p1指向连杆c的第二碰撞点p2的箭头41指示的方向,即为连杆对[a,c]对应的防护力的防护力方向,例如可以表示为
Figure BDA0003328097810000171
另外,示例性的,也可以相应的为连杆对[a,d]确定对应的防护力的防护力方向,例如可以表示为
Figure BDA0003328097810000172
具体的确定方式与上述确定连杆对[a,c]对应的防护力的防护力方向相似,此处不再赘述。
此处,即可以确定至少一个连杆对分别对应的防护力。示例性的,对于上述说明的连杆对[a,c]、[a,d]、[b、d],其中,上述连杆对[a,c],为其确定的防护力
Figure BDA0003328097810000173
的防护力大小为|Fpro-ac|,方向为
Figure BDA0003328097810000174
针对上述连杆对[a,d],为其确定的防护力
Figure BDA0003328097810000175
的防护力大小为|Fpro-ad|,方向为
Figure BDA0003328097810000176
相应计算合力后,确定的目标防护力对应的方向例如为
Figure BDA0003328097810000181
大小为Fpro;针对上述连杆对[b、d],为其确定的防护力
Figure BDA0003328097810000182
大小为0。
针对上述S103,在确定至少一个连杆对分别对应的防护力的情况下,即可以确定至少一个连杆对分别对应的防护力的合力,此处,将该合力称之为第一目标防护力。此处,由于在实时检测连杆对中第一连杆与第二连杆之间的距离时,即可以根据确定出的各连杆对分别对应的防护力,进一步确定第一目标防护力,则可以保证预先做好利用第一目标防护力实现碰撞防护的准备。
在一种可能的情况下,由于第一目标防护力为多个连杆对对应的防护力进行合力的求解确定的,而多个连杆对中包括实际可能发生碰撞的连杆对,因此利用得到的第一目标防护力,可以确定作为用于对机械臂中的多个连杆进行碰撞防护所使用的第二目标防护力。
针对上述S104,由于在确定第一目标防护力时,具体通过确定多个连杆对相应的防护力确定,而防护力具体是通过连杆对中的两个连杆之间的距离确定的。在一种可能的情况下,若任一连杆对中的两个连杆背离运动,则不会发生碰撞,因此无需施加防护力;但此时若两个连杆之间的距离小于安全距离阈值,也会相应的为该连杆对确定对应的防护力。因此,为了合理的施加防护力,在根据上述S103预先确定可第一目标防护力的情况下,还可以基于位于控制末端的连杆的当前运动状态对所述第一目标防护力进行处理,确定第二目标防护力。其中,位于控制末端的连杆参见上述S101中的说明,在此不再赘述。
此处,位于控制末端的连杆的当前运动状态例如可以包括其在运动坐标系下的当前速度。其中,运动坐标系例如为三维坐标系;在确定运动坐标系时,可以对位于控制末端的连杆所在的目标空间建立三维坐标系,作为位于控制末端的连杆对应的运动坐标系,或者,也可以基于机械臂所在的操作台建立三维坐标系,作为位于控制末端的连杆对应的运动坐标系。此处,仅示出可能的部分示例,具体建立运动坐标系的方式,以及所使用的运动坐标系可以根据实际情况确定,在此并不做出限定。
在具体实施中,确定位于控制末端的连杆的当前速度时,例如可以采用传感器采集得到的感应数据确定。其中,确定当前速度的传感器例如可以包括位于控制末端的连杆上的传感器,例如电流传感器,相应的感应数据例如可以包括控制末端的连杆上的电流。利用控制末端的连杆上检测到的电流的方向,可以相应的确定控制末端的连杆当前的移动方向。或者,位于控制末端的连杆上的传感器,例如也可以是光电编码器,可以通过将控制末端的连杆的几何位移量转换为脉冲数字量,也即感应数据,这样也可以确定控制末端的连杆的移动方向。
在基于位于控制末端的连杆的当前运动状态对所述第一目标防护力进行处理,确定第二目标防护力时,例如可以采用下述方式:基于所述位于控制末端的连杆的所述当前速度、所述目标防护力在运动坐标系下各坐标方向分别对应的防护力分量,确定所述第二目标防护力。
示例性的,在拖动示教的场景中,通常通过对控制末端的连杆进行拖动,因此在由于拖动造成连杆之间可能会发生碰撞的情况下时,可以相应的将确定的第二目标防护力施加在控制末端的连杆上,以利用与拖动时对连杆施加的力相抵抗的第二目标防护力,阻止对机械臂的进一步拖动,从而保证机械臂中的连杆不会发生碰撞。
此处,也即可以根据位于控制末端的连杆的所述当前速度,确定第二目标防护力中是否存在与该当前速度相反的防护力分量,从而确定向位于控制末端的连杆施加的第二目标防护力。
在具体实施中,例如可以使用运动坐标系,对第一目标防护力与位于控制末端的连杆的当前运动状态做出相应的判断,以得到第二目标防护力。具体例如可以采用下述方式:确定所述当前速度在所述运动坐标系下各坐标方向分别对应的速度分量;响应于在至少一个坐标方向上存在防护力分量、以及在该坐标方向对应的相反坐标方向上存在速度分量,基于该坐标方向上的所述防护力分量,确定所述第二目标防护力。
为了便于描述,参见图5所示,为本公开实施例提供的一种确定第二目标防护力的示意图。其中,在图5中示出了一个运动坐标系,其中,其中,以“x”、“y”、“z”相应的标注出了运动坐标系正向的坐标轴,并加以实线坐标轴表示;以“x’”、“y’”、“z’”相应的标注出了运动坐标系反向的坐标轴,并加以虚线坐标轴表示。在运动坐标系中,以示例的形式表示出了第一目标防护力F1,为了便于说明,将第一目标防护力F1的起点表示在运动坐标系的原点处,以实线表示。另外,也相应的表示出当前速度V,相似的,为了便于说明,将当前速度的方向的起点表示在运动坐标系的原点处,以虚线表示。
利用运动坐标轴,例如可以为第一目标防护力F1确定在x轴的防护力分量F1-x、以及在y轴的防护力分量F1-y(均对应于第一目标防护力F1以实线表示)。相似的,可以为当前速度确定在x’轴的速度分量Vx'、以及在y’轴的防护力分量Vy'(均对应于当前速度V以虚线表示)。在该实例中,为了便于表述,在y轴以及y’轴上不存在速度分量以及防护力分量。在具体情况中,并不限定可能会存在速度分量和/或防护力分量的坐标方向。
此处,在x轴上具有防护力分量F1-x,在x轴的相反坐标方向上,也即x’轴方向上,存在速度分量Vx',则可以确定位于控制末端的连杆在向x’轴方向运动时,可能会发生碰撞,因此相应的确定需要在x轴方向上施加防护力分量F1-x。相似的,在y轴上具有防护力分量F1-y,在y轴的相反坐标方向上,也即y’轴方向上,存在速度分量Vy',则可以确定位于控制末端的连杆在向y’轴方向运动时,可能会发生碰撞,因此相应的确定需要在y轴方向上施加防护力分量F1-y
其中,确定的防护力分量F1-x、以及防护力分量F1-y,也即确定的第二目标防护力。
针对上述S105,在确定第二目标防护力的情况下,也即相应的确定此时机械臂的移动可能会导致连杆的碰撞,因此,可以相应的向所述位于控制末端的连杆施加所述第二目标防护力。
其中,在向控制末端的连杆施加第二目标防护力时,具体在施加第二目标防护力时的作用点,例如可以是控制末端的连杆的中心点。
这样,在确定机械臂中可能发生连杆间碰撞的情况下,通过确定的第二目标防护力施加至控制末端连杆,以阻碍机械臂中可能碰撞的连杆的移动,从而有效的对连杆进行防护。
在本公开另一实施例中,在确定向控制末端的连杆施加第二目标防护力的情况下,也可以相应的对机械臂进行柔顺控制。示例性的,基于第二目标防护力,可以确定向机械臂发送相应的控制信号,以使机械臂可以响应于该控制信号进行进一步动作。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了一种控制柜,其中,控制柜被配置为执行本公开实施例提供的碰撞防护方法,用于在操控机械臂的过程中的碰撞检测。
其中,配置柜在操控机械臂的过程中的碰撞检测的具体过程,可以参考本公开实施例中所述的机械臂的碰撞防护方法的步骤,此处不再赘述。
另外,本公开实施例中还提供了一种机械臂系统,在该机械臂系统中,包括机械臂、以及本公开实施例中提供的控制柜。其中,机械臂中包括多个依次连接的连杆,具体可以参见对碰撞防护方法的说明中对机械臂的描述,在此同样不再赘述。
基于同一发明构思,本公开实施例中还提供了一种对机械臂的碰撞防护装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述对机械臂的碰撞处理方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图6所示,为本公开实施例提供的一种对机械臂的碰撞防护装置的示意图,所述装置包括:第一确定模块61、第二确定模块62、第三确定模块63、第四确定模块64以及处理模块65;其中,
第一确定模块61,用于确定至少一个连杆对,所述连杆对的第一连杆和第二连杆在运动中会发生碰撞;第二确定模块62,用于确定所述至少一个连杆对分别对应的防护力;第三确定模块63,用于基于所述至少一个连杆对分别对应的防护力,确定第一目标防护力;第四确定模块64,用于基于位于控制末端的连杆的当前运动状态对所述第一目标防护力进行处理,确定第二目标防护力;处理模块65,用于向所述位于控制末端的连杆施加所述第二目标防护力。
一种可选的实施方式中,所述位于控制末端的连杆的当前运动状态包括:所述位于控制末端的连杆在运动坐标系下的当前速度;所述第四确定模块64在基于位于控制末端的连杆的当前运动状态对所述第一目标防护力进行处理,确定第二目标防护力时,用于:基于所述位于控制末端的连杆的所述当前速度、所述目标防护力在运动坐标系下各坐标方向分别对应的防护力分量,确定所述第二目标防护力。
一种可选的实施方式中,所述第四确定模块64在基于所述位于控制末端的连杆的所述当前速度、所述目标防护力在运动坐标系下各坐标方向分别对应的防护力分量,对所述目标防护力进行处理,确定所述第二目标防护力时,用于:确定所述当前速度在所述运动坐标系下各坐标方向分别对应的速度分量;响应于在至少一个坐标方向上存在防护力分量、以及在该坐标方向对应的相反坐标方向上存在速度分量,基于该坐标方向上的所述防护力分量,确定所述第二目标防护力。
一种可选的实施方式中,所述第二确定模块62在确定所述至少一个连杆对分别对应的防护力时,用于:基于所述至少一个连杆对中的第一连杆和第二连杆之间的主从动关系、以及距离,确定所述至少一个连杆对分别对应的防护力。
一种可选的实施方式中,所述第二确定模块62在基于所述至少一个连杆对中的第一连杆和第二连杆之间的主从动关系、以及距离,确定所述至少一个连杆对分别对应的防护力时,用于:确定所述第一连杆对应的第一碰撞模型和所述第二连杆对应的第二碰撞模型;利用碰撞检测模型对所述第一碰撞模型以及所述第二碰撞模型进行距离检测处理,确定所述第一连杆和所述第二连杆之间的距离;基于所述第一连杆和第二连杆之间的主从动关系、以及所述距离,确定所述至少一个连杆对分别对应的防护力。
一种可选的实施方式中,所述第二确定模块62还用于:基于所述机械臂的点云模型,生成所述机械臂中各个连杆分别对应的碰撞模型。
一种可选的实施方式中,所述第二确定模块62在利用碰撞检测模型对所述第一碰撞模型以及所述第二碰撞模型进行距离检测处理,确定所述第一连杆和所述第二连杆之间的距离时,用于:基于所述第一连杆对应的第一碰撞模型在目标空间中的第一位姿信息、以及所述第二连杆对应的第二碰撞模型在所述目标空间中的第二位姿信息,确定所述第一连杆与所述第二连杆之间的距离。
一种可选的实施方式中,所述第二确定模块62在基于所述第一连杆对应的第一碰撞模型在目标空间中的第一位姿信息、以及所述第二连杆对应的第二碰撞模型在所述目标空间中的第二位姿信息,确定所述第一连杆与所述第二连杆之间的距离时,用于:基于所述第一连杆对应的第一碰撞模型在目标空间中的第一位姿信息、以及所述第二连杆对应的第二碰撞模型在所述目标空间中的第二位姿信息,对所述第一连杆与所述第二连杆进行碰撞检测,确定第一连杆上的第一碰撞点、以及所述第二连杆上的第二碰撞点;基于所述第一碰撞点在所述目标空间中的第一位置信息、以及所述第二碰撞点在所述目标空间中的第二位置信息,确定所述第一连杆与所述第二连杆之间的距离。
一种可选的实施方式中,所述防护力包括:防护力大小、以及防护力方向;所述第二确定模块62在基于所述第一连杆和第二连杆之间的主从动关系、以及所述距离,确定所述至少一个连杆对分别对应的防护力时,用于:基于所述至少一个连杆对中的第一连杆和第二连杆之间的距离,确定所述至少一个连杆对分别对应的防护力的防护力大小;基于所述至少一个连杆对中第一连杆和第二连杆之间的主从动关系,确定所述至少一个连杆对中分别对应的主动连杆以及从动连杆;针对任一连杆对,将该连杆对中的主动连杆作为第一连杆、从动连杆作为第二连杆,基于所述主动连杆上的第一碰撞点、和所述从动连杆上的第二碰撞点,确定所述第一碰撞点指向所述第二碰撞点的方向作为该连杆对对应的防护力的防护力方向。
一种可选的实施方式中,所述第二确定模块62在基于所述至少一个连杆对中的第一连杆和第二连杆之间的距离,确定所述至少一个连杆对分别对应的防护力的防护力大小时,用于:基于所述至少一个连杆对中的第一连杆和第二连杆之间的距离、预设的安全距离阈值、以及预设的危险距离阈值,确定所述至少一个连杆对分别对应的防护力的防护力大小;其中,所述危险距离阈值小于所述安全距离阈值。
另外,本公开实施例还提供了一种计算机设备,如图7所示,为本公开实施例提供的计算机设备结构示意图,包括:
处理器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 (12)

1.一种对机械臂的碰撞防护方法,其特征在于,所述机械臂包括多个依次连接的连杆;所述方法包括:
确定至少一个连杆对,所述连杆对的第一连杆和第二连杆在运动中会发生碰撞;
确定所述至少一个连杆对分别对应的防护力;
基于所述至少一个连杆对分别对应的防护力,确定第一目标防护力;
基于位于控制末端的连杆的当前运动状态对所述第一目标防护力进行处理,确定第二目标防护力;所述位于控制末端的连杆的当前运动状态包括:所述位于控制末端的连杆在运动坐标系下的当前速度;
向所述位于控制末端的连杆施加所述第二目标防护力,以防止连杆发生碰撞。
2.根据权利要求1所述的碰撞防护方法,其特征在于,所述基于位于控制末端的连杆的当前运动状态对所述第一目标防护力进行处理,确定第二目标防护力,包括:
基于所述位于控制末端的连杆的所述当前速度、所述第一目标防护力在运动坐标系下各坐标方向分别对应的防护力分量,确定所述第二目标防护力。
3.根据权利要求2所述的碰撞防护方法,其特征在于,所述基于所述位于控制末端的连杆的所述当前速度、所述第一目标防护力在运动坐标系下各坐标方向分别对应的防护力分量,对所述第一目标防护力进行处理,确定所述第二目标防护力,包括:
确定所述当前速度在所述运动坐标系下各坐标方向分别对应的速度分量;
响应于在至少一个坐标方向上存在防护力分量、以及在该坐标方向对应的相反坐标方向上存在速度分量,基于该坐标方向上的所述防护力分量,确定所述第二目标防护力。
4.根据权利要求1-3任一项所述的碰撞防护方法,其特征在于,所述确定所述至少一个连杆对分别对应的防护力,包括:
基于所述至少一个连杆对中的第一连杆和第二连杆之间的主从动关系、以及距离,确定所述至少一个连杆对分别对应的防护力。
5.根据权利要求4所述的碰撞防护方法,其特征在于,所述基于所述至少一个连杆对中的第一连杆和第二连杆之间的主从动关系、以及距离,确定所述至少一个连杆对分别对应的防护力,包括:
确定所述第一连杆对应的第一碰撞模型和所述第二连杆对应的第二碰撞模型;
利用碰撞检测模型对所述第一碰撞模型以及所述第二碰撞模型进行距离检测处理,确定所述第一连杆和所述第二连杆之间的距离;
基于所述第一连杆和第二连杆之间的主从动关系、以及所述距离,确定所述至少一个连杆对分别对应的防护力。
6.根据权利要求5所述的碰撞防护方法,其特征在于,还包括:基于所述机械臂的点云模型,生成所述机械臂中各个连杆分别对应的碰撞模型。
7.根据权利要求5所述的碰撞防护方法,其特征在于,所述利用碰撞检测模型对所述第一碰撞模型以及所述第二碰撞模型进行距离检测处理,确定所述第一连杆和所述第二连杆之间的距离,包括:
基于所述第一连杆对应的第一碰撞模型在目标空间中的第一位姿信息、以及所述第二连杆对应的第二碰撞模型在所述目标空间中的第二位姿信息,确定所述第一连杆与所述第二连杆之间的距离。
8.根据权利要求7所述的碰撞防护方法,其特征在于,所述基于所述第一连杆对应的第一碰撞模型在目标空间中的第一位姿信息、以及所述第二连杆对应的第二碰撞模型在所述目标空间中的第二位姿信息,确定所述第一连杆与所述第二连杆之间的距离,包括:
基于所述第一连杆对应的第一碰撞模型在目标空间中的第一位姿信息、以及所述第二连杆对应的第二碰撞模型在所述目标空间中的第二位姿信息,对所述第一连杆与所述第二连杆进行碰撞检测,确定第一连杆上的第一碰撞点、以及所述第二连杆上的第二碰撞点;
基于所述第一碰撞点在所述目标空间中的第一位置信息、以及所述第二碰撞点在所述目标空间中的第二位置信息,确定所述第一连杆与所述第二连杆之间的距离。
9.根据权利要求5所述的碰撞防护方法,其特征在于,所述防护力包括:防护力大小、以及防护力方向;
所述基于所述第一连杆和第二连杆之间的主从动关系、以及所述距离,确定所述至少一个连杆对分别对应的防护力,包括:
基于所述至少一个连杆对中的第一连杆和第二连杆之间的距离,确定所述至少一个连杆对分别对应的防护力的防护力大小;
基于所述至少一个连杆对中第一连杆和第二连杆之间的主从动关系,确定所述至少一个连杆对中分别对应的主动连杆以及从动连杆;
针对任一连杆对,将该连杆对中的主动连杆作为第一连杆、从动连杆作为第二连杆,基于所述主动连杆上的第一碰撞点、和所述从动连杆上的第二碰撞点,确定所述第一碰撞点指向所述第二碰撞点的方向作为该连杆对对应的防护力的防护力方向。
10.根据权利要求9所述的碰撞防护方法,其特征在于,所述基于所述至少一个连杆对中的第一连杆和第二连杆之间的距离,确定所述至少一个连杆对分别对应的防护力的防护力大小,包括:
基于所述至少一个连杆对中的第一连杆和第二连杆之间的距离、预设的安全距离阈值、以及预设的危险距离阈值,确定所述至少一个连杆对分别对应的防护力的防护力大小;其中,所述危险距离阈值小于所述安全距离阈值。
11.一种控制柜,其特征在于,所述控制柜被配置为执行权利要求1-10任一项所述的碰撞防护方法,用于在操控机械臂的过程中的碰撞检测。
12.一种机械臂系统,其特征在于,包括:机械臂以及如权利要求11所述的控制柜;所述机械臂包括:多个依次连接的连杆。
CN202111269264.3A 2021-10-29 2021-10-29 对机械臂的碰撞防护方法、控制柜以及机械臂系统 Active CN113799142B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111269264.3A CN113799142B (zh) 2021-10-29 2021-10-29 对机械臂的碰撞防护方法、控制柜以及机械臂系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111269264.3A CN113799142B (zh) 2021-10-29 2021-10-29 对机械臂的碰撞防护方法、控制柜以及机械臂系统

Publications (2)

Publication Number Publication Date
CN113799142A CN113799142A (zh) 2021-12-17
CN113799142B true CN113799142B (zh) 2023-02-21

Family

ID=78898365

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111269264.3A Active CN113799142B (zh) 2021-10-29 2021-10-29 对机械臂的碰撞防护方法、控制柜以及机械臂系统

Country Status (1)

Country Link
CN (1) CN113799142B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108015774A (zh) * 2017-12-15 2018-05-11 北京艾利特科技有限公司 一种无需传感器的机械臂碰撞检测方法
CN110696000A (zh) * 2019-11-21 2020-01-17 河北工业大学 一种机械臂试探感知的避障方法
CN111360824A (zh) * 2020-02-27 2020-07-03 中科新松有限公司 一种双臂自碰撞检测方法和计算机可读存储介质
JP2021045816A (ja) * 2019-09-18 2021-03-25 株式会社東芝 冗長自由度ロボットアームの操作支援装置、方法及びプログラム
CN113334379A (zh) * 2021-05-30 2021-09-03 南京理工大学 一种基于虚拟力的主从跟随与避碰方法
CN113334392A (zh) * 2021-08-06 2021-09-03 成都博恩思医学机器人有限公司 一种机械臂防碰撞方法、装置、机器人及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108015774A (zh) * 2017-12-15 2018-05-11 北京艾利特科技有限公司 一种无需传感器的机械臂碰撞检测方法
JP2021045816A (ja) * 2019-09-18 2021-03-25 株式会社東芝 冗長自由度ロボットアームの操作支援装置、方法及びプログラム
CN110696000A (zh) * 2019-11-21 2020-01-17 河北工业大学 一种机械臂试探感知的避障方法
CN111360824A (zh) * 2020-02-27 2020-07-03 中科新松有限公司 一种双臂自碰撞检测方法和计算机可读存储介质
CN113334379A (zh) * 2021-05-30 2021-09-03 南京理工大学 一种基于虚拟力的主从跟随与避碰方法
CN113334392A (zh) * 2021-08-06 2021-09-03 成都博恩思医学机器人有限公司 一种机械臂防碰撞方法、装置、机器人及存储介质

Also Published As

Publication number Publication date
CN113799142A (zh) 2021-12-17

Similar Documents

Publication Publication Date Title
CN108983978B (zh) 虚拟手控制方法及装置
US11220002B2 (en) Robot simulation device
Magrini et al. Estimation of contact forces using a virtual force sensor
CN111360824B (zh) 一种双臂自碰撞检测方法和计算机可读存储介质
EP3031585A2 (en) Collision avoidance method, control device, and program
Safeea et al. Minimum distance calculation for safe human robot interaction
JP6863927B2 (ja) ロボットのシミュレーション装置
CN111590587B (zh) 机器人的负载质心范围的确定方法及绘制方法
CN114728413A (zh) 用于控制远程机器人的图形用户界面的方法和系统
Popov et al. Real-time external contact force estimation and localization for collaborative robot
US10105847B1 (en) Detecting and responding to geometric changes to robots
US20190184563A1 (en) Method for collision detection and autonomous system
Huang et al. Visionless tele-exploration of 3d moving objects
CN109807933B (zh) 一种能力图点云更新方法、装置、设备及存储介质
CN113799142B (zh) 对机械臂的碰撞防护方法、控制柜以及机械臂系统
Kivelä et al. Redundant robotic manipulator path planning for real-time obstacle and self-collision avoidance
Kot et al. Control system of a mobile robot manipulator
Fetzner et al. A 3D representation of obstacles in the robots reachable area considering occlusions
Dube et al. A model of the humanoid body for self collision detection based on elliptical capsules
CN110549375A (zh) 一种用于机械臂的防护门防撞方法及系统
Kim et al. A RRT-based collision-free and occlusion-free path planning method for a 7DOF manipulator
CN109977536B (zh) 机器人在危险工作环境中的态势评估方法
US11660755B2 (en) Apparatus and method for monitoring a working environment
Kivelä et al. On-line path planning with collision avoidance for coordinate-controlled robotic manipulators
Lu et al. Human-robot collision detection based on the improved camshift algorithm and bounding box

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.