УДК 551.46.07
А. С. К у ц е н к о, С. А. Егоров
ОСОБЕННОСТИ СЕТЕВОГО ВЗАИМОДЕЙСТВИЯ В КОМПЬЮТЕРНОМ ТРЕНАЖЕРЕ ДЛЯ ПОДГОТОВКИ ОПЕРАТОРОВ ТЕЛЕУПРАВЛЯЕМЫХ ПОДВОДНЫХ АППАРАТОВ
Рассмотрены особенности сетевого взаимодействия в компьютерном тренажере, разработанном в НИИ СММГТУ им. Н.Э. Баумана и предназначенном для подготовки операторов телеуправляемого подводного аппарата.
E-mail: [email protected]; [email protected]
Ключевые слова: тренажер, сервер, сетевое взаимодействие, программный комплекс.
Разработанный в НИИ СМ МГТУ им. Н.Э. Баумана компьютерный тренажер предназначен для обучения оператора телеуправляемого подводного аппарата (ТПА) выполнению подводных работ, включая поиск и обследование объектов на дне, заиленных в толще воды. На данном тренажере оператор выполняет упражнения на моделях, обеспечивающих имитацию функционирования систем ТПА без участия самого аппарата, системы лебедочной кабельной и других аппаратных средств. Тренажер функционирует при использовании вычислительных средств штатного пультового оборудования ТПА под управлением операционной системы Linux.
Тренажер представляет собой программный комплекс, в состав которого входят следующие программы (рис. 1): "Загрузчик пульта управления ТПА", "Инструктор", "Пульт управления ТПА", "Загрузчик пульта управления гидроакустики", "Пульт управления гидроакустики", "Динамика и визуализация", "Система управления", "Сервер".
Упрощенно взаимодействие программ выглядит следующим образом. При отклонении рукоятки или нажатии кнопок на пульте управления аппаратом программа "Пульт управления ТПА" формирует задающие сигналы для программы "Система управления". Программа "Система управления" передает вычисленные задающие воздействия в программу "Динамика и визуализация" для управления движением ТПА, лебедкой, светильниками и другими исполнительными органами аппарата. В программе "Динамика и визуализация" моделируются движение ТПА, датчики, расположенные на аппарате, лебедка, другие системы, а также подводная среда. Положение ТПА в пространстве передается программам "Система управления" (для обратных связей), "Пульт управления ТПА", "Пульт управления гидроакустики" (для моделирования экранов гидроакустики), "Инструктор" (для создания
Рис. 1. Схема информационного взаимодействия программ тренажера
журнала миссии). Изображение из программы "Динамика и визуализация" поступает на экран программы "Пульт управления ТПА", моделируя вид с видеокамер, расположенных на ТПА.
Реализация функциональности тренажера предполагает наличие сетевого взаимодействия между всеми программами в реальном масштабе времени на штатном пультовом оборудовании ТПА. Для согласованного информационного взаимодействия всех программ тренажера используется программа "Сервер".
Программа "Сервер" обеспечивает установление соединений для циклического обмена информацией между программами тренажера, диагностику состояния связи с программами и оперативное оповещение всех программ о наличии неисправностей в сетевых обменах, гарантированную доставку разовых информационных сообщений между программами, пересоединение при обнаружении разрыва связи между компонентами тренажера. Пример отображения диагностики связи на экране программы "Инструктор" приведен на рис. 2.
После начального запуска тренажера каждая из его программ пытается установить соединение с программой "Сервер", заранее зная физическое расположение сервера по его адресу. После появления связи с сервером программа "Сервер" запоминает адрес каждой программы и при появлении циклических посылок от программы к программе уже передает информацию в нужном направлении, зная адреса всех
Загруженные модули ТК " Сервер СУ ПУ СПА Динамика ГТС1 ГТС2
Загрузка модулей ТК: IIIIIIIIIIIIIIIII 83%
1000m
Рис. 2. Диагностика соединений сервера со всеми программами тренажера на экране программы "Инструктор"
программ. В случае отсутствия какой-либо запущенной программы, без которой работа тренажера невозможна, программа "Сервер" выдает диагностические сообщения всем программам, включая программу "Инструктор", на экране которой отражается текущее состояние загрузки всего тренажера. До появления диагностического сообщения о наличии связи со всеми программами тренажер запустить невозможно.
Такая организация сетевого взаимодействия позволяет всем программам работать на более высоком уровне передачи данных, не заботясь о направлении (с какого IP-адреса на какой IP-адрес и на какие порты передавать, а на какие принимать данные). Вся рутинная работа по пересылке данных ложится на программу "Сервер".
Для удобства были реализованы два типа протоколов обмена: циклический асинхронный с большим объемом данных и с высокой частотой обмена (^50 Гц) без подтверждений (аналог UDP) и разовые сообщения ограниченной длины с подтверждениями для передачи диагностической информации и межпрограммных разовых сообщений, передаваемых от одной программы к другой с гарантированной
доставкой (аналог TCP). Разовые сообщения представляют собой форматированный в соответствии со стандартом XML текст. Программа "Сервер" выполняет функции маршрутизатора разовых сообщений и отвечает за гарантированную доставку сообщений от модуля к модулю. В общем случае схема доставки разовых сообщений от модуля к модулю представлена на рис. 3.
Подробно процесс доставки разовых сообщений от модуля к модулю представлен на рис. 4, а. Це-
Рис. 3. Процесс доставки разовых сообщений (сетевые модули А и Б встроены в разные программы)
Рис.4. Процессы передачи разовых сообщений (а) и контроля целостности сообщения (б)
лостность разового сообщения проверяется на основе контрольной суммы, передаваемой вместе с текстом разового сообщения. Если получатель обнаруживает нарушение целостности сообщения, то он отсылает отправителю уведомление об ошибке. Получив уведомление об ошибке, "Сервер" повторяет посылку разового сообщения. Данный процесс повторяется, пока клиент-получатель не подтвердит правильность принятого сообщения (рис. 4, б).
Приведенная архитектура сетевого взаимодействия обеспечивает надежное функционирование всего тренажера в реальном масштабе времени. Такая организация также позволяет запускать тренажер как на одной, так и на нескольких ЭВМ.
Статья поступила в редакцию 23.03.2012