机械臂拖动控制方法、装置、计算机设备和存储介质与流程
未命名
09-24
阅读:39
评论:0
1.本技术涉及柔顺控制技术领域,特别是涉及一种机械臂拖动控制方法、装置、计算机设备和存储介质。
背景技术:
2.机械臂的柔顺控制就是基于传感器获得的控制信号控制机械臂,使之响应外部作用力的变化而运动。机械臂的柔顺控制在诸如神经外科、腹腔、骨科等领域的手术机器人系统是非常重要的,直接关系到医生操作手术机器人的主观感受,更好的柔顺性会更加真实地模拟医生手臂的真实操作,使机械臂操作更加接近医生操作,进而提升手术效果。
3.由于刚体间的作用力与反作用力的影响,当机械臂的末端与作用对象接触时会出现接触反弹现象,而接触反弹现象会对作用对象产生不利伤害,为了削弱或消除接触反弹,操作者在拖动机械臂时,需要基于个人经验控制施加的外部作用力的大小,以达到控制机械臂的末端速度大小的目的,通过使机械臂的末端速度降低来削弱或消除接触反弹。
4.然而,该种通过人为控制外部作用力大小的方式,对操作者的操作能力要求较高,且效果不佳。
技术实现要素:
5.基于此,有必要针对上述技术问题,提供一种能够降低接触反弹作用的机械臂拖动控制方法、装置、计算机设备和存储介质。
6.第一方面,本技术提供了一种机械臂拖动控制方法,该方法包括:
7.获取机械臂的末端位置;
8.根据末端位置判断机械臂的末端是否位于目标包络空间内;目标包络空间为机械臂的作用对象对应的包络空间;
9.若机械臂的末端位于目标包络空间内,则根据机械臂的末端与目标包络空间确定变阻尼参数,并基于变阻尼参数和预设的变阻尼拖动模型控制机械臂运动。
10.在其中一个实施例中,该方法还包括:
11.若机械臂的末端不位于目标包络空间内,则基于预设的导纳控制模型控制机械臂运动。
12.在其中一个实施例中,该方法还包括:
13.获取作用对象的位置信息;
14.根据位置信息确定目标点坐标,并以目标点坐标为球心,以预设长度为半径构建目标包络空间。
15.在其中一个实施例中,目标包络空间包括第一包络球和第二包络球,第一包络球与第二包络球共球心,且第一包络球的半径小于第二包络球的半径,根据机械臂的末端与目标包络空间确定变阻尼参数,包括:
16.根据机械臂的末端到第一包络球的外表面的距离确定变阻尼参数。
17.在其中一个实施例中,根据末端位置检测机械臂的末端是否位于目标包络空间内,包括:
18.对第一包络球的半径与第二包络球的半径求差,得到第一差值;
19.比较机械臂的末端到第一包络球的外表面的距离和第一差值的大小;
20.若机械臂的末端到第一包络球的外表面的距离大于第一差值,则确定机械臂的末端不位于目标包络空间内;
21.若机械臂的末端到第一包络球的外表面的距离小于或等于第一差值,则确定机械臂的末端位于目标包络空间内。
22.在其中一个实施例中,基于变阻尼参数和预设的变阻尼拖动模型控制机械臂运动,包括:
23.基于外部作用力对机械臂进行重力补偿,得到环境作用力;
24.根据环境作用力、变阻尼参数和变阻尼拖动模型确定机械臂的各个关节的运动控制量;
25.基于机械臂的各个关节的运动控制量控制机械臂运动。
26.在其中一个实施例中,根据环境作用力、变阻尼参数和变阻尼拖动模型确定机械臂的各个关节的运动控制量,包括:
27.根据变阻尼参数生成变阻尼矩阵,将环境作用力和变阻尼矩阵输入至变阻尼模型中,得到变阻尼拖动模型输出的机械臂的各个关节的运动控制量。
28.第二方面,本技术还提供了一种机械臂拖动控制装置,该装置包括:
29.获取模块,用于获取机械臂的末端位置;
30.判断模块,用于根据末端位置判断机械臂的末端是否位于目标包络空间内;目标包络空间为机械臂的作用对象对应的包络空间;
31.控制模块,用于若机械臂的末端位于目标包络空间内,则根据机械臂的末端与目标包络空间确定变阻尼参数,并基于变阻尼参数和预设的变阻尼拖动模型控制机械臂运动。
32.第三方面,本技术还提供了一种计算机设备。计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
33.获取机械臂的末端位置;
34.根据末端位置判断机械臂的末端是否位于目标包络空间内;目标包络空间为机械臂的作用对象对应的包络空间;
35.若机械臂的末端位于目标包络空间内,则根据机械臂的末端与目标包络空间确定变阻尼参数,并基于变阻尼参数和预设的变阻尼拖动模型控制机械臂运动。
36.第四方面,本技术还提供了一种计算机可读存储介质。计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
37.获取机械臂的末端位置;
38.根据末端位置判断机械臂的末端是否位于目标包络空间内;目标包络空间为机械臂的作用对象对应的包络空间;
39.若机械臂的末端位于目标包络空间内,则根据机械臂的末端与目标包络空间确定变阻尼参数,并基于变阻尼参数和预设的变阻尼拖动模型控制机械臂运动。
40.第五方面,本技术还提供了一种计算机程序产品。计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
41.获取机械臂的末端位置;
42.根据末端位置判断机械臂的末端是否位于目标包络空间内;目标包络空间为机械臂的作用对象对应的包络空间;
43.若机械臂的末端位于目标包络空间内,则根据机械臂的末端与目标包络空间确定变阻尼参数,并基于变阻尼参数和预设的变阻尼拖动模型控制机械臂运动。
44.上述机械臂拖动控制方法、装置、计算机设备和存储介质,通过获取机械臂的末端位置;根据末端位置判断机械臂的末端是否位于目标包络空间内;目标包络空间为机械臂的作用对象对应的包络空间;若机械臂的末端位于目标包络空间内,则根据机械臂的末端与目标包络空间确定变阻尼参数,并基于变阻尼参数和预设的变阻尼拖动模型控制机械臂运动。本技术实施例中,若机械臂的末端在目标包络空间内,说明机械臂的末端距离作用对象非常接近,这种情况下,基于变阻尼参数和预设的变阻尼拖动模型来控制机械臂运动,可以使得机械臂的运动量非常小,从而减小对作用对象的冲击,降低反弹对作用对象的伤害。
附图说明
45.图1为一个实施例中机械臂的结构示意图;
46.图2为一个实施例中机械臂拖动控制方法的流程示意图;
47.图3为一个实施例中构建目标包络空间的方法的流程示意图;
48.图4为一个实施例中目标包络空间的示意图;
49.图5为一个实施例中确定机械臂的末端是否位于目标包络空间内的方法的示意图;
50.图6为另一个实施例中确定机械臂的末端是否位于目标包络空间内的方法的示意图;
51.图7为另一个实施例中控制机械臂运动的方法的流程示意图;
52.图8为一个实施例中机械臂拖动控制装置的结构框图;
53.图9为一个实施例中计算机设备的内部结构图。
具体实施方式
54.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
55.柔顺控制就是基于传感器取得的控制信号去控制机械臂,使之响应环境力的变化而运动。
56.当一个运动的刚体与一个固定的刚体接触时,由于接触瞬间会产生弹性形变而使得运动的刚体受到反向作用力。具体的,操作者操作手柄施加外部作用力,机械臂将会跟随操作者的意图进行运动。当机械臂处于力控柔顺拖动模式时,操作者拖动操作手柄使得操作手柄逐渐接触被固定的刚体,当在拖动过程中与固定刚体发生接触时,由于操作手柄受到反向作用力,故操作手柄就会出现接触反弹的现象。而接触反弹现象会对固定刚体产生
不利伤害。
57.现有技术中,操作者需要基于经验和操作手感来控制拖动速度、拖动力度,以尽可能降低反向作用力的大小,然而,这样一方面对操作者的能力要求较高,另一方面存在极大的不确定性,效果不佳。
58.鉴于上述现有技术存在的问题,本技术实施例提供的机械臂拖动控制方法,通过机械臂的末端位置判断机械臂的末端是否在目标包络空间内,若在,则根据机械臂的末端与目标包络空间确定变阻尼参数,并基于变阻尼参数和变阻尼拖动模型控制机械臂运动,其中,若机械臂的末端在目标包络空间内,说明机械臂的末端距离作用对象非常接近,这种情况下,基于变阻尼参数和预设的变阻尼拖动模型来控制机械臂运动,可以使得机械臂的运动量非常小,从而减小对作用对象的冲击,降低反弹对作用对象的伤害。
59.下面对本技术实施例提供的机械臂的结构进行说明
60.如图1所示,图1中示例性地示出了一种机械臂的结构,具体包括机械臂的各个关节1、传感器2和拖动手柄3。可选的,机械臂可以为六自由度机械臂、医疗机械臂或者其他类型的机械臂,在此不进行限定。可选的,传感器2可以为力传感器,用于检测力和/或力矩,可选的传感器2可以为六维力传感器。
61.本技术实施例中的机械臂为诸如神经外科、腹腔、骨科等领域的医用机械臂。
62.在一个实施例中,如图2所示,提供了一种机械臂拖动控制方法的流程示意图。该方法可以应用于图1中示出的机械臂,包括以下步骤:
63.步骤201,获取机械臂的末端位置。
64.本技术实施例中,可以根据机械臂的各个关节的关节转角获取末端位置。在机械臂的注册场景下,需要拖动机械臂的注册探针与机械臂的作用对象上的注册钉接触,其中,末端位置是指注册探针的末端,也即注册探针与注册钉接触的部分。具体的,机械臂可以通过位于机械臂各关节的角度传感器测得机械臂的各个关节的关节转角,然后将各个关节的关节转角输入至运动学模型中,得到机械臂的末端位置。
65.需要说明的是,本技术实施例中,还可以采用其他现有技术获取机械臂的末端位置,上述示例性的获取方式并不构成对该步骤的限定。
66.步骤202,根据末端位置判断机械臂的末端是否位于目标包络空间内。
67.其中,目标包络空间为机械臂的作用对象对应的包络空间。可选的,目标包络空间可以为以作用对象的中心点为球心,以预设长度为半径形成的球状空间。其中,目标包络空间将作用对象完全包裹在内。
68.机械臂的末端位置可以用于判断机械臂与作用对象之间的距离。
69.本技术实施例中,可以根据机械臂的末端位置到目标包络空间的距离来判断机械臂的末端是否位于目标包络空间内。
70.可选的,机械臂的末端位置到目标包络空间的距离可以是指机械臂的末端位置到目标包络空间的球心的距离。相应的,若机械臂的末端位置到目标包络空间的距离小于或等于目标包络空间的球半径,则认为机械臂位于该目标包络空间内,若机械臂的末端位置到目标包络空间的距离大于目标包络空间的球半径,则认为机械臂位于该目标包络空间外。
71.步骤203,若机械臂的末端位于目标包络空间内,则根据机械臂的末端与目标包络
空间确定变阻尼参数,并基于变阻尼参数和预设的变阻尼拖动模型控制机械臂运动。
72.若机械臂的末端位于目标包络空间内,说明机械臂的末端与作用对象的距离非常接近,这种情况下,若机械臂的末端的运动速度较快,则机械臂的末端与作用对象之间会产生较大的反弹力,从而对作用对象造成伤害。这种情况下,本技术提出根据机械臂的末端与目标包括空间确定变阻尼参数。变阻尼参数可以用于控制机械臂的末端的移动速度和移动冲击力。
73.可选的,根据机械臂的末端与目标包络空间确定变阻尼参数的过程例如是:根据机械臂的末端到目标包络空间的外表面的距离来确定变阻尼参数,其中,机械臂的末端到目标包络空间的外表面的距离包括两种情况,一种是机械臂的末端在目标包络空间外部,该种情况下,距离用“+”表示,另一种是机械臂的末端在目标包络空间的内部,该种情况下,距离用
“‑”
表示。
74.本技术实施例中,距离越大,则表示机械臂的末端到目标包络空间越远,距离越小,则表示机械臂的末端到目标包络空间越近或者表示机械臂的末端深入目标包络空间越远。可选的,本技术实施例中,机械臂的末端到目标包络空间的距离与变阻尼参数为反比例关系。
75.可选的,根据机械臂的末端与目标包络空间确定变阻尼参数的过程例如是:根据机械臂的末端到目标包络空间的球心的距离来确定变阻尼参数,其中,机械臂的末端越靠近目标包络空间的球心,表示机械臂的末端与作用对象产生接触反弹的概率越大。可选的,本技术实施例中,机械臂的末端到目标包络空间的球心的距离与变阻尼参数成反比例关系。
76.本技术实施例中,将变阻尼参数输入至预设的变阻尼拖动模型中,可以得到变阻尼拖动模型输出的机械臂的各关节的运动控制量,并根据各关节的运动控制量控制机械臂运动。
77.步骤204,若机械臂的末端不位于目标包络空间内,则基于预设的导纳控制模型控制机械臂运动。
78.本技术实施例中,若机械臂的末端不位于目标包络空间内,说明机械臂距离作用对象较远,这种情况下,可以基于正常的柔顺控制方法控制机械臂运动。
79.具体的,本技术实施例中,可以获取到预设的导纳控制模型,其中导纳控制模型的表达式可以例如是其中,m为惯性系数,b为阻尼系数,k为刚度系数,为速度矩阵,为加速度矩阵,f为重力补偿后的环境作用力。其中,在受到环境作用力的情况下,k的取值可以近似为0,f、m、b均为已知量,基于求取机械臂各个关节的速度矩阵和加速度矩阵,从而控制各个关节运动。
80.在上述实施例的基础上,如图3所示,其示出了一种构建目标包络空间的方法的示意图,该方法包括:
81.步骤301,获取作用对象的位置信息。
82.其中,作用对象的位置信息表示作用对象在机械臂坐标系下的空间坐标,本技术实施例中,可以基于机械臂上自带的摄像头或者红外传感器获取作用对象的位置信息。
83.步骤302,根据位置信息确定目标点坐标,并以目标点坐标为球心,以预设长度为半径构建目标包络空间。
84.需要说明的是,作用对象一般而言是立体的,因此作用对象的位置信息并不是一个具体某个点的位置信息,而是一系列点的位置信息,该一系列点共同组成作用对象。
85.本技术实施例中,目标点坐标是指基于作用对象的位置信息确定的能够代表作用对象位置的点的坐标。可选的,目标点可以例如是作用对象的位置信息中的中心点。
86.本技术实施例中,可以以目标点坐标为球心,以预设长度为半径构建目标包络空间。其中,预设长度可以是基于经验确定的。例如基于男士、女士的头围大小确定预设长度。
87.本技术实施例中,通过构建合理的目标包络空间,可以为后续变阻尼控制提供可靠依据,从而降低接触反弹对作用对象产生的不利影响。
88.在实际应用中,可能出现这样的场景,即机械臂的末端与作用对象过盈接触,由于操作者可能感知不到这种情况,而继续拖动机械臂朝向作用对象移动,这样会对作用对象造成伤害,为了避免这种情况,本技术实施例提供了一种新的目标包络空间,该目标包络空间设置有制动机制,下面进行详细说明:
89.本技术实施例中,如图4所示,其示出了一种目标包络空间的示意图,该目标包络空间包括第一包络球和第二包络球,第一包络球与第二包络球共球心o,且第一包络球的半径r小于第二包络球的半径r。
90.可选的,第一包络球为包裹作用对象的最小边界球。可以认为,当机械臂的末端到达第一包络球的外表面时,机械臂的末端与作用对象会产生直接接触。
91.基于该种目标包络空间,本技术实施例中,根据机械臂的末端与目标包络空间确定变阻尼参数的过程可以包括以下内容:
92.第一种情况是:根据机械臂的末端到第一包络球的外表面的距离确定变阻尼参数。其中,机械臂的末端到第一包络球的外表面的距离表示机械臂的末端抵近作用对象时,二者之间的距离。其中,机械臂的末端到第一包络球的外表面的距离与变阻尼参数成反比,即距离越小,变阻尼参数越大,机械臂的运动越迟滞,距离越大,变阻尼参数越小,机械臂的运动越灵活。相应的,当机械臂的末端进入第二包络球而没有进入第一包络球时,机械臂采用变阻尼方式控制运动。当机械臂的末端位于第二包络球之外,则表示机械臂采用正常的柔顺控制方式控制运动。当机械臂的末端进入第一包络球时,机械臂紧急制动,即机械臂不能够再朝向作用对象运动。
93.需要说明的是,第一包络球的外表面也可以替换为第一包络球的内表面。本技术实施例中第一包络球的内表面和外表面之间不存在厚度。
94.基于该实施例提供的目标包络空间,本技术实施例中,如图5所示,其示出了确定机械臂的末端是否位于目标包络空间内的方法的示意图,包括以下步骤:
95.步骤501,对第一包络球的半径与第二包络球的半径求差,得到第一差值。
96.步骤502,比较机械臂的末端到第一包络球的外表面的距离和第一差值的大小。
97.步骤503,若机械臂的末端到第一包络球的外表面的距离大于第一差值,则确定机械臂的末端不位于目标包络空间内。
98.步骤504,若机械臂的末端到第一包络球的外表面的距离小于或等于第一差值,则确定机械臂的末端位于目标包络空间内。
99.需要说明的是,本技术实施例中,若机械臂的末端到第一包络球的外表面的距离为零,则控制机械臂停止移动。
100.第二种情况是:根据机械臂的末端到第二包络球的外表面的距离确定变阻尼参数。其中,机械臂的末端未进入第二包络球时,机械臂的末端与第二包络球的外表面的距离用“+”表示,例如+10毫米,当机械臂的末端进入第二包络球时,机械臂的末端与第二包络球的外表面的距离用
“‑”
表示,例如-5毫米。其中,机械臂的末端到第二包络球的外表面的距离与变阻尼参数成反比,即距离越小,变阻尼参数越大,机械臂的运动越迟滞,距离越大,变阻尼参数越小,机械臂的运动越灵活。
101.相应的,当机械臂的末端位于第二包络球之外,即机械臂的末端与第二包络球的外表面的距离用“+”表示时,机械臂采用正常的柔顺控制方式控制运动,当机械臂的末端进入第二包络球而没有进入第一包络球时,即机械臂的末端与第二包络球的外表面的距离用
“‑”
表示时,机械臂采用变阻尼方式控制运动。当机械臂的末端抵近第一包络球的外表面时,机械臂紧急制动,即机械臂不能够再朝向作用对象运动。
102.需要说明的是,第二包络球的外表面也可以替换为第二包络球的内表面。本技术实施例中第二包络球的内表面和外表面之间不存在厚度。
103.基于该实施例提供的目标包络空间,本技术实施例中,如图6所示,确定机械臂的末端是否位于目标包络空间内的过程包括以下步骤:
104.步骤601,对第一包络球的半径与第二包络球的半径求差,得到第一差值。
105.步骤602,若机械臂的末端与第二包络球的外表面的距离为正数,则确定机械臂的末端不位于目标包络空间内。
106.步骤603,若机械臂的末端与第二包络球的外表面的距离为零或负数,则确定机械臂的末端位于目标包络空间内。
107.需要说明的是,本技术实施例中,若机械臂的末端与第二包络球的外表面的距离为负数,且机械臂的末端与第二包络球的外表面的距离的绝对值等于或者大于该第一差值,则控制机械臂停止移动。
108.需要说明的是,当机械臂的末端进入第二包络球而没有进入第一包络球时,机械臂采用变阻尼方式控制运动。当机械臂的末端位于第二包络球之外,则表示机械臂采用正常的柔顺控制方式控制运动。
109.本技术实施例中,提供了一种特定性态的目标包络空间,并基于该目标包络空间衍生出两种确定变阻尼参数确定方法及其对应的判断机械臂末端是否位于目标包络空间内的方法。提高了对机械臂的末端的位置的准确掌控,从而能够更好地用于确定机械臂的运动模式。
110.在上述实施例的基础上,如图7所示,本技术实施例还提供另一种控制机械臂运动的方法,该方法包括:
111.步骤701,基于外部作用力对机械臂进行重力补偿,得到环境作用力。
112.其中,外部作用力包括重力和操作人员施加在机械臂上的拖动力,进行重力补偿的目的在于提取操作人员施加在机械臂上的拖动力。事实上,由于传感器在检测机械臂受到的外部作用力时,不能将传感器受到的重力和操作人员施加的拖动力区分开,因此,本方案通过对传感器检测到的外部作用力进行重力补偿,将补偿后的作用力作为机械臂受到的环境作用力。
113.重力补偿模型可以为handforce=f-f
0-f
flange-f
tool
,其中,handforce为人手作用
力;f为传感器实际检测到的读数;f0为标定出来的传感器初始值;f
flange
为法兰重力;f
tool
为末端工具重力。
114.需要说明的是,由于重力是无处不在的,因此重力补偿也是实时进行的。
115.步骤702,根据环境作用力、变阻尼参数和变阻尼拖动模型确定机械臂的各个关节的运动控制量。
116.在一种可选的实现方式中,可以将环境作用力、变阻尼参数输入到变阻尼拖动模型中,得到变阻尼模型输出的机械臂的各个关节的运动控制量。
117.其中,变阻尼模型可以表示为:其中,h为变阻尼参数。m为惯性矩阵,k为刚度矩阵,f为环境作用力,为速度矩阵,为加速度矩阵。
118.在另一种可选的实现方式中,可以根据变阻尼参数生成变阻尼矩阵,将环境作用力和变阻尼矩阵输入至变阻尼模型中,得到变阻尼拖动模型输出的机械臂的各个关节的运动控制量。
119.其中,本技术实施例中,根据变阻尼参数生成变阻尼矩阵的过程可以如下式所示:be=b+f(x,k),其中,b为初始阻尼矩阵,f(x,k)为变阻尼参数,x为机械臂的末端到目标包络空间的距离(该距离可以是机械臂的末端到目标包络空间的球心的距离,也可以是机械臂的末端到第一包络球的外表面的距离,也可以是机械臂的末端到第二包络球的外表面的距离)。
120.需要说明的是,第一包络球的外表面可以替换为第一包络球的内表面,本技术实施例中第一包络球的内表面和外表面之间不存在厚度。第二包络球的外表面可以替换为第二包络球的内表面,本技术实施例中第二包络球的内表面和外表面之间不存在厚度。
121.步骤703,基于机械臂的各个关节的运动控制量控制机械臂运动。
122.可选的,各个关节的运动控制量例如是指各个关节速度、转角以及加速度等。机械臂的处理组件可以将各个关节的运动控制量发送至底层伺服系统进行运动控制。
123.本技术实施例通过重力补偿确定环境作用力,然后基于环境作用力以及变阻尼参数和变阻尼拖动模型来确定各个关节的运动控制量,最后通过伺服系统进行运动控制,提高了运动控制的精度。
124.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
125.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的机械臂拖动控制方法的机械臂拖动控制装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个机械臂拖动控制装置实施例中的具体限定可以参见上文中对于机械臂拖动控制方法的限定,在此不再赘述。
126.在一个实施例中,如图8所示,提供了一种机械臂拖动控制装置,包括:获取模块801、判断模块802和控制模块803,其中:
127.获取模块801,用于获取机械臂的末端位置;
128.判断模块802,用于根据末端位置判断机械臂的末端是否位于目标包络空间内;目标包络空间为机械臂的作用对象对应的包络空间;
129.控制模块803,用于若机械臂的末端位于目标包络空间内,则根据机械臂的末端与目标包络空间确定变阻尼参数,并基于变阻尼参数和预设的变阻尼拖动模型控制机械臂运动。
130.在其中一个实施例中,控制模块803具体用于:
131.若机械臂的末端不位于目标包络空间内,则基于预设的导纳控制模型控制机械臂运动。
132.在其中一个实施例中,判断模块802具体用于:
133.获取作用对象的位置信息;
134.根据位置信息确定目标点坐标,并以目标点坐标为球心,以预设长度为半径构建目标包络空间。
135.在其中一个实施例中,目标包络空间包括第一包络球和第二包络球,第一包络球与第二包络球共球心,且第一包络球的半径小于第二包络球的半径,判断模块802具体用于:
136.根据机械臂的末端到第一包络球的外表面的距离确定变阻尼参数。
137.在其中一个实施例中,判断模块802具体用于:
138.对第一包络球的半径与第二包络球的半径求差,得到第一差值;
139.比较机械臂的末端到第一包络球的外表面的距离和第一差值的大小;
140.若机械臂的末端到第一包络球的外表面的距离大于第一差值,则确定机械臂的末端不位于目标包络空间内;
141.若机械臂的末端到第一包络球的外表面的距离小于或等于第一差值,则确定机械臂的末端位于目标包络空间内。
142.在其中一个实施例中,控制模块803具体用于:
143.基于外部作用力对机械臂进行重力补偿,得到环境作用力;
144.根据环境作用力、变阻尼参数和变阻尼拖动模型确定机械臂的各个关节的运动控制量;
145.基于机械臂的各个关节的运动控制量控制机械臂运动。
146.在其中一个实施例中,控制模块803具体用于:
147.根据变阻尼参数生成变阻尼矩阵,将环境作用力和变阻尼矩阵输入至变阻尼模型中,得到变阻尼拖动模型输出的机械臂的各个关节的运动控制量。
148.上述机械臂拖动控制装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
149.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该
内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种机械臂拖动控制方法。
150.本领域技术人员可以理解,图9中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
151.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
152.获取机械臂的末端位置;
153.根据末端位置判断机械臂的末端是否位于目标包络空间内;目标包络空间为机械臂的作用对象对应的包络空间;
154.若机械臂的末端位于目标包络空间内,则根据机械臂的末端与目标包络空间确定变阻尼参数,并基于变阻尼参数和预设的变阻尼拖动模型控制机械臂运动。
155.在一个实施例中,处理器执行计算机程序时还实现以下步骤:若机械臂的末端不位于目标包络空间内,则基于预设的导纳控制模型控制机械臂运动。
156.在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取作用对象的位置信息;根据位置信息确定目标点坐标,并以目标点坐标为球心,以预设长度为半径构建目标包络空间。
157.在一个实施例中,目标包络空间包括第一包络球和第二包络球,第一包络球与第二包络球共球心,且第一包络球的半径小于第二包络球的半径,处理器执行计算机程序时还实现以下步骤:根据机械臂的末端到第一包络球的外表面的距离确定变阻尼参数。
158.在一个实施例中,处理器执行计算机程序时还实现以下步骤:对第一包络球的半径与第二包络球的半径求差,得到第一差值;比较机械臂的末端到第一包络球的外表面的距离和第一差值的大小;若机械臂的末端到第一包络球的外表面的距离大于第一差值,则确定机械臂的末端不位于目标包络空间内;若机械臂的末端到第一包络球的外表面的距离小于或等于第一差值,则确定机械臂的末端位于目标包络空间内。
159.在一个实施例中,处理器执行计算机程序时还实现以下步骤:基于外部作用力对机械臂进行重力补偿,得到环境作用力;根据环境作用力、变阻尼参数和变阻尼拖动模型确定机械臂的各个关节的运动控制量;基于机械臂的各个关节的运动控制量控制机械臂运动。
160.在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据变阻尼参数生成变阻尼矩阵,将环境作用力和变阻尼矩阵输入至变阻尼模型中,得到变阻尼拖动模型输出的机械臂的各个关节的运动控制量。
161.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
162.获取机械臂的末端位置;
163.根据末端位置判断机械臂的末端是否位于目标包络空间内;目标包络空间为机械臂的作用对象对应的包络空间;
164.若机械臂的末端位于目标包络空间内,则根据机械臂的末端与目标包络空间确定
变阻尼参数,并基于变阻尼参数和预设的变阻尼拖动模型控制机械臂运动。
165.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若机械臂的末端不位于目标包络空间内,则基于预设的导纳控制模型控制机械臂运动。
166.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取作用对象的位置信息;根据位置信息确定目标点坐标,并以目标点坐标为球心,以预设长度为半径构建目标包络空间。
167.在一个实施例中,目标包络空间包括第一包络球和第二包络球,第一包络球与第二包络球共球心,且第一包络球的半径小于第二包络球的半径,计算机程序被处理器执行时还实现以下步骤:根据机械臂的末端到第一包络球的外表面的距离确定变阻尼参数。
168.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对第一包络球的半径与第二包络球的半径求差,得到第一差值;比较机械臂的末端到第一包络球的外表面的距离和第一差值的大小;若机械臂的末端到第一包络球的外表面的距离大于第一差值,则确定机械臂的末端不位于目标包络空间内;若机械臂的末端到第一包络球的外表面的距离小于或等于第一差值,则确定机械臂的末端位于目标包络空间内。
169.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于外部作用力对机械臂进行重力补偿,得到环境作用力;根据环境作用力、变阻尼参数和变阻尼拖动模型确定机械臂的各个关节的运动控制量;基于机械臂的各个关节的运动控制量控制机械臂运动。
170.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据变阻尼参数生成变阻尼矩阵,将环境作用力和变阻尼矩阵输入至变阻尼模型中,得到变阻尼拖动模型输出的机械臂的各个关节的运动控制量。
171.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
172.获取机械臂的末端位置;
173.根据末端位置判断机械臂的末端是否位于目标包络空间内;目标包络空间为机械臂的作用对象对应的包络空间;
174.若机械臂的末端位于目标包络空间内,则根据机械臂的末端与目标包络空间确定变阻尼参数,并基于变阻尼参数和预设的变阻尼拖动模型控制机械臂运动。
175.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若机械臂的末端不位于目标包络空间内,则基于预设的导纳控制模型控制机械臂运动。
176.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取作用对象的位置信息;根据位置信息确定目标点坐标,并以目标点坐标为球心,以预设长度为半径构建目标包络空间。
177.在一个实施例中,目标包络空间包括第一包络球和第二包络球,第一包络球与第二包络球共球心,且第一包络球的半径小于第二包络球的半径,计算机程序被处理器执行时还实现以下步骤:根据机械臂的末端到第一包络球的外表面的距离确定变阻尼参数。
178.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对第一包络球的半径与第二包络球的半径求差,得到第一差值;比较机械臂的末端到第一包络球的外表面的距离和第一差值的大小;若机械臂的末端到第一包络球的外表面的距离大于第一差值,
则确定机械臂的末端不位于目标包络空间内;若机械臂的末端到第一包络球的外表面的距离小于或等于第一差值,则确定机械臂的末端位于目标包络空间内。
179.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于外部作用力对机械臂进行重力补偿,得到环境作用力;根据环境作用力、变阻尼参数和变阻尼拖动模型确定机械臂的各个关节的运动控制量;基于机械臂的各个关节的运动控制量控制机械臂运动。
180.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据变阻尼参数生成变阻尼矩阵,将环境作用力和变阻尼矩阵输入至变阻尼模型中,得到变阻尼拖动模型输出的机械臂的各个关节的运动控制量。
181.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
182.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
183.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
技术特征:
1.一种机械臂拖动控制方法,其特征在于,所述方法包括:获取所述机械臂的末端位置;根据所述末端位置判断所述机械臂的末端是否位于目标包络空间内;所述目标包络空间为所述机械臂的作用对象对应的包络空间;若所述机械臂的末端位于所述目标包络空间内,则根据所述机械臂的末端与所述目标包络空间确定变阻尼参数,并基于所述变阻尼参数和预设的变阻尼拖动模型控制所述机械臂运动。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:若所述机械臂的末端不位于所述目标包络空间内,则基于预设的导纳控制模型控制所述机械臂运动。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取所述作用对象的位置信息;根据所述位置信息确定目标点坐标,并以所述目标点坐标为球心,以预设长度为半径构建所述目标包络空间。4.根据权利要求3所述的方法,其特征在于,所述目标包络空间包括第一包络球和第二包络球,所述第一包络球与所述第二包络球共球心,且所述第一包络球的半径小于所述第二包络球的半径,所述根据所述机械臂的末端与所述目标包络空间确定变阻尼参数,包括:根据所述机械臂的末端到所述第一包络球的外表面的距离确定所述变阻尼参数。5.根据权利要求4所述的方法,其特征在于,所述根据所述末端位置检测所述机械臂的末端是否位于目标包络空间内,包括:对所述第一包络球的半径与所述第二包络球的半径求差,得到第一差值;比较所述机械臂的末端到所述第一包络球的外表面的距离和所述第一差值的大小;若所述机械臂的末端到所述第一包络球的外表面的距离大于所述第一差值,则确定所述机械臂的末端不位于所述目标包络空间内;若所述机械臂的末端到所述第一包络球的外表面的距离小于或等于所述第一差值,则确定所述机械臂的末端位于所述目标包络空间内。6.根据权利要求1所述的方法,其特征在于,所述基于所述变阻尼参数和预设的变阻尼拖动模型控制所述机械臂运动,包括:基于外部作用力对所述机械臂进行重力补偿,得到环境作用力;根据所述环境作用力、所述变阻尼参数和所述变阻尼拖动模型确定所述机械臂的各个关节的运动控制量;基于所述机械臂的各个关节的运动控制量控制所述机械臂运动。7.根据权利要求6所述的方法,其特征在于,所述根据所述环境作用力、所述变阻尼参数和所述变阻尼拖动模型确定所述机械臂的各个关节的运动控制量,包括:根据所述变阻尼参数生成变阻尼矩阵,将所述环境作用力和所述变阻尼矩阵输入至所述变阻尼模型中,得到所述变阻尼拖动模型输出的所述机械臂的各个关节的运动控制量。8.一种机械臂拖动控制装置,其特征在于,所述装置包括:获取模块,用于获取所述机械臂的末端位置;判断模块,用于根据所述末端位置判断所述机械臂的末端是否位于目标包络空间内;
所述目标包络空间为所述机械臂的作用对象对应的包络空间;控制模块,用于若所述机械臂的末端位于所述目标包络空间内,则根据所述机械臂的末端与所述目标包络空间确定变阻尼参数,并基于所述变阻尼参数和预设的变阻尼拖动模型控制所述机械臂运动。9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
技术总结
本申请涉及一种机械臂拖动控制方法、装置、计算机设备和存储介质,通过获取机械臂的末端位置;根据末端位置判断机械臂的末端是否位于目标包络空间内;目标包络空间为机械臂的作用对象对应的包络空间;若机械臂的末端位于目标包络空间内,则根据机械臂的末端与目标包络空间确定变阻尼参数,并基于变阻尼参数和预设的变阻尼拖动模型控制机械臂运动。本申请实施例中,若机械臂的末端在目标包络空间内,说明机械臂的末端距离作用对象非常接近,这种情况下,基于变阻尼参数和预设的变阻尼拖动模型来控制机械臂运动,可以使得机械臂的运动量非常小,从而减小对作用对象的冲击,降低反弹对作用对象的伤害。作用对象的伤害。作用对象的伤害。
技术研发人员:黄浩 杨坤 虞苏璞 谢强
受保护的技术使用者:武汉联影智融医疗科技有限公司
技术研发日:2022.03.16
技术公布日:2023/9/22
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/