一种多关节机器人碰撞检测方法与流程

文档序号:27079778发布日期:2021-10-24 11:47阅读:143来源:国知局
一种多关节机器人碰撞检测方法与流程

1.本发明属于机器人控制技术领域,具体涉及一种多关节机器人碰撞检测方法。


背景技术:

2.多关节机器人广泛应用于工业、服务等应用领域,当多关节机器人与人或与其他设备协同工作时,很容易对周围的人、设备以及机器人本身造成损害。因此,为避免与外部发生碰撞,多关节机器人需要具备碰撞检测能力。
3.为实现机器人碰撞检测,有学者通过在机器人上安装传感器来实现:(1)在机器人各轴上安装力矩传感器,该方法检测精度高,但是力矩传感器价格昂贵且会带来额外的重量。(2)在机器人输出轴上安装应电片,并配合桥式电路来估计输出力矩,进而来检测碰撞;但该方法需要增加生产的工序,且制造要求较高。(3)在机器人末端安装加速度传感器,通过检测机器人加速度来实现碰撞检测,如中国专利cn111037564a所述。(4)在机器人底座安装力维力传感器,通过对比实测受力值与动力学模型估计受力值来判断是否碰撞,如中国专利cn112757345a所述。这些方法都需要在机器人上增加额外的传感器,存在成本较高、安装复杂等问题。
4.也有不少学者进行无外部传感器的碰撞检测方法研究,主要是基于机器人逆运动学来估计外部转矩来实现,如中国专利cn107813345b所述。但该方案计算量较大,且对机器人动力学参数(惯量、摩擦力等)很敏感,而准确的得到这些参数获取难度较大。也有基于机器人能量系统或者广义的方案来进行判断,如中国专利cn108000521a所述;这种方案计算也很复杂,对动力学参数也敏感。
5.为此,也有不少学者直接通过机器人关节容易获取的电流、速度和位置等单个信号进行判断。虽然这种通过关节电流、速度或位置单个信号的方式来实现碰撞检测方法比较简单,但由于采集的信号容易存在误差,且容易受关节运行状态影响,碰撞检测误判率较高;虽然可以通过提高阈值和多次判断来降低误判率,但又会降低检测灵敏度和提高判断时间。


技术实现要素:

6.针对现有技术的不足,本发明提供一种多关节机器人碰撞检测方法,该方法利用关节容易测量的电流、速度和位置信号,通过同时对多个信号进行分析和判分,并对多个信号判分结果进行融合,最终根据运行情况进行决策来判断多关节机器人是否发生碰撞。具体技术方案如下:
7.一种多关节机器人碰撞检测方法,该方法具体包括如下步骤:
8.s1:获取机器人各关节的电流、速度及位置信号中的两种以上信号,并对其进行预处理;
9.s2:对各单信号进行碰撞检测计算,得到各单信号碰撞检测判分;
10.s3:对各个单信号判分结果进行加权处理,得到综合碰撞检测判分;
11.s4:根据累计的综合碰撞检测判分进行各关节碰撞检测决策判断,当机器人一个以上关节检测到发生碰撞后,进行相应碰撞处理。
12.进一步地,所述s1中,对电流、速度及位置信号具体为:对电流进行一阶滤波处理或电流变化率计算;对速度进行一阶滤波处理;对位置进行双编码器位置差处理。
13.进一步地,所述s2具体为:
14.s2.1:将第k时刻信号值q
x
(k)与其对应的参考值f
x
(k)对比,根据e
x
(k)=|q
x
(k)

f
x
(k)|计算信号误差e
x
(k);其中,x表示信号的类别,x∈[1,n];n为信号个数;所述参考值f
x
(k)通过离线测量数据统计得到;
[0015]
s2.2:设定若干个积极阈值h1,h2...h
a
以及若干个消极阈值l1,l2...l
b
,其中l
b
<...<l2<l1<...<h1<h2<...<h
a
,a和b为整数;并将信号误差e
x
(k)与阈值进行比较,计算碰撞检测判分m
n

[0016]
当h
i
<e
x
(k)<h
i+1
时,判分m
x
=p
x_i
;其中,i为整数,i<a,p
x_i
为信号误差e
x
(k)所在区间(h
i
,h
i+1
)时离线统计实际发生碰撞的概率;
[0017]
当l1≤e
x
(k)≤h1时,判分m
x
=0;
[0018]
当l
e
<e
n
(k)<l
e+1
时,判分m
x


p
x_e
;其中,e为整数,且e<b,p
x_e
信号误差e
x
(k)所在区间(l
e
,l
e+1
)时离线统计实际未发生碰撞的概率。
[0019]
进一步地,所述s3具体通过如下子步骤来实现:
[0020]
s3.1:根据各单信号碰撞检测实际响应时间t1,t2...t
n
,计算各单信号的加权值w1,w2...w
n
,加权值计算公式如下:
[0021][0022]
s3.2:根据下式计算综合碰撞检测判分m
[0023][0024]
进一步地,所述s4具体包括如下的子步骤:
[0025]
s4.1:根据下式计算决策积分all
[0026][0027]
其中,k表示第k时刻,all初始值为0;
[0028]
s4.2:根据决策积分all和决策阈值t,进行碰撞检测判断,当all≥t时,判断发生碰撞,执行碰撞处理;当all<t时,返回s4.1;
[0029]
其中,
[0030][0031]
进一步地,所述碰撞处理为进入停止运行模式或者零力矩响应模式。
[0032]
本发明的有益效果如下:
[0033]
本发明的方法无需建立复杂动力学模型,直接利用关节容易测量的电流、速度和位置等信号进行碰撞检测判断,计算简单;同时通过综合对多个信号进行检测判断分析,并根据机器人运行情况进行决策来判断机器人是否发生碰撞,能够提高碰撞检测的准确率和
灵敏度,误判率低。
附图说明
[0034]
图1是本发明的多关节机器人碰撞检测方法框图;
[0035]
图2是本发明进行多关节机器人碰撞检测判断流程图;
[0036]
图3是本发明所述关节单个信号碰撞检测判分的流程图;
[0037]
图4为本发明所述碰撞检测决策判断方法的流程图。
具体实施方式
[0038]
下面根据附图和优选实施例详细描述本发明,本发明的目的和效果将变得更加明白,应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0039]
如图1所示,本发明的碰撞检测方法的主要原理是通过对关节单个信号进行采集、处理和分析判断,得到单个信号的碰撞检测得分;然后将这些单个判分综合计算得到综合判分;最后根据机器人运行状态,判断是否发生碰撞检测。
[0040]
图2给出了本发明的方法的流程图,本发明的碰撞检测方法具体包括如下步骤:
[0041]
步骤一:获取机器人各关节的电流、速度及位置信号中的两种以上信号,并对其进行预处理;
[0042]
作为其中一种实施方式,采集第k时刻下机器人各关节的电流值i
k
、电机端角度位置α
k
和关节输出端角度β
k
,并对采用常规的一阶低通滤波器对电流进行滤波,以滤除电流采样过程中的尖峰,计算公式如下:
[0043]
i
k

o
=m*i
k
+(1

m)*i
(k

1)

o
[0044]
其中,i
k

o
表示第k时刻处理后的电流值,i
(k

1)

o
代表第k

1时刻处理后的电流值;系数m与所选低通滤波频率f
c
和控制周期ts有关,计算公式如下:
[0045][0046]
位置处理主要是获得关节扭转角度φ
k
,计算公式为:
[0047]
φ
k
=β
k

α
k
/d
[0048]
其中,d为机器人关节上的减速器的减速比。
[0049]
为了减少误差,也可以将得到的关节扭转角度φ
k
进行一阶低通滤波器处理得到φ
k

o

[0050]
步骤二:对各单信号进行碰撞检测计算,得到各单信号碰撞检测判分;
[0051]
s2.1:将第k时刻信号值q
x
(k)与其对应的参考值f
x
(k)对比,根据e
x
(k)=|q
x
(k)

f
x
(k)|计算信号误差e
x
(k);其中,x表示信号的类别,x∈[1,n],n为信号个数;所述参考值f
x
(k)通过离线测量数据统计得到;
[0052]
作为其中一种实施方式,机器人关节是按照设定轨迹重复运动,故可以通过离线统计得到不同时刻不同关节输出位置下的电流参数数据f1(β
k
)和关节扭转角度参数数据f2(β
k
)。
[0053]
对于电流信号i
k

o
,电流信号误差e1(k)=|i
k

o

f1(β
k
)|;
[0054]
对于关节扭转角度φ
k

o
,信号误差e2(k)=|φ
k

o

f2(β
k
)|。
[0055]
s2.2:设定若干个积极阈值h1,h2...h
a
以及若干个消极阈值l1,l2...l
b
,其中l
b
<...<l2<l1<...<h1<h2<...<h
a
,a和b为整数;并将信号误差e
x
(k)与阈值进行比较,计算碰撞检测判分m
n

[0056]
当h
i
<e
x
(k)<h
i+1
时,判分m
x
=p
x_i
;其中,i为整数,i<a,p
x_i
为信号误差e
x
(k)所在区间(h
i
,h
i+1
)时离线统计实际发生碰撞的概率;
[0057]
当l1≤e
x
(k)≤h1时,判分m
x
=0;
[0058]
当l
e
<e
n
(k)<l
e+1
时,判分m
x


p
x_e
;其中,e为整数,且e<b,p
x_e
信号误差e
x
(k)所在区间(l
e
,l
e+1
)时离线统计实际未发生碰撞的概率,具体如图3所示。
[0059]
作为其中一种实施方式,这里给电流信号误差设定1个积极阈值h
i
和1个消极阈值l
i
,且l
i
<h
i
;关节扭转角度信号误差设定2个积极阈值h
φ
‑1、h
φ
‑2和1个消极阈值l
φ
,且l
φ
<h
φ
‑1<h
φ
‑2。
[0060]
对于电流而言:
[0061]
(1)若电流信号误差e1(k)>h
i
,则m1=p1。其中p1为实际统计下电流信号误差e1(k)>h1时发生碰撞的概率;
[0062]
(2)若电流信号误差l
i
<e1(k)<h
i
,则m1=0;
[0063]
(3)若电流信号误差e1(k)<l
i
,则m1=

q1。其中q1为实际统计下电流信号误差e1(k)<l
i
时未发生碰撞的概率。
[0064]
对于关节扭转角度而言:
[0065]
(1)若关节扭转角度信号误差e2(k)>h
φ
‑2,则m2=p
φ
‑2;其中p
φ
‑2为实际统计下关节扭转角度信号误差e2(k)>h
φ
‑2时发生碰撞的概率;
[0066]
(2)若关节扭转角度信号误差h
φ
‑1<e2(k)<h
φ
‑2,则m2=p
φ
‑1。其中p
φ
‑1为实际统计下关节扭转角度信号误差h
φ
‑1<e2(k)<h
φ
‑2时发生碰撞的概率;
[0067]
(3)若关节扭转角度信号误差l
φ
<e2(k)<h
φ
‑1,则m2=0;
[0068]
(4)若关节扭转角度信号误差e2(k)<l
φ
,则m1=

q
φ
。其中q
φ
为实际统计下电流信号误差e2(k)<l
φ
时未发生碰撞的概率。
[0069]
步骤三:对各个单信号判分结果进行加权处理,得到综合碰撞检测判分;
[0070]
s3.1:根据各单信号碰撞检测实际响应时间t1,t2...t
n
,计算各单信号的加权值w1,w2...w
n
,作为其中一种实施方式,计算公式如下:
[0071][0072]
s3.2:根据下式计算综合碰撞检测判分m
[0073][0074]
作为其中一种实施方式,假设电流及关节扭转角度单信号进行碰撞检测响应时间分别为t1,t2,计算得到电流及关节扭转角度加权值w1,w2如下:
[0075][0076]
其中,碰撞检测响应时间t1、t2为离线统计得到。
[0077]
则综合碰撞检测判分m如下:
[0078]
m=m1*w1+m2*w2[0079]
步骤四:根据累计的综合碰撞检测判分进行各关节碰撞检测决策判断,当机器人一个以上关节检测到发生碰撞后,进行相应碰撞处理;若没有发生碰撞,则返回s1。
[0080]
s4.1:对综合碰撞检测判分m进行累加,得到决策积分all,计算公式为其中all初始值为0;
[0081]
s4.2:根据决策积分all和决策阈值t,进行碰撞检测判断,当all≥t时,判断发生碰撞,执行碰撞处理;当all<t时,返回s1;具体如图4所示。
[0082]
其中,
[0083][0084]
决策阈值t需要根据机器人关节运行情况进行选择,本发明考虑到关节状态变化时(如启动、加减速过程中)容易影响判断,因此设置机器人启动或加减速时的阈值t大于其他运行状态时的阈值。
[0085]
所述的碰撞处理,即机器人可根据情况进入停止运行模式、零力矩响应模式等。
[0086]
本领域普通技术人员可以理解,以上所述仅为发明的优选实例而已,并不用于限制发明,尽管参照前述实例对发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在发明的精神和原则之内,所做的修改、等同替换等均应包含在发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1