Назад в библиотеку

РАЗРАБОТКА ПОДСИСТЕМЫ РАСЧЕТА КООРДИНАТ ТРАЕКТОРИИ ДВИЖЕНИЯ СУДНА С ИСПОЛЬЗОВАНИЕМ ТЕХНОЛОГИИNVIDIA CUDA

Автор: Водолазский Д.C., Кривошеев С.В.
Источник: Інформаційні управляючі системи та комп’ютерний моніторинг (ІУС КМ - 2012) - 2013 / Матерiали III мiжнародної науково-технiчної конференцiї студентiв, аспiрантiв та молодих вчених. — Донецьк, ДонНТУ — 2012, с. 695-699.

Аннотация

Водолазский Д.C., Кривошеев С.В. Разработка подсистемы расчета траектории движения судна с использованием технологии NVIDIA CUDA. Рассмотрены особенности построения интегрированной навигационной системы. Определен подход к увеличению точности и быстродействию подсистемы расчета траектории движения судна. Приведены результаты экспериментальных исследований при определении траекторий движения группы судов.


Требования повышения безопасности движения транспортных средств, защиты окружающей среды, снижение влияния субъективного фактора на качество управления, повышение степени автоматизации управления требуют применения новых технологий и средств моделирования.

Автоматизация систем управления движением как транспортного средства (автомобиля, самолета, судна) в целом, так и совокупностью участников движения позволяет более интенсивно эксплуатировать транспортный коридор, увеличить безопасность подвижных объектов транспортного потока, снизить расход топлива, оптимально использовать режимы работы двигателя транспортного средства.

В настоящее время наблюдается тенденция создания интегрированных автоматизированных систем (ИАС). Интегрированная система – это независимый комплекс, в котором выполняются все процессы обработки, обмена и представления информации. ИАС включает различные аспекты интеграции: интеграцию данных, технологий и технических средств. Данные системы позволяют их применение как в качестве бортового вычислительного комплекса (БВК), так и в качестве тренажерной системы, которая позволяет формировать у обучаемого навыков и действий при сложных ситуациях. Применение ИАС в роли БВК заключается во включении их в контур управления транспортных средств, что обеспечивает интеллектуализацию подвижного объекта. Интеллектуальное транспортное средство – это подвижный объект, оборудованный датчиками, вычислительным комплексом, и системой управления. Датчики позволяют транспортному средству "чувствовать" путь, другие транспортные средства и потенциальные опасности; вычислительный комплекс обрабатывает полученную информацию и определяет действия объекта; система управления выполняет заданные действия. При этом транспортные средства под управлением БВК, в отличие от непосредственно управляемых оператором, не подвержены стрессам, усталости и другим внешним факторам.

Одним из важнейших направлений интеллектуализации транспортных средств является разработка систем автоматизированного судовождения. Проблемы повышения безопасности судоходства в стесненных условиях, экономии энергоресурсов и снижения экологической нагрузки на окружающую среду требуют разработки систем автоматического управления движением судна по заданному фарватеру, т.е. интегрированной навигационной системы(ИНС) для судов внутреннего и смешанного плавания(СВСП) [1]. Основной целью ИНС для СВСП является повышение безопасности движения на внутренних водных путях благодаря освобождению судоводителя от решения навигационных расчетов. Это обеспечивается за счет предоставления ИНС обширной информации о навигационной обстановке и участниках движения. Кроме того, ИНС обеспечивает увеличение экономичности судна и улучшение координации по управлению транспортными потоками. Для выполнения этих целей в пределах БВК в составе ИНС необходимо решить ряд задач, а именно:

Структура ИНС для СВСП приведена на рис.1. и включает в себя следующие основные блоки: бортовые датчики информации, базы априорных знаний, блок определения местоположения судна, блок оценки навигационной обстановки, блок визуализации и диалога с судоводителем, блок управления исполнительными механизмами.

INS

Рисунок 1 – Структура ИНС для внутреннего и прибрежного судоходства

Использование математических моделей в контуре управления предоставляет возможность исследования и анализа различных состояний объекта, прогнозирования его поведения в зависимости от управляющих воздействий и внешних факторов, действующих на управляемый объект. Однако высокая эффективность достигается при управлении объектом в составе группы и осуществляется в сильносвязном информационном пространстве. Сильносвязность предполагает воплощение принципа "всё зависит от всего". В глобальном информационном пространстве такие системы становятся изначально крайне неустойчивыми, что предъявляет особые требования к качеству математических моделей, а также к вычислительным системам и сетевым средствам их воплощения в ресурсах глобальных сетей.

С точки зрения кинематики судно может рассматриваться как твердое тело с шестью степенями свободы, а уравнения движения судна составляются на основании законов кинематики и динамики твердого тела, теории силового воздействия жидкости на движущееся тело[2].

Для изучения движения судна по свободной поверхности применяют следующие основные системы координат[3] (рис. 2):

Coord_system

Рисунок 2 – Основные параметры движения судна

Общая постановка проблемы

Колебательные процессы в технике имеют большое значение. Электромагнитные колебания лежат в основе всех современных электронных средств передачи и обработки информации.

Для облегчения понимания общих закономерностей колебательных процессов целесообразно начинать их изучение с простых и наглядных систем, например, замкнутая цепь, содержащая конденсатор и катушку индуктивности. Изменение во времени физических величин, характеризующих разные колебательные системы, описывается одинаковыми дифференциальными уравнениями.

Исследование компьютерных программ при моделировании разных способов возбуждения колебаний позволяет определить точностные и частотные характеристики программ.

Преобразование из неподвижной системы координат в подвижную производится с помощью следующей матрицы перевода η[4]:

article1_1

где

article1_2

где v·– вектор скорости; vx, vy, vz– проекции вектора скорости судна; Ψ – курс судна.

Система уравнений, которая описывает движение судна в трех плоскостях, записывают в следующей форме[4]:

big_formula

где x, y, z – проекции вектора угловой скорости движения судна; Nx, Ny, Nz – проекции вектора внешних сил; Mx, My, Mz – проекции вектора главного момента; ij – обобщенные присоединенные массы корпуса судна, образуемые водной средой, в которой осуществляется движение; m– масса судна; Jx,Jy,Jz – проекции присоединенного момента инерции массы судна.

Таким образом, для расчета траектории движения судна требуются большие вычислительные возможности. В настоящее время основным направлением увеличения вычислительных мощностей является организация параллельных вычислений, с использованием соответствующих методов и алгоритмов. Для реализации эффективного распараллеливания вычислений необходим переход на новые технологии и новые параллельные методы решения задач, которые позволят резко снизить стоимость вычислений. Современные технологии предоставляют два основных направления вычислительных средств: многоядерные процессоры (CPU) и графические процессоры (GPU).

До последнего времени ключевым компонентом систем для высокопроизводительных вычислений, включая кластеры, был центральный процессор. Однако несколько лет назад у него появился серьезный конкурент – графический процессор (GPU). Высокая производительностьGPU объясняется особенностями его архитектуры. В отличие от центрального процессора, который состоит из нескольких ядер, графический процессор изначально создавался как многоядерная структура, в которой количество компонентов измеряется сотнями.

Каждая из этих двух архитектур имеет свои достоинства. Говорить о заменеCPU на GPU не имеет смысла – они не взаимно дополняют друг друга. CPU лучше работает с последовательными задачами, но при большом объеме обрабатываемой информации, с которой можно работать параллельно, очевидное преимущество имеет GPU [5].

Структура GPU производства NVIDIA приведена на рис. 3 и состоит из потоковых многоядерных процессоров, которые состоят из потоковых процессоров, узла команд, распределенной памяти.

arc_nvidia

Рисунок 3 – Архитектура NVIDIA GPU

Для программирования GPU производства NVIDIA применяют программно-аппаратную платформу CUDA[6], позволяющую запускать произвольный код. CUDA предоставляет разработчику возможность создавать код, исполняющийся непосредственно на ядрах графического процессора, управлять его памятью, организовывать на нем сложные параллельные вычисления - проще говоря, использовать его как процессор общего назначения.

Исследование производительности подсистемы расчета координат траектории производилось при реализации на двух разных системах: с использованием многоядерного процессора (Intel Core 2 Duo P8700, 2.53 ГГц) и многоядерного GPU. Характеристики GPU приведены на рис. 4.

tech_power

Рисунок 4 – Параметры видеоадаптераn Vidia GeForce 9300M GS

Результаты эксперимента для GPU приведены на рис. 5.

article1_3

Рисунок 5 – Зависимость времени расчета(мс) координат траектории от количества судов

Вывод

На основании выполненных экспериментов была определена граница эффективности применения GPU. Количество судов в группе должно быть не менее62. В противном случае рациональнее применять только вычислительные системы на базе многоядерного процессора без использования GPU которые поддерживают платформу CUDA.

Список литературы

1. Bittner R., Driescher A., Gilles E.D. Entwurf einer Vorsteuerung zur hochgenauen Bahnführung von Binnenschiffen. 3. Wismarer Automatisierungssymposium, September 2002. ss.4-11
2. Васильев А.В. Управляемость судов. – Л.: Судостроение, 1989. – 328 с.
3. Соболев Г.В. Управляемость корабля и автоматизация судовождения. (Гидродинамика криволинейного движения и регулирование курса). Л.: Судостроение, 1976 – 478c.
4. Ходкость и управляемость судов. Под ред. В.Г. Павленко. М.: Транспорт, 1991. – 396 с.
5. Джораев  А.Р. Гибридные вычислительные системы на основе GPU для задач биоинформатики. Компьютерные исследования и моделирование. Т.2 №2, 2010. – с.163-167
6. NVIDIA CUDA Compute Unified Device Architecture. Programming Guide. http://docs.nvidia.com/cuda/pdf/CUDA_C_Programming_Guide.pdf