SWD Software Ltd. - официальный дистрибьютор QNX на территории России и стран бывшего СССР Операционная система реального времени QNX
Инструменты для создания надёжных встраиваемых систем и
интеллектуальных устройств любой сложности
QNX Software Systems - разработчик встраиваемой операционной системы QNX
  Стандартная версия

Управление учебным роботизированным комплексом под ОСРВ QNX

Совместно с компанией SWD Software и Канадской фирмой QSS в рамках образовательной программы «QNX для вузов» на кафедре «Приборостроение» Ковровской государственной технологической академии им. В. А. Дегтярева выполняется задача управления учебным роботизированным комплексом (УРТК) (рис. 1) в операционной системе реального времени QNX Neutrino 6.3.


Рис. 1. УРТК

Целью поставленной задачи является создание обучающего демонстрационно-практического комплекса RobotIics (рис. 2).

Интерфейс программы разработан в среде управления Widget-пакетами Photon Application Builder и предоставляет возможность управления тремя поступательными и двумя вращательными степенями свободы робота. Состояния концевых датчиков и импульсных датчиков движения отображаются в информационной части окна программы, при этом имеется возможность управление движением, как в ручном режиме, так и автоматическом (перемещение по поступательным осям на заданное расстояние).


Рис. 2. Интерфейс программы RobotIcs

В качестве платформы была выбрана ОСРВ QNX, как POSIX-совместимая и отказоустойчивая система. Можно выделить следующие ее преимущества: во-первых, это полная документированность – наличие подробной справочной системы и SDK, во вторых она обладает – «чистой» микроядерной архитектурой. Микроядро QNX имеет размер 8 Кбайт и отвечает только на базовые примитивы ОС (сигналы, таймеры, планирование), а все остальные компоненты системы (драйверы, пользовательские приложения) выполняются как отдельные процессы, каждый в своем адресном пространстве, и используют для общения друг с другом четко детерминированный механизм обмена сообщениями. В третьих имеет широкие возможности масштабирования – представляется возможным использовать одну и туже ОС во всей своей линейке продуктов. Кроме перечисленных качеств микроядро QNX обладает высокой степенью готовности и отказоустойчивости - любой компонент в случае отказа может быть перезапущен динамически, не нарушая работу микроядра и других компонентов. Следующей положительной чертой ядра QNX является поддержки различных мультипро-цессорных конфигураций. Предлагая поддержку мультипроцессорности QNX Neutrino предоставляет огромный выигрыш производительности для сетевых устройств, современных систем обработки изображений, многопоточных серверов и многих других приложений, требующих больших вычислительных мощностей. И наконец, микроядро QNX способствует богатейшему выбору целевых аппаратных платформ, таких, как ARM, MIPS, PowerPC, SH-4, XScale и x86.

Структуру программы RobotIcs можно представить следующим образом (рис. 3):


Рис. 3. Структуру программы RobotIcs

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

Программа была разработана с использованием среды QNX Momentics IDE на базе Eclipse. Текущая версия написана с использованием объектно-ориентированного подхода и предоставляет возможность использования интерфейсной части в учебных целях для знакомства с принципами программирования в ОСРВ QNX и управления роботизированными системами.


Рис. 4. Модуль прямолинейного движения

Рис. 5. Модуль вращательного движения

Конструкция УРТК состоит из трех модулей прямолинейного движения (рис. 4), обеспечивающих перемещение рабочего органа в декартовой системе координат, одного модуля вращательного движения для перемещения в цилиндрической системе координат и модуля поворота органа вокруг горизонтальной оси.

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

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

В настоящее время в программе RobotIcs реализованы следующие возможности, а именно:

  1. Сетевая архитектура приложения. На сервере работает диспетчер очередей задач от разных клиентов.
  2. Использование программ движения на естественном языке позволит реализовать наиболее интуитивно понятный метод управления роботом.
  3. Распознавание объектов изображения на основе искусственных нейронных сетей (НС) с применением нечеткой логики. Это находит широкое применение при осуществлении автоматизированного контроля. Задачу оптимизируют алгоритмы, построенные на основе нейронечетких систем. НС, сконструирована на основе алгоритма обратного распространения, и обучена распознавать черно-белые примитивы (рис. 6), схематично заданные матрицами 200*200 точек за несколько сотен циклов обучения, которые выполнились на компьютере за время меньше минуты. Обученная сеть успешно распознавала изображения, зашумленные более чем на 50%. Изображения перед распознаванием преобразуются из восьми битного черно-белого изображения в двух битное двухуровневое c помощью фильтра “Threshold”. В модуле также предусмотрена ручная обработка изображения. “Color to gray” переводит 24-х битное цветное изображение в восьми битное в черно-белое, “Threshold” – восьми битное черно-белое в двух битное двухуровневое. ”FullBlur” реализует сглаживание изображения по горизонтали, вертикали или по горизонтальной и вертикальной осям координат. Также реализована медианная фильтрация “ Median B&W ” – оптимизированный медианный фильтр для двух битных изображений, “ Median Gray ” – медианный фильтр для черно-белых изображений.


    Рис. 6

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


Рис. 7

Заключение.

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

Багаев Д.В.

Литература

1. Багаев Д.В., Симаков А.Л. и др. Система управления роботом. //Промышленные АСУ и контроллеры. – 2007. – №5. – С. 43-45.
2. Багаев Д.В., Ковалев А.С., Симаков А.Л. Система управления учебным роботизированных комплексом – RobotIcs //Control Engineering. – 2007. №3 – С. 8-10.
3. Комашинский В.И., Смирнов Д.А. Нейронные сети и их применение в системах управления и связи. – М.: Горячая линия-Телеком, 2003. – 94 с.
4. Багаев Д.В., Кузнецова Е.В., Ковалев А.С., Ковалев А.Ю. Программа управления роботом УРТК в RTOS QNX 6.3 «RobotIcs». - М.: ВНТИЦ, 2006. - №50200601608.