% When I wrote this, only God and I understood what I was doing
% Now, only god knows
% Quadrotor altitude controller based on sliding mode
function [sys,x0,str,ts] = AltitudeSMC(t, x, u, flag)
switch flag,
case 0,
[sys,x0,str,ts]=mdlInitializeSizes; % 调用初始化子函数
case 1,
sys=[];
case 2,
sys=[];
case 3,
sys=mdlOutputs(t,x,u); %计算输出子函数
case 4,
sys=[]; %计算下一仿真时刻子函数
case 9,
sys=[]; %终止仿真子函数
otherwise
DAStudio.error('Simulink:blocks:unhandledFlag', num2str(flag));
end
function [sys,x0,str,ts,simStateCompliance]=mdlInitializeSizes %初始化子函数
sizes = simsizes;
sizes.NumContStates = 0; %连续状态变量个数
sizes.NumDiscStates = 0; %离散状态变量个数
sizes.NumOutputs = 1; %输出变量个数
sizes.NumInputs = 2; %输入变量个数
sizes.DirFeedthrough = 1; %输入信号是否在输出子函数中出现
sizes.NumSampleTimes = 0; % at least one sample time is needed
sys = simsizes(sizes);
x0 = []; %初始值
str = [];
ts = []; %[0 0]用于连续系统,[-1 0]表示继承其前的采样时间设置
simStateCompliance = 'UnknownSimState';
function sys=mdlOutputs(t,x,u) %计算输出子函数
x1 = u(1); %position input
x2 = u(2); %velocity input
%desired
% xd = 1 + sin(t);
% dxd = cos(t);
% ddxd = -szin(t);
xd = 3;
dxd = 0;
ddxd = 0;
e = xd - x1;
de = dxd - x2;
c = 10;
s = c*e + de;
g = 9.81;
ita = 0.1;
k = 1;
m = 0.3108;
Tth = m*(ddxd + g + c*(dxd - x2) + ita*tanh(s/0.1) + k*s);
sys(1) = Tth;
没有合适的资源?快使用搜索试试~ 我知道了~
基于Matlab实现对四旋翼进行动力学仿真matlab完整源码(s-function编写控制器代码).zip
共11个文件
stl:8个
slx:1个
md:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 2 下载量 13 浏览量
2023-02-15
14:35:52
上传
评论 2
收藏 4.54MB ZIP 举报
温馨提示
基于Matlab实现对四旋翼进行动力学仿真matlab完整源码(s-function编写控制器代码).zip 【项目资源介绍】 四旋翼仿真,Matlab simmechanics 采用simmechanics对四旋翼进行动力学仿真 使用s-function编写控制器代码 含代码注释 【备注】主要针对正在做毕设的同学和需要项目实战的matlab学习者。 也可作为课程设计、期末大作业。包含:项目源码和项目操作说明等,该项目可直接作为毕设使用。 也可以用来学习、参考、借鉴。
资源推荐
资源详情
资源评论
收起资源包目录
基于Matlab simmechanics实现对四旋翼进行动力学仿真matlab完整源码(s-function编写控制器代码).zip (11个子文件)
Arm-DJI F450 F550_Final_Default_sldprt.STL 14.65MB
AltitudeSMC.m 1KB
myQuadrotor.slx 42KB
项目说明.md 150B
Tang_tren_DCBL_Default_sldprt.STL 351KB
Bottom board-DJI F450_Final_Default_sldprt.STL 1.47MB
Top board-DJI F450_Final_Default_sldprt.STL 1.85MB
ArmRed-DJI F450 F550_Final_Default_sldprt.STL 14.65MB
Mieng_chan_canh_quat_Default_sldprt.STL 851KB
10x4.7-counterclockwise-propeller_Default_sldprt.STL 3.44MB
10x4.7-clockwise-propeller_Default_sldprt.STL 4.09MB
共 11 条
- 1
资源评论
- 2301_791090632023-08-08发现一个宝藏资源,资源有很高的参考价值,赶紧学起来~onnx2023-11-01感谢您的支持和认可~~加油额
- kefuxiaohui22023-03-18实在是宝藏资源、宝藏分享者!感谢大佬~onnx2023-11-01相互学习!!
onnx
- 粉丝: 9940
- 资源: 5626
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 【网络安全保密宣传海报】.psd
- 使用iris数据集进行K均值聚类分析的Python代码,包括数据预处理、聚类、结果评估和可视化
- 系统集成项目管理工程师-易混淆知识点.pdf
- BLE蓝牙单片机CC2540、CC2541裸机简易C语言程序开发之OLED显示屏.zip
- 学习资源合法使用的声明与说明
- 网络安全:常见Web与系统安全漏洞及其解决方法
- 2024下半年系统集成项目管理工程师默写本.docx
- 道路异常图像分类数据集【已标注,约3,400张数据】
- BLE蓝牙单片机CC2540、CC2541裸机简易C语言程序开发之MQ-2气体传感器.zip
- BLE蓝牙单片机CC2540、CC2541裸机简易C语言程序开发之Mpu6050六轴加速度传感器.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功