系统辨识策略分析为了对被控对象进行辨识,需要获知其输入、输出信息。被控对象的输入信息为一模拟电压,若不借助于特定的硬件工具,则很难直接获取该信息,也难以对被控对象进行直接辨识。然而,可将所示的系统闭环部分作为一个整体考虑,将其转变为如所示的结构形式,以G1(z-1)表示为PID调节器,G2(z-1)为D/A转换器,G3(z-1)为被控对象,r和y分别为闭环系统的输入、输出信息。这样,借助于PMAC所提供的Gather函数,可方便地采集系统的输入信息r和输出信息y,然后根据最小二乘法辨识方法可求解出闭环系统的模型。
系统参数的采样本系统所选用的PMAC运动控制器向用户提供了一个功能丰富的函数库,通过该函数库用户可以对系统进行开发和扩展,可以利用函数库中的Gather函数对系统输入输出信息和系统参数进行查询和采集。本文利用VC6.0语言工具,通过Gather函数,在PWIN32软件环境下编制了一个系统信息采集软件模块,该模块能对系统的输出信息进行采样,并把采样的信息存储在PMAC用户寄存器,然后调用GetResponse函数,将采集的数据按所需的格式上传到IPC上位机,以供系统辨识所用。
在系统参数采样时,应注意的是采样定时器的选取。VC6.0编程语言提供了定时器,但由于IPC微机是一个多线程工作系统,需在完成更高优先级线程后才执行采样模块的定时器任务,其实时性得不到保证,采样精度受到大大的影响。本文采用了PMAC内部定时器,以PMAC伺服周期或伺服周期的整数倍作为系统的采样周期,具有较高的实时性,其采样精度得到了保证。M序列的确定及其生成系统辨识需要的激励信号应使系统各频率特性得到最好的反映。白噪声是一种理想的激励信号,但在工程上难以实现。二位式伪随机M序列信号有近似白噪声的特征,易于实现,因而本文选其作为系统辨识的激励信号。
M序列的选用有两个重要的参数需要确定:一为幅值,若其幅值过大,则可能超出伺服放大器线性区,带来饱和非线性影响,幅值过小,则量化误差、摩擦滞环等因素的影响较大,结合被控对象的特征和方便性,本文选用的激励幅值为180°伺服电机转角。另一参数为激励时间,若激励时间过长,采样数据量大,可能会超出系统存储容量,若过短,则系统激励不充分,影响辨识精度,本文选择7阶M序列,共127位,触发周期为250ms,激励时间共为31750ms.这样,系统采样时间设为5ms,则采样的数据仅为6250个,满足系统存储容量的限制。
结论本文通过多轴运动控制器PMAC的查询功能采集系统的输出信息,以伪随机M序列为系统的输入信息,以最小二乘法辨识闭环系统的模型,通过数学推导最终得到被控对象的模型。该方法简单有效,不需要对系统添加任何的硬件和改动,这对数控系统控制算法研究、参数整定以及故障诊断等提供了实用可行的路径。