1. Введение
Работы по созданию имитационных моделирующих комплексов (МК) начались с появлением первых рабочих подводных роботов, решающих практические задачи. Замена реальных испытаний виртуальными стало одним из решений по ускорению и удешевлению разработки программного интеллекта (алгоритмов управления) автономных подводных роботов (АПР).
Большинство моделирующих систем можно классифицировать по используемым методам имитационного моделирования, набору решаемых задач, степени реалистичности отдельных процессов и др. К основным решаемым задачам можно отнести моделирование:
- одного или нескольких АПР;
- коммуникаций между различными АПР (с учетом времени задержки, зашумленности, дальности, пропускной способности);
- внешних объектов (рельеф, статические и динамические объекты);
- окружающей среды (течения, температура – в статике, динамике);
- датчиков (сонары, фото-, видеокамеры и др.).
Кроме того, системы моделирования характеризуются:
- различными уровнями моделирования (HIL, real-time, offline);
- возможностью реализации распределенных вычислений;
- предоставлением удобного интерфейса визуализации полученных результатов.
В зависимости от потребностей того или иного исследовательского коллектива реализуются необходимые функциональные возможности для достижения различных целей. Авторами предложена идея универсального МК и подход к визуализации результатов моделирования. В процессе работы стало очевидно, что процессы моделирования и визуализации результатов можно и даже необходимо разделять, так как графические приложения с обработкой и визуализацией больших объемов пространственных данных требуют высокого уровня аппаратной производительности для работы в интерактивном режиме. Возросшие объемы информации от сенсоров обостряют проблему имитационного моделирования всего спектра бортового оборудования в режиме реального времени с использованием вычислительных мощностей одного ПК. Кроме того, режим реального времени необходим для подключения бортового оборудования АПР к имитационному комплексу в режиме HIL. Таким образом, возникла необходимость создания версии МК с многопроцессорной архитектурой, позволяющей реализовать параллельно-распределенные вычисления. В свою очередь, это потребовало разработки нового подхода к архитектуре МК, развития многопользовательского интерфейса, новых функциональных возможностей, и, соответственно, применения новых технологий программной реализации. Так же в данной работе уделяется внимание использованию имеющихся аппаратных ресурсов гибридного на основе ВК smh-11.
3. Моделирующий комплекс
Применение МК значительно упрощает решение задач по разработке, исследованию и отладке алгоритмов и методов, используемых в интеллектуальной начинке робота. Примерами таких задач могут служить:
- управление движением АПР;
- автоматическая навигация, в том числе решение задачи SLAM (Simultaneous Location and Mapping);
- машинное зрение, распознавание объектов на ГБО (гидролокатор бокового обзора), ГСО (гидролокатор секторного обзора), ГПО (гидролокатор переднего обзора), БГБО (батиметрический ГБО), ЛЧМ ГБО (ГБО с линейно-частотной модуляцией), МЛЭ (многолучевой эхолот) и на бортовых видеокамерах с целью использовать эти результаты при картографировании, поиске затонувших объектов, движении вдоль протяженных объектов, обследовании пирсов, судов и т.п.;
- “интеллектуальное поведение” (обход препятствий, перепланирование миссий, отработка внештатных ситуаций).
Это возможно, благодаря имитации всех бортовых систем подводного аппарата и окружающей среды в МК. Другие функциональные возможности позволяют:
- использовать МК в качестве тренажерного комплекса для операторов АПР;
- задавать и исследовать миссии АПР с учетом возникновения нештатных ситуаций и обстоятельств;
- тестировать работоспособность оборудования и бортового ПО подводного аппарата при его подключении к виртуальной среде моделирующего комплекса в режиме HIL.
Система предоставляет наряду с возможностями моделирования и управления миссиями также развитые инструменты визуализации результатов моделирования, позволяя выбрать любой момент миссии для изучения как информации с сенсоров, так и визуальной информации в 3D. Наличие централизованной БД позволяет реализовать многопользовательский доступ к результатам моделирования для совместного анализа результатов моделирования миссии несколькими операторами.
Серверная часть комплекса реализована в программном приложении, объединяющем в себе базу данных и супервизор. База данных используется для централизованного хранения результатов моделирования. От начала моделирования в МК запускается таймер “выполнения миссии”, как если бы реальный аппарат работал в реальной среде – время модели. Каждый такт модельного времени в БД заносится новый вектор состояния АПР (положение, скорости, ориентация), полученный при помощи модуля расчёта динамики аппарата.
Для взаимодействия модулей с сервером МК используются диспетчеры. Во время запуска диспетчер устанавливается связь с сервером, получает из сервера файлы миссии, конфигурации АПР и среды, файлы данных об аппарате и среде, в соответствии конфигурационными файлами инициализирует необходимые подключаемые модули. Также диспетчеры предоставляют модулям интерфейс для обмена данными и обеспечивают и автоматическое восстановление связи при разрывах в передаче данных между сервером и БД.
4. Выполнение МК на вычислительном кластере
В процессе реализации МК, мы, прежде всего, достичь максимальной производительности при выполнении распределённых вычислений на имеющихся аппаратных мощностях. Так как в задачи МК входит как моделирование, так и визуализация данных, то для нас крайне важна возможность интерактивного взаимодействия с системой с быстрым откликом.
Гибридный ВК позволяет использовать множественные GPU процессоры, как для выполнения распределенных вычислений, так и для визуализации результатов. Реализация алгоритмов обработки данных на гетерогенных вычислительных комплексах тесно связана с их архитектурой. Поскольку на сегодняшний день не существует единой универсальной методологии организации параллельных вычислений на гибридных архитектурах, можно говорить о поиске оптимальных решений применительно к определенным классам задач и определенным типам архитектур. В данной работе, как уже было выше сказано, анализируется подход к реализации параллелизма в МК применительно к гибридным вычислительным кластерам на примере вычислительного кластера SMH11, эксплуатируемого ИАПУ ДВО РАН. Рассмотрим подробнее его архитектуру и аппаратные возможности организации параллельных вычислений. Кластер представляет собой вычислительную систему из множества разнотипных узлов, различающихся аппаратными ресурсами. Доступ к ресурсам GPU может быть получен только в рамках того узла, к которому эти видеокарты подключены, поэтому на каждом узле мы имеем доступ к 2-м GPU. Запуск многопоточных программ на кластере производится с главного узла при помощи SLURM планировщика. В качестве основных параметров для него указывается путь до программы, необходимые ресурсы и тип узлов: standard, extended, gpgpu. На кластере установлены две MPI реализации: OpenMPI и mpich2. Однако, для возможности использования нескольких узлов применяется SLURM, который настроен для работы с mpich2. Для использования GPU (NVIDIA Tesla M2050) параллелизма на узлах, установлены специальные драйверы, а так же CUDA— инструментарий, позволяющие выполнять параллельные вычисления с помощью технологии CUDA.
5. Задача удаленной аппаратной визуализации.
Отметим, что ВК имеет мощные GPU модули, которыми можно эффективно воспользоваться в рамках задачи по визуализации данных. Операционные системы UNIX используют технологию X11 для визуализации с использованием OpenGL. Наиболее серьезной проблемой в использовании данной технологии является необходимость перенаправления потока данных, так как при попытке подключиться к X11 с удаленной машины — визуализация будет производиться соответственно ресурсами удаленной машины. Это связано с тем, что команды GLX используются для связывания контекста рендеринга OpenGL с контекстом для конкретного X Window, для получения списка цветовых форматов, которые поддерживает X-дисплей и т. д. Поэтому, в данной реализации было решено использовать библиотеку VirtualGL, использующая преимущества Unix и Linux платформ, которые позволяют предварительно загрузить библиотеку в приложение. Библиотека выступает посредником и позволяет перехватывать вызовы определённых функций. После того как VirtualGL подключается к Unix OpenGL приложению, он перехватывает вызовы функции GLX от приложений и переформатирует их таким образом, что соответствующие GLX команды перенаправляются X-дисплеем на сервер приложений с аппаратным 3D ускорителем. Таким образом, VirtualGL предотвращает отправку GLX команд по сети к пользователю X-дисплея. В процессе переформатирования GLX запроса, VirtualGL также перенаправляет OpenGL рендеринг во внеэкранные буфера пикселов (P-буфер). Между тем, остальные функции, вызываемые из приложений, в том числе обычные X11 команды, использующиеся для разработки пользовательского интерфейса приложений, проходят через VirtualGL без изменений.
6. Тестирование МК
Для оценки эффективности распределенного подхода был проведен эксперимент с размещением МК на двух ПК с одинаковыми характеристиками, соединенными локальной сетью со скоростью передачи 100 мб/сек. Параметры используемых ПК: Intel i5-760 @ 2,8 ГГц NVIDIA GTX-470. На первом ПК был запущен сервер, интерфейс пользователя и диспетчер. На втором ПК был запущен диспетчер. Производительность распределенного МК сравнивались с производительностью однопроцессорной версии МК. Исходные данные: виртуальная сцена, один АПР, оснащенный двумя каналами ГБО с включенной моделью зашумления, пятилучевой эхолокационной системой (ЭЛС) и одной цветной видеокамерой. Шаг моделирования 0.01 сек. Детализация виртуальной сцены ~800 000 треугольников. Каждый из моделируемых датчиков производит полный рендеринг сцены. Затвор видеокамеры срабатывает 15 раз в секунду, сигнал дальномеров и ГБО обрабатывается 5 раз в секунду. Вычислительная нагрузка между диспетчерами была распределена следующим образом: первый ПК моделирует работу видеокамеры, ГБО левого борта и два луча ЭЛС, второй моделирует ГБО правого борта и три луча ЭЛС. В результате вычислительных экспериментов было установлено, что в однопроцессорной версии МК на моделирование 100 сек. миссии потребовалось 263 сек. машинного времени, что не соответствует режиму реального времени. Распределенному МК на двух ПК потребовалось 164 сек. Т.е., увеличение аппаратной производительности системы в 2 раза повысило скорость расчетов в ~1.6 раза (эффективность 62%), но не обеспечило режима реального времени.
Второй эксперимент был проведен на конфигурации, состоящей из одного ПК и ВК SMH11 с 8 вычислительными узлами. Конфигурация одного узла SMH11: 2´CPU Xeon L5506, 2.13GHz, 2xNVIDIA Tesla M2050 GPU computing processor– 3 GB, 32 Gb оперативной памяти, Linux (Gentoo)+x-server, сеть со скоростью передачи 1 Гбит/сек. На ПК был запущен сервер МК и интерфейс пользователя. На кластере задействовано 3 узла, на которых было запущено по 1 диспетчеру с распределением нагрузки: 1 узел – видеокамера и 2 ГБО, 2 узел – три луча ЭЛС, 3 узел – два луча ЭЛС. На моделирование миссии потребовалось около 80 сек., что отвечает режиму реального времени. При использовании всех 8 вычислительных узлов, – по одному датчику на узел, время вычислений сократилось до 40 секунд, в этом варианте МК, значительную часть времени затрачивается на обмен данными по сети.
5. Заключение
Тестирование МК на вычислительных комплексах различных конфигураций подтвердило правильность принятых архитектурных решений, и дало обнадёживающие результаты в реализации режима реального времени при моделировании работы бортовых сенсоров АПР.
Предлагаемая в рамках данного подхода технология и система визуализации обеспечивает удаленную обработку данных и удаленную аппаратную визуализацию с использованием вычислительных ресурсов гибридного кластера (CUDA + MPI), а так же транспортировку результатов визуализации в машину пользователя в реальном режиме времени. Дальнейшее развитие комплекса видится в следующих направлениях:
- оптимизация архитектурной и сетевой структуры комплекса для уменьшения временных затрат, связанных с обменом данными (например, других протоколов передачи данных);
- развитие методов моделирования перспективных акустических сенсоров;
- развитие подходов к интеграции МК с модифицированной событийно-ориентированной программной средой системы управления АПР;
- отладка алгоритмов “интеллектуального поведения” с использованием новых возможностей, предоставляемых МК.
Список литературы
- Kuroda, Y.; Aramaki, K. and Ura T. (1996). AUV test using real/virtual synthetic world. Proceedings of IEEE Conference on Autonomous Underwater Vehicle Technology. June 3-6, Monterey, CA, from , accessed on 2014/Dec/08
- Choi, S.K. and Yuh J. (1993). Design of advanced underwater robotic vehicle and graphic workstation, Proceedings of IEEE International Conference on Robotics and Automation, May 2-6,Atlanta, GA, from , accessed on 2014/Dec/08
- Gracanin, D.; Valavanis K.P. and Matijasevic M. (1998).Virtual environment testbed for autonomous underwater vehicles,Proceedings of 8th International Conference on Advanced Robotics, ICAR’97 ,7-9 July, Monterey, CA, from , accessed on 2014/Dec/08
- Parodi, O.; Lapierre, L.; Jouvencel, B. (2009). Hardware-in-The-Loop Simulators for multi-vehicles scenarios:survey on existing solutions and proposal of a new architecture’, in Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, IROS 2009, September 2009, St Louis, MO, USA.
- Sehgal, A.; Cernea, D. (2010), A multi-AUV missions simulation framework for the USARSim Robotics Simulator., Proceedings of 18th Mediterranean Conference on Control & Automation (MED), 23-25 June 2010, 1188-1193.
- Бобков В.А, Морозов М.А.. Моделирование работы гидролокационных устройств средствами машинной графики // Подводные исследования и робототехника, 2012. No 1(13), стр. 47-51
- Bobkov V.A., Borisov Yu.S., Inzartsev A.V., Mel’man S.V. Simulation program complex for studying motion control methods for autonomous underwater vehicles // Programming and Computer Software, 2008, vol. 34, num. 5, pp. 257-266.
- БобковВ.А., Морозов М.А., Багницкий А.В., Инзарцев А.В., Павин А.М., Щербатюк А.Ф., Туфанов И.Е. Имитационный моделирующий комплекс для обследовательского автономного подводного робота //Научная визуализация, 2013, квартал 4, том 5, № 4, С.47-70.
- Багницкий А.В., Инзарцев А.В., Павин А.М., Мельман С.В., Морозов М.А. Модельное решение задачи автоматической инспекции подводных трубопроводов с помощью гидролокатора бокового обзора // Подводные исследования и робототехника, 2011, № 1 (11), с. 17-23.
- Инзарцев А.В., Сидоренко А.В., Сенин Р.А., Матвиенко В.Ю. Комплексное тестирование программного обеспечения АПР на базе имитационного моделирующего комплекса // Подводные исследования и робототехника, №1(7), 2009, С. 9-14.
- Клименко В.П., Ледянкин Ю.Я. Вычислительные системы. Тенденции развития архитектуры гетерогенных структур // ММС, 2013. №2.
- Bogdan Oancea, Tudorel Andrei. Developing a High Performance Software Library with MPI and CUDA for Matrix Computations // Computational methods in social sciences (CMSS), Volume : I Issue : 2, București, Romania, December, 2013
- Lam, Siu Kwan. Scaling CUDA for Distributed Heterogeneous Processors // San Jose State University, Master’s Theses. Paper 4143, Washington Sq, San Jose, 2012
- Melman, V. Bobkov, V. May. The system for visualization of synoptic objects // Scientific Visualization, Issue Year: 2011, Quarter: 4, Volume: 3, Number: 4, Pages: 2 – 9.[schema type=»book» name=»Моделирование процессов управления для автономных подводных аппаратов с использованием многопроцессорной аппаратной архитектуры» description=»В работе предложена реализация программного моделирующего комплекса с распределёнными вычислениями для моделирования в реальном времени задач, связанных с отладкой алгоритмов «интеллектуального» управления автономных подводных роботов (АПР). В данной работе проведены исследования алгоритмов путём имитационного моделирования широкого спектра бортовых датчиков, сенсоров, динамики АПР и физических процессов подводной среды. Программная реализация использует клиент-серверную технологию и централизованной БД с возможностью подключения в качестве вычислительных узлов, как персональных компьютеров, так и вычислительный кластер (ВК), в том числе с использованием гибридного параллелизма (GPGPU+CPU) в функциональных блоках. В качестве базового принципа для построения программной архитектуры используется модульный подход, который обеспечивает возможность расширения алгоритмической и функциональной базы за счет подключения дополнительных модулей по технологии plug-in. Так же в работе изложены основные функциональные возможности комплекса и схема взаимодействия модулей в условиях распределенных вычислений. » author=»Черкашин Александр Сергеевич» publisher=»БАСАРАНОВИЧ ЕКАТЕРИНА» pubdate=»2017-03-27″ edition=»ЕВРАЗИЙСКИЙ СОЮЗ УЧЕНЫХ_30.04.2015_4(13)» ebook=»yes» ]