Adaptive Machine Learning Based Control Method for Visual Robot Manipulator System
-
摘要:
针对多输入多输出视觉机械臂系统中控制增益矩阵存在不确定性的问题,提出了一种基于自适应机器学习的控制方法。通过放宽对系统控制增益矩阵已知性的要求,设计了复合能量函数来证明系统的收敛性。通过模拟机械臂系统运动并使用未标定摄像机进行验证,证明了自适应迭代学习方法的有效性。
Abstract:The control method proposed in this study is based on adaptive machine learning for a multi-input multi-output visual robotic arm system with uncertain control gain matrices. By relaxing the requirement for known control gain matrices in traditional adaptive learning methods, a composite energy function is designed to prove the convergence of the system. The effectiveness of the adaptive iterative learning method is demonstrated through simulating the motion of the robotic arm system and using an uncalibrated camera for validation.
-
轨迹跟踪控制分为两类,即有限时间区间上的重复跟踪和无限时间区间上的渐近跟踪。针对在有限时间间隔内重复的轨迹跟踪任务,迭代学习控制[1-3]作为一种有效的控制策略,核心原理为充分利用过去的控制经验来提高动态系统当前的跟踪性能。迭代学习控制解决了系统需要执行重复的任务问题,例如轨道交通系统、飞行器表面检测系统等。这些需求推动了迭代学习控制方法的提出,ARIMOTO等[2]在1984年提出了迭代学习控制方法的基本框架并作理论证明。迭代学习控制方法的优势在于不需要精确已知的系统模型,控制器结构简单,并且适用于对跟踪精度要求高、强耦合或复杂非线性等被控系统。在过去的三十年中,迭代学习控制在基础理论和实验应用方面都取得了重大进展。然而,在现有的迭代学习控制设计中,大多数要求迭代学习控制过程中的系统对象、初始状态、参考轨迹和时间长度不随迭代次数的增加而变化。特别地,对于处理相同时间长度问题上,在实践中很难在固定的时间间隔内重复执行同一个任务。例如:飞探针测试过程中,如果某些关键测试点的数据异常,则认为该样本有缺陷,终止测试,然后系统自动进行下一个样本的测试;在完全自动化的精密制造领域,半成品经过一系列加工步骤,最终形成高度集成的最终产品。这种方法将加工和检查阶段错综复杂地交织在一起,任何加工操作中的一个缺陷都可能影响整个生产线的成功。在检查阶段检测到半成品中不可修复的故障会导致制造过程的自动停止。因此不均匀的时间长度在实际生活中是比较常见的。对于变时间长度[4-6],利用平均算子技术和修正的跟踪误差,提出了相应的迭代学习控制算法[7],并利用常规范数分析了迭代学习控制误差的鲁棒性和收敛性。大多数研究集中在离散时间线性系统主要是由于有益的系统结构以及成熟的离散随机变量分析技术。尽管针对非线性系统[8],所涉及的非线性函数需要满足全局Lipschitz条件。
自适应机器学习是一种机器学习方法,它可以根据数据的变化自动调整模型参数,以实现更好的预测性能。自适应机器学习的主要数学模型之一是基于梯度下降算法的数学模型
θk+1(t)=θk(t)−η∇L, (1) 其中,η是学习率,∇L是损失函数对于步长的梯度。梯度下降是自适应机器学习的一种基本算法,它使用梯度下降法来最小化损失函数。
在过去的几十年中,通过将自适应学习的概念引入到迭代学习控制的设计中,提出了一类重要的迭代学习控制算法,称为自适应迭代学习控制方法[9-10]。该方法的主要特点是在连续迭代之间估计不确定的控制参数,并利用这些参数产生当前的控制输入。自适应迭代学习控制方法是一种在连续时间或离散时间下应用于动态系统的控制方法。该方法同时结合了自适应控制和迭代学习控制方法的思想,通过迭代过程中的学习来逐步提高系统的控制性能。在自适应迭代学习控制方法中,控制器会根据系统的实时响应和期望输出之间的误差进行调整。通过不断迭代,控制器可以逐渐学习到系统的动态特性,并根据学习到的知识来改进控制策略,从而实现更好的控制性能。自适应迭代学习控制方法通常用于对一些具有重复性任务的系统进行控制,例如机器人运动控制、精密定位等。该方法可以通过多次迭代来逐步减小系统的跟踪误差,并提高系统的稳定性和鲁棒性。在实际应用中,自适应迭代学习控制方法需要考虑到系统的动态特性、学习速度和收敛性等因素。同时,选择合适的学习算法和控制策略也是关键的一步。自适应迭代学习控制方法在放松全局Lipschitz连续条件、处理非一致初始状态、迭代变化参考轨迹和外部扰动等方面具有明显优势。LIU等[10]研究了基于自适应迭代学习控制方法的连续时间非线性系统变时间长度问题。然而,该系统为单输入单输出系统,且输入增益或控制方向为标量值。MENG等[9]提出了一种自适应迭代学习方法解决时间长度随机变化的系统。该研究中所涉及的系统虽然为多输入多输出系统,但是系统是参数化的且系统的控制增益矩阵需假设已知。
事实上,多输入多输出系统[11-13]中的控制增益矩阵是系统输出到控制输入的导数,通常要求是对称的正定(或负定)。单输入单输出动态系统的标量控制增益可以看作是这种要求的特殊情况。然而,在许多实际的动力系统,如机器人系统[11-12],工业搅拌槽系统[13],控制增益矩阵往往是非对称的。很明显,对控制增益矩阵的正定(或负定)假设甚至已知的假设极大地限制了自适应迭代学习控制的发展。本文针对不均匀的时间长度以及控制增益矩阵不确定的多输入多输出非线性系统,提出了一种新的自适应迭代控制策略,释放了对传统控制增益矩阵正定(或负定)甚至已知的假设要求。
1. 带有摄像机的机械臂系统
在安装了摄像机的平面机械臂中[14-16],图像平面与工作平面平行。当平面机器人机械臂执行重复操作时,从工作平面到图像平面的光流投影可以建模为如下系统:
[˙x(1)k(t)˙x(2)k(t)]=[∂1cosθ−∂1sinθ∂2sinθ∂2cosθ][u(1)k(t)u(2)k(t)]+[n(1)k(t)n(2)k(t)], (2) 该系统可以用多输入、多输出非线性系统的动态模型来描述,系统具有多个输入和多个输出。在传统的无限时间域中用于渐近轨迹跟踪的自适应控制和无限迭代域中用于重复轨迹跟踪的自适应迭代学习控制中,被控制的系统通常被建模为已知非线性函数的线性参数化结构。但是,对被控制系统线性参数化结构的要求极大地限制了自适应控制技术的应用,并且甚至丧失了自适应迭代学习控制方法最有吸引力的特点,即对系统模型的需求较少。在实际应用中,具有较少先验模型知识的非参数化、非线性系统比线性参数化系统更为普遍。因此,研究非参数化、非线性动力系统的自适应控制和自适应迭代学习控制是至关重要的。
考虑如下多输入多输出非线性非参数化系统
˙xk(t)=f(xk(t),t)+Guk(t)+nk(t), (3) 其中,k表示迭代次数; G∈Rn×n表示元素不确定的控制增益矩阵;f(xk(t),t)∈Rn表示未知的非线性函数,简写为f(xk(t));xk(t)∈Rn表示系统的状态/输出;uk(t)∈Rn表示系统的输入;nk(t)∈Rn表示系统外部噪声;系统的期望轨迹为rd(t)∈Rn。系统理想的时间长度为T。
假设1 函数f(xk(t))满足非线性增长条件,即
‖ (4) 其中,β1和β2表示正的未知的常数。
假设2 所有的迭代初始值xk(0)∈ \mathbb{R}^n以及迭代变换的期望轨迹rd(t)和外部扰动nk(t)是有界的,且xk(0)=rd(0)。
假设3 系统的控制增益矩阵G是可逆的,且矩阵的元素是不确定的。
2. 变时间长度自适应学习控制器设计
2.1 变时间长度
在传统的迭代学习控制算法中,任务执行时间间隔被限制为一个固定的值,以便进行理想的迭代学习过程。然而,在实际的应用场景中,由于未知的不确定性和不可预测的因素,这一条件经常难以满足。这一难题激励了变时间长度的研究。下面通过几个例子来说明不均匀的时间长度的出现场景。
第一个实例是将迭代学习控制应用于功能性电刺激中,用于上肢运动和辅助训练。在这些应用中,出于安全考虑,系统输出不能与期望轨迹偏离太多。因此,系统实际操作长度在没有达到理想时间长度时可能会终止,即操作长度可能短于预期长度。第二个实例是将迭代学习控制应用于锂离子电池充电问题的研究中。在研究锂离子电池每次充放电循环的充电时间时,一般假设充电长度都是固定不变的,然而在实际的应用中,锂离子电池的充电时间显然并不会一成不变。第三个实例是机械臂在执行重复任务的时候,例如仿人腿机械臂在地面行走的时候,由于安全和环境约束问题,无法执行完整的时间长度。本次考虑更一般的多输入多输出非线性非参数化系统的变时间长度问题。
在进行自适应迭代学习控制算法前,定义系统的跟踪误差为
\varepsilon_k(t)=\boldsymbol{r}_d(t)-\boldsymbol{x}_k(t), (5) 其中,εk(t)=[εk(1)(t)εk(2)(t)…εk(n)(t)]。
然而当系统遭受不均匀的时间长度时,假设每次迭代任务的时间长度为τk。定义新的跟踪误差
\boldsymbol{E}_k(t)=\left\{\begin{array}{lc} \varepsilon_k(t), & 0 \leqslant t \leqslant \tau_k \\ \varepsilon_k\left(\tau_k\right), & \tau_k<t \leqslant T \end{array}, \right. (6) 可以得出Ek(t)= λkεk(t)+(1- λk)εk(τk),其中λk∈{0, 1}。当λk=1时,系统在执行任务时发生中途停止返回的情况,没有到达期望的时间长度;反之,当λk=0时,系统到达期望的时间长度。
2.2 控制器及自适应学习率设计
基于假设1~假设3,设计如下自适应迭代学习控制算法:
\boldsymbol{u}_k(t)=\frac{\hat{\boldsymbol{G}} \boldsymbol{\varepsilon}_k(t) {\varepsilon}_k^{\mathrm{T}}(t) \xi^{\mathrm{T}}\left({\varepsilon}_k(t)\right) \hat{\boldsymbol{\delta}}_k(t)}{\left\|{\varepsilon}_k(t)\right\|_2^2}, (7) \hat{\boldsymbol{\delta}}_k(t)=\left\{\begin{array}{l} \hat{\boldsymbol{\delta}}_{k-1}(t)+\boldsymbol{\varGamma} \xi^{\mathrm{T}}\left(\varepsilon_k(t)\right) \varepsilon_k(t), \quad 0 \leqslant t \leqslant \tau_k \\ \hat{\boldsymbol{\delta}}_{k-1}(t), \quad \tau_k<t \leqslant T \end{array}\right. (8) \xi\left(\varepsilon_k(t)\right)=\left[\varepsilon_k(t) \operatorname{sign}\left(\varepsilon_k(t)\right)\right], (9) 其中, \hat{\boldsymbol{\delta}}_{-1}(t)=0 \in \mathbb{R}^2 ; \boldsymbol{\varGamma} \in \mathbb{R}^{2 \times 2}为需要提前设计的学习增益矩阵。式(7)为设计的控制输入,也即系统的控制器;式(8)为设计的自适应机器学习参数更新律。该自适应迭代学习控制的核心原理是通过前一次存储的自适应参数值以及当前迭代次数的控制误差来修正当前迭代次数的自适应参数,从而达到持续修正控制输入的目的。
图 1展示了自适应迭代学习控制的基本框图,根据其基本原理,自适应迭代学习控制算法如下:
① 选定系统期望轨迹rd(t),选定期望时间长度设置为T,给出初始状态信息u0(t)以及xk(0);
② 将第k-1次迭代结果自适应参数 \hat{\boldsymbol{\delta}}_{k-1}(t)进行存储。
③ 将第k次迭代结果系统输出xk(t)进行存储。
④ 计算跟踪误差εk(t)=rd(t)-xk(t)。条件验证:是否满足 \lim \limits_{k \rightarrow \infty} \varepsilon_k(t) \leqslant \sigma,σ是设定的系统误差精度。如果条件满足,则进入步骤⑦,否则执行步骤②~⑦。
⑤ 设置学习增益矩阵Γ,将系统前一次迭代自适应参数 \hat{\boldsymbol{\delta}}_{k-1}(t)以及误差εk(t)反馈到自适应学习律,再计算得到系统输入uk(t)。
⑥ 设置迭代次数,进入步骤②。
⑦ 停止迭代。
2.3 稳定性分析
定理1 基于假设1~假设3,在自适应控制律式(7)和自适应参数更新律式(8)~式(9)的作用下,当多输入多输出非线性系统式(2)的控制增益矩阵G满足σ( -\boldsymbol{G} \hat{\boldsymbol{G}})⊂C-,且在学习增益矩阵Γ对称正定时,系统的跟踪误差 \lim \limits_{k \rightarrow \infty} \varepsilon_k(t)=0。
证明:因为 \sigma(-\boldsymbol{G} \hat{\boldsymbol{G}}) \subset C^{-},则存在一个正定对称矩阵 \boldsymbol{Q}=\boldsymbol{Q}^{\mathrm{T}} \in \mathbb{R}^{n \times n}满足
(\boldsymbol{G} \hat{\boldsymbol{G}})^{\mathrm{T}} \boldsymbol{Q}+\boldsymbol{Q}(\boldsymbol{G} \hat{\boldsymbol{G}})=2 \boldsymbol{I}_n \text { 。 } (10) 根据假设1~假设2,令
\sup \limits_{0 \leqslant t \leqslant T}\left\|\boldsymbol{Q} \dot{\boldsymbol{r}}_d(t)-\boldsymbol{Q n}_k(t)\right\|_{\infty} \leqslant \alpha, (11) \sup \limits_{0 \leqslant t \leqslant T}\|\boldsymbol{Q}\|_{m_{\infty}} \leqslant c, (12) 且
\left\{\begin{array}{l} p=n c \boldsymbol{\beta}_1 \\ q=n a+n c \beta_1\left\|\boldsymbol{r}_d(t)\right\|_{\infty}+n c \boldsymbol{\beta}_2 \end{array}, \right. (13) \boldsymbol{\delta}=\left[\begin{array}{ll} p & q \end{array}\right]^{\mathrm{T}} \in \mathbb{R}^2, (14) 其中,α和c为常数。
设计如下复合能量函数:
V_k(t)=\frac{1}{2} \boldsymbol{E}_k^{\mathrm{T}}(t) \boldsymbol{Q} \boldsymbol{E}_k(t)+\frac{1}{2} \int_0^t \tilde{\boldsymbol{\delta}}_{\mathrm{k}}^{\mathrm{T}}(\mathrm{t}) \boldsymbol{\varGamma}^{-1} \tilde{\boldsymbol{\delta}}_k(t) \mathrm{d} \tau, (15) 其中,δ的估计误差 \tilde{\boldsymbol{\delta}}_k(t)=\boldsymbol{\delta}-\hat{\boldsymbol{\delta}}_k(t) 且 \hat{\boldsymbol{\delta}}_k(t)是δ的估计值。
第一步:证明序列{Vk(t)} 是单调非增序列,首先定义迭代方向上Vk(t)的差分:
\begin{aligned} & \varDelta V_k(t)=V_k(t)-V_{k-1}(t)=\frac{1}{2} \boldsymbol{E}_k^{\mathrm{T}}(t) \boldsymbol{Q} \boldsymbol{E}_k(t)- \\ & \;\;\;\;\;\; \frac{1}{2} \boldsymbol{E}_{k-1}^{\mathrm{T}}(t) \boldsymbol{Q} \boldsymbol{E}_{k-1}(t)+\int_0^t \frac{1}{2}\left(\tilde{\boldsymbol{\delta}}_k^{\mathrm{T}}(\tau) \boldsymbol{\varGamma}^{-1} \tilde{\boldsymbol{\delta}}_k(\tau)-\right. \\ & \;\;\;\;\;\; \left.\tilde{\boldsymbol{\delta}}_{\mathrm{k}-1}^{\mathrm{T}}(\tau) \boldsymbol{\varGamma}^{-1} \tilde{\boldsymbol{\delta}}_{k-1}(\tau)\right) \mathrm{d} \tau, \end{aligned} (16) 可以看出,ΔVk(t)由两部分组成,第一部分为误差项,第二部分为自适应参数估计误差项。
当0≤t≤ τk时候,针对Vk(t)的自适应参数估计误差项,有如下结果:
\begin{aligned} & \int_0^t \frac{1}{2}\left(\tilde{\boldsymbol{\delta}}_{\mathrm{k}}^{\mathrm{T}}(\tau) \boldsymbol{\varGamma}^{-1} \boldsymbol{\delta}_k(\tau)-\tilde{\boldsymbol{\delta}}_{k-1}^{\mathrm{T}}(\tau) \boldsymbol{\varGamma}^{-1} \tilde{\boldsymbol{\delta}}_{k-1}(\tau)\right) \mathrm{d} \tau= \\ & \;\;\;\; \int_0^t\left(-\varepsilon_k^{\mathrm{T}}(\tau) \xi\left(\boldsymbol{\varepsilon}_k(\tau)\right) \tilde{\boldsymbol{\delta}}_k(\tau)-\frac{1}{2} \boldsymbol{\varepsilon}_k^{\mathrm{T}}(\tau) \xi\left(\boldsymbol{\varepsilon}_k(\tau)\right)\right. \\ & \;\;\;\;\left.\boldsymbol{\varGamma} \xi^{\mathrm{T}}\left(\varepsilon_k(\tau)\right) \varepsilon_k(\tau)\right) \mathrm{d} \tau。 \end{aligned} (17) 针对ΔVk(t)的误差项,有如下结果:
\frac{1}{2} \boldsymbol{E}_k^{\mathrm{T}}(t) \boldsymbol{Q} \boldsymbol{E}_k(t) \leqslant \int_0^t \varepsilon_k^{\mathrm{T}}(\tau) \xi\left(\varepsilon_k(\tau)\right) \tilde{\boldsymbol{\delta}}_k(\tau) \mathrm{d} \tau 。 (18) 根据式(17)和式(18),重新推导式(16)为
\begin{aligned} & \Delta V_k(t) \leqslant-\frac{1}{2} \int_0^t \varepsilon_k^{\mathrm{T}}(\tau) \xi\left(\varepsilon_k(\tau)\right) \boldsymbol{\varGamma} \xi^{\mathrm{T}}\left(\varepsilon_k(\tau)\right) \varepsilon_k(\tau) \mathrm{d} \tau- \\ &\;\;\;\; \frac{1}{2} \varepsilon_{k-1}^{\mathrm{T}} \boldsymbol{Q}\boldsymbol{\varepsilon}_{k-1}(t) \leqslant 0。 \end{aligned} (19) 当τk≤t≤T时,证明同上述步骤,同样可得
\begin{array}{l} \Delta V_k(t) \leqslant-\frac{1}{2} \int_0^{\tau_k} \varepsilon_k^{\mathrm{T}}(\tau) \xi\left(\varepsilon_k(\tau)\right) \boldsymbol{\varGamma} \xi^{\mathrm{T}}\left(\varepsilon_k(\tau)\right) \varepsilon_k(\tau) \mathrm{d} \tau- \\ \;\;\;\; \frac{1}{2} \varepsilon_{k-1}^{\mathrm{T}}\left(\tau_k\right) \boldsymbol{Q} \varepsilon_{k-1}\left(\tau_k\right) \text { 。 } \end{array} (20) 结合式(19)和式(20),最终可得:
\begin{aligned} & \Delta V_k(t) \leqslant-\frac{1}{2} \int_0^{\tau_k \vee t} \varepsilon_k^{\mathrm{T}}(\tau) \xi\left(\varepsilon_k(\tau)\right) \boldsymbol{\varGamma} \xi^{\mathrm{T}}\left(\varepsilon_k(\tau)\right) \varepsilon_k(\tau) \mathrm{d} \tau- \\ & \;\;\;\;\frac{1}{2} \varepsilon_{k-1}^{\mathrm{T}}\left(\tau_k \vee t\right) Q \varepsilon_{k-1}\left(\tau_k \vee t\right), \end{aligned} (21) 其中,τk∨t=min{τk, t}。至此,可以证明ΔVk(t)≤0。
第二步:对V0(t)求导可得,
\dot{V}_0(t)=\frac{1}{2} \frac{\mathrm{d}}{\mathrm{d} t}\left(\boldsymbol{E}_0^{\mathrm{T}}(t) \boldsymbol{Q} \boldsymbol{E}_0(t)\right)+\frac{1}{2} \tilde{\boldsymbol{\delta}}_0^{\mathrm{T}}(t) \boldsymbol{\varGamma}^{-1} \tilde{\boldsymbol{\delta}}_0(t), (22) 根据 \boldsymbol{E}_0(t)=\lambda_0 \varepsilon_0(t)+\left(1-\lambda_0\right) \varepsilon_0(t),可以推导出
\frac{1}{2} \frac{\mathrm{d}}{\mathrm{d} t}\left(\varepsilon_0^{\mathrm{T}}(t) Q \varepsilon_0(t)\right) \leqslant \lambda_0 \varepsilon_0^{\mathrm{T}}(t) \xi\left(\varepsilon_0(t)\right) \tilde{\boldsymbol{\delta}}_0(t), (23) 将式(23)代入式(22),可以得到
\dot{V}_0(t) \leqslant \frac{1}{2} \boldsymbol{\delta}^{\mathrm{T}} \boldsymbol{\varGamma}^{-1} \boldsymbol{\delta} \leqslant M, (24) 其中,M是一个正实数。对式(24)两边求积分,
V_0(t)=\int_0^t \dot{V}_0(\tau) \mathrm{d} \tau \leqslant M T \text { 。 } (25) 第三步:从式(21)可以容易得到:
\sum\limits_{i=1}^k \Delta V_i(t) \leqslant-\sum\limits_{i=1}^k \frac{1}{2} \varepsilon_{i-1}^{\mathrm{T}}\left(\tau_i \vee t\right) \boldsymbol{Q} \varepsilon_{i-1}\left(\tau_i \vee t\right), (26) 进一步可得:
\sum\limits_{i=1}^{\infty} \varepsilon_{i-1}^{\mathrm{T}}\left(\tau_i \vee t\right) \boldsymbol{Q}\varepsilon_{_{i-1}}\left(\tau_i \vee t\right) \leqslant 2 M T 。 (27) 最后,得出结论 \lim \limits_{k \rightarrow \infty} \varepsilon_k(t)=0。
3. 结果与讨论
在安装了摄像机的平面机械臂中,图像平面与工作平面平行。当平面机器人机械臂执行重复操作时,从工作平面到图像平面的光流投影可以建模为式(2)。
参数设置如下:t∈[0, 2];采样间隔为0.001;[xk(1)(t), xk(2)(t)]T定义为机械臂末端执行器的中心; [uk(1)(t)uk(2)(t)]T定义为机械臂末端执行器的速度,即系统机械臂控制器的控制输入; ∂1和∂2是摄像机的比例因子,设为∂1=∂2=1; θ代表方向,取值为θ=π/2;系统的跟踪轨迹为rd(t)=[cos(3t), sin(2t)]T。
图 2给出了带摄像头机械臂实物图,同时展开了仿真实验,实验效果如图 3~图 9所示。系统外部噪声[nk(1)(t)nk(2)(t)]T变换区间为[-0.1, 0.1]。
图 4给出了不同迭代次数下的时间长度,第一次迭代时间长度为1.5,第2次迭代时间长度为1.8,第3次迭代时间长度为1,第10次迭代时间长度为1.3,第50次迭代时间长度为2,分别表示为τ1=1.5,τ2=1.8,τ3=1,τ10=1.3,以及τ50=2,其中,τk=2是期望的时间长度。
图 5展示了系统的跟踪误差,系统的每次迭代的最大绝对误差随着迭代次数逐渐减小。当迭代次数为50的时候,系统的跟踪误差趋近为0。
选择系统的估计矩阵
\hat{\boldsymbol{G}}=\left[\begin{array}{lll} -0.5 & 1 ;-0.5 & -1 \end{array}\right], 则 \operatorname{spec}(-\boldsymbol{G} \hat{\boldsymbol{G}}) \subset C^{-},从结果可以看出系统的控制增益矩阵与估计矩阵的乘积的负值均落在了复平面的左半平面,因此该估计矩阵是满足定理条件的。设置参数更新律的增益为
\boldsymbol{\varGamma}=\left[\begin{array}{llll} 1 & 0 ; & 0 & 1 \end{array}\right] \text { 。 } 使用最大绝对误差评估算法的有效性。
图 6展示了系统在不同迭代次数下,系统遭受不均匀的时间长度时,系统的实际输出跟踪期望轨迹的情况。红色线代表期望的跟踪轨迹,且时间长度为期望的时长;第1次迭代任务,机械臂在执行到τ1=1.5时,便停止前进,返回进入到下一次迭代任务,此时,系统的实际输出与期望轨迹相差较大;第2次迭代任务,机械臂在执行到τ2=1.8时候,停止前进,返回进入到第3迭代任务,此时,系统的实际输出与期望轨迹仍然相差较大,但是相比第次迭代已经有靠近趋势;第3次迭代任务,机械臂在执行到τ3=1时,停止前进,返回进入到第4迭代任务,此时,系统的实际输出与期望轨迹仍然相差较大;第10次迭代任务,机械臂在执到τ10=1.3时,停止前进,返回进入到第11迭代任务,此时,系统的实际输出与期望轨迹基本重合;当迭代次数为50时,系统的实际输出完全跟踪了系统的期望轨迹。
图 7为自适应参数 \hat{\boldsymbol{\delta}}_k(t)的2个分量在t=1时随迭代轴的变化,随着迭代次数的增大最终稳定在固定值。图 8和图 9分别为第1次迭代和第41次迭代时的控制输入uk(1)(t) 和uk(2)(t)。第1次迭代的时间长度为τ1=1.5,第41次迭代的τ41=1.5。
4. 结论
针对不确定控制增益矩阵的多输入多输出视觉机械臂系统,当系统的时间长度随迭代次数变换时,通过设计自适应迭代学习控制算法,系统仍然可以保证系统的跟踪误差趋向为零。相比现有的具有变时间长度的自适应迭代学习控制研究,本文假设系统的控制增益矩阵是不确定的,通过设计李雅普诺夫复合能量函数的方法,证明了方法的收敛性。通过对带有摄像头的机械臂系统进行仿真试验,证实了方法的有效性。
-
-
[1] 孙明轩, 黄宝健. 迭代学习控制[M]. 北京: 国防工业出版社, 1999. [2] ARIMOTO S, KAWAMURA S, MIYAZAKI F. Bettering operation of robots by learning[J]. Journal of Robotic Systems, 1984, 1(2): 123-140. doi: 10.1002/rob.4620010203
[3] 谢胜利, 田森平, 谢振东. 迭代学习控制的理论与应用[M]. 北京: 科学出版社, 2005. [4] JIN X. Iterative learning control for MIMO nonlinear systems with iteration-varying trial lengths using modified composite energy function analysis[J]. IEEE Transactions on Cybernetics, 2021, 51: 6080-6090. doi: 10.1109/TCYB.2020.2966625
[5] MENG D, ZHANG J. Convergence analysis of robust iterative learning control against nonrepetitive uncertainties: system equivalence transformation[J]. IEEE Transactions on Neural Networks and Learning Systems, 2021, 32(9): 3867-3879. doi: 10.1109/TNNLS.2020.3016057
[6] SHEN M, WU X, PARK J H, et al. Iterative learning control of constrained systems with varying trial lengths under alignment condition[J]. IEEE Transactions on Neural Networks and Learning Systems, 2022(2): 18-18.
[7] WEI Y, CHEN Y, SHANG W. Feedback higher-order iterative learning control for nonlinear systems with non-uniform iteration lengths and random initial state shifts[J]. Journal of the Franklin Institute, 2023, 360: 10745-10765. doi: 10.1016/j.jfranklin.2023.08.016
[8] LIU C, SHEN D, WANG J R. Adaptive learning control for general nonlinear systems with nonuniform trial lengths, initial state deviation, and unknown control direction[J]. International Journal of Robust and Nonlinear Control, 2019, 29(16): 6227-6243.
[9] MENG D, MOORE K L. Robust iterative learning control for nonrepetitive uncertain systems[J]. IEEE Transactions on Automatic Control, 2017, 62(2): 907-913. doi: 10.1109/TAC.2016.2560961
[10] SHEN D, XU J X. Adaptive learning control for nonlinear systems with randomly varying iteration lengths[J]. IEEE Transactions on Neural Networks and Learning Systems, 2018, 4: 1-14.
[11] PING J, CHEN H, BAMFORTH L. A universal iterative learning stabilizer for a class of MIMO systems[J]. Automatica, 2006, 42(6): 973-981. doi: 10.1016/j.automatica.2006.02.001
[12] DING Y Q, LI X D. A unified adaptive control approach of nonlinear continuous non-parameterized systems with asymmetric control gains for trajectory tracking in different domains[J]. International Journal of Robust and Nonlinear Control, 2023, 33: 3964-3987. doi: 10.1002/rnc.6305
[13] ZHANG Y N, DING Y Q, QIU B B, et. al. ZD method based nonlinear and robust control of agitator tank[J]. Asian Journal of Control, 2018, 20(7): 1-16.
[14] 黄青丹, 何彬彬, 宋浩永, 等. 基于双目立体视觉的目标空间坐标计算及姿态估计[J]. 华南师范大学学报(自然科学版), 2020, 52(2): 9-13. doi: 10.6054/j.jscnun.2020020 HUANG Q D, HE B B, SONG H Y, et al. Space coordinate calculation and attitude estimation based on binocular stereo vision[J]. Journal of South China Normal University (Natural Science Edition), 2020, 52(2): 9-13. doi: 10.6054/j.jscnun.2020020
[15] 范贤博俊, 陈立家, 李珅, 等. 鲁棒的视觉机械臂联合建模优化方法[J]. 计算机应用, 2023, 43(3): 962-971. https://www.cnki.com.cn/Article/CJFDTOTAL-JSJY202303040.htm FAN X B J, CHEN L J, LI K, et al. Robust joint modeling and optimization method for visual manipulators[J]. Journal of Computer Applications, 2023, 43(3): 962-971. https://www.cnki.com.cn/Article/CJFDTOTAL-JSJY202303040.htm
[16] 解霄鹏, 王佳玮, 高波, 等. 基于视觉反馈的机械臂位置模糊控制[J]. 应用科技, 2023(6): 111-116. https://www.cnki.com.cn/Article/CJFDTOTAL-YYKJ202306020.htm XIE X P, WANG J W, GAO B, et al. Fuzzy control of robot arm position based on visual feedback[J]. Applied Sceence and Technology, 2023(6): 111-116. https://www.cnki.com.cn/Article/CJFDTOTAL-YYKJ202306020.htm