Введение
В работах [1–4] рассмотрены создание и испытание системы компьютерной симуляции программного управления промышленным роботом (ПР). Разработанная программная система, в виртуальной среде ПК, осуществляет имитацию деятельности ПР (далее – робота) под управлением программируемого логического контроллера (ПЛК) в реальном времени.
Цель
Дальнейшее развитие симулятора предполагает внедрение в его структуру интеллектуальной подсистемы, анализирующей поведение робота и диагностирующей его на возможные аварии. Таким образом, симулятор сможет давать заключения о характере управления роботом самостоятельно, без участия человека-оператора. Интеллектуальность подсистемы, главным образом, будет заключаться в том, что она будет построена по принципу экспертной системы, с базой знаний продукционного типа [5].
Материал и методы
Для осуществления интеллектуальной диагностики поведения робота необходимо:
- выявить характерные особенности состояний, позволяющие отличить аварийную ситуацию от штатной;
- сделать предположения о последовательностях событий, характерных для таких ситуаций;
- представить эти последовательности на дереве состояний виртуального робота;
- составить программные алгоритмы, способные осуществлять проверку заданных последовательностей состояний;
- осуществить программную реализацию данных алгоритмов и внедрить их в структуру симулятора;
- согласовать синхронную деятельность подсистем программного управления и интеллектуальной диагностики в составе симулятора в режиме реального времени.
Для выявления характерных особенностей аварийных и нештатных ситуаций необходимо проанализировать возможные сбои работы виртуального робота и их причины. Для этого следует напомнить, какие параметры объекта управления могут изменяться и каким образом [1; 4].
Робот имеет две степени свободы, выраженные действиями подъёма/опускания манипулятора и вытягивания/втягивания схвата манипулятора. Подъём и опускание реализуются различными приводами, действия которых противопоставляются друг другу. Аналогичным образом реализуется вытягивание/втягивание. Каждый из таких приводов может находиться либо во включенном, либо в отключенном (выключенном) состояниях. Разжим/сжатие схвата реализуется единственным приводом, так что когда он включен, схват разжат, а в противном случае сжат. Любой привод может быть включен или отключен в любой ситуации при любых состояниях других приводов, таким образом, что возможны, например, одновременное поднятие манипулятора и вытягивание схвата. Ещё одним изменяемым параметром системы управления является встроенный таймер. Запуск таймера производится специальной командой, сообщающей ему интервал ожидания. За таймером зарезервированы два служебных бита памяти. Первый становится истинным, когда таймер начал счёт, второй – когда завершил. Для запуска таймера оба этих бита должны иметь значение ЛОЖЬ.
Итак, проанализировав возможные состояния приводов робота и таймера контроллера, представим общие признаки аварийных или нештатных состояний:
- привод лишён возможности осуществить целевое действие;
- привод не завершил осуществление целевого действия;
- нехарактерное использование приводов;
- состояние не меняется и таймер бездействует;
- действия таймера не влияют на приводы;
- таймер не завершил счёт штатно;
- нехарактерная реализация цикла.
Переходя от абстрактных признаков к конкретным формулировкам, можно остановиться на следующих допущениях, характеризующих наличие или отсутствие аварийности в работе робота.
1. Приводы, действия которых противоположны друг другу, включились одновременно.
2. Активность виртуального робота прекратилась, а контроллерный таймер не включен и не осуществляет «счёт».
3. Между разжимом и сжимом схвата не произошло временной задержки (подозрение на сбой).
Указанные в допущениях ситуации, в большей или меньшей степени, могут охарактеризовать деятельность робота как аварийную или штатную.
Результаты и их обсуждение
Для наглядности рассмотрим вышеперечисленные допущения на примере последовательности возможных состояний робота, выраженной деревом состояний, на рисунке 1 [1].
Рис. 1. Дерево состояний виртуального робота.
Это дерево представляет собой ориентированный граф, в котором показаны возможные варианты последовательностей изменения состояний системы. Номер вершины указан слева от выражающей её геометрической фигуры, а текст внутри нее является информацией о текущем состоянии системы. В графе используется два типа вершин. Первые представлены фигурой окружности. Эти вершины выражают текущее состояние робота сигналами датчиков обратной связи и завершения ожидания контроллерного таймера. В окружности вершины могут отображаться символьные идентификаторы «S1…S7» датчиков, или же может быть указан символ таймера «Т». Если в такой вершине указан идентификатор, значит соответствующий ему датчик в этом состоянии выдаёт сигнал ИСТИНА. Символ «Т» внутри вершины означает завершение ожидания контроллерного таймера. Вершины второго типа представлены фигурой квадрата. Эти вершины выражают состояния приводов исполнительных органов робота, а также наличие запроса ожидания контроллерному таймеру. Состояния приводов выражаются идентификаторами «Y1…Y5», а запрос таймеру символом «Т». Если в вершине такого типа указан идентификатор, значит соответствующий ему привод в этом состоянии включен. Присутствие символа «Т» в данной вершине выражает наличие запроса ожидания таймера. Также возможен вариант, когда квадратная вершина не содержит никакого текста, что означает отсутствие каких-либо управляющих воздействий и запросов ожидания. Такое разделение типов вершин необходимо, чтобы показать не только принимаемые виртуальным роботом состояния, но также и промежуточные процессы между ними, связанные с выдачей управляющих сигналов программой.
Итак, на рис. 1 вершина 1 выражает начальное (нулевое) состояние робота, из которого производится пуск цикла программного управления. Далее вершины 2, 3 и 4 выражают лишь несколько из возможных управляющих воздействий в этот момент. Однако сразу становится заметным, что вершину 3 можно идентифицировать как сбой, так как включились приводы, осуществляющие противоположные друг другу действия, что подпадает под описанное допущением 1 нарушение. Аналогичная ситуация произошла и в состоянии, выраженном вершиной 9. Эти вершины не порождают последующих, что означает «клин» робота и его неспособность достичь других состояний. Последовательность состояний, выраженных вершинами 5-7-11, также можно идентифицировать как сбой, подпадающий под допущение 2. Состояния 5 и 11 аналогичны, а управляющее воздействие 7 не выдало запрос ожидания. К этому же типу допущения можно отнести и последовательность 13-16-19. Хотя в управлении 16 и включен привод, запрос ожидания также не выдан, а состояния 13 и 19 аналогичны. Последовательность состояний 13-15-18-21-23 можно идентифицировать как подозрение на сбой, согласно допущению 3, что не относится к последовательности 12-14-17-20-22-24-25, так как в этом случае осуществляется таймерное ожидание между сжатием и разжатием схвата.
Заключение
Таким образом, очевидно, что выдвинутые допущения, изображённые в виде графа, подробно отражают признаки наличия или отсутствия аварийности в поведении робота. Следовательно, данные, приведённые на дереве состояния, могут быть извлечены и формализованы в виде знаний модели продукционного типа, пригодной для последующего использования в качестве базы знаний экспертной системы. Именно экспертная система, разработанная и внедренная в симулятор, оперируя извлеченными и формализованными правилами и фактами, будет диагностировать поведение робота и давать заключение о характере программного управления.
Рецензенты:
Видовский Леонид Адольфович, д.т.н., доцент, профессор кафедры ВТиАСУ ФГБОУ ВПО «Кубанский государственный технологический университет», г. Краснодар.
Максименко Людвиг Александрович, д.т.н., профессор кафедры ВТиАСУ ФГБОУ ВПО «Кубанский государственный технологический университет», г. Краснодар.