籍永建 姚利诚,3
1.北京信息科技大学现代测控技术教育部重点实验室,北京,1001922.北京信息科技大学机电系统测控北京市重点实验室,北京,1001923.北京信息科技大学机电工程学院,北京,100192
航空、航天、船舶与汽车制造等领域的大型复杂结构件具有尺寸大、结构与工艺复杂、待加工型面可达性差等特点,传统数控机床成本高、灵活性差,难以适应此类结构件的一体化加工制造与装配需求。与数控机床相比,串联式工业机器人具有更加广泛的空间可达性与操作柔性,以其高效、便携的制造优势,在工业生产中的应用日益广泛[1-3]。机器人铣削能够有效降低加工成本、提高加工效率,可满足多样化的加工要求,在航空、航天、船舶与汽车制造等领域大型复杂结构件的智能化生产制造中具有广泛应用前景与迫切现实需求[4]。
机器人铣削系统的轨迹精度与动态稳定性是保证其加工质量的主要因素,轨迹精度可通过外部测量或内部伺服机构进行补偿[5-6],动态稳定性的保持是实现机器人铣削加工推广应用的关键难题[7]。串联工业机器人属于开链式多杆串联机构,其结构特点使得机器人铣削系统的整体刚度较低(约为普通机床刚度的1/100[8]),动力学特性随机器人位姿的变化而改变,同时铣削过程产生较强切削力,因此加工过程极易产生颤振[9]。颤振是一种自激振动,会导致工件表面出现振纹,加速刀具磨损,降低工件表面质量与尺寸精度,甚至毁坏机器人加工设备[10]。机器人铣削加工颤振机理与数控机床铣削颤振之间具有显著差异,铣削过程中不仅存在再生颤振,同时存在模态耦合颤振[11-12],此类振动频率较低,一般在50 Hz左右[13]。PAN等[14]提出了一种适用于机器人运动学的模态耦合颤振分析方法,结合颤振理论建立了机器人结构数学模型,对模态耦合颤振的判据进行了分析,研究表明,当机器人最小主刚度处于总切削力与工件表面法线形成的夹角内时,便会产生模态耦合颤振。尽管从理论上分析是否存在模态耦合颤振存在一定争论[15],但是串联机械臂弱刚性特点导致铣削过程中极易引起机器人本体产生低频振动,已是不争的事实。此种低频振动既可能是铣削过程中较高切削力引起的受迫振动,也可能是机器人本体模态耦合颤振,无论受迫振动或模态耦合颤振,均会对工件或机器人本体造成不利影响(为确保表述严谨性,以下将机器人低频振动状态统称为低频颤振)。铣削颤振已成为阻碍机器人铣削在加工制造领域推广应用的瓶颈问题,是学术界与工业界共同关注的热点[16]。
对机器人铣削颤振进行有效抑制是保证加工质量的关键。铣削颤振控制方法可分为被动控制、半主动控制与主动控制三类[17]。由于被动控制、半主动控制难以根据实际加工状态做出实时调整,具有一定的局限性,因此主动控制成为机器人铣削颤振抑制的有效途径。主动控制就是根据传感器检测到的信号对铣削状态进行实时监控,通过特定控制策略对控制目标施加干预,从而达到抑制或消除颤振的目的[17],其关键是在颤振造成严重破坏之前对其进行识别并及时调整加工状态。
机器人铣削颤振类型的准确识别是铣削颤振主动控制的核心环节。在颤振识别方面,主要通过对采集的振动加速度[18]、切削力[19]、电流[20]、扭矩[21]、声发射信号等[22]进行特征提取与识别。在特征提取方面,通过离散小波变换[23]、经验模态分解[24]、变分模态分解[25]等信号处理方法对信号进行分解,提取与颤振相关的信息进行信号重构,然后采用特征指标对铣削状态进行表征。LIU等[26]采用小波包分解对电流信号进行处理,提取包含颤振频率的子信号作为特征信号,采用标准偏差与能量百分比对加工状态进行表征。朱利民等[27]采用频域瑞利熵对铣削颤振进行表征。除此之外,多尺度熵[28]、能量熵[29]、分形维数[30]、非线性能量算子[31]等也相继被用来表征铣削加工颤振。机器人铣削颤振是一种复杂的自激振动,具有较强的非线性、非平稳特征,由于每个特征指标均有一定的局限性,采用单一特征指标难以准确表征所有加工状态,需借助多特征指标。多特征指标融合技术能够更好地反映实际加工状态,已结合支持向量机、深度学习等智能算法成功应用于状态识别领域。YANG等[18]提出了一种适用于不同的机器人姿态和切削参数的机器人早期颤振识别方法,该方法采用双树复小波包变换提取不同频带的能量,采用分数阶能量熵来表征颤振状态。TRAN等[19]采用连续小波变换将不同状态下的切削力信号转化为二维向量,通过深度卷积神经网络算法对其进行辨识。DING等[32]采用自适应Hankel低秩分解对颤振信息进行自适应提取,采用非谐波能量比与基尼系数对颤振信息进行表征,基于支持向量机构建颤振识别模型,结果表明该模型能够较好地识别再生颤振。LI等[33]提出了一种基于变分模态分解(VMD)和功率谱熵差的早期颤振检测方法,取得了良好的效果。
上述方法在识别再生颤振方面具有良好效果。对机器人铣削而言,由于机器人具有弱刚性特点,铣削过程的振动形式更加复杂,不同颤振机理对应的调控策略有所差异,因此,不同于数控机床铣削颤振识别,在机器人铣削颤振识别方面,不仅需要识别出是否发生颤振,同时也要准确判别颤振类型。现有基于数据驱动的颤振识别方法主要以再生颤振为研究对象,对刀具端的振动进行识别。对低频颤振的研究主要采用理论模型结合试验验证的方式进行离线稳定性判断。此外,数据驱动的颤振识别方法虽然能够识别出稳定与颤振状态,但是难以对具体的颤振类型进行区分。
准确识别机器人铣削颤振类型,既是实现机器人铣削颤振自适应调控的关键,也是现有颤振识别技术亟需解决的瓶颈问题。为解决机器人铣削颤振识别问题,提出一种机器人铣削颤振自适应识别方法,本方法通过滤波器剔除与颤振信息无关的频率分量,采用多特征因子对机器人铣削状态进行表征,构建特征矩阵;结合支持向量机智能算法,构建机器人铣削颤振自适应识别模型,并进行实验验证与对比分析。结果表明,本方法能够准确识别机器人不同铣削状态,对稳定、早期颤振、剧烈颤振、低频颤振以及空载等状态的识别准确率达到93%,优于现有的采用原始信号功率谱熵差与标准偏差作为二维输入向量的识别方法。
与数控机床铣削颤振不同,由于机器人刚度较低,因此机器人铣削过程中既可能产生再生颤振,也可能产生模态耦合颤振(或低频振动)。再生颤振主要由被加工表面前后两次切削振纹的相位差引起[34],如图1所示[35-36]。
图1 机器人铣削模型示意图Fig.1 Dynamic model of robotic milling
由于与工件表面纹理相关,所以再生颤振主要发生在铣刀或工件部位。再生颤振频率一般在铣刀(或工件)固有频率附近,可达几百或上千赫兹。基于再生颤振理论,机器人铣削动力学模型[34]可写成:
(1)
式中,m、c、k分别为模态质量、模态阻尼与模态刚度,其数值受机器人空间位姿的影响;下标xx表示沿坐标系x轴施加激励后x方向产生的响应,下标xy表示沿坐标系x轴施加激励后y方向产生的响应,下标yx表示沿坐标系y轴施加激励后x方向产生的响应,下标yy表示沿坐标系y轴施加激励后y方向产生的响应;Ktc、Krc分别为切向与径向切削力系数;ap为轴向切深;T为刀齿通过周期;x(t)、y(t)分别为铣刀沿x、y方向的振动量;g(φj)为窗函数。
机器人模态耦合颤振是指在两个或两个以上的方向上同时产生振动,主要产生在机器人低速切削状态下,当发生模态耦合颤振时,整个机器人结构将产生剧烈振动。研究表明,当机器人最小主刚度处于总切削力与工件表面法线形成的夹角内时便会产生模态耦合颤振[37],如图2所示。图中,KS、KL分别为机器人本体最小主刚度与最大主刚度。
图2 模态耦合颤振分析Fig.2 Modal coupled chatter analysis
机器人铣削加工过程中,无论是低频模态耦合颤振还是高频再生颤振,颤振发生时,信号频率成分中除了基频、刀齿通过频率及其谐波外,均会存在颤振频率。若将信号基频、刀齿通过频率及其谐波成分过滤,则颤振信息会明显增强。受文献[33]启发,设置滤波器,对基频、刀齿通过频率及其谐波进行过滤,然后对剩余信息进行特征提取,通过机器人铣削实验获取不同铣削状态下的振动加速度信号进行分析。
机器人铣削系统主要由库卡机器人(型号:KR120 R2500)、主轴系统以及相应的控制系统构成。主轴系统最高转速为18 000 r/min,冷却方式为风冷。采用北京东方振动和噪声技术研究所振动采集仪进行信号采集,该采集仪主要由信号采集系统与加速度传感器构成。铣削实验采用直径6 mm的3齿硬质合金铣刀,见图3,工件材料为铝7075。机器人主要参数如表1所示。
表1 KR120 R2500型库卡机器人主要参数
图3 铣刀实物Fig.3 The milling cutter
机器人铣削过程中,采用振动加速度传感器(灵敏度:9.785 mV/ms-2)采集不同加工状态下的振动加速度,采样频率设置为5120 Hz。为采集不同铣削状态下的振动特性,设置A、B、C三组实验,具体实验参数如表2所示。为便于采集机器人本体与刀具的振动特性,信号采集过程中将振动加速度传感器布置在机器人端,不同组别实验现场与实验设备如图4所示。
表2 机器人铣削实验参数
(a)传感器与工件布置示意图(A组与B组实验)
实验A、B的目的为分别采集稳定与再生颤振切削状态下的振动加速度信号,因此上述两组实验过程中铣刀悬长设置较大。研究表明,主轴转速较小时,机器人更易发生低频模态耦合颤振[10],因此实验C主轴转速相对较小,为便于将刀具端铣削力传递到机器人本体,实验C铣刀悬长设置相对较小。为获得从稳定到颤振状态下的信号,实验C的工件倾斜装夹,以实现铣削过程中轴向切深的线性增大。由于机器人铣削系统末端主轴采用风冷方式,当主轴转速较大时,传感器1采集的信号受到电机风扇影响较大,因此,对传感器2采集的振动加速度信号进行分析。
实验A、B铣削状态下振动加速度信号频率谱如图5、图6所示。将不等于基频及其谐波但是幅值较大的频率定义为颤振频率[29],则由图5、图6可知,当铣削状态稳定时,频率谱主要由基频(124.8 Hz)、刀齿通过频率(374.6 Hz)及其谐波构成,不同频率成分分布于整个频率带。当发生颤振时,频谱中存在明显颤振频率(1454 Hz),频谱能量向颤振频率聚集;频谱低频部分除了基频与刀齿通过频率外,未出现其他频率,依据信号频谱特征,可判断该颤振类型为再生颤振。
(a)A组实验时域信号
(a)B组实验时域信号
对实验C状态下的工件表面与振动加速度信号进行分析,如图7所示。由图7可知,随着轴向切深的逐渐增大,铣削过程由稳定向颤振逐渐过渡,工件表面出现明显的振纹。对不同阶段的振动加速度信号进行分析可知,当铣削状态稳定时,振动信号的频谱主要由基频、刀齿通过频率及其谐波构成(见第6~10 s振动信号频谱图);随着轴向切深的继续增大,振动加速度信号频谱中出现明显的低频颤振频率(24.84 Hz,见第11~16 s振动信号频谱图);随着轴向切深的继续增大,低频颤振幅值远高于其他频率的颤振幅值(见第21~26秒振动信号频谱图)。
图7 C组实验工件表面与振动加速度信号Fig.7 The workpiece surface topography and vibration acceleration signal of experiment C
对比图5、图6与图7可知,一方面,机器人低频颤振信号特征与再生颤振信号的频率分布特性存在明显差异,即低频颤振频率主要出现在较低的频谱范围内,再生颤振频率主要出现在较高的频谱范围内;另一方面,随着颤振剧烈程度的增大,两种颤振频率的幅值均会增大,且振动能量向颤振频率聚集。上述分析表明,机器人铣削再生颤振与低频颤振既存在差异,又有一定的共性特点,若要准确识别机器人铣削过程不同的颤振类型,则需要选取能够有效表征信号差异性的特征指标。
功率谱熵是香农熵在频域的扩展,与频率分量的分布有关。功率谱熵是介于0~1之间的量纲一指标。当功率谱熵值为1时,振动信号的频率成分广泛分布于整个频谱带上,其频率成分分布的不确定性较大;功率谱熵为0表明信号频率分布比较集中,不确定性达到最小。实际中,功率谱熵通常介于0~1之间,随着功率谱熵的增大,信号频率分布的范围逐渐增大。功率谱熵具体计算流程如下[38]。
假设原信号为x(t),通过下式可获得信号x(t)的功率谱:
(2)
式中,N为原信号长度;X(ω)为信号x(t)的傅里叶变换。
对所有频率分量进行归一化处理,可估计出频谱的概率密度函数:
(3)
式中,s(fi)为频率fi的谱能量。
通过下式可计算出相应的功率谱熵值:
(4)
对式(4)进行归一化处理,可得
(5)
根据不同铣削状态下频率分布特征,采用功率谱熵对铣削状态进行表征,则铣削状态稳定时,信号功率谱熵值较大,当发生颤振时,功率谱熵值逐渐减小。
功率谱熵虽然能够有效表征不同的铣削状态,但是由于不同状态下信号频率组成成分以及幅值有差异,直接依靠功率谱熵难以有效确定通用的颤振识别指标范围。LI等[33]提出了采用功率谱熵差值表征颤振状态的方法,其理论依据为:若按照信号特征对其进行分离,则可将信号分为基频、刀齿通过频率、基频与刀齿通过频率的谐波、颤振频率、颤振频率谐波以及噪声频率,当无颤振发生时,振动加速度信号中主要包括基频、刀齿通过频率及其谐波,若对上述频率成分进行滤除,则剩余频率成分主要为噪声及其杂波频率,尽管其幅值较小,但相比于滤波之前,其分布范围更加广泛,进而导致剩余信号的功率谱熵增大,则原信号功率谱熵与剩余信号功率谱熵的差值为负;当发生颤振时,振动加速度信号中不仅包含基频、刀齿通过频率及其谐波,同时存在颤振频率,若对基频、刀齿通过频率及其谐波进行滤除,则剩余频率成分主要为颤振频率及其谐波,但相比于滤波之前,其分布范围更加聚集,进而导致剩余信号的功率谱熵减小,则原信号功率谱熵与剩余信号功率谱熵的差值为正,并且随着颤振剧烈程度的增大,两种信号功率谱熵之间的差值增大。采用功率谱熵差值ΔPSE(原始信号功率谱熵减去重构信号功率谱熵)对实验A、B、C铣削状态进行表征(截取C组实验信号第30~38 s信号进行分析),结果如图8所示。
(a)A组实验信号功率谱熵差值曲线
由图8可知,A组实验振动信号功率谱熵差值小于零,表明铣削状态稳定;B组、C组实验振动信号的功率谱熵差值均大于零,表明B组、C组铣削状态为颤振,与实验结果相符。虽然功率谱熵差值能够准确识别出机器人稳定铣削与颤振两种状态,但是此方法无法进一步判别颤振类型,即无法区分B组实验的再生颤振与C组实验的低频颤振。由于不同类型颤振的抑制方法有所差异,因此,单纯依靠原始信号功率谱熵差值的颤振识别方法难以对机器人铣削颤振提出有效的抑制策略。
对C组实验的振动加速度信号进行分析可知,机器人本体产生振动时,振动加速度信号频谱的低频部分存在基频、刀齿通过频率及其谐波频率之外的低频振动频率,如图7所示。由于机器人本体振动频率一般为50 Hz左右,再生颤振频率一般高于500 Hz(与铣刀固有属性相关),因此,如果去除原信号中的高频部分,仅对低频部分进行分析,则能够通过功率谱熵的差值确定低频信号中是否存在颤振,进而能够准确识别出具体的颤振类型。对不同铣削状态信号的表征结果见图9。
(a)A组实验信号功率谱熵差值(500 Hz内)
对比图8b、图8c与图9b、图9c可知,尽管发生颤振时,整体上信号的功率谱熵差值均大于零(图8b、图8c),但是对500 Hz以下信号的功率谱熵差值而言,再生颤振与低频颤振具有相反结果,即再生颤振的功率谱熵差值小于零,低频颤振的功率谱熵差值大于零(图9b、图9c)。上述分析表明该方法可以有效区分再生颤振与低频颤振。此外,由图8、图9可知,不同信号功率谱熵差值曲线的波动范围存在一定差异,这是因为机器人铣削振动特性复杂,采集的振动信号具有一定的随机波动性,因此信号的误差范围有所不同。采用功率谱熵差值判断是否发生颤振的依据是其数值为正值或负值,因此上述波动对颤振识别结果的影响可以忽略。
机器人铣削过程中,刀具并非始终处于加工阶段,铣削过程中会存在空载状态,由实验C的时域图可知,空载时其显著特点是幅值相对较低,因此,可采用标准偏差来表征信号的能量变化,进而识别出空载状态。
与传统数控机床铣削颤振有所不同,机器人铣削颤振更加复杂,直接依靠量纲一特征指标虽然可在一定程度上识别出机器人铣削颤振状态,但是此种方法对专业知识的要求较高,不利于机器人铣削颤振抑制在工业生产中的推广应用。另外,随着加工参数的变化,特征指标也会出现波动,人工依据特征指标判断机器人铣削状态极易引起误判。因此,需要构建具有自适应学习能力的机器人铣削颤振智能识别模型。支持向量机在解决小样本、非线性以及高维模式辨识问题方面具有诸多优势[39],在数据预测和分类中得到了广泛应用[40],是一种经典的机器学习方法。采用支持向量机构建机器人铣削颤振自适应识别模型,有助于对铣削颤振进行跟踪识别。构建机器人铣削颤振自适应识别模型的关键是特征矩阵的选取。特征矩阵的数据量对模型识别效率与识别精度具有重要影响。特征矩阵数量过多不仅影响计算效率,同时会造成有效信息的淹没;特征矩阵数量不足会导致难以涵盖所有铣削状态,同样造成识别精度下降。
为充分反映机器人铣削过程中的不同状态,将机器人铣削状态划分为:稳定、早期再生颤振(简称早期颤振)、剧烈再生颤振(简称剧烈颤振)、低频颤振以及空载五类。对原始信号进行预处理,剔除信号中的基频、刀齿通过频率及其谐波,计算原信号与剩余信号的功率谱熵差值;为了确定低频颤振信息,再次对原信号进行处理,首先剔除频率成分高于500 Hz的信息,然后对剩余信号的基频、刀齿通过频率及其谐波进行滤波处理,计算剩余信号的功率谱熵差值。此外,为有效识别空载状态,采用标准偏差对信号进行表征。将两次的功率谱熵差值与原始信号的标准偏差值作为输入向量,输入支持向量机进行模型训练,具体流程如图10所示。
图10 机器人铣削颤振自适应识别模型构建流程Fig.10 Construction processes of adaptive recognition model for robotic milling chatter
为验证所构建机器人铣削颤振自适应识别模型的有效性,进行机器人铣削实验。采用振动加速度传感器采集不同铣削状态下的振动加速度信号,以采集的加速度信号作为初始研究对象,对颤振识别模型进行验证,实验设备如第2节所述,加工参数与机器人实际铣削状态如表3所示。为尽量涵盖不同类型的铣削振动加速度信号,将传感器放置在工件以及机器人末端(实验1、2、3、4、5、6、7、8信号为安装在工件上传感器1采集的信号,其余信号由传感器2采集获得,见图11)。
表3 机器人铣削实验参数
图11 传感器布置方案Fig.11 Sensor layout scheme
机器人铣削颤振识别模型的关键是构建输入向量的特征矩阵。将表3中每组实验数据平均分成若干段,按照图10所示流程分别计算每段信号的功率谱熵差值与标准偏差,分别提取每组实验时域信号的15行3列特征矩阵,最终每组铣削状态下(稳定、早期颤振、剧烈颤振、低频颤振、空载)可分别得到120行3列的特征矩阵,不同铣削状态特征矩阵的空间分布如图12所示。由图12可知,综合采用三个特征指标可以清楚地区分稳定、低频颤振、空载与再生颤振等机器人铣削状态,但是对于再生颤振,其早期状态与剧烈状态有部分特征重叠,这是因为实际铣削实验过程中,再生颤振早期状态与剧烈状态难以通过铣削实验完全准确区分,导致不同状态下采集的原始信号中存在一定特征交叉,因此上述两种状态下采集的信号特征向量存在一定重叠部分。但是该特征矩阵能够清楚地区分再生颤振与低频颤振。
图12 机器人铣削特征矩阵空间分布Fig.12 Spatial distribution of robotic feature matrix
为不失一般性,将每组铣削状态下的特征矩阵随机排列,分别提取特征矩阵的前100行作为训练集,后20行作为测试集,最终可得到分别包含五种机器人铣削状态(稳定、早期颤振、再生颤振、低频颤振、空载)的训练集(500行3列)与测试集(100行3列)。
将构建的训练集与测试集分别作为输入特征矩阵,输入支持向量机,进行模型训练与测试。模型构建过程中,稳定、早期颤振、剧烈颤振、低频颤振与空载状态的标签分别设定为1、2、3、4、5。构建支持向量机模型时,对于特定问题,其内部核函数与惩罚参数需要根据输入向量的特性进行相应优化,以便提高模型泛化能力,进而提高模型的预测精度与自适应性。网格搜索法、遗传算法与粒子群寻优是参数优化环节常用的三种经典方法,其有效性已被广泛证明,因此,在模型训练过程中分别采用网格搜索法、遗传算法与粒子群寻优三种方法确定支持向量机最佳参数。采用网格搜索法获得的颤振识别模型测试结果如图13所示。由图13可知,根据特征向量的空间分布特点,能够准确识别出稳定、低频颤振、再生颤振与空载状态,同时能够完全准确识别出再生颤振与低频颤振两种不同类型的颤振状态。但是对再生颤振进行进一步识别时,则出现了一定的误差,将5个早期颤振误判为剧烈颤振状态,2个剧烈颤振状态误判为早期颤振。这主要是因为早期颤振与剧烈颤振的特征向量存在一定混叠,造成误差。一般来讲,颤振抑制过程中只要判别出颤振类型便会采取相应措施,因此上述误差并不影响后续相应的颤振抑制措施。本文构建的颤振识别模型的机器人铣削状态识别结果如表4所示。由表4可知,当采用网格搜索法进行参数优化时,颤振识别模型的状态识别准确率可达93%,优于采用遗传算法或粒子群寻优法得到的模型,这是因为网格搜索法能够同步对支持向量机的核函数与惩罚参数进行优化选择,相对扩大了支持向量机核函数及惩罚参数最佳组合的选取范围,进而比采用遗传算法或粒子群寻优算法得到的颤振识别模型的识别准确率更高。
表4 本文构建模型的测试结果
图13 模型测试结果(网格搜索法)Fig.13 Model test results(grid search method)
为验证所提方法的优越性,采用文献[33]提出的原始信号功率谱熵差与标准偏差构建二维输入向量与状态识别模型。在构建二维输入向量时,分别提取每种状态下二维特征矩阵的前100行作为训练集,后20行作为测试集。最终得到包含五种机器人铣削状态(稳定、早期颤振、再生颤振、低频颤振、空载)的训练集(500行2列)与测试集(100行2列)。将构建的特征向量输入支持向量机进行训练,便可得到机器人铣削状态识别模型。采用测试集数据对模型进行验证,结果如表5所示。由表5可知,采用二维输入向量构建的识别模型机器人铣削状态识别准确率最高为90%,低于本文提出的自适应识别模型的识别准确率(93%)。上述对比分析表明本文所提出的颤振识别方法能够更加精确地识别机器人铣削状态,验证了该方法的优越性。
表5 其他方法测试结果
机器人的弱刚性特点导致其铣削过程中极易产生颤振,机器人铣削颤振类型复杂,难以有效识别。针对机器人铣削颤振识别问题,提出了一种能够识别出低频颤振、再生颤振等不同状态的机器人铣削颤振自适应识别方法。本方法采用标准偏差与不同频率成分的功率谱熵差值表征机器人铣削振动信号的时域与频域特性,有效提取了能够表征机器人铣削状态的特征指标,基于支持向量机智能算法构建了具有自适应参数优化特性的机器人铣削颤振识别模型,该模型能够准确识别再生颤振与低频颤振,对稳定、低频颤振、早期颤振、剧烈颤振与空载状态的识别准确率达93%,为机器人铣削颤振的主动抑制提供了一定的技术支持。