CN117297791A - 机械臂的控制方法、医疗系统、计算机设备 - Google Patents
机械臂的控制方法、医疗系统、计算机设备 Download PDFInfo
- Publication number
- CN117297791A CN117297791A CN202210703008.9A CN202210703008A CN117297791A CN 117297791 A CN117297791 A CN 117297791A CN 202210703008 A CN202210703008 A CN 202210703008A CN 117297791 A CN117297791 A CN 117297791A
- Authority
- CN
- China
- Prior art keywords
- target
- mechanical arm
- preset
- target mechanical
- current
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 121
- 230000008569 process Effects 0.000 claims abstract description 55
- 239000000725 suspension Substances 0.000 claims abstract description 25
- 238000012423 maintenance Methods 0.000 claims abstract description 24
- 238000004422 calculation algorithm Methods 0.000 claims description 45
- 238000001514 detection method Methods 0.000 claims description 39
- 230000004044 response Effects 0.000 claims description 39
- 238000005070 sampling Methods 0.000 claims description 22
- 238000013016 damping Methods 0.000 claims description 13
- 230000005484 gravity Effects 0.000 claims description 7
- 238000012544 monitoring process Methods 0.000 claims description 7
- 230000001172 regenerating effect Effects 0.000 claims description 3
- 230000005856 abnormality Effects 0.000 abstract description 17
- 238000004891 communication Methods 0.000 description 18
- 230000001133 acceleration Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011895 specific detection Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B34/00—Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
- A61B34/30—Surgical robots
- A61B34/37—Master-slave robots
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B34/00—Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
- A61B34/70—Manipulators specially adapted for use in surgery
- A61B34/76—Manipulators having means for providing feel, e.g. force or tactile feedback
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B34/00—Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
- A61B34/70—Manipulators specially adapted for use in surgery
- A61B34/77—Manipulators with motion or force scaling
Landscapes
- Health & Medical Sciences (AREA)
- Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Surgery (AREA)
- Robotics (AREA)
- Biomedical Technology (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Heart & Thoracic Surgery (AREA)
- Medical Informatics (AREA)
- Molecular Biology (AREA)
- Animal Behavior & Ethology (AREA)
- General Health & Medical Sciences (AREA)
- Public Health (AREA)
- Veterinary Medicine (AREA)
- Manipulator (AREA)
Abstract
本说明书提供了机械臂的控制方法、医疗系统、计算机设备。基于该方法,可以先检测是否满足预设的触发条件;在确定满足预设的触发条件的情况下,再根据预设的控制规则,控制目标机械臂按照相匹配的方式维持于相应位置处;其中,预设的控制规则包括以下至少之一:预设的回位控制规则、预设的悬浮控制规则、预设的维持控制规则。这样,一方面,可以在确定进入安全模式或发生故障异常等满足预设的触发条件的情况下,自动控制目标机械臂以合适的方式维持于合适的位置处,以方便用户后续再次使用;另一方面,还可以有效地减少在操作过程中碰撞对机械臂造成的损伤,较好地保护机械臂。
Description
技术领域
本说明书属于医疗机器人技术领域,尤其涉及机械臂的控制方法、医疗系统、计算机设备。
背景技术
通常当医疗设备(例如,医疗机器人)在进入安全模式或发生故障异常时,医疗设备会直接停止对机械臂的作用力。这时,机械臂会自然落下。
基于上述方法,在实际操作过程中,机械臂自然落下时很容易发生碰撞,进而对机械臂造成损伤;此外,后续用户如果要再次使用该医疗设备,常常需要自行将机械臂拖回到合适的位置处才能启动使用,进而对用户的后续再次使用造成了不便。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本说明书提供了机械臂的控制方法、医疗系统、计算机设备,一方面,可以在确定进入安全模式或发生故障异常等满足预设的触发条件的情况下,自动控制目标系统的目标机械臂以合适的方式维持于合适的位置处,以方便医生用户后续再次使用;另一方面,还可以有效地减少操作过程中的碰撞对机械臂造成的损伤,较好地保护机械臂。
本说明书实施例提供了一种机械臂的控制方法,包括:检测是否满足预设的触发条件;在确定满足预设的触发条件的情况下,根据预设的控制规则,控制目标机械臂按照相匹配的方式维持于相应位置处;其中,预设的控制规则包括以下至少之一:预设的回位控制规则、预设的悬浮控制规则、预设的维持控制规则。
本说明书实施例还提供了一种医疗系统,至少包括机械臂和控制装置,其中,所述控制装置用于采用所述机械臂的控制方法控制机械臂按照相匹配的方式维持于相应位置处。
本说明书实施例还提供了一种计算机设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现所述机械臂的控制方法的相关步骤。
本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现所述机械臂的控制方法的相关步骤。
基于本说明书提供的机械臂的控制方法、医疗系统、计算机设备,通过先判断目标系统是否进入安全模式或目标系统是否出现故障异常等来检测是否满足预设的触发条件;在确定满足预设的触发条件的情况下,再通过根据预设的控制规则,控制目标机械臂按照相匹配的方式维持于相应位置处;其中,预设的控制规则包括以下至少之一:预设的回位控制规则、预设的悬浮控制规则、预设的维持控制规则。这样,一方面,在确定进入安全模式或发生故障异常等满足预设的触发条件的情况下,目标系统可以自动、及时地控制目标机械臂以合适的方式维持于合适的位置处,以方便用户后续再次使用;另一方面,还可以有效地减少操作过程中的碰撞对机械臂造成的损伤,较好地保护机械臂。
进一步,还通过根据目标机械臂的当前关节位置,判断目标机械臂的当前关节位置是否属于预设的操作区间,以及目标机械臂的当前关节位置与目标位置的距离是否大于预设的距离阈值,智能地从预设的回位控制规则、预设的悬浮控制规则、预设的维持控制规则中自动选择相匹配的控制规则来准确地控制目标机械臂,使用户可以获得相对更好的交互体验。
并且,在根据目标回位路径,控制目标机械臂移动至目标位置的移动过程中,还通过检测目标机械臂在移动过程中是否发生碰撞;并在确定目标机械臂在移动过程中发生碰撞的情况下,及时地进行预设的应急处理,从而可以进一步减少操作过程中的碰撞对机械臂造成的损伤,更好地保护机械臂。
此外,还在根据目标回位路径,控制目标机械臂移动至目标位置的移动过程中,通过引入并利用预设的外力观测算法来检测目标机械臂所受到的外力。这样,可以不需要额外增加诸如应力传感器、加速度传感器等新的传感器,也不需要对机械臂的原有结构进行改造,仅利用机械臂现有的传感器就能够以较低的成本,高效、准确地检测出目标机械臂在移动过程中所受到的外力。
附图说明
为了更清楚地说明本说明书实施例,下面将对实施例中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书的一个实施例提供的机械臂的控制方法的流程示意图;
图2是应用本说明书实施例提供的机械臂的控制方法的医生控制台的结构组成的一个实施例的示意图;
图3是在一个场景示例中,应用本说明书实施例提供的机械臂的控制方法时所确定的目标机械臂的目标位置和预设的操作区间的示意图;
图4是在一个场景示例中,应用本说明书实施例提供的机械臂的控制方法在进行轨迹规划时得到的目标机械臂的加速度与时间的关系曲线图;
图5是在一个场景示例中,应用本说明书实施例提供的机械臂的控制方法在进行轨迹规划时得到的目标机械臂的位置与时间的关系曲线图;
图6是在一个场景示例中,应用本说明书实施例提供的机械臂的控制方法在进行轨迹规划时得到的目标机械臂的速度与时间的关系曲线图;
图7是在一个场景示例中,应用本说明书实施例提供的机械臂的控制方法检测目标机械臂在移动过程中是否发生碰撞的实施例示意图;
图8是在一个场景示例中,应用本说明书实施例提供的机械臂的控制方法时所使用的预设的外力观测算法的实施例示意图;
图9是在一个场景示例中,应用本说明书实施例提供的机械臂的控制方法根据预设的悬浮控制规则控制目标机械臂时的实施例示意图;
图10是在一个场景示例中,应用本说明书实施例提供的机械臂的控制方法在确定的不存在发散运动趋势情况下得到的关节位置响应曲线示意图;
图11是本说明书的一个实施例提供的计算机设备的结构组成示意图;
图12是本说明书的一个实施例提供的机械臂的控制装置的结构组成示意图;
图13是本说明书的一个实施例提供的医疗设备的结构组成示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
参阅图1所示,本说明书实施例提供了一种机械臂的控制方法。具体实施时,该方法可以包括以下内容:
S101:检测是否满足预设的触发条件;
S102:在确定满足预设的触发条件的情况下,根据预设的控制规则,控制目标机械臂按照相匹配的方式维持于相应位置处;其中,预设的控制规则包括以下至少之一:预设的回位控制规则、预设的悬浮控制规则、预设的维持控制规则。
在一些实施例中,上述机械臂的控制方法具体可以应用于设置有机械臂的目标系统一侧。其中,上述目标系统具体可以是医疗系统,例如,手术机器人、医生控制台(或称医生台车)、患者手术平台等等。当然,需要说明的是,上述所列举的目标系统只是一种示意性说明。具体实施时,根据具体的应用场景和处理需求,还可以将本说明书所提供的机械臂的控制方法应用于其他系统中,例如,工厂中用于进行自动化装配的装配系统等。上述目标机械臂具体可以理解为设置于目标系统的待控制的机械臂。
下面主要以目标系统为医生控制台为例,进行具体说明。对于应用于其他系统的情况,可以参阅应用于医生控制台的实施例。对此,本说明书不再赘述。
具体的,参阅图2所示。相应的,目标机械臂具体可以包括医生控制台的主手机械臂(或称为主端机械臂)。其中,上述主手机械臂进一步可以包括右主手机械臂和左主手机械臂。上述主手机械臂的关节具体可以是使用柔性材料制成的,具有柔顺特点。
除目标机械臂外,上述医生控制台进一步还可以包括:扶手(或称医生扶手)、从手机械臂(或称从端机械臂)、立体监视器等其他部件。
此外,上述医生控制台还可以布设有传感器和控制器等。其中,上述传感器具体可以包括:力矩传感器、关节速度传感器、关节位置传感器等等。上述控制器具体可以包括:变刚度控制器(或称柔顺控制器)、临界阻尼抱闸控制器、PD关节控制器、零力控制器等等。上述医生控制台还可以设置有处理器。
上述医生控制台还可以与其他系统相连。例如,上述医生控制台还可以与患者手术平台、图像平台等系统相连。
具体实施时,医生控制台的处理器在确定医生控制台进入安全模式,或者出现故障异常时,确定满足预设的触发条件。
这时,处理器可以通过传感器采集相关数据,例如,通过关节位置传感器采集目标机械臂的当前关节位置等;并根据上述相关数据从预设的回位控制规则、预设的悬浮控制规则、预设的维持控制规则确定出相匹配的预设的控制规则。
进而,处理器可以根据相匹配的预设的控制规则,通过相应的控制器,控制主手机械臂停止运动;并控制主手机械臂按照相匹配的方式维持于相应位置处,以便于用户后续再次使用;同时也可以减少主手机械臂由于自然落下发生碰撞所造成的损伤。
在一些实施例中,上述满足预设的触发条件具体可以理解为目标系统进入安全模式,或者目标系统出现故障异常,再或者是与目标系统相连的其他系统出现故障异常。
在一些实施例中,上述检测是否满足预设的触发条件,具体可以包括:检测目标系统是否进入安全模式;在确定目标系统进入安全模式的情况下,确定满足预设的触发条件。
具体实施时,可以通过查询并根据目标系统当前的安全模式标识的数据值来检测目标系统是否进入安全模式。其中,上述安全模式标识(例如,SafeFlag)的数据值具体可以存储于目标系统的存储器,或目标系统的相关日志文件中。
具体的,在确定当前的安全模式标识的数据值为第一数据值(例如,“True”,或“1”)的情况下,可以确定目标系统进入安全模式;在确定当前的安全模式标识的数据值为第二数据值(例如,“False”,或“0”)的情况下,可以确定目标系统未进入安全模式。
在确定目标系统进入安全模式之后,还可以发起安全提示,以提示用户目标系统当前进入安全模式。其中,上述安全提示具体可以是声音提示,也可以是图像提示,还可以是文本提示等等。
在一些实施例中,目标系统可以实时或定时(例如,每间隔1分钟等)先进行异常检测,根据异常检测结果,更新安全模式标识的数据值。
其中,上述异常检测具体可以包括以下至少之一:对目标系统中的目标机械臂的异常检测;对目标系统中除目标机械臂以外的其他部件的异常检测;对与目标系统相连的其他系统的异常检测。
具体对目标系统中的目标机械臂进行异常检测时,在检测到目标机械臂的关节码盘计算出的位置值与电机码盘计算出的关节位置值之间的偏差值大于等于预设的偏差阈值;和/或,检测到目标机械臂的关节码盘或电机码盘检反馈的数据出现跳变;和/或,在检测到目标机械臂的关节位置超出预设的安全位置范围;和/或,检测到目标机械臂的关节速度大于预设的速度阈值;和/或,检测到目标机械臂的关节输出力矩大于预设的力矩阈值等情况下,确定存在故障异常。进而可以将安全模式标识的数据值由第二数据值更新为第一数据值。
具体对目标系统中除目标机械臂以外的其他部件的异常检测时,在检测到关于目标系统中的从手机械臂的异常指示信息;和/或,检测到目标系统中的立体监视器的报错提示等情况下,确定存在故障异常。进而可以将安全模式标识的数据值由第二数据值更新为第一数据值。
具体对与目标系统相连的其他系统的异常检测时,在检测到关于图像平台的内窥镜图像处理机的报错提示;和/或,检测到关于患者手术平台的工具臂的异常指示信息;和/或,检测到其他系统的安全提示信息等情况下,确定存在故障异常。进而可以将安全模式标识的数据值由第二数据值更新为第一数据值。
在一些实施例中,具体检测是否满足预设的触发条件时,还可以在检测到来自目标系统或与目标系统相连的其他系统的异常指示信息或报错提示时,确定满足预设的触发条件;或者,在检测到来自用户的暂停指令时,确定满足预设的触发条件。
在一些实施例中,上述预设的控制规则具体可以理解为一种针对机械臂的移动位置和移动方式的控制规则。具体的,上述预设的控制规则可以包括以下至少之一:预设的回位控制规则、预设的悬浮控制规则、预设的维持控制规则。
其中,基于预设的回位控制规则,可以自动控制机械臂先移动回目标位置处;再维持于目标位置处,以方便用户后续再次使用。
基于预设的悬浮控制规则,可以控制机械臂静止于当前关节位置处;并为机械臂提供一定的力矩,以便用户后续可以轻松、便利地将机械臂拖到自己期望的位置处。
基于预设的维持控制规则,可以控制机械臂停止于当前关节位置处;并将机械臂锁住在当前关节位置处,以避免机械臂自行运动发生碰撞导致损伤。
通过上述实施例,在确定目标系统满足预设的触发条件的情况下,可以根据具体情况和操作要求,从多个预设的控制规则中确定出相匹配的预设的控制规则;进而可以根据相匹配的预设的控制规则,控制目标机械臂按照相匹配的方式维持于相应位置处,以满足多样化的场景需求。
在一些实施例中,上述根据预设的控制规则,控制目标机械臂按照相匹配的方式维持于相应位置处,具体实施时,可以包括以下内容:
S1:检测目标机械臂的当前关节位置是否属于预设的操作区间;
S2:在确定目标机械臂的当前关节位置不属于预设的操作区间的情况下,根据预设的回位控制规则,控制目标机械臂按照相匹配的方式移动并维持于目标位置处。
其中,参阅图3所示,上述预设的操作区间具体可以理解为适合用户操作的目标机械臂的最佳遥控区间(或最适操作区间)。上述预设的操作区间的具体范围可以根据目标机械臂的结构属性,和/或,用户个人的使用习惯灵活确定。
上述目标位置(也可以称为零位,或零点位置)具体可以包括:初始位置或自定义位置。其中,上述初始位置具体可以为默认的目标机械臂开机自检后所停留的位置。上述自定义位置具体可以为用户自定义设置的位置。例如,用户根据自己的使用习惯,觉得预设操作区间中的A位置相对于初始位置更方便,可以通过发起相应的设置操作,将A位置设定为目标位置。上述当前关节位置具体可以理解在确定满足预设的触发条件时目标机械臂的关节的所在位置。
具体实施时,可以通过关节位置传感器采集目标机械臂的当前关节位置;再检测目标机械臂的当前关节位置是否属于预设的操作区间的范围内。
具体的,可以先从目标机械臂的多个关节中确定出在操作过程中不会离开预设的操作区间的关节(例如,左主手机械臂与医生控制台连接处的关节),以及在操作过程中存在概率会离开预设的操作区间的关节(例如,左主手机械臂最外侧的关节);并将在操作过程中存在概率会离开预设的操作区间的关节记为目标关节。相应的,在具体检测时,可以通过关节位置传感器只采集目标机械的目标关节的当前关节位置;再检测上述目标关节的当前关节位置是否属于预设的操作区间的范围内。
在检测到目标机械臂的当前关节位置不属于预设的操作区间的情况下,可以预判后续用户再次使用目标系统的目标机械臂时,需要自行将目标机械臂恢复到预设的操作区间内,才能使用。为了简化用户操作,可以选择并根据预设的回位控制规则,自动控制目标机械臂按照相匹配的方式移动并维持于目标位置处,以方便用户后续再次使用;同时,也能减少目标机械臂发生碰撞的概率。
在一些实施例中,在检测目标机械臂的当前关节位置是否属于预设的操作区间之后,所述方法具体实施时,还可以包括以下内容:
S1:在确定目标机械臂的当前关节位置属于预设的操作区间的情况下,检测目标机械臂的当前关节位置与目标位置的距离是否大于预设的距离阈值;
S2:在确定目标机械臂的当前关节位置与目标位置的距离大于预设的距离阈值的情况下,根据预设的回位控制规则,控制目标机械臂按照相匹配的方式移动并维持于目标位置处;在确定目标机械臂的当前关节位置与目标位置的距离小于等于预设的距离阈值的情况下,根据预设的悬浮控制规则或预设的维持控制规则控制目标机械臂按照相匹配的方式维持于当前关节位置处。
具体实施时,在采集得到目标机械臂的当前关节位置之后,可以先通过运动学正解计算目标机械臂的笛卡尔位置,记为CartPos1(简记为CartP1);再计算目标机械臂的笛卡尔位置与目标位置之间的距离,作为目标机械臂的当前关节位置与目标位置的距离,记为D1;再将D1与预设的距离阈值(例如,D0)进行数值比较。其中,上述预设的距离阈值具体可以根据目标机械臂的结构属性和用户的使用习惯灵活设置。
在确定D1大于D0的情况下,可以预判用户后续再次使用目标机械臂时不方便,大概率还需要再将目标机械臂恢复到目标位置后才能使用。为了简化用户操作,这时可以选择并根据预设的回位控制规则,自动控制目标机械臂按照相匹配的方式移动并维持于目标位置处,以方便用户后续再次使用;同时,也能减少目标机械臂发生碰撞的概率。
相反,在确定D1小于等于D0的情况下,可以预判用户后续可以直接使用当前关节位置处的目标机械臂,不需要再额外进行拖移恢复。这时可以选择并根据预设的悬浮控制规则或预设的维持控制规则控制目标机械臂按照相匹配的方式维持于当前关节位置处,以减少目标机械臂发生碰撞的概率。
在一些实施例中,具体实施时,还可以在确定满足预设的触发条件的情况下,先向用户发送控制规则选择请求;再接收并根据用户针对控制规则选择请求的反馈结果,确定出用户选中的预设的控制规则;进而可以根据用户选中的预设的控制规则,控制目标机械臂按照相匹配的方式维持于相应位置处,以满足用户个性化的使用需求。
在一些实施例中,上述根据预设的回位控制规则,控制目标机械臂按照相匹配的方式移动并维持于目标位置处,具体实施时,可以包括以下内容:
S1:获取目标机械臂的当前关节位置和目标位置;
S2:根据目标机械臂的当前关节位置和目标位置,通过轨迹规划,生成目标回位路径;其中,目标回位路径的起始点为目标机械臂的当前关节位置,结束点为目标位置;
S2:根据目标回位路径,控制目标机械臂移动至目标位置;并将目标机械臂维持于目标位置处。
具体进行轨迹规划时,可以先采集目标机械臂中各个关节的当前关节位置;根据当前关节位置和目标位置,在笛卡尔空间中进行轨迹规划,得到规划轨迹;再将规划轨迹通过运动学逆解计算到目标机械臂的各个关节,得到各个关节的回位路径(或称回零路径),作为目标机械臂的目标回位路径。其中,上述回位路径具体可以理解为以当前关节位置为起始点,以目标位置为结束点的路径轨迹。
在一些实施例中,具体进行轨迹规划时,可以根据预设的轨迹规划算法来生成目标回位路径。其中,预设的轨迹规划算法具体可以包括以下至少之一:T型轨迹规划算法、多项式法的轨迹规划算法、B样条的轨迹规划算法。
以T型轨迹规划算法为例,具体实施时,可以先基于T型轨迹规划算法在笛卡尔空间进行轨迹规划分别得到目标机械臂的加速度与时间的关系、目标机械臂的速度与时间的关系,以及目标机械臂的位置与时间的关系,具体可以参阅图4、图5、图6。再基于上述多种关系,确定得到以下的目标回位路径计算公式:
其中,q(t)为目标机械臂的关节位置运动路径,qi为路径的起始点,为目标机械臂的关节加速度,/>为目标机械臂的关节速度,qc目标机械臂的关节位置,qf为路径的结束点,tc为目标机械臂的关节加速时间,tf为目标机械臂的运动时间,tj为目标机械臂的关节减速时间。
进而,可以根据上述目标回位路径,通过相应的控制器控制目标机械的加速度、速度,以精准地将目标机械臂移动至目标位置处。
具体的,例如,可以通过变刚度控制器基于上述目标回位路径以较为柔顺地方式将目标机械臂移动至目标位置处;并通过变刚度控制器将目标机械臂维持于目标位置处。从而可以有效地减少移动过程中的碰撞,以及碰撞对机械臂所造成的损伤。
在一些实施例中,在生成目标回位路径之后,所述方法具体实施时,还可以包括以下内容:对目标回位路径进行轨迹点采样,得到多个采样点;对所述多个采样点进行碰撞检测;在确定多个采样点中至少存在一个采样点存在碰撞的情况下,调整目标回位路径。
具体对采样点进行碰撞检测时,可以先获取目标系统中的其他部件的当前位置;再将多个采样点的位置与其他部件的当前位置进行位置比对,得到对应的比对结果;根据比对结果,在确定多个采样点中至少存在一个采样点的位置与至少一个其他部件的当前位置的距离小于参考距离时,确定多个采样点中至少存在一个采样点存在碰撞。
这时,可以对目标回位路径进行调整,以避开发生碰撞的采样点,以得到调整后的目标回位路径。进一步,可以对调整后的目标回位路径再次进行碰撞检测,直到得到不存在发生碰撞的采样点的目标回位路径为止。这样,可以得到预计发生碰撞概率较小的目标回位路径,进而可以基于该目标回位路径较为安全地将目标机械臂时移动至目标位置。
在一些实施例中,在根据目标回位路径,控制目标机械臂移动至目标位置的移动过程中,所述方法具体实施时,还可以包括以下内容:
S1:检测目标机械臂在移动过程中是否发生碰撞;
S2:在确定目标机械臂在移动过程中发生碰撞的情况下,进行预设的应急处理;其中,预设的应急处理包括以下至少之一:降低目标机械臂的移动速度,执行柔顺控制模式,重新生成目标回位路径。
通过上述实施例,在根据目标回位路径移动目标机械臂的过程中,还可以通过已有的传感器检测目标机械臂在移动过程中是否发生碰撞,并在检测到目标机械臂发生碰撞时,及时地进行预设的应急处理,以有效地避免后续碰撞,或者减轻碰撞对机械臂的损伤,从可以较好地保护机械臂。
具体实施时,可以通过监测关节位置传感器、关节速度传感器、力矩传感器等传感器采集的数据的变化情况来确定目标机械臂在移动过程中是否发生碰撞;还可以基于上述传感器所采集的数据,利用预设的外力观测算法,确定出目标机械臂所受到的外力;再基于所受到的外力来确定目标机械臂在移动过程中是否发生碰撞。其中,上述预设的外力观测算法具体可以理解为一种基于对象的速度、动量等非力学参数来计算该对象所受到的外力的算法。
在一些实施例中,在确定目标机械臂在移动过程中发生碰撞的情况下,还可以生成并发起关于目标机械臂的碰撞提示,及时地提示用户目标机械臂发生碰撞,以便用户在必要的情况下进行人工操作,或者人工选择最合适预设的应急处理方式,进一步减少碰撞对目标机械臂的损伤。其中,上述碰撞提示具体可以是警报提示,也可以是图像提示,还可以是短信提示等等。
在一些实施例中,参阅图7所示,上述检测目标机械臂在移动过程中是否发生碰撞,具体实施时,可以包括以下内容:
S1:对目标机械臂进行运动学检测,得到运动学检测结果;
S2:根据运动学检测结果,确定目标机械臂是否发生碰撞;
S3:在根据运动学检测结果,确定目标机械臂未发生碰撞的情况下,根据预设的外力观测算法,确定目标机械臂在移动过程中是否发生碰撞。
具体对目标机械臂进行运动学检测时,可以先根据目标机械臂的CAD三维模型,确定出针对目标机械臂的最小包络体作为目标包络体;其中,所述目标包络体具体可以包括:长方体、圆柱体或者其他合适几何形状体。同时,确定出目标系统中除目标机械臂以外的其他部件的最小包络体,作为障碍包络体。接着,可以在目标机械臂的每个控制周期内,监测目标包络体与障碍包络体是否发生干涉,得到对应的运动学检测结果。根据运动学检测结果,在确定目标包络体与障碍包络体发生干涉时,可以确定目标机械臂在移动过程中发生碰撞。
在仅根据运动学检测结果,确定目标机械臂未发生碰撞的情况下,可以进一步根据预设的外力观测算法,通过预测并根据目标机械臂所受到的外力,从而可以更加精准地确定出目标机械臂在移动过程中是否发生碰撞。
在一些实施例中,参阅图7所示,上述根据预设的外力观测算法,确定目标机械臂在移动过程中是否发生碰撞,具体实施时,可以包括以下内容:
S1:根据预设的外力观测算法,确定目标机械臂在各个控制周期所受到的外力;
S2:检测目标机械臂是否存在连续预设个数个控制周期所受到的外力大于预设的外力阈值;
S3:在确定目标机械臂存在连续预设个数个控制周期所受到的外力大于预设的外力阈值的情况下,确定目标机械臂在移动过程中发生碰撞。
具体实施时,参阅图8所示,可以仅基于现有的传感器所采集到的相关数据(例如,目标机械臂的关节位置、关节速度、关节力矩等),通过预设的外力观测算法(例如,外力观测器FunTor的算法),计算得到目标机械臂所受到外力(可以记为:TorExt)。
具体的,可以按照以下方式,根据预设的外力观测算法,获取目标机械臂在当前控制周期所受到的外力:先通过传感器所采集到的相关数据,获取并利用目标机械臂在当前控制周期的关节位置、关节速度和关节力矩(或驱动力矩),基于动力学模型,计算出目标机械臂在当前控制周期的理论动量与实际动量的偏差;再根据目标机械臂在当前控制周期的理论动量与实际动量的偏差,计算出目标机械臂在当前控制周期所受到的外力。
其中,所受到的外力具体可以包括:目标机械臂的拖动力,以及目标机械臂与其他部件接触时形成的接触力。
具体的,根据预设的外力观测算法,可以按照以下算式,计算目标机械臂在当前控制周期所受到的外力:
其中,r为目标机械臂在当前控制周期所受到的外力的观测值,K1、K2分别为第一增益系数、第二增益系数,e为目标机械臂在当前控制周期的理论动量与实际动量的偏差。
具体利用上述算式求解目标机械臂在当前控制周期所受到的外力时,可以先获取外力估计值作为初始值;再将上述初始值代入上述算式中,并进行多次迭代,直到出现收敛,停止迭代;再将停止迭代时该算式中的外力值作为目标机械臂在当前控制周期所受到的外力。
具体计算外力时,可以根据具体情况通过调整第一增益系数、第二增益系数的具体值,以调整所确定出的外力的准确度。
通过上述实施例,可以在不需要额外增加传感器、不需要使用关节加速度,仅利用已有的传感器所采集到的数据就能够精准地确定出目标机械臂所受到的外力,有效地降低了处理成本。
进一步,参阅图7所示,可以将每个控制周期所受到的外力TorExt分别与预设的外力阈值(可以记为TorExtMax)进行比较,每连续检测到一个控制周期所受到的外力大于预设的外力阈值时,在已累计的连续个控制周期所受到的外力大于预设的外力阈值的计数n上加1,得到更新后的个数n+1。在检测到存在连续预设个数个(例如,n_max)控制周期所受到的外力大于预设的外力阈值时,确定目标机械臂在移动过程中发生碰撞;否则,确定目标机械臂在移动过程中未发生碰撞。从而可以精准地识别出目标机械臂在移动过程中是否发生碰撞。
在一些实施例中,在确定目标机械臂在移动过程中发生碰撞的情况下,执行柔顺控制模式,具体实施时,可以包括以下内容:
S1:采集目标机械臂的当前关节位置(例如,q)、当前关节速度(例如,v)和当前关节力矩(例如,TorCur);
S2:根据预设的外力观测算法,利用目标机械臂的当前关节位置、当前关节速度和当前关节力矩,计算目标机械臂所受到的当前外力(例如,TorExt);
S1:根据预设的外力观测算法,确定目标机械臂所受到的当前外力;
S2:对当前外力进行限幅处理,得到限幅后的当前外力;
S3:根据限幅后的当前外力,计算柔顺位置;
S4:根据柔顺位置,修正目标位置,得到修正后的目标位置;
S5:控制目标机械臂移动至修正后的目标位置。
具体的,上述根据预设的外力观测算法,确定目标机械臂所受到的当前外力,可以包括:获取目标机械臂的当前关节位置(例如,q)、当前关节速度(例如,v)和当前关节力矩(例如,TorCur);根据预设的外力观测算法,利用目标机械臂的当前关节位置、当前关节速度和当前关节力矩,计算目标机械臂所受到的当前外力(例如,TorExt)。
具体的,可以将计算出的柔顺位置记为:CmpPos,将目标位置记为:JointAim。可以在目标位置上加上柔顺位置,得到修正后的目标位置:JointPos=JointAim+CmpPos。
进而,可以通过关节控制器(例如,变刚度控制器)控制目标机械臂移动至修正后的目标位置处,以减少移动过程中发生的碰撞。
在柔顺控制模式下,通过变刚度控制器移动目标机械臂时,当目标机械臂与其他部件等障碍物发生接触时,可以通过计算外力确定出目标机械臂的接触力;再通过上述方式经过柔顺控制修正目标机械臂的关节的目标位置以有效地避免目标机械臂在移动过程中与其他部件等障碍物的碰撞。
此外,上述目标机械臂的关节具体还可以是使用柔性材料制成的,具有柔性特征,能够在一定程度上产生形变。因此,具体通过变刚度控制器移动目标机械臂时,在检测到在目标机械臂与障碍物发生碰撞的情况下,可以利用目标机械臂的关节的柔性特征,顺着目标机械臂所接触的障碍物的表面滑动,以进一步减少对碰撞对目标机械臂的影响,减少碰撞对目标机械臂所造成的损伤,从而可以更好地保护目标机械臂。
在一些实施例中,在确定目标机械臂在移动过程中发生碰撞的情况下,还可以根据预设的减速规则,降低目标机械臂的移动速度,以减少碰撞对目标机械臂的损伤。其中,预设的减速规则具体可以是预先通过对大量样本机械臂的历史移动记录进行整理和学习所确定的。
在一些实施例中,在确定目标机械臂在移动过程中发生碰撞的情况下,还可以确定发生碰撞的位置;并根据发生碰撞的位置,有针对性地重新进行轨迹规划,以重新生成能够更好地减少碰撞的目标回位路径。进而,后续可以基于重新生成目标回位路径,继续控制目标机械臂移动至目标位置处。
在一些实施例中,参阅图9所示,上述根据预设的悬浮控制规则控制目标机械臂按照相匹配的方式维持于当前关节位置处,具体实施时,可以包括以下内容:
S1:获取目标机械臂的当前关节位置、当前关节速度;
S2:根据目标机械臂的当前关节位置、当前关节速度,确定针对当前状态下的目标机械臂的目标关节力矩;
S3:根据目标机械臂的目标关节力矩,控制目标机械臂停止运动,并以悬浮的状态维持于当前关节位置处。
在一些实施例中,上述根据目标机械臂的当前关节位置、当前关节速度,确定针对当前状态下的目标机械臂的目标关节力矩,具体可以包括:基于动力学模型,利用当前关节位置,确定目标机械臂当前状态下的关节重力;根据当前关节速度,计算用于停止目标机械臂当前状态下的运动的阻尼力;根据关节重力和阻尼力,确定针对当前状态下的目标机械臂的目标关节力矩。
具体实施时,可以基于动力学模型计算出目标机械臂在当前状态下的各个关节的重力GraTor。同时根据当前关节速度,确定出能够使得目标机械臂从当前运动模式下快速停止运动的阻尼力DampTor。进而可以按照以下算式,确定出针对当前状态下的目标机械臂的目标关节力矩:JointTor=GraTor+DampTor。
接着,可以通过零力控制器输出上述目标关节力矩,以使得目标机械臂在阻尼力的作用下,快速地停止运动;同时,不会锁住目标机械臂的关机,而是以悬浮的状态将目标机械臂维持在当前关节位置处。
在上述悬浮的状态下,用户可以很便捷地通过手动拖移将目标机械臂移动到任意位置处,同时保持目标机械臂的姿态关节始终保持与从手机械臂的姿态相匹配。
在一些实施例中,上述根据预设的维持控制规则控制目标机械臂按照相匹配的方式维持于当前关节位置处,具体实施时,可以包括以下内容:
S1:采集目标机械臂的当前关节位置,并控制目标机械臂维持于当前关节位置处;
S2:根据预设的运动趋势检测算法,监测目标机械臂是否存在发散运动趋势;
S3:在监测到目标机械臂存在发散运动趋势的情况下,锁住目标机械臂的关节位置。
具体实施时,可以采集目标机械臂的当前关节位置,记为HoldJoint。再通过关节控制器将目标机械臂维持于当前关节位置处。同时,还会根据预设的运动趋势检测算法,监测目标机械臂是否存在发散运动趋势。在监测到存在发散运动趋势的情况下,可以通过临界阻尼抱闸控制器锁住目标机械臂的关节位置,进行抱闸操作,以避免目标机械臂继续运动,从而可以有效地避免目标机械臂由于运动所产生的碰撞。其中,临界阻尼抱闸控制器在锁住目标机械臂的关节位置时所使用的抱闸力大小适中,能够使得目标机械臂处于临界阻尼状态。
在通过临界阻尼抱闸控制器控制目标机械臂静止时,临界阻尼抱闸控制器可以停止抱闸操作。进而可以继续监测目标机械臂是否存在发散运动趋势。
基于预设维持控制规则可以控制目标机械臂以Hold模式维持于当前关节位置处。在Hold模式下,目标机械臂的关机会被锁住,相应的,目标机械臂不会在外力的作用下发生移动,从而可以有效地避免目标机械臂移动时的碰撞所造成的损伤。
在一些实施例中,上述根据预设的运动趋势检测算法,监测目标机械臂是否存在发散运动趋势,具体实施时,可以包括以下内容:
S1:获取目标机械臂第一时间点的关节位置响应峰值;并检测第一时间点的关节位置响应峰值是否大于预设的峰值阈值;
S2:在确定第一时间点的关节位置响应峰值大于预设的峰值阈值的情况下,获取第二时间点的关节位置响应峰值;并检测第二时间点的关节位置响应峰值是否大于预设的峰值阈值;
S3:在确定第二时间点的关节位置响应峰值大于预设的峰值阈值的情况下,检测第二时间点的关节位置响应峰值是否大于第一时间点的关节位置响应峰值;
S4:在确定第二时间点的关节位置响应峰值大于第一时间点的关节位置响应峰值的情况下,确定目标机械臂存在发散运动趋势。
通过上述实施例,可以利用预设的运动趋势检测算法,精准地判断出目标机械臂是否存在发散运动趋势。
通常在不存在发散运动趋势的情况下,关节位置响应曲线可以参阅图10所示。其中,HJ_P1、HJ_P2、HJ_P3、HJ_P4分别表示不同时间点的关节位置响应峰值。
根据预设的运动趋势检测算法,具体监测目标机械臂是否存在发散运动趋势时,可以将当前时间点监测到的第一个关节位置响应峰值记录为:ErrPosMax(得到第一时间点的关节位置响应峰值);再将ErrPosMax与HJEPS(预设的峰值阈值)进行比较。
根据比较结果,如果ErrPosMax小于等于HJEPS,则确定当前不存在发散运动趋势,进而可以采集下一个时间点的关节位置响应峰值,以继续对是否存在发散运动趋势进行监测。如果ErrPosMax大于HJEPS,则采集下一个时间点的关节位置响应峰值,记为:ErrPosi(得到第二时间点的关节位置响应峰值);再将ErrPosi与HJEPS(预设的峰值阈值)进行比较。
根据比较结果,如果ErrPosi小于等于HJEPS,继续对是否存在发散运动趋势进行监测。如果ErrPosi大于HJEPS,进一步将ErrPosi与ErrPosMax进行比较。
根据比较结果,如果ErrPosMax小于ErrPosi,则可以确定出目标机械臂存在发散运动趋势。相反,如果ErrPosMax大于等于ErrPosi,则可以定当前不存在发散运动趋势,进而可以采集下一个时间点的关节位置响应峰值,以继续对是否存在发散运动趋势进行监测。
在确定目标机械臂存在发散运动趋势时,可以将发散运动趋势标识的数据值由原来的“false”更新为“true”。
相应的,目标系统可以通过检测发散运动趋势标识的数据值来确定目标机械臂是否存在发散运动趋势。
由上可见,基于本说明书实施例提供的机械臂的控制方法,通过先检测是否满足预设的触发条件;在确定满足预设的触发条件的情况下,再通过根据预设的控制规则,控制目标机械臂按照相匹配的方式维持于相应位置处;其中,预设的控制规则包括以下至少之一:预设的回位控制规则、预设的悬浮控制规则、预设的维持控制规则。这样,一方面,可以在确定进入安全模式或发生故障等满足预设的触发条件的情况下,自动控制目标机械臂以合适的方式维持于合适的位置处,以方便用户后续再次使用;另一方面,还可以有效地减少操作过程中的碰撞对机械臂造成的损伤,较好地保护机械臂。
进一步,还可以根据目标机械臂的当前关节位置,通过判断目标机械臂的当前关节位置是否属于预设的操作区间,以及目标机械臂的当前关节位置与目标位置的距离是否大于预设的距离阈值,从预设的回位控制规则、预设的悬浮控制规则、预设的维持控制规则中智能地选择相匹配的控制规则来准确地控制目标机械臂,使用户可以获得更好的交互体验。
并且,在根据目标回位路径,控制目标机械臂移动至目标位置的移动过程中,还通过检测目标机械臂在移动过程中是否发生碰撞;并在确定目标机械臂在移动过程中发生碰撞的情况下,及时地进行预设的应急处理,以进一步减少操作过程中的碰撞对机械臂造成的损伤,更好地保护机械臂。
此外,还在根据目标回位路径,控制目标机械臂移动至目标位置的移动过程中,引入并利用预设的外力观测算法来检测目标机械臂所受到的外力。这样,不需要额外增加薪的传感器,也不需要对机械臂的原结构进行改造,利用机械臂现有的传感器就能能够以较低的成本,高效、准确地检测出目标机械臂在移动过程中所受到的外力。
本说明书实施例还提供一种计算机设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器具体实施时可以根据指令执行以下步骤:检测是否满足预设的触发条件;在确定满足预设的触发条件的情况下,根据预设的控制规则,控制目标机械臂按照相匹配的方式维持于相应位置处;其中,预设的控制规则包括以下至少之一:预设的回位控制规则、预设的悬浮控制规则、预设的维持控制规则。
为了能够更加准确地完成上述指令,参阅图11所示,本说明书实施例还提供了另一种具体的计算机设备,其中,所述计算机设备包括网络通信端口1101、处理器1102以及存储器1103,上述结构通过内部线缆相连,以便各个结构可以进行具体的数据交互。
其中,所述网络通信端口1101,具体可以用于获取安全模式标识的数据值。
所述处理器1102,具体可以用于根据安全模式标识的数据值,检测是否满足预设的触发条件;在确定满足预设的触发条件的情况下,根据预设的控制规则,控制目标机械臂按照相匹配的方式维持于相应位置处;其中,预设的控制规则包括以下至少之一:预设的回位控制规则、预设的悬浮控制规则、预设的维持控制规则。
所述存储器1103,具体可以用于存储相应的指令程序。
在本实施例中,所述网络通信端口1101可以是与不同的通信协议进行绑定,从而可以发送或接收不同数据的虚拟端口。例如,所述网络通信端口可以是负责进行web数据通信的端口,也可以是负责进行FTP数据通信的端口,还可以是负责进行邮件数据通信的端口。此外,所述网络通信端口还可以是实体的通信接口或者通信芯片。例如,其可以为无线移动网络通信芯片,如GSM、CDMA等;其还可以为Wifi芯片;其还可以为蓝牙芯片。
在本实施例中,所述处理器1102可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本说明书并不作限定。
在本实施例中,所述存储器1103可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
本说明书实施例还提供了一种基于上述机械臂的控制方法的计算机可读存储介质,所述计算机可读存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:检测是否满足预设的触发条件;在确定满足预设的触发条件的情况下,根据预设的控制规则,控制目标机械臂按照相匹配的方式维持于相应位置处;其中,预设的控制规则包括以下至少之一:预设的回位控制规则、预设的悬浮控制规则、预设的维持控制规则。
在本实施例中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施例中,该计算机可读存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
参阅图12所示,在软件层面上,本说明书实施例还提供了一种机械臂的控制装置,该装置具体可以包括以下的结构模块:
检测模块1201,具体可以用于检测是否满足预设的触发条件;
控制模块1202,具体可以用于在确定满足预设的触发条件的情况下,根据预设的控制规则,控制目标机械臂按照相匹配的方式维持于相应位置处;其中,预设的控制规则包括以下至少之一:预设的回位控制规则、预设的悬浮控制规则、预设的维持控制规则。
在一些实施例中,上述检测模块1201具体实施时,可以按照以下方式检测是否满足预设的触发条件:检测目标系统是否进入安全模式;在确定目标系统进入安全模式的情况下,确定满足预设的触发条件。
在一些实施例中,所述目标系统具体可以包括医生控制台等;相应的,所述目标机械臂具体可以包括医生控制台的主手机械臂等。
在一些实施例中,上述控制模块1202具体实施时,可以按照以下方式根据预设的控制规则,控制目标机械臂按照相匹配的方式维持于相应位置处:检测目标机械臂的当前关节位置是否属于预设的操作区间;在确定目标机械臂的当前关节位置不属于预设的操作区间的情况下,根据预设的回位控制规则,控制目标机械臂按照相匹配的方式移动并维持于目标位置处。
在一些实施例中,上述控制模块1202具体实施时,在检测目标机械臂的当前关节位置是否属于预设的操作区间之后,还可以用于在确定目标机械臂的当前关节位置属于预设的操作区间的情况下,检测目标机械臂的当前关节位置与目标位置的距离是否大于预设的距离阈值;在确定目标机械臂的当前关节位置与目标位置的距离大于预设的距离阈值的情况下,根据预设的回位控制规则,控制目标机械臂按照相匹配的方式移动并维持于目标位置处;在确定目标机械臂的当前关节位置与目标位置的距离小于等于预设的距离阈值的情况下,根据预设的悬浮控制规则或预设的维持控制规则控制目标机械臂按照相匹配的方式维持于当前关节位置处。
在一些实施例中,所述目标位置具体可以包括初始位置或自定义位置等。
在一些实施例中,上述控制模块1202具体实施时,可以按照以下方式根据预设的回位控制规则,控制目标机械臂按照相匹配的方式移动并维持于目标位置处:获取目标机械臂的当前关节位置和目标位置;根据目标机械臂的当前关节位置和目标位置,通过轨迹规划,生成目标回位路径;其中,目标回位路径的起始点为目标机械臂的当前关节位置,结束点为目标位置;根据目标回位路径,控制目标机械臂移动至目标位置;并将目标机械臂维持于目标位置处。
在一些实施例中,上述控制模块1202具体实施时,在生成目标回位路径之后,还可以用于对目标回位路径进行轨迹点采样,得到多个采样点;对所述多个采样点进行碰撞检测;在确定多个采样点中至少存在一个采样点存在碰撞的情况下,调整目标回位路径。
在一些实施例中,上述控制模块1202具体实施时,在根据目标回位路径,控制目标机械臂移动至目标位置的移动过程中,还可以用于检测目标机械臂在移动过程中是否发生碰撞;在确定目标机械臂在移动过程中发生碰撞的情况下,进行预设的应急处理;其中,预设的应急处理包括以下至少之一:降低目标机械臂的移动速度,执行柔顺控制模式,重新生成目标回位路径。
在一些实施例中,上述控制模块1202具体实施时,可以按照以下方式检测目标机械臂在移动过程中是否发生碰撞:对目标机械臂进行运动学检测,得到运动学检测结果;根据运动学检测结果,确定目标机械臂是否发生碰撞;在根据运动学检测结果,确定目标机械臂未发生碰撞的情况下,根据预设的外力观测算法,确定目标机械臂在移动过程中是否发生碰撞。
在一些实施例中,上述控制模块1202具体实施时,可以按照以下方式根据预设的外力观测算法,确定目标机械臂在移动过程中是否发生碰撞:根据预设的外力观测算法,确定目标机械臂在各个控制周期所受到的外力;检测目标机械臂是否存在连续预设个数个控制周期所受到的外力大于预设的外力阈值;在确定目标机械臂存在连续预设个数个控制周期所受到的外力大于预设的外力阈值的情况下,确定目标机械臂在移动过程中发生碰撞。
在一些实施例中,上述控制模块1202具体实施时,在确定目标机械臂在移动过程中发生碰撞的情况下,可以按照以下方式通过执行柔顺控制模式进行预设的应急处理:根据预设的外力观测算法,确定目标机械臂所受到的当前外力;对当前外力进行限幅处理,得到限幅后的当前外力;根据限幅后的当前外力,计算柔顺位置;根据柔顺位置,修正目标位置,得到修正后的目标位置;控制目标机械臂移动至修正后的目标位置。
在一些实施例中,上述控制模块1202具体实施时,可以用于获取目标机械臂的当前关节位置、当前关节速度和当前关节力矩;根据预设的外力观测算法,利用目标机械臂的当前关节位置、当前关节速度和当前关节力矩,计算目标机械臂所受到的当前外力。
在一些实施例中,上述控制模块1202具体实施时,可以按照以下方式根据预设的悬浮控制规则控制目标机械臂按照相匹配的方式维持于当前关节位置处:获取目标机械臂的当前关节位置、当前关节速度;根据目标机械臂的当前关节位置、当前关节速度,确定针对当前状态下的目标机械臂的目标关节力矩;根据目标机械臂的目标关节力矩,控制目标机械臂停止运动,并以悬浮的状态维持于当前关节位置处。
在一些实施例中,上述控制模块1202具体实施时,还可以用于基于动力学模型,利用当前关节位置,确定目标机械臂当前状态下的关节重力;根据当前关节速度,计算用于停止目标机械臂当前状态下的运动的阻尼力;根据关节重力和阻尼力,确定针对当前状态下的目标机械臂的目标关节力矩。
在一些实施例中,上述控制模块1202具体实施时,可以按照以下方式根据预设的维持控制规则控制目标机械臂按照相匹配的方式维持于当前关节位置处:采集目标机械臂的当前关节位置,并控制目标机械臂维持于当前关节位置处;根据预设的运动趋势检测算法,监测目标机械臂是否存在发散运动趋势;在监测到目标机械臂存在发散运动趋势的情况下,锁住目标机械臂的关节位置。
在一些实施例中,上述控制模块1202具体实施时,可以按照以下方式根据预设的运动趋势检测算法,监测目标机械臂是否存在发散运动趋势:获取目标机械臂第一时间点的关节位置响应峰值;并检测第一时间点的关节位置响应峰值是否大于预设的峰值阈值;在确定第一时间点的关节位置响应峰值大于预设的峰值阈值的情况下,获取第二时间点的关节位置响应峰值;并检测第二时间点的关节位置响应峰值是否大于预设的峰值阈值;在确定第二时间点的关节位置响应峰值大于预设的峰值阈值的情况下,检测第二时间点的关节位置响应峰值是否大于第一时间点的关节位置响应峰值;在确定第二时间点的关节位置响应峰值大于第一时间点的关节位置响应峰值的情况下,确定目标机械臂存在发散运动趋势。
需要说明的是,上述实施例阐明的单元、装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
由上可见,基于本说明书实施例提供的机械臂的控制装置,一方面,可以在确定进入安全模式或发生故障等满足预设的触发条件的情况下,自动控制目标机械臂以合适的方式维持于合适的位置处,以方便用户后续再次使用;另一方面,还可以有效地减少操作过程中的碰撞对机械臂造成的损伤,较好地保护机械臂。
参阅图13所示,本说明书实施例还提供了一种医疗系统,至少可以包括机械臂1301和控制装置1302。其中,机械臂1301和控制装置1302相连;所述控制装置1302用于控制机械臂1301完成相应操作。
具体实施时,控制装置1302在检测到满足预设的触发条件的情况下,例如,确定医疗系统进入安全模式时,可以根据预设的控制规则,控制机械臂1301按照相匹配的方式维持于相应位置处;其中,预设的控制规则包括以下至少之一:预设的回位控制规则、预设的悬浮控制规则、预设的维持控制规则。
虽然本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机可读存储介质中。
通过以上的实施例的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。
Claims (20)
1.一种机械臂的控制方法,其特征在于,包括:
检测是否满足预设的触发条件;
在确定满足预设的触发条件的情况下,根据预设的控制规则,控制目标机械臂按照相匹配的方式维持于相应位置处;其中,预设的控制规则包括以下至少之一:预设的回位控制规则、预设的悬浮控制规则、预设的维持控制规则。
2.根据权利要求1所述的机械臂的控制方法,其特征在于,检测是否满足预设的触发条件,包括:
检测目标系统是否进入安全模式;
在确定目标系统进入安全模式的情况下,确定满足预设的触发条件。
3.根据权利要求2所述的机械臂的控制方法,其特征在于,所述目标系统包括医生控制台;相应的,所述目标机械臂包括医生控制台的主手机械臂。
4.根据权利要求1所述的机械臂的控制方法,其特征在于,根据预设的控制规则,控制目标机械臂按照相匹配的方式维持于相应位置处,包括:
检测目标机械臂的当前关节位置是否属于预设的操作区间;
在确定目标机械臂的当前关节位置不属于预设的操作区间的情况下,根据预设的回位控制规则,控制目标机械臂按照相匹配的方式移动并维持于目标位置处。
5.根据权利要求4所述的机械臂的控制方法,其特征在于,在检测目标机械臂的当前关节位置是否属于预设的操作区间之后,所述方法还包括:
在确定目标机械臂的当前关节位置属于预设的操作区间的情况下,检测目标机械臂的当前关节位置与目标位置的距离是否大于预设的距离阈值;
在确定目标机械臂的当前关节位置与目标位置的距离大于预设的距离阈值的情况下,根据预设的回位控制规则,控制目标机械臂按照相匹配的方式移动并维持于目标位置处;
在确定目标机械臂的当前关节位置与目标位置的距离小于等于预设的距离阈值的情况下,根据预设的悬浮控制规则或预设的维持控制规则控制目标机械臂按照相匹配的方式维持于当前关节位置处。
6.根据权利要求5所述的方法,其特征在于,所述目标位置包括初始位置或自定义位置。
7.根据权利要求4或5所述的方法,其特征在于,根据预设的回位控制规则,控制目标机械臂按照相匹配的方式移动并维持于目标位置处,包括:
获取目标机械臂的当前关节位置和目标位置;
根据目标机械臂的当前关节位置和目标位置,通过轨迹规划,生成目标回位路径;其中,目标回位路径的起始点为目标机械臂的当前关节位置,结束点为目标位置;
根据目标回位路径,控制目标机械臂移动至目标位置;并将目标机械臂维持于目标位置处。
8.根据权利要求7所述的机械臂的控制方法,其特征在于,在生成目标回位路径之后,所述方法还包括:
对目标回位路径进行轨迹点采样,得到多个采样点;
对所述多个采样点进行碰撞检测;
在确定多个采样点中至少存在一个采样点存在碰撞的情况下,调整目标回位路径。
9.根据权利要求4或5所述的机械臂的控制方法,其特征在于,在根据目标回位路径,控制目标机械臂移动至目标位置的移动过程中,所述方法还包括:
检测目标机械臂在移动过程中是否发生碰撞;
在确定目标机械臂在移动过程中发生碰撞的情况下,进行预设的应急处理;其中,预设的应急处理包括以下至少之一:降低目标机械臂的移动速度,执行柔顺控制模式,重新生成目标回位路径。
10.根据权利要求9所述的机械臂的控制方法,其特征在于,检测目标机械臂在移动过程中是否发生碰撞,包括:
对目标机械臂进行运动学检测,得到运动学检测结果;
根据运动学检测结果,确定目标机械臂是否发生碰撞;
在根据运动学检测结果,确定目标机械臂未发生碰撞的情况下,根据预设的外力观测算法,确定目标机械臂在移动过程中是否发生碰撞。
11.根据权利要求10所述的机械臂的控制方法,其特征在于,根据预设的外力观测算法,确定目标机械臂在移动过程中是否发生碰撞,包括:
根据预设的外力观测算法,确定目标机械臂在各个控制周期所受到的外力;
检测目标机械臂是否存在连续预设个数个控制周期所受到的外力大于预设的外力阈值;
在确定目标机械臂存在连续预设个数个控制周期所受到的外力大于预设的外力阈值的情况下,确定目标机械臂在移动过程中发生碰撞。
12.根据权利要求9所述的机械臂的控制方法,其特征在于,在确定目标机械臂在移动过程中发生碰撞的情况下,执行柔顺控制模式,包括:
根据预设的外力观测算法,确定目标机械臂所受到的当前外力;
对当前外力进行限幅处理,得到限幅后的当前外力;
根据限幅后的当前外力,计算柔顺位置;
根据柔顺位置,修正目标位置,得到修正后的目标位置;
控制目标机械臂移动至修正后的目标位置。
13.根据权利要求12所述的机械臂的控制方法,其特征在于,根据预设的外力观测算法,确定目标机械臂所受到的当前外力,包括:
获取目标机械臂的当前关节位置、当前关节速度和当前关节力矩;
根据预设的外力观测算法,利用目标机械臂的当前关节位置、当前关节速度和当前关节力矩,计算目标机械臂所受到的当前外力。
14.根据权利要求5所述的机械臂的控制方法,其特征在于,根据预设的悬浮控制规则控制目标机械臂按照相匹配的方式维持于当前关节位置处,包括:
获取目标机械臂的当前关节位置、当前关节速度;
根据目标机械臂的当前关节位置、当前关节速度,确定针对当前状态下的目标机械臂的目标关节力矩;
根据目标机械臂的目标关节力矩,控制目标机械臂停止运动,并以悬浮的状态维持于当前关节位置处。
15.根据权利要求14所述的机械臂的控制方法,其特征在于,根据目标机械臂的当前关节位置、当前关节速度,确定针对当前状态下的目标机械臂的目标关节力矩,包括:
基于动力学模型,利用当前关节位置,确定目标机械臂当前状态下的关节重力;根据当前关节速度,计算用于停止目标机械臂当前状态下的运动的阻尼力;
根据关节重力和阻尼力,确定针对当前状态下的目标机械臂的目标关节力矩。
16.根据权利要求5所述的机械臂的控制方法,其特征在于,根据预设的维持控制规则控制目标机械臂按照相匹配的方式维持于当前关节位置处,包括:
采集目标机械臂的当前关节位置,并控制目标机械臂维持于当前关节位置处;
根据预设的运动趋势检测算法,监测目标机械臂是否存在发散运动趋势;
在监测到目标机械臂存在发散运动趋势的情况下,锁住目标机械臂的关节位置。
17.根据权利要求16所述的机械臂的控制方法,其特征在于,根据预设的运动趋势检测算法,监测目标机械臂是否存在发散运动趋势,包括:
获取目标机械臂第一时间点的关节位置响应峰值;并检测第一时间点的关节位置响应峰值是否大于预设的峰值阈值;
在确定第一时间点的关节位置响应峰值大于预设的峰值阈值的情况下,获取第二时间点的关节位置响应峰值;并检测第二时间点的关节位置响应峰值是否大于预设的峰值阈值;
在确定第二时间点的关节位置响应峰值大于预设的峰值阈值的情况下,检测第二时间点的关节位置响应峰值是否大于第一时间点的关节位置响应峰值;
在确定第二时间点的关节位置响应峰值大于第一时间点的关节位置响应峰值的情况下,确定目标机械臂存在发散运动趋势。
18.一种医疗系统,其特征在于,至少包括机械臂和控制装置,其中,所述控制装置用于采用权利要求1至17中任一项所述方法控制机械臂按照相匹配的方式维持于相应位置处。
19.一种计算机设备,其特征在于,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1至17中任一项所述方法的相关步骤。
20.一种计算机可读存储介质,其特征在于,其上存储有计算机指令,所述指令被执行时实现权利要求1至17中任一项所述方法的相关步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210703008.9A CN117297791A (zh) | 2022-06-21 | 2022-06-21 | 机械臂的控制方法、医疗系统、计算机设备 |
PCT/CN2023/101862 WO2023246907A1 (zh) | 2022-06-21 | 2023-06-21 | 机械臂的控制方法、医疗系统、计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210703008.9A CN117297791A (zh) | 2022-06-21 | 2022-06-21 | 机械臂的控制方法、医疗系统、计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117297791A true CN117297791A (zh) | 2023-12-29 |
Family
ID=89241271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210703008.9A Pending CN117297791A (zh) | 2022-06-21 | 2022-06-21 | 机械臂的控制方法、医疗系统、计算机设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117297791A (zh) |
WO (1) | WO2023246907A1 (zh) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101653945A (zh) * | 2009-09-29 | 2010-02-24 | 国营红林机械厂 | 一种机械臂失效保护装置 |
US8340820B2 (en) * | 2010-02-26 | 2012-12-25 | Agilent Technologies, Inc. | Robot arm and method of controlling robot arm to avoid collisions |
US9446517B2 (en) * | 2013-10-17 | 2016-09-20 | Intuitive Surgical Operations, Inc. | Fault reaction, fault isolation, and graceful degradation in a robotic system |
WO2018176131A1 (en) * | 2017-03-26 | 2018-10-04 | Genesis Robotics Llp | Robot arm |
CN110405749B (zh) * | 2018-04-27 | 2020-12-15 | 深圳市优必选科技有限公司 | 关节限位检测方法、装置、机器人及计算机可读存储介质 |
CN110696000B (zh) * | 2019-11-21 | 2020-12-01 | 河北工业大学 | 一种机械臂试探感知的避障方法 |
CN113601509B (zh) * | 2021-08-16 | 2023-01-06 | 安徽元古纪智能科技有限公司 | 一种多自由度机械臂柔性控制方法和系统 |
CN113478493B (zh) * | 2021-09-07 | 2021-11-16 | 成都博恩思医学机器人有限公司 | 一种机械臂的碰撞保护方法、系统、机器人及存储介质 |
-
2022
- 2022-06-21 CN CN202210703008.9A patent/CN117297791A/zh active Pending
-
2023
- 2023-06-21 WO PCT/CN2023/101862 patent/WO2023246907A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023246907A1 (zh) | 2023-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111479660B (zh) | 包括确保停止时间和距离的安全系统的机器人 | |
EP3715065B1 (en) | Controlling a robot in the presence of a moving object | |
US20190001504A1 (en) | Method For Detecting A Collision Of A Robot Arm With An Object, And A Robot With A Robot Arm | |
JP6445150B2 (ja) | ロボット・マニピュレータを制御する方法、コンピュータ・システム、デジタル記録媒体、コンピュータ・プログラム製品、コンピュータ・プログラム、装置およびロボット | |
CN109968377B (zh) | 机器人控制系统和控制机器人的方法 | |
JP5283622B2 (ja) | 機械の衝突防止のためのカメラを利用した監視方法及び装置 | |
JP5218524B2 (ja) | ロボットシステムおよびロボット動作規制方法 | |
KR20160098970A (ko) | 다축 기계, 특히 로봇을 작동하기 위한 방법 및 시스템 | |
KR20150095207A (ko) | 매니퓰레이터 축을 고정하기 위한 방법 및 장치 | |
JP2023547612A (ja) | ロボット動作に使用される安全システム及び方法 | |
JPWO2020031718A1 (ja) | 制御装置、制御方法、およびプログラム | |
JP7156397B2 (ja) | 制御装置 | |
CN113799123B (zh) | 机械手防撞控制方法、系统、智能终端及存储介质 | |
JP5912953B2 (ja) | 制御装置、及び制御方法 | |
CN113635305B (zh) | 机器人运动保护方法、装置、控制器及存储介质 | |
CN117297791A (zh) | 机械臂的控制方法、医疗系统、计算机设备 | |
Stengel et al. | An approach for safe and efficient human-robot collaboration | |
KR20230160260A (ko) | 의료용 또는 수술용 원격동작을 위한 마스터-슬레이브 로봇 시스템의 비구속 마스터 장치의 가속도 측정 또는 검출에 기반하여 동작 이상상태를 검출하는 방법 및 관련 로봇 시스템 | |
CN110549375A (zh) | 一种用于机械臂的防护门防撞方法及系统 | |
KR20230160816A (ko) | 의료 또는 외과 원격 작동을 위한 마스터-슬레이브 로봇 시스템의 비구속 마스터 장치의 작동 이상을 속도의 측정 및 검출을 기반으로 하여 검출하는 방법 및 관련 로봇 시스템 | |
CA2909347C (en) | Safety monitoring for a serial kinematic structure | |
Vagas et al. | Application of speed and separation monitoring technique at automated assembly process | |
US11654560B2 (en) | Method for computer-aided user assistance during the activation of a movement planner for a machine | |
CN114536342B (zh) | 一种多臂系统及其臂间防撞控制方法 | |
US20220402135A1 (en) | Safety trajectories for robotic control systems |
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 |