CN117958979A - 机械臂的控制方法、装置及机械臂 - Google Patents
机械臂的控制方法、装置及机械臂 Download PDFInfo
- Publication number
- CN117958979A CN117958979A CN202410161450.2A CN202410161450A CN117958979A CN 117958979 A CN117958979 A CN 117958979A CN 202410161450 A CN202410161450 A CN 202410161450A CN 117958979 A CN117958979 A CN 117958979A
- Authority
- CN
- China
- Prior art keywords
- mechanical arm
- moment
- state
- joint
- information
- 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 63
- 238000012544 monitoring process Methods 0.000 claims abstract description 28
- 230000003068 static effect Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 21
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 description 20
- 239000011159 matrix material Substances 0.000 description 17
- 238000005070 sampling Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000001356 surgical procedure Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 5
- 230000005484 gravity Effects 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 239000003638 chemical reducing agent Substances 0.000 description 4
- 238000013016 damping Methods 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000002324 minimally invasive surgery Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Landscapes
- Manipulator (AREA)
Abstract
本申请实施例适用于机械臂技术领域,提供了一种机械臂的控制方法、装置及机械臂,所述方法包括:基于所述位置传感器和所述力矩传感器,监测所述机械臂在第一时刻的第一状态;获取所述机械臂在第二时刻的第二状态,所述第二时刻是所述第一时刻的上一时刻;若所述第一状态与所述第二状态不同,则对所述机械臂的关节参数进行调整。采用上述方法,可以自动地对机械臂的运动和受力状态进行监测,并在监测到机械臂的状态发生改变时,及时地对相关的关节参数进行调整,实现对机械臂的自动控制。
Description
技术领域
本申请实施例属于机械臂技术领域,特别是涉及一种机械臂的控制方法、装置及机械臂。
背景技术
在医疗技术领域,使用机器人辅助进行手术可以提高手术的精准度和安全性,实现手术的可视化,为微创手术等非传统类型手术的顺利实施创造条件。
为了保证医生和机器人的安全交互,保障患者安全,在使用机器人辅助进行手术的过程中,通常使用阻抗控制模式对机器人进行控制。手术中不同的组织类型、结构或弹性特性可能需要不同的力量和压力来进行操作,通过阻抗控制,可以使机器人在手术过程中具有更好的灵活性和适应性,能够根据组织的反应调整力量和压力,以适应不同的手术需求。
基于经典控制理论的阻抗控制,在完成复杂的接触任务时控制效果存在局限性。具体地,机器人主要依靠动力学运算来保证运行的稳定性,这依赖于准确的传感器反馈值和准确的机械臂末端负载重力参数。如果这两者数据存在偏差,将会导致机械臂末端受力不平衡,在机械臂各个关节刚度系数设置为0,且没有外力作用的情况下,机械臂很容易出现非预期的运动。通过增加各个关节的刚度系数,可以让机器人的机械臂稳定在设定位置附近。现有技术中,主流的解决方案是通过在机器人上设置一个锁定和解锁的功能键,用人为触发的方式来切换不同的刚度系数,以此达到锁定或解锁的目的。这种方式虽然能够解决问题,但是操作较为不便,降低了手术过程中的控制效率,也容易对手术进程带来不利影响。
发明内容
有鉴于此,本申请实施例提供了一种机械臂的控制方法、装置及机械臂,用以自动地对机械臂的运动和受力状态进行监测,并在监测到机械臂的状态发生改变时,及时地对相关的关节参数进行调整,实现对机械臂的自动控制。
本申请实施例的第一方面提供了一种机械臂的控制方法,所述机械臂包括多个关节,每个所述关节上均安装有位置传感器和力矩传感器,所述方法包括:
基于所述位置传感器和所述力矩传感器,监测所述机械臂在第一时刻的第一状态;
获取所述机械臂在第二时刻的第二状态,所述第二时刻是所述第一时刻的上一时刻;
若所述第一状态与所述第二状态不同,则对所述机械臂的关节参数进行调整。
可选地,所述基于所述位置传感器和所述力矩传感器,监测所述机械臂在第一时刻的第一状态,包括:
采用所述位置传感器获取所述机械臂在所述第一时刻的关节位置信息;
采用所述力矩传感器获取所述机械臂在所述第一时刻的力矩值,所述力矩值用于经转换后得到机械臂末端的受力信息和力矩信息;
基于所述关节位置信息、所述机械臂末端的受力信息和力矩信息,确定所述机械臂在所述第一时刻的第一状态。
可选地,所述采用所述位置传感器获取所述机械臂在所述第一时刻的关节位置信息,包括:
采用每个所述关节上安装的位置传感器分别获取所述机械臂的每个所述关节在所述第一时刻的关节位置信息。
可选地,所述采用所述力矩传感器获取所述机械臂在所述第一时刻的力矩值,所述力矩值用于经转换后得到机械臂末端的受力信息和力矩信息,包括:
采用每个所述关节上安装的力矩传感器分别获取所述机械臂的每个所述关节在所述第一时刻的力矩值;
根据获取到的所述力矩值计算所述机械臂末端的受力信息和力矩信息。
可选地,所述基于所述关节位置信息、所述机械臂末端的受力信息和力矩信息,确定所述机械臂在所述第一时刻的第一状态,包括:
若所述机械臂的任一所述关节的所述关节位置信息、所述机械臂末端的受力信息或力矩信息的变动值大于预设阈值,则判定所述机械臂在所述第一时刻的第一状态为移动状态;
若所述机械臂的任一所述关节的所述关节位置信息、所述受力信息和所述力矩信息的变动值均小于或等于预设阈值,则判定所述机械臂在所述第一时刻的第一状态为静止状态。
可选地,所述对所述机械臂的关节参数进行调整,包括:
当所述机械臂由移动状态切换至静止状态,则增大所述机械臂的关节参数;
当所述机械臂由静止状态切换至移动状态,则减小所述机械臂的关节参数。
可选地,所述关节参数包括每个所述关节上的刚度系数或弹性系数中的至少一种。
本申请实施例的第二方面提供了一种机械臂的控制装置,所述机械臂包括多个关节,每个所述关节上均安装有位置传感器和力矩传感器,所述装置包括:
监测模块,用于基于所述位置传感器和所述力矩传感器,监测所述机械臂在第一时刻的第一状态;
获取模块,用于获取所述机械臂在第二时刻的第二状态,所述第二时刻是所述第一时刻的上一时刻;
控制模块,用于若所述第一状态与所述第二状态不同,则对所述机械臂的关节参数进行调整。
本申请实施例的第三方面提供了一种机械臂,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面任一项所述的机械臂的控制方法。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面任一项所述的机械臂的控制方法。
本申请实施例的第五方面提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述第一方面任一项所述的机械臂的控制方法。
与现有技术相比,本申请实施例具有以下有益效果:
本申请实施例,通过在机械臂的各个关节上安装位置传感器和力矩传感器,可以利用位置传感器和力矩传感器采样得到的数据确定机械臂在各个时刻的状态,例如第一时刻的第一状态。在获取第一时刻的上一时刻,也即第二时刻机械臂的第二状态后,控制设备可以对第一状态与第二状态进行比较。如果第一状态与第二状态不同,可以表示机械臂在此过程中发生了状态改变。控制设备可以根据状态改变情况的不同,针对性地对机械臂的关节参数进行调整,实现对机械臂运动状态及受力状态的自动监测,并根据监测到的状态自动地调整关节参数,从而实现对机械臂的锁定及解锁操作的自动化控制,简化了使用者锁定或解锁机械臂的操作步骤,提升了人机协作的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种机械臂的控制方法的示意图;
图2是本申请实施例提供的一种机械臂的控制方法中S101的一种实现方式的示意图;
图3是本申请实施例提供的一种机械臂的控制方法中S103的一种实现方式的示意图;
图4是本申请实施例提供的一种机械臂的控制流程的示意图;
图5是本申请实施例提供的一种机械臂的控制装置的示意图;
图6是本申请实施例提供的一种机械臂控制设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本申请。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
如前所述,在手术过程中,使用具有机械臂的机器人辅助医生开展手术,可以提高手术的精准度和安全性。目前,对于此类机器人的控制主要采用阻抗控制模式。通过阻抗控制,机器人可以根据组织的反应调整力量和压力,适应不同的手术需求。精准的阻抗控制依赖于机械臂上准确的传感器反馈值和准确的末端负载重力参数。当机械臂各个关节的刚度系数设置为0,且没有外力作用的情况下,机械臂很容易出现非预期的运动。现有技术中可以通过设置锁定/解锁键,用人为触发的方式来切换不同的刚度系数,以此达到锁定或解锁的目的。具体地,可以在机器人上设置能够实现锁定及解锁功能的按键,当医生在手术过程中不使用机器人或机械臂时,医生可以通过按键锁定机械臂。这样,机器人及机械臂可以固定在当前位置,机械臂及各个关节由于被锁定不会出现非预期性的运动或移动。当医生需要使用机器人或机械臂辅助进行手术操作时,医生可以通过按键对机械臂进行解锁。这样,机械臂及各个关节可以基于医生的操作做相应的运动或移动,方便医生进行手术操作。
通过按键来锁定或解锁机械臂至少存在两个明显的缺点。其一是操作的不方便。在机械臂末端受力不平衡的情况下,医生或手术过程中的其他人员必须要用手牵制住机械臂末端,然后才能去按键锁定机械臂。无论是单人或多人配合操作,在这过程中都需要在兼顾机械臂末端的移动情况下去按键。特别是医生单人操作时,需要一只手牵制机械臂末端,另一只手去按下机器人上的锁定键,操作上不太友好。其二是这样的设置降低了工作效率。医生等使用者在锁定或解锁机械臂的时候,不仅额外地增加了他们的一个操作步骤,还使得使用者需要知晓当前机械臂是出于解锁状态或锁定状态,然后才能根据当前的状态,去操作按键锁定或解锁机械臂。例如,如果医生需要锁定机械臂,则首先需要确认当前状态。如果机械臂当前状态为解锁状态,则医生可以按下锁定键锁定机械臂。如果机械臂当前状态本身即是锁定的,一旦医生将当前状态误认为是解锁状态,在医生按下功能键后,则存在将锁定状态的机械臂切换为解锁状态,对手术过程带来不利影响。
针对上述问题,本申请实施例提供了一种机械臂的控制方法,可以对基于阻抗控制的机械臂的状态进行自动监测,并根据监测结果自动锁定或解锁机械臂,简化使用者的操作步骤,提升人机协作的效率。
下面通过具体实施例来说明本申请的技术方案。
参照图1,示出了本申请实施例提供的一种机械臂的控制方法的示意图,具体可以包括如下步骤:
S101、基于所述位置传感器和所述力矩传感器,监测所述机械臂在第一时刻的第一状态。
需要说明的是,本方法可以应用于机械臂控制设备,即本方法的执行主体可以是机械臂控制设备,机械臂控制设备通过执行本申请实施例提供的方法的各个步骤,可以实现对机械臂状态的自动监测,并根据监测结果自动地锁定或解锁机械臂,简化使用者的操作步骤,提升人机协作的效率。
在本申请实施例的一种可能的实现方式中,上述机械臂控制设备可以是机械臂本身或具有机械臂的机器人。即,机械臂与用于控制该机械臂的控制设备可以集成于一体,或者机械臂可以作为机器人上的一个组成部分,机器人可以通过控制模块或单元控制机械臂的移动,又或者控制设备与具有机械臂的机器人分离设置,分离的控制设备可以通过指令来实现对机器人及机械臂的控制。本申请实施例对此不作限定。
作为本申请实施例的一种示例,机器人可以包括机器人本体和机器人控制柜。其中,机器人本体可以是一种具有串联型结构的机械臂,该机械臂可以包括多个关节,各个关节串联构成机器人本体。每个关节上可以包括安装有伺服电机、减速机、力矩传感器和位置传感器等器件。机器人的末端也即是机械臂末端可以包括一法兰,用于连接工具负载。机器人控制柜用于负责运行机器人控制系统和驱动系统。其中,控制系统可以实现机器人应用程序的运行,例如实现机器人及机械臂运动过程中的运动学和动力学的计算过程等。驱动系统用于实现对机械臂每个关节上的伺服电机的驱动及控制,负责实现相应关节的运动控制。
在本申请实施例的一种可能的实现方式中,机械臂可以是七自由度机械臂,即该机械臂具有七个关节,这七个关机以串联型结构构成作为机器人本体一部分的机械臂。
在本申请实施例中,机械臂各个关节上安装的伺服电机可以根据驱动器传递的控制信号进行运动。伺服电机可以静止或旋转,伺服电机的旋转可以包括正向旋转和反向旋转。减速机可以用于降低伺服电机的转动速度。通常,伺服电机的转速可达到上千转每分钟,在实际应用中对机械臂各个关节的控制用不到这么大的速度,因此可以通过减速机来降低伺服电机的转速。另一方面,减速机还可以增加扭矩,提升机器人及机械臂的稳定性以及带负载的能力。各个关节上的力矩传感器可以用于采集每个关节位置上的力矩大小,也即力矩值。该力矩值通过动力学相关算法转换可以得到机械臂末端的受力信息和力矩信息。位置传感器也即编码器,可以用于确定各个关节当前的位置,该位置可以是指各个关节当前的关节角度。
本申请实施例中的机械臂可以是基于阻抗控制的机械臂。阻抗控制是一种与力和位置相关的动态控制方法,通常用于机械臂与其环境交互并且力位置关系受到关注的应用中。此类应用的示例包括人类与机器人的交互,其中人类产生的力与机器人应该移动或停止的速度有关。
在机械臂的工作过程中,机械臂上安装的位置传感器和力矩传感器可以实时或按照一定频次循环地对机械臂进行监测。根据位置传感器和力矩传感器的监测结果,控制设备可以确定机械臂当前的状态。也即机械臂当前是处于移动状态或静止状态。
在本申请实施例中,第一时刻可以是指位置传感器和力矩传感器当前采样的时刻,位置传感器和力矩传感器采样获得的数据可以用于确定机械臂在第一时刻的状态,即机械臂的第一状态。
在本申请实施例的一种可能的实现方式中,如图2所示,S101中基于位置传感器和力矩传感器,监测机械臂在第一时刻的第一状态,具体可以包括如下步骤S1011-S1013:
S1011、采用所述位置传感器获取所述机械臂在所述第一时刻的关节位置信息。
在本申请实施例中,位置传感器可以用于采样获得机械臂在第一时刻的位置信息,也即机械臂在第一时刻的关节位置信息。
在本申请实施例中,由于机械臂的每个关节上均安装有位置传感器,因此可以采用每个关节上安装的位置传感器分别获取机械臂的每个关节在第一时刻的关节位置信息。示例性地,以七自由度机械臂为例,通过位置传感器的采用,可以得到该机械臂的七个关节在第一时刻分别所处的位置信息。
在本申请实施例的一种可能的实现方式中,可以使用每个关节的关节角度来描述机械臂的位置。示例性地,对于七自由度机械臂,可以使用关节空间位置[j0,j1,j2,j3,j4,j5,j6]来描述机械臂的位置。其中,关节角度可以根据各个关节相对于零点位置来确定,上述零点位置就是每个关节角度均为0度时,也即关节空间位置为[0,0,0,0,0,0,0]时机械臂所在的位置,该位置可以在建模时预先设定。
S1012、采用所述力矩传感器获取所述机械臂在所述第一时刻的力矩值,所述力矩值用于经转换后得到机械臂末端的受力信息和力矩信息。
在本申请实施例中,可以采用每个关节上安装的力矩传感器分别获取机械臂的每个关节在第一时刻的力矩值,该力矩值经动力学相关算法转换后可以得到机械臂末端的受力信息和力矩信息。
S1013、基于所述关节位置信息、所述机械臂末端的受力信息和力矩信息,确定所述机械臂在所述第一时刻的第一状态。
在本申请实施例中,控制设备可以根据位置传感器获取到的关节位置信息,以及机械臂末端的受力信息和力矩信息,确定机械臂当前的第一状态。
在本申请实施例的一种可能的实现方式中,可以为关节位置信息、受力信息和力矩信息设置变动阈值。根据上述关节位置信息、受力信息和力矩信息的变动值与阈值的比较关系,判定机械臂的第一状态。
具体地,若机械臂的任一关节的关节位置信息、受力信息或力矩信息的变动值大于预设阈值,则可以判定机械臂在第一时刻的第一状态为移动状态;若机械臂的任一关节的关节位置信息、受力信息和力矩信息的变动值均小于或等于预设阈值,则可以判定机械臂在第一时刻的第一状态为静止状态。
示例性地,控制设备可以首先判断各个关节的关节角度的变动值是否大于预设阈值,如果存在任一关节的关节角度的变动值大于预设阈值,控制设备可以判定机械臂当前的状态为移动状态,也即机械臂在此时刻发生了移动。如果各个关节的关节角度的变动值均小于或等于预设阈值,则控制设备可以继续判断各个关节的受力情况,确认各个关节所受到的力的变动值大小是否大于预设阈值。如果存在任一关节所受外力变动值大于预设阈值,控制设备可以判定机械臂当前的状态为移动状态。如果各个关节所受外力变动值均小于或等于预设阈值,控制设备可以继续判断各个关节上的力矩变动值大小是否大于预设阈值。如果存在任一关节上的力矩变动值大于预设阈值,控制设备可以判定机械臂当前的状态为移动状态。如果各个关节上的力矩变动值均小于或等于预设阈值,则控制设备可以判定机械臂当前的状态为静止状态。上述判断关节角度、受力大小以及力矩的变动值所使用的预设阈值可以根据实际情况设定,本申请实施例对此不作限定。另一方面,控制设备在对关节角度、受力大小以及力矩的变动值与相应的阈值进行比较时,其顺序可以不同。例如,可以首先判断受力大小变动值与相应阈值的大小关系,然后再判断关节角度变动值和力矩变动值与相应阈值的大小关系;或者,也可以先判断力矩变动值与相应阈值的大小关系,然后再判断关节角度变动值和所受外力变动值与相应阈值的大小关系,本申请实施例对此亦不作限定。
在本申请实施例的一种可能的实现方式中,在对上述关节角度、所受外力以及力矩的变动值与相应阈值进行比较之前,控制设备还可以根据位置传感器采样得到的位置信息,通过正运动学解算确定末端工具当前所处的位置是否位于设定的操作空间内。上述操作空间可以是根据实际需要,在手术开始前规划得到的笛卡尔坐标系下末端工具活动区间。如果末端工具在第一时刻所处的位置均位于上述操作空间内,控制设备可以无需执行上述比较步骤,并可以直接认定机械臂的操作状态为移动状态。当末端工具在第一时刻所处的位置未在对应的操作空间内,控制设备可以执行上述比较步骤,确定机械臂当前的状态。
在本申请实施例中,控制设备在确定机械臂在第一时刻的第一状态后,可以对第一状态进行存储,用于在下一时刻与下一时刻机械臂的状态进行比较。
S102、获取所述机械臂在第二时刻的第二状态,所述第二时刻是所述第一时刻的上一时刻。
在本申请实施例中,第二时刻可以是第一时刻的上一时刻,也即是位置传感器和力矩传感器的上一采样时刻。控制设备在确定机械臂在第二时刻的第二状态后,可以对第二状态进行存储。在下一时刻,例如第一时刻采样得到位置信息和受力及力矩信息后,确定机械臂在第一时刻的第一状态后,控制设备可以获取上一时刻也即第二时刻的第二状态,将第一状态与第二状态进行比较。
S103、若所述第一状态与所述第二状态不同,则对所述机械臂的关节参数进行调整。
在本申请实施例中,当第一状态与第二状态不同时,可以认为机械臂的状态发生了变化,也即从第二时刻的第二状态变化至第一时刻的第一状态。当第一状态与第二状态相同时,可以认为机械臂的状态未发生变化,也即机械臂在第二时刻和第一时刻的状态相同。
当第一状态与第二状态不同时,也即机械臂的状态从第二状态变化至第一状态时,控制设备可以根据机械臂状态变化的具体情况,对各个关节的关节参数进行调整。
在本申请实施例的一种可能的实现方式中,如图3所示,S103中对机械臂的关节参数进行调整,具体可以包括如下步骤S1031-S1032:
S1031、当所述机械臂由移动状态切换至静止状态,则增大所述机械臂的关节参数。
S1032、当所述机械臂由静止状态切换至移动状态,则减小所述机械臂的关节参数。
在本申请实施例中,机械臂的状态发生变化可以包括两种情况。一种是机械臂原本处于移动状态,变化后机械臂处于静止状态;另一种是机械臂原本处于静止状态,变化后机械臂处于移动状态。针对两种不同的变化情况,控制设备对关节参数的调整方式不同。
具体地,当机械臂由移动状态切换至静止状态时,控制设备可以增大机械臂的关节参数。通过增大关节参数,相当于增加了机械臂的运动阻力。这样可以使得机械臂保持在当前位置不发生运动。该增大机械臂的关节参数的过程可以被称为机械臂的锁定。当机械臂由静止状态切换至移动状态时,控制设备可以减小机械臂的关节参数。减小关节参数,可以使使用者对机械臂的拖动更加轻便。该过程可以被称为机械臂的解锁。
在本申请实施例的一种可能的实现方式中,机械臂的关节参数可以包括每个关节上的刚度系数或弹性系数中的至少一种。因此,在机械臂由移动状态切换至静止状态时,控制设备增大机械臂的关节参数可以通过增大各个关节的刚度系数实现,也可以通过增大各个关节的弹性系数实现,还可以通过同时增大各个关节的刚度系数和弹性系数实现。在机械臂由静止状态切换至移动状态时,控制设备减小机械臂的关节参数可以通过减小各个关节的刚度系数实现,也可以通过减小各个关节的弹性系数实现,还可以通过同时减小各个关节的刚度系数和弹性系数实现。
在本申请实施例中,通过在机械臂的各个关节上安装位置传感器和力矩传感器,可以利用位置传感器和力矩传感器采样得到的数据确定机械臂在各个时刻的状态,例如第一时刻的第一状态。在获取第一时刻的上一时刻,也即第二时刻机械臂的第二状态后,控制设备可以对第一状态与第二状态进行比较。如果第一状态与第二状态不同,可以表示机械臂在此过程中发生了状态改变。控制设备可以根据状态改变情况的不同,针对性地对机械臂的关节参数进行调整,实现对机械臂运动状态及受力状态的自动监测,并根据监测到的状态自动地调整关节参数,从而实现对机械臂的锁定及解锁操作的自动化控制,简化了使用者锁定或解锁机械臂的操作步骤,提升了人机协作的效率。
为了便于理解,下面结合具体地示例对本申请实施例提供的机械臂的控制方法进行介绍。
1.以关节空间为例,q可以表示通过各个关节上安装的位置传感器获取到的各个关节的实际关节角度值,qs表示预先规划设定的各个关节的目标角度。因此,可以令关节角度控制误差
2.建立机器人的动力学方程:
上式(1)中,q、分别表示机械臂的关节角度、关节速度、关节加速度。其中,关节角度可以由各个关节上的位置传感器直接采样得到,关节角度的微分即为关节速度,关节速度的微分即是关节加速度。
上述M(q)表示机械臂的惯性矩阵,表示科氏力;g(q)表示重力;/>表示关节摩擦力;τ表示关节给定力矩;τext表示关节由于受外力产生的力矩。
其中,机械臂的惯性矩阵可以根据每个连杆的质量、转动惯量和位置信息构建得到的,对于七自由度机械臂,惯性矩阵可以使用7×7的矩阵表示。
科氏力是描述机械臂连杆在非惯性坐标系中由于机械臂的速度和角速度而产生的惯性力,科氏力是广义速度的导数与势能梯度和动能梯度之间的和。对于七自由度机械臂,科氏力也可以使用7×7的矩阵表示。
g(q)表示得重力是机械臂每个关节上受到的重力值,七自由度机械臂的各个关节的重力值可以使用7×1的矩阵表示。
本申请实施例中的摩擦力采用库伦摩擦模型。当关节速度小于或等于静摩擦速度时,摩擦力的大小等于静摩擦系数乘以关节受到的正压力或张力。当关节速度大于静摩擦速度时,摩擦力的大小等于动摩擦系数乘以关节的速度,并且摩擦力的方向与关节速度的方向相反。七自由度机械臂的摩擦力可以使用7×1的矩阵表示。
上述动力学模型中的各个参数可以根据关节位置信息和速度信息,实时解算得到。
3.根据弹簧-质量-阻尼二阶系统的动态特性,建立阻抗模型如下:
上式(2)中Md、Dd、Kd均为对角矩阵,可以分别用于表示关节的惯性矩阵、阻尼矩阵和刚度矩阵。
其中,阻尼矩阵和刚度矩阵可以是预先设定的。对于七自由度机械臂,根据给定的每个关节的阻尼值和刚度值,可以组成的7×7的对角矩阵。
上式(2)中的惯性矩阵与动力学方程也即式(1)中的惯性矩阵不同,上式(2)中的惯性矩阵只用于描述机械臂上每个关节的运动惯性,不是对机械臂整体的描述。
4.使用τc表示力矩传感器测量得到的值。通过将阻抗模型计算得到的力与其相加,再减去设定的力矩值,可以得到最终的控制力矩输入值,通过控制关节力矩实现对机械臂末端的控制跟踪。即:
其中,力矩传感器测量得到的值是指各个关节上实际力矩的大小,该值是综合了给定力矩和关节实际受外力影响之后的结果。
5.在实际应用过程中,各个关节的加速度是很难获取的。本申请实施例为了引入力矩反馈,可以将加速度表示为:
所以得到最终的控制力矩可以表示为:
6.在机械臂实际的工程应用中,通过力矩传感器获取到的关节力矩可能存在偏差,或者给定的末端负载参数不正确,从而导致根据动力学模型求解得到的结果出现偏差。针对该问题,本申请实施例在对机械臂的控制过程中加入了监测运动状态的功能。
7.如图4所示,是本申请实施例提供的一种机械臂的控制流程的示意图。图4示出了在对机械臂的控制过程中增加的监测运动状态步骤示例。具体地,在机械臂工作过程中,可以间隔固定时间利用位置传感器和力矩传感器进行采样,获得机械臂在采样时刻的关节位置和力矩值,上述力矩值经过转换后可以得到机械臂末端所受外力和力矩信息,也即前述实施例中介绍的机械臂末端的受力信息和力矩信息。通过将当前的采样时刻获得的信息与上一时刻的相关信息进行对比,可以来判断机械臂当前的状态。
具体地,如图4所示,可以根据位置传感器采样得到的位置信息,确定末端工具当前所处的位置是否位于设定的操作空间内。如果末端工具在当前采样时刻所处的位置均位于上述操作空间内,控制设备可以无需执行上述比较步骤,并可以直接认定机械臂的状态为移动状态,返回不执行状态判断的信息。当任一关节在当前采样时刻所处的位置未在对应的操作空间内,控制设备可以对当前采样时刻的关节位置,所受外力和力矩信息与上一时刻的相关信息进行对比。也即,分别判断当前采样时刻各个关节的受力变动值是否大于预设阈值、判断各个关节的力矩变动值是否大于预设阈值,判断各个关节的位置变动值是否大于预设阈值。如果上述任一情形为是,则可以确定机械臂处于移动状态,否则判定机械臂处于静止状态。
8.在得到当前采样时刻机械臂的状态后,与上一时刻的状态进行对比,如果两次的状态都相同,则不需要执行操作。如果两次状态不同,则表示机械臂存在状态切换,则可以执行相关的关节参数的切换。
在本申请实施例的一种可能的实现方式中,当判定机械臂当前采样时刻与上一时刻的状态不同时,也即判定机械臂发生了状态切换时,如图4所示,可以对计数器进行累加。即,当判定机械臂当前采样时刻的状态与上一时刻的状态不同,控制设备可以对计数器加1。当计数器累加的数值大于设定次数时,控制设备可以返回状态切换的信息。此时,控制设备可以执行相关的关节参数的切换。
9.本申请实施例切换的关节参数主要是指刚度系数和弹性系数。在阻抗模式下,上述这两个因素分别影响阻力的大小和返回固定位置的趋势。
10.在检测到机械臂的状态由移动状态切换至静止状态时,可以增大各个关节的刚度系数和弹性系数,这相当于增加了运动的阻力,以此来让机械臂保持在当前的位置不发生运动,该过程也可称为对机械臂的锁定。在检测到机械臂的状态由静止状态切换至移动状态时,可以减小刚度系数和弹性系数,使使用者拖动机械臂时更加轻便,该过程也可称为对机械臂的解锁。
本申请实施例通过在完成动力学参数辨识的基础上建立动力学模型,根据动力学模型,增加阻抗控制模型,通过控制机械臂各个关节力矩完成对机械臂末端的控制跟踪,实现基于阻抗控制的机械臂自动锁定与解锁。应用本申请实施例提供的控制方法,通过判定机械臂状态,改变相应的关节参数,实现了机械臂自动锁定与解锁的控制。整个过程不需要人工干预,省去了人工手动触发机械臂锁定或解锁的操作步骤,提高了人机协作的效率。
参照图5,示出了本申请实施例提供的一种机械臂的控制装置的示意图,具体可以包括监测模块501、获取模块502和控制模块503,其中:
监测模块501,用于基于所述位置传感器和所述力矩传感器,监测所述机械臂在第一时刻的第一状态;
获取模块502,用于获取所述机械臂在第二时刻的第二状态,所述第二时刻是所述第一时刻的上一时刻;
控制模块503,用于若所述第一状态与所述第二状态不同,则对所述机械臂的关节参数进行调整。
在本申请实施例中,所述监测模块501具体可以用于:
采用所述位置传感器获取所述机械臂在所述第一时刻的关节位置信息;
采用所述力矩传感器获取所述机械臂在所述第一时刻的力矩值,所述力矩值用于经转换后得到机械臂末端的受力信息和力矩信息;
基于所述关节位置信息、所述机械臂末端的受力信息和力矩信息,确定所述机械臂在所述第一时刻的第一状态。
在本申请实施例的一种可能的实现方式中,所述监测模块501还可以用于:
采用每个所述关节上安装的位置传感器分别获取所述机械臂的每个所述关节在所述第一时刻的关节位置信息。
在本申请实施例的另一种可能的实现方式中,所述监测模块501还可以用于:
采用每个所述关节上安装的力矩传感器分别获取所述机械臂的每个所述关节在所述第一时刻的力矩值;
根据获取到的所述力矩值计算所述机械臂末端的受力信息和力矩信息。
在本申请实施例的又一种可能的实现方式中,所述监测模块501还可以用于:
若所述机械臂的任一所述关节的所述关节位置信息、所述机械臂末端的受力信息或力矩信息的变动值大于预设阈值,则判定所述机械臂在所述第一时刻的第一状态为移动状态;
若所述机械臂的任一所述关节的所述关节位置信息、所述受力信息和所述力矩信息的变动值均小于或等于预设阈值,则判定所述机械臂在所述第一时刻的第一状态为静止状态。
在本申请实施例中,所述控制模块503具体可以用于:
当所述机械臂由移动状态切换至静止状态,则增大所述机械臂的关节参数;
当所述机械臂由静止状态切换至移动状态,则减小所述机械臂的关节参数。
在本申请实施例的一种可能的实现方式中,所述关节参数包括每个所述关节上的刚度系数或弹性系数中的至少一种。
本申请实施例提供的一种机械臂的控制装置,应用该装置,可以实现前述各个方法实施例中的各个步骤。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述得比较简单,相关之处参见方法实施例部分的说明即可。
参照图6,示出了本申请实施例提供的一种机械臂控制设备的示意图。如图6所示,本申请实施例中的机械臂控制设备600包括:处理器610、存储器620以及存储在所述存储器620中并可在所述处理器610上运行的计算机程序621。所述处理器610执行所述计算机程序621时实现上述机械臂的控制方法各个实施例中的步骤,例如图1所示的步骤S101至S103。或者,所述处理器610执行所述计算机程序621时实现上述各装置实施例中各模块/单元的功能,例如图5所示模块501至503的功能。
示例性的,所述计算机程序621可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器620中,并由所述处理器610执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段可以用于描述所述计算机程序621在所述机械臂控制设备600中的执行过程。例如,所述计算机程序621可以被分割成监测模块、获取模块和控制模块,各模块具体功能如下:
监测模块,用于基于所述位置传感器和所述力矩传感器,监测所述机械臂在第一时刻的第一状态;
获取模块,用于获取所述机械臂在第二时刻的第二状态,所述第二时刻是所述第一时刻的上一时刻;
控制模块,用于若所述第一状态与所述第二状态不同,则对所述机械臂的关节参数进行调整。
所述机械臂控制设备600可以是实现前述各个方法实施例中步骤的机器人、机械臂或机械臂的控制设备。所述机械臂控制设备600可包括,但不仅限于,处理器610、存储器620。本领域技术人员可以理解,图6仅仅是机械臂控制设备600的一种示例,并不构成对机械臂控制设备600的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述机械臂控制设备600还可以包括输入输出设备、网络接入设备、总线等。
所述处理器610可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器620可以是所述机械臂控制设备600的内部存储单元,例如机械臂控制设备600的硬盘或内存。所述存储器620也可以是所述机械臂控制设备600的外部存储设备,例如所述机械臂控制设备600上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等等。进一步地,所述存储器620还可以既包括所述机械臂控制设备600的内部存储单元也包括外部存储设备。所述存储器620用于存储所述计算机程序621以及所述机械臂控制设备600所需的其他程序和数据。所述存储器620还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还公开了一种机械臂,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如前述各个实施例所述的机械臂的控制方法。
本申请实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如前述各个实施例所述的机械臂的控制方法。
本申请实施例还公开了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行前述各个实施例所述的机械臂的控制方法。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制。尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种机械臂的控制方法,其特征在于,所述机械臂包括多个关节,每个所述关节上均安装有位置传感器和力矩传感器,所述方法包括:
基于所述位置传感器和所述力矩传感器,监测所述机械臂在第一时刻的第一状态;
获取所述机械臂在第二时刻的第二状态,所述第二时刻是所述第一时刻的上一时刻;
若所述第一状态与所述第二状态不同,则对所述机械臂的关节参数进行调整。
2.根据权利要求1所述的方法,其特征在于,所述基于所述位置传感器和所述力矩传感器,监测所述机械臂在第一时刻的第一状态,包括:
采用所述位置传感器获取所述机械臂在所述第一时刻的关节位置信息;
采用所述力矩传感器获取所述机械臂在所述第一时刻的力矩值,所述力矩值用于经转换后得到机械臂末端的受力信息和力矩信息;
基于所述关节位置信息、所述机械臂末端的受力信息和力矩信息,确定所述机械臂在所述第一时刻的第一状态。
3.根据权利要求2所述的方法,其特征在于,所述采用所述位置传感器获取所述机械臂在所述第一时刻的关节位置信息,包括:
采用每个所述关节上安装的位置传感器分别获取所述机械臂的每个所述关节在所述第一时刻的关节位置信息。
4.根据权利要求2所述的方法,其特征在于,所述采用所述力矩传感器获取所述机械臂在所述第一时刻的力矩值,所述力矩值用于经转换后得到机械臂末端的受力信息和力矩信息,包括:
采用每个所述关节上安装的力矩传感器分别获取所述机械臂的每个所述关节在所述第一时刻的力矩值;
根据获取到的所述力矩值计算所述机械臂末端的受力信息和力矩信息。
5.根据权利要求2所述的方法,其特征在于,所述基于所述关节位置信息、所述机械臂末端的受力信息和力矩信息,确定所述机械臂在所述第一时刻的第一状态,包括:
若所述机械臂的任一所述关节的所述关节位置信息、所述受力信息或所述力矩信息的变动值大于预设阈值,则判定所述机械臂在所述第一时刻的第一状态为移动状态;
若所述机械臂的任一所述关节的所述关节位置信息、机械臂末端的所述受力信息和所述力矩信息的变动值均小于或等于预设阈值,则判定所述机械臂在所述第一时刻的第一状态为静止状态。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述对所述机械臂的关节参数进行调整,包括:
当所述机械臂由移动状态切换至静止状态,则增大所述机械臂的关节参数;
当所述机械臂由静止状态切换至移动状态,则减小所述机械臂的关节参数。
7.根据权利要求6所述的方法,其特征在于,所述关节参数包括每个所述关节上的刚度系数或弹性系数中的至少一种。
8.一种机械臂的控制装置,其特征在于,所述机械臂包括多个关节,每个所述关节上均安装有位置传感器和力矩传感器,所述装置包括:
监测模块,用于基于所述位置传感器和所述力矩传感器,监测所述机械臂在第一时刻的第一状态;
获取模块,用于获取所述机械臂在第二时刻的第二状态,所述第二时刻是所述第一时刻的上一时刻;
控制模块,用于若所述第一状态与所述第二状态不同,则对所述机械臂的关节参数进行调整。
9.一种机械臂,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7任一项所述的机械臂的控制方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的机械臂的控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410161450.2A CN117958979A (zh) | 2024-02-04 | 2024-02-04 | 机械臂的控制方法、装置及机械臂 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410161450.2A CN117958979A (zh) | 2024-02-04 | 2024-02-04 | 机械臂的控制方法、装置及机械臂 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117958979A true CN117958979A (zh) | 2024-05-03 |
Family
ID=90856132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410161450.2A Pending CN117958979A (zh) | 2024-02-04 | 2024-02-04 | 机械臂的控制方法、装置及机械臂 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117958979A (zh) |
-
2024
- 2024-02-04 CN CN202410161450.2A patent/CN117958979A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10564635B2 (en) | Human-cooperative robot system | |
CN111887906B (zh) | 手术机器人及其机械臂的控制方法、控制装置 | |
US9132552B2 (en) | Robot and friction compensation method therefor | |
US9050727B2 (en) | Master operation input device and master-slave manipulator | |
US8509950B2 (en) | Control apparatus and control method for robot, robot, and control program therefor | |
JP5902425B2 (ja) | ロボット制御装置、外乱判定方法およびアクチュエータ制御方法 | |
JP6584102B2 (ja) | ロボット装置、ロボット制御方法、プログラム、記録媒体、及び物品の製造方法 | |
CN111360838B (zh) | 一种机械臂控制方法、装置、机械臂及存储介质 | |
KR20140037122A (ko) | 최소 침습 수술을 위한 마스터/슬레이브 타입 의료 장치 | |
CN111249005A (zh) | 一种穿刺手术机器人柔顺控制系统 | |
WO2016136298A1 (ja) | アクチュエータ及び医療用支持アーム装置 | |
CN117958979A (zh) | 机械臂的控制方法、装置及机械臂 | |
Yan et al. | Ukf-based motion estimation of cable-driven forceps for robot-assisted surgical system | |
CN114341776A (zh) | 信息处理装置、信息处理系统和信息处理方法 | |
Cao et al. | An end-to-end proprioception framework for soft continuum robot | |
KR100954732B1 (ko) | 수술 로봇 시스템 및 그 외력 측정 방법 | |
Wang et al. | Design of position estimator for rope driven Micromanipulator of surgical robot based on parameter autonomous selection model | |
Franke et al. | Prediction of heartbeat motion with a generalized adaptive filter | |
Lin et al. | Ex Situ Sensing Method for the End-Effector's Six-Dimensional Force and Link's Contact Force of Cable-Driven Redundant Manipulators | |
Li et al. | External force estimation of impedance-type driven mechanism for surgical robot with kalman filter | |
CN114488782B (zh) | 基于谐波减速机构的转台双位置环控制方法及控制系统 | |
Ishii et al. | Estimation of reaction torque and compensation for elongation of wire for wire actuated robotic forceps | |
Zhang et al. | A combined approach for master-slave robotic surgery system control based on Jacobian and PD algorithm | |
CN113084828B (zh) | 一种运动控制方法、装置、设备和存储介质 | |
Wang et al. | Fuzzy controller design of the wire feeder of invasive vascular interventional surgery robot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |