气动系统在工业运动控制、食品包装机械、机器人、医疗器械等行业应用广泛, 具有成本低、清洁无污染、功率质量比大和易安装维护等优势[1].气动系统存在着气体的可压缩性大、系统的刚度低、气动元件流量特性和摩擦力特性非线性严重的特性, 使得建模复杂, 设计高精度气动伺服控制系统的控制策略困难[2], 高性能气动伺服控制器发展受阻.
传统简单的气动伺服控制算法, 如PID等, 取得的效果很一般, 在此基础上提出改进的线性控制策略, 如PID与模糊控制、神经网络等人工智能的结合[3-4], 算法效果与设计人员经验密切;设计先进非线性控制策略, 如自适应控制、滑模控制、自适应鲁棒控制等策略[5-7], 设计较复杂, 但充分利用模型信息, 控制效果好.现阶段, 气动伺服研究工作大多借助于PC机、dSPACE系统、NI-DAQ/CRIO、xPC等通用实时工具实现控制系统原型, 系统稳定, 精度高, 开发调试便利;不足之处在于控制系统的成本高、结构体积大, 极不利于嵌入式应用.
商用嵌入式气动伺服控制器有德国FESTO公司推出了SPC系列控制器[8], 配合公司提供的比例方向阀和气缸等部件能实现“点到点”精确定位, 但轨迹跟踪性能不足;意大利Atos公司推出了液压伺服系统控制器及解决方案[9].国内学者对嵌入式气动伺服控制器的硬件结构, 提出采用ARM、DSP、FPGA等为核心的多种解决方案[10-13], 集成的伺服控制算法软件简单, 效果差, 且几乎处于调试实验阶段, 未推出成熟产品.研发集成先进控制策略、性能稳定、通信完善、接口标准、体积小的嵌入式气动伺服控制器具有实际意义.
1 3-RPS控制系统实现方案该系统以4D影院的动感座椅为应用对象, 在Shang等[14]设计的3-RPS结构平台基础上, 提出气动伺服系统框架, 如图 1所示.DSP控制器和3-RPS气动平台组成一个工作节点, PC机连接UCB-CAN控制器与多节点DSP通信.在DSP内运行伺服控制策略, PC机作为监控中心, 控制对象系统运行、发送运行控制指令、实时显示控制误差及内部状态参数.针对应用对象设计了一套动作采集子系统, 结构是3-RPS平台的缩小版.采用手动拖拽方式进行示教编程, 开发上位机软件连接NI-DAQ设备采集跟踪位姿信号, 处理后可以存储及在3-RPS平台复现, 方便了对3-RPS平台的位姿轨迹编程.
![]() |
图 1 基于DSP的气动位置伺服系统结构 Fig. 1 Structure of pneumatic servo system based on DSP |
3-RPS平台由运动平台、固定平台及连接两平台的3支双作用气缸组成, FESTO的五位三通比例方向阀MPYE-5-1/4-010B控制执行机构气缸DNC-63-200-P, 采用电阻式位移传感器构成位置闭环.考虑到该控制器运行算法复杂, 运算性能要求较高, 选用TI公司推出的TMS320F28335型DSP芯片, 是专用于运动控制而推出的, 主频高达150 M, 集成高性能浮点运算处理单元, 具备CAN总线通信接口, 适合该气动伺服系统的应用需求.
2 气动伺服控制策略设计气动伺服DSP控制器同时最多可以控制三组阀控缸系统运行.三组阀控缸系统均采用自适应鲁棒控制(adaptive robust control, ARC)算法, 参考文献[14-15]进行单缸自适应鲁棒控制器设计.
2.1 气缸的运动建模参考文献[15], 采用简化的Stribeck摩擦力模型描述气缸摩擦力, 气缸活塞杆动力学表示为
$ m\ddot x = \left( {{p_{\rm{a}}} - {k_{\rm{a}}}{p_{\rm{b}}}} \right){A_{\rm{a}}} - {A_{\rm{f}}}{S_{\rm{f}}}\left( {\dot x} \right) + bx - {F_{\rm{L}}} + {f_{\rm{n}}} + {{\tilde f}_0}. $ | (1) |
式中:pa、pb分别为气缸无杆腔、有杆腔压力,FL为负载力,Af为摩擦力模型的幅值,Sf(
热力学模型对控制精度会造成较大影响, 参考文献[16]的研究成果, 气缸内的热力学动态表示成多变指数形式更简洁精确, 表达如下:
$ \left. \begin{array}{l} {T_i} = {T_{\rm{s}}}{\left( {\frac{{{p_i}}}{{{p_{{\rm{atm}}}}}}} \right)^{\frac{{n - 1}}{n}}},{p_{{\rm{atm}}}} = 0.807\;7{p_{\rm{s}}};\\ \begin{array}{*{20}{c}} {\frac{{{\rm{d}}{p_i}}}{{{\rm{d}}t}} = \frac{{\gamma R}}{{{V_i}}}\left( {{{\dot m}_{i{\rm{in}}}}{T_{\rm{s}}} - {{\dot m}_{i{\rm{out}}}}{T_i}} \right) - \frac{{\gamma {p_i}}}{{{V_i}}}\frac{{{\rm{d}}{V_i}}}{{{\rm{d}}t}} + }\\ {\frac{{\gamma - 1}}{{{V_i}}}{{\dot Q}_i} + {d_{i{\rm{n}}}} + {{\tilde d}_{i0}},i = a,b.} \end{array} \end{array} \right\} $ | (2) |
式中:ps、patm分别为气源和大气压力,Ta、Tb为气缸腔内的温度,Ts为气源温度,dan、dbn为模型误差,da0、db0为未建模干扰, x为活塞杆位移, L为活塞行程, V0i为死区容积, 进排气腔容积Vi=V0i+Ai(L/2+x), 气缸与外界的热交换面积Shi(x)=2Ai+πD(L/2+x), 热交换速率
选用的MPYE型三位五通比例方向阀, 样本参数曲线给出阀的工作频响约为100 Hz, 远高于该课题的气动伺服平台工作频宽1 Hz, 因此可以忽略阀芯的机械动态.流经阀口的质量流量与阀芯位移间关系可以表述如下:
$ \begin{array}{l} \dot m = A\left( u \right){K_{\rm{q}}}\left( {{p_{\rm{u}}},{p_{\rm{d}}},{T_{\rm{u}}}} \right) = \\ \left\{ \begin{array}{l} \begin{array}{*{20}{c}} {A\left( u \right){C_{\rm{d}}}{C_1}\frac{{{p_{\rm{u}}}}}{{\sqrt {{T_{\rm{u}}}} }},}&{\frac{{{p_{\rm{d}}}}}{{{p_{\rm{u}}}}} \le {p_{\rm{r}}};}\\ {A\left( u \right){C_{\rm{d}}}{C_1}\frac{{{p_{\rm{u}}}}}{{\sqrt {{T_{\rm{u}}}} }}\sqrt {1 - {{\left( {\left( {\frac{{{p_{\rm{d}}}}}{{{p_{\rm{u}}}}} - {p_{\rm{r}}}} \right)/\left( {1 - {p_{\rm{r}}}} \right)} \right)}^2}} ,}&{{p_{\rm{r}}} < \frac{{{p_{\rm{d}}}}}{{{p_{\rm{u}}}}} < \lambda ;} \end{array}\\ \begin{array}{*{20}{c}} \begin{array}{l} A\left( u \right){C_{\rm{d}}}{C_1}\frac{{{p_{\rm{u}}}}}{{\sqrt {{T_{\rm{u}}}} }}\left( {\left( {1 - \frac{{{p_{\rm{d}}}}}{{{p_{\rm{u}}}}}} \right)/\left( {1 - \lambda } \right)} \right) \times \\ \sqrt {1 - {{\left( {\frac{{\lambda - {p_{\rm{r}}}}}{{1 - {p_{\rm{r}}}}}} \right)}^2}} , \end{array}&{\;\;\;\;\;\;\;\;\;\;\;\lambda < \frac{{{p_{\rm{d}}}}}{{{p_{\rm{u}}}}} < 1.} \end{array} \end{array} \right. \end{array} $ | (3) |
式中:λ为层紊流分界系数,C1=0.040 4[15].
比例方向阀个性差异明显, 中位值、死区、线性度和工作区间均不相同, 结合实验测试来建立阀的模型较精确.在FESTO公司的DFMA型精密流量试验台上测试阀的特性参数, 保持阀上游供气压力为5×105 Pa, 调节排气压力为4×105 Pa, 改变控制电压, 得到比例阀的质量流量曲线如图 2所示, 表明阀的流量与控制电压不是理想的线性关系, 存在较大的中位死区, 且中位电压存在偏移.
![]() |
图 2 比例方向阀的流量特性测试 Fig. 2 Flow characteristic test of proportional directional valve |
保持上游压力5×105 Pa不变, 测量不同上下游压力比与控制电压的关系, 固定临界压力比为0.29, 用式(4) 对实验数据进行拟合, 求得Cd及Au的表达式.将测试数据与二次多项式拟合后的流量模型进行对比, 绘制压力比和质量流量关系, 如图 3所示.理论与实际符合的一致性较好, 表明建立的比例方向阀模型准确.
![]() |
图 3 模型拟合结果与实验结果对比 Fig. 3 Comparison of model fitting results and experimental results |
综合考虑以上模型, 定义状态变量为
$ \begin{array}{l} \mathit{\boldsymbol{X = }}{\left[ {{x_1},{x_2},{x_3},{x_4}} \right]^{\rm{T}}} = {\left[ {x,\dot x,{p_{\rm{a}}}/{C_P},{p_{\rm{b}}}/{C_P}} \right]^{\rm{T}}},\\ \mathit{\boldsymbol{\theta = }}{\left[ {{\theta _1},{\theta _2},{\theta _3},{\theta _4},{\theta _5}} \right]^{\rm{T}}} = {\left[ {b,{A_{\rm{f}}}, - {F_{\rm{L}}},{d_{{\rm{an}}}},{d_{{\rm{bn}}}}} \right]^{\rm{T}}}. \end{array} $ |
建立的控制系统模型如下:
$ \left. \begin{array}{l} {{\dot x}_1} = {x_2},\\ m{{\dot x}_2} = {{\bar A}_{\rm{a}}}\left( {{x_3} - {k_{\rm{a}}}{x_4}} \right) - {\theta _1}{x_2} - \\ \;\;\;\;\;\;\;\;\;{\theta _2}{S_{\rm{f}}}\left( {{x_2}} \right) + {\theta _3} + {{\bar f}_0},\\ {{\dot x}_3} = \frac{{\gamma R}}{{{C_{\rm{p}}}{V_{\rm{a}}}}}\left( {{{\dot m}_{{\rm{ain}}}}{T_{\rm{s}}} - {{\dot m}_{{\rm{aout}}}}{T_{\rm{a}}}} \right) - \frac{{\gamma {A_{\rm{a}}}}}{{{V_{\rm{a}}}}}{x_2}{x_3} + \\ \;\;\;\;\;\;\;\frac{{\gamma - 1}}{{{C_{\rm{p}}}{V_{\rm{a}}}}}{{\dot Q}_{\rm{a}}} + {\theta _4} + {{\tilde d}_{a0}},\\ {{\dot x}_4} = \frac{{\gamma R}}{{{C_{\rm{p}}}{V_{\rm{b}}}}}\left( {{{\dot m}_{{\rm{bin}}}}{T_{\rm{s}}} - {{\dot m}_{{\rm{bout}}}}{T_{\rm{b}}}} \right) - \frac{{\gamma {A_{\rm{b}}}}}{{{V_{\rm{b}}}}}{x_2}{x_4} + \\ \;\;\;\;\;\;\;\frac{{\gamma - 1}}{{{C_{\rm{p}}}{V_{\rm{b}}}}}{{\dot Q}_{\rm{b}}} + {\theta _5} + {{\tilde d}_{{\rm{b0}}}}. \end{array} \right\} $ | (4) |
式中:CP=105, 则
控制器的设计目标是调节比例方向阀控制电压u, 使得气缸活塞杆位移x1能够跟随期望轨迹xd, 跟踪误差越小越好.由模型可知, 系统模型是高阶非线性的, 存在不确定性干扰的影响, 且干扰是非匹配的, 因此采用反步法来设计控制器.
1) 定义控制器轨迹跟踪误差z1=x1-xd:
$ {z_2} = {{\dot z}_1} + {k_1}{z_1} = {x_2} - {x_{2{\rm{eq}}}}. $ | (5) |
根据式(5) 可知, 当z2趋于0时, z1收敛到0.
定义半正定函数:
$ {V_2} = \frac{1}{2}mz_2^2. $ | (6) |
$ \begin{array}{l} {{\dot V}_2} = m{z_2}{{\dot z}_2} = {z_2}\left( {m{{\dot x}_2} - m{{\dot x}_{2{\rm{eq}}}}} \right) = \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \;\;{z_2}\left[ {{{\bar A}_{\rm{a}}}\left( {{x_3} - {k_{\rm{a}}}{x_4}} \right) - {\theta _1}{x_2} - } \right.\\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \;\;\left. {{\theta _2}{S_{\rm{f}}}\left( {{x_2}} \right) + {\theta _3} + {{\tilde f}_0} - m{{\dot x}_{2{\rm{eq}}}}} \right]. \end{array} $ | (7) |
定义p=x3-kax4作为一阶虚拟控制输入, z3=p-pd参考文献[14], 设计控制律如下:
$ \left. \begin{array}{l} {p_{\rm{d}}} = {p_{{\rm{da}}}} + {p_{{\rm{ds1}}}} + {p_{{\rm{ds2}}}},\\ {p_{{\rm{da}}}} = \frac{1}{{{{\bar A}_{\rm{a}}}}}\left[ {{{\hat \theta }_1}{x_2} + {{\hat \theta }_2}{S_{\rm{f}}}\left( {{x_2}} \right) - {{\hat \theta }_3} + m{{\dot x}_{2{\rm{eq}}}}} \right],\\ {p_{{\rm{ds1}}}} = - \frac{1}{{{{\bar A}_{\rm{a}}}}}{k_2}{z_2},{k_2} > 0. \end{array} \right\} $ | (8) |
式(7) 综合控制律式(8),可以写成
$ \begin{array}{*{20}{l}} {{{\dot V}_2} = {{\bar A}_{\rm{a}}}{z_2}{z_3} - {k_2}z_2^2 + {z_2}\left[ {{{\bar A}_{\rm{a}}}{p_{{\rm{ds2}}}} + {{\tilde \theta }_1}{x_2} + } \right.}\\ {\;\;\;\;\;\;\;\;\left. {{{\tilde \theta }_2}{S_{\rm{f}}}\left( {{x_2}} \right) - {{\tilde \theta }_3} + {{\tilde f}_0}} \right].} \end{array} $ | (9) |
设计鲁棒项:
$ {p_{{\rm{ds2}}}} = - \frac{{h_2^2}}{{4{\eta _2}{{\bar A}_{\rm{a}}}}}{z_2}. $ | (10) |
$ \begin{array}{l} {h_2} = \left| {{\theta _{{\rm{M1}}}}} \right|\left| {{x_2}} \right| + \left| {{\theta _{{\rm{M1}}}}} \right|\left| {{S_{\rm{f}}}\left( {{x_2}} \right)} \right| + \left| {{\theta _{{\rm{M3}}}}} \right| + {f_{\max }}.\\ \left. \begin{array}{l} {\theta _{{\rm{M}}i}} = {\theta _{i\max }} - {\theta _{i\min }},i = 1 \sim 5;\\ {f_{\max }} = {\left| {{f_i}\left( t \right)} \right|_{\max }}. \end{array} \right\} \end{array} $ | (11) |
可以证明, 式(11) 满足以下条件:
$ \left. \begin{array}{l} {z_2}\left[ {{{\tilde \theta }_1}{x_2} + {{\tilde \theta }_2}{S_{\rm{f}}}\left( {{x_2}} \right) - {{\tilde \theta }_3} + {{\tilde f}_0}} \right] \le {\eta _2},\\ {z_2}{{\bar A}_{\rm{a}}}{p_{{\rm{ds}}2}} \le 0. \end{array} \right\} $ | (12) |
$ {{\dot V}_2} \le {{\bar A}_{\rm{a}}}{z_2}{z_3} - {k_2}z_2^2 + {\eta _2}. $ | (13) |
2) 从式(13) 可以看出, 若z3=0, 则z2将会收敛到一球域内, 且可以通过调节参数η2、k2来改变.求导z3得到误差动力学:
$ \begin{array}{l} {{\dot z}_3} = q - \left( {\frac{{\gamma {A_{\rm{a}}}}}{{{V_{\rm{a}}}}}{x_2}{x_3} + \frac{{\gamma {A_{\rm{b}}}}}{{{V_{\rm{b}}}}}{x_2}{x_4}} \right) + \frac{{\left( {\gamma - 1} \right)}}{{{C_{\rm{P}}}{V_{\rm{a}}}}}{{\dot Q}_{\rm{a}}} - \\ \;\;\;\;\;\;\;\frac{{\left( {\gamma - 1} \right)}}{{{C_{\rm{P}}}{V_{\rm{b}}}}}{{\dot Q}_{\rm{b}}} + {\theta _4} + {\theta _5} + {{\tilde d}_{{\rm{a}}0}} - {{\tilde d}_{{\rm{b}}0}} - {{\dot p}_{{\rm{du}}}} - {{\dot p}_{{\rm{dc}}}}. \end{array} $ | (14) |
定义半正定函数:
$ {V_3} = {V_2} + \frac{1}{2}z_3^2. $ | (15) |
可得
$ {{\dot V}_3} = {{\dot V}_2} + {z_3}{{\dot z}_3}. $ | (16) |
将式(14) 代入式(16), 第一步设计模型补偿项、稳定性鲁棒项和确定性鲁棒项:
$ \left. \begin{array}{l} q = {q_{{\rm{da}}}} + {q_{{\rm{ds1}}}} + {q_{{\rm{ds2}}}};\\ {q_{{\rm{da}}}} = - {{\bar A}_{\rm{a}}}{z_2} + \left( {\frac{{\gamma {A_{\rm{a}}}}}{{{V_{\rm{a}}}}}{x_2}{x_3} + \frac{{\gamma {A_{\rm{b}}}}}{{{V_{\rm{b}}}}}{x_2}{x_4}{k_{\rm{a}}}} \right) - \\ \;\;\;\;\;\frac{{\left( {\gamma - 1} \right)}}{{{C_{\rm{P}}}{V_{\rm{a}}}}}{{\dot Q}_{\rm{a}}} + \frac{{\left( {\gamma - 1} \right)}}{{{C_{\rm{P}}}{V_{\rm{b}}}}}{{\dot Q}_{\rm{b}}}{k_{\rm{a}}} - {{\hat \theta }_4} + {{\hat \theta }_5}{k_{\rm{a}}} + {{\dot p}_{{\rm{dc}}}};\\ {q_{{\rm{ds1}}}} = - {k_3}{z_3},{k_3} > 0;\\ {q_{{\rm{ds2}}}} = - \frac{{h_3^2}}{{4{\eta _3}}}{z_3}. \end{array} \right\} $ | (17) |
$ \begin{array}{l} {h_3} = \left| {\frac{{\partial {p_{\rm{d}}}}}{{\partial {x_2}}}} \right|\left[ {\left| {{\theta _{{\rm{M1}}}}} \right|\left| {{x_2}} \right| + \left| {{\theta _{{\rm{M2}}}}} \right|\left| {{S_{\rm{f}}}\left( {{x_2}} \right)} \right| + \left| {{\theta _{{\rm{M3}}}}} \right| + } \right.\\ \;\;\;\;\;\;\;\left. {{f_{\max }}} \right] + \left| {{\theta _{{\rm{M4}}}}} \right| + \left| {{\theta _{{\rm{M5}}}}} \right| + {d_{{\rm{amax}}}} + {d_{{\rm{bmax}}}}. \end{array} $ | (18) |
可得, 式(17) 所设计的控制律满足以下条件:
$ \left. \begin{array}{l} {V_3} \le - {k_2}z_2^2 + {\eta _2} - {k_3}z_3^2 + {\eta _3} \le - \delta {V_3} + \eta ,\\ \delta = \min \left\{ {2{k_2}/M,2{k_3}} \right\},\;\;\;\eta = {\eta _2} + {\eta _3}. \end{array} \right\} $ | (19) |
由此可得
$ {V_3}\left( t \right) \le {{\rm{e}}^{ - \delta t}}{V_3}\left( 0 \right) + \frac{\eta }{\delta }\left[ {1 - {{\rm{e}}^{ - \delta t}}} \right]. $ | (20) |
同理可证, 误差向量z=[z2, z3]的上限值满足:
$ {\left\| {z\left( t \right)} \right\|^2} \le {{\rm{e}}^{ - \delta t}}\left\| {z\left( 0 \right)} \right\| + \frac{{2\eta }}{\delta }\left[ {1 - {{\rm{e}}^{ - \delta t}}} \right]. $ | (21) |
由此可得, 误差z2、z3将会收敛到一个球域内, 且收敛域范围受限k2、η2、k3、η3的控制.根据式(5), 表明在误差z2收敛的同时, z1会收敛.
3) 由以上计算已经得到了期望流量q, 由式(3) 和拟合得到的二次关系曲线可以求得比例方向阀的期望的控制电压uc.
2.3 参数估计算法针对模型参数不确定性, 使用递推最小二乘法在线估计参数θ, 能够提高系统的稳态轨迹跟踪精度.参考文献[17], 设计参数自适应算法.鲁棒控制率的设计与模型参数不确定性取值范围相关, 因此参数估计应该有界, 选择标准投影对参数的更新率限制:
$ \mathit{\boldsymbol{\dot \theta = }}{\rm{Pro}}{{\rm{j}}_{\hat \theta }}\left( {\mathit{\boldsymbol{ \boldsymbol{\varGamma} }}\tau } \right). $ | (22) |
式中:Γ为正定对称的自适应率矩阵, τ为自适应函数.
系统模型如式(4) 所示, 写成回归方程形式, 便于使用最小二乘法进行参数估计;定义相对阶为3的低通滤波器, 作用于模型后再进行参数估计:
$ {H_{\rm{f}}}\left( s \right) = \frac{{\omega _{\rm{f}}^2}}{{\left( {{\tau _{\rm{f}}}s + 1} \right)\left( {{s^2} + 2\xi {\omega _{\rm{f}}}s + \omega _{\rm{f}}^s} \right)}}. $ | (23) |
假设系统此时没有不确定性干扰的影响, 即
$ \left. \begin{array}{l} {y_{{\rm{1f}}}} = {H_{\rm{f}}}\left[ {{{\bar A}_{\rm{a}}}\left( {{x_3} - {k_{\rm{a}}}{x_4}} \right) - m{{\dot x}_2}} \right] = \\ \;\;\;\;\;\;{\theta _1}{x_{{\rm{2f}}}} + {\theta _2}{S_{\rm{f}}}\left( {{x_2}} \right) - {\theta _3}{1_{\rm{f}}},\\ {y_{{\rm{2f}}}} = {H_{\rm{f}}}\left[ {\gamma R\left( {{{\dot m}_{{\rm{ain}}}}{T_{\rm{s}}} - {{\dot m}_{{\rm{aout}}}}{T_{\rm{a}}}} \right)/\left( {{C_{\rm{P}}}{V_{\rm{a}}}} \right) - } \right.\\ \;\;\;\;\;\;\;\left. {\gamma {A_{\rm{a}}}{x_2}{x_3}/{V_{\rm{a}}} + \left( {\gamma - 1} \right){{\dot Q}_{\rm{a}}}/\left( {{C_{\rm{P}}}{V_{\rm{a}}}} \right) - {{\dot x}_3}} \right] = \\ \;\;\;\;\;\;\; - {\theta _4}{1_{\rm{f}}},\\ {y_{{\rm{3f}}}} = {H_{\rm{f}}}\left[ {\gamma R\left( {{{\dot m}_{bin}}{T_{\rm{s}}} - {{\dot m}_{{\rm{bout}}}}{T_{\rm{b}}}} \right)/\left( {{C_{\rm{P}}}{V_{\rm{b}}}} \right) - } \right.\\ \;\;\;\;\;\;\;\left. {\gamma {A_{\rm{b}}}{x_2}{x_4}/{V_{\rm{a}}} + \left( {\gamma - 1} \right){{\dot Q}_{\rm{b}}}/\left( {{C_{\rm{P}}}{V_{\rm{b}}}} \right) - {{\dot x}_4}} \right] = \\ \;\;\;\;\;\;\; - {\theta _5}{1_{\rm{f}}}. \end{array} \right\} $ | (24) |
定义待估计参数向量和回归向量:
$ {\mathit{\boldsymbol{y}}_{i{\rm{f}}}} = {\mathit{\boldsymbol{\varphi }}_{i{\rm{f}}}}{\mathit{\boldsymbol{\theta }}_{i{\rm{s}}}};i = 1,2,3. $ | (25) |
预测误差可以表示为
$ {\mathit{\boldsymbol{\varepsilon }}_i} = {{\mathit{\boldsymbol{\hat y}}}_{i{\rm{f}}}} - {\mathit{\boldsymbol{y}}_{i{\rm{f}}}} = {\mathit{\boldsymbol{\varphi }}_{i{\rm{f}}}}{{\mathit{\boldsymbol{\tilde \theta }}}_{i{\rm{s}}}};i = 1,2,3. $ | (26) |
每个回归向量选取如下形式的自适应率矩阵和自适应率函数:
$ \mathit{\boldsymbol{ \boldsymbol{\dot \varGamma} }} = \left\{ \begin{array}{l} {\alpha _i}{\mathit{\boldsymbol{ \boldsymbol{\varGamma} }}_i} - \frac{{{\mathit{\boldsymbol{ \boldsymbol{\varGamma} }}_i}{\mathit{\boldsymbol{\varphi }}_{i{\rm{f}}}}\mathit{\boldsymbol{\varphi }}_{i{\rm{f}}}^{\rm{T}}{\mathit{\boldsymbol{ \boldsymbol{\varGamma} }}_i}}}{{1 + v\mathit{\boldsymbol{\varphi }}_{i{\rm{f}}}^{\rm{T}}{\mathit{\boldsymbol{ \boldsymbol{\varGamma} }}_i}{\mathit{\boldsymbol{\varphi }}_{i{\rm{f}}}}}},{\mathit{\boldsymbol{\lambda }}_{\max }}\left( {{\mathit{\boldsymbol{ \boldsymbol{\varGamma} }}_i}} \right) \le {\rho _{\rm{M}}},\\ \;\;\;\;\;\;\;\;\;\left\| {{\rm{Pro}}{{\rm{j}}_{{{\hat \theta }_i}}}\left( {{\mathit{\boldsymbol{ \boldsymbol{\varGamma} }}_i}{\tau _i}} \right)} \right\| \le {{\dot \theta }_{\rm{M}}};\\ 0,\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;其他. \end{array} \right. $ | (27) |
$ {\mathit{\boldsymbol{\tau }}_i} = \frac{1}{{1 + {v_i}\mathit{\boldsymbol{\varphi }}_{i{\rm{f}}}^{\rm{T}}{\mathit{\boldsymbol{ \boldsymbol{\varGamma} }}_i}{\mathit{\boldsymbol{\varphi }}_{i{\rm{f}}}}}}{\mathit{\boldsymbol{\varphi }}_{i{\rm{f}}}}{\mathit{\boldsymbol{\varepsilon }}_i}. $ | (28) |
式中:αi≥0为遗忘因子, νi≥0为调整因子, ρMi为||Γi(t)||的预设上界值.
3 基于模型设计的控制器软件 3.1 控制策略仿真在设计自适应鲁棒控制算法的同时, 可以方便同步地在MATLAB/Simulink工具箱下实现与验证, 联立系统模型进行仿真.在跟踪3 rad/s, 幅值为90 mm的正弦轨迹信号, 同时加入噪声信号进行仿真, 轨迹跟踪效果及跟踪误差如图 4所示.图中,Traj为实际轨迹,e为误差.稳态控制精度在1 mm以下, 具有较强的鲁棒性抵抗干扰, 控制误差逐步减小, 表明基于最小二乘法的在线参数估计和自适应干扰估计有效, 算法能够较好地收敛, 有效提高了系统的控制精度.
![]() |
图 4 幅值为90 mm, 3 rad/s的正弦轨迹跟踪仿真 Fig. 4 Amplitude 90 mm, 3 rad/s sine trajectory tracking simulation |
算法经验证可行可靠, 便可移植到嵌入式环境下运行, 传统算法移植都是手动重新编写嵌入式代码, 工作量大耗时, 且易出错;采用基于模型的设计思想, 结合MATLAB/Simulink提供的快速控制原型技术, 可以实现嵌入式C代码的自动生成, 仿真通过的控制策略可以生成嵌入式嵌件, 还能够在该平台下集成现有成熟的控制策略、硬件驱动(S函数+模块级TLC(target language compiler, TLC)文件), 实现硬件在环仿真和处理器在环仿真, 仿真与实验同步进行[18], 数据显示和误差分析方便;嵌入式代码生成及在CCS环境下集成下载到DSP处理器流程, 如图 5所示.
![]() |
图 5 嵌入式代码的生成及应用过程 Fig. 5 Embedded code generation and application procedure |
在MATLAB/Simulink下开发的算法不都能直接支持嵌入式代码生成, 其中需要理解嵌入式代码自动生成的过程及原理, 作出必要性的转换工作和说明, 具体如下.
1) 仿真模型离散化.离散模型取代系统中的连续模块,设置离散模块的采样率与实际嵌入式软件中运行的工作周期一致,该DSP控制器的期望实时性为0.001 s.
2) C MEX S-function的自动代码生成.该模块直接支持C语言开发, 很方便实现非常复杂的仿真模型编写.通过MEX后生成.mexw32或.mexw64文件, 能够加快仿真速度, 但该模块没有如M-function模块直接支持代码生成功能.将开发中应用的该模块分为功能型C MEX S-function和驱动型C MEX S-function.针对前者, 通过按S-function指定的执行步骤将其转换成M-function, 涉及到的工作空间变量当作全局变量处理, 转换编程简便;后者采用实现内嵌功能, 即为该模块编写同名的模块级TLC文件, 读取模型编译过程中的rtw中间文件中的模型信息, 对生成.c和.h文件流进行控制, 指定代码的生成段及空间位置.采用该方式生成的驱动有较高的执行效率且可控, 但实现过程较复杂, 是在MATLAB下编写硬件驱动的首选, 在本课题用于编写外扩A/D器件和D/A器件和CAN通信的驱动.
3) 对生成软件代码的接口、质量、模型中间文件、编码风格等需要在MATLAB/Simulink环境中进行配置, 实现过程均是原理性知识, 须参考配合经验使用.
该系统设计采用基于模型的设计思想, 在MATLAB/Simulink平台工具下实现将控制策略仿真模型直接生成嵌入式软件, 在CCS开发环境中集成嵌入式软件和器件驱动下载到DSP芯片.生成软件的正确性、可靠性及效率需要进一步实验验证, 联合上位机监控软件进行系统测试验证.
4 控制器实验验证 4.1 实验平台介绍实验平台如图 6所示, 由3-RPS平台、运动采集子系统(示教器)、控制计算机和DSP控制器组成, DSP与控制计算机通过USB-CAN设备相连通信.
![]() |
图 6 基于DSP的3-RP实验平台 Fig. 6 3-RPS experiment platform based on DSP |
考虑DSP处理器的资源和成本因素, 没有在DSP中运行嵌入式操作系统, 而是在Windows环境下基于Visual Studio的MFC框架开发了上位机监控软件ComControl, 界面如图 7所示, 由6个功能模块组成.
![]() |
图 7 上位机监控软件 Fig. 7 PC monitoring software |
1) 动作采集控制模块.软件连接NI-USB6009型DAQ设备, 通过电阻式位移传感器采集示教器位姿信息, 经低通滤波器滤波后采用梯度算法求取速度和加速度, 并以文件形式保存在上位机中, 供后续3-RPS平台运动复现;滤波器在MATLAB FDA Tool中设计, 截止频率为20 Hz, 低通, 10阶, 将滤波器参数导入ComControl软件开发.
2) 运行控制操作模块.操作动作采集数据文件, 可以暂停、中止和重复播放文件中平台位姿信息, 播放即可实现把数据通过CAN总线传输到DSP控制器, 在3-RPS大平台上复现.
3) 控制参数设置模块.设置控制器运行的软件参数, 调整适用于控制对象的差异性.
4) 数据交互监视窗口模块.实时显示数据, 调试和监视用.
5) 状态监控模块.观察系统当前运行状态, 参数实时绘图显示控制模块, 返回状态参数保存等操作.
6) 实时参数显示模块.该模块利用Teechart插件, 高效地实时绘图, 能够同时显示期望位置、期望轨迹、控制器参数和状态量.
4.2 控制器设计主要参数自适应鲁棒控制策略及在线参数估计使用的模型参数如表 1所示, 控制器设计参数如表 2所示.
![]() |
表 1 控制系统模型参数 Table 1 Parameters of Control system model |
![]() |
表 2 控制器设计参数 Table 2 Design parameters of control strategy |
采用轨迹跟踪的最大误差值和均方根误差值两个性能指标来定量描述轨迹跟踪效果, 性能指标定义如下.
1) 最大轨迹跟踪误差为
$ {e_{\rm{m}}} = max{\left\{ {|{z_1}|} \right\}_{{T_{\rm{f}}} - 10 \le t \le {T_{\rm{f}}}}}. $ |
2) 轨迹跟踪均方根误差||e||rms为
$ \parallel e{\parallel _{{\rm{rms}}}} = \sqrt {\frac{1}{{10}}\smallint _{_{{T_{{\rm{f}} - 10}}}}^{^{{T_{\rm{f}}}}}z_{_1}^{^2}{\rm{d}}t} . $ |
在上位机软件中发送测试信号, DSP控制器接收轨迹信号并跟踪, 轨迹跟踪信号包括标准的正弦信号、斜坡信号以及借助示教器编程的随机信号.实验中能够实时观察到跟踪3-RPS平台误差和控制器内部状态参数, 考虑构成平台的三支气缸的控制精度几乎相一致, 实验结果以其中一个气缸显示;开展以下测试.
1) 控制性能测试.如图 8所示为控制器跟踪周期为3 s、幅值为180 mm的标准正弦信号xd=0.09sin (2πt/3)+0.1(m)时的效果, 控制量输出平稳, 控制误差逐步减小, 稳态跟踪误差幅值小于3 mm.
![]() |
图 8 正弦信号轨迹跟踪 Fig. 8 Sinusoidal trajectory tracking control |
如图 9所示为控制器跟踪斜坡信号效果, 斜坡信号斜率
![]() |
图 9 斜坡信号轨迹跟踪 Fig. 9 Trajectory tracking of ramp signal |
如图 10所示为采用针对3-RPS平台设计的示教器编程后的轨迹跟踪效果.示教器编程快速方便, 产生实际工况下的近似随机信号, 轨迹跟踪最大误差为5.1 mm, 跟踪效果较好.
![]() |
图 10 示教器编程信号轨迹跟踪 Fig. 10 Trajectory tracking of teaching programming signal |
为了进一步充分测试控制器的性能, 补充测试表 3所示的实验信号, 相对误差||e||rms/Am常用作控制器性能的评估指标, 其中Am为轨迹跟踪信号的幅值.图 4的测试结果表明, ARC控制器取得满意的控制效果, 当跟踪轨迹峰峰值小于180 mm、频率小于0.5 Hz时, 控制精度在5%内;随着信号频率或斜率的增大, 由于可能受到气源供气量、系统响应速度的限制, 此时控制误差明显增大.
![]() |
表 3 不同轨迹信号下的控制效果 Table 3 Control effect under different trajectory tracking |
在跟踪信号xd=0.09sin(πt)+0.1(m)时, 气缸的状态变量x3、x4——两腔的压力信号的变化及控制输入量的变化如图 11所示, 验证了软件的通信功能完好.
![]() |
图 11 系统压力pa,pb与控制量输入 Fig. 11 System pressure pa, pb and control input |
2) 在线参数估计.跟踪信号xd=0.09sin(πt)+0.1(m)时,ARC控制器参数估计过程如图 12所示.在满足参数估计的激励条件时, 参数估计平稳且收敛, 估计值趋于真值, 跟踪误差也同步减小, 如图 8所示, 控制误差在参数估计的作用下逐步减小.
![]() |
图 12 参数估计过程 Fig. 12 Parameter estimation process |
3) 实时性测试.气动伺服DSP控制器ARC控制算法, 集成裸机驱动程序和嵌入式软件, 在Debug模式下把程序下载到RAM中运行, 调节定时器周期, 单缸的ARC控制器及CAN总线通信运行耗时约为0.6 ms, 三轴ARC控制器的策略运算周期耗时在1 ms内, 达到了实时性指标.
5 结语本文设计并实现了比例方向阀控有杆气缸的单缸自适应鲁棒控制策略, 采用对比例方向阀实验建模、简化的气缸模型与在线参数辨识相结合的方式来较准确描述控制系统模型.实验表明, 在线参数估计算法收敛, 有效抵抗了系统参数不确定性和未建模干扰的影响, 提高了稳态跟踪精度, 实现了当跟踪轨迹峰峰值小于180 mm, 频率小于0.5 Hz时, 控制误差在5%以内, 是同类型嵌入式气动伺服控制器中的高精度研究成果.
此外, 课题采用基于模型的设计方法生成DSP控制器嵌入式软件有效快速, 效率较高, 达到了控制策略运算周期小于1 ms的实时性;配合开发的功能较完善上位机监控软件及示教器编程设备, 方便了控制器的编程和监控, 扩宽了DSP控制器应用.
总体来看, 控制器稳态控制精度较高, 但自适应估计的参数收敛时间稍长, 参数估计算法可以进一步改进;针对3-RPS平台多缸协同工作, 考虑轴间的动力学耦合关系, 有望进一步提高轨迹跟踪精度.
[1] | 陶国良, 刘昊. 气动电子技术[M]. 北京: 机械工业出版社, 2014. |
[2] |
陶国良, 左赫, 刘昊. 气动肌肉-气缸并联平台结构设计及位姿控制[J].
浙江大学学报:工学版, 2015(05): 821–828.
TAO Guo-liang, ZUO He, LIU Hao. Structure design and motion control of parallel platform driven by pneumatic muscles and air cylinder[J]. Journal of Zhejiang University: Engineering Science Edition, 2015(05): 821–828. |
[3] | GROSS D C, RATTON K S. A feedforward MNN controller for pneumatic cylinder trajectory tracking control[C]//Neural Networks. Houston: IEEE, 1997:794-799. |
[4] |
朱春波, 包钢, 聂伯勋, 等. 用于气动伺服系统的自适应神经模糊控制器[J].
机械工程学报, 2001(10): 79–82.
ZHU Chun-bo, BAO Gang, NIE Bo-xun, et al. Adaptive neuro fuzzy controller for pneumatic servo system[J]. Journal of Mechanical Engineering, 2001(10): 79–82. DOI:10.3321/j.issn:0577-6686.2001.10.017 |
[5] | ZHU X C, YAO B, TAO G L, et al. Adaptive robust synchronous control of a individual metering dual-cylinder pneumatic system with composite parallel method[C]// Advanced Intelligent Mechatronics (AIM). Besacon: IEEE, 2014: 304-309. |
[6] |
左赫. 气缸-气动肌肉并联平台位姿控制研究[D]. 杭州: 浙江大学, 2015.
ZUO He. Research on position and attitude control of pneumatic muscle parallel platform[D]. Hangzhou: Zhejiang University, 2015. |
[7] | GIRIN A, PLESTAN F, BRUN X, et al. High-order sliding-mode controllers of an electro pneumatic actuator: application to an aeronautic benchmark[J]. Control Systems Technology, 2009, 17(3): 633–645. DOI:10.1109/TCST.2008.2002950 |
[8] | FESTO. Axis controller SPC200[EB/OL]. [2016-03-20]. https://www.festo.com.cn/net/SupportPortal/Files/137760/SPC200_EN.pdf. |
[9] | ATOS. 数字电液器件[EB/OL]. [2016-01-10]. https://www.atos.com/english/components_digital_electrohydraulics.html. |
[10] |
李阳阳. 基于DSP的电液伺服嵌入式控制器[D]. 哈尔滨: 哈尔滨工业大学, 2007.
LI Yang-yang. Embedded DSP controller of electro hydraulic servo system[D]. Harbin: Harbin Institute of Technology, 2007. |
[11] |
杨韧. 基于DSP和FPGA的液压伺服控制器的研究开发[D]. 洛阳: 河南科技大学, 2012.
YANG Ren. Research and development of hydraulic servo controller based on DSP and FPGA[D]. Luoyang: Henan University of Science and Technology, 2012. |
[12] | FEN Z, QIU M. Design and implementation of self-validating pneumatic actuator hardware system based on DSP and MCU[J]. International Journal of Hybrid Information Technology, 2014(6): 101–114. |
[13] | WANG M, LEE J, HUANG C. DSP-based controller design of an XY-table and its application to virtual fishing system[J]. Asian Journal of Control, 2007, 9(3): 232–241. |
[14] | SHANG C, TAO G L, ZUO H, et al. Modeling and adaptive robust posture control of 3-RPS pneumatic parallel platform[C]//Proceedings of the ASME 2015 International Design Engineering Technical Conferences and Computers and Information in Engineering Conference. Boston: ASME, 2015. |
[15] | MENG D Y, TAO G L, ZHU X C. Adaptive robust motion trajectory tracking control of pneumatic cylinders[J]. Journal of Central South University, 2013, 20(12): 3445–3460. DOI:10.1007/s11771-013-1869-0 |
[16] | CARNEIRO J F, ALMEIDA F G. Reduced-order thermodynamic models for servo-pneumatic actuator chambers[J]. Proceedings of the Institution of Mechanical Engineers. Part Ⅰ: Journal of Systems and Control Engineering, 2006(4): 301–314. |
[17] | YAO B, FANPING B J R, et al. Adaptive robust motion control of single-rod hydraulic actuators: theory and experiments[J]. IEEE/ASME Transactions on Mechatronics, 2000, 5(1): 79–91. DOI:10.1109/3516.828592 |
[18] | 刘杰. 基于模型的设计及其嵌入式实现[M]. 北京: 北京航空航天大学出版社, 2010. |