无人机|LQR控制算法及其无人机控制中的应用仿真

前言

LQR全称Linear Quadratic Regulator(线性二次调节器),顾名思义用于解决形如
x ˙ = A x + B u y = C x + D u \begin{aligned}\dot{x}&=Ax+Bu\\y&=Cx+Du\end{aligned} x˙y=Ax+Bu=Cx+Du
线性时不变系统的一种线性控制方法,是最优控制方法的一种。
LQR通过全状态反馈将不同状态加权求和得到最优控制量,本文所讨论的是无限时间LQR问题,即可以保证系统是渐进稳定的,不考虑收敛时间。该方法主要思想是构造以状态量以及控制量相关的二次代价函数,通过最小化该代价函数寻找成本最低的解。

LQR基本原理

考虑形如
x ˙ = A x + B u y = C x + D u \begin{aligned}\dot{x}&=Ax+Bu\\y&=Cx+Du\end{aligned} x˙y=Ax+Bu=Cx+Du的系统
其中控制量满足
u = − K x u=-Kx u=Kx
K为反馈矩阵
考虑无穷时间内的代价函数,由于系统无稳态误差,故时间趋于无穷时终端约束项为0
构造代价函数为
m i n J = 1 2 ∫ 0 ∞ ( x T Q x + u T R u ) d t , Q = Q T , R = R T , Q ≥ 0 , R > 0 min J=\frac1{2}\int_0^\infty(x^TQx+u^TRu)dt,Q=Q^T,R=R^T,Q\geq0,R>0 minJ=210(xTQx+uTRu)dt,Q=QT,R=RT,Q0,R>0
一般地,Q和R均为正定对角阵。
求解该代价函数最小时所对应的K矩阵,即可求得最优控制量。
matlab中可以直接使用工具包求解,如

K=lqr(A,B,Q,R)

公式推导

利用拉格朗日乘子法构造增广泛函
J , = ∫ 0 ∞ ( 1 2 ( x T Q x + u T R u ) + λ T ( A x + B u − x ˙ ) ) d t J^{,}=\int_0^\infty(\frac1{2}(x^TQx+u^TRu)+\lambda^T(Ax+Bu-\dot{x}))dt J=0(21(xTQx+uTRu)+λT(Ax+Bux˙))dt
定义纯量函数,及哈密尔顿函数
H ( x , u , λ , t ) = 1 2 ( x T Q x + u T R u ) + λ T ( A x + B u ) H(x,u,\lambda,t)=\frac1{2}(x^TQx+u^TRu)+\lambda^T(Ax+Bu) H(x,u,λ,t)=21(xTQx+uTRu)+λT(Ax+Bu)
则有
在这里插入图片描述
由变分法可得取极值时应满足控制方程
∂ H ∂ u = 0 \frac{\partial H}{\partial u}=0 uH=0
则有
∂ H ∂ u = R u + B T λ = 0 \frac{\partial H}{\partial u}=Ru+B^T\lambda=0 uH=Ru+BTλ=0

u ∗ = − R − 1 B T λ u^*=-R^{-1}B^T\lambda u=R1BTλ
又u应为关于x得线性表达,且由上式可得此时u为 λ \lambda λ的线性表达,故 λ \lambda λ也应为x的线性表达。

λ = P x \lambda=Px λ=Px
则有
u ∗ = − R − 1 B T P x u^*=-R^{-1}B^TPx u=R1BTPx
又根据正则方程
∂ H ∂ x + λ ˙ = 0 \frac{\partial H}{\partial x}+\dot\lambda=0 xH+λ˙=0
∂ H ∂ λ = x ˙ \frac{\partial H}{\partial \lambda}=\dot x λH=x˙

λ ˙ = − ∂ H ∂ x = − Q x − A T λ = − Q x − A T P x \dot\lambda = -\frac{\partial H}{\partial x} = -Qx-A^T\lambda=-Qx-A^TPx λ˙=xH=QxATλ=QxATPx
x ˙ = ∂ H ∂ λ = A x − B R − 1 B T P x \dot x=\frac{\partial H}{\partial \lambda}=Ax-BR^{-1}B^TPx x˙=λH=AxBR1BTPx
又对 λ = P x \lambda=Px λ=Px两边求导,得
λ ˙ = P ˙ x + P x ˙ \dot\lambda=\dot Px+P\dot x λ˙=P˙x+Px˙
P为常数矩阵时,则有
− Q x − A T P x = P A x − P B R − 1 B T P x -Qx-A^TPx = PAx-PBR^{-1}B^TPx QxATPx=PAxPBR1BTPx
又x为非零矩阵,则有
P A + A T P − P B R − 1 B T P + Q = 0 PA+A^TP-PBR^{-1}B^TP+Q=0 PA+ATPPBR1BTP+Q=0
即为riccati方程
求解该方程可得P
由此可解得 u ∗ = − R − 1 B T P x u^*=-R^{-1}B^TPx u=R1BTPx

仿真

在上篇基础上进行控制器修改
TODO

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/522246.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

动态代理详解

动态代理 一、JDK动态代理二、CGLIB动态代理三、Javassist动态代理技术 在程序运行阶段,在内存中动态生成代理类,被称为动态代理,目的是为了减少代理类的数量。解决代码复用的问题。 一、JDK动态代理 DK动态代理技术:只能代理接口…

网络安全防御保护 Day7

1.因为FW1和FW2已处于双机热备状态,所以只需要对主设备进行配置即可。进入FW1的配置界面,选择“网络”界面,点击“IPsec”,进行IPsec通道的基本配置,这里选择的是“电信”链路。 2.完成上述配置后,进行待加…

Linux——基础IO

目录 前言 C语言文件操作 stdin & stdout & stderr 系统文件IO open close write read 文件描述符fd 重定向 dup2 Linux下一切皆文件 缓冲区 简易缓冲区 文件系统 磁盘 创建文件 删除文件 查看文件 软硬链接 软链接 硬链接 动静态库 静态库 …

网络安全: Kali Linux 使用 hping3 阻塞目标主机

目录 一、实验 1.环境 2. 物理机测试远程连接 Windows server 3.Kali Linux 使⽤ hping3 ⼯具 二、问题 1. 常见的 DoS ⽅式有哪些 2.hping3 测试⼯具的命令格式和选项参数 一、实验 1.环境 (1)主机 表1 主机 系统版本IP备注Kali Linux2024.…

第七届强网杯-PWN-【warmup】

文章目录 warmup libc 2.35检查IDA逆向maindeldelete_noteadd_noteshow_noteinput_numberread_16atoi __errno_location()相关解释prctl相关 思路高版本off by null利用技巧产生chunk extend泄露libc基地址泄露heap基地址修改放入tcachebin中的chunk的fd为stdout最后add两个chu…

Excel中筛选合并单元格后,只显示第一行怎么办?

Excel中筛选合并单元格后,只显示第一行怎么办? 参考链接:https://baijiahao.baidu.com/s?id=1736773058549439034&wfr=spider&for=pc 我们日常的Excel数据在展示的时候为了数据的清晰和美观往往部分相同的单元格进行合并,但是合并之后在筛选时会发现结果会显示异…

Nacos2.2.3之MySQL8.X持久化详细配置过程

Nacos2.2.3之MySQL8.X持久化详细配置过程 文章目录 Nacos2.2.3之MySQL8.X持久化详细配置过程1. 官网与下载1. 官网2. Naocs是什么?3. 下载 2. 安装与持久化配置1. 解压安装2. 创建数据库1. 连接数据库2. 创建nacos数据库3. 导入脚本4. 查看表 3. 持久化配置1. appli…

特性螺旋面的刀具设计记录

最近和成型类刀具杠上了,这不最近有小伙伴提供了两个比较特殊的螺旋面工件,通常称作阴、阳转子。具体形状如下: 阴转子 阴转子端面齿形没看出有什么特殊的,但是在轴剖面齿形是内凹的,这个是比较特殊的形式。 阳转子…

使用再生龙(Clonezilla)备份和还原Linux系统

1. 再生龙(Clonezilla)介绍: Clonezilla是一款开源的磁盘克隆和备份工具,它可以帮助用户快速、高效地克隆和备份硬盘或分区。Clonezilla提供了两种不同的版本:Clonezilla Live和Clonezilla SE(Server Edition)。 Clonezilla Live:…

5. Java内存模型JMM

文章目录 计算机硬件存储体系基于计算机存储结构的 JMM Java 内存模型 JavaMemoryModelJMM规范下的三大特性原子性可见性有序性 多线程对变量的读写过程读取过程 多线程先行发生原则 happens-beforex,y 的 case 说明happens-before 原则说明happens-before 大原则happens-befor…

VBA_MF系列技术资料1-395

MF系列VBA技术资料1-395 为了让广大学员在VBA编程中有切实可行的思路及有效的提高自己的编程技巧,我参考大量的资料,并结合自己的经验总结了这份MF系列VBA技术综合资料,而且开放源码(MF04除外),其中MF01-0…

Devc++调试窗口,一闪而过,调试闪退解决办法

今天使用Dev C调试,发现直接给我闪退了,恼火 解决办法: 安装图片所示框框,从上到下选择: 退出重启,OK