结合生活中常见实际情况可知,无人车的运行空间一般为二维平面。因此,假设无人车的动力学模型如下:

p˙i=viv˙i=ui\begin{aligned} \dot{p}_i = v_i \\ \dot{v}_i = u_i \\ \end{aligned}p˙​i​=vi​v˙i​=ui​​

这里,pi∈R2p_i\in\mathbb{R}^2pi​∈R2 表示UGV的位置状态,vi∈R2v_i\in\mathbb{R}^2vi​∈R2 表示UGV的速度状态,ui∈R2u_i\in\mathbb{R}^2ui​∈R2 表示UGV的控制输入。

也可写成状态空间方程的形式:

x˙i=Axi+Bui\dot{x}_i = A x_i + B u_i x˙i​=Axi​+Bui​

其中,xi=[pi,vi]Tx_i = [p_i, v_i]^Txi​=[pi​,vi​]T,A=[0100]A=\left[\begin{matrix} 0 & 1 \\ 0 & 0 \\ \end{matrix}\right]A=[00​10​],B=[01]B=\left[\begin{matrix} 0 \\ 1 \\ \end{matrix}\right]B=[01​]。

性能指标为:
J=tf+12∫0tfu2(t)dtJ = t_f + \frac{1}{2} \int_{0}^{t_f} u^2(t) dtJ=tf​+21​∫0tf​​u2(t)dt

初始状态(横截条件)为:
p(0)=10p(tf)=0v(0)=1v(tf)=0\begin{aligned} &p(0) = 10 &p(t_f) = 0 \\ &v(0) = 1 &v(t_f) = 0 \\ \end{aligned}​p(0)=10v(0)=1​p(tf​)=0v(tf​)=0​

构建系统Hamilton函数
H=12u2(t)+λ1v+λ2u(t)H = \frac{1}{2} u^2(t) + \lambda_1 v + \lambda_2 u(t)H=21​u2(t)+λ1​v+λ2​u(t)

正则方程
p˙(t)=∂H∂λ1=vv˙(t)=∂H∂λ2=uλ˙1=−∂H∂p=0⇒λ1=aλ˙2=−∂H∂v=−λ1⇒λ2=−at+b\begin{aligned} &\dot{p}(t) = \frac{\partial H}{\partial \lambda_1} = v \\ &\dot{v}(t) = \frac{\partial H}{\partial \lambda_2} = u \\ &\dot{\lambda}_1 = -\frac{\partial H}{\partial p} = 0 \Rightarrow \lambda_1 = a\\ &\dot{\lambda}_2 = -\frac{\partial H}{\partial v} = -\lambda_1 \Rightarrow \lambda_2 = -a t + b \\ \end{aligned}​p˙​(t)=∂λ1​∂H​=vv˙(t)=∂λ2​∂H​=uλ˙1​=−∂p∂H​=0⇒λ1​=aλ˙2​=−∂v∂H​=−λ1​⇒λ2​=−at+b​

因为 uuu 是无约束的,因此有极值条件
∂H∂u=u+λ2=0\frac{\partial H}{\partial u} = u + \lambda_2 = 0 ∂u∂H​=u+λ2​=0

得出来 uuu 的表达式
u=−λ2=at−bu = - \lambda_2 = at - bu=−λ2​=at−b

由 uuu 的表达式做积分可得
v=12at2−bt+cp=16at3−12bt2+ct+d\begin{aligned} v &= \frac{1}{2} a t^2 - b t + c \\ p &= \frac{1}{6} a t^3 - \frac{1}{2} b t^2 + c t + d \\ \end{aligned}vp​=21​at2−bt+c=61​at3−21​bt2+ct+d​

结合横截条件中的初态条件 p(0)=10,v(0)=1p(0) = 10, v(0) = 1p(0)=10,v(0)=1 可得
c=1d=10\begin{aligned} c &= 1 \\ d &= 10 \\ \end{aligned}cd​=1=10​

由Hamilton函数在最优轨线末端应满足的条件 H(tf)=−∂φ∂tfH(t_f) = -\frac{\partial \varphi}{\partial t_f}H(tf​)=−∂tf​∂φ​ 有
H(tf)=12u2(t)+λ1v+λ2u(t)=12(atf−b)2+a(12atf2−btf+c)+(−atf+b)(atf−b)=−∂φ∂tf=−1\begin{aligned} H(t_f) &= \frac{1}{2} u^2(t) + \lambda_1 v + \lambda_2 u(t) \\ &= \frac{1}{2} (at_f-b)^2 + a(\frac{1}{2}a t_f^2 - b t_f + c) + (-at_f + b)(at_f-b) \\ &= -\frac{\partial \varphi}{\partial t_f} \\ &= -1 \\ \end{aligned}H(tf​)​=21​u2(t)+λ1​v+λ2​u(t)=21​(atf​−b)2+a(21​atf2​−btf​+c)+(−atf​+b)(atf​−b)=−∂tf​∂φ​=−1​

再结合横街条件中的末态条件 p(tf)=0,v(tf)=0p(t_f) = 0, v(t_f) = 0p(tf​)=0,v(tf​)=0,现在已经三个方程三个未知量,解方程即可
{12(atf−b)2+a(12atf2−btf+c)+(−atf+b)(atf−b)=−112atf2−btf+c=016atf3−12btf2+ctf+d=0\left\{\begin{aligned} &\frac{1}{2} (at_f-b)^2 + a(\frac{1}{2}a t_f^2 - b t_f + c) + (-at_f + b)(at_f-b) = -1 \\ &\frac{1}{2} a t_f^2 - b t_f + c = 0 \\ &\frac{1}{6} a t_f^3 - \frac{1}{2} b t_f^2 + c t_f + d = 0 \\ \end{aligned}\right.⎩⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎧​​21​(atf​−b)2+a(21​atf2​−btf​+c)+(−atf​+b)(atf​−b)=−121​atf2​−btf​+c=061​atf3​−21​btf2​+ctf​+d=0​

利用Matlab解算方程组

syms a b tf
eqns = [1/2*(a*tf-b)^2 + a*(1/2*a*tf^2-b*tf+1) + (-a*tf+b)*(a*tf-b) == -1,... 1/2*a*tf^2 - b*tf + 1==0,... 1/6*a*tf^3 - 1/2*b*tf^2 + tf + 10==0];
vars = [a b tf];
[a b tf] = solve(eqns, vars);double(a)
double(b)
double(tf)a = 0.4276
b = 1.6897
tf= 7.2589

解的最后结果为
{a=0.4276b=1.6897tf=7.2589\left\{\begin{aligned} &a = 0.4276 \\ &b = 1.6897 \\ &t_f = 7.2589 \\ \end{aligned}\right.⎩⎪⎨⎪⎧​​a=0.4276b=1.6897tf​=7.2589​

因此,代入解算出来的参数,那么有最优
{tf∗=7.2589u∗(t)=0.4276t−1.6897v∗(t)=0.2138t2−1.6897t+1p∗(t)=0.0713t3−0.8448t2+t+10J∗(t)=tf∗+12∫0tf∗u∗2(t)dt\left\{\begin{aligned} &t_f^* = 7.2589 \\ &u^*(t) = 0.4276 t - 1.6897 \\ &v^*(t) = 0.2138 t^2 - 1.6897 t + 1 \\ &p^*(t) = 0.0713 t^3 - 0.8448 t^2 + t + 10 \\ &J^*(t) = t_f^* + \frac{1}{2} \int_{0}^{t_f^*} u^{*2}(t) dt \\ \end{aligned}\right.⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧​​tf∗​=7.2589u∗(t)=0.4276t−1.6897v∗(t)=0.2138t2−1.6897t+1p∗(t)=0.0713t3−0.8448t2+t+10J∗(t)=tf∗​+21​∫0tf∗​​u∗2(t)dt​

【控制】二阶 UGV 的无穷时间状态输入性能最优解算相关推荐

  1. 【控制】二阶 UGV 的 时间-输入 指标性能最优解算

    结合生活中常见实际情况可知,无人车的运行空间一般为二维平面.因此,假设无人车的动力学模型如下: p˙i=viv˙i=ui\begin{aligned} \dot{p}_i = v_i \\ \dot{ ...

  2. matlab二阶阻尼震荡衰减,二阶欠阻尼电路的零响应输入-MATLAB课程设计.doc

    二阶欠阻尼电路的零响应输入-MATLAB课程设计.doc 摘要 MATLAB具有强大的运算和作图功能,为电路分析引入计算机数值方法提供了技术保证.MATLAB中的变量与常量都是矩阵,其元素可以使复数和 ...

  3. tplink控制上网设备_tplink路由器如何控制小孩的使用上网时间

    小孩子健康的上网,是很多家长关心的问题,使用路由器可以轻松的做到小孩与大人的网络隔离:路由器设置中可以很方便的控制上网时间,那么如何实现上网时间限制功能呢? 本文介绍TL-WDR6500的上网时间限制 ...

  4. 控制儿童在什么时段使用计算机,win10系统设置控制孩子用电脑的时间的图文步骤...

    win10系统使用久了,好多网友反馈说关于对win10系统设置控制孩子用电脑的时间设置的方法,在使用win10系统的过程中经常不知道如何去对win10系统设置控制孩子用电脑的时间进行设置,有什么好的办 ...

  5. 控制儿童在什么时段使用计算机,如何控制小孩用电脑的时间

    炎炎夏日,一年一度的暑假又到来了,这时候最开心的当然是孩子们了,毕竟可以轻轻松松的玩两个月,不用早起,不用上学.然而,与此同时,家长们就要开始担忧了.他们要考虑,当他们去上班之后,孩子们在家里玩一整天 ...

  6. 让脚趾来控制上千人的网络状态,简直太有成就感了

    猫猫分享必属精品 刚上大学没多久,就遇到件头疼事. 富二代们刚来就带着笔记本电脑,这让咱们只能玩手机的屌丝辈们羡慕嫉妒恨.要命的事来了,晚上断电不断网,于是熄灯后笔记本仍然可以玩. 不巧的是,我们寝室 ...

  7. 【四足机器人--控制指令输入及转换】(1)遥控手柄状态指令转换为机器人躯干状态输入代码解析

    系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录 前言 一.遥控手柄输入的躯干状态指令类型(位置.姿态.角度.角速度) 类型 ...

  8. 控制儿童在什么时段使用计算机,利用家长控制限制孩子使用电脑时间,让其只能学习不能玩游戏...

    原标题:利用家长控制限制孩子使用电脑时间,让其只能学习不能玩游戏 小孩玩电脑是很没有节制的,其实Windows系统有一个家长控制,可以限制使用计算机的时段.可以玩的游戏类型以及可以运行的程序.下面我们 ...

  9. html中wmv播放不要自动播放,网页播放器 windowsmediaplay中控制从wmv的指定时间开始播放,指定时间停止播放...

    首页 > 网络编程 > 网页播放器 > 网页播放器 windowsmediaplay 网页播放器 windowsmediaplay中控制从wmv的指定时间开始播放,指定时间停止播放 ...

最新文章

  1. BZOJ 2037 Sue的小球
  2. 深度学习卷积网络中反卷积/转置卷积的理解 transposed conv/deconv
  3. python退出程序-【转】python 退出程序的方式
  4. 李飞飞的斯坦福 HAI 招人了,薪资丰厚科研经费管够
  5. Flink从入门到放弃之源码解析系列-第1章 Flink组件和逻辑计划
  6. CentOS7 编译安装LVS 互为主备 (实测 笔记 Centos 7.0 + ipvsadm 1.27 + keepalived 1.2.15 )
  7. 设计模式(一):工厂方法
  8. STL Map学习总结
  9. POJ1958 Strange Towers of Hanoi [递推]
  10. java中取系统时间_JAVA中获取当前系统时间(示例代码)
  11. 鸿蒙手表升级计划,鸿蒙升级第一夜,服务器崩了!各机型升级排期表来了
  12. 计算机科学梦想演讲稿,关于科技演讲稿讲话稿范文三篇
  13. python手机版做小游戏代码大全-20行python代码的入门级小游戏的详解
  14. 交换机与路由器登录密码破解
  15. ps制作公章教程,沿着圆圈打字,斑驳效果
  16. Android ANR日志分析指南
  17. 【索引分类】位图索引
  18. MDI窗体(多文档界面)
  19. php 网站在线客服,网页在线客服PHP源码含APP
  20. 软件的注册码及清除电脑垃圾的文件

热门文章

  1. Linux下创建用户、切换用户、删除用户
  2. jQuery的Ajax初识
  3. css3动画:animation
  4. 生成和验证注册码的基本思路
  5. jQuery EasyUI API 中文文档 - Documentation 文档
  6. UA OPTI570 量子力学29 摄动理论简介
  7. 未解决oracle错误12505、01034、27101
  8. 字符串的前缀与后缀和简单示例程序win32版
  9. 最小操作系统的代码解释、NASM的初步使用
  10. 影响软件测试未来的5件事 (译)