вторник, 9 февраля 2016 г.

IBS и Mellanox договорились о сотрудничестве в области конвергентных инфраструктур

IBS Interlab и компания Mellanox Technologies – производитель комплексных коммутационных решений InfiniBand и Ethernet для серверов и систем хранения данных – объявляют о начале сотрудничества. В рамках соглашения конвергентная вычислительная платформа СКАЛА-Р будет комплектоваться высокоскоростными коммутационными Ethernet-решениями израильской компании.
Коммутаторы Ethernet компании Mellanox Technologies ориентированы на использование в ЦОД и серверных фермах, и обладают рядом преимуществ по сравнению с аналогами: неблокирующая матрица коммутации, архитектура, исключающая потери пакетов; самые низкие задержки при коммутации пакетов; низкое энергопотребление; высокие поддерживаемые скорости (10/40/50/100GbE); поддержка программно-определяемых сетей (SDN). Все это позволяет существенно повысить эффективность инфраструктурного решения СКАЛА-Р и добиться ускорения работы приложений и систем хранения данных.

Еще больше информации на данную тему содержит телеграм-канал «Человекоподобные роботы: технологии и рынки».

РЕТРОСПЕКТИВА

Система звукового объяснения для робота «Трикол» — разработка ИПМ им. М. В. Келдыша РАН. В процессе испытаний разработчики часто сталкиваются с неадекватным поведением робота, связанным с ошибками и неоднозначностью в ПО. Наиболее распространённый метод их поиска — протоколирование данных системы с записью в память (шлейф). Для выявления ошибок требуется не только сохранение наиболее полной информации о деятельности системы, но и разработка специального ПО для её обработки. Отладочный программный комплекс по сложности зачастую сопоставим с исходной программой, так как включает в себя модель робота и средства выявления ошибок. Наибольшие затраты времени идут на анализ шлейфа: это связано со сложностью критического момента, вызвавшего ошибку.
Для уменьшения временных затрат на разбор шлейфа основные параметры, как правило, отображаются в виде визуальной информации. Но, так как это связано с аппаратными сложностями (установка монитора на борт мобильного робота и т. п.), есть смысл попробовать звуковой канал. Использование простейшего генератора речи позволяет передавать общую оценку состояния мобильного робота и комментировать основные решения навигационной системы.
Для контроля программного комплекса и сужения области поиска ошибок в системе навигации робота «Трикол» разработана система звукового объяснения. Её основная функция — вывод планируемых действий мобильного робота в реальном времени в звуковом формате, что позволяет оценивать его общее состояние в ходе испытаний и облегчить разбор шлейфа. Генератор речи отображает текущее состояние мобильного робота в последовательности слов, образующих осмысленное предложение. Для хранения слов создан нумерованный список SOUND — словарь, каждый элемент которого соответствует либо целому слову, либо его части. Основываясь на текущем состоянии планировщика движения, в массив SENTENCE[] записываются номера слов. Выбор номеров основан на прямом сравнении переменных, отвечающих за состояние ПК. После окончания формирования фразы количество записанных слов сохраняется в переменной SENTENCE_COUNT и вызывается функция TALK(), запускающая процесс воспроизведения звукового сигнала (рис. I). Во время воспроизведения речи запись в массив SENTENCE[] не допускается, поэтому создан флаг CANSPEAK, сигнализирующий о завершении воспроизведения предыдущего предложения.
Рис. 1. Пример работы генератора речи. Промежутки между словами заполняются паузой
С целью экономии ресурсов некоторые слова были разбиты на части. Например, «маяк», «маяки», «маяка», «маяков» имеют общую часть «маяк». Логично было бы сохранить только звук «маяк», а окончания добавлять по необходимости. Однако, при этом, помимо усложнения процесса составления фразы, возникает проблема склейки — добавления к звуку исходного слова звука окончания. Как показали эксперименты, лучше всего звучат слова, где склейка происходит на переходе от согласной к гласной — тогда склейка практически незаметна.
В блок вывода звукового сигнала на колонки входят функции:
SOUND_INIT(), SOUND_CLOSE(), TALK(), SOUND_INTR().
Для каждого звука из словаря SOUND в ОЗУ содержится его цифровой образ — выборка. Воспроизведение звуков происходит в режиме DMA, что позволяет существенно разгрузить центральный процессор. В этом режиме данные из памяти автоматически копируются в DSP-процессор звуковой карты, а по окончании процесса возбуждается прерывание. Запуск воспроизведения звука осуществляется функцией TALK(). В этой функции сбрасывается флаг CANSPEAK и вызывается прерывание DSP-процессора.
Основная работа системы происходит в прерываниях, вызываемых звуковой картой по окончании воспроизведения выборки (рис. 2)Считывая следующий номер звука из SENTENCE[], в буфер DSP-процессора звуковой карты загружается соответствующий участок ОЗУ. Затем программируется контроллер DMA на воспроизведение выборки. После окончания воспроизведения всего содержимого SENTENCE[] устанавливается флаг CANSPEAK, а DSP-процессор останавливается до следующего вызова функции TALK().
Функция SOUND_INIT() производит загрузку SOUND, выделение буфера и настройку вектора прерывания DSP-процессора звуковой карты. Для каждого слова в словаре на жестком диске сохранён отдельный файл с выборкой соответствующего звука. В процессе загрузки для каждого слова из файла считываются данные и копируются в память. Функция SOUND_CLOSE() освобождает память от SOUND и убирает буфер и вектор прерывания DSP-процессора.
Рис. 2. Алгоритм работы прерывания SOUND-INTR(). Прерывание возбуждается после воспроизведения предыдущей выборки. Для определения номера выводимого слова используется счетчик Count
Необходимость использования специального буфера звуковой карты связана со спецификой режима DMA. При его программировании необходимо, чтобы участок ОЗУ, в котором содержится выборка, начинался со смещением, равным «0». Но при выделении памяти такой адрес невозможно указать заранее. Поэтому используется буфер, который представляет собой участок ОЗУ, начинающийся со смещением «0», размер которого позволяет вместить в себя любую из имеющихся выборок. Его формирование происходит путём выделения большего объёма памяти с последующим сдвигом начала до смещения «0».
Одна из наиболее трудоёмких задач при создании генератора речи — запись файлов словаря. Трудность не только в том, чтобы наговорить все слова, но и выделить и отрезать окончания; также играют роль интонации и уровень записи сигнала — поэтому звуковой файл перед включением в словарь тщательно редактируется. Использование в генераторе речи окончаний привело к необходимости введения дополнительного слова «пауза». Его функция — задержка между словами, во время которой на динамики ничего не выводится, но при её окончании автоматически возбуждается прерывание и загружается следующее слово.
Для робота «Трикол» словарь состоит из 30 звуков. Частота дискретизации выборки — 8 кГц. Общий объём выборки — 72 кБайт. На испытаниях система зарекомендовала себя успешно. (По материалам фестиваля «Мобильные роботы») А. П. Барсуков, журнал "ТКТ", № 4, 2004 г. 

Комментариев нет:

Отправить комментарий

Примечание. Отправлять комментарии могут только участники этого блога.