笔记96:前馈控制 + 航向误差

news2024/10/6 14:34:31

1. 回顾


对于一个 \dot{x}=Ax+Bu 系统而言,结构可以画作:

如果采用 u=-Kx 这样的控制策略,结构可以画作:(这就是LQR控制)

使用LQR控制器,可以通过公式 \dot{x}=Ax+Bu 和 u=-Kx 构建一个完美的负反馈系统;

a

a

但是有上一个博客可知,我们的误差型车辆横向动力学方程,有三项,而非两项,这就意味着使用LQR控制器是不够控制我们的这个系统的,因为LQR只对前两项起调节作用;

误差型车辆横向动力学模型

我们的目的:

  • 系统稳定,即 \dot{x}=0

  • 稳态误差为0 ,即 x=0

解释:如果只用【LQR + 反馈】来控制该系统

  • 无法实现两者同时为0,因为稳态误差是由小尾巴 C\dot{\theta _r} 带来的,如果只是 LQR 的话那么可以指定 K 矩阵满足 A=B_1K 即可使得系统 \dot{x}=Ax+B\delta 稳定且稳态误差为0,但是不管 K 如何取值都无法满足系统 \dot{x}=Ax+B\delta +C\dot{\theta _r} 稳定且稳态误差为0;

a

a

本博客主讲:解决LQR中的小尾巴


a

a

a

a

a

2. 引入前馈控制 -- 解决第三项


Step1:

a

a

Step2:现在系统已经稳定了,接下来我们的目的是令稳态误差也为0:

a

a

Step3:令横向误差 e_d 为0

a

a

Step4:令(假)航向误差 e_\varphi 为0

  • e_\varphi 的公式中只有 V_x 的值是受我们控制的,但是如果通过指定 V_x 的值使得稳态误差为0,那么不就意味着车辆只能以一个恒定的速度行驶了,这是不现实的
  • 我们这样想,本身航向误差其实是 \varphi +\beta -\theta _r,我们追求的目标其实是这个公式为0,所以 e_\varphi 不为0反倒是正确的,因为 e_\varphi 被定义为 \varphi-\theta _r,所以我们需要的是 e_\varphi=-\beta

综上:\dot{\theta _r}=k\dot{s}\approx kv_x

则有:

这里出现了一个 may,应该是整个车身受到的侧向力 F,但是这个 F/Cr 就什么都不是了,Cr 只是后轮的侧偏刚度,整车收到的侧向力 / 后轮的侧偏刚度,这啥都不是,所以需要继续化简,所幸这里的给我们提供了化简思路;

则有:e_\varphi=-\beta 符合我们期待的结果(因为 e_\varphi 并不是真正的航向误差)

因此对于下面这个公式,只需要管第一项就可以了,因为后面三项都达到了我们期待的标准

即:

a

a

总结:

  • 计算 K:通过 LQR 中的 Riccati 方程获得

  • 计算 \delta _f:通过下面的公式计算


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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

学习笔记——网络参考模型——TCP/IP模型(网络层)

三、TCP/IP模型-网络层 1、IPV4报头 (1)IPV4报文格式 IP Packet(IP数据包),其包头主要内容如下∶ Version版本∶4 bit,4∶表示为IPv4; 6∶表示为IPv6。 Header Length首部长度∶4 bit,代表IP报头的长度(首部长度),如果不带Opt…

安卓手机平板使用JuiceSSH无公网IP远程连接本地服务器详细流程

文章目录 前言1. Linux安装cpolar2. 创建公网SSH连接地址3. JuiceSSH公网远程连接4. 固定连接SSH公网地址5. SSH固定地址连接测试 前言 处于内网的虚拟机如何被外网访问呢?如何手机就能访问虚拟机呢? 本文就和大家分享一下如何使用 cpolarJuiceSSH 实现手机端远程连接Linux…

conntrack如何限制您的k8s网关

1.1 conntrack 介绍 对于那些不熟悉的人来说,conntrack简单来说是Linux内核的一个子系统,它跟踪所有进入、出去或通过系统的网络连接,允许它监控和管理每个连接的状态,这对于诸如NAT(网络地址转换)、防火墙和保持会话连续性等任务至关重要。它作为Netfilter的一部分运行,…

Ubuntu的启动过程

尽管通常情况下Ubuntu的启动并不需要用户过多地参与,但是Ubuntu系统的启动本身是一个非常复杂的过程。在这个过程中,有硬件的检测、系统内核的准备以及各种系统服务的启动等。作为系统管理员,需要深入了解其中所经历的阶段,才能在…

Cesium开发环境搭建(二)

由于win7搭建很费事,重新安装了OS,win10的。 记录一下,搭建步骤: 1.下载node.js。 百度搜索即可下载对应的版本。下载cesium。 2.安装node.js。 安装后,输入node -v,显示版本信息,表示安装…

【面试干货】索引的作用

【面试干货】索引的作用 1、索引的作用 💖The Begin💖点点关注,收藏不迷路💖 1、索引的作用 索引 可以协助 快速查询、更新数据库表中数据。 通过使用索引,数据库系统能够快速定位到符合查询条件的数据,提…

1.6T模块与DSP技术的演进

近日,光通信行业市场机构LightCounting在市场报告中指出,去年的模块供应商已经展示了首批1.6T光学模块的风采,而今年,DSP供应商更是着眼于第二代1.6T模块设计的未来。这些前沿技术的突破,不仅代表了数据传输速度的飞跃…

【set】集合总结

一、Set Set集合是Collection的子接口,代表一种集合,此种集合是元素不重复. 有两个常用实现类 HashSet 是元素不重复,无序,主要是指遍历顺序和插入顺序不一致 TreeSet 是元素不重复,排序 LinkedHashSet不常用 二、HashSet 1.1 介绍 HashSet是Set的实现类 底层是由哈希表实…

Python数据分析I

目录 注:简单起见,下文中"df"均写为"表名","函数"均写为"HS","属性"均写为"SX","范围"均写为"FW"。 1.数据分析常用开源库 注释…

物联网-高性能时序数据库QuestDB

高性能时序数据库QuestDB 开源地址:https://github.com/questdb/questdb 官网:https://questdb.io/ 当前 13.9k start 自带免费可视化管理界面 支持各种语言客户端 C & C .NET Go Java Node.js Python Rust 上手容易可兼容 Postgresql InfluxDB …

浅浅写一个Word、PowerPoint、Excel文档转PDF工具

前言 最近在搞知识库,需要把各种 Word、PowerPoint、Excel 文件转换成 PDF 文件,不然 Word 中的表格中的文字提取会出现一些问题;使用 Office 或者 WPS 将大量文件转换成 PDF 需要频繁重复打开文件,点击保存为PDF,然后…

Qt_C++ RFID网络读卡器Socket Udp通讯示例源码

本示例使用的设备&#xff1a; WIFI/TCP/UDP/HTTP协议RFID液显网络读卡器可二次开发语音播报POE-淘宝网 (taobao.com) #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QHostInfo> #include <QNetworkInterface> #include <…

【机器学习】训练GNN图神经网络模型进行节点分类

1. 引言 1.1 图神经网络GNN概述 图神经网络&#xff08;Graph Neural Network&#xff0c;GNN&#xff09;是一种专门用于处理图结构数据的神经网络方法。它起源于2005年&#xff0c;当时Gori等人首次提出了GNN的概念&#xff0c;用于学习图中的节点特征以及它们之间的关系。…

Doris 少数SQL在Datagrip无法执行,而在DorisUI或程序调用可以执行的问题

问题&#xff1a;Doris 少数SQL在Datagrip无法执行&#xff0c;而在DorisUI或程序调用可以执行 解决&#xff1a;Datagrip 执行SQL切分异常&#xff0c;设置默认执行语句方式&#xff0c;将分句改为整句执行 但是 支持多SQL批量分开执行更好用

英伟达的数字孪生地球是什么

1 英伟达的数字孪生地球 Earth-2是一个全栈式开放平台&#xff0c;包含&#xff1a;ICON 和 IFS 等数值模型的物理模拟&#xff1b;多种机器学习模型&#xff0c;例如 FourCastNet、GraphCast 和通过 NVIDIA Modulus 实现的深度学习天气预测 (DLWP)&#xff1b;以及通过 NVIDI…

大学电工基础与电子设计试题及答案,分享几个实用搜题和学习工具 #其他#经验分享

学习和考试是大学生生活中不可避免的一部分&#xff0c;而在这个信息爆炸的时代&#xff0c;如何快速有效地获取学习资源和解答问题成为了大学生们共同面临的难题。为了解决这个问题&#xff0c;搜题和学习软件应运而生。今天&#xff0c;我将为大家介绍几款备受大学生青睐的搜…

Vue进阶之Vue无代码可视化项目(一)

Vue无代码可视化项目 项目搭建初始步骤拓展:工程项目从0-1项目规范化package.jsoncpell.jsoncustom-words.txtts-eslint规则.eslintrc.cjsgit钩子检查有没有问题type-checkspellchecklint:stylehusky操作安装pre-commitpnpm的commit规范package.json:commitlint.config.cjs安装…

深度解析Linux内核中fork工作原理和实现

Linux内核中的fork()系统调用是用来创建新进程的核心机制。它的主要工作是为新创建的子进程复制当前进程(父进程)的数据结构和内存空间,从而产生一个几乎完全相同的副本。fork()的实现涉及到操作系统内核中许多重要部分的交互和协作,过程比较复杂。 fork()的基本原理 当一个进…

ThinkPHP发邮件配置教程?群发功能安全吗?

ThinkPHP发邮件的注意事项&#xff1f;如何优化邮件发送的性能&#xff1f; 无论是用户注册、密码重置还是消息提醒&#xff0c;发送邮件都是一个常见的需求。AokSend将详细介绍如何在ThinkPHP框架中配置和发送邮件&#xff0c;帮助开发者轻松实现邮件功能。 ThinkPHP发邮件&…

【全开源】同城招聘SAAS信息前程无忧直聘达小程序

招聘SAAS&#xff1a;数字化转型中的招聘新助力 基于ThinkPHP和原生微信小程序开发的招聘平台系统&#xff0c;包含微信小程序求职者端、微信小程序企业招聘端、PC企业招聘端、PC管理平台端​ &#x1f31f; 一、招聘SAAS简介 在人力资源领域&#xff0c;数字化转型已成为不…