一种机械臂阻抗控制方法及装置与流程

文档序号:29968034发布日期:2022-05-11 10:47阅读:213来源:国知局
一种机械臂阻抗控制方法及装置与流程

1.本发明实施例涉及计算机技术,尤其涉及一种机械臂阻抗控制方法及装置。


背景技术:

2.随着计算机技术和自动化设备的快速发展,机械臂广泛应用于智能制造等各个领域中,并且对机械臂的控制精度要求也越来越高。
3.目前,可以通过在机械臂末端安装传感器来获得与环境的接触外力,并基于获得的外力进行阻抗控制,从而实现对机械臂的力控制和位置控制。然而,由于传感器存在零点漂移的情况,从而会对控制性能造成影响,降低了阻抗控制的准确性。


技术实现要素:

4.本发明实施例提供了一种机械臂阻抗控制方法及装置,以消除传感器零点漂移对控制性能的影响,提高阻抗控制的准确性。
5.第一方面,本发明实施例提供了一种机械臂阻抗控制方法,包括:
6.获取机械臂的当前实际速度和传感器采集的当前外力;
7.根据所述当前外力,确定目标控制方向对应的目标外力;
8.若基于所述当前实际速度检测到当前满足预设传感器零漂条件,则根据所述目标外力确定目标虚拟静摩擦力;
9.基于预设静摩擦阻抗模型,根据所述目标虚拟静摩擦力、所述目标外力、预设质量参数、预设阻尼参数和预设弹簧参数进行阻抗控制,确定所述目标控制方向对应的下一期望位置;
10.根据所述下一期望位置,确定所述目标控制方向对应的目标关节运动信息,并基于所述目标关节运动信息控制所述机械臂进行相应运动。
11.第二方面,本发明实施例还提供了一种机械臂阻抗控制装置,包括:
12.信息获取模块,用于获取机械臂的当前实际速度和传感器采集的当前外力;
13.目标外力确定模块,用于根据所述当前外力,确定目标控制方向对应的目标外力;
14.目标虚拟静摩擦力确定模块,用于若基于所述当前实际速度检测到当前满足预设传感器零漂条件,则根据所述目标外力确定目标虚拟静摩擦力;
15.下一期望位置确定模块,用于基于预设静摩擦阻抗模型,根据所述目标虚拟静摩擦力、所述目标外力、预设质量参数、预设阻尼参数和预设弹簧参数进行阻抗控制,确定所述目标控制方向对应的下一期望位置;
16.机械臂控制模块,用于根据所述下一期望位置,确定所述目标控制方向对应的目标关节运动信息,并基于所述目标关节运动信息控制所述机械臂进行相应运动。
17.本发明实施例通过基于传感器采集的当前外力,确定目标控制方向对应的目标外力,并基于机械臂的当前实际速度检测当前是否满足预设传感器零漂条件,若满足,则表明传感器当前存在零点漂移的情况,此时可以根据目标外力确定目标控制方向对应的目标虚
拟静摩擦力,并基于预设静摩擦阻抗模型,根据目标虚拟静摩擦力、目标外力、预设质量参数、预设阻尼参数和预设弹簧参数进行阻抗控制,确定目标控制方向对应的下一期望位置;根据下一期望位置,确定目标控制方向对应的目标关节运动信息,并基于目标关节运动信息控制机械臂进行相应运动,从而通过设置额外考虑虚拟静摩擦力这一参数的预设静摩擦阻抗模型,可以利用目标虚拟静摩擦力,消除目标控制方向上存在的传感器零点漂移对阻抗控制的影响,从而提高阻抗控制的准确性。
附图说明
18.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
19.图1是本发明实施例一提供的一种机械臂阻抗控制方法的流程图;
20.图2是本发明实施例二提供的一种机械臂阻抗控制方法的流程图;
21.图3是本发明实施例三提供的一种机械臂阻抗控制装置的结构示意图。
具体实施方式
22.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
23.实施例一
24.图1为本发明实施例一提供的一种机械臂阻抗控制方法的流程图,本实施例可适用于对机械臂阻抗控制过程中消除传感器零点漂移影响的情况。该方法可以由机械臂阻抗控制装置来执行,该装置可以由软件和/或硬件的方式来实现,集成于机械臂中。如图1所示,该方法具体包括以下步骤:
25.s110、获取机械臂的当前实际速度和传感器采集的当前外力。
26.其中,当前实际速度可以是指当前时刻机械臂末端的真实速度。传感器可以是指安装在机械臂末端的力传感器。当前外力可以是指当前时刻机械臂末端与环境物体接触的外力。
27.s120、根据当前外力,确定目标控制方向对应的目标外力。
28.其中,控制方向可以是指可控制机械臂移动的方向,也就是机械臂运动的自由度。机械臂的控制方向可以为一个多个。目标控制方向可以是当前需要进行零点漂移消除的控制方向。本实施例可以将机械臂的任一控制方向作为目标控制方向,并且每个控制方向对应的阻抗控制过程相同。
29.具体地,可以将当前外力转换到笛卡尔空间坐标系中,并对转换后的当前外力在目标控制方向上进行分解,获得目标控制方向上的分力,即目标外力。
30.s130、若基于当前实际速度检测到当前满足预设传感器零漂条件,则根据目标外力确定目标虚拟静摩擦力。
31.其中,预设传感器零漂条件可以是预先设置的传感器出现零点漂移时所对应的条
件。虚拟静摩擦力是虚拟的并不是真实存在的静摩擦力,其与参考真实静摩擦力的物理意义类似。目标虚拟静摩擦力可以是指虚拟摩擦方向(即目标控制方向)上的虚拟静摩擦力。
32.具体地,若当前实际速度小于或等于预设速度,则可以确定满足预设传感器零漂条件。其中,预设速度可以是预先设置的,在未施加外力的情况下,即因零点漂移的影响导致的传感器末端的实际速度最大值。预设速度理论上可以设置为0,但因速度计算误差的存在,则预设速度可能为一个大于0的数值,比如10-5

33.若检测到当前满足预设传感器零漂条件,则表明传感器当前存在零点漂移的情况,此时可以确定目标虚拟静摩擦力为目标外力,以便利用目标虚拟静摩擦力抵消因零点漂移而产生的目标外力,进而消除目标控制方向上存在的传感器零点漂移对阻抗控制的影响。
34.需要说明的是,在检测到当前不满足预设传感器零漂条件,比如,当前实际速度大于预设速度时,表明当前不存在零点漂移的情况,此时可以基于原有阻抗控制方式进行控制,无需引入虚拟静摩擦力这一参数,比如,可以将目标虚拟静摩擦力确定为0,以便忽略目标虚拟静摩擦力的影响。
35.s140、基于预设静摩擦阻抗模型,根据目标虚拟静摩擦力、目标外力、预设质量参数、预设阻尼参数和预设弹簧参数进行阻抗控制,确定目标控制方向对应的下一期望位置。
36.其中,预设静摩擦阻抗模型可以是在原有阻抗模型(即质量-阻尼-弹簧模型)下额外增加一个虚拟静摩擦力参数的阻抗模型。例如,预设静摩擦阻抗模型可以是指质量-阻尼-弹簧-虚拟静摩擦力的阻抗模型。为了减缓位置偏差造成的过大接触力,从而可以在机械臂末端增加一个弹簧(对应于预设弹簧参数k)。为了避免震荡可以再并联一个阻尼器(对应于预设阻尼参数b)。惯性是指物体(即弹簧和阻尼器)的一种固有属性。预设质量参数m可以是对物体惯性大小的量度。下一期望位置可以是指期望机械臂下次达到的位置,以便消除零点漂移对阻抗控制的影响。
37.具体地,可以基于质量、阻尼、弹簧和虚拟静摩擦力建立机械臂末端位置与外力之间的关系,即预设静摩擦阻抗模型,从而在获得当前确定的目标虚拟静摩擦力后,可以将目标虚拟静摩擦力和目标外力输入至预设静摩擦阻抗模型中,并基于预设静摩擦阻抗模型的输出,获得目标控制方向对应的下一期望位置。
38.示例性地,预设静摩擦阻抗模型对应的数学表达式可以表示如下:
[0039][0040]
其中,x是指预设静摩擦阻抗模型中的虚拟位置;是指预设静摩擦阻抗模型中的虚拟速度;是指预设静摩擦阻抗模型中的虚拟加速度;fs是指目标虚拟静摩擦力;f
ext
是指目标外力。可以引入两个状态:虚拟位置x1=x,虚拟速度将上述公式(1)等价为如下公式(2)和公式(3):
[0041][0042]
[0043]
通过离散化操作:上述公式(2)和公式(3)等价为如下公式(4)和公式(5):
[0044]
x1(k+1)=x2(k)dt+x1(k)
ꢀꢀ
(4)
[0045][0046]
其中,dt是指预设时间间隔,即k+1时刻与k时刻之间的时间间隔。已知x1(0)、x2(0)、f
ext
和fs时可以通过上述公式(4)和公式(5)计算出各个时刻下的虚拟位置和虚拟速度,从而可以看出虚拟位置和虚拟速度会受到f
ext
和fs的影响,所以可以通过引入虚拟静摩擦力fs来消除零漂对阻抗控制所输出的虚拟位置和虚拟速度的影响。
[0047]
示例性地,s140中的预设静摩擦阻抗模型可以通过如下步骤s51-s53实现确定目标控制方向对应的下一期望位置的功能:
[0048]
s51、获取目标控制方向对应的当前虚拟位置和当前虚拟速度,其中,当前虚拟位置是基于上一虚拟位置、预设时间间隔和上一虚拟速度确定的。
[0049]
具体地,若k时刻为当前时刻,则可以通过上述公式(4),基于上一虚拟位置x1(k-1)、预设时间间隔dt和上一虚拟速度x2(k-1)确定出目标控制方向对应的当前虚拟位置x1(k),并通过上述公式(5),基于上一虚拟位置x1(k-1)、预设时间间隔dt、上一虚拟速度x2(k-1)、预设弹簧参数k、预设阻尼参数b、预设质量参数m以及上一时刻获得的目标外力f
ext
(k-1)和目标虚拟静摩擦力fs(k-1),确定出目标控制方向对应的当前虚拟速度x2(k)。
[0050]
s52、基于当前虚拟位置、当前虚拟速度、目标虚拟静摩擦力、目标外力、预设质量参数、预设阻尼参数和预设弹簧参数,确定目标控制方向对应的下一虚拟速度。
[0051]
具体地,通过上述公式(5),基于当前虚拟位置x1(k)、预设时间间隔dt、当前虚拟速度x2(k)、预设弹簧参数k、预设阻尼参数b、预设质量参数m以及当前时刻获得的目标外力f
ext
(k)和目标虚拟静摩擦力fs(k),确定出目标控制方向对应的下一虚拟速度x2(k+1)。
[0052]
s53、基于下一虚拟速度、预设时间间隔和当前实际位置,确定目标控制方向对应的下一期望位置。
[0053]
具体地,可以通过公式:xq(k+1)=x2(k+1)dt+xs(k),基于下一虚拟速度x2(k+1)、预设时间间隔dt和当前实际位置xs(k),确定目标控制方向对应的下一期望位置xq(k+1)。
[0054]
s150、根据下一期望位置,确定目标控制方向对应的目标关节运动信息,并基于目标关节运动信息控制机械臂进行相应运动。
[0055]
具体地,根据预设静摩擦阻抗模型输出的笛卡尔空间坐标系下的下一期望位置,通过运动学逆解方式,可以将笛卡尔坐标系中的三维位置信息转换为具体的每个机械臂关节电机的角度,从而获得目标关节运动信息。可以将目标关节运动信息发送至位置控制器中,使得位置控制器基于目标关节运动信息调节机械臂的关节角度,从而机械臂可以在目标控制方向上移动到下一期望位置,进而消除了目标控制方向上存在的传感器零点漂移对阻抗控制的影响,提高了阻抗控制的准确性。
[0056]
本实施例的技术方案,通过基于传感器采集的当前外力,确定目标控制方向对应的目标外力,并基于机械臂的当前实际速度检测当前是否满足预设传感器零漂条件,若满
足,则表明传感器当前存在零点漂移的情况,此时可以根据目标外力确定目标控制方向对应的目标虚拟静摩擦力,并基于预设静摩擦阻抗模型,根据目标虚拟静摩擦力、目标外力、预设质量参数、预设阻尼参数和预设弹簧参数进行阻抗控制,确定目标控制方向对应的下一期望位置;根据下一期望位置,确定目标控制方向对应的目标关节运动信息,并基于目标关节运动信息控制机械臂进行相应运动,从而通过设置额外考虑虚拟静摩擦力这一参数的预设静摩擦阻抗模型,可以利用目标虚拟静摩擦力,消除目标控制方向上存在的传感器零点漂移对阻抗控制的影响,从而提高阻抗控制的准确性。
[0057]
在上述技术方案的基础上,s130可以包括:确定最大虚拟静摩擦力;若基于当前实际速度、目标外力和最大虚拟静摩擦力检测到当前满足预设传感器零漂条件,则根据目标外力确定目标虚拟静摩擦力。
[0058]
其中,最大虚拟静摩擦力可以用于表征目标控制方向上的最大零漂值。
[0059]
示例性地,确定最大虚拟静摩擦力可以包括:获取当前配置的目标静摩擦系数,其中,目标静摩擦系数是基于最大零漂值进行配置获得的;根据目标静摩擦系数和预设虚拟压力,确定最大虚拟静摩擦力。
[0060]
其中,静摩擦系数可以是基于业务需求动态配置的,以便提高阻抗控制的灵活性。目标静摩擦系数可以是指目标控制方向上配置的静摩擦系数。每个控制方向上可以配置相同的静摩擦系数,也可以配置不同的静摩擦系数。预设虚拟压力可以是预先基于物体(即弹簧和阻尼器)对应的预设质量参数m确定的虚拟的真实不存在的压力。例如,预设虚拟压力fn=mg。
[0061]
具体地,在传感器实际使用过程中,产生的零漂通常会具有一个最大零漂值dfm,从而可以基于该最大零漂值dfm配置出相应的静摩擦系数μs。例如,可以将最大零漂值dfm在目标控制方向上的目标零漂值与预设虚拟压力fn的比值确定为目标静摩擦系数μs,以使得目标控制方向上的最大虚拟静摩擦力等于最大零漂值。本实施例可以基于当前配置的每个控制方向对应的静摩擦系数,获取目标控制方向对应的目标静摩擦系数。将目标静摩擦系数μs和预设虚拟压力fn进行相乘,获得的乘积确定为最大虚拟静摩擦力。
[0062]
示例性地,基于当前实际速度、目标外力和最大虚拟静摩擦力检测到当前满足预设传感器零漂条件,可以包括:若检测到当前实际速度小于或等于预设速度,且目标外力小于或等于最大虚拟静摩擦力,则确定当前满足预设传感器零漂条件。
[0063]
具体地,在当前实际速度小于或等于预设速度时,若目标外力小于或等于最大虚拟静摩擦力,则表明目标外力小于最大零漂值,即当前确实是产生了零点漂移,此时可以将目标外力f
ext
确定为目标虚拟静摩擦力fs,使得公式(1)中的fs=f
ext
,从而零漂不会对阻抗控制产生影响。本实施例可以通过设置合适的静摩擦参数消除传感器零点漂移对阻抗控制的影响。若目标外力大于最大虚拟静摩擦力,则表明目标外力大于最大零漂值,即当前并不是产生了零点漂移,此时可以确定当前不满足预设传感器零漂条件,并基于原有阻抗控制方式进行控制,从而基于最大虚拟静摩擦力可以进一步提高了阻抗控制的准确性。
[0064]
实施例二
[0065]
图2为本发明实施例二提供的一种机械臂阻抗控制方法的流程图,本实施例在上述实施例的基础上,对检测到当前不满足预设传感器零漂条件的情况进行了进一步优化。其中与上述各实施例相同或相应的术语的解释在此不再赘述。
[0066]
参见图2,本实施例提供的机械臂阻抗控制方法具体包括以下步骤:
[0067]
s210、获取机械臂的当前实际速度和传感器采集的当前外力。
[0068]
s220、根据当前外力,确定目标控制方向对应的目标外力。
[0069]
s230、若基于当前实际速度检测到当前不满足预设传感器零漂条件,则获取当前配置的目标动摩擦系数,并基于目标动摩擦系数和预设虚拟压力,确定目标控制方向对应的目标虚拟动摩擦力。
[0070]
其中,虚拟动摩擦力是虚拟的并不是真实存在的动摩擦力,其与参考真实动摩擦力的物理意义类似。目标虚拟动摩擦力可以是指虚拟摩擦方向(即目标控制方向)上的虚拟动摩擦力。
[0071]
通常预设质量参数m、预设阻尼参数b和预设弹簧参数k是固定不变的,从而不能通过改变阻尼参数b来改变阻抗控制的阻尼大小。本实施例通过引入虚拟动摩擦力后便可以通过动态配置动摩擦系数的方式来引入额外的阻尼,进而改变阻抗控制行为,从而满足用户的多样性需求。例如,若机械臂在阻尼参数b的影响下需要10秒停下来,通过引入虚拟动摩擦力后,可以增加额外的阻尼,使得机械臂可以更快地停下来,从而也增加了更多的操作自由度,进一步提升了用户体验。
[0072]
具体地,在检测到当前不满足预设传感器零漂条件时,表明当前无需通过增加虚拟静摩擦力来消除零点漂移,此时可以通过获取当前配置的目标控制方向对应的目标动摩擦系数,并将目标动摩擦系数μk和预设虚拟压力fn进行相乘,获得的乘积确定为目标虚拟动摩擦力fk。
[0073]
示例性地,s230中的“获取当前配置的目标动摩擦系数”,可以包括:基于当前配置的每个控制方向对应的动摩擦系数,获取目标控制方向对应的目标动摩擦系数。具体地,目标动摩擦系数可以是指目标控制方向上配置的动摩擦系数。每个控制方向上可以配置相同的动摩擦系数,也可以配置不同的动摩擦系数。
[0074]
示例性地,s240中的“基于当前实际速度检测到当前不满足预设传感器零漂条件”,可以包括:若检测到当前实际速度大于预设速度,或者目标外力大于最大虚拟静摩擦力,则确定当前不满足预设传感器零漂条件。
[0075]
具体地,若检测到当前实际速度大于预设速度,或者目标外力大于最大虚拟静摩擦力,则表明机械臂运动并不是由于零漂引起的,从而可以确定当前不满足预设传感器零漂条件,以避免引入虚拟静摩擦力进行阻抗控制。
[0076]
s240、基于预设动摩擦阻抗模型,根据目标虚拟动摩擦力、目标外力、预设质量参数、预设阻尼参数和预设弹簧参数进行阻抗控制,确定目标控制方向对应的下一期望位置。
[0077]
其中,预设动摩擦阻抗模型可以是在原有阻抗模型(即质量-阻尼-弹簧模型)下额外增加一个虚拟动摩擦力参数的阻抗模型。例如,预设动摩擦阻抗模型可以是指质量-阻尼-弹簧-虚拟动摩擦力的阻抗模型。
[0078]
具体地,可以基于质量、阻尼、弹簧和虚拟动摩擦力建立机械臂末端位置与外力之间的关系,即预设动摩擦阻抗模型,从而在获得当前确定的目标虚拟动摩擦力后,可以将目标虚拟动摩擦力和目标外力输入至预设动摩擦阻抗模型中,并基于预设动摩擦阻抗模型的输出,获得目标控制方向对应的下一期望位置。
[0079]
示例性地,类似于预设静摩擦阻抗模型,预设动摩擦阻抗模型对应的数学表达式
可以表示如下:
[0080][0081]
其中,x是指预设动摩擦阻抗模型中的虚拟位置;是预设动摩擦阻抗模型中的虚拟速度;是指预设动摩擦阻抗模型中的虚拟加速度;fk是指目标虚拟动摩擦力;f
ext
是指目标外力。参照实施例一相同的方式,上述公式(6)可以等价为:
[0082]
x1(k+1)=x2(k)dt+x1(k)
ꢀꢀ
(7)
[0083][0084]
从上述公式(7)和公式(8)可以看出,通过增加目标虚拟动摩擦力可以引入额外阻尼,进而可以通过调节动摩擦系数的方式来改变所引入的额外阻尼,进而改变阻抗控制行为,从而满足用户的多样性需求。
[0085]
示例性地,s240中的预设动摩擦阻抗模型可以通过如下步骤s61-s63实现确定目标控制方向对应的下一期望位置的功能:
[0086]
s61、获取目标控制方向对应的当前虚拟位置和当前虚拟速度,其中,当前虚拟位置是基于上一虚拟位置、预设时间间隔和上一虚拟速度确定的。
[0087]
具体地,若k时刻为当前时刻,则可以通过上述公式(7),基于上一虚拟位置x1(k-1)、预设时间间隔dt和上一虚拟速度x2(k-1)确定出目标控制方向对应的当前虚拟位置x1(k),并通过上述公式(8),基于上一虚拟位置x1(k-1)、预设时间间隔dt、上一虚拟速度x2(k-1)、预设弹簧参数k、预设阻尼参数b、预设质量参数m以及上一时刻获得的目标外力f
ext
(k-1)和目标虚拟动摩擦力fk(k-1),确定出目标控制方向对应的当前虚拟速度x2(k)。
[0088]
s62、基于当前虚拟位置、当前虚拟速度、目标虚拟动摩擦力、目标外力、预设质量参数、预设阻尼参数和预设弹簧参数,确定目标控制方向对应的下一虚拟速度。
[0089]
具体地,通过上述公式(8),基于当前虚拟位置x1(k)、预设时间间隔dt、当前虚拟速度x2(k)、预设弹簧参数k、预设阻尼参数b、预设质量参数m以及当前时刻获得的目标外力f
ext
(k)和目标虚拟动摩擦力fk(k),确定出目标控制方向对应的下一虚拟速度x2(k+1)。
[0090]
s63、基于下一虚拟速度、预设时间间隔和当前实际位置,确定目标控制方向对应的下一期望位置。
[0091]
具体地,可以通过公式:xq(k+1)=x2(k+1)dt+xs(k),基于下一虚拟速度x2(k+1)、预设时间间隔dt和当前实际位置xs(k),确定目标控制方向对应的下一期望位置xq(k+1)。
[0092]
需要说明的是,可以将本实施例中的预设动摩擦阻抗模型与上述实施例中的预设静摩擦阻抗模型统一为预设摩擦阻抗模型,以便利用该预设摩擦阻抗模型进行统一处理。例如,该预设摩擦阻抗模型对应的数学表达式可以表示为:在当前满足预设传感器零漂条件时,可以将获得的目标虚拟静摩擦力fs作为虚拟摩擦力f。在当前不满足预设传感器零漂条件时,可以将获得的目标虚拟动摩擦力fk作为虚拟摩擦力f。若当前不需要引入虚拟摩擦力时,可以将虚拟摩擦力f确定为0,以便利用原有的质量-阻尼-弹簧模型进行阻抗控制。
[0093]
s250、根据下一期望位置,确定目标控制方向对应的目标关节运动信息,并基于目
标关节运动信息控制机械臂进行相应运动。
[0094]
本实施例的技术方案,通过在当前不满足预设传感器零漂条件时,可以基于目标动摩擦系数和预设虚拟压力,确定出目标控制方向对应的目标虚拟动摩擦力,并基于预设动摩擦阻抗模型,根据目标虚拟动摩擦力、目标外力、预设质量参数、预设阻尼参数和预设弹簧参数进行阻抗控制,确定目标控制方向对应的下一期望位置,从而本实施例通过增加目标虚拟动摩擦力的方式可以引入额外阻尼,进而改变阻抗控制行为,从而也增加了更多的操作自由度,进一步满足用户的多样性需求,提升了用户体验。
[0095]
以下是本发明实施例提供的机械臂阻抗控制装置的实施例,该装置与上述各实施例的机械臂阻抗控制方法属于同一个发明构思,在机械臂阻抗控制装置的实施例中未详尽描述的细节内容,可以参考上述机械臂阻抗控制方法的实施例。
[0096]
实施例三
[0097]
图3为本发明实施例三提供的一种机械臂阻抗控制装置的结构示意图,本实施例可适用于对机械臂阻抗控制过程中消除传感器零点漂移影响的情况。参见图3,该装置包括:信息获取模块310、目标外力确定模块320、目标虚拟静摩擦力确定模块330、下一期望位置确定模块340和机械臂控制模块350。
[0098]
其中,信息获取模块310,用于获取机械臂的当前实际速度和传感器采集的当前外力;目标外力确定模块320,用于根据当前外力,确定目标控制方向对应的目标外力;目标虚拟静摩擦力确定模块330,用于若基于当前实际速度检测到当前满足预设传感器零漂条件,则根据目标外力确定目标虚拟静摩擦力;下一期望位置确定模块340,用于基于预设静摩擦阻抗模型,根据目标虚拟静摩擦力、目标外力、预设质量参数、预设阻尼参数和预设弹簧参数进行阻抗控制,确定目标控制方向对应的下一期望位置;机械臂控制模块350,用于根据下一期望位置,确定目标控制方向对应的目标关节运动信息,并基于目标关节运动信息控制机械臂进行相应运动。
[0099]
本实施例的技术方案,通过基于传感器采集的当前外力,确定目标控制方向对应的目标外力,并基于机械臂的当前实际速度检测当前是否满足预设传感器零漂条件,若满足,则表明传感器当前存在零点漂移的情况,此时可以根据目标外力确定目标控制方向对应的目标虚拟静摩擦力,并基于预设静摩擦阻抗模型,根据目标虚拟静摩擦力、目标外力、预设质量参数、预设阻尼参数和预设弹簧参数进行阻抗控制,确定目标控制方向对应的下一期望位置;根据下一期望位置,确定目标控制方向对应的目标关节运动信息,并基于目标关节运动信息控制机械臂进行相应运动,从而通过设置额外考虑虚拟静摩擦力这一参数的预设静摩擦阻抗模型,可以利用目标虚拟静摩擦力,消除目标控制方向上存在的传感器零点漂移对阻抗控制的影响,从而提高阻抗控制的准确性。
[0100]
可选地,目标虚拟静摩擦力确定模块330,包括:
[0101]
最大虚拟静摩擦力确定单元,用于确定最大虚拟静摩擦力;
[0102]
目标虚拟静摩擦力确定单元,用于若基于当前实际速度、目标外力和最大虚拟静摩擦力检测到当前满足预设传感器零漂条件,则根据目标外力确定目标虚拟静摩擦力。
[0103]
可选地,目标虚拟静摩擦力确定单元,包括:
[0104]
零漂检测单元,用于:若检测到当前实际速度小于或等于预设速度,且目标外力小于或等于最大虚拟静摩擦力,则确定当前满足预设传感器零漂条件。
[0105]
可选地,最大虚拟静摩擦力确定单元,具体用于:获取当前配置的目标静摩擦系数,其中,目标静摩擦系数是基于最大零漂值进行配置获得的;根据目标静摩擦系数和预设虚拟压力,确定最大虚拟静摩擦力。
[0106]
可选地,下一期望位置确定模块340包括:
[0107]
预设静摩擦阻抗模型执行单元,用于通过如下步骤实现确定目标控制方向对应的下一期望位置的功能:
[0108]
获取目标控制方向对应的当前虚拟位置和当前虚拟速度,其中,当前虚拟位置是基于上一虚拟位置、预设时间间隔和上一虚拟速度确定的;
[0109]
基于当前虚拟位置、当前虚拟速度、目标虚拟静摩擦力、目标外力、预设质量参数、预设阻尼参数和预设弹簧参数,确定目标控制方向对应的下一虚拟速度;
[0110]
基于下一虚拟速度、预设时间间隔和当前实际位置,确定目标控制方向对应的下一期望位置。
[0111]
可选地,该装置还包括:
[0112]
目标虚拟动摩擦力确定模块,用于若基于当前实际速度检测到当前不满足预设传感器零漂条件,则获取当前配置的目标动摩擦系数,并基于目标动摩擦系数和预设虚拟压力,确定目标控制方向对应的目标虚拟动摩擦力;
[0113]
下一期望位置确定模块340,还用于基于预设动摩擦阻抗模型,根据目标虚拟动摩擦力、目标外力、预设质量参数、预设阻尼参数和预设弹簧参数进行阻抗控制,确定目标控制方向对应的下一期望位置。
[0114]
可选地,目标虚拟动摩擦力确定模块,具体用于:基于当前配置的每个控制方向对应的动摩擦系数,获取目标控制方向对应的目标动摩擦系数。
[0115]
可选地,零漂检测模块,还用于:若检测到当前实际速度大于预设速度,或者目标外力大于最大虚拟静摩擦力,则确定当前不满足预设传感器零漂条件。
[0116]
可选地,下一期望位置确定模块340还包括:
[0117]
预设动摩擦阻抗模型执行单元,用于通过如下步骤实现确定目标控制方向对应的下一期望位置的功能:
[0118]
获取目标控制方向对应的当前虚拟位移和当前虚拟速度,其中,当前虚拟位置是基于上一虚拟位置、预设时间间隔和上一虚拟速度确定的;
[0119]
基于当前虚拟位置、当前虚拟速度、目标虚拟动摩擦力、目标外力、预设质量参数、预设阻尼参数和预设弹簧参数,确定目标控制方向对应的下一虚拟速度;
[0120]
基于下一虚拟速度、预设时间间隔和当前实际位置,确定目标控制方向对应的下一期望位置。
[0121]
本发明实施例所提供的机械臂阻抗控制装置可执行本发明任意实施例所提供的机械臂阻抗控制方法,具备执行机械臂阻抗控制方法相应的功能模块和有益效果。
[0122]
值得注意的是,上述机械臂阻抗控制装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
[0123]
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、
重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1