Виртуальная модель военного корабля в среде 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.