Feature Line Extraction from 3D Model of Oblique Photogrammetry Based on Multi-Objective Weighted Shortest Path
-
摘要: 针对倾斜摄影测量三维重建得到的三维模型在地物拐角棱线处结构粗糙、噪声较大、规则性缺失,难以快速准确提取出理想特征线的难题,提出一种基于多目标加权最短路径的特征线提取方法. 首先对模型进行预处理,使模型具有完整、连续的拓扑结构,并将模型以有向图结构进行组织;其次顾及距离、方向和三角网变化趋势计算权重,约束迪杰斯特拉算法获取最短路径得到特征线;最后,为了修复模型特征不明显的棱线区域,设计了一种棱线修复算法. 研究结果表明:与交互式方法对比,本文方法效率高,只需选取两个特征点指定目标,同时提取结果不依赖人工经验,客观性强;与基于边和面的自动提取方法相比,本文方法受噪声影响小,能在简单交互下提取到指定特征线.Abstract: Oblique photogrammetry 3D models suffer from coarse structure, high noise and regularity deficiency in corner or ridge regions, which make it difficult to extract feature lines quickly and accurately from these regions. To deal with this problem, a method of feature line extraction from 3D model of photogrammetry based on multi-objective weighted shortest path is proposed. First, the model is pre-processed to build a complete and continuous topological structure, and organized as a weighted directed graph. Then, considering the distance, direction and the change trend of the triangulation, the weights are calculated; the Dijkstra algorithm is constrained to obtain the shortest path to get the feature lines. Finally, using the feature line extraction results, a method is proposed to repair the regions without distinct features. Results show that compared with the interactive method, the proposed method is efficient and only need select two feature points to specify the target. At the same time, the extraction results do not rely on artificial experience and are highly objective. Compared with the automatic extraction method based on edges and faces, this method is less affected by noise, and can extract the specified feature line under simple interaction.
-
Key words:
- 3D model /
- photogrammetry /
- feature extraction /
- directed graphs /
- shortest path
-
磁浮列车因其无接触运行、爬坡能力强、噪声小等优点得到了研究人员的广泛关注. 但是悬浮系统的敏感性、开环不稳定性和非线性给控制器的设计带来很大挑战[1]. 控制器的指令响应速度与闭环鲁棒性相互矛盾,需要权衡两者的关系[2].
消除悬浮架撞击轨道梁现象需要提高指令响应速度;当列车运行在不平顺的轨道梁上或停车上下客时,会影响稳定悬浮,从而需要增加控制系统的鲁棒性. 但提高指令响应速度与增加系统的闭环鲁棒性两者相互矛盾,因为线路情况多变并且环境较为恶劣[3],提升算法鲁棒性显得更为重要[4-5].
针对文献[6]提出的悬浮控制器,其非线性、模型不确定性和轨道不平顺产生的干扰力被视为对简化线性模型的扰动,通常采用扩张状态观测器观测和抑制扰动[7-9],并采用反馈控制实现对期望间隙的跟踪,但是其算法的反馈系数是固定的,影响了列车对不同线路的适应能力. 针对多变的运行工况,文献[10]提出一种实用的变结构滑模控制算法,但滑模控制在系统达到滑模面附近有颤振现象,易导致悬浮架紧固件松动,增加检修工作量;文献[11]提出一种神经网络自适应控制算法应对车体质量变化的影响.
变化的工况使得磁浮列车传递函数具有不确定性,需要对所受干扰力进行实时参数估计和补偿[5]. 定参数控制很难适应这种状态,每隔一段时间都需要针对现场运营状态重新调整以控制参数[12].
当被控对象结构已知,且参数变化不大时,模型参考自适应(MRAC)控制是提高跟踪精度的一个很好的选择[13-14],算法的稳态误差较小[15]. 本文以中低速磁浮列车为对象,基于MRAC控制器需要固定的参数少,相同的代码可以适应不同线路的特点[6],开展自学习模型参考自适应(SMRAC)悬浮控制策略研究. 为维持稳定悬浮效果,对微分信号加入了限幅,并将学习率与参数稳定值联系起来,悬浮过程采用变步长迭代. 通过李雅普诺夫稳定性判据证明了控制器的稳定性,通过仿真和实验验证所设计的控制器在大误差时有较快的跟踪性能. 仿真和实验表明,与比例-积分-微分(PID)算法和线性二次型调节器(LQR)算法[16]相比,所提出的自学习模型参考自适应控制算法能够适应不同的线路工况,且稳定时的悬浮间隙波动更小.
1. 列车电磁悬浮模型
中低速磁悬浮列车中一个悬浮架上有8个电磁铁,分为4组,每组2个电磁铁形成一个控制点,如图1所示. 控制器独立控制电磁铁的电流,有独立的传感器测量电流、间隙和加速度,悬浮架结构左右互相悬吊,控制点之间相互解耦. 车体载荷由空气弹簧传递至悬浮架上;悬浮架由电磁铁产生的电磁力吸附轨道实现悬浮;位移加速度传感器安装在电磁铁端部,测量悬浮间隙和电磁铁加速度;电流传感器测量电磁铁线圈电流. 根据间隙传感器输出值计算出目标电流,通过电流传感器的输出值动态调节线圈电流[4],使列车在运行中悬浮架与F轨保持名义悬浮间隙[17].
电磁铁控制电路如图2所示,图中:L为电感;R为电磁铁电阻;IGBT为绝缘栅双极型晶体管. 由控制器产生的脉冲宽度调制波形(PWM)控制通断,驱动电压为DC 330 V.
对于电磁力的计算[18]有
F=μ0N2S4(ix)2, (1) 式中:N为电磁铁线圈的匝数;S为电磁铁极板正对面积;µ0为真空磁导率;x为极板与F轨的距离.
磁悬浮系统的非线性控制模型为
m¨x=−F(x,i)+mg+f, (2) 式中:g为重力加速度;m为一个悬浮控制点承担的等效质量;f为轨道不平顺及传感器噪声带来的干扰力.
电感量L随间隙的变化为
L=μ0N2S2x. (3) 电磁铁两端的电压u与电流i的关系为
u=Ri+ddt(Li)=Ri+μ0N2S2x˙i−μ0N2Si2x2˙x. (4) 为了简化控制问题,目前稳定控制器经典的设计方法是将系统视为基于给定名义工作点(x0,i0)附近的小扰动线性模型[6],其泰勒级数展开式为
F(x,i)=F(x0,i0)+∂F(x,i)∂i|(x0,i0)(i−i0)+∂F(x,i)∂x|(x0,i0)(x−x0)+o=F(x0,i0)+μ0N2i0S2x20(i−i0)−μ0N2i20S2x30(x−x0)+o=mg+μ0N2i0S2x20i−μ0N2i20S2x30x+o, (5) 式中:o为$F(x,i)$的高阶项.
将式(5)代入式(2),有
m¨x=μ0N2i20S2x30x−μ0N2i0S2x20i+f+o. (6) 进而得到电磁铁的状态方程[19]如式(7). 实际控制系统中,加速度中的干扰力和高阶项在仿真时用噪声信号代替.
{˙x1=x2,˙x2=−μ0N2S4m(x3x1)2+g,˙x3=x2x3x1+2x1μ0N2S(u−x3R,)y=x1, (7) 式中:x1=x;x2=v(速度);x3=i.
2. 模型参考自适应控制器
2.1 模型参考自适应控制
被控对象状态方程可以简化为
{˙x=Ax+Bu,y=Cx+Du, (8) 式中:${\boldsymbol{A}}{\rm{ = }}\left[ {010μ0N2Si202mx300−μ0N2Si02mx200i0x0−2Rx0μ0N2S
} \right] $;${\boldsymbol{B}}{\rm{ = }}\left[ {002x0μ0N2S} \right] $;${\boldsymbol{C}} = [ {100} ] $;${\boldsymbol{D}} = [ 0 ] $;x = [x1 x2 x3]T.设定参考模型的状态方程为
{˙x=Amx+Bmyr,y=Cmx+Dmyr, (9) 式中:${{\boldsymbol{A}}_m} = \left[ {010−101−ω2ms0−ω2m−2ζmωms0−s0−2ζmωm
} \right]$,${\omega _{\rm{m}}}$为参考模型的自然角频率,${\zeta _{\rm{m}}}$为阻尼比(取${\zeta _{\rm{m}}} \geqslant 1$以保证系统稳定),$ {s_0} $为参考模型的实数极点;$ {{\boldsymbol{B}}_{\rm{m}}} = {\left[ {00ω2ms0} \right]^{\rm{T}}} $;$ {{\boldsymbol{C}}_{\rm{m}}} = [ {100} ] $;$ {{\boldsymbol{D}}_{\rm{m}}} = [0] $;yr为参考输入;xm为参考模型.转化为具体的传递函数后,整个系统连接如图3所示[6],图3中:$ {{\boldsymbol{K}}_{\boldsymbol{x}}} $为对应被控对象x的可调参数;kr为对应参考输入yr的可调参数.
控制器的输出可表示为
u=Kxx+kryr. (10) 控制器与被控对象组成的闭环系统最终应当与参考模型一致,设定可调参数的误差值${{\boldsymbol{\tilde K}}_{\boldsymbol{x}}}(t){\rm{ = }} {{\boldsymbol{K}}_{\boldsymbol{x}}}(t) - {\boldsymbol{K}}_{\boldsymbol{x}}^*$,${\tilde k_{\rm{r}}}(t) = {k_{\rm{r}}}(t) - $$k_{\rm{r}}^*$. 其中:$ {{\boldsymbol{\tilde K}}_{\boldsymbol{x}}} $为$ {{\boldsymbol{K}}_{\boldsymbol{x}}} $的误差值;${\tilde k_{\rm{r}}}$为${k_{\rm{r}}}$的误差值;t为时间;${\boldsymbol{K}}_{\boldsymbol{x}}^* $和$k_r^* $分别为${{\boldsymbol{K}}_{\boldsymbol{x}}}(t) $和${k_r}(t) $稳定后的数值,${\boldsymbol{K}}_{\boldsymbol{x}}^*{\rm{ = }}\left[ {k∗x1k∗x2k∗x3
} \right] $;Kx = [kx1 kx2 kx3]. 当参数达到稳定时,有$ {\boldsymbol{A}} + {\boldsymbol{B}}{\boldsymbol{K}}_{\boldsymbol{x}}^*{\text{ = }}{{\boldsymbol{A}}_{\rm{m}}} $,${\boldsymbol{B}}k_{\rm{r}}^*{\text{ = }}{{\boldsymbol{B}}_{\rm{m}}}$.对于控制器和被控对象组成的状态方程有
˙x=Ax+Bu=(A+BKx)x+Bkryr=(A+BK∗x+B˜Kx)x+B(k∗r+˜kr)yr=(Am+B˜Kx)x+Bmyr+B˜kryr. (11) 设定参考模型和被控对象的误差为
e=xm−x. (12) 对误差求导得到:
˙e=˙xm−˙x=Am(xm−x)+Bmyr+Amx−(A+BKx)x−Bkryr=Ame−B˜Kxx−B˜kryr. (13) 设定一个满足李雅普诺夫函数的方程为
V(e,˜Kx,˜kr)=eTPe+˜KxΓ−1x˜KTx+˜k2rγr, (14) 式中:${\boldsymbol{\varGamma }}_{ \boldsymbol{x}}$为矩阵${{{\tilde {\boldsymbol{K}}}}_{\boldsymbol{x}}}$的学习率;P为待求矩阵;$ {\gamma _{\rm{r}}} $为$ {\tilde k_{\rm{r}}} $的学习率.
为求解李雅普诺夫方程,引入对称矩阵P=PT,并且有
ATmP+PAm=−Q, (15) 式中:Q为正定矩阵.
对式(14)求导,代入式(13)可得:
˙V(e,˜Kx,˜kr)=−eTQe+2eTP(−B˜Kxx−B˜kryr) + 2˜KxΓ−1x˙˜KTx + 2˜kr˙˜krγr. (16) 因为$ {{\boldsymbol{e}}^{\text{T}}}{\boldsymbol{PB}} $的计算结果为标量,有$2{{\boldsymbol{e}}^{\text{T}}}{\boldsymbol{PB}}{{{\tilde {\boldsymbol{K}}}}_{\boldsymbol{x}}}{\boldsymbol{x}}{\text{ = }}$$2{{{\tilde {\boldsymbol{K}}}}_{\boldsymbol{x}}}{\boldsymbol{x}}{{\boldsymbol{e}}^{\text{T}}}{\boldsymbol{PB}}$,则式(16)可以改写为
˙V(e,˜Kx,˜kr)=−eTQe+2˜Kx(−xeTPB+Γ−1x˙˜KTx)+2kr(−eTPByr+˙˜krγr). (17) 为了使$\dot V\left( {{\boldsymbol{e}},{{{{\tilde {\boldsymbol{K}}}}}_{\boldsymbol{x}}},{{\tilde k}_{\rm{r}}}} \right) \leqslant 0$,对于自适应律应当满足
{˙˜KTx = ΓxxeTPB,˙˜kr = γreTPByr. (18) 可调参数学习率矩阵展开为
Γx = [γx1000γx2000γx3]. (19) 则式(17)可以写为
˙V(e,˜Kx,˜kr)=−eTQe⩽−λmin(Q)‖e‖2⩽0. (20) 因为$\dot V\left( {{\boldsymbol{e}},{{{{\tilde {\boldsymbol{K}}}}}_{\boldsymbol{x}}},{{\tilde k}_{\rm{r}}}} \right) \leqslant 0$,所以${\boldsymbol{e}}\left(t\right)、{{\boldsymbol{K}}}_{{\boldsymbol{x}}}\left(t\right)和{k}_{{\rm{r}}}\left(t\right)$是有界的.
对李雅普诺夫函数求2阶导可得
¨V(e,˜Kx,˜kr)=−˙eTQe−eTQ˙e=−eT(QAm+ATmQ)e−2eTQ(Ame−B˜Kxx−B˜kryr). (21) 根据Barbalat引理,$\dot V\left( {{\boldsymbol{e}},{{{{\tilde {\boldsymbol{K}}}}}_{\boldsymbol{x}}},{{\tilde k}_r}} \right) \to 0$,误差矩阵e渐进稳定,所以该算法控制器和被控对象组成的整体结构最终会与参考模型一致.
2.2 自学习模型参考自适应控制
学习率越大,可调参数每次的变化量越小,跟踪速度越快,迭代越精确,越有利于提高响应速度,适合稳定悬浮时应对轨道不平顺及上下坡造成的干扰. 初始悬浮时,因为悬浮间隙有较大变化,应当降低学习率以提升响应速度. 为此,提出根据参数的最终稳定值动态调整学习率的方案,如式(22).
{˙˜KTx=ΓxxeTPB(ym−y)−l|ym−y|,˙˜kr=γreTPByr(ym−y)−l|ym−y|, (22) 式中:l为学习率的下降速率.
为对比模型参考自适应控制和自学习模型参考自适应控制效果,引入PID控制和LQR控制.
2.3 PID控制
PID控制的输出可以表示为[20]
u=kp(gap−ym)+ki∫(gap−ym)dt+kd∫accdt+kaacc, (23) 式中:kp、ki、kd分别为误差的比例、积分和微分项系数;ka为误差的高阶影响系数;gap为间隙传感器检测值,具有较好的低频性能;acc为加速度传感器检测值,具有较好的高频性能,gap和acc综合作用可互补控制器的频率特性.
2.4 LQR控制
LQR控制器具有较强的鲁棒性和动态特性,计算后的控制参数能使系统达到预想状态[21].
设定系统的性能指标函数为
J=12∫t0(xTQLx+uTLRuL)dt, (24) 式中:QL为半正定矩阵;R为正定矩阵;uL为控制器的输出函数,如式(25).
uL=−R−1BPLx, (25) 式中:PL为正定矩阵,且PL满足黎卡提矩阵代数方程
−PLA+ATPL+PLBR−1BTPL−QL=0. (26) 最优反馈增益k为
k=−R−1BPL. (27) 3. 仿真结果与分析
通过在实验基地对悬浮架进行调试实验得到以下仿真、测试结果,为更好地了解SMRAC算法的优越性,加入了PID、LQR、MRAC算法作为对比.
3.1 仿真参数设定
表1为悬浮架主要参数,为尽可能与实际情况相符,需要代入到电磁悬浮模型中.
表 1 悬浮架参数Table 1. Parameters of levitation frame参 数 数 值 等效质量/kg 510 电磁铁等效内阻/Ω 0.98 电磁铁等效电感/mH 36 电磁铁匝数 N 640 正对横截面积/m2 0.078 4 真空磁导率/(H·m−1) 4π × 10−7 为衡量各算法控制效果,引入EITAE(t)用于描述误差积分的时间历程,如式(28).
EITAE(t)=∫t0τ|e(τ)|dτ, (28) 式中:${e(\tau )} $为时刻τ目标值与当前值的误差.
为衡量全局误差大小,引入EIAE(t),如式(29).
EIAE(t)=∫t0|e(τ)|dτ. (29) 用ERMSE(t)衡量全程算法的波动,波动越小最终计算值越小,计算方式为
ERMSE(t)=√1t∫t0e2(τ)dτ. (30) 对于误差的计算,为能准确衡量算法性能,没有将起浮和降落阶段纳入计算范围,悬浮指标应当满足超调量$\sigma \leqslant 5{\text{%}} $,${t_{\rm{s}}} \leqslant $1 s(ts为调节时间,表示间隙到达并保持在目标间隙5%误差带内所需时间). 所以,设计的参考模型参数为${\omega _{\rm{m}}} = 31.62$,${\xi _{\rm{m}}} = 11.06$,$ {s_0} $=100. 为了简化运算,Q设定为单位矩阵I,代入式(15)可求得
P=[−250621051100100−40050092002400601200200−40050092002−160610951100100−500501200200400601200200−500501200200−400401200200]. (31) 将式(31)代入式(18)中,得到迭代公式为
{˙˜kx1=(0.84e1−1.05e2−0.84e3)x1,˙˜kx2=(0.84e1−1.05e2−0.84e3)x2,˙˜kx3=(0.84e1−1.05e2−0.84e3)x3,˙˜kr=(0.84e1−1.05e2−0.84e3)yr. (32) 根据表1计算出可调参数矩阵代入方程(18)得到理想值为$ k_{x1}^* = - 0.16 $,$ k_{x2}^* = 0.2 $,$ k_{x3}^* = 0.2 $,$k_r^*{\rm{ = }} {\mu _0}{N^2}S\omega _{\rm{m}}^2{s_0}/\left( {2x_0^{}} \right){\rm{ = }}0.125 $.
根据经验,PID控制方法的系数取值ki=300,kp=300,kd=20,ka=2,LQR的参数取值为
QL = [1000010000.5],R=I. 3.2 4种算法仿真结果分析
采用前述4种控制算法对一个包含起浮、悬浮和降落3个阶段的完整悬浮过程进行仿真计算,结果如图4所示. 其中,SMRAC 2采用SMRAC算法,但是可调参数设定为最终的稳定值. 计算中,设置t=1 s时发送起浮指令,t=25 s时发送降落指令,起浮和降落阶段的间隙变化采用过阻尼. 计算结果取悬浮阶段的数据进行分析.
图4显示:从起浮到降落的全过程中,4种控制算法都能很好地跟踪参考信号. 各种算法性能对比如表2中“正常悬浮”一栏所示;不同算法上升时间和调节时间对比如表3所示,上升时间tr表示调节量从10%到90%所用的时间.
表 2 仿真中不同参考信号算法误差的对比Table 2. Comparison of reference signal errors of different algorithms in simulation参考信号
控制器正常悬浮 方波信号 正弦信号 EITAE EIAE ERMSE EITAE EI AE ERMSE EITAE EIAE ERMSE PID 38.67 3.82 0.24 38.68 3.82 0.24 38.68 3.82 0.24 LQR 51.20 5.10 0.28 51.44 5.12 0.28 51.43 5.11 0.28 MRAC 16.72 1.69 0.11 34.34 3.3 0.22 164.78 16.44 0.92 SMRAC 19.51 1.97 0.12 43.23 4.28 0.27 128.23 13.37 0.76 由图4和表2可知:t=5~25 s范围,PID算法能很好地跟踪参考信号,但间隙波动最大,对噪声抑制能力差;LQR算法波动较小,但是稳态误差最大;MRAC算法能完全跟踪参考输入,对噪声抑制性能好;SMRAC算法通过调整学习率,增大了上升时间和调节时间,但是提升了舒适度和系统的鲁棒性.
表 3 仿真中不同算法上升时间和调节时间对比Table 3. Comparison of rising time and adjustment time of different algorithms in simulations 控制算法 上升时间 调节时间 PID 1.57 2.03 LQR 1.40 1.71 MRAC 1.57 2.03 SMRAC 1.02 1.41 MRAC和SMRAC的kx1、kx2、kx3和kr变化如图5(a)所示. 由图5(a)可知:由于干扰很强,误差的微分很难收敛,需要对kx2限幅才会使系统稳定,kx1和kr能最终收敛;由于SMRAC的kx2能更快达到收敛,所以SMRAC控制能更快实现稳定悬浮.
SMRAC不同初值可调参数变化对比如图5(b)所示,实线表示未设定初值的可调参数变化,虚线表示在正常悬浮时设定合适初值的可调参数变化. 由图5(b)可知,设定合适初值后,kx1、kx2、kx3和kr变化可以忽略,系统一直处于稳定状态直至降落.
4种算法的仿真跟踪误差变化如图6所示. 由图6可知:在悬浮阶段,MRAC和SMRAC算法误差最小;但在起浮和降落阶段,MRAC和SMRAC算法因为有学习过程,误差较其他算法明显增大.
在运营线路中,轨道紧固件可能出现松动,低速跨越不同轨道时间隙会有突变,为了模拟该工况,在悬浮阶段加入0.125 Hz的方波激励,幅度变化为3 mm,目标间隙(REF)在8 mm和10 mm间交替变化. 4种算法得到的间隙变化如图7所示,性能对比如表2中“方波信号”一栏所示. 由图7和表2可知:t=5~25 s范围,MRAC、SMRAC需要0.50 s的调节时间才能跟踪参考输入信号,这导致与参考间隙有很大的误差;PID和LQR跟随性能较好,但是PID算法间隙波动较大,LQR算法稳态误差较大.
为了测试不同算法的动态跟踪性能,在悬浮阶段加入${y_{\rm{r}}}(t) = 8.5 + 2\sin (3{\text{π}}t)$的正弦激励,4种算法得到的间隙变化如图8所示,性能对比如表2中“正弦信号”一栏所示. 由图8和表2可知:t=5~25 s范围,MRAC、SMRAC在可调参数收敛后与参考间隙有一定的相位差,这是由参考模型的传递函数决定的;PID和LQR没有学习过程,但是PID算法稳定时间隙波动较大,LQR算法的稳态误差较大.
为验证算法的鲁棒性,将被控对象质量增大为原来的3倍[18],控制器的其余参数保持不变,得到的波形如图9所示. 由图9可知:悬浮架质量变为3倍后,MRAC 和 SMRAC波动变大,但LQR 和 PID波动更为明显;MRAC 和 SMRAC 算法产生的间隙波动范围显著小于 LQR 和 PID 算法的间隙变化,说明 MRAC和 SMRAC 算法具有良好的鲁棒性.
质量变为3倍后不同算法性能对比如表4所示,上升时间和调节时间对比如表5所示. 由表4、5可知,MRAC和SMRAC的误差比PID和LQR更小,而SMRAC增加了上升时间和调节时间,即使在重载情况下也能提升舒适度.
表 4 悬浮架质量变为 3 倍后不同算法的误差对比Table 4. Comparison of different algorithms after mass increase by three times控制算法 PID LQR MRAC SMRAC EITAE 35.10 51.07 26.55 57.22 EIAE 3.54 5.09 2.70 7.23 ERMSE 0.22 0.28 0.17 0.45 表 5 质量增加3倍后不同算法的上升时间和调节时间Table 5. Rising time and adjustment time of different algorithms after mass increase by three timess 控制算法 上升时间 调节时间 PID 1.84 2.02 LQR 1.57 2.02 MRAC 1.37 1.74 SMRAC 1.57 1.78 图10为悬浮架质量突变间隙仿真.
当正常悬浮时,在t=15 s时质量突然变为初始值的3倍,以此验证控制算法的鲁棒性,可以看出:PID算法和LQR算法在质量突变的时刻间隙有很大的跳变,出现打轨的现象;PID算法在稳定后依旧有很大的波动,LQR算法的稳态误差在质量变化后更大;MRAC算法在仿真时可调参数和微分后的信号未做限幅,在质量突变之后微分值很大,导致悬浮架无法稳定悬浮;相比之下SMRAC算法能够较好地跟踪输入信号,稳定时间隙波动也更小.
3.3 单悬浮架悬浮实测
对本文所提算法,利用如图11所示的单悬浮架实验平台开展实验验证. 控制系统采用基于TMS320F28379D和FPGA的自制板卡,上位机安装有MATLAB/Simulink,通过CAN网络解析控制器回传的传感器信息.
在单悬浮架台架实验中,MRAC和SMRAC引入的系统状态包括间隙和加速度,设
{x1=gap,x2=∫accdt,x3=cur, (33) 式中:cur为读取的电流数据,降落状态下的间隙为13.69 mm.
单悬浮架实测数据性能对比如表6所示,实测不同算法的上升时间和调节时间对比如表7所示,间隙变化如图12所示,电流变化如图13所示.
表 6 实测中不同算法的性能对比Table 6. Comparison of performance indexes in experiment控制算法 EITAE EIAE ERMSE PID 57.57 3.38 0.16 LQR 83.72 4.82 0.19 MRAC 79.78 4.13 0.22 SMRAC 77.15 4.15 0.21 表 7 实测中不同算法的上升时间和调节时间Table 7. Rising time and adjustment time of different algorithms in experiments 控制算法 上升时间 调节时间 PID 2.20 2.80 LQR 1.41 1.70 MRAC 1.47 2.06 SMRAC 1.21 2.04 结果表明:SMRAC由于在输出时引入了加速度反馈,稳定时间有所增加,但是稳定时波动最小,没有超调,降落时跟踪性能也较好;4种算法电流值相差不大,说明控制算法并不能降低能耗,但是SMRAC在悬浮过程中能动态调整学习率,控制器性能更好.
4. 结 论
本文提出的自学习模型参考自适应控制器与其他控制算法相比,具有较短的调节时间,较小的波动,且正常悬浮时有较强的鲁棒性.
在设置合理学习率的前提下,所提算法可将基于运行状态可调参数向趋于稳定的状态调整,学习率过大,收敛时间长,学习率过小,达到平衡时的波动大. 由于本文提出的算法所需要的固定参数少,在实际调试中很快就能使系统稳定,提高了控制器的适用范围.
-
-
李德仁,邵振峰,杨小敏. 从数字城市到智慧城市的理论与实践[J]. 地理空间信息,2011,9(6): 1-5.LI Deren, SHAO Zhenfeng, YANG Xiaomin. Theory and practice from digital city to smart city[J]. Geospatial Information, 2011, 9(6): 1-5. 朱庆. 三维GIS及其在智慧城市中的应用[J]. 地球信息科学学报,2014,16(2): 151-157.ZHU Qing. Full three-dimensional GIS and its key roles in smart city[J]. Journal of Geo-information Science, 2014, 16(2): 151-157. GUO X, XIAO J, WANG Y. A survey on algorithms of hole filling in 3D surface reconstruction[J]. The Visual Computer, 2018, 34(1): 93-103. doi: 10.1007/s00371-016-1316-y PHAN T. A triangle mesh-based corner detection algorithm for catadioptric images[J]. Imaging Science Journal, 2017(5): 1-11. 王钦瑞,张应中,罗晓芳. 综合平均曲率与网格边的特征线提取方法[J]. 计算机应用与软件,2017,34(1): 236-240.WANG Qingrui, ZHANG Yingzhong, LUO Xiaofang. A feature line extraction method combining mean curvature with mesh edges[J]. Computer Applications and Software, 2017, 34(1): 236-240. 胡事民,杨永亮,来煜坤. 数字几何处理研究进展[J]. 计算机学报,2009,32(8): 1451-1469.HU Shimin, YANG Yongliang, LAI Yikun. Research progress of digital geometry processing[J]. Chinese Journal of Computers, 2009, 32(8): 1451-1469. BOROUCHAKI H, VILLARD J, LAUG P, et al. Surface mesh enhancement with geometric singularities identification[J]. Computer Methods in Applied Mechanics & Engineering, 2005, 194(48/49): 4885-4894. TSUCHIE S, HIGASHI M. Extraction of surface-feature lines on meshes using normal tensor framework[J]. Computer-Aided Design and Applications, 2014, 2(11): 172-181. SHAH S, BENNAMOUN M, BOUSSAID F, et al. Evolutionary feature learning for 3-D object recognition[J]. Browse Journals & Magazines, 2017, 99: 2434-2444. OHTAKE Y, BELYAEV A, SEIDEL H P. Ridge-valley lines on meshes via implicit surface fitting[J]. ACM Transactions on Graphics, 2004, 23(3): 609-612. KESSENICH J, SELLERS G, SHREINER D. OpenGL programming guide[M]. 9th Edition. Boston: Addison-Wesley, 2016: 108-151. 戴宁,廖和文,陈春美. STL数据快速拓扑重建关键算法[J]. 计算机辅助设计与图形学学报,2005,17(11): 2447-2452.DAI Ning, LIAO Hewen, CHEN Chunmei. Efficient algorithm of topological reconstruction for STL data[J]. Journal of Computer-Aided Design and Computer Graphics, 2005, 17(11): 2447-2452. DEROSE T. Subdivision exterior calculus for geometry processing[J]. ACM Transactions on GRAPHICS, 2016, 35(4): 133. JAIMEZ M, CASHMAN T, FITZGIBBON A, et al. An efficient background term for 3D reconstruction and tracking with smooth surface models[C]//IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Hawaii: IEEE, 2017: 7177-7185. MADKOUR A, AREF W, REHMAN F, et al. A survey of shortest-path algorithms[J]. Data Structures and Algorithms, 2017, 5: 1705-2044. GUO Y W, PENG Q S, HU G F. Smooth feature line detection for meshes[J]. Journal of Zhejiang University, 2005, 6(5): 460-468. doi: 10.1631/jzus.2005.A0460 WOOD J. The geomorphological characterisation of digital elevation models[J]. Dissertations & Theses - Gradworks, 1996, 4(13): 834-848. STYLIANOU G, FARIN G. Crest lines for surface segmentation and flattening[J]. IEEE Transactions on Visualization and Computer Graphics, 2004, 10(5): 536-544. doi: 10.1109/TVCG.2004.24 WØHLK S, LAPORTE G. Computational comparison of several greedy algorithms for the minimum cost perfect matching problem on large graphs[J]. Computers & Operations Research, 2017, 87: 107-113. DEO N. Graph theory with applications to engineering and computer science[M]. New York: Courier Dover Publications, 2017: 482-490. 陆锋. 最短路径算法:分类体系与研究进展[J]. 测绘学报,2001(3): 269-275.LU Feng. Shortest path algorithms:taxonomy and advance in research[J]. Acta Geodaetica et Cartographica Sinica, 2001(3): 269-275. FRÉDÉRIC C, MARC P. Topology driven algorithms for ridge extraction on meshes [EB/OL]. (2006-5-19)[2018-2-14]. https://hal.univ-lille3.fr/INRIA-RRRT/inria-00070481 YOSHIZAWA S, BELYAEV A, YOKOTA H, et al. Fast,robust,and faithful methods for detecting crest lines on meshes[J]. Computer Aided Geometric Design, 2008, 25(8): 545-560. -