基于自抗扰控制ADRC的主动悬架控制

news/2024/10/30 17:23:26/

目录

 

前言

1. 悬架系统 

2.ADRC流程图

3.仿真分析

3.1  性能指标和观测效果对比

3.2控制输入对比 

3.3 性能指标均方根对比 

4.总结


 

前言

之前通过4篇文章介绍了ADRC,并且在最后一篇文章中进行了总结和应用,本篇文章继续将其应用于悬架对象上,并且在相同的调节参数下,对比测试和PID的控制效果。

上几篇文章推荐阅读链接:

自抗扰控制ADRC之三种微分跟踪器TD仿真分析_Mr. 邹的博客-CSDN博客

自抗扰控制ADRC之扩张观测器_Mr. 邹的博客-CSDN博客

自抗扰控制ADRC之反馈控制律(NLSEF)_Mr. 邹的博客-CSDN博客

ADRC自抗扰控制总结_Mr. 邹的博客-CSDN博客

1. 悬架系统 

d779ff0ed0b84af2801ae1c1457ad148.png

b60bcf7b370c4d4b8d8154bb5947e757.png

2.ADRC流程图

720774b72618f182941125973263a660.png 

3.仿真分析

为了方便清晰对比仿真结果,这里以正弦路面作为激励,仿真结果如下:

3.1  性能指标和观测效果对比

fbfa059c29414f7ca99fc895712c0896.png

275dadc6efbf485f81b0a02c9ee54baf.png

382cf998316b4048b75ca4893530f424.png

e9decab0f55943f7b05f86cd07192e37.png

f7418a169a0d4e4aa6209c68787d46b0.png

3.2控制输入对比 

8b59af54d4694949a52cab16bb4cdb82.png

3.3 性能指标均方根对比 

c9778760927640528c6ce20bf077d3f6.png

e960e77c86f144d4beb9ace3815ebf9b.png

00d243ab6e2248aaa1516028140b09ab.png

4.总结

可以看到,在相同调节参数下ADRC的控制效果要好于传统的PID控制,并且可以很好的改善微分后的抖动,以及比例过大的超调现象。

 

 

 


http://www.ppmy.cn/news/29861.html

相关文章

Modbus协议初探(C#实现)

由于作者水平有限,如有写得不对得地方请指正 趁着今天休息,就折腾一下Modbus协议,之前零零散散的看过几篇博客,听说搞上位机开发的要会这个协议,虽然我不是搞上位机开发的,但个人对这个比较感兴趣。按照我个…

【蒸滴C】C语言结构体入门?看这一篇就够了

目录 一、结构体的定义 二、结构的声明 例子 三、 结构成员的类型 结构体变量的定义和初始化 1.声明类型的同时定义变量p1 2.直接定义结构体变量p2 3.初始化:定义变量的同时赋初值。 4.结构体变量的定义放在结构体的声明之后 5.结构体嵌套初始化 6.结构体…

双指针法|位运算|离散化|区间合并

目录 双指针算法 位运算 离散化 序列合并 双指针算法 题目描述&#xff1a;1.输入n个单词&#xff0c;每个单词在输入的时候按空格隔开&#xff0c;之后打印出每个单词且换行 #include<iostream> #include <string>using namespace std; int main() {strin…

JavaScript简述

JavaScript简述JavaScript简介JS用法JavaScript输出window.alert&#xff08;&#xff09;document.write&#xff08;&#xff09;innerHTML&#xff08;&#xff09;console.log&#xff08;&#xff09;JavaScript简介 JavaScript是脚本语言&#xff0c;可用于HTML和web。 …

Java 多线程 --- 线程协作 wait/notify

Java 多线程 --- 线程协作 wait/notifywait / notifyObject.wait() , Object.notify() / notifyAll()notify 和 wait 的原理notify会导致死锁的问题wait / notify的开销以及问题wait / notify 在多线程中, 如果程序拿到锁之后, 但是没有满足指定条件而不能继续往下执行, 我们可…

使用ECharts打造一个数据可视化面板

使用ECharts打造一个数据可视化面板1. 使用技术2. 案例适配方案3. 基础设置4. header 布局5. mainbox 主体模块6. 公共面板模块 panel7. 柱形图 bar 模块&#xff08;布局&#xff09;8. 中间布局9. ECharts 介绍10. ECharts 体验11. ECharts 基础配置12. 柱状图图表&#xff0…

Java switch case 语句

Java 的 switch case 语句是一种常用的控制流语句&#xff0c;用于基于不同的输入值执行不同的操作。本文将详细介绍 Java switch case 语句的作用、用法以及在实际工作中的应用。 一、switch case 语句的作用 switch case 语句是一种多分支条件语句&#xff0c;它基于不同的输…

【数据结构】单链表的实现

&#x1f307;个人主页&#xff1a;平凡的小苏 &#x1f4da;学习格言&#xff1a;别人可以拷贝我的模式&#xff0c;但不能拷贝我不断往前的激情 &#x1f6f8;C语言专栏&#xff1a;https://blog.csdn.net/vhhhbb/category_12174730.html &#x1f680;数据结构专栏&#xff…