树人论文网一个专业的学术咨询网站!!!
树人论文网

移动机器人的线性自抗扰控制设计与实验验证

来源: 树人论文网发表时间:2021-11-24
简要:摘要: 为了实现移动机器人的高精度轨迹跟踪控制, 设计了一种基于扩张状态观测器的扰动抑制方法和相应的实验验证平台. 首先考虑到不确定扰动如车轮纵向和侧向滑动对移动机器人系统控制

  摘要: 为了实现移动机器人的高精度轨迹跟踪控制, 设计了一种基于扩张状态观测器的扰动抑制方法和相应的实验验证平台. 首先考虑到不确定扰动如车轮纵向和侧向滑动对移动机器人系统控制性能的影响, 建立了受扰下的运动学模型; 然后基于扩张后的运动学模型设计了扩张状态观测器来估计系统扰动; 接着利用扰动估计构建了线性自抗扰控制器, 并利用Lyapunov函数证明了闭环系统的稳定性; 同时, 基于Matlab/Simulink软件和微控制器搭建了所推荐控制算法的实验验证平台. 仿真和实验结果都验证了所提出控制方法的有效性.

  关键词: 移动机器人; 轨迹跟踪; 线性自抗扰控制; 扩张状态观测器

移动机器人的线性自抗扰控制设计与实验验证

  王会明; 张扬; 王雪闯, 控制理论与应用 发表时间:2021-11-18

  1 引言

  当前移动机器人已被广泛地应用于航天航空, 机场服务, 仓储物流等各种重要领域, 轨迹跟踪问题一直是移动机器人控制研究的热点之一 [1–3] . 为了让移动机器人达到高精度的跟踪目的, 学者们提出了很多有效的控制方法, 如反步法控制 [4] , 神经网络控制 [5–6] , 滑模控制 [7–8] , 自适应控制 [9]等. 然而上面提到的这些控制算法都是建立在“纯滚动无滑动”理想条件下的, 并没有考虑实际运行中扰动对移动机器人控制性能的影响. 因此当移动机器人遭受各种严重扰动时, 将会不可避免地影响其控制性能 [10] .

  为了解决上述存在的问题, 文献 [11]针对车轮存在纵向滑动, 提出了一种自适应非线性反馈控制器以补偿扰动影响实现了轨迹跟踪的目的. 文献 [12]提出了一种级联的控制器结构, 解决了在有界外扰和参数不确定性条件下的轮式移动机器人轨迹跟踪问题, 并且通过仿真验证了所提控制方法的鲁棒性和有效性. 文献 [13]讨论了轮式移动机器人存在外部扰动和惯性不确定性情况下的自适应滑模轨迹跟踪控制问题. 文献 [14]针对具有侧向和纵向滑动下的非线性离散时间移动机器人动态系统, 提出了一种基于强化学习的自适应神经网络控制跟踪算法. 上述提到的控制策略都在一定程度上提高控制系统的跟踪性能, 具有良好的扰动抑制能力. 但是,上述方法普遍存在以下问题: 1) 控制器参数多, 调参困难; 2) 算法计算量大, 需要高性能的设备来配合,增加了硬件成本.

  近些年来, 基于观测器的抗扰控制方法由于具有众多优点得到了广泛关注 [15–17]。常用的观测器主要有滑模观测器, 扰动观测器, 广义比例积分观测器, 扩张状态观测器等. 文献 [18]提出了一种基于扰动观测器的自适应跟踪控制器, 解决了轮式移动机器人动力学模型中存在不确定扰动的问题, 有效地提高了控制系统的抗干扰能力. 文献 [19]设计了一种鲁棒跟踪控制策略, 该方法由基于滑模观测器设计的运动学控制器和非线性扰动观测器设计的动力学控制器组成, 解决了输入干扰以及纵向与侧向滑动干扰下移动机器人的轨迹跟踪问题. 应该指出的是上述提到的这些扰动观测器都可以用来观测系统扰动, 使用时可以根据所研究系统实际情况来选择合适的观测器.

  本文主要研究不确定扰动情况下轮式移动机器人的轨迹跟踪问题. 首先建立在车轮纵向和侧向滑动情况下移动机器人的运动学模型. 然后利用该模型设计扩张状态观测器来估计移动机器人受到的各种扰动, 接着利用扰动估计构建轨迹跟踪控制器, 同时给出了系统的稳定性证明过程. 最后仿真和实验结果表明本文提出的控制器能够有效地抑制干扰对系统性能造成的不利影响, 使移动机器人快速准确地跟踪上其参考轨迹.

  2 移动机器人运动学模型描述

  如图1所示, 定义XOY坐标系为固定参考坐标系, 移动机器人配备了两个主动轮和一个从动轮. 主动轮通过电机给移动机器人提供动力, 可通过改变电机的输入电压调节速度, 达到调节移动机器人位姿的目的. 从动轮主要起到维持机器人平衡的作用. 关于图中的符号做如下说明: r表示车轮的半径, b表示车轮之间距离的一半(轮距), P表示车轮之间距离的几何中心, C为移动机器人的质心, d表示P, C两点之间的距离.

  定 义 移 动 机 器 人 的 完 整 位 姿为q = [x y θ ϕr ϕl ] T , 考虑其在实际运行时由于地面湿滑、摩擦等原因受到纵向和侧向滑动扰动影响, 轮式移动机器人满足下列非完整约束方程 [20]:

  式 中, x和y表 示 移 动 机 器 人 在 固 定 参 考 坐 标系(XOY坐标系) 下的坐标, θ表示方向角, ζ表示侧向滑 动 线 速 度, ϕr和ϕl表 示 两 主 动 轮 的 角 位 移, ηr和ηl表示两主动轮的纵向滑动角速度.

  则受到车轮纵向和侧向滑动扰动影响的轮式移动机器人运动学模型可描述为:

  3 运动学控制器设计与稳定性分析

  定义跟踪误差ex = x − xr, ey = y − yr, 结合公式(2)可得: [ e˙x e˙y ] = [ cos θ − d sin θ sin θ d cos θ ] [v ω ] − [ x˙ r y˙r ] + [ d1 d2 ] = [ u1 u2 ] − [ x˙ r y˙r ] + [ d1 d2 ] . (3) 式中, [ d1 d2 ] = [ −ςv cos θ + (dςω − ζ) sin θ −ςv sin θ − (dςω + ζ) cos θ ] . 假设 1 假设系统(3)中扰动d1, d2的一阶导数存在,且满足条件∥[ ˙d1 ˙d2] T ∥ ≤ µ, µ ∈ R+.

  3.1 运动学控制器设计

  定 义x1 = ex, x2 = ey, xd1 = d1, xd2 = d2, 系统(3)可扩张为如下形式: x˙ 1 = u1 − x˙ r + xd1 , x˙ d1 = ˙d1, x˙ 2 = u2 − y˙r + xd2 , x˙ d2 = ˙d2. (4) 根据上式可设计如下所示的扩张状态观测器(ESO):  ˙xˆ1 = u1 − x˙ r + ˆxd1 − β1(ˆx1 − x1), ˙xˆd1 = −β0(ˆx1 − x1), ˙xˆ2 = u2 − y˙r + ˆxd2 − γ1(ˆx2 − x2), ˙xˆd2 = −γ0(ˆx2 − x2). (5) 式中, xˆ1, xˆ2, xˆd1 , xˆd2 分别为x1, x2, xd1 , xd2 的估计, β0, β1, γ0, γ1 > 0 为观测器增益, βi , γi的配置原则分别 满 足 使 特 征 多 项 式po1 = s 2 + β1s + β0, po2 = s 2 + γ1s + γ0 的根轨迹全部位于复平面s的左半平面 [21]

  基于扩张状态观测器的扰动估计, 可设计线性自抗扰控制器为(LADRC) [21–22]: [ u1 u2 ] = [ x˙ r − kxex − xˆd1 y˙r − kyey − xˆd2 ] . (6) 式中, kx, ky > 0 为控制器增益. 然后根据下式: [ v ω ] = [ cos θ − d sin θ sin θ d cos θ ]−1 [ u1 u2 ] . (7) 可得系统(2)中的v和ω.

  3.2 稳定性分析

  将控制律(6)带入到系统(3)中, 在设计的控制器作用下, 跟踪误差的动态方程可写为: { e˙x = −kxex − ed1 , e˙y = −kyey − ed2 . (8) 式 中, ed1 = ˆxd1 − d1, ed2 = ˆxd2 − d2. 将 式(5)减 去式(4), 可得观测器的误差动态方程为:  e˙x1 = ed1 − β1ex1 , e˙d1 = − ˙d1 − β0ex1 , e˙x2 = ed2 − γ1ex2 , e˙d2 = − ˙d2 − γ0ex2 . (9) 定义下列变量E1 = [ex ey] T , E2 = [ex1 ed1 ] T , E3 = [ex2 ed2 ] T , 结合公式(8)和(9), 可得闭环系统误差动态方程为: E˙ = AE + D. (10)式中, E =  E1 E2 E3  , A =  A1 B1 B2 0 A2 0 0 0 A3  , D =  0 B2 ˙d1 B2 ˙d2  . A1 = [−kx 0; 0 − ky], A2 = [−β1 1; − β0 0], A3 = [−γ1 1; − γ0 0], B1 = [−1 0]T , B1 = [0 − 1]T . 由于A 为Hurwitz矩阵, 因此存在对称正定矩阵P ∈ R6×6 , 使得AT P + P A = −I条件成立.

  定理 1 对于受扰移动机器人系统(2), 在扩张状态观测器(5)和控制器(7)中参数选择合适的情况下, 若系统(2)中的扰动满足假设1, 则系统跟踪误差将会渐近收敛至下面的有界区域 Z = {E|∥E∥ 2 ≤ µ 2λ 2 max(P ) λ 2 min(P )(1 − λmax(P))}.(11) 式中, λmin(P ), λmax(P )分别为正定矩阵P的最小, 最大特征值.

  证明: 定义Lyapunov函数V (E) = ETP E, 对该函数求导可得: V˙ (E) = 2E TP E˙ = 2E TP (AE + D) = −∥E∥ 2 + 2E T P D ≤ −∥E∥ 2 + 2λmax(P )∥E∥∥D∥ ≤ −∥E∥ 2 + λmax(P )∥E∥ 2 + λmax(P )∥D∥ 2 = −(1 − λmax(P ))∥E∥ 2 + λmax(P )∥D∥ 2 . (12) 由于 V (E) λmax(P ) ≤ ∥E∥ ≤ V (E) λmin(P ) . 将上式带入到公式(12)中可得: V˙ (E) ≤ −( 1 λmax(P ) − 1)V (E) + λmax(P )∥D∥ 2 . 根据假设1可得上式的解 V (E) ≤ µ 2λ 2 max(P ) 1 − λmax(P ) + (V (0) − µ 2λ 2 max(P ) 1 − λmax(P ) ) × e −[ 1 λmax(P ) −1] . 则系统跟踪误差将会渐近收敛至有界区域(11). 证明完毕.

  注 1 针对移动机器人轨迹跟踪控制问题, 本文贡献主要有三点: 1) 建立了系统在各类扰动影响下的运动学模型; 2) 给出了包括控制器(6) 和观测器(5) 在内的整个机器人闭环系统的详细稳定性证明过程; 3) 后续的仿真和实验测试验证了所提控制方法的有效性.

  4 仿真与实验测试

  为了显示所推荐控制方法的优点, 我们给出了其与传统PI控制方法的仿真和实验对比结果. 测试中用到的PI 控制器设计如下: [ v ω ] = [ cos θ − d sin θ sin θ d cos θ ]−1 [ u1 u2 ] , (13a) [ u1 u2 ] = [ x˙ r − kP1 ex − kI1 ∫ t 0 exdτ y˙r − kP2 ey − kI2 ∫ t 0 eydτ ] . (13b) 式中, kP1 , kP2 , kI1 , kI2 > 0 为控制器增益. 仿真和实验测试中用到的参考轨迹为 [23]: xr = cos(0.1t), yr = sin(0.1t) cos(0.1t), θr = tanh(¨yr/x¨r). 其 中, tanh(∗)表示反正切函数, θr ∈ [−π π]. 测试用的移动机 器 人 平 台 的 物 理 参 数 为: r = 0.0625 m, b = 0.1645 m, d = 0.1 m.

  4.1 仿真测试

  假设移动机器人在前30 s未受到外界扰动影响, 30 s之 后 受 到 如 下 形 式 的 外 加 扰 动: d1 = −d2 = −0.1 sin(0.02πt) (30 s ≤ t < 70 s), d1 = d2 = 0 (70 s ≤ t ≤ 100 s). 在该仿真实验中, 假 设 移 动 机 器 人 的 初 始 位 姿为q(0) = [−0.2 0.2 0 0 0]T , 推荐控制器的增益选 为kx = ky = 0.5, β0 = γ0 = ρ 2 , β1 = γ1 = 2ρ, ρ = 2.5; PI 控 制 器 参 数 设 置 为: kP1 = kP2 = 1, kI1 = kI2 = 0.25, 仿真步长设置为0.01 s.

  仿真结果如图2-3所示, 图2分别描述了在所推荐控制方法和传统PI控制方法作用下移动机器人的参考位置和实际位置, 位置跟踪误差, 航向角跟踪以及线速度和角速度变化曲线, 图3给出了所提控制方法中扩张状态观测器对扰动的估计曲线. 从图2b(1)与图2b(2)中可以看到, 当移动机器人受到外部扰动影响时, 与传统的PI控制算法相比, 本文提出的控制算法可以使机器人获得更小的跟踪误差, 这表明所提的控制算法具有很好的跟踪性能和较强的干扰抑制能力.

  需要指出的是由于我们研究的移动机器人系统是一个微分平坦的系统, 根据微分同胚映射, 状态θ可以由系统的平坦输出(x, y) 来表示. 因此只要能够保证实际位置(x, y)跟踪上其参考位置(xr, yr), 状态θ就可以在一定误差范围内跟踪上θr, 这一点也可以通过图2c的测试结果得到验证. 关于移动机器人微分平坦属性的详细介绍及相应的控制器设计思路, 可以参考文献 [24].

  4.2 实验验证

  图4是用于算法验证的移动机器人实验平台, 该移动机器人主要由微控制器, 直流减速电机, 电池, 车轮以 及 铝 合 金 的 车 身 组 成. 微 控 制 器 的 型 号为STM32F103RCT6, 该控制器运行底层电机速度控制算法. 两台24V直流减速电机为机器人提供动力, 可通过500线光电编码器测量转速信息. 图5是系统整体框架图, 该系统主要由搭载微控制器的移动机器人和执行Matlab/Simulink的计算机两部分组成. 首先, 微控制器利用串口外设接收Matlab/Simulink发来的控制指令(线速度和角速度), 并随即将控制指令转化为相应的左, 右轮直流电机的转速指令, 同时又可以利用定时器外设以定时采样的方式得到两编码器的增量值, 计算两台直流电机的实际转速; 然后, 通过两直流电机的转速信息可计算出当前时刻的线速度和角速度, 并且采用基于运动学模型的里程计算法推算出当前位置(通过串口发送到Matlab/Simulink); 最后, 运行底层电机控制算法的微控制器利用直流电机的转速指令和实际转速之间的差值计算出PWM信号, 将该信号作用到直流电机驱动器上, 实现速度调节的功能.

  在该实验测试中, 移动机器人的初始位姿设置为q(0) = [0 0 0 0 0]T , 实验中推荐控制器和PI控制器的参数设置分别与仿真测试时相同. 两种控制方法的采样控制周期都设置为0.01 s. 实验结果如图6-7所示, 分别描述了在两种控制方法下移动机器人在X轴和Y轴方向的轨迹跟踪效果, 线速度和角速度的跟踪效 果 以 及 对 扰 动 的 估 计 结 果. 根 据 图6b(1)和图6b(2)的位置跟踪误差曲线可以看出, 在机器人稳态运行至30 s时施加扰动,所推荐控制方法的跟踪误差范围±0.05 m明显小于PI控制方法的跟踪误差范围±0.1 m. 结果表明本文提出的控制方法具有较好的抗干扰能力.

  注 2 通过比较本文所推荐的控制器(4)-(7)和PI 控制器(13)可以看出, 本文所设计的控制器结构简单, 调参数量少(调参数量与PI 控制器的数量相同都只有两个). 同时与已有研究成果 [11–14]相比, 所推荐方法由于使用ESO来实时动态的估计系统干扰, 不需要设计计算量较大的自适应或者强化学习机制, 因而可以有效降低系统计算负担.

  5 结语

  为了解决移动机器人在干扰情况下的轨迹跟踪控制问题, 首先, 建立起移动机器人在车轮纵向和侧向滑动情况下的运动学模型; 其次, 根据扩张状态观测器对扰动的估计, 提出了一种基于线性自抗扰的轨迹跟踪控制方法; 然后, 通过定义的Lyapunov函数证明了系统的稳定性; 最后, 仿真和实验结果都验证了所提控制方法的有效性和鲁棒性. 为了进一步提高移动机器人的跟踪性能, 接下来我们将利用高性能的微控制器来设计和验证基于非线性扩张状态观测器的自抗扰控制算法和滑模控制算法.