-
摘要: 在同一迭代学习控制(Iterative learning control, ILC)系统中, 选取一个合适的初次迭代控制信号相对于从零开始学习达到目标跟踪精度的迭代次数更少.本文针对线性系统研究从历次轨迹跟踪控制信息中通过期望轨迹匹配提取初次迭代控制信号的方法.首先提出了一种轨迹基元优化匹配算法, 在满足一定相似度的情况下, 通过轨迹分割、平移与旋转变换, 在轨迹基元库中寻找与当前期望轨迹叠合的轨迹基元组合轨迹; 进而, 依据线性叠加原理和轨迹叠合的平移矢量与旋转变换矩阵, 获取与期望轨迹叠合的轨迹基元控制信号; 在此基础上, 通过轨迹基元控制信号串联组合和时间尺度变换, 提取出当前期望轨迹的初次迭代控制信号.对于初次迭代控制信号在拼接处由边界条件差异引起的干扰, 给出了一种${H_\infty }$反馈辅助ILC方法.最后, 在$XYZ$三轴运动平台实现所提算法, 实验结果表明本文所提方法的有效性.
-
关键词:
- 迭代学习控制 /
- ${H_\infty }$反馈 /
- 初次迭代控制信号 /
- 优化匹配 /
- 轨迹基元
Abstract: In the same iterative learning control (ILC) system, compared with an iterative process that starts from blind, selecting a proper initial control signal has fewer iterations to achieve the target tracking accuracy. This paper studies the method of extracting the initial iterative control signal from all previous trajectory tracking control information through matching the desired trajectory for linear systems. First, a trajectory primitive optimal matching algorithm is proposed. In the case of a given similarity index, some trajectory primitive combinations superposed on the current desired trajectory are found from the trajectory library through the trajectory segmentation, translation and rotation transformation. Further, according to the linear superposition principle, translation vectors and rotation matrices on superposing trajectory, the control signals of the trajectory primitives superimposed on the desired trajectory are acquired. By assembling the trajectory primitive control signals in series and transforming their time scales, an initial iteration control signal of the current desired trajectory is extracted. For the interference caused by the difference of the boundary condition of the initial iteration control signals at the splicing, an ${H_\infty }$ feedback assistant ILC method is presented. Finally, the proposed algorithm is implemented on the $XYZ$ triaxial motion platform, the experiment results show that the proposed method is effective.-
Key words:
- Iterative learning control /
- ${H_\infty }$ feedback /
- initial iterative control signal /
- optimal matching and combining algorithm /
- trajectory primitives
-
在迭代学习控制(Iterative learning control, ILC)系统[1]中, 初次迭代控制信号常设为零或某一常量, 而且一旦期望轨迹(或者作业任务)发生变化, 通常需要重新经历一段学习过程; 这导致在一些高精度加工作业中应用ILC需要经历较多次数的学习训练过程, 而且初次或前若干次ILC可能达不到期望加工精度要求.实际上, 数控机床加工和工业机器人作业工程中, 存在一些重复作业任务, 但更多的是一些类同或相似的作业任务(例如数控铣床加工相同类型或相似形状的零件), 如果能从相似历史作业过程的控制数据中, 提炼(或挖掘)出新作业任务的初次迭代控制信号, 将有利于减少新作业任务的学习训练次数, 甚至初次ILC就能达到期望的高精度加工要求.
目前, 针对初次迭代控制信号选取问题人们开展了一系列研究工作, Arif等[2]研究了通常被忽略的初始控制信号${u_0}$对初始迭代误差的影响, 基于以往作业经验信息和局部加权回归方法, 提出了一种估计当前作业初次迭代控制输入信号的ILC方法, 能有效降低初次迭代跟踪误差. Meng等[3]通过研究离散时间系统在随迭代而变化的随机扰动下的迭代学习控制问题, 表明跟踪误差的期望和方差的收敛在很大程度上取决于初始输入的选择.通过建立统计特征数值表达式, 讨论了初始输入对误差收敛的影响, 给出了ILC过程的渐近稳定性和单调收敛性的时域条件. Freeman等[4]提出了一种基于经验和模型, 从以往具有相同长度参考轨迹的作业控制信息中, 提取初始迭代控制信号的优化方法, 并应用于龙门架机器人的轨迹跟踪控制. Janssens等[5]针对线性时不变系统提出了一种基于以往相似参考轨迹和干扰模型的初次迭代控制量估计方法, 并应用于永磁同步直线电机的轨迹跟踪控制, 实验结果表明已学习过的轨迹与期望轨迹的相似程度决定初次迭代控制量的估计精度. Alajmi等[6]给出了一种的初次控制信号上界的奇异值性质, 构造的初次控制信号在满足上界条件下包含系统尽量多频率分量. Xu等[7-10]提出了一种直接学习控制方法, 通过寻找在幅值、时间尺度上与期望轨迹存在比例关系的轨迹, 将其控制信号进行幅值、时间尺度变换直接获得期望轨迹的控制信号. Hoelzle等[11]提出了一种基于基本任务的ILC方法, 将新作业任务表示为一系列基本任务的串联组合, 通过对基本任务进行迭代学习训练获取相应的控制信号, 再由基本任务的控制信号组合成新作业任务的初次迭代控制信号. Hoelzle等[11]指出由一系列经训练的基本任务串联组合而成的跟踪轨迹在基本任务交接处存在的跳变控制信号将导致跟踪性能下降, 采用多项式线性插值的无扰切换方式能减少跟踪性能损失, 实验结果表明经过无扰切换的基于任务ILC初次迭代跟踪一条未经训练轨迹超过采用传统ILC迭代11次的跟踪精度.
这类研究从挖掘适合当前作业的初次控制信号出发, 试图提高初次迭代控制精度和减少达到目标跟踪精度要求的迭代学习次数, 尤其基于基本任务的ILC方法为解决作业任务变化情况下的ILC问题提供了一种新的思路, 但针对一个新任务如何确定由哪些基本任务组合而成, 作业任务相似性数学描述、分析和度量等问题没有涉及.另外, 提取出的经过多个轨迹基元控制信号串联组合而成的当前任务初次迭代控制信号, 在拼接处由于边界条件的差异, 使得其与期望控制信号偏差较大.为此, 本文采用非均匀有理B样条曲线(Non-uniform rational B-spline, NURBS)描述期望轨迹(或作业任务)和期望轨迹基元(或基本任务), 通过采用NURBS轨迹分割算法[12]、Kabsch算法[13]给出轨迹空间形状相似性定义和轨迹基元优化匹配算法; 在给定的相似度下, 通过该算法寻找经过平移向量和旋转矩阵变换后与期望轨迹分段叠合的相似轨迹基元, 并依次合成相似轨迹基元序列; 在此基础上, 依据当前期望轨迹与相似轨迹基元序列之间的平移向量、旋转矩阵及其时间尺度关系, 给出初次迭代控制信号变换方法, 由相似轨迹基元控制信号经变换得到期望轨迹分段控制信号, 并依次组合获取期望轨迹的初次迭代控制信号.针对分段控制信号的边界条件差异, 将初次控制信号与期望控制信号的偏差表示为系统干扰项, 给出一种${H_\infty }$反馈辅助的迭代学习控制方法.最后, 针对$XYZ$三轴平台, 通过与传统ILC方法进行仿真和实验比较, 验证对所提出的方法的有效性.
1. 问题描述
在迭代学习控制中, 设迭代学习律为:
$$ \begin{eqnarray} {u_k}(t) = {u_{k - 1}}(t) + L{e_k}(t), k = 0, 1, 2 \cdots \end{eqnarray} $$ (1) 其中, $ t \in [0, T], $ $ T $是时域运行周期, $ u_k(t) $是控制量, $ e_k(t) $是输出误差量, $ L $是学习增益, $ k $是迭代次数.
通过输出误差量$ {e_k}(t) $在迭代轴上修正$ {u_{k-1}}(t), $ $ u_k(t) $沿迭代轴的累加为
$$ \begin{eqnarray} {u_k}(t) = {u_0}(t) + L\sum\limits_{i = 1}^{k} {{e_i}(t)} \end{eqnarray} $$ (2) 其中, $ {u_0}(t) $为迭代学习初次控制信号, 如果学习律(1)满足收敛性条件, 则当$ k $趋于无穷时, $ \mathop {\lim }\nolimits_{k \to \infty } {u_k}(t) = {u_d}(t), $ $ u_d(t) $为迭代学习控制的期望控制信号, 输出误差量$ {e_k(t)} $趋近于零.进而由式(2)可知, 如果能得到一个近似于期望控制信号$ u_d(t) $的初次迭代控制信号$ u_0(t), $将显著减少学习过程的输出误差.
在ILC中通常假设每个期望输出存在对应的理想控制输入, 通过迭代学习获得的控制信号能逼近于理想控制信号.因此, 在本文中我们假设:对于同一线性系统两段相似的期望迹段其对应的期望控制信号也是相近的.本文试图通过ILC建立一个基于NURBS模型的期望轨迹(或作业任务)及其相应控制信号数据库, 从轨迹数据库中搜寻与当前期望轨迹相似的轨迹基元组合轨迹序列, 进而利用数据库中轨迹基元控制信号, 通过控制信号变换直接获得当前期望轨迹的初次迭代控制信号, 结合$ {H_\infty } $反馈辅助实施ILC.基于轨迹基元匹配的ILC系统原理示意图如图 1所示.给定一条期望轨迹, 其在基坐标系(或$ B $坐标系)下描述为
$$ \begin{eqnarray} {}^{B}{l_d}(t) = \left[{\begin{array}{*{20}{c}} {{x_d}(t)}\\ {{y_d}(t)}\\ {{z_d}(t)} \end{array}} \right] \end{eqnarray} $$ (3) 其中, $ {x_d}(t) $、$ {y_d}(t) $和$ {z_d}(t) $分别为笛卡尔空间$ X $、$ Y $和$ Z $轴的期望轨迹; 为简便起见, 下文中基坐标中的轨迹省略左上角$ B $.
期望轨迹式(3)的期望控制信号与初次迭代控制信号表示如下:
$$ \begin{eqnarray} {u_d}(t) = \left[ \begin{array}{l} {u_{{d_x}}}(t)\\ {u_{{d_y}}}(t)\\ {u_{{d_z}}}(t) \end{array} \right], {u_0}(t) = \left[ \begin{array}{l} {u_{{0_x}}}(t)\\ {u_{{0_y}}}(t)\\ {u_{{0_z}}}(t) \end{array} \right] \end{eqnarray} $$ (4) 其中, $ {u_{d_x}}(t) $、$ {u_{d_y}}(t) $、$ {u_{d_z}}(t) $和$ {u_{0_x}}(t) $、$ {u_{0_y}}(t) $、$ {u_{0_z}}(t) $分别为$ {x_d}(t) $、$ {y_d}(t) $、$ {z_d}(t) $的期望控制信号和初次迭代控制信号.
2. 轨迹基元优化匹配组合方法
对于一条运行时间为$ T $的轨迹, 记为$ l(t), $为了建立统一的轨迹优化匹配算法, 将轨迹运行时间$ T $归一化$ v = t/T, $ $ v \in [0, 1], $ $ v $是归一化后的NURBS轨迹的节点矢量参数, 则轨迹可记为: $ l(v){|_{v \in [0, 1]}} $.
2.1 基于Kabsch算法的匹配相似性描述方法
Kabsch算法是用来计算当两系列点的均方根偏差(RMSD)最小时的最优平移向量和旋转矩阵[14].针对两条NURBS轨迹, 我们设定一个统一的取点方式, 即按在节点矢量上均匀参数取点的方式, 按这种方式取点使得在NURBS曲率高的附近取的点密集, 在其曲率低的附近取的点稀疏, 这样取出的$ {l_d} $和$ {l_p} $两个序列概括了两条轨迹的基本特征, 即$ {l_d} $和$ {l_p} $两系列点能分别代表两条轨迹, 并且$ {l_d} $和$ {l_p} $序列含有相同个数的点.因此RMSD可以作为度量轨迹的相似度指标, 两条轨迹的相似性以及叠合的定义如下.
定义1. $ {l_{p}(v)|_{v\in{[0, 1]}}} $通过旋转和平移变换(仿射变换)为$ {l^{A}_p(v)|_{v\in{[0, 1]}}} $后, $ {l_{d}(v)|_{v\in{[0, 1]}}} $与$ {l^{A}_{p}(v)|_{v\in{[0, 1]}}} $之间的均方根偏差小于$ {\varepsilon}, $则称在相似度$ {\varepsilon} $下轨迹$ {l_{p}(v)|_{v\in{[0, 1]}}} $和$ {l_{d}(v)|_{v\in{[0, 1]}}} $相似, 记$ {l_{d}(v)|_{v\in{[0, 1]}}}\stackrel{\varepsilon}{\sim}{l_{p}(v)|_{v\in{[0, 1]}}}, $并且轨迹$ {l^{A}_{p}(v)|_{v\in{[0, 1]}}} $和$ {l_{d}(v)|_{v\in{[0, 1]}}} $叠合, 记$ {l_{d}(v)|_{v\in{[0, 1]}}}\stackrel{\varepsilon}{\approx}{l^{A}_{p}(v)|_{v\in{[0, 1]}}} $.
2.2 优化匹配组合方法
设轨迹库中含有$ N $条NURBS轨迹$ {l_i}(v){|_{v \in [0, 1]}} $ $ (1 \le i \le {N}), $ NURBS轨迹的分割参数$ v_s^{i} $和$ v_e^{i} $ $ (0 \le v_s^{i} \le v_e^{i} \le 1) $用来分割轨迹库中的第$ i $条轨迹, 轨迹$ {l_i}(v){|_{v \in [v_s^{i}, v_e^{i}]}} $作为临时轨迹匹配基元, $ {l_i}(v){|_{v = v_s^i}} $和$ {l_i}(v){|_{v = v_e^{i}}} $分别是轨迹$ {l_i}(v){|_{v \in [v_s^{i}, v_e^{i}]}} $的起止点.我们将一条期望NURBS轨迹表示为$ {l_d}(v){|_{v \in [0, 1]}}, $其第$ j $段待匹配轨迹为$ {l_d}^{j}(v){|_{v \in [0, \bar v]}}, $其中$ \bar v\left({0 < \bar v < 1} \right) $为分割参数.
优化匹配的原则是满足一定的相似度$ {\varepsilon} $的情况下, 期望轨迹的分割段数最少.优化匹配过程中, 通过二分查找法来匹配期望轨迹, 期望轨迹匹配片段每一次长度的改变都会重新和轨迹库所有整条轨迹的长度和相似度进行判断, 试图寻找与该期望匹配片段相似的最长轨迹段, 期望轨迹与轨迹库中轨迹之间优化匹配算法流程如图 2所示, 其中, $ b $为期望轨迹可变搜索步长, $ \varepsilon $为设定的相似度, $ N $为轨迹库中轨迹数量, $ \eta $为设定两条轨迹的长度偏差阈值, $ \sigma $为期望轨迹最小搜索步长, $ d $表示轨迹库中轨迹的固定搜索步长, $ m $为匹配完成期望轨迹的分割段数, $ \bar v $为期望轨迹的分割参数. $ {T_d} $为期望轨迹运行时间, $ {T_{{d_j}}} $为第$ j $段期望轨迹$ {l_{{d_j}}}(v){|_{v \in [0, 1]}} $的运行时间, $ {T_j} $为匹配的轨迹基元$ {l_{{p_j}}}(v){|_{v \in [0, 1]}} $运行时间.将轨迹库中所有轨迹遍历匹配一次, 取出对应$ {l_{d_j}(v)|_{v\in{[0, 1]}}} $最长的匹配轨迹基元$ {l_{p_j}(v)|_{v\in{[0, 1]}}} $.
经过轨迹优化匹配后, 期望轨迹分割成$ m $段: $ {l_{d{}_1}}(v){|_{v \in [0, 1]}}, $ $ \cdots, $ $ {l_{d{}_m}}(v){|_{v \in [0, 1]}}, $同时从轨迹库轨迹中匹配到$ m $段轨迹基元: $ {l_{{p_1}}}(v){|_{v \in [0, 1]}}, $ $ \cdots, $ $ {l_{{p_m}}}(v){|_{v \in [0, 1]}}, $如式(5)所示, $ {}^{P_j}{l_{{p_j}}}(v){|_{v \in [0, 1]}} $ ($ j = 1, $ $ \cdots, $ $ m $)为匹配基元$ {l_{{p_j}}}(v){|_{v \in [0, 1]}} $在对应期望轨迹片段的质心坐标系$ \{ P_j\} $下的表示, 与其对应的期望轨迹基元段叠合如式(6)所示.
$$ \begin{eqnarray} {}^{P_j}{l_{{p_j}}}(v){|_{v \in [0, 1]}} = {l_{{p_j}}}(v){|_{v \in [0, 1]}} + {}^{P_j}{P_{BORG}} \end{eqnarray} $$ (5) $$ \begin{align} l_{{p_j}}^{A}\left( v \right) = & {R_j}{}^{{P_j}}{l_{{p_j}}}\left( v \right)\left| {_{v \in \left[ {0, 1} \right]}} \right. + {}^{{P_j}}{P_{{D_j}ORG}} + \\ & {P_{{P_j}ORG}}\mathop \approx \limits^\varepsilon {{ }}{l_{{d_j}}}\left( v \right)\left| {_{v \in \left[ {0, 1} \right]}} \right. \end{align} $$ (6) 其中, $ {}^{P_j}{P_{BORG}} $是匹配基元质心坐标$ \{ P_j\} $到$ \{ B\} $坐标系原点的平移向量, $ {}^{P_j}{P_{{D_j}ORG}} $由Kabsch算法得到, 表示匹配基元的质心坐标$ \{ P_j\} $到对应期望轨迹片段的质心坐标$ \{ D_j\} $的平移向量, 最优旋转矩阵为
$$ {R_j} = \left[ {\begin{array}{*{20}{c}} {{R_{j11}}}&{{R_{j12}}}&{{R_{j13}}}\\ {{R_{j21}}}&{{R_{j22}}}&{{R_{j23}}}\\ {{R_{j31}}}&{{R_{j32}}}&{{R_{j33}}} \end{array}} \right] $$ 通过串联组合匹配基元$ {l_{{p_j}}^{A}}(v){|_{v \in [0, 1]}} $($ j $ = 1, $ \cdots, $ $ m $), 可得与期望轨迹叠合的组合轨迹, 如式(7)所示.
$$ \begin{eqnarray} {l_d}(v){|_{v \in [0, 1]}}\mathop \approx \limits^\varepsilon \bigcup\limits_{j = 1}^{m} {l_{{p_j}}^{A}} (v){|_{v \in [0, 1]}} \end{eqnarray} $$ (7) 其中, $ \bigcup _{j = 1}^{m} $为轨迹($ j = 1, 2, \cdots, m $)的串联组合符号. $ l_{{p_j}}^{A}(v){|_{v \in [0, 1]}} $和$ {l_{{d_j}}}(v){|_{v \in [0, 1]}} $分别通过$ {t_j} = {T_j}v $、$ {t_{{d_j}}} = {T_{{d_j}}}v $得到$ l_{{p_j}}^{A}({t_j}){|_{{t_j} \in [0, {T_j}]}} $和$ {l_{{d_j}}}({t_{{d_j}}}){|_{{t_{{d_j}}} \in [0, {T_{{d_j}}}]}} $.时间尺度为$ {{\alpha}_j} = {{{T_j}} \mathord{\left/ {\vphantom {{{T_j}} {{T_{{d_j}}}}}} \right. } {{T_{{d_j}}}}} $ ($ j = 1, $ $ \cdots, $ $ m $).
2.3 初次控制信号的提取
2.3.1 轨迹基元控制信号的旋转平移变换
由图 1可知, 时域下的轨迹基元$ {l_{{p_j}}}(t_j) $及其控制信号已存储在数据库中, 假设被控制对象是线性系统, 本节将依据线性叠加原理和式(5) ~ (6), 获取与期望轨迹叠合的轨迹基元$ l_{{p_j}}^{A}(t_j) $的控制信号.
设
$$ {}^{P_j}{l_{{p_j}}}(t_j) = \left[ {\begin{array}{*{20}{c}} {{}^{P_j}{x_j}(t_j)}\\ {{}^{P_j}{y_j}(t_j)}\\ {{}^{P_j}{z_j}(t_j)} \end{array}} \right] , {l_{{p_j}}}(t_j) = \left[ {\begin{array}{*{20}{c}} {{x_j}(t_j)}\\ {{y_j}(t_j)}\\ {{z_j}(t_j)} \end{array}} \right] $$ $$ {}^{P_j}{P_{BORG}} = m_j^{x}\left[ {\begin{array}{*{20}{c}} {{I_x}}\\ 0\\ 0 \end{array}} \right] + m_j^{y}\left[ {\begin{array}{*{20}{c}} 0\\ {{I_y}}\\ 0 \end{array}} \right] + m_j^{z}\left[ {\begin{array}{*{20}{c}} 0\\ 0\\ {{I_z}} \end{array}} \right] $$ 其中, $ m_j^{x} $、$ m_j^{y} $、$ m_j^{z} $分别是$ {}^{P_j}{P_{BORG}} $在$ X $、$ Y $、$ Z $轴方向的坐标值, $ {I_x} $、$ {I_y} $、$ {I_z} $分别是$ X $、$ Y $、$ Z $轴方向上的单位平移基元, 经过ILC学习得到其对应的控制信号, 表示为$ {u_{{I_x}}} $、$ {u_{{I_y}}} $、$ {u_{{I_z}}} $.因此, 匹配基元质心坐标$ \{P_j\} $到$ \{ B\} $坐标系原点的平移向量$ {}^{P_j}{P_{BORG}} $对应的控制信号为$ {u^{{P_j} - B}}({t_j}) = {[m_j^{x}{u_{{I_x}}}(t_j), m_j^{ y}{u_{{I_y}}}(t_j), m_j^{z}{u_{{I_z}}}(t_j)]^{\rm T}}, $同理可得到$ {}^{P_j}{P_{{D_j}ORG}} $的控制信号$ {u^{{P_j} - {D_j}}}({t_j}), $那么$ {}^{P_j}{l_{{p_j}}}(t_j) $对应的在$ X $、$ Y $、$ Z $轴上的描述为:
$$ \begin{eqnarray} {}^{P_j}{x_j}(t_j) = {x_j}(t_j) + m_j^{x}{I_x}(t_j) \end{eqnarray} $$ (8) $$ \begin{eqnarray} {}^{P_j}{y_j}(t_j) = {y_j}(t_j) + m_j^{y}{I_y}(t_j) \end{eqnarray} $$ (9) $$ \begin{eqnarray} {}^{P_j}{z_j}(t_j) = {z_j}(t_j) + m_j^{z}{I_z}(t_j) \end{eqnarray} $$ (10) 其对应的控制信号满足下面的关系:
$$ \begin{eqnarray} {}^{P_j}{u_{{x_j}}}(t_j) = {u_{{x_j}}}(t_j) + m_j^{x}{u_{{I_x}}}(t_j) \end{eqnarray} $$ (11) $$ \begin{eqnarray} {}^{P_j}{u_{{y_j}}}(t_j) = {u_{{y_j}}}(t_j) + m_j^{y}{u_{{I_y}}}(t_j) \end{eqnarray} $$ (12) $$ \begin{eqnarray} {}^{P_j}{u_{{z_j}}}(t_j) = {u_{{z_j}}}(t_j) + m_j^{z}{u_{{I_z}}}(t_j) \end{eqnarray} $$ (13) 其中, $ {}^{P_j}{u_{{x_j}}}(t_j) $、$ {u_{{x_j}}}(t_j) $、$ {}^{P_j}{u_{{y_j}}}(t_j) $、$ {u_{{y_j}}}(t_j) $、 $ {}^{P_j}{u_{{z_j}}}(t_j) $、$ {u_{{z_j}}}(t_j) $分别是$ {}^{P_j}{x_j}(t_j) $、$ {x_j}(t_j) $、 $ {}^{P_j}{y_j}(t_j) $、$ {y_j}(t_j) $、$ {}^{P_j}{z_j}(t_j) $、$ {z_j}(t_j) $的控制信号.由式(11)、(12)、(13)可得到$ {}^{P_j}{l_{{p_j}}}(v){|_{v \in [0, 1]}} $对应的控制信号为:
$$ \begin{align} {}^{P_j}{u_j}(t_j){|_{t_j \in [0, {T_j}]}} = {[{}^{P_j}{u_{{x_j}}}(t_j), {}^{P_j}{u_{{y_j}}}(t_j), {}^{P_j}{u_{{z_j}}}(t_j)]^{\rm T}} \end{align} $$ (14) 进而, 可得$ l_{{p_j}}^{A}(t_j){|_{t_j \in [0, {T_j}]}} ( j = 1, 2, \cdots, m )$的控制信号为:
$$ \begin{align} {u}_j^{A}(t_j){|_{t_j \in [0, {T_j}]}} = & {L^{ - 1}}(R_j^{u}){}^{P_j}{u_j}(t_j){|_{t \in [0, {T_j}]}}+ \\ & {u^{{P_j} - {D_j}}}({t_j}) + {u^{B - {P_j}}}({t_j}) \end{align} $$ (15) 其中, $ ^{{P_j}}{u_j}({t_j}){|_{{t_j} \in [0,{T_j}]}}$是轨迹基元的控制信号, ${u^{B - {P_j}}}({t_j})$为${P_{{P_j}ORG}}$的控制信号, $L^{-1}(\cdot)$是拉氏反变换, 设定$P_x(s)$、$P_y(s)$、$P_z(s)$分别是$X$、$Y$、$Z$轴的传递函数, $R_j^u$的各轴旋转耦合关系为
$$ R_j^{u} = \left[ {\begin{array}{*{20}{c}} {{R_{j11}}}&{{R_{j12}}\frac{{{P_y}(s)}}{{{P_x}(s)}}}&{{R_{j13}}\frac{{{P_z}(s)}}{{{P_x}(s)}}}\\ {{R_{j21}}\frac{{{P_x}(s)}}{{{P_y}(s)}}}&{{R_{j22}}}&{{R_{j23}}\frac{{{P_z}(s)}}{{{P_y}(s)}}}\\ {{R_{j31}}\frac{{{P_x}(s)}}{{{P_z}(s)}}}&{{R_{j32}}\frac{{{P_y}(s)}}{{{P_z}(s)}}}&{{R_{j33}}} \end{array}} \right] $$ 2.3.2 基于时间尺度变换的轨迹控制信号的获取
由式(15)的控制信号组合而成的相似组合轨迹$\bigcup\nolimits_{j = 1}^{m} {l_{{p_j}}^{A}} (t_j){|_{t_j \in [0, T_j]}}$的控制信号表示为:
$$ \begin{equation} u_{0}^{A}(t)|_{{t}\in[0, T_d]}: = \bigcup\limits_{j = 1}^{m} u_{j}^{A}(t_j)|_{t_j\in[0, T_j]} \end{equation} $$ (16) 由于期望轨迹和优化匹配得到的组合轨迹之间存在时间尺度差异, 因此, 本节将期望轨迹${l_d}({t_d}){|_{{t_d} \in [0,{T_d}]}}$经过优化匹配得到两条轨迹基元数量不同的组合轨迹, 通过两条组合轨迹的时间尺度拟合来获取不同时间尺度的初次迭代控制信号.设第一次期望轨迹被分割为$ m_1 $段, 记为其对应的分割点为$ g_1^{j} $ $ (j=0, 1, \cdots, m_1) $; 第二次期望轨迹被分割为$ m_2 $段, 记为$ l_{d2{j}}(t_{d2{j}})|_{{t_{d2{j}}}\in} $$ _{[0, T_{d2{j}}]}, $ $ (\sum\nolimits^{m_2}_{j=1}T_{d2{j}}=T_d), $对应的分割点为$ g_2^{j} $ $ (j=0, 1, \cdots, m_2) $.设两次分割的期望轨迹的始末端点值分别记为$ g_{d1}^0 $、$ g_{d1}^{m_1} $、$ g_{d2}^0 $、且$ g_{d1}^0=g_{d2}^0, $ $ g_{d1}^{m_1}=g_{d2}^{m_2}, $但$ g_{d1}^{j} $和$ g_{d2}^{j} $不完全相同.如图 3所示, 与期望轨迹叠合的两条相似组合轨迹基元序列分别为$ {l^{A}_{p1j}(t_{1j})|_{t_{{1j}}\in[0, T_{p1j}]}} $(), $ {l^{A}_{p2j}(t_{2j})|_{t_{{2j}}\in[0, T_{p2j}]}} $ ($ \sum\nolimits^{m_2}_{j=1}{T_{p2j}=T_2} $, ).
$$ \begin{eqnarray} \left\{ \begin{array}{l} {l_d}({t_d}){|_{{t_d} \in [0, {T_d}]}}\mathop \approx \limits^\varepsilon \mathop \cup \limits_{j = 1}^{m_1} l_{p1j}^A({t_{1j}}){|_{{t_{1j}} \in [0, {T_{p1j}}]}}\\ {l_d}({t_d}){|_{{t_d} \in [0, {T_d}]}}\mathop \approx \limits^\varepsilon \mathop \cup \limits_{j = 1}^{m_2} l_{p2j}^A({t_{2j}}){|_{{t_{2j}} \in [0, {T_{p2j}}]}} \end{array} \right. \end{eqnarray} $$ (17) 两条组合轨迹与期望轨迹在空间叠合, 但是时间尺度不一样, 其对应的时间变量为$ {t_{d1{j}}} $、$ {t_{d2{j}}}, $它们与期望轨迹之间存在的时间尺度关系分别为$ {t_{{1j}}} = {{\alpha}^{j}_1}{t_{d1{j}}} $、$ {t_{{2j}}} = {{\alpha}^{ j}_2}{t_{d2{j}}} $.
合并两组相似轨迹组合的分割点, 得到同一分割点集如式(18),
$$ \begin{align} G = &\left\{ {g_{d1}^0, \cdots , g_{d1}^{j}, \cdots , g_{d1}^{m_1}} \right\} \cup \\ &{\rm{ }}\left\{ {g_{d2}^0, \cdots , g_{d2}^{j}, \cdots , g_{d2}^{m_2}} \right\} = \\ &{\rm{ }}\left\{ {g_d^0, \cdots , g_d^{r}, \cdots , g_d^{h}} \right\} \end{align} $$ (18) 在分割点集$ G $相应的位置上对两条相似组合轨迹重新分割得到新分段轨迹基元序列分别为$ \bar l_{p1r}^{A}({t_{1r}}){|_{{t_{1r}} \in [0, {\bar T_{p1r}}]}} $($ \sum\nolimits_{r = 1}^{{h}} {{\bar T_{p1r}} = {T_1}}, $ $ r $ = 1, 2, $ \cdots, $ $ h $)、$ \bar l_{p2r}^{A}({t_{2r}}){|_{{t_{2r}} \in [0, {\bar T_{p2r}}]}} $($ \sum\nolimits_{r = 1}^{{h}} {{\bar T_{p2r}} = {T_2}}, $ $ r $ = 1, 2, $ \cdots, $ $ h $), 如图 4所示, 其中$ \max ({m_1} + 1, {m_2} + 1) \le h \le {m_1} + {m_2} + 2, $ $ g_d^0 $、$ g_d^{h} $分别是轨迹的始末端点.
取$ G $中的任意一点$ {g^{r}_d} {(0 < r < h)}, $ 1)当$ g_{d1}^{j} < g_d^{r} < g_{d_1}^{j + 1} $时, 在区间[$ g_{d}^{r-1}, g_d^r $]和[$ g_d^{r}, g_{d1}^{r + 1} $]上, $ \bar l_{p1r}^{A}({t_{1r}}){|_{{t_{1r}} \in [0, {\bar T_{p1r}}]}} $对应的时间尺度关系分别为: $ \bar {\alpha}_1^{r} = {\alpha}_1^{j} $和$ \bar {\alpha}_1^{r + 1} = {\alpha}_1^{j} $; 2)当$ g_d^{r} = g_{d1}^{j} $时, 在区间[$ g_{d}^{r-1}, g_d^{r} $]和[$ g_d^{r}, g_{d}^{r+ 1} $]上, $ \bar l_{p1r}^{A}({t_{1r}}){|_{{t_{1r}} \in [0, {\bar T_{p1r}}]}} $对应的时间尺度关系分别为$ \bar {\alpha}_1^{r} = {\alpha}_1^{j} $和$ \bar {\alpha}_1^{r+1} = {\alpha}_1^{j+1} $.
同理, 可得到$ \bar l_{p2r}^{A}({t_{2r}}){|_{{t_{2r}} \in [0, {\bar T_{p2r}}]}} $的分割点之间的时间尺度对应关系$ \bar {\alpha}_2^{r} $.
采用文献[7]的方法, 可得当前期望轨迹的第$ r $段轨迹基元控制信号为
$$ \begin{align} {u_{0r}} = {\rm{ }}\left[ {\begin{array}{*{20}{c}} I&I \end{array}} \right]{\left( {C_l^{\rm T}{C_l}} \right)^{ - 1}}C_l^{\rm T}{\left[ {\begin{array}{*{20}{c}} {u{{_{{0_1}r}^{A}}^{\rm T}}}&{u{{_{{0_2}r}^{A}}^{\rm T}}} \end{array}} \right]^{\rm T}} \end{align} $$ (19) 其中,
$$ \begin{eqnarray} {C_l} = \left[ {\begin{array}{*{20}{c}} {{{(\bar {\alpha}_1^{r})}^{ - 1}}I}&I\\ {{{(\bar {\alpha}_2^{r})}^{ - 1}}I}&I \end{array}} \right] \end{eqnarray} $$ (20) $ u_{{0_1}r} $、$ u_{{0_2}r} $分别为$ \bar l_{p1r}^{A}({t_{1r}}) $和$ \bar l_{p2r}^{A}({t_{2r}}) $的控制信号.则当前期望轨迹的初次迭代控制信号可表示为:
$$ \begin{eqnarray} {u_{0}} : = \bigcup _{r = 1}^{h}{u_{0r}}, r = 1, 2, \cdots , h \end{eqnarray} $$ (21) 3. $ {\pmb H{\bf_\infty }} $反馈辅助迭代学习控制
针对提取出的初次控制信号与期望控制信号的偏差可表示为对系统产生的干扰$ d(s), $如式(22)所示.
$$ \begin{eqnarray} d(s) = G(s)({u_{{0}}(s)} - {u_{d}(s)}) \end{eqnarray} $$ (22) 本节采用$ {H_\infty } $反馈辅助ILC方法, 其控制系统结构如图 5所示, 其中, $ G\left(s \right) $表示被控系统传递函数, $ K(s) $表示$ {H_\infty } $反馈控制器传递函数, $ L(s) $表示迭代学习前馈增益. $ {q_{k+1}}(s) $表示输入信号, $ {y_{k+1}}(s) $表示输出信号, $ {e_k}(s) $表示误差信号, $ {u_k}(s) $表示控制信号, 下标$ k $表示迭代次数; 存储器1保存了提取的初次控制信号, $ k $ = 0, 即初次迭代时, 输出存储的初次控制信号$ u_0(s), $同时用当前次得到的控制信号更新存储器1中已有的控制信号.同理, 存储器2保存了上一次系统输入误差.
在图 5所示控制系统结构的基础上, 在频率域上通过选择三个合适的权值函数$ {W_S}(s) $、$ {W_R}(s) $、$ {W_T}(s) $使得系统鲁棒稳定问题可转换为如图 6所示$ {H_\infty } $控制问题问题. $ d(s) $至$ y(s) $、$ q(s) $至$ u(s) $、$ q(s) $至$ y(s) $的闭环传递函数分别为:灵敏度函数$ S(s) = {(I + G(s)K(s))^{ - 1}} $、$ R(s) = K(s){(I + G(s)K(s))^{ - 1}} $、补灵敏度函数$ T(s) = G(s)K(s){(I + G(s)K(s))^{ - 1}} $.
$ {H_\infty } $反馈控制问题就是设计正则的有理函数控制器$ K\left(s \right), $能够衰减外部干扰, 使图 5所示的控制系统闭环稳定, 使$ \lambda < 1, $并最小化$ \lambda $.
$$ \begin{eqnarray} \lambda = {\left\| \begin{array}{l} {W_S}(s)S(s)\\ {W_R}(s)R(s)\\ {W_T}(s)T(s) \end{array} \right\|_\infty } \end{eqnarray} $$ (23) 其中, $ {W_S}(s)S(s) $代表系统对干扰抑制性能的要求, 通过调节权函数$ {W_S}(s) $间接调节灵敏度函数$ S(s) $; $ {W_T}(s)T(s) $和$ {W_R}(s)R(s) $代表对系统鲁棒稳定性的要求, 同样通过权函数$ {W_R}(s) $和$ {W_T}(s) $来调节.
由图 5所示的$ {H_\infty } $反馈辅助ILC结构, 可知ILC学习律为
$$ \begin{eqnarray} {u_{k + 1}(s)} = {u_k(s)} + L(s){e_k(s)} + K(s){e_{k + 1}(s)} \end{eqnarray} $$ (24) 在Xu等[10]对该类ILC结构的收敛性已进行了详细分析, 简要推导如下.
$$ \begin{align} {e_{k + 1}(s)} = & {q_{k + 1}(s)} - {u_{k + 1}(s)}G(s) = \\ & {q_{k + 1}(s)} - ({u_k(s)} + L(s){e_k(s)} + \\ & K(s){e_{k + 1}(s)})G(s) = \\ & {e_k(s)}S(s)(1 - L(s)G(s)) \end{align} $$ (25) $$ \begin{eqnarray} \frac{{e_{k + 1}(s)}}{{e_k(s)}} = S(s)(1 - L(s)G(s)) \end{eqnarray} $$ (26) 因此系统收敛性条件为
$$ \begin{eqnarray} ||S(s)(I - L(s)G(s))|{|_\infty } < 1 \end{eqnarray} $$ (27) 4. 实验例子
4.1 实验平台
我们在$ XYZ $三轴运动平台对本文提取的初次控制信号的有效性进行了实验验证.实验系统结构如图 7所示, 通过在PC上CoDeSys中编写控制算法程序, 得到各轴控制信号(即速度给定信号), 通过EtherCAT通信将速度信号传给速度模式驱动的驱动器, 实验装置实物如图 8所示.
$ XYZ $运动控制平台各轴的位移和电机输入速度的线性动态特性可近似为如下所示的二阶标准模型.
$$ \begin{eqnarray} \begin{cases} {G_x}(s) = \dfrac{5}{{0.020{s^2} + s}}\\ {G_y}(s) = \dfrac{5}{{0.016{s^2} + s}}\\ {G_{z1}}(s) = \dfrac{5}{{0.022{s^2} + s}}\\ {G_{z2}}(s) = \dfrac{5}{{0.014{s^2} + s}} \end{cases} \end{eqnarray} $$ (28) 其中$ G_{z1} $、$ G_{z2} $分别是$ Z $轴电机的上行和下行模型.
4.2 实验仿真
本文各权值函数选取如下
$$ \begin{eqnarray} \begin{cases} {W_S}(s) = \dfrac{{200}}{{100s + 1}}\\ {W_R}(s) = 0.2\\ {W_T}(s) = 0.002{s^2} + 0.2s + 1 \end{cases} \end{eqnarray} $$ (29) 运用MATLAB中的鲁棒工具箱优化计算, 得到稳定的控制器如下
$$ \begin{align} \begin{cases} {K_x}(s) = \dfrac{{55.17{s^2} + 2759s + 4.288 \times {{10}^{ - 11}}}}{{{s^3} + 122.6{s^2} + 3096s + 30.95}}\\ {K_y}(s) = \dfrac{{3.087{s^2} + 192.9s + 2.292 \times {{10}^{ - 12}}}}{{{s^3} + 99.11{s^2} + 648.1s + 6.471}}\\ {K_{z1}}(s) = \dfrac{{6.985{s^2} + 317.5s + 1.648 \times {{10}^{ - 12}}}}{{{s^3} + 96.83{s^2} + 748.1s + 7.471}}\\ {K_{z2}}(s) = \dfrac{{3.177{s^2} + 226.9s - 4.251 \times {{10}^{ - 13}}}}{{{s^3} + 100.4{s^2} + 685s + 6.84}} \end{cases}\\ \end{align} $$ (30) 选取满足收敛性条件式(27)的ILC学习增益为
$$ \begin{eqnarray} L(s) = \frac{{0.01{s^2} + s}}{3} \end{eqnarray} $$ (31) 从实际角度出发, 本文采用统一的NURBS曲线来构建一个轨迹库, 轨迹库中七条轨迹如图 9 (a) ~ 9 (g)中的实线所示, 对应的控制多边形由虚线表示.期望轨迹被分割成10段和9段, 其质心坐标系分别如图 10和图 11所示, "$ \cdot $"是轨迹的期望轨迹的分割点.图 10和图 11中期望轨迹段对应的匹配基元和基元质心坐标系分别如图 12 (a) ~ 12 (j)和图 13 (a)~(i)所示.因此, 两个与期望轨迹叠合的基元组合轨迹可以表示为:
$$ \begin{eqnarray} \left\{ \begin{array}{l} {l_{{d_1}}}(v){|_{v \in [0, 1]}}\mathop \approx \limits^\varepsilon \bigcup\limits_{j = 1}^{10} {l_{1j}^{A}(v){|_{v \in [0, 1]}}} \\ {l_{{d_2}}}(v){|_{v \in [0, 1]}}\mathop \approx \limits^\varepsilon \bigcup\limits_{j = 1}^9 {l_{2j}^{A}(v){|_{v \in [0, 1]}}} \end{array} \right. \end{eqnarray} $$ (32) 组合轨迹基元序列$ \bar l_{p1r}^{A}({t_{1r}}) $和$ \bar l_{p2r}^{A}({t_{2r}}) $与相应的期望轨迹段之间的时间尺度如表 1所示.
表 1 各基元轨迹段与相应期望轨迹段之间的时间尺度Table 1 Each primitive corresponding to the desired track segment and a time scale between trajectories segments第$r$段 $\overline \alpha _1^{r}$ $\overline \alpha _2^{r}$ 第$r$段 $\overline \alpha _1^{r}$ $\overline \alpha _2^{r}$ 1 1.56 3.76 10 1.24 0.39 2 1.32 3.76 11 1.24 0.36 3 1.32 2.74 12 0.87 0.63 4 1.79 2.74 13 0.87 1.32 5 1.79 2.74 14 0.61 1.32 6 0.99 1.65 15 0.61 1.13 7 0.99 2.16 16 0.91 1.13 8 0.98 2.16 17 0.91 0.89 9 0.98 0.39 18 1.16 0.89 为了更清晰地了解提取的控制信号与期望控制信号的对比, 将期望轨迹从零开始学习迭代15次得到一个良好的跟踪效果, 将第15次的控制信号看作为期望控制信号, 做出第15次迭代控制信号与本文提取的初次控制信号对比图, 如图 14、15、16所示, 从图中可以看出提取的初次控制信号和第15次迭代控制信号的相似度较高.
4.3 实验结果
为了验证本文提取出的初次控制信号的有效性, 将上述提取的初次控制信号和初次控制信号为零的ILC控制方法进行实验对比, $ X $、$ Y $、$ Z $轴第一次迭代实验跟踪结果对比分别如图 17 (a)、17 (b), 18 (a)、18 (b), 19 (a)、19 (b)所示, 纵坐标单位为厘米(cm), 横坐标单位为秒(s).
分别以本文提取的初次控制信号和初次控制信号为零作为系统控制输入, 将八次迭代跟踪结果的均方根误差作对比, 结果分别如图 20、21所示.迭代一次和八次的误差数据如表 2和表 3所示.从图 20、21和表 2、3可以发现以提取的控制信号作为初次控制输入的系统跟踪误差明显低于初次控制信号为零的跟踪误差.
表 2 采用提取初次控制信号的跟踪误差Table 2 The tracking error of ILC using the extracted initial control signal跟踪指标 $X$轴(mm) $Y$轴(mm) $Z$轴(mm) 最大跟踪误差 0.5211 0.4923 0.4991 第一次迭代均方差 0.1300 0.1692 0.1154 第八次迭代均方差 0.0481 0.0499 0.0233 表 3 初次控制信号为零的跟踪误差Table 3 The tracking error of ILC using the zero initial control signal跟踪指标 $X$轴(mm) $Y$轴(mm) $Z$轴(mm) 最大跟踪误差 2.5134 2.0189 1.2174 第一次迭代均方差 1.2260 1.3610 0.4649 第八次迭代均方差 0.1221 0.0614 0.0308 将本文提取的初次控制信号和初次控制信号为零的ILC方法得到的前六次实验数据导入MATLAB环境中, 画出$ X $、$ Y $、$ Z $轴的三维轨迹跟踪分别如图 22、23所示, 实线轨迹表示期望轨迹, 点划线轨迹表示跟踪的轨迹.由图可以看出, 相对于零初始输入的第一次跟踪效果, 本文提取出的控制信号在第一次跟踪效果优势明显.
5. 结论
针对线性系统, 本文提出了一种基于轨迹基元匹配的初次控制信号提取方法.首先通过轨迹基元的优化匹配组合方法匹配出多条与期望轨迹片段叠合的轨迹基元; 接着依据线性叠加原理和轨迹叠合的平移矢量与旋转变换矩阵, 获取与期望轨迹叠合的轨迹基元控制信号, 在此基础上, 通过轨迹基元控制信号串联组合和时间尺度变换, 得到整条期望轨迹的初次控制信号.针对分段控制信号的边界条件差异, 给出了一种$ {H_\infty } $反馈辅助迭代学习控制方法; 最后通过仿真实验和三轴$ XYZ $平台实验表明, 本文提出的轨迹基元优化匹配、初次控制信号提取和$ {H_\infty } $反馈辅助迭代控制方法能有效地减少达到目标跟踪精度要求的迭代学习次数.
-
表 1 各基元轨迹段与相应期望轨迹段之间的时间尺度
Table 1 Each primitive corresponding to the desired track segment and a time scale between trajectories segments
第$r$段 $\overline \alpha _1^{r}$ $\overline \alpha _2^{r}$ 第$r$段 $\overline \alpha _1^{r}$ $\overline \alpha _2^{r}$ 1 1.56 3.76 10 1.24 0.39 2 1.32 3.76 11 1.24 0.36 3 1.32 2.74 12 0.87 0.63 4 1.79 2.74 13 0.87 1.32 5 1.79 2.74 14 0.61 1.32 6 0.99 1.65 15 0.61 1.13 7 0.99 2.16 16 0.91 1.13 8 0.98 2.16 17 0.91 0.89 9 0.98 0.39 18 1.16 0.89 表 2 采用提取初次控制信号的跟踪误差
Table 2 The tracking error of ILC using the extracted initial control signal
跟踪指标 $X$轴(mm) $Y$轴(mm) $Z$轴(mm) 最大跟踪误差 0.5211 0.4923 0.4991 第一次迭代均方差 0.1300 0.1692 0.1154 第八次迭代均方差 0.0481 0.0499 0.0233 表 3 初次控制信号为零的跟踪误差
Table 3 The tracking error of ILC using the zero initial control signal
跟踪指标 $X$轴(mm) $Y$轴(mm) $Z$轴(mm) 最大跟踪误差 2.5134 2.0189 1.2174 第一次迭代均方差 1.2260 1.3610 0.4649 第八次迭代均方差 0.1221 0.0614 0.0308 -
[1] Arimoto S, Kawamura S, Miyazaki F. Bettering operation of robots by learning. Journal of Robotic Systems, 1984, 1(2): 123-140 doi: 10.1002/rob.4620010203 [2] Arif M, Ishihara T, Inooka H. Incorporation of experience in iterative learning controllers using locally weighted learning. Automatica, 2001, 37(6): 881-888 doi: 10.1016/S0005-1098(01)00030-9 [3] Meng D Y, Jia Y M. Effects of initial input on stochastic discrete-time iterative learning control systems. In: Proceedings of the 29th Chinese Control Conference. Beijing, China: IEEE, 2010. 2193-2200 [4] Freeman C T, Alsubaie M A, Cai Z L, Rogers E, Lewin P L. Initial input selection for iterative learning control. Journal of Dynamic Systems Measurement & Control, 2011, 133(5): 054504 [5] Janssens P, Pipeleers G, Swevers J. Initialization of ILC based on a previously learned trajectory. In: Proceedings of the 2012 American Control Conference (ACC). Montreal, QC, Canada: IEEE, 2012. 610-614 [6] Alajmi N, Alobaidly A, Alhajri M, Salamah S, Alsubaie M. An upper limit for iterative learning control initial input construction using singular values. Intelligent Control & Automation, 2017, 8(3): 154-163 [7] Xu J X, Zhu T. Dual-scale direct learning control of trajectory tracking for a class of nonlinear uncertain systems. IEEE Transactions on Automatic Control, 1999, 44(10): 1884-1888 doi: 10.1109/9.793729 [8] Xu J X. Direct learning of control efforts for trajectories with different time scales. IEEE Transactions on Automatic Control, 1998, 43(7): 1027-1030 doi: 10.1109/9.701122 [9] Xu J X. Direct learning of control efforts for trajectories with different magnitude scales. Automatica, 1997, 33(12): 2191-2195 doi: 10.1016/S0005-1098(97)00140-4 [10] Xu J X, Panda S K, Tong H L. Real-time Iterative Learning Control: Design and Applications. London: Springer, 2009. 7-28 [11] Hoelzle D J, Alleyne A G, Johnson A J W. Basis task approach to iterative learning control with applications to micro-robotic deposition. IEEE Transactions on Control Systems Technology, 2011, 19(5): 1138-1148 doi: 10.1109/TCST.2010.2063030 [12] 施法中.计算机辅助几何设计与非均匀有理B样条.第2版.北京:高等教育出版社, 2013. 273-279Shi Fa-Zhong. The CAGD & NURBS Book (Second edition). Beijing: Higher Education Press, 2013. 273-279 [13] Kabsch W. A solution for the best rotation to relate two sets of vectors. Acta Crystallographica Section A, 1976, 32(5): 922-923 doi: 10.1107/S0567739476001873 [14] Umeyama S. Least-squares estimation of transformation parameters between two point patterns. IEEE Transactions on Pattern Analysis & Machine Intelligence, 1991, 13(4): 376-380 期刊类型引用(5)
1. 陈强,陈凯杰,施卉辉,孙明轩. 机械臂变长度误差跟踪迭代学习控制. 自动化学报. 2023(12): 2594-2604 . 本站查看
2. 李宏博,李雪芳. 基于容错学习的智能车辆路径跟踪控制. 控制工程. 2022(02): 307-314 . 百度学术
3. 林孙闯. 迭代学习预测控制在工业机械臂中的运用. 现代制造技术与装备. 2022(09): 200-203 . 百度学术
4. 杨露,陈春俊,王欢,王东威. 多步k最近邻初值寻优的气压模拟系统遗忘迭代学习控制. 控制理论与应用. 2021(03): 309-317 . 百度学术
5. 陈朝文,陈春俊,王东威. 基于KNN算法的高速列车车内压力模糊控制研究. 铁道机车车辆. 2020(06): 58-63 . 百度学术
其他类型引用(2)
-