УДК 004.45:62-52
Компоненты программного обеспечения манипуляционного робота*
В.В. Тютиков, д-р техн. наук, Е.В. Красильникъянц, канд. техн. наук, А.А. Варков, инж.
Рассмотрены особенности архитектуры программного обеспечения системы управления манипу-ляционным роботом. Определены подходы к реализации системного программного обеспечения систем управления манипуляционного робота.
Ключевые слова: манипуляторы, система управления, программное обеспечение.
Software Components of Manipulator Robot
A.A. Varkov, engineer, E.V. Krasilnikyants, candidate of science, V.V. Tyutikov, doctor of science
Described software architecture features of manipulator control system. Determined approaches to realization and configuration of system software modules.
Keywords: manipulator robot, control system, software.
Управление манипуляционными роботами (МР) имеет ряд отличий от других систем управления движением (СУД), которые заключаются в наличии большого количества раздельно управляемых механических осей, существовании между ними кинематических и динамических связей, нелинейности кинематической схемы.
Для эффективного управления оси манипулятора объединяются в координатные системы. Тип координатной системы (КС) определяется кинематическими соотношениями между отдельными осями [1]. Это может быть декартова, цилиндрическая, сферическая или вращательная система координат. Использование различных координатных систем для управления МР и написания управляющей программы (УП) требует наличия в составе программного обеспечения средств преобразования между ними.
Указанные отличия определяют специфику построения системы управления (СУ) ма-нипуляционного робота. Для применения РТК в составе гибкой производственной системы принципы построения СУ МР следует выбрать аналогичными используемым при разработке систем управления движением [2].
Основными компонентами аппаратной части являются контроллер движения (КД), используемый в качестве блока управления, и промышленный компьютер (ПК), на котором реализовано терминальное устройство [3]. Такое решение позволяет эффективно разделить системные и прикладные задачи и обеспечить возможность модификации отдельных компонентов СУ МР при необходимости использования СУ с различными видами и типами МР.
В связи с предложенным разделением аппаратной части следует выделить отдельные уровни и в составе программного обеспечения (ПО) (рис. 1):
- ПО контроллера движения;
- ПО терминального устройства.
ПО контроллера движения предназначено для решения основных системных задач и задач управления движением МР. Оно должно обеспечивать выполнение следующих функций:
- поддержка аппаратных средств;
- управление электроприводом;
- расчет траектории движения;
- наблюдение за состоянием системы;
- взаимодействие с терминальным устройством;
- выполнение системных подпрограмм;
- выполнение управляющих программ пользователя.
Рис. 1. Структура программного обеспечения СУ МР
Под поддержкой аппаратных средств понимается набор подпрограмм, обеспечивающих взаимодействие системного ПО с электрооборудованием СУ и периферийными устройствами. Данные подпрограммы предназначены для реализации таких задач, как опрос датчиков, организация работы интерфейсов передачи данных, получение инфор-
мации о переменных состояния МР и других компонентов СУ. Кроме того, на рассматриваемом уровне ПО решается задача синхронизации расчетных процессов, выполняемых на КД, согласно разработанной таблице приоритетов.
Процесс разработки данного уровня ПО заключается в создании модулей, работающих непосредственно в ядре системного ПО, или, если структура КД не позволяет этого, выполняемых в виде задачи с наивысшим приоритетом. Взаимодействие с задачами более низкого уровня осуществляется посредством встроенных буферов данных для накапливаемой информации, такой как ввод/вывод через информационный интерфейс, или специальных областей памяти для информации о состоянии системы.
Реализация указанных задач зависит, прежде всего, от аппаратных особенностей СУ МР. Используемые при разработке СУ КД, как правило, поддерживают различные виды датчиков, форматов данных и информационных протоколов на уровне встроенного ПО, что позволяет избежать необходимости написания собственных модулей для решения этих задач.
Таким образом, основное внимание при создании должно быть уделено разработке средств синхронизации различных процессов и взаимодействия с дополнительными платами расширения, разработанными непосредственно для СУ. Для организации передачи и обмена данных использованы выделенные области памяти, предназначенные для хранения текущих значений определенных системных переменных. Доступ к ним осуществляется посредством стандартных средств КД.
Управление электроприводом включает в себя опрос каналов обратной связи, реализацию координатных преобразований, расчет регуляторов, формирование управляющих сигналов, коммутацию силовых ключей. Поскольку разрабатываемая СУ ориентирована на работу с манипуляционными роботами разных производителей, то актуальной является возможность управления различными типами двигателей. К основным типам двигателей, используемых в настоящее время в МР, следует отнести: шаговые, постоянного тока, вентильные. В перспективе возможно использование асинхронных двигателей как наиболее дешевых и надежных.
Современные КД поддерживают алгоритмы управления указанными типами двигателя. Информация о переменных состояния двигателей и электромеханической системы в целом присутствует в системной памяти КД. Для минимизации вычислительных ошибок в качестве формата представления дан-
ных выбраны целочисленные значения и числа с фиксированной точкой.
Работа алгоритма управления электроприводом заключается в формировании управляющего сигнала на основании данных о переменных состояния двигателя. Последние могут быть получены либо непосредственно через каналы обратной связи с электродвигателем (ток, скорость, положение), либо вычислены в соответствующей подпрограмме (момент).
Для обеспечения стабильной работы СУ и требуемого качества управления необходимо выполнение алгоритмов управления электроприводом синхронно с прочими задачами, выполняемыми на КД, поэтому СУ МР должна работать в режиме реального времени. Для этого при разработке СУ МР должен быть выбран КД, позволяющий разделить задачи по приоритетам и задать частоты их выполнения. Современные высокопроизводительные КД позволяют проводить вычисления и выполнять подпрограммы, требуемые для управления электродвигателем, с частотой 9—10 кГц без значительного снижения производительности при выполнении прочих задач.
Для решения большинства задач управления электроприводом оказывается достаточно ПИД-регулятора. Для расширения его функциональности следует использовать модифицированный регулятор, позволяющий не только задавать координаты перемещения, но и компенсировать изменение динамических параметров с учетом требуемых физических характеристик движения, таких как скорость, ускорение и создаваемый момент. Для решения более сложных задач используются возможности КД по созданию регуляторов, позволяющих учесть особенности работы МР, которые не могут быть учтены в ПИД-регуляторе. Прежде всего, это относится к упругим системам, а также системам, обладающим нелинейностями перемещений. Для управления ими требуется более сложный тип регуляторов, такой как модальные регуляторы [4].
В связи с тем, что на работу МР значительное влияние оказывают существующие в нем кинематические и динамические связи, для обеспечения требуемых характеристик может потребоваться создание адаптивной системы управления. Для ее реализации на КД используются встроенные средства написания пользовательских регуляторов и осуществления взаимодействия и обмена информацией с МР в реальном масштабе времени.
В зависимости от используемого КД, подходы к реализации регулятора могут отличаться. Основным отличием является его написание на языке ассемблера и на языке, предназначенном для написания системных компонентов КД. В первом случае обеспечи-
вается более высокая производительность, но при этом от разработчика требуется знание особенностей процессора, используемого в КД, и средств взаимодействия с системными областями памяти. Во втором случае возможно использовать специально предназначенные команды получения требуемых переменных из системной памяти КД. При использовании современного высокопроизводительного КД применение языка высокого уровня оказывается более оптимальным, чем ассемблера, так как это позволяет проводить разработку при помощи отладочного и диагностического программного обеспечения. По этой причине при разработке СУ !п1ЫОР был использован встроенный в КД БАБ!О-подобный язык программирования. [5]
Расчет регулятора должен быть синхронизирован с другими процессами, в первую очередь с формированием управляющего сигнала и планировщиком траектории. Поэтому расчет контура тока должен выполняться с частотой 9-10 кГц, как и модуль управления электроприводом. Расчет контура положения в виду особенностей управления МР (использование различных КС, влияние пространственной конфигурации) и необходимости согласования с планировщиком траектории ограничен по быстродействию, поэтому в СУ !п1ЫОР он вычисляется с частотой 2-2,5 кГц.
В состав средств расчета траектории движения должны входить такие компоненты, как модуль исполнения кадра управляющей программы, планировщик траектории, программы расчета прямой и обратной кинематики, подпрограммы расчета динамических характеристик МР.
Модуль исполнения кадра управляющей программы осуществляет выполнение представленного в виде набора команд КД текущего кадра управляющей программы и синхронизацию состояния системных и пользовательских переменных, а также различных флагов, определяющих состояние СУ. Обработанные команды движения передаются для дальнейшего выполнения в планировщик траектории.
Модуль исполнения кадра можно рассматривать как компонент виртуальной машины, работающей на КД и занимающейся преобразованием сформированного из управляющей программы псевдокода в набор инструкций контроллера движения. Набор команд и их семантическое и функциональное значение определяются базовым ПО КД. Используемый КД должен предоставлять разработчику набор команд, предназначенных для указания типа, координат и характеристик перемещения, проведения математических вычислений, выполнения операций с системной и пользовательской памятью. Ука-
занного набора команд достаточно для реализации основных операций, требуемых при управлении МР.
Основной задачей планировщика траектории является преобразование заданных в управляющей программе движений в последовательность управляющих сигналов. Он поддерживает набор алгоритмов, обеспечивающий расчет основных видов траекторий, используемых в работе МР: линейных, круговых, сплайновых. В связи с необходимостью преобразования координат между различными видами КС, для их реализации используются интерполяторы, взаимодействующие с программами расчета кинематики МР.
При разработке СУ была предусмотрена возможность расширения алгоритмов интерполяции разработчиком за счет введения в них дополнительных операций и ограничений, предназначенных для обеспечения работы СУ МР в производственных условиях. В частности, разработчик может включить проверки на положение манипулятора в рабочей зоне, ввести ограничения по переменным состояния (скорость, ускорение, момент), что позволит включить в состав СУ МР средства обеспечения безопасности при выполнении технологических операций.
Использование программ расчета кинематики необходимо для перевода заданных движений из координатной системы, применяемой в управляющей программе, в координатную систему, используемую в манипуляторе, и обратно. При этом кинематические характеристики определяются конфигурацией МР. Решение задач прямой и обратной кинематики в многозвенных манипуляторах требует проведения ряда пространственных преобразований, основанных на матричных вычислениях. Большинство используемых МР обладают 5 и более осями, что определяет высокий порядок матричных уравнений и требует от КД значительных вычислительных ресурсов. Чтобы повысить производительность вычислений при разработке СУ, была решена задача оптимизации вычислений электромеханической модели МР [5].
В зависимости от пространственной конфигурации МР в текущий момент времени изменяются его динамические характеристики. Для оценки их влияния на поведение МР требуется решение уравнений динамики ма-нипуляционного робота. Существует ряд методов их решения [1, 6]. Исходя из вычислительных возможностей КД, был выбран подход, минимизирующий затраты вычислительных и временных ресурсов [5]. Так как КД, как правило, не имеют программных средств для выполнения операций с матрицами высокого порядка, для решения задач кинематики и динамики был выбран путь замены матричных операций вычислениями с использова-
нием отдельных элементов. Такой подход позволил оптимизировать вычисления путем удаления элементов с малыми весовыми коэффициентами в итоговом значении.
Для использования СУ с различными видами МР, отличающихся своими характеристиками, на этапе проектирования при расчетах уравнений кинематики и динамики реализована возможность конфигурирования основных параметров, для чего обеспечена возможность выделения области памяти, предназначенной для хранения информации о количестве осей, кинематических и динамических параметрах МР.
Средства наблюдения предназначены для осуществления обмена информацией о состоянии отдельных компонентов СУ, а также для защиты от возможных сбоев в работе аппаратного и программного обеспечения. К ним относятся сторожевые таймеры, внешние датчики и измерители физических величин, позволяющие определить возникновение различных проблемных ситуаций, а также программные счетчики и параметры, необходимые для первичной оценки поведения МР и выполнения задач движения. Данный модуль программного обеспечения реализован в виде отдельной системной подпрограммы, выполняемой в реальном времени, но с более низким приоритетом, чем задачи управления движением.
Средства взаимодействия с терминальным устройством предназначены для обмена данными и управляющей информацией с пользователем посредством терминального устройства. К ним относятся различные буферы для передачи информации, средства интерфейса с переменными состояния системы.
Для выполнения системных подпрограмм, существует уровень программного обеспечения, выполняемый на КД в фоновом режиме и осуществляющий обновление различных данных, наблюдение за характеристиками СУ, а также синхронизацию процессов в пользовательских программах. Критические задачи, требующие немедленной реакции, такие как обработка ошибок, выполняются с более высоким уровнем приоритета.
Управляющие программы пользователя, передаваемые для выполнения в КД, представляются в виде макрокоманд, которые должны быть преобразованы в систему команд КД для их выполнения при достижении соответствующего кадра. Набор макрокоманд определяется средствами ПО ТУ, в первую очередь языком описания УП.
В связи с тем, что для работы СУ МР необходимо обеспечивать выполнение различных задач в режиме реального времени, возникает вопрос о рациональном распределении между ними временного ресурса. На рис. 2 показано распределение выполняемых
процессов в !п1ЫОР по уровням приоритетов и примерное соотношение частот их обновления в рамках одного приоритета. Основные задачи взаимодействия с оборудованием СУ и коммутации управляемых двигателей относятся к наиболее высокому приоритету. Такое решение гарантирует, что СУ находится в рабочем состоянии независимо от времени, которое будут занимать задачи более низких уровней.
Рис. 2. Распределение задач ПО КД по уровням приоритетов
Задачи следующего уровня отвечают за формирование траектории движения и обновление состояния СУ через системные программы. Предоставление им данного приоритета позволяет гарантировать, что они будут выполняться с определенной частотой.
Задачи фонового режима выполняются в свободное от выполнения других задач время. Это позволяет избежать блокировки выполнения важных задач в случае возникновения сбоев в работе системных программ и при обмене данными с терминальным устройством.
Выбранные подходы к созданию и разработке программного обеспечения позволяют создать СУ МР, основанную на двухпроцессорной архитектуре с использованием КД, отвечающую современным технологическим требованиям. Такое решение позволяет наиболее эффективно использовать возможности КД и обеспечить гибкость и возможность адаптации СУ для работы с различными видами МР при решении производственных задач.
Список литературы
1.Фу К., Гонсалес Р., Ли К. Робототехника. - М.: Мир, 1989.
2. Красильникъянц Е.В., Бурков А.П., Иванков В.А.
Применение контроллеров движения для систем управления электромеханическими объектами // Мехатроника. Автоматизация. Управление. - 2008. - Вып. 2. - С. 45-50.
Задачи высокого приоритета
Задачи синхронизации и взаимодействия с оборудованием
Формирование сигнала ШИМ
Расчёт регулятора
Задачи низкого приоритета
Расчёт траектории движения
Системные программы реального времени
Задачи фонового приоритета
Системные программы фонового режима
Терминальный режим пользовательского интерфейса
3. Варков А.А., Красильникъянц Е.В., Тютиков В.В.
Система управления манипуляционным роботом // Автоматизация в промышленности. - 2011. - Вып. 5.
4.Тарарыкин С.В., Тютиков В.В. Системы координирующего управления взаимосвязанными электроприводами. - Иваново, 2000. - 212 с.
5.Tararykin S.V., Krasilnikyants E.V., Artem Varkov. Electromechanical model of manipulator robot: In
proc. 8th International Symposium «Topical problems in the Field of Electrical and Power Engineering». - Parnu, 2010. -Р. 291-295.
6.Armstrong B., Khatib O., Burdick J. The Explicit Dynamic Model and Inertial Parameters of the PUMA 560 Arm // Proceedings. 1986 IEEE International Conference on Robotics and Automation. - 1986.
"Данная работа проводилась в рамках Государственного Контракта №13.G25.31.0057 «Создание серии высокоскоростных энергоэффективных технологических комплексов с цифровой системой управления для прецизионной обработки деталей сложной конфигурации».
Варков Артем Александрович,
ФГБОУВПО «Ивановский государственный энергетический университет имени В. И. Ленина», инженер учебной лаборатории кафедры электроники и микропроцессорных систем, e-mail: [email protected]
Красильникъянц Евгений Валерьевич,
ФГБОУВПО «Ивановский государственный энергетический университет имени В. И. Ленина»,
кандидат технических наук, старший научный сотрудник кафедры электроники и микропроцессорных систем,
e-mail: [email protected]
Тютиков Владимир Валентинович,
ФГБОУВПО «Ивановский государственный энергетический университет имени В. И. Ленина», Доктор технических наук, профессор, проректор по научной работе, e-mail: [email protected]