Организация виртуального очувствления для задач робототехники
|
|
|
Введение |
|
1. Логические сенсоры |
|
2. Виртуальные сенсоры |
|
3. Виртуальная сенсорная система |
|
4. Архитектура виртуальной сенсорной системы |
|
5. Заключение |
|
Литература |
|
Современные сенсорные системы, как правило, работают одновременно с набором разнообразных датчиков, таких как системы технического зрения, ультразвуковые, тактильные, силомоментные и другие типы датчиков. Основное требование, которое предъявляется к этим системам, применяемым в робототехнике, является то, что обработка зрительной, слуховой, тактильной и другой информации должна осуществляться в реальном масштабе времени. Сенсорные системы позволяют роботу выполнять технологические и другие операции, используя обратную связь, аналогичную той, которая имеет место при работе человека. Обобщенная архитектура сенсорной системы показана на рис.1.
На самом верху находится человеко-машинный интерфейс, посылающий команды супервизору, который, в свою очередь, посылает команды всем исполнительным устройствам и модулям. Это модули программного обеспечения, каждый из которых согласован со специальной функцией машины (робота); они действуют отдельно, с функцией очувствления или совместно.
Для решения широкого круга практических задач используется набор разнообразных датчиков, образующих мультисенсорную систему. Виртуальная сенсорная система (ВСС) является мультисенсорной системой, которая служит эффективным средством задания, восстановления и анализа сенсорных образов, формируемых таким набором разнообразных датчиков. Эта система поддерживает модели объектов на основе списка признаков, а также структурные модели. Среди систем очувствления наибольшей информативной емкостью обладают системы технического зрения. Первоначально ВСС начали разрабатываться именно для систем технического зрения [1]. Поэтому исследование, разработка и терминология ВСС тесно связаны с проблемой распознавания образов и терминологией систем технического зрения. Основными элементами ВСС являются логические и виртуальные сенсоры.
1. Логические
сенсоры
При разработке ВСС возникают следующие задачи:
1)
представление сенсорных данных на нижнем
уровне;
2)
описание верхнего уровня;
3)
создание виртуальной сенсорной системы
Первая из основных целей исследования состоит в том, чтобы разработать механизм для интеграции данных, поступающих от различных сенсоров, в согласованное представление на нижнем уровне. В качестве такого представления сенсорных данных от различных источников принят граф пространственной близости, предложенный в работе [1].
Вторая
цель заключается в использовании эффективного метода конфигурации сенсорной
системы. Конфигурация системы задается путем определения сенсоров и представления
данных на нижнем и верхнем уровнях. В этой связи применяется концепция ВСС,
описанная в работах [2-4,9].
Третья цель заключается в том, чтобы разработать подсистему, в рамках которой можно осуществлять координацию физических и виртуальных данных.
Как правило, физические сенсоры передают сырые данные, поэтому возникает необходимость интерпретации разнообразной информации, поставляемой такими сенсорами, а также обеспечение механизма управления процессом сбора данных. Если физический сенсор, например, получает информацию от системы технического зрения, то возникает необходимость моделирования объектов. Существующие модели основаны на списках признаков или на структурном описании объектов, т.е. описании в терминах локальных особенностей и связей между ними.
Построение графа пространственной близости ассоциируется с созданием логического сенсора. При этом производятся следующие операции:
1) ввод сенсорных данных;
2) выделение признаков и пространственная локализация этих признаков;
3) определение пространственных взаимосвязей между этими признаками.
Узлы этого графа соответствуют пространственному положению выделенных признаков. Два узла связываются дугой, если расстояние между ними меньше некоторой заданной величины.
Предполагается, что каждый сенсор поставляет информацию, состоящую из двух частей: признака и его пространственного положения. В этом случае данные от разных сенсоров обрабатываются одинаково. Существуют сенсоры, которые сами непосредственно проводят требуемые измерения, однако, для большей части сенсоров разработаны стандартные методы получения требуемой информации.
Таким образом, графом пространственной близости называется граф G, в котором для каждого положения той или иной особенности объекта имеется свой узел. Два узла соединяются дугой в том случае, если один из них является по отношению к другому одним из ближайших соседей.
На практике граф пространственной близости используют двумя способами. В первом случае входной информацией являются точки трехмерного пространства, а на выходе формируется описание пространственного взаимного положения этих точек. Графом пространственной близости здесь является список, дающий для каждой точки ее m соседей. Другой способ использования графа пространственной близости состоит в задании набора векторов признаков, характеризующих объекты сцены. В этом случае граф позволяет определить модели, ближайшие к заданному набору, и тем самым идентифицировать объект. В качестве признаков при анализе изображений используются как характеристики изображения (края, яркость, дальность и пр.), так и физические свойства поверхностей. Признаки обычно выбираются таким образом, чтобы обеспечить адекватное описание объекта при минимальных вычислительных затратах.
В мультисенсорных условиях каждая признаковая модель определяется непосредственно в терминах логического сенсора. Каждый логический сенсор имеет характеристический выходной вектор, который содержит все признаки, полученные этим сенсором. Для сопоставления этот вектор комбинируется с модельным эталонным вектором, задаваемым пользователем, в результате чего формируется граф пространственной близости.
Для иллюстрации рассмотренных принципов приведем следующий пример. Пусть для анализа некоторой сцены, составленной из десяти промышленных деталей, используется логический сенсор « детектор окружности». Выходным сигналом этого сенсора являются векторы вида ( Xi, Yi, Ri ), где Xi, Yi – координаты центра i –го выделенного объекта, а Ri – его радиус. Модельный эталонный вектор имеет вид :
0 ( «любое значение», «любое значение», Ri = 2)
и помещается в начале файла, содержащего выделенные векторы.
В таблице 1 приводится набор порождающих векторов, используемых для построения вектора «детектор окружности».
Таблица 1
Порождение вектора «детектор окружности»
Объект |
Координаты объекта |
Радиус
Ri |
0 |
«любое значение » |
2 |
1 |
Х1 У1 |
0 |
2 |
Х2 У2 |
0 |
3 |
Х3 У3 |
0 |
4 |
Х4 У4 |
1 |
5 |
Х5 У5 |
2 |
6 |
Х6 У6 |
3 |
7 |
Х7 У7 |
5 |
8 |
Х8 У8 |
0 |
9 |
Х9 У9 |
0,5 |
10 |
Х10 У10 |
0,5 |
Далее в соответствие с модельным эталонным вектором выбираются объекты, чей радиус Ri равен установленному пользователем (в данном случае Ri=2), и на основе этих данных строится граф пространственной близости.
Таким образом, модель объекта представляет собой просто набор значений признаков, и объекты идентифицируются по тому, насколько близки значения его признаков модельным. Эта форма моделирования поддерживается виртуальным сенсором.
Физические сенсоры определяются посредством параметров, связанных с отдельным сенсором определенного класса, например, с телекамерой, ПЗС, тактильным или силомоментным датчиком и т.д. Логические сенсоры определяются в терминах физических сенсоров и алгоритмов обработки их данных, например, сенсор «контурное изображение», а также определяется через другие логические сенсоры.
Процесс определения заключается в генерации процедуры, реализующей требуемые вычисления над данными, поступающими от требуемых физических сенсоров.
На рис.2 показана модель образования логического сенсора на основе признаковой модели, когда происходит отображение сенсорных данных в одно число или вектор, представляющий эти данные. При этом логический сенсор дает положение и вектор признаков любого объекта, выделенного на изображении.
Логический сенсор
Рис.2
Рассмотрим образование логического сенсора на базе силомоментного датчика, встроенного в запястье робота, взаимодействующего с объектом. Выходные данные силомоментного датчика представляются в виде данных из двенадцати элементов. Усилия и моменты вдоль осей X, E и Z представляются через реальные значения и булевы выражения. Каждое из шести реальных значений является компонентом характеристического выходного вектора. Остальные шесть выходных значений представляют логические выражения, задаваемые пользователем. В таблице 2 показано образование логического сенсора из шести реальных значений параметров и шести логических значений. Логический сенсор, который представляет в записи 6-элементный силомоментный датчик, может быть встроен в любой сенсорный модуль.
Таблица 2
Имя |
Данные |
Комментарии |
Запястье FX |
Скаляр, реальное значение |
Усилие вдоль оси Х |
Запястье FY |
Скаляр, реальное значение
|
Усилие вдоль оси Y |
Запястье FZ |
Скаляр, реальное значение |
Усилие вдоль оси Z |
|
|
|
Запястье MX |
Скаляр, реальное значение |
Момент по оси Х |
Запястье MY |
Скаляр, реальное значение |
Момент по оси Y |
Запястье MZ |
Скаляр, реальное значение |
Момент по оси Z |
Запястье, состояние |
Вектор, реальные значения |
6 верхних значений |
FX Limit |
Скаляр, булево выражение |
FX, значение предела |
FY Limit |
Скаляр, булево выражение |
FY, значение предела |
FZ Limit |
Скаляр, булево выражение |
FZ, значение предела |
MX Limit |
Скаляр, булево выражение |
MX, значение предела |
MY Limit |
Скаляр, булево выражение |
MY, значение предела |
MZ Limit |
Скаляр, булево выражение |
MZ, значение предела |
Запястье Limit |
Вектор, булево выражение |
6 верхних значений |
Конфигурация виртуальной сенсорной системы задается тремя уровнями иерархии: физические сенсоры, логические сенсоры и виртуальные сенсоры.
Подсистемы, образующие физические и логические сенсоры, ассоциируются с интерфейсом на нижнем уровне знаний, а виртуальные сенсоры с интерфейсом на верхнем уровне и с супервизором.
Большинство сенсорной информации в физическом сенсоре является подлинно реальной, она очувствляет такие приборы, как тактильные датчики, микропереключатели, оптические выключатели, датчики преобразования и т.д. Необработанные сенсорные данные ( типичные электрические сигналы ) от физических сенсоров обрабатываются интерфейсом программного обеспечения и действующими модулями для формирования абстрактных данных нижнего уровня. Эти абстрактные данные соответствуют, в основном, очувствленным параметрам, которые являются нижним уровнем виртуальной сенсорной системы и которые образуют логический сенсор. Логический сенсор либо непосредственно отображается на физический сенсор, либо обеспечивает описание способа комбинирования данных от нескольких логических сенсоров и представляет абстрактные данные для верхнего уровня. Виртуальный сенсор обеспечивает общие абстрактные данные для супервизора.
Все виртуальные сенсоры являются, таким образом, программным обеспечением предметов, абстрактных физическим аппаратным средствам: такое программное обеспечение может быть определено (т.е. создано), использовано и разрушено по требованию супервизора и в соответствие с текущей технологической или другой задачей.
При разработке программного обеспечения прежде всего учитываются следующие обстоятельства:
1. Обработка сенсорных данных должна осуществляться в реальном масштабе
времени, что позволяет производить очувствление посредством супервизора в
течение технологических или любых других операций.
2. Наличие в программном обеспечении расширения для добавления новых
сенсоров и реализация новых возможностей сенсорного очувствления, основанных на
существовании новых сенсоров.
Ниже приводится классификация сенсоров по мере увеличения их сложности.
Сенсоры состояния осуществляют формирование опросов состояний физических сенсоров при помощи соответствующих драйверов. В ответ на запрос команды от супервизора сенсор состояния поставляет текущее значение релевантного логического сенсора или других сенсоров. Например, единичное состояние сенсора используется для определения, какой из питателей содержит детали и является, следовательно, доступным для использования.
Сенсоры событий производят извещение супервизора, который устанавливает изменение значения состояния сенсора. Сигнал от сенсора событий возникает в случае, если произошло заданное супервизором изменение уровня сигнала физического сенсора. Сенсор событий используется для подтверждения, какое из ожидаемых событий имело место, например, наличие или отсутствие образца, превышение усилий, перегрузка питателя деталями.
Триггерные сенсоры осуществляют заданную комбинацию данных от сенсора состояния и сенсора событий: данные от сенсора состояния передаются в случае, если произошло срабатывание заданного сенсора событий в соответствии с предписанным условием супервизора. Триггерные сенсоры сохраняют текущее значение одного сенсора, когда другой сенсор подвергается установленному изменению; такое положение является временной комбинацией событий и очувствления состояния. Триггерный сенсор, следовательно, определяется в терминах установленного сенсора состояния и установленного сенсора событий (который, в свою очередь, определяется в терминах сенсора состояния).
Трендовые сенсоры осуществляют накопление данных ( для статистической обработки) в случае осуществления заданного события. Трендовые сенсоры хранят либо каждый запрос супервизора, либо требуемое событие, а также последовательные значения требований сенсоров состояния и посредством этого обеспечивают запись сенсорных данных.
Сенсоры дрейфа определяют событие как наличие систематического заданного дрейфа показаний заданного сенсора. Сенсоры дрейфа устанавливают сенсор событий, обрабатывая выходные данные сенсора состояния, так чтобы распознавать систематическое отклонение в информации, которая может указывать, что данная величина может стать неприемлемой.
Сенсоры надежности данных проверяют наличие и работоспособность физического сенсора и удовлетворение получаемого от физического сенсора сигнала заданному рабочему диапазону. Существуют два вида сенсоров надежности: один из них тестирует сенсор посредством проверки модуля на предмет присутствия и действия; другой проверяет каждый сенсор, чтобы установить, что интересуемые значения находятся внутри приемлемой границы и что отсутствующее сообщение об ошибке производится в доступном сенсоре.
Детекторы представляют собой логические фильтры, позволяющие выделять в последовательности данных виртуальных сенсоров особенность типа скачка и скачка производной.
Сенсоры обобщения информации представляют собой “обобщающие преобразователи”, которые по заданному описанию характеристик среды производят их свертку и обобщение с целью уменьшения количества информации, необходимой для принятия решений.
Сенсоры ситуации определяют общую ситуацию окружающей обстановки (или сцены), которая представляется в виде одного обобщенного признака ситуации. Значение данного признака ситуации может служить входом в словарь “Ситуация – действие” при организации управления верхнего уровня.
Создание виртуальных сенсоров и управление ими осуществляется посредством набора ниже приведенных команд.
Чтобы создать виртуальные сенсоры, супервизор должен установить команду «define» до того, как они будут использованы или уничтожены им, если они требуются на короткий срок. Это позволяет супервизору производить и выставлять виртуальные сенсоры в требуемом диапазоне в зависимости от технологической задачи при сенсорном доступе. Характеристики требования установки виртуального сенсора обозначаются также посредством команды «define», поскольку для определения виртуальных сенсоров требуется различный набор параметров.
Сенсоры состояния устанавливаются командой «define state» по запросу логического сенсора. При получении этой команды проверяется законность команды и запроса и после получения положительного ответа подается команда «sensor-id». Эта команда является единственным идентификатором, который использует супервизор, чтобы обратиться к виртуальному сенсору через последовательность команд. Виртуальному сенсору состояния затем посылается команда «interrogate (запрос)», чьим параметром является команда «sensor-id» и по отношению к которому ответ является текущим значением того сенсора. От первоначального виртуального сенсора ответы для всех сенсоров сопровождаются командой «sensor-id», позволяя посредством этого супервизору идентифицировать источник данных. В случае, когда виртуальный сенсор используется на короткое время, супервизор посылает команду «destroy (уничтожить)”, и параметр снова принимает команду «sensor-id»: следуя этому, команда «sensor-id» становится недействительной, следующие попытки к доступу виртуального сенсора кончаются сообщением об ошибке.
Сенсоры событий определяются в терминах
сенсоров состояния, которые супервизор уже установил, но еще не уничтожил.
Команда «define.event (установка событий)» выполняется по аналогии с параметром «sensor-id» для сенсора состояния;
для сенсора состояния цифрового типа выполняется пороговое значение параметра «less then (меньше чем)» или «greater then (больше чем)»; для сенсора состояния
Булева типа Булево значение заменяется оператором «equal» или «not equal». Следующей командой является
подтверждение, что сенсорная система для сенсора событий выдает параметр «sensor-id». Сенсору событий затем посылается команда «monitor» с событием «sensor-id» в качестве параметра. Когда удовлетворяются особые условия событий,
вызывается ответ «monitor.fired (монитор сгорел)»; следуя этому
сообщению, прекращается мониторинг, пока не последует новая команда «monitor». При отмене команды «monitor» для сенсора событий, который еще
«не сгорел», но остается уже ненадолго релевантным, используется команда «abort (выброс)». Следуя команде «firing (горит)» или команде «abort», сенсор перестраивается на новую
команду «monitor». Когда сенсор событий долго не
используется, то супервизор посылает новую команду «destroy (уничтожить)».
Триггерные сенсоры определяются от уже известных сенсоров состояния и сенсоров событий. Их команды подобны сенсорам событий, за исключением команды «define.trigger (установка триггера)», которая определяется только в качестве параметра «sensor-id» сенсора состояния или параметра «sensor-id» сенсора событий. Вместе с ответом «monitor.tired» триггерный сенсор возвращается к значению заданного (номинального) сенсора состояния.
Другие типы виртуальных сенсоров управляются подобными командами и наборами параметров.
В каждом виртуальном сенсоре выполняются вычислительные операции. Данные через многоканальный ввод поступают на вычислительное устройство или от физических сенсоров, или от других виртуальных сенсоров. Вычислительный процесс может быть алгоритмическим или использовать базу знаний. В соответствии с иерархической структурой виртуальный сенсор имеет один выход для связи с другими виртуальными сенсорами или с супервизором. Внутри самой сенсорной системы осуществляется высокая степень интеграции данных. Универсальность виртуального сенсора предполагает простой подход к обеспечению единообразия управляющего интерфейса для различных управляющих устройств.
ВСС представляет собой сложную виртуальную систему, включающую большое количество сенсоров и обрабатываемых сенсорных данных. При исследовании такой системы прежде всего возникают вопросы масштабирования (т.е. большого количества сенсоров) и разнообразия информации (т.е. разнообразных типов данных, которые должны обрабатываться). Информация, которая доставляется сенсорам, и процесс ее обработки изменяются в соответствии с текущей задачей пользователя. Эти динамически изменяющиеся сенсорные требования должны быть удовлетворены через динамическое обеспечение посредством сенсорного сервиса. Сенсорные модули должны определяться и создаваться, когда это требуется. Следовательно, основной задачей сенсорной активности является выдача по требованию текущего значения параметра состояния системы как одиночного снимка.
При проектировании ВСС основными требованиями являются [6,7]:
- гибкость и возможность изменения конфигурации на функциональных уровнях;
- интеграция сенсоров и сенсорных данных;
- оптимизация программ, связанная с применением методов оптимальных процедур работы супервизора;
- надежность программного обеспечения;
- модульность структуры и возможность независимой разработки отдельных модулей с последующей компоновкой сенсорных систем различного назначения;
- наличие стандартных методов взаимодействия отдельных модулей;
- максимальное использование стандартных средств, предназначенных для разработки программного обеспечения.
Рассмотрим наиболее важные из этих требований.
К виртуальной сенсорной системе предъявляются требования гибкости и возможности изменения конфигурации на различных функциональных уровнях. Программное обеспечение должно учитывать эти требования и предусматривать управление этим процессом. На уровне конфигурации должна быть обеспечена легкость добавления новых сенсоров и замена существующих сенсоров другими. Поскольку эти замены могут потребовать изменение аппаратного обеспечения, которое вряд ли осуществимо на работающей системе, они должны представлять ограниченный набор изменений.
В работающей системе во время перехода от одного процесса к другому согласно общей концепции важно, чтобы супервизор был в состоянии осуществлять реконфигурацию. Это, в принципе, является определением новых сенсорных функций, базирующихся на имеющихся сенсорах. Динамическая реконфигурация также может поддерживаться через калибровку, изменение порогов и переключения между альтернативными источниками данных.
Аппаратное обеспечение сенсоров измеряет или изменяет значение физического параметра, которое, в свою очередь, приводит к появлению первичного выходного сигнала, несущего информацию от данного сенсора. Первичный выходной сигнал также подвергается дальнейшей обработке для выделения в приемлемой форме необходимого сенсорного параметра. Сенсорная информация, таким образом, проходит путь от физических сенсоров до ее использования в ВСС.
Существует несколько подходов к сенсорному моделированию и сенсорной интеграции. Большинство исследователей предлагают осуществлять сенсорную интеграцию через различные иерархические уровни. Например, в работе [1] предлагается разделение сенсорной информации на следующие уровни: а) данные от действительных сенсорных процессов; б) информация после сокращения данных; в) информация, используемая для действительного применения данных. В работе [8] предложена групповая архитектура, которая позволяет разделять сенсорную информацию на несколько уровней и предусматривать видимость агентов на основе параллельной структуры. В работе [6] предложена интеграция физических данных и логических данных. В работе [7] сенсорная интеграция поддерживается на уровне фундаментальных (логических) сенсоров и на уровне виртуальных сенсорных классов.
Все подходы предполагают, что соответствующий путь состоит в разделении абстрактных данных на более мелкие проблемы сенсорной интеграции, причем предполагается, что при любом уровневом делении сенсорной информации должны рассматриваться как абстрактные сенсорные данные, так и данные управления. Кроме того, с целью независимости и универсальности программного обеспечения характерные особенности сенсорной инфраструктуры должны обрабатываться на нижних уровнях и скрываться от верхних абстрактных уровней. Таким образом, разделение проблемы сенсорной интеграции происходит согласно увеличивающимся уровням абстрактных данных как для сенсорных данных, так и для управления.
В соответствии с проведенным анализом проблемы предлагается разделение сенсорной интеграции на следующие уровни:
1. физическое очувствление;
2. логическое очувствление;
3. виртуальное очувствление;
4. супервизорное программирование.
Рассмотрим далее эти уровни и связанные с ними вопросы сенсорной интеграции.
Сенсорная интеграция на уровне физического очувствления выполняется физическими сенсорами. Физические сенсоры, основанные на разнообразии физических принципов и диапазонов точности, повторяемости, скорости передачи, надежности и т.п. используются для измерения различных параметров системы. Физические сенсорные компоненты включают разнообразные аппаратные модули, специфические аппаратные методы и драйверы устройств. Эти разнообразные сенсорные устройства обычно распределены в рабочем пространстве и управляются через коммуникационную сеть. Для преобразования и обработки первичного сигнала многие датчики объединяют сложное аппаратное и программное обеспечение. В большинстве случаев данные, произведенные датчиком, не готовы для прямого использования в управляющей программе. Для этого они должны быть обработаны, начиная от простого масштабирования, сравнения с порогом или уменьшения шума, до сложных статистических методов. Физический сенсорный уровень должен обеспечивать единообразный механизм для адресации и манипулирования аппаратным обеспечением через коммуникационную инфраструктуру и позволять осуществлять сбор необработанных данных.
Сенсорная интеграция на уровне логического очувствления выполняется логическими сенсорами. Программирование управления на уровне состояния системы, измеряемой физическими сенсорами, должно подразумевать знание низкоуровневых деталей о физических сенсорах. Этот вид зависимости приводит к сложному программному коду и к тому, что управляющая программа становится тесно связанной с реализацией физических сенсоров. Любое замещение или расширение сенсоров потребует переписывания части программного кода супервизора. Эта зависимость может быть уменьшена путем определения на одном и том же абстрактном уровне необходимых базовых параметров состояния системы и их атрибутов, требуемых для измерения системы с целью управления. Базовые требования осуществляются через соответствующие физические сенсоры, которые используются для представления абстрактных сенсорных функций. Обычно различные функции измерения состояния системы используют одни и те же физические сенсоры, но для измерения какого- либо параметра может привлекаться несколько сенсоров. Для поддержки необходимых сенсорных функций абстрактного базового состояния используется упорядочивание сенсоров.
Этот уровень обеспечивает все параметры состояния системы посредством логических сенсоров и реализуется, используя физический уровень и вычислительные операции. На уровне логических сенсоров скрываются детали возможной реализации и коммуникационная архитектура. Связи логических сенсоров с конкретными устройствами или их наборами также предполагаются недоступными супервизору. Этот уровень представляет те минимальные абстрактные сенсорные данные и абстрактные данные управления, которые используются верхним (виртуальным) уровнем и супервизором. Здесь каждое значение содержит такой набор типов данных, который образует общий каркас для остальной части архитектуры. Для обеспечения целостности сенсорных данных они должны быть строго типизированы. В противоположность абстрактным данным физического уровня на этом уровне интеграции они применяются к параметрам состояния системы, а не к конкретным устройствам. Таким образом, логические сенсоры являются посредниками между физическими сенсорами, отражающими реальные физические величины, и виртуальными сенсорами, отражающими абстрактные данные. Поэтому на логическом уровне имеется максимальный, по сравнению с другими уровнями, ссылочный аппарат.
Сенсорная интеграция на уровне виртуального очувствления выполняется виртуальными сенсорами. На этом уровне сенсоры образуются, чтобы дать новую информацию для супервизора посредством комбинации режимов управления. Для выполнения сложных сенсорных функций виртуальные сенсоры этого уровня должны проектироваться в качестве модулей, оснащенных правилами для объединения логических и остальных виртуальных сенсоров. Механизм организации и адресации абстрактных данных в параллельных и динамических архитектурах представляет собой очень сложную задачу и в настоящее время находится в стадии исследования. В работах [10,11] он предлагается через иерархическое и модульное представление.
Абстрактные сенсорные данные этого уровня
для упрощения их обработки делятся на три уровня (нижний, средний и верхний).
Каждый из уровней имеет свой интерфейс, согласующийся с конструкцией языка
супервизора. Абстрактные данные управления представляются через
стандартные и специальные типы
виртуальных сенсоров. Таким образом, на этом уровне обеспечивается возможность
конструирования и использования виртуальных сенсоров, которая определяется
супервизором. Супервизор имеет определенный набор команд к сенсорной системе.
Важным обстоятельством при конструировании сенсоров этого уровня
являются поддержка концепции модульности, связности и реализация идеи
динамической области видимости сенсорных функций. Это означает, что только функции,
необходимые сейчас, находятся в области; такое представление помогает
локализовать сенсорные требования в различных секциях кода и, таким образом,
упростить проектирование и внедрение супервизорного кода. Идеей, тесно
связанной с динамической областью видимости, является концепция времени жизни
сенсоров. Виртуальный сенсор создается с предопределенным начальным состоянием;
для выдачи сенсорных значений через экспортируемые функции он используется один
или несколько раз и, наконец, он разрушается. В течение времени жизни виртуальный
сенсор пребывает в различных режимах, операции и функциональные ограничения
определяются и отражаются в дизайне интерфейса.
Виртуальные сенсоры, необходимые системе, проектируются и применяются при условии наличия необходимых первичных сенсорных данных. Этот процесс включает измерение состояния устройства, обработку сенсорных данных, механизмы для подачи сигналов и координации, подтверждение ожиданий, удовлетворение заранее заданным условиям, защитные действия и т.д. После этого должны появиться соответствующие абстрактные сенсорные данные и абстрактные данные управления.
В соответствии с рассмотренными выше требованиями разработана архитектура ВСС, которая представлена на рис.3.
В ней имеется четыре основных блока:
1. Физическая сенсорная система.
2. Логическая сенсорная система.
3. Виртуальная сенсорная система.
4. Супервизор.
Рис. 3
Каждый из блоков связан с различными частями общей системы интеграции сенсоров и обеспечивает или использует специфические функции с определенными интерфейсами. Не все из первых трех блоков доступны супервизору. Блоки первый и второй составляют фиксированную часть сенсорной системы, которая определяется во время конструирования. Эта фиксированная часть недоступна напрямую супервизору. К услугам, экспортируемым фиксированной частью, можно иметь доступ только через виртуальные сенсоры, определенные для них. С другой стороны, сенсорная система состоит из динамической части, которая позволяет создавать абстрактные данные высокого уровня, основанные на знаниях фиксированной части. Услуги, представляемые на различных абстрактных уровнях динамической части, все в равной степени доступны супервизору. Физический и логический сенсорные уровни и абстрактные данные управления полностью определяются в процессе проектирования. На уровне виртуальных сенсоров определяются только общие функциональные абстрактные данные, наряду с механизмами для построения новых виртуальных сенсоров. Уровневая структура ВСС представлена на рис.4.
Фиксированная часть Физический сенсорный уровень
Рис . 4
Спецификации абстрактных сенсорных данных и данных управления на уровне интерфейсов к физическому и логическому блокам представляются в таблицах сенсорных параметров. Виртуальный сенсорный интерфейс определяется спецификациями индивидуальных виртуальных сенсорных классов. Таблица логических сенсорных параметров имеет особую важность, поскольку она устанавливает разделительную черту между фиксированной и динамической частями. Она определяет детали в общем наборе сенсорных параметров на минимальном абстрактном уровне, которые являются общими ссылками в фиксированной и динамической частях. Фиксированная часть претворяет детали, определенные в таблице, а динамическая часть использует эти детали как основу для своего построения.
А. Физическая сенсорная система
Физическая сенсорная система представлена таблицами, которые содержат набор определений параметров физических сенсоров на самом низком уровне представления, а также в терминах аппаратного обеспечения датчиков и специализированных драйверов. Таблица физических сенсорных параметров обеспечивает операции по измерению текущего значения каждого физического сенсорного параметра. Она включает, кроме этого, другие операции, например, сброс аппаратного обеспечения датчика или выбор другого выходного формата. Доступ аппаратных устройств к системам обработки сенсорных данных осуществляется через коммуникационную шину.
Роль данного уровня заключается в интеграции сенсорной информации на уровне физических сенсоров и в достижении следующих целей:
1) скрыть специфические особенности обработки физических сенсоров;
2) обеспечить единообразный интерфейс ко всем физическим сенсорам;
3) спрятать детали коммуникационных механизмов;
4) обеспечить соответствующую адресацию и механизм доступа ко всем
физическим сенсорам.
Б. Логическая сенсорная система
Логическая сенсорная система представлена таблицами, состоящими из набора определений и описаний сенсорных параметров, требующихся для установления физических состояний автоматической системы или их изменений на абстрактном уровне. В ней также содержится набор используемых атрибутов, связанных с каждым из сенсорных параметров, таких как разрешение, единицы для измерения задержки, скорость отклика. В ней может находиться содержание параметрических измерений, т.е. любые дополнительные сведения о физической среде или сенсорном аппаратном обеспечении, требуемом для использования или для интерпретации информации. Примерами могут являться местоположение сенсора и любые связи с другими сенсорами. Конкретные сенсорные параметры моделируются скалярными или комбинированными типами данных. Объекты сенсорных параметров могут абстрагировать одно или несколько значений физических сенсоров.
Логическая сенсорная система осуществляет
связи между ячейками таблицы физических сенсорных параметров и таблицы
логических сенсорных параметров. В таблице логических сенсорных параметров в
наборе связей содержится, по крайней мере, одна связь для каждого логического сенсорного
параметра. Обычно логические сенсорные параметры имеют несколько определений
связей, которые указывают на различные или избыточные наборы физических
сенсоров. Таблица логических сенсорных параметров обеспечивает определение
будущих абстрактных значений сенсоров.
Абстрактные значения используются в операциях измерения для обеспечения
текущего значения параметра состояния.
Целями этого уровня являются:
1) обеспечить однородный интерфейс для текущего сенсорного состояния;
2) обеспечить адресный механизм для логических сенсоров;
3) скрыть стандартную низкоуровневую обработку сенсорных данных, например,
объединение, масштабирование, группировку;
4) скрыть детали реализации функций связи от логической сенсорной системы к
физической сенсорной системе;
5) обеспечить обнаружение низкоуровневых ошибок и неисправностей, а также
восстановительные механизмы.
В. Виртуальная сенсорная система
На этом уровне сенсоры образуются, чтобы дать новую информацию для супервизора посредством комбинации режимов управления. Виртуальные сенсоры собирают данные от логических сенсоров и вырабатывают будущее собственное поведение для обеспечения только требуемой информацией. Данные от логических сенсоров сильно отличаются и представляют состояния различных частей системы; обычно для их интерпретации требуется дальнейшая обработка. Требования сенсорной поддержки у пользовательских модулей также сильно отличаются как в терминах данных, так и функциональности. Анализ совпадений требований с имеющимися возможностями приводит к варьированию уровней обработки и их усложнению, и таким образом, к варьированию абстрактных уровней, таких как измерение сенсорных параметров логического уровня, уменьшение шума, объединение или слияние данных от различных логических сенсоров, различные мониторинговые и координационные режимы. Кроме того, существуют функциональные особенности, которые обычно используются для обработки данных с сенсоров и их интерпретации, такие как тестирование пересечения заданного порога. Анализ этих проблем приводит к идентификации простых функциональных конструкций и проектированию виртуальных сенсоров в качестве строительных блоков в более сложных абстрактных ситуациях.
Для выполнения сенсорных функций виртуальные сенсоры этого уровня, следовательно, должны проектироваться в качестве модулей, оснащенных правилами для объединения логических и остальных виртуальных сенсоров. Механизм организации и адресации абстрактных данных этого уровня представляет собой очень сложную задачу, в настоящее время он находится в стадии исследования и представляется через иерархическое и модульное построение. Абстрактные сенсорные данные этого уровня с целью упрощения их обработки предлагается делить на иерархические уровни. Каждый из уровней имеет свой интерфейс, который должен соответствовать командам супервизора и программной семантике. Абстрактные данные управления гарантируются через стандартные или специальные типы виртуальных сенсоров. Таким образом, на этом уровне обеспечивается возможность конструирования и использования виртуальных сенсоров, которая определяется супервизором.
ВСС имеет три уровня виртуальных сенсорных классов, отражающих внутреннюю сложность анализа и обработки виртуальных сенсорных данных:
1. виртуальные сенсоры основного состояния;
2. виртуальные сенсоры промежуточного состояния;
3. алгоритмические виртуальные сенсоры.
Виртуальные сенсоры основного состояния делают доступными для ВСС требуемые логические сенсорные параметры и предлагают набор сервисов измерения текущего состояния. Виртуальные сенсоры промежуточного состояния включают набор сенсорных функций общего пользования. Алгоритмические виртуальные сенсоры используют существующие конструкции, конфигурируют их в алгоритмах и образуют более сложные сенсорные функции.
Виртуальные сенсоры основного состояния создаются после опроса логической сенсорной системы. Они обеспечивают измерение текущего значения параметра, ассоциированного с сенсором. Эти сенсоры являются наиболее доступными для супервизора и других клиентских модулей ВСС. Они являются соединительным звеном для доступа к фиксированной части сенсорной системы и модулям верхнего уровня. Датчики состояния проверяют входящие сенсорные данные на соответствие критериям, типу и формату, описанному в логической сенсорной системе.
Виртуальные сенсоры промежуточного состояния являются сенсорными модулями, алгоритмы которых фиксированы и определены заранее. Они абстрагируют сенсорные функции общего пользования, которые используются как сами по себе, так и в качестве строительных блоков для верхнего уровня или сложных сенсорных абстрактных данных. К виртуальным сенсорам этого уровня относятся сенсоры условий для обнаружения специфических состояний окружающей среды, сенсоры событий для абстрагирования асинхронных уведомлений об изменениях состояния, триггерные сенсоры для сбора данных с уведомлением, сенсоры записи событий с механизмами с отчетом времени, сбор данных в которых контролируется различными способами. Сюда относятся сенсоры производных состояний, поддерживающие простейшую обработку данных, которые строятся путем использования сенсора состояния и функции, которые осуществляют обработку.
Алгоритмический сенсор в качестве виртуального сенсора обеспечивает абстрактные сенсорные данные и абстрактные данные управления. Для его создания требуются список виртуальных сенсоров и алгоритм для организации их использования. В программной среде, в которой создается программный код, такой уровень поставляет средства, с помощью которых могут создаваться виртуальные сенсоры с функциями, не имеющимися среди виртуальных сенсоров промежуточного состояния. Сенсоры, созданные таким образом, будут удовлетворять стандартным абстрактным сенсорным данным и абстрактным данным управления и, следовательно, могут быть использованы в сенсорной иерархии. Алгоритмические сенсоры в ВСС выступают как возможные механизмы для построения сложных сенсорных алгоритмов.
Каждый сенсорный класс, независимо от уровня, удовлетворяет одному из стандартных абстрактных данных управления. Сенсор событий, например. может принадлежать к виртуальным сенсорам промежуточного состояния, основанного на сенсоре состояния, пересекшего порог. С другой стороны, это может быть сенсор алгоритмического уровня, где присутствует специализированный алгоритм, образующий ряд сенсоров состояния и некоторый набор сравнений их значений.
5. ЗАКЛЮЧЕНИЕ
Задачей виртуальной сенсорной системы (ВСС) является разделение проблемы очувствления на различных уровнях интеграции, обработка сенсорных данных в нужной форме и представление сенсорной информации на тот уровень и в том количестве, в котором она будет потребляться. На физическом уровне сенсорная интеграция обеспечивает однородный интерфейс и доступ к конкретным устройствам. На логическом уровне сенсорная интеграция представляет абстрактные данные для верхнего уровня. Виртуальная сенсорная интеграция обеспечивает область общих абстрактных данных для супервизора, который может быть отдельной программной системой или являться целевой программой для конкретного применения.
Разработана архитектура ВСС, которая состоит из физической сенсорной системы, логической сенсорной системы, виртуальной сенсорной системы и супервизора. Подсистемы, образующие физические и логические сенсоры, ассоциируются с интерфейсом на нижнем уровне знаний, а виртуальные сенсоры с интерфейсом на верхнем уровне и с супервизором. Исследована конструкция логического и виртуального сенсоров, являющихся ведущими элементами ВСС, приведена классификация основных типов виртуальных сенсоров.
ЛИТЕРАТУРА
1.
Henderson
Thomas C., Wu So Fai, Hansen Charles. MKS: A Multisensor Kernel System. //IEEE
Transactions on Systems, Man and Cybernetics, 1984, v. SMS-14, No.5, pp. 784 –
791.
2.
240. MKS: Мультисенсорная базовая система. //ЭИ Робототехника,
ВИНИТИ, 1985, №46.-с. 1 - 6.
3.
Платонов А.К.,
Кирильченко А.А., Ладынин И.Г., Ястребов В.В. Концепция виртуальных датчиков в
задачах управления мобильными мехатронными системами // Труды 3-ей
Международной научно -технической конференции "Современные методы и
средства океанологических исследований". М.: ИО им. П.П.Ширшова РАН,
1997.-с. 137
-143.
4.
Nicholls
H.R., Rowland J.J., Sharp K.A.I. Virtual devices and intelligent gripper сontrol in
robotics.
//"Robotica", 1989, v. 7, # 3, pp. 199 - 204.
5.
35. Виртуальные
устройства и интеллектуальное управление схватом в робототехнике. //ЭИ
Робототехника, ВИНИТИ, 1986, №15.-с. 2 - 9.
6. Rowland J.J, Nicholls H.R., A virtual sensor
implementation for a assembly machine. // Robotica, 1995, v. 13, pp. 195 - 199.
7. Hardy N., Maroof A.A., ViSIAr - A virtual
sensor integration architecture. Robotica, 1999, v. 17, pp. 635 - 647.
8.
Duffy
N.D., Herd J.T., Eccles N.J. Agent get framed in novel architecture.
//Industrial Robot, 1991, v.18, No.2, pp.23 - 26.
9.
Платонов А.К,
Кирильченко А.А., Петрин А.А. Свойство виртуальности в информационных системах
робототехники. // М.: Препринт Ин-та прикл. матем.
им.М.В.Келдыша АН СССР, 2003, с. 25
10. Кирильченко А.А., Петрин А.А