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

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

Рис. 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.
|
 |