MPC控制初长成——我陷过的误区
真正接触控制一个多月,现记录自己的误区,以警示自己:
1 . 离散与连续
我经常会拿到连续的系统,用离散的方式去控制,然后反复找原因,还是找不到。要记住:离散和连续要分开!!!,网上的例子大都是连续的!!!
重复一下之前的笔记:
装载系统:sys = ss(A,B,C,D)
转化为离散:sysd = c2d(sys,0.1) 0.1为采样时间
方便调用:Ad = sysd.A Bd = sysd.B
调用内置函数求解Kd和P_lqr:
[Kd, P_lqr] = dlqr(Ad, Bd, Q, R) Q,R连续与离散通用,求解K值得P与MPC的H矩阵最后项的P是同一个P
(之前将连续和离散混在一起了,导致系统根本不稳定或是阶跃感太强,总之出现的样子你无法理解就想想是不是离散和连续搞混了)
2 . MPC的思想
误区,由X0计算出的一系列矩阵,最终得到的Z(包含u和x序列),错将此作为仿真输出;
事实上:误区中我们得到Z序列,而我们需要的也仅是第一项u,其他的没用,用此u控制系统,得到新的X1,新的X1当作X0
更新Beq,重新计算Z序列,得到的u继续控制系统,会得到X2,X2当作X0代入…………,X0,X1,X3,……XN才是我们需要的仿真值,在carsim中,车辆模型代替了系统,得到的X仍用于更新Beq,实车控制时,需要周期采集X来更新Beq,总之要有u作用于系统的思想。
茅塞顿开的感觉真棒,有人带的感觉真好,感谢王工,希望有一天自己也可以独当一面!!!加油
MPC控制初长成——我陷过的误区的更多相关文章
- Java:那些把自己陷进去的误区(一)
那些把自己陷进去的误区 1.1数据类型 1.整型: 1.在Java中,整形的范围为-2147 483 648—2147483647,并且这个范围与运行Java代码的机器无关,此举大大解决了移植问题 ...
- 【原创】ligerGrid使用初长成
第一步:下载ligerUI ,官网: http://www.ligerui.com/ 里边有详细的API.demo等信息,选择需要的版本下载. 第二步:解压缩,得到ligerUI文件夹,里边包含js ...
- 【文献07】基于MPC的WMR点镇定-极坐标系下和轨迹跟踪
参考: Kuhne F , Lages W , Silva J D . Point stabilization of mobile robots with nonlinear model predic ...
- 开发者说 | Apollo控制算法之汽车动力学模型和LQR控制
参考:https://mp.weixin.qq.com/s?__biz=MzI1NjkxOTMyNQ==&mid=2247486444&idx=1&sn=6538bf1fa74 ...
- MPC算法
MPC算法 一. 引言 在工程技术方面,MPC全称可指Model Predictive Control模型预测控制(又称RHC, Receding Horizon ). 模型预测控制算法 一种 ...
- CSS 发明者 Håkon Wium Lie 访谈--csdn zhangxin09
原文地址:https://dev.opera.com/articles/css-twenty-years-hakon/ ---------------------------------------- ...
- 晋城6397.7539(薇)xiaojie:晋城哪里有xiaomei
晋城哪里有小姐服务大保健[微信:6397.7539倩儿小妹[晋城叫小姐服务√o服务微信:6397.7539倩儿小妹[晋城叫小姐服务][十微信:6397.7539倩儿小妹][晋城叫小姐包夜服务][十微信 ...
- 推荐一个基于Dapr的 Red Dog 的完整微服务应用程序
微服务尽管构建起来非常困难,但它们已成为一种越来越流行的架构模式.随着开发人员开始将他们现有的单体代码库迁移到微服务系统,他们花费大量时间来处理分布式应用程序带来的固有挑战,例如状态管理和服务调用.通 ...
- “胡”说IC——菜鸟工程师完美进阶
“胡”说IC——菜鸟工程师完美进阶(数十位行业精英故事分享,顶级猎头十多年来经验总结,对将入或初入IC电子业“菜鸟”职业发展.规划的解惑和点拨.) 胡运旺 编著 ISBN 978-7-121-22 ...
随机推荐
- (Java实现) 洛谷 P1098 字符串的展开
import java.util.ArrayList; import java.util.Scanner; public class zifuchuandezhankai { static Array ...
- Java实现 LeetCode 709 转换成小写字母(ASCII码处理)
709. 转换成小写字母 实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串. 示例 1: 输入: "Hell ...
- python自学Day04(自学书籍python编程从入门到实践)
第5章 if 语句 5.1 一个简单的示例 使用前面的解析列表构建一个0-9的数值列表. 判断0是否在列表中,如果在输出 0在列表A中 A = [i for i in range(0,10)] if ...
- iOS-Core Foundation框架到Foundation桥接的三种方式
温故知新.勤总结,才能生巧!这次总结一下 :Core Foundation框架到Foundation桥接的三种方式 Foundation提供OC的基础类(像NSObject).基本数据类型等. Cor ...
- .Net Core WebAPI + Axios +Vue 实现下载与下载进度条
故事的开始 老板说:系统很慢,下载半个小时无法下载,是否考虑先压缩再给用户下载? 本来是已经压缩过了,不过第一反应应该是用户下的数量多,导致压缩包很大,然后自己测试发现,只是等待的时间比较久而已,仍然 ...
- 多态的C语言实现版本
#ifndef _51_2_H #define _51_2_H typedef void Demo; typedef void Derived; Demo* Demo_create(int i,int ...
- Asp.Net Core入门之自定义服务注册
谈到服务注册,首先我们先了解一下服务注册时使用的三种方式,也代表了不同的服务生命周期: AddTransient AddScoped AddSingleton AddSingleton生命周期最长,其 ...
- RabbitMQ系列之【CentOS6.5安装RabbitMQ】
环境准备 操作系统:CentOS 6.5 Final RabbitMQ: 3.1.5 Python: 2.7.11 ErLang: R16B02 安装预环境(少什么安装什么) yum -y insta ...
- SpringMVC中的@RequestMapping注解
@RequestMapping:设置请求映射,把请求和控制层中的方法设置映射关系 属性: 当请求路径和@RequestMapping的value属性一致时,则该注解所标注的方法即为处理请求的方法 me ...
- 开发小白可以一年涨薪10w?这份java文档功不可没,学透你也可以
靠这份文档,跳槽涨薪10K 金九银十的时候我分享了一份面试文档给我的兄弟,没想到这哥们2个月之内斩获数个BAT的offer, 最后选择了一个他最想要去的公司,既然有这么好的效果,我就打算把这份文档分享 ...