Исполнители: Царев Михаил Осокин Даниил Руководитель: Козинов Евгений Цель проекта Попробовать применить инструмент компании Intel для решения реальной практической задачи Написать demo приложение наглядно демонстрирующее важность разработки быстро работающих программ оптимизированных под конкретную платформу Приобрести опыт вы использовании библиотек повышающих производительность приложений Постановка задачи Разработать программную реализацию математическую модель движения лодки Построить несколько программных реализаций “авторулевых” управления движения лодки Провести оптимизацию полученных авторулевых Модель движения лодки Предположение о движении лодки Лодка движется с постоянной линейной скоростью. Направление движения лодки характеризуется углом между курсом лодки и осью x У лодки имеется руль, способный находиться в пяти положениях. На лодку оказывается случайное воздействие, изменяющее направление движения. Математическая модель Математический метод интегрирования Для того что бы проинтегрировать систему нужно выполнить следующую последовательность действий В качестве первого шага необходимо найти новое положение лодки При учете того, что лодка едет с постоянной скоростью это можно сделать по следующей формуле Математический метод интегрирования После перемещения в новую точку необходимо пересчитать угол отклонения лодки от вертикали, угловую скорость и ускорение Для вычисления выше перечисленных параметров применялся метод Рунге-Кутты четвёртого порядка точности Модели авторулевого Реализуем две стратегии управления лодкой в зависимости от влияния окружающей среды В первой модели предполагается, что “авторулевой” много знает об окружающей среде Для имитации знания рулевого о среде предполагается, что “авторулевой” знает математическое ожидание очагов силовых возмущений среды Во второй версии “авторулевой” принимает решение исходя из текущей ситуации Для предсказания применяется многократное моделирование случайного поведения лодки и выбор наилучшей стратегии поведения Построения модели «авторулевого» первого типа Случайные воздействия подчиняются определенным законам Зная эти законы, можем вычислить ожидаемое воздействие Осуществим построение дерева с учетом математического ожидания случайных воздействий. Построения модели «авторулевого» второго типа В данной модели мы ничего не знаем о том, какое воздействие окажут на лодку встреченные препятствия Попробуем предсказать силу их воздействия Предполагается, что «авторулевой» может замерить случайное воздействие в каждый момент времени Данное воздействие определяется случайной величиной Исходя из этой случайной величины можно определить силу воздействия Построения модели «авторулевого» второго типа (реализация) На несколько шагов вперёд построим дерево координат, в которые придёт лодка, в зависимости от того или иного положения руля. Мощность воздействия препятствия генерируется для каждого положения лодки. Построения модели «авторулевого» второго типа (реализация) Получим множество координат лодки через несколько шагов. Среди них выберем те координаты, которые расположены ближе всех к финишной точке. Определим, какое положение руля привело к ним . Построения модели «авторулевого» второго типа (реализация) Для более точного выбора построим дерево несколько раз. Выберем то положение руля, которое чаще всего приводило максимально близко к финишной точке. Это положение руля и используем. Применение моделей «авторулевого» Модели представляю предсказание поворота лодки относительно курса с учетом случайного силового воздействия Используя данные предсказания «авторулевой» может выбрать правильное управление Во время принятия решения положения руля лодка продолжает плыть Следовательно необходимо что бы рулевой принимал решение о перемещения руля как можно быстрееы Реализация системы Язык реализации – C++ Графический интерфейс – Microsoft .NET Intel Parallel Studio Демонстрация приложения Рассказ и демонстрация приложения Итоги Исследована математическая модель динамической системы описывающей движения лодки в условиях «возмущенной среды» Создано demo приложение Разработаны программные реализации методов управления лодкой Проведены тестирование и оптимизация полученных «авторулевых» Литература 1. 2. 3. Неймарк Ю.И., Коган Н.Я., Савельев В.П. Динамические модели теории управления. – М.: Наука, 1985. Пантелеев А.В., Якимова А.С., Босов А.В. Обыкновенные дифференциальные уравнения в примерах и задачах. – М.: Изд-во МАИ, 2000. Гамма Э., Хелм Р., Джонсон Р. Приёмы объектноориентированного программирования. Паттерны проектирования. – СПб.: Питер, 2001 Спасибо за внимание! Вопросы?