一种舵机系统非灵敏区判定方法与流程

文档序号:19187189发布日期:2019-11-20 01:37阅读:456来源:国知局
一种舵机系统非灵敏区判定方法与流程

本发明属于伺服系统控制技术领域,特别涉及一种舵机系统非灵敏区判定方法。



背景技术:

舵机系统是自主攻击弹药、修正弹药和弹道修正引信、制导子弹药等现代智能弹药中制导与控制系统的重要组成部分。电动舵机因其结构简单、工艺性好、可靠性高、成本低、能源单一、频率响应快、负载能力强、控制精度高、使用和维护方便、与弹载计算机集成容易等特性引起了人们的广泛注意和深入研究。

舵机是智能弹药制导与控制系统的执行机构,其性能的好坏将直接影响智能弹药飞行过程的动态品质,如何准确观测舵机系统性能指标是当前研究的热点。当舵机指令信号输入量太小时,由于系统存在摩擦力,系统输出不会变化;只有当指令信号的量值达到一定的幅度时,输出才会有变化。即当输入量达到δu时,舵机的输出轴刚好有转动。δu即舵机系统的非灵敏区,有时也称为系统的分辨率。非灵敏区是判定舵机系统响应是否精准的重要指标。

传统的舵机系统非灵敏区判定方法为:人为观察舵机系统在单位角波指令信号下的响应,手动截取系统不跟随指令信号变化的最大静止区域,读取该最大静止区域对应的输入信号增量δu。受人体眼睛分辨能力以及人为主观性的影响,传统的非灵敏区判定方法往往不能准确截取最大静止区域,进而不能准确计算舵机系统的非灵敏区δu。



技术实现要素:

鉴于以上分析,本发明旨在提供一种舵机系统非灵敏区判定方法,用以解决现有技术中舵机系统非灵敏区判定不准确、判定效率低的问题。

本发明的目的主要是通过以下技术方案实现的:

一种舵机系统非灵敏区判定方法,包括以下步骤:

向舵机系统输入单位角波控制信号,获得舵机系统的反馈信号;

对反馈信号进行滤波;

基于预设的非灵敏区阈值范围,对滤波后的反馈信号进行判断,得到舵机系统的所有静止区域;

根据所有静止区域中最大静止区域所对应的时刻,得到舵机系统最大非灵敏区;

对舵机系统最大非灵敏区进行误差修正,得到修正后的舵机系统非灵敏区及非灵敏区的起始点和持续时间。

进一步的,对反馈信号滤波设置的截止起始频率为单位角波控制信号的10倍频率。

进一步的,预设的非灵敏区阈值范围为单位角波指令信号幅值的10%~20%。

进一步的,基于预设的非灵敏区阈值范围,对滤波后的反馈信号进行判断,得到舵机系统的所有静止区域,包括:

将滤波后的反馈信号依照单位角波控制信号的时序划分为三部分:

t为单位角波指令信号上升到最大输入电压vmax所需时间。

基于预设的非灵敏区阈值范围,依次对三个部分的反馈信号进行判断,得到舵机系统的所有静止区域。

进一步的,得到舵机系统的所有静止区域,包括:

若t2时刻为舵机反馈信号幅值与t1时刻舵机反馈信号幅值差值大于等于预设的非灵敏区阈值范围的首次出现时刻,则对应于该t1时刻的静止区域长度z(t1)为t2与t1的差值;t2>t1;

依次对三个部分的所有采样时刻进行判断,得到所有静止区域时刻及静止区域长度。

进一步的,根据所有静止区域中最大静止区域所对应的时刻,得到舵机系统最大非灵敏区,包括:

比较所有静止区域长度,得到最大静止区域对应的时刻t3;

基于下式得到舵机系统最大非灵敏区δutemp为:

δutemp=z(t3)*vmax/t

其中z(t3)为最大静止区域长度,单位s。

进一步的,修正后的舵机非灵敏区δu=(z(t3)-δ)*vmax/t,δ为因非灵敏区阈值范围ε而引入的时间误差。

进一步的,通过判断最大非灵敏区出现的时刻,得到非灵敏区的起始点和持续时间;具体包括:

最大非灵敏区出现时刻为t3=0或t或3t时,

非灵敏区起始点:t4=t3;

非灵敏区持续时间:t=z(t3)-δ;δ=z(t5);

t5为舵机系统反馈信号y(t)最早出现|y(t5)-y(t3)|≥ε的时刻,t5>t3,z(t5)为t5时刻对应的静止区域长度。

进一步的,t3≠0或t或3t,z(t5)≥z(t3-1)时,

非灵敏区起始点:t4=t3;

非灵敏区持续时间:t=z(t3)-δ;δ=z(t5);

其中z(t3-1)是t3前一个采样点对应时刻的静止区域长度。

进一步的,t3≠0或t或3t,z(t5)<z(t3-1)时,

非灵敏区起始点:t4=t3+δ;

非灵敏区持续时间:t=z(t3)-δ;δ=z(t3-1)。

与现有技术相比,本发明至少能实现以下技术效果之一:

1)本发明利用计算机分析舵机系统在角波输入信号作用下的响应,设定非灵敏区阈值范围,基于计算机自动识别最大静止区域,消除人为判定引入的主观性和误差,提高识别效率,精确截取最大静止区域,进而能够准确计算舵机系统的非灵敏区。

2)引入巴特沃斯滤波器对角波输入信号滤波,设计合理的滤波器,单位角波控制信号的10倍频的截止频率,确保滤除噪声和干扰信号,最大程度保留系统响应特征的同时,抑制尖锐毛刺和干扰噪声对自动识别非灵敏区的影响,提高自动识别最大静止区域准确性。

3)设定较大的非灵敏区阈值范围ε,ε为单位角波指令信号幅值的10%~20%,避免计算机因电机扰动或干扰噪声将一段静止区域误标记为两段静止区域,提高获取所有静止区域时判断的准确性。

4)将反馈信号依照指令信号的时序划分为三部分,分别依次判定非灵敏区长度,即将反馈信号划分为三个单调区间,在三个单调区间内分别判断非灵敏区长度,可以精确、快速的获取所有静止区域,避免了获取静止区域时不同单调区间之间产生干扰,静止区域长度扩大,静止区域长度不准确的问题。

5)剔除由设定非灵敏区阈值范围而引入的非灵敏区误差,进而准确计算出舵机系统的非灵敏区δu,提高了舵机系统非灵敏区的判定准确率和效率。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书以及权利要求书中所特别指出的结构来实现和获得。

附图说明

附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的附图标记表示相同的部件。

图1舵机系统非灵敏区判定方法的实施流程图;

图2为本发明实施例一种原始反馈信号示意图;

图3为本发明实施例滤波后的指令和反馈信号示意图;

图4为本发明实施例一种人工判读的非灵敏区。

具体实施方式

以下结合具体实施例对一种舵机系统非灵敏区判定方法作进一步的详细描述,这些实施例只用于比较和解释的目的,本发明不限定于这些实施例中。

一种舵机系统非灵敏区判定方法,如图1所示,该方法包括:

步骤1.向舵机系统输入单位角波控制信号,获得舵机系统的反馈信号;

步骤2.对所述反馈信号进行滤波;

步骤3.基于预设的非灵敏区阈值范围,对滤波后的所述反馈信号进行判断,得到舵机系统的所有静止区域;

步骤4.根据所有静止区域中最大静止区域所对应的时刻,得到舵机系统最大非灵敏区;

步骤5.对舵机系统最大非灵敏区进行误差修正,利用角波指令信号的特征,剔除因设定的非灵敏区阈值范围而引入的测量误差,得到修正后的舵机系统非灵敏区及非灵敏区的起始点和持续时间。

具体的,步骤1,向舵机系统控制输入端输入单位角波指令信号,并利用计算机实时采集舵机系统的反馈信号;

步骤2,对采集到的反馈信号进行滤波,剔除尖锐毛刺和干扰噪声;

原始反馈信号如图2所示,采用巴特沃斯滤波器滤波,设置的截止起始频率为单位角波控制信号的10倍频率。滤波后的反馈信号如图3所示,由图3可知10倍频的截止频率,确保滤除噪声和干扰信号,最大程度保留系统响应特征的同时,抑制尖锐毛刺和干扰噪声对自动识别非灵敏区的影响。

步骤3,基于预设的非灵敏区阈值范围,自动标记舵机系统的所有静止区域;

将滤波后的反馈信号依照指令信号即单位角波指令信号的时序划分为三部分:

t为单位角波指令信号上升到最大输入电压vmax所需时间。舵机系统将跟随输入的角波信号完成周期性运动,进而准确监测系统的最大非灵敏区。分别依次判定非灵敏区长度,得到采样点对应时刻的所有静止区域,提高了判断标记静止区域的准确性。单位角波指令信号的时序0~t、t~3t、3t~4t三部分为三个单调区间,在三个单调区间内分别判断非灵敏区长度,可以精确、快速的获取所有静止区域,避免了获取静止区域时不同单调区间之间产生干扰,静止区域长度扩大,静止区域长度不准确的问题。

设定较大的非灵敏区阈值范围ε(单位:v),非灵敏区阈值范围ε为添加的单位角波指令信号幅值的10%~20%,避免计算机因电机扰动或干扰噪声将一段静止区域误标记为两段静止区域的问题。设0~t、t~3t、3t~4t中采样点对应的任意时刻t舵机滤波后的反馈信号为y(t),计算机自动判定得到静止区长度为z(t)。静止区域的判定方法为:设任意时刻计算机检测到的舵机反馈信号为y(t1),t1时刻的静止区域长度z(t1)为,单位s:

z(t1)=t2-t1,first|y(t2)-y(t1)|≥ε

t2为舵机系统反馈信号y(t)最早出现|y(t2)-y(t1)|≥ε的时刻,且t2>t1,如图3所示。

基于相同的判定方法,依次获取滤波后反馈信号0~4t采样点对应的时刻内的所有静止区域。

步骤4,基于标记的所有静止区域,得到最大静止区域所对应的时刻,基于所述时刻得到舵机系统最大非灵敏区;

计算机自动识别时刻t3使得z(t3)=max(z(t)),时刻t3即采集到的反馈信号y(t)出现最大静止区域的时刻,基于所述t3利用下式得到舵机系统最大非灵敏区δutemp,也即未修正的舵机系统非灵敏区δutemp:

δutemp=z(t3)*vmax/t

其中,vmax为输入的单位角波的最大幅值,t为单位角波指令信号上升到最大输入电压vmax所需时间。

步骤5,对舵机系统最大非灵敏区进行误差修正,得到修正后的舵机系统非灵敏区及非灵敏区的起始点和持续时间。

具体的,可以利用输入信号为单位角波信号的特征,剔除因设定的非灵敏区阈值范围而引入的测量误差,准确的计算出系统非灵敏区δu以及非灵敏区起始时刻t4;

由于设定了非灵敏区阈值范围ε,舵机系统的反馈信号y(t)需跟随指令信号运动超出设定的该阈值范围ε,|y(t2)-y(t1)|≥ε,计算机才会判定舵机系统已跨过非灵敏区范围。

基于舵机系统跨过非灵敏区后应跟随输入的单位角波信号运动的前提,剔除因设定非灵敏区阈值范围ε而引入的时间误差δ:修正后的系统非灵敏区δu=(z(t3)-δ)*vmax/t。

if(最大非灵敏区出现时刻为t3=0或t或3t)时,δ=z(t5);elseδ=max{z(t3-1),z(t5)},其中z(t5)为实际测得的t5时刻对应的静止区域长度,z(t3-1)是实际测得的t3前一个采样点对应时刻的静止区域长度。

if(最大非灵敏区出现时刻为t3=0或t或3t)时:

非灵敏区起始点:t4=t3

非灵敏区持续时间:t=z(t3)-δ,δ=z(t5)。

else:

非灵敏区起始点:if(z(t5)≥z(t3-1))t4=t3,elset4=t3+δ

非灵敏区持续时间:t=z(t3)-δ,δ=max{z(t3-1),z(t5)}。

其中时刻t3=0或t或3t代表控制信号到达极点位置的时刻,时刻t3=0或t或3t舵机系统的初始速度为0。时间误差δ必将是系统跨过非灵敏区δu后跟随指令信号运动,反馈信号需大于设定阈值范围ε而引入。

其他时刻则需要根据反馈信号y(t)具体分析非灵敏区起始位置,t3代表出现最大静止区域的时刻,t5为舵机系统反馈信号y(t)最早出现|y(t5)-y(t3)|≥ε的时刻,t5>t3。z(t3-1)为t3前一个时刻的静止区域长度,z(t5)≥z(t3-1)代表反馈信号向后自动寻找非灵敏区时引入的时间误差δ更大,因此非灵敏区起始点为t4=t3。反之,若z(t5)<z(t3-1),则系统首先跟随控制信号运动非灵敏区阈值范围ε,再渡越非灵敏区所需时间更长。此时非灵敏区起始点应在时刻t4=t3+δ。

精确的非灵敏区起始点和非灵敏区持续时间可辅助工作人员更直观的确认本实施例舵机系统非灵敏区判定方法得到的非灵敏区的准确性。

图4为人工判读非灵敏区的方法,需要手动截取系统不跟随指令信号变化的最大静止区域,读取该最大静止区域对应的输入信号增量δu。受人体眼睛分辨能力以及人为主观性的影响,传统的非灵敏区判定方法往往不能准确截取最大静止区域,进而不能准确计算舵机系统的非灵敏区δu。

表1为本实施例的舵机系统非灵敏区自动判定结果,本发明的非灵敏区判定方法去除了人工判读的主观影响和失误,大大提高了判定的效率和精确度。

表1本实施例的舵机系统非灵敏区自动判定结果

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1