基于李雅普诺夫函数的跟踪控制(三)

前言

   本系列将会介绍基于李雅普诺夫函数的跟踪控制问题,以多个不同的例子来具体说明,如何根据李雅普诺夫函数来求解控制律,实现跟踪控制。总共分为7篇博客讲解,分别针对不同的情况。

跟踪控制—系列博客总览

  1. 一阶时不变系统,系统已知,且无扰动
  2. 一阶时不变系统,系统已知,有扰动
  3. 高阶时不变系统,系统已知,且无扰动
  4. 一阶时不变系统,系统部分已知,且无扰动
  5. 一阶时变系统,系统部分已知,且无扰动
  6. 一阶时变系统,系统部分未知,且有扰动
  7. 一阶时不变系统,系统完全未知,且无扰动

   本期讲解的是:高阶时不变系统,系统已知,且无扰动。

问题描述

   已知系统
x˙=f(x)+uy˙=x(1)\begin{matrix} \dot x=f(x)+u \\ \dot y=x \tag{1} \end{matrix} x˙=f(x)+uy˙​=x​(1)
   其中,f(x)f(x)f(x)已知,,求解uuu使得yyy跟踪ydy_dyd​。

求解

   对于这个问题,首先得拆解问题,首先设计xxx跟踪ydy_dyd​,然后设计uuu跟踪xdx_dxd​。

   (1) 设计xxx跟踪ydy_dyd​

   设xxx跟踪ydy_dyd​的误差及其导数
e1(t)=yd(t)−y(t)(2)e_1(t)=y_d(t)-y(t) \tag{2}e1​(t)=yd​(t)−y(t)(2)
e1(t)˙=yd(t)˙−y(t)˙=yd(t)˙−x(3)\dot {e_1(t)}=\dot{y_d(t)}-\dot{y(t)} = \dot{y_d(t)}- x \tag{3}e1​(t)˙​=yd​(t)˙​−y(t)˙​=yd​(t)˙​−x(3)

   取李雅普诺夫函数:
V1=12e12(4)V_1 = \frac{1}{2}e_1^2 \tag{4} V1​=21​e12​(4)
   则,V˙1=e1(e˙1)=e1(yd(t)˙−x)(5)\dot V_1 = e_1(\dot e_1) = e_1(\dot{y_d(t)}- x) \tag{5} V˙1​=e1​(e˙1​)=e1​(yd​(t)˙​−x)(5)

   令:
−k1e1==yd(t)˙−x(8)-k_1e_1= = \dot{y_d(t)}- x \tag{8} −k1​e1​==yd​(t)˙​−x(8)
   则可以得到:

V˙1=−k1e12(7)\dot V_1 = -k_1e_1^2 \tag{7} V˙1​=−k1​e12​(7)
   所以:
xd=yd(t)˙+k1e1(8)x_d=\dot{y_d(t)}+k_1e_1 \tag{8} xd​=yd​(t)˙​+k1​e1​(8)

   (2) 设计uuu跟踪xdx_dxd​

   设uuu跟踪xdx_dxd​的误差及其导数
e2(t)=xd(t)−x(t)(9)e_2(t)=x_d(t)-x(t) \tag{9}e2​(t)=xd​(t)−x(t)(9)
e2(t)˙=xd(t)˙−x(t)˙=yd(t)¨+k1(yd(t)˙−x)−f(x)−u(t)(10)\dot {e_2(t)}=\dot{x_d(t)}-\dot{x(t)} = \ddot{y_d(t)}+k_1( \dot{y_d(t)}-x)-f(x)-u(t) \tag{10}e2​(t)˙​=xd​(t)˙​−x(t)˙​=yd​(t)¨​+k1​(yd​(t)˙​−x)−f(x)−u(t)(10)

   取李雅普诺夫函数:
V2=12e22(11)V_2 = \frac{1}{2}e_2^2 \tag{11} V2​=21​e22​(11)
   则,V˙2=e2(e˙2)=e2(yd(t)¨+k1(yd(t)˙−x)−f(x)−u(t))(12)\dot V_2 = e_2(\dot e_2) = e_2( \ddot{y_d(t)}+k_1( \dot{y_d(t)}-x)-f(x)-u(t)) \tag{12} V˙2​=e2​(e˙2​)=e2​(yd​(t)¨​+k1​(yd​(t)˙​−x)−f(x)−u(t))(12)

   令:
−k2e2==yd(t)¨+k1(yd(t)˙−x)−f(x)−u(t)(13)-k_2e_2= = \ddot{y_d(t)}+k_1( \dot{y_d(t)}-x)-f(x)-u(t) \tag{13} −k2​e2​==yd​(t)¨​+k1​(yd​(t)˙​−x)−f(x)−u(t)(13)
   则可以得到:

V˙2=−k2e22(14)\dot V_2 = -k_2e_2^2 \tag{14} V˙2​=−k2​e22​(14)
   所以:
u(t)=yd(t)¨+k1(yd(t)˙−x)−f(x)+k2e2(15)u(t) = \ddot{y_d(t)}+k_1( \dot{y_d(t)}-x)-f(x) +k_2e_2 \tag{15} u(t)=yd​(t)¨​+k1​(yd​(t)˙​−x)−f(x)+k2​e2​(15)

   (3) 同时收敛分析

   以上的V1V_1V1​和V2V_2V2​必须保证同时收敛,也就是能够同时实现xxx跟踪ydy_dyd​,然后设计uuu跟踪xdx_dxd​。

   因此取:

V=V1+V2=12e12+12e22(16)V = V_1+V_2= \frac{1}{2}e_1^2 + \frac{1}{2}e_2^2 \tag{16}V=V1​+V2​=21​e12​+21​e22​(16)
V˙=V1˙+V2˙=−k1e12−k2e22(17)\dot V = \dot{V_1}+\dot{V_2}= -k_1 e_1^2 - k_2 e_2^2 \tag{17}V˙=V1​˙​+V2​˙​=−k1​e12​−k2​e22​(17)
   dotV<=0dot V <=0dotV<=0,而且VVV是一个负定的,因此,当存在e1e_1e1​和e2e_2e2​不等于0时,一定有V˙<0\dot V <0V˙<0,VVV将会一直下降,同时VVV是满足V>=0V >=0V>=0,所以VVV就会一直趋近于0,即e下降,直到e=0e=0e=0。因此当e1e_1e1​和e2e_2e2​都为0时,系统才会稳定。

基于李雅普诺夫函数的跟踪控制(三)相关推荐

  1. 基于李雅普诺夫函数的跟踪控制(二)

    基于李雅普诺夫函数的跟踪控制(二) 前言    本系列将会介绍基于李雅普诺夫函数的跟踪控制问题,以多个不同的例子来具体说明,如何根据李雅普诺夫函数来求解控制律,实现跟踪控制.总共分为7篇博客讲解,分别 ...

  2. 【Carsim Simulink自动驾驶仿真】基于MPC的轨迹跟踪控制

    如果对Carsim的基础使用还不了解,可以参考:[Carsim Simulink自动驾驶仿真]基于MPC的速度控制 如果对MPC算法原理不清楚,可以参考:如何理解MPC模型预测控制理论 项目介绍: 教 ...

  3. 基于meanshift的手势跟踪与电脑鼠标控制(手势交互系统)

    基于meanshift的手势跟踪与电脑鼠标控制(手势交互系统) zouxy09@qq.com http://blog.csdn.net/zouxy09 一年多前开始接触计算机视觉这个领域的时候,年幼无 ...

  4. 基于MPC的移动机器人轨迹跟踪控制qpOASES例程

    参考了 一个模型预测控制(MPC)的简单实现 https://www.cnblogs.com/zhjblogs/p/13880682.html 与 基于MPC的移动机器人轨迹跟踪控制matlab例程 ...

  5. 基于深度强化学习的智能船舶航迹跟踪控制

    基于深度强化学习的智能船舶航迹跟踪控制 人工智能技术与咨询 昨天 本文来自<中国舰船研究> ,作者祝亢等 关注微信公众号:人工智能技术与咨询.了解更多咨询! 0.   引 言 目前,国内外 ...

  6. 【论文笔记】基于强化学习的连续型机械臂自适应跟踪控制

    文章目录 摘要 关键词 0 引言 1 空间连续型机器人动力学模型 1.1 场景假设 (1) 环境假设 (2) 模型假设 1.2 公式分析 2 空间连续型机器人滑模控制器 3 基于强化学习的滑模控制器 ...

  7. 基于运动学模型的轨迹跟踪控制

    章四 基于运动学模型的轨迹跟踪控制 MPC(4)基于运动学模型的轨迹跟踪控制器设计 无人驾驶车辆模型预测控制(龚建伟)第四章 基于运动学模型的轨迹跟踪控制(仿真部分) 无人车辆在惯性坐标系中,车辆必须 ...

  8. 论文研读笔记(三)——基于障碍函数的移动机器人编队控制安全强化学习

    基于障碍函数的移动机器人编队控制安全强化学习(Barrier Function-based Safe Reinforcement Learning for Formation Control of M ...

  9. 【飞行器】基于matlab四旋翼无人机几何跟踪控制【含Matlab源码 2270期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[飞行器]基于matlab四旋翼无人机几何跟踪控制[含Matlab源码 2270期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式 ...

  10. 基于模糊补偿的液压机械臂轨迹跟踪控制

    摘要: 针对具有摩擦和负载等不确定性的液压机械臂轨迹跟踪控制问题,建立机械臂机械系统.液压系统的数学模型,基于李亚普洛夫函数,提出一种模糊补偿策略进行控制,构造模糊系统逼近摩擦力和负载,应用流量补偿器 ...

最新文章

  1. Go 学习笔记(3)— 包概念、包特点、包名约束、main 包、包的声明、包的引用、包初始化
  2. 上海考研计算机专业院校排名,2018考研:计算机专业全球院校排名公布,上海交通大学竟排第一?...
  3. 【全新打造】思科认证跟踪系统考试注册教程(08.8.30)附word文件下载
  4. ArcEngine创建字段集
  5. RTP协议全解(H264码流和PS流)
  6. jQuery找兄弟系列next(),nextAll(),nextUntil(),prev(),prevAll(),prevUntil(),siblings()
  7. CodeForces - 1345E Quantifier Question(dfs实现拓扑序)
  8. axure原型案例_Axure RP9原型案例:制作一个可以滑动的菜单
  9. 20 Excellent AJAX Effects You Should Know
  10. 使用gdb调试当前运行的程序
  11. Glade3 tutorial in chinese
  12. Opencv_缺少CV_CAP_PROP_FRAME_WIDTH
  13. C#读取 *.exe.config
  14. Android系统中的广播(Broadcast)机制简要介绍和学习计划 .
  15. .Net获取URL中文参数值乱码问题
  16. hbuilder调试代码_【移动端】hbuilder创建app并利用真机运行调试
  17. 关于理财的一点点学习成果(先写这些吧)
  18. Ubuntu下的文件比较工具--meld
  19. ASEMI整流二极管MR754参数,MR754图片,MR754应用
  20. linux joe编辑器,Linux joe命令

热门文章

  1. 如何帮银行保持长期竞争力?融360天机公布独家秘诀
  2. 去大公司,还是小公司?我也曾犹豫彷徨……
  3. 老板,上班迷路了,晚点到~
  4. zstuACM 问题 H: 超级跳跳跳1281
  5. 【BP-GA】基于GA的BP神经网络优化算法
  6. js报错“TypeError: ‘stepUp‘ called on an object that does not implement interface HTMLInputElement”
  7. CM9和AOKP的区别
  8. oracle_用户与概要文件
  9. 隔离:正向隔离、反向隔离。
  10. Android APK文件反编译 查看appid等信息