> # ♻️ 资源
> **大小:** 6.87MB
> **文档链接:**[**https://www.yuque.com/sxbn/ks/100010248**](https://www.yuque.com/sxbn/ks/100010248)
> **➡️ 资源下载:**[**https://download.csdn.net/download/s1t16/87354329**](https://download.csdn.net/download/s1t16/87354329)
> **注:更多内容可关注微信公众号【神仙别闹】,如当前文章或代码侵犯了您的权益,请私信作者删除!**
> ![qrcode_for_gh_d52056803b9a_344.jpg](https://cdn.nlark.com/yuque/0/2023/jpeg/2469055/1692147256036-49ec7e0c-5434-4963-b805-47e7295c9cbc.jpeg#averageHue=%23a3a3a3&clientId=u8fb96484-770e-4&from=paste&height=140&id=u237e511a&originHeight=344&originWidth=344&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=8270&status=done&style=none&taskId=ud96bf5f7-fe85-4848-b9c2-82251181297&title=&width=140.1999969482422)
# 基于 Matlab 和 Truetime 的网络控制系统仿真
## 一、实验目的
通过动手实践了解网络控制系统的架构及运行控制原理
熟悉使用基于 MATLAB 平台、Simulink 仿真工具和 TrueTime 工具箱的网络控制系统的仿真方法
考察不同丢包率下网络控制系统状态、输出和控制曲线的影响
研究丢包率对无线网络传输的网络控制系统的稳定性的影响
## 二、仿真平台构建
Truetime 是瑞典隆德(Lund)大学自动化系 MartinOhin,Dan Henriksson 和 Anton Cervin 于 2002 年推出的基 于 MATLAB/Simulink 的网络控制系统仿真工具箱。针对每一特定的网络协议,该工具箱可以实现控制系统与实时调 度的综合仿真研究,是目前网络控制系统理想的虚拟仿真工具之一。
本次实验使用 Truetime2.0 工具箱的七大模块中的 TrueTime Kernel 模块和 TrueTime Wireless Network 模块。 其中,系统的传感器、执行器和控制器由 TrueTime Kernel 表示,无线网络由 TrueTime Wireless Network 表示。传感器采用时钟驱动的方式进行周期性采样,控制器和执行器采用事件驱动方式。
在确定各个功能模块之后,需要对各模块进行初始化,即初始化模块内核,定义消息函数并设置消息调度策略 和初始化网络端口并设置节点对应的网络端口代号。
## 三、实验步骤
对于本次仿真实验,按照 Truetime 仿真流程,我将实验步骤分为三步:建立数学模型,功能模块图仿真和编写 相关代码。
### 3.1 建立数学模型
这一部分简要重述该网络控制系统的数学模型。 已知直流电机的传递函数为:
![2fc080a38c24e63b87a97d8486b8c658.png](https://cdn.nlark.com/yuque/0/2024/png/2469055/1706319370499-a3a8873d-e38b-4318-a333-bb21d46d1132.png#averageHue=%23fcfcfc&clientId=u50f43367-5442-4&from=paste&height=136&id=ucea84a47&originHeight=170&originWidth=490&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=5987&status=done&style=none&taskId=ud7480c72-0c2b-43d0-a238-69779b97e3e&title=&width=392)
该电机通过网络 IEEE 802.11b/g(WLAN)的方式进行远程控制,系统的控制结构如下图所示:
![eb6a150ba7de8b60f9cce440a52aa61b.png](https://cdn.nlark.com/yuque/0/2024/png/2469055/1706319390496-ecd694ca-d288-4231-badf-c6fb9249e941.png#averageHue=%23efefe9&clientId=u50f43367-5442-4&from=paste&height=190&id=u0b87f976&originHeight=238&originWidth=591&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=563860&status=done&style=none&taskId=u68be236f-f97f-416c-a47b-f6c9b0a144d&title=&width=472.8)
![](https://www.writebug.com/myres/static/uploads/2021/12/17/eb6a150ba7de8b60f9cce440a52aa61b.writebug#id=sflgS&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)图 1 单闭环网络控制系统流程图
假设传感器采用时钟驱动的方式进行周期性采样,控制器和执行器采用事件驱动方式。存在网络丢包现象, 其状态空间模型可以描述成
![847adfe9e0630d0ee66b1e151c574496.png](https://cdn.nlark.com/yuque/0/2024/png/2469055/1706319414101-355af76e-5740-416d-861f-130f7f5b0071.png#averageHue=%23fcfaf7&clientId=u50f43367-5442-4&from=paste&height=58&id=ud541c675&originHeight=73&originWidth=510&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=7372&status=done&style=none&taskId=u55bf6aa0-693a-4c75-9a3e-047e2018a06&title=&width=408)
其中初始状态为![3330e2dae03584afe99295f957f256ad.png](https://cdn.nlark.com/yuque/0/2024/png/2469055/1706319433528-65565aa1-43dc-4b08-935e-683afdfe0396.png#averageHue=%23f8f4ec&clientId=u50f43367-5442-4&from=paste&height=29&id=u1919bb43&originHeight=36&originWidth=62&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=1193&status=done&style=none&taskId=u395ffa3b-8676-4720-b48d-61070231953&title=&width=49.6),p 为丢包概率,p=0 表示无数据丢包,p=1 表示有数据丢包,假设不会发生连续丢包。给定控制器为![5812514d9c1abd37630eb7fd24d609a6.png](https://cdn.nlark.com/yuque/0/2024/png/2469055/1706319451077-b2d75cb9-03d7-4bf1-b541-97dfd6230e29.png#averageHue=%23f5f1e8&clientId=u50f43367-5442-4&from=paste&height=18&id=u4de6f859&originHeight=23&originWidth=221&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=2491&status=done&style=none&taskId=u6400e55e-57f3-449c-918a-3f7cebf0a1b&title=&width=176.8)。
### 3.2 功能模块图仿真
这一部分主要介绍基于 Simulink 及 Truetime 工具箱的模块图绘制。通过理解 wireless 和 network 两个示例文 件,搭建本次实验的网络控制系统的功能模块图,如图 2 所示。
![4b1160d7ef50479901edefb86d63e5fd.png](https://cdn.nlark.com/yuque/0/2024/png/2469055/1706319627749-9b520519-fece-47c8-8e72-d22cf6d01e38.png#averageHue=%23f6f6f6&clientId=u50f43367-5442-4&from=paste&height=515&id=uebce6204&originHeight=644&originWidth=936&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=2415757&status=done&style=none&taskId=u096e209a-049b-4c54-9ecf-604a8ba36ae&title=&width=748.8)
图 2 仿真系统功能模块图
其中,TrueTime Wireless Network 模块模拟了网络部分,可以更改丢包率(Loss Probability)这一参数。在 Regulator Node 中的 TrueTime Kernel 中,模拟了控制器从网络中接收 y(k),并生成 u(k),将 u(k)发送到网络中的过 程。在 Sensor/Actuator Node 的 TrueTime Kernel 中,模拟了传感器到控制器再到执行器节点的过程,执行器从网 络中接收控制信号 u(k);进行零阶保持;若丢包贼改成 u(k-1),若不丢包则改成 u(k);再通过状态转移及传输延迟 生成输出信号 y(k);再讲数字信号 y(k)发送至网络。如此形成闭环网络控制系统。仿真过程可参考图 3。
在搭建的过程中,依照数学模型的参数对部分模块的参数设置做出调整。
![ce2a43c829236e6ccbf10221319965a0.png](https://cdn.nlark.com/yuque/0/2024/png/2469055/1706319646882-f8107abf-8bf3-411d-b650-c7851dd2a962.png#averageHue=%23f4f4f4&clientId=u50f43367-5442-4&from=paste&height=344&id=u8020bdb3&originHeight=430&originWidth=827&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=1425250&status=done&style=none&taskId=u9bbeac7a-f446-4995-97e1-3c87ce86662&title=&width=661.6)
图 3 NCS 离散仿真流程图
### 3.3 编写相关代码
通过研究 TrueTime 2.0-reference manual 及阅读 wireless 文件夹中的相关代码后,可将代码编写分为两个步骤 依次进行,模块初始化和编写任务代码。模块初始化针对控制器(Regulator)和执行器/传感器(Sensor/Actuator), 任务代码仅针对控制节点(Regulator Node)。
#### 3.3.1 模块初始化
对控制器(Regulator)和执行器/传感器(Sensor/Actuator)的初始化可直接参照 wireless 中的 regulator.m 文 件和 actuator_init.m 文件进行,无需改动。代码如下:
```matlab
function regulator_init
% Distributed control system: regulator node %
% Receives messages from the sensor node, computes control signal
% and sends it back to the actuator n
神仙别闹
- 粉丝: 4243
- 资源: 7516
最新资源
- 【java+vue】WK系列开发框架-Java微服务+API网关+Vue3Element-Plus前后端分离.zip
- 【java+kotlin】基于无障碍服务实现的微信朋友圈多图分享方案,兼容微信各个版本.zip
- 【JavaScript】使用消息中间件设计聊天应用.zip
- 【JavaScript】基于vercel的serverless服务,把星火认知大模型接入微信公众号.zip
- 中国30个省份年末总人口数(2013-2022年)
- 【java+vue】基于uni-app的平院考试系统.zip
- 【JavaScript】云崽QQ机器人的插件.zip
- 【java考试系统】基于java开发的考试系统.zip
- 【jupyter notebook】优达学城-机器学习-毕业项目-猫狗大战.zip
- 【MATLAB】出版书籍《机器学习入门到实践——MATLAB实践应用》一书中的实例程序.zip
- 【nodejs】Nodejs、Express框架、消息中间件(实时聊天).zip
- 【MATLAB】MATLAB机器学习算法实现.zip
- 【PHP】Lumen10基础上扩展出的API启动项目.zip
- 【PHP】基于swoole实现的微信机器人,依赖vbot和微信网页版的功能,帮助管理微信群-聊天-踢人等.zip
- 前轮主动转向+直接横摆力矩联合控制的分布式驱动电动汽车模型设计开发 基于Simulink-CarSim联合仿真平台开发,主要包含模块:前轮主动转向功能模块(包含自主转向控制器、转向器模型)、直接横摆
- 【PHP】基于ThinkPHP 5.0的考试系统tp5.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
前往页