Виртуальная модель военного корабля в среде Matlab
Описание объекта моделирования, математическое моделирование движителя военного корабля. Структурная схема двигателя постоянного тока. Создание виртуальной модели военного корабля в среде VR-Builder. Структурная схема ориентации и визуализации корабля.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 02.06.2015 |
Размер файла | 597,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ
БРЯНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра: «Информатика и программное обеспечение»
Курсовая работа
по информатике
«Виртуальная модель военного корабля в среде Matlab»
Выполнил
студент группы 12-Рад:
Гапеенко К.В.
Преподаватель:
Симкин В.В.
Брянск 2013
СОДЕРЖАНИЕ
Введение
Описание объекта моделирования
Математическое моделирование движителя военного корабля
Создание виртуальной модели военного корабля в среде VR-Builder
Заключение
Список используемой литературы
Приложение 1
ВВЕДЕНИЕ
MATLAB (Matrix Laboratory) -- пакет прикладных программ для решения задач технических вычислений.
Основной особенностью языка MatLab является то, что его функции основаны на матричных операциях, которые создатели языка выразили в лозунге «думай векторно».
MATLAB как язык программирования был разработан Кливом Моулером (англ. Cleve Moler) в конце 1970-х годов, когда он был деканом факультета компьютерных наук в Университете Нью-Мексико. Целью разработки служила задача дать студентам факультета возможность использования программных библиотек Linpack и EISPACK без необходимости изучения Фортрана. Вскоре новый язык распространился среди других университетов и был с большим интересом встречен учёными, работающими в области прикладной математики. До сих пор в Интернете можно найти версию 1982 года, написанную на Фортране, распространяемую с открытым исходным кодом. Инженер Джон Литтл (англ. John N. (Jack) Little) познакомился с этим языком во время визита Клива Моулера в Стэндфордский университет в 1983 году. Поняв, что новый язык обладает большим коммерческим потенциалом, он объединился с Кливом Моулером и Стивом Бангертом (англ. Steve Bangert). Совместными усилиями они переписали MATLAB на C и основали в 1984 компанию The MathWorks для дальнейшего развития. Эти переписанные на С библиотеки долгое время были известны под именем JACKPAC. Первоначально MATLAB предназначался для проектирования систем управления (основная специальность Джона Литтла), но быстро завоевал популярность во многих других научных и инженерных областях. Он также широко использовался и в образовании, в частности, для преподавания линейной алгебры и численных методов.
Программа Simulink является приложением к пакету MatLab и представляет собой программу моделирования аналогово-цифровой машины, которые использовались для моделирования динамических систем.
Simulink - интерактивный инструмент для моделирования, имитации и анализа динамических систем. Он дает возможность строить графические блок-диаграммы, имитировать динамические системы, исследовать работоспособность систем и совершенствовать проекты. Simulink полностью интегрирован с MATLAB, обеспечивая немедленным доступом к широкому спектру инструментов анализа и проектирования. Simulink также интегрируется с Stateflow для моделирования поведения, вызванного событиями. Эти преимущества делают Simulink наиболее популярным инструментом для проектирования систем управления и коммуникации, цифровой обработки и других приложений моделирования.
Virtual Reality раздвигает границы возможностей систем MATLAB и Simulink в мир виртуальной реальности. Используя технологию языка моделирования виртуальной реальности Virtual Reality Modeling Language (VRML), можно создавать анимационные 3-D сцены, которые управляются из среды MATLAB и Simulink.
ОПИСАНИЕ ОБЪЕКТА МОДЕЛИРОВАНИЯ
В качестве объекта моделирования выбран военный корабль. Особенностью моделируемого военного корабля является то, что используется движитель, роль которого выполняет двигатель постоянного тока (ДПТ). Для упрощения моделирования моделируется только движитель.
Условное графическое обозначение (УГО) ДПТ представлено на рис.1.
Рис. 1. УГО ДПТ
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ ДВИЖИТЕЛЯ ВОЕННОГО КОРАБЛЯ
Роль движителя корабля выполняет ДПТ. С целью упрощения моделирования ДПТ принимаем допущения:
Магнитный поток, создаваемый обмоткой возбуждения, величина постоянная;
Момент сопротивления двигателю равен нулю;
равны.
Выпишем дифференциальное уравнение (уравнение Кирхгофа) для цепи якоря:
(закон Кирхгофа),
где
Uп - напряжение питания (входной сигнал)[В];
падение напряжения на активном сопротивлении цепи якоря (закон Ома) [Ом];
- ЭДС индукции обмотки якоря (закон Ленца) [];
- индуктивность цепи якоря [Гн];
- ЭДС вращения (закон Лоренца) [В];
- константа, определяется параметрами машины [];
- частота вращения якоря [];
- ток цепи якоря [А].
Дифференциальное уравнение, описывающее электромеханическое поведение ДПТ имеют вид:
(закон Ньютона);
,
где
- момент инерции якоря электродвигателя [];
- электромагнитный момент двигателя [Н*м] ;
- момент сопротивления двигателя [Н*м];
- угол поворота якоря электродвигателя [рад].
Исходную систему дифференциальных уравнений, описывающую ДПТ, выпишем в форме Коши, т.е. разрешим относительно первых производных
Представим систему дифференциальных уравнений ДПТ в форме пространства состояний, для этого введём новые переменные
, ,
и выпишем систему в виде:
или в матричном виде
,
Где
,
,
,
.
Принимая параметры ДПТ равными La=0.001[Гн], Ca=10[], J=10[], R=0.1[Ом] вычислим коэффициенты усилителей структурной схемы ДПТ Gain=1000, Gain1=-100, Gain2=-10000, Gain3=1, Gain4=1.
Структурная схема ДПТ представлена на рис. 2
моделирование военный корабль виртуальный
Рис. 2. Структурная схема ДПТ
СОЗДАНИЕ ВИРТУАЛЬНОЙ МОДЕЛИ ВОЕННОГО КОРАБЛЯ В СРЕДЕ VR-BUILDER
С целью создания виртуальной модели открываем новый файл и используя примитивы и редакторы среды создадим виртуальную модель военного корабля (рис.3).
Рис. 3. Виртуальная модель военногокорабля
Рис. 4. Дерево узлов виртуальной модели военного корабля и виды Main, Top, Right и Front
С целью ориентации модели военного корабля в пространстве создаем модуль ориентации в Simulink модели. Модель ориентации представлена на рис. 5 и включает 2 блока констант 3 блока переключателей и мультиплексор. Изменяя положение ключей, формируется код ориентации корабля в пространстве.
Рис. 5. Структурная схема ориентации в пространстве модели корабля
С целью реализации функций корабля формируем входы на VR Sink модуле. При моделировании используем 2 входа korpus.rotation и korpus.translation (рис. 6)
Рис. 6. Модуль VR Sink с двумя входами
Подключение модуля VR Sink к Simulink модели корабля выполняем с помощью мастера связи файла модели с файлом визуализации (рис. 7).
Рис. 7. Мастер связи файла модели с файлом визуализации
Для визуализации параметров военного корабля создаем S-функцию и подключаем ее к модели движителя используя мультиплексор (рис. 8). На экран визуализатора выводим Напряжение питания якоря двигателя, ток якоря, угловую скорость и угол поворота ротора.
Рис. 8. Структурная схема визуализации параметров военного корабля
Окно визуализатора представлено на рис. 9. Программный код S-функции визуализатора представлен в приложении 1.
Рис. 9. Окно визуализатора параметров двигателя
ЗАКЛЮЧЕНИЕ
В процессе выполнения курсовой работы по информатике были решены следующие задачи:
Разработана математическая модель движителя военного корабля;
Представили математическую модель движителя в форме Коши;
Выписали систему дифференциальных уравнений в форме пространства состояний;
Сформировали структурную схему движителя в Simulink;
Создали структурную схему ориентации в пространстве модели военного корабля;
В среде VR-Builder создали виртуальную модель военного корабля;
Выполнили подключение модуля VR Sink к Simulink модели военного корабля;
Создали S-функцию визуализатора параметров движителя;
Сформировали структурную схему системы моделирования движения виртуальной модели военного корабля;
Провели численные эксперименты моделирования военного корабля.
СПИСОК ИСПОЛЬЗОВАНОЙ ЛИТЕРАТУРЫ
1. Matlab. Режим доступа: http://www.mathworks.com/products/matlab/
2. Лабораторные работы: http://matlab.exponenta.ru/matlab/default.php
3. Основы информатики. Савельев А.Я. Изд-во МГТУ им Н.Э. Баумана, 2001. -- 328 с.
Приложение 1
Код для S-function
function [sys, x0, str, ts] = mysfun(t, x, u, flag)
case 0
[sys, x0, str, ts] = mdlInitializeSizes;
case 2
sys=mdlUpdate(t, x, u);
case 3
sys=mdlOutputs(t,x,u);
case 9
sys=mdlTerminate(t,x,u);
otherwise
error(['Unhandled flag = ',num2str(flag)]);
end
function [sys, x0, str, ts] = mdlInitializeSizes
sizes = simsizes;
sizes.NumInputs = 4;
sizes.NumSampleTimes = 1;
sys = simsizes(sizes);
x0 = [];
str = [];
ts = [-1 0];
Fig=figure('Position',[644 -11 551 685],...
'Color', 'k',...
'MenuBar', 'none',...
'Name', 'GUI_Simulink',...
'NumberTitle', 'off');
InitControl = 1;
uicontrol('Style', 'slider',...
'Position',[50 485 451 18],...
'Min', 0, 'Max', 220, 'Value', InitControl,...
'Callback', @sldCallback);
set_param([gcs '/Control'],'Value',num2str(InitControl));
axes('Tag', 'ax1',...
'Units', 'pixels',...
'Position',[50 334 451 101],...
'NextPlot','add',...
'Xlim', [0 50],...
'Ylim', [-500 1500],...
'Color','k',...
'Xcolor', 'g',...
'YColor', 'g',...
'Box', 'on',...
'XGrid', 'on',...
'YGrid', 'on');
axes('Tag', 'ax2',...
'Units', 'pixels',...
'Position',[50 534 451 101],...
'NextPlot','add',...
'Xlim', [0 50],...
'Ylim', [-5 250],...
'Color','k',...
'Xcolor', 'g',...
'YColor', 'g',...
'Box', 'on',...
'XGrid', 'on',...
'YGrid', 'on');
axes('Tag', 'ax3',...
'Units', 'pixels',...
'Position',[50 184 451 101],...
'NextPlot','add',...
'Xlim', [0 50],...
'Ylim', [-5 30],...
'Color','k',...
'Xcolor', 'g',...
'YColor', 'g',...
'Box', 'on',...
'XGrid', 'on',...
'YGrid', 'on');
axes('Tag', 'ax4',...
'Units', 'pixels',...
'Position',[50 34 451 101],...
'NextPlot','add',...
'Xlim', [0 50],...
'Ylim', [0 250],...
'Color','k',...
'Xcolor', 'g',...
'YColor', 'g',...
'Box', 'on',...
'XGrid', 'on',...
'YGrid', 'on');
uicontrol('Style', 'text',...
'String', 'Signal',...
'Position', [200 445 151 26],...
'FontSize', 10,...
'FontWeight', 'bold',...
'BackgroundColor', 'k',...
'ForegroundColor', 'm')
uicontrol('Style', 'text',...
'String', 'Control',...
'Position', [200 644 151 23],...
'FontSize', 10,...
'FontWeight', 'bold',...
'BackgroundColor', 'k',...
'ForegroundColor', 'y')
uicontrol('Style', 'text',...
'String', 'angular velocity',...
'Position', [199 285 151 22],...
'FontSize', 10,...
'FontWeight', 'bold',...
'BackgroundColor', 'k',...
'ForegroundColor', 'r')
uicontrol('Style', 'text',...
'String', 'angle of rotation',...
'Position', [199 135 151 22],...
'FontSize', 10,...
'FontWeight', 'bold',...
'BackgroundColor', 'k',...
'ForegroundColor', 'b')
set_param(gcbh, 'UserData', Fig);
function sys=mdlUpdate(t, x, u)
Fig = get_param(gcbh,'UserData');
Handles = guihandles(Fig);
PassedSampleNum = int32(t*10);
if mod(PassedSampleNum, 500) == 0
set(Handles.ax1, 'XLim', [t t+50])
set(Handles.ax2, 'XLim', [t t+50])
set(Handles.ax3, 'XLim', [t t+50])
set(Handles.ax4, 'XLim', [t t+50])
end
axes(Handles.ax1)
LastPoint = get(Handles.ax1, 'UserData');
if ~isempty(LastPoint)
plot([LastPoint(1) t],[LastPoint(2) u(2)],...
'Color', 'm', 'LineWidth', 2)
set(Handles.ax1, 'UserData', [t, u(2)])
else
set(Handles.ax1, 'UserData', [t, u(1)*u(2)])
plot(t, u(1)*u(2), 'Color', 'm', 'LineWidth', 2 )
end
axes(Handles.ax2)
LastPoint = get(Handles.ax2, 'UserData');
if ~isempty(LastPoint)
plot([LastPoint(1) t],[LastPoint(2) u(1)],...
'Color', 'y', 'LineWidth', 2)
set(Handles.ax2, 'UserData', [t, u(1)])
else
set(Handles.ax2, 'UserData', [t, u(1)])
plot(t, u(1), 'Color', 'y', 'LineWidth', 2 )
end
axes(Handles.ax3)
LastPoint = get(Handles.ax3, 'UserData');
if ~isempty(LastPoint)
plot([LastPoint(1) t],[LastPoint(2) u(3)],...
'Color', 'r', 'LineWidth', 2)
set(Handles.ax3, 'UserData', [t, u(3)])
else
set(Handles.ax3, 'UserData', [t, u(1)])
plot(t, u(3), 'Color', 'r', 'LineWidth', 1 )
end
axes(Handles.ax4)
LastPoint = get(Handles.ax4, 'UserData');
if ~isempty(LastPoint)
plot([LastPoint(1) t],[LastPoint(2) u(4)],...
'Color', 'b', 'LineWidth', 2)
set(Handles.ax4, 'UserData', [t, u(4)])
else
set(Handles.ax4, 'UserData', [t, u(1)])
plot(t, u(4), 'Color', 'b', 'LineWidth', 1 )
end
sys = [];
function sys=mdlOutputs(t,x,u)
sys=[];
function sys=mdlTerminate(t,x,u)
button = questdlg('Delete the GUI_Simulink window?','GUI_Simulink',...
'No','Yes','No');
if isequal(button, 'Yes')
Fig = get_param(gcbh,'UserData');
delete(Fig)
end
sys = [];
function sldCallback(src,evt)
s = get(src, 'Value');
set_param([gcs '/Control'], 'Value', num2str(s));
Размещено на Allbest.ru
...Подобные документы
Разработка модели движения трёх видов судов: надводного корабля "Красный Кавказ", катера "Тритон" и корабля на подводных крыльях. Написание программной модели в среде Matlab и исследование с ее помощью динамических свойств моделируемых объектов.
курсовая работа [590,5 K], добавлен 08.03.2012Разработка и реализация моделирующего алгоритма процесса обслуживания 150 кораблей путем написания программы в среде GPSS/PC. Временная диаграмма процедуры погрузки-разгрузки кораблей. Структурная схема функционирования причалов в символике Q-схем.
курсовая работа [711,4 K], добавлен 22.06.2011Принципиальная и структурная схема системы стабилизации угловой скорости ДПТ. Критерий устойчивости Гурвица. Передаточная функция разомкнутой системы. Исследование САР в среде Simulink. Проверка расчетов с помощью моделирования системы в среде Matlab.
курсовая работа [3,3 M], добавлен 21.08.2012Лазерные средства отображения информации. Особенности сопряжения имитационной модели Matlab-Simulink и программное обеспечение визуализации. Возможности средств разработки виртуальных миров, использующих VRML, для визуализации моделирования системы.
курсовая работа [1,6 M], добавлен 01.12.2014Определение статических электромеханических (естественных и искусственных) характеристик двигателя постоянного тока с независимым возбуждением. Показатели его свойств. Расчет и построение динамических, временных и частотных характеристик в среде Matlab.
лабораторная работа [513,6 K], добавлен 02.12.2014Описание моделируемой системы. Структурная схема модели системы. Q-схема системы и её описание. Математическая модель и укрупнённая схема моделирующего алгоритма. Сравнение результатов имитационного моделирования и аналитического расчета характеристик.
курсовая работа [46,7 K], добавлен 02.07.2011Структурная схема модели системы, временная диаграмма, блок-схема моделирующего алгоритма, математическая модель, описание машинной программы решения задачи, результаты моделирования. Сравнение имитационного моделирования и аналитического расчета.
курсовая работа [209,7 K], добавлен 28.06.2011Понятие стратегического планирования, разработка схем программных блоков и основной программы. Структурная схема имитационной модели, создание модели на языке моделирования General Purpose Simulation System. Математическое описание моделируемой системы.
дипломная работа [2,6 M], добавлен 12.08.2017Расчет в программах Mathcad и Matlab связи между глубиной залегания подводной лодки, временем поражения цели и расстоянием, который корабль успеет пройти по горизонтали. При условии, что пуск торпеды производится в момент прохождения корабля над лодкой.
контрольная работа [102,3 K], добавлен 31.05.2010Анализ возможностей пакета MATLAB и его расширений. Язык программирования системы. Исследование выпрямительного устройства. Моделирование трёхфазного трансформатора. Схема принципиальная регулируемого конвертора. Возможности гибкой цифровой модели.
презентация [5,1 M], добавлен 22.10.2013Моделирование работы вычислительной системы из двух процессоров и общей оперативной памяти. Структурная схема модели системы. Укрупненная схема моделирующего алгоритма. Результаты моделирования и их анализ. Машинная программа объекта исследования.
курсовая работа [1,0 M], добавлен 21.06.2011Исследование связи между временем достижения торпеды, снабжённой разгонным двигателем (глубинной бомбы) заданной глубины и формой корпуса противолодочного корабля: сферической, полусферической, каплевидной. Представление этой зависимости графически.
контрольная работа [110,6 K], добавлен 31.05.2010Программное средство системного моделирования. Структурная схема модели системы, временная диаграмма и ее описание. Сравнение результатов имитационного моделирования и аналитического расчета характеристик. Описание машинной программы решения задачи.
курсовая работа [146,5 K], добавлен 28.06.2011Структурная схема, классификация устройств СМО и анализ динамики ее функционирования. Формализация модели СМО средствами GPSS World. Модификация имитационной модели. Реализация модельных экспериментов. Имитационное моделирование СМО в среде GPSS World.
курсовая работа [504,6 K], добавлен 14.12.2012Теоретические основы моделирования систем в среде имитационного моделирования AnyLogic. Средства описания поведения объектов. Анимация поведения модели, пользовательский интерфейс. Модель системы обработки информации в среде компьютерного моделирования.
курсовая работа [1,5 M], добавлен 15.05.2014Описание моделируемой системы, структурная схема, описание временной диаграммы и Q-схема системы. Описание машинной программы решения задачи. Сравнение результатов имитационного моделирования и аналитического расчета характеристик, возможные улучшения.
курсовая работа [260,0 K], добавлен 28.06.2011Исследование конечно-разностных методов решения краевых задач путем моделирования в среде пакета Micro-Cap V. Оценка эффективности и сравнительной точности этапов получения решений методом математического, аналогового моделирования и численными расчетами.
курсовая работа [324,3 K], добавлен 23.06.2009Характеристика работы сервиса технического обслуживания автомобилей и основные составляющие процесса. Структурная схема модели, временная диаграмма, Q-схема системы и их описание. Сравнение результатов моделирования и машинная программа работы сервиса.
дипломная работа [140,2 K], добавлен 18.06.2011Возможности, визуализация и графические средства MATLAB. Устройство асинхронных двигателей. Математические модели асинхронной машины. Пакет визуального программирования Simulink. Преобразование уравнений асинхронной машины в неподвижной системе координат.
дипломная работа [2,1 M], добавлен 30.08.2010Основные функциональные блоки для построения модели мастерской по ремонту машин. Описание входов и выходов. Экспоненциальное и эрланговское распределение. Вычисление среднего значения входной величины. Структурная модель системы, план экспериментов.
контрольная работа [412,5 K], добавлен 28.10.2013