资源简介
船舶运动控制器设计仿真程序代码,MATLAB,两个M文件。
代码片段和文件信息
% 主函数,文件名为boat_PD
t_f = 600; % 仿真事件设定
h = 0.1; % 采样时间
Kp = 1; % 控制器P增益
Td = 10; % 控制器D增益
% 状态x = [ u v r x y psi delta ]‘ 赋初值
x = zeros(71);
N = round(t_f/h); % 采样量
xout = zeros(N+1length(x)+2); % 输出变量赋初值
% 分支结构流程控制
for i=1:N+1
time = (i-1)*h;
r = x(3);
psi = x(6);
psi_ref = 5*(pi/180); % 控制目标角度
delta = -Kp*((psi-psi_ref)+Td*r); % PD控制器
% 调用M函数文件
[xdotU] = mariner(xdelta); % 船舶模型
% 存储数据以便后续调用
xout(i:) = [timex‘U];
% 数值积分,欧拉算法
x = x + h*xdot
end
% 从存储的数据中给变量赋值
t = xout(:1);
u = xout(:2);
v = xout(:3);
r = xout(:4)*180/pi; % pi为Matlab特殊常量,表示圆周率
x = xout(:5);
y = xout(:6);
psi = xout(:7)*180/pi;
delta = xout(:8)*180/pi;
U = xout(:9);
% 作图
% 如果要作多个图,用figure(i),i = 1,2,3,…来实现
figure(1)
% 作完图之后,利用axis,xlabel等来丰富和定制图形的信息
plot(yx)gridaxis(‘equal‘)xlabel(‘East‘)ylabel(‘North‘)title(‘Ship position‘)
figure(2)
% 如果要求在一个图中作多个小图,用subplot来完成
subplot(221)plot(tr)xlabel(‘time (s)‘)title(‘yaw rate r (deg/s)‘)grid
subplot(222)plot(tU)xlabel(‘time (s)‘)title(‘speed U (m/s)‘)grid
subplot(223)plot(tpsi)xlabel(‘time (s)‘)title(‘yaw angle \psi (deg)‘)grid
subplot(224)plot(tdelta)xlabel(‘time (s)‘)title(‘rudder angle \delta (deg)‘)grid
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1594 2013-06-02 18:39 船舶运动控制器设计仿真程序代码\boat_PD.m
文件 3672 2013-06-02 18:39 船舶运动控制器设计仿真程序代码\mariner.m
文件 101 2013-06-02 18:41 船舶运动控制器设计仿真程序代码\程序使用说明.txt
目录 0 2017-03-26 21:55 船舶运动控制器设计仿真程序代码\
相关资源
- 轨迹跟踪---船舶航迹控制matlab程序
- Kalman滤波在船舶GPS导航定位系统中的
- MATLAB控制系统设计仿真应用很好的源
- 基于matlab的海浪模拟程序
- 船舶航向的模糊控制matlab仿真
- 船舶航迹控制
- 船舶海上运动matlab仿真
- 船舶航线matlab程序编码
- 船舶运动控制MATLAB工具箱
- 基于反步法backstepping的船舶直线路径
- 船舶一阶野本Nomoto模型
- 船舶航向模糊控制matlab仿真代码非s
- MMG模型描述船舶的旋回性
- 课程设计基于matlab的4FSK系统设计仿真
- 基于svm dtc 的船舶电力推进系统仿真模
- matlab编写的船舶动力定位PID控制函数
- LCL型有源电力滤波器(APF)的设计仿
- 水面船舶三自由度的MATLAB运动仿真(
- AUV-tarcking 基于反步法的船舶直线路径
- ship
- 雷达系统设计仿真MATLAB仿真脉冲压缩
- 卡尔曼滤波在船舶操纵模型的应用
- 船舶控制运动分析
- 带扰动观测器的全驱动船舶轨迹跟踪
- Smith预估控制算法设计仿真方法
评论
共有 条评论