Файл: Мясников, В. А. Программное управление оборудованием.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 15.10.2024
Просмотров: 134
Скачиваний: 0
систем являются следующие. Во-первых, в структуре системы выделяются отдельные уровни, описываемые каждый своим языком со своим словарем и грамматическими правилами. Во-вторых, процесс достижения цели системой рассматривается как процесс перевода с языка одного языкового уровня на язык другого уровня. В-третьих, для количественной характеристики этого процесса вводятся такие понятия, как изоморфный и гомоморфный переводы, идиоматика различных языковых уровней, неопределен ность задания, мера сложности перевода с одного уровня на другой и т. д.
Рассмотрим /е-й уровень иерархической системы управления. Пусть в словарь этого уровня входит Ak символов, грамматика же состоит из Вк правил. Эти правила позволяют объединять символы языка k-то уровня в слова (фразы). .
Таким образом, располагая ограниченным алфавитом символов и ограниченным числом правил, хранимых в памяти системы управления, можно построить огромное количество слов (фраз), представляющих собой разнообразные команды управления. За дача передачи команды управления с одного уровня на другой будет заключаться лишь в переводе слова, записанного на языке одного уровня, на язык другого уровня.
Поэтому кроме алфавитов и правил обоих языков необходимо иметь еще и транслятор, т. е. правила перевода с одного языка
на другой. |
Если иерархическая система управления состоит из |
k уровней, |
то значит она должна иметь /е словарей, /е грамматик |
и k — 1 транслятор.
При рассмотрении лингвистической структуры алгоритмов управления роботами-манипуляторами следует разделить языки управления на две большие группы: входные языки и языки про граммирования 1. Разница между этими языками такая же, как между правилами пользования радиолой или магнитофоном и нотной записью. В первом случае входной язык позволяет выбрать пластинку или магнитофильм и нажать соответствующие кнопки, во втором случае язык программирования должен обеспечить возможность записи или исполнения того или иного музыкального произведения.
Рассмотрим кратко входные языки для роботов. Наиболее подходящим, на первый взгляд, является ограниченный естествен ный язык — русский, английский и т. п.
Однако ограниченный естественный язык удобен человеку, но не вычислительной машине. Ученые, работающие в области связи человека с вычислительной машиной, считают, что обще ние на естественных языках, кроме прочих причин, неудобно потому, что для разговора машин, сконструированных в разных
1 Термин «язык программирования» мы здесь употребляем не в общеприня том смысле (язык конкретной машины, АЛГОЛ, ФОРТРАН и. т. п.). В данном контексте он обозначает математический язык, на котором описываются кон кретные элементы поведения рассматриваемой системы.
3* |
35 |
странах, необходимы машины-полиглоты, понимающие различные языки. Особенно неудобны для связи наиболее распространенные языки — русский и английский ввиду сложности их грамматик.
Не всегда удобно отдавать роботу приказания на естественном языке. Часто сложная двигательная задача значительно проще может быть выражена с помощью рисунка. В связи с этим пред ставляют интерес графические языки для записи движений чело века, используемые в хореографии: кинетография Р. Лабана, мотография А. П. Валышева и др. [20].
Известен метод общения человека с вычислительной машиной при помощи дисплея. Человек может рисовать на экране элек тронно-лучевой трубки любые рисунки, писать слова, фразы, и вся эта информация будет автоматически вводиться в память вычислительной машины.
Вот при такой связи с ЭВМ и удобно использовать графические (иероглифические) языки для записи движений роботов-манипу- ляторов. Человек-оператор может прямо на экране электронно лучевой трубки записывать движения роботов, которые вслед за этим будут выполняться автоматически.
По своей структуре входные языки делятся на ранги (или уровни). К низшему рангу относятся языки, позволяющие опи сывать движения в коде операций (например, ПРАВАЯ НОГА НА 10 СМ ВПЕРЕД), языки иероглифического типа и т. и. Запрограм мировать сложное задание с помощью входного языка низшего ранга чрезвычайно сложно. Для этой цели предназначены языки более высоких рангов, которые позволяют отдавать команды в обобщенном виде (ПОГРУЗИТЬ ВСЕ ЯЩИКИ РАЗМЕРОМ 10x50x100 НА АВТОМАШИНУ). Чем выше ранг входного языка, тем больше неопределенности в формулировке задания. В нашем примере робот может начинать поиск соответствующих ящиков слева, справа, посередине и т. п., в то время как при ис пользовании языка самого низшего ранга роботу было бы указано, откуда начинать поиск ящиков, каким образом их брать, по какой траектории переносить на автомашину и т. д.
Перейдем к рассмотрению языков программирования роботов, т. е. языков, с помощью которых составляются различные под программы их поведения. Эти языки совершенно не обязательно знать пользователю, так же как пользователю вычислительной машиной не обязательно знать структуру стандартных подпро грамм, имеющихся в библиотеке стандартных программ данной ЭВМ, а достаточно лишь уметь к ним обращаться.
Языками программирования роботов могут являться, по сути дела, любые математические языки — язык дифференциальных уравнений, язык теории конечных автоматов, язык исчисления предикатов и т. п. С их помощью решаются задачи определения оптимальных траекторий при движении робота от одной точки пространства к другой, задачи обхода препятствий, задачи управ ления движениями нескольких рук.
36
Так же как и входные языки, языки программирования можно разделить на ранги (или уровни). К языкам высшего ранга следует отнести наиболее сложные языки для программирования двига тельных задач. Языком самого высшего ранга будет язык кода движений.
Если рассматривать какую-либо конкретную задачу, то не определенность в формулировке задания будет наибольшей для входного языка высшего ранга и наименьшей для языка програм мирования.
Действительно, задача отыскания, например, всех кубиков с ребром не более 5 см очень неопределенна и ее можно решать самыми различными способами. Задача, записанная на входном языке низшего ранга, имеет меньшую неопределенность, чем та же задача, записанная на языке более высокого ранга (передви гать схват направо до конца стола; если встретится препятствие, определить, куб ли это; если это куб, то больше ли его ребро 5 см, и т. д.). Совсем небольшой будет неопределенность в записи задачи в коде движений (правда, записать такую задачу в коде движений, например с помощью изменений углов между сочленениями, прак тически невозможно). Обратная зависимость получается для коли чества знаков, используемых для формулировки того же задания. Очень сложное задание можно выразить на языке пользователей высшего ранга буквально несколькими словами или даже знаком (иероглифом), в то время как в языке кода движений количество знаков стремится к бесконечности.
Большой интерес представляет мощность языка данного уровня. Будем считать, что язык уровня k более мощен, чем язык уровня k — 1, если одна команда языка уровня k переводится в несколько команд уровня k — 1. Это значит, что оператор, задав какую-либо команду на языке k-io уровня, может предоставить ЭВМ выбрать
лучшую альтернативу. При этом возникают следующие трудности. Во-первых, задачи перевода команд с одного уровня на другой могут чрезвычайно загрузить ЭВМ, что, естественно, отрицательно скажется на системе управления роботом. Разумный выход из этого положения — дать человеку-оператору возможность заранее разбить задачу на некоторые подцели, что резко уменьшит число анализируемых альтернатив. Во-вторых, команды могут стать на столько громоздкими (обширными), что человеку-оператору станет чрезвычайно трудно с ними справляться. В настоящее время еще нет общего метода для разрешения этих трудностей, но для от дельных проблемно-ориентированных систем разработаны языки разных уровней, хорошо согласованные друг с другом.
7. РОБОТ КАК МНОГОЦЕЛЕВАЯ СИСТЕМА С ИЗБЫТОЧНОСТЬЮ
Характерной чертой биологических систем является универ сальность, которая достигается за счет избыточности. Механи ческие руки манипуляторов-тоже предназначены для выполнения
37
многих работ, поэтому их кинематические схемы содержат зна чительно большее число степеней свободы, чем то, которое необ ходимо для выполнения какой-либо работы.
На рис. 8 изображена кинематическая схема руки манипуля тора, где х{, у(, zf — координаты шарниров. Каждый шарнир
имеет одну или две угловые степени свободы, изменяя которые с помощью автоматизированного привода изменяют положение конечной точки руки — схвата с инструментом — так, чтобы выполнить ту или иную работу: завинтить гайку, взять предмет и перенести его в заданное место и т. д.
Для выработки сигналов, управляющих приводами руки ма нипулятора, необходимо построить ее математическую модель. Система алгебраических уравнений с переменными — координа тами шарниров — и может быть такой моделью:
( X i — |
-j- |
( У; ■— Ум-1)2 + (Z; — Zi-f-i) = /;• |
( I I . 1) |
|
|
i |
= 0, 1,2, |
. . . . n, |
|
где /, — длины |
соответствующих |
стержней. |
|
Определение координат шарниров в функции от координат схвата х4, у4, z4, которые обычно задаются с верхнего уровня управления, и составляет главную задачу управления манипуля тором. Для ее выполнения необходимо решать систему уравне ний (II. 1), в которых число переменных больше числа уравнений связи. Анализ различных систем типа «манипулятор» показывает,
что |
они |
описываются |
системами |
конечных уравнений: |
|
|||||
|
Fj ( * ! , |
л-о, |
. . . , |
хп) = 0 , / |
= |
1 , 2 , . . . , т, |
т ^ |
п. |
||
Разница |
между |
числом переменных |
а и |
числом |
уравнений т, |
|||||
т. е. |
п — т, |
называется естественной |
избыточностью |
таких |
||||||
систем. |
из |
главных |
и наиболее трудных задач |
при создании |
||||||
Одной |
роботов-манипуляторов, управляемых ЭВМ, является разработка
38
соответствующих алгоритмов. Необходимо учитывать, что рас сматриваемые системы — это системы с естественной избыточ ностью. Это позволяет использовать метод избыточных перемен ных для управления ими иа некоторых уровнях иерархии. И авто матический манипулятор, и шагающая машина, которая является очевидным развитием манипулятора применительно к .решению задачи перемещения, представляют собой многоцелевые системы. Например, управление механическими ногами может быть наце лено на выполнение различных заданий: в одном случае это пре одоление рва, в другом — перешагивание через барьер, в третьем— бег по ровной дороге. Поэтому, прежде чем переходить к анализу структуры управления этими системами, попытаемся сформули ровать общие принципы использования избыточности в много целевых системах.
1. Принцип концентрации усилий, в соответствии с которыми многоцелевая система мобилизует все свои ресурсы для достижения какой-то одной конкретной цели; при этом элементы системы, предназначенные для достижения других целей, выступают как избыточные и используются для улучшения качественных показа телей решения основной задачи. Этот принцип совпадает с прин
ципом |
доминанты, который наблюдается в живых организмах. |
2. |
Принцип неоднородности, в соответствии с которым много |
целевая система может существовать только как многоуровневая структура, между уровнями которой существуют отношения подчиненности. Иерархическая структура не может быть реализо вана в однородной структуре. Наглядной иллюстрацией этого принципа может быть решение задачи построения движений
учеловека и животных.
3.Принцип перемены цели в качестве средства приспособления
кокружающей среде. Многоцелевые системы имеют большие преимущества перед одноцелевыми системами благодаря возмож ности изменять цели в соответствии с изменяющейся обстанов кой. Особенно эффективно этот принцип реализован в вычисли тельной системе с разделением времени, в которой задачи заказ чиков пропускаются через процессор таким образом, чтобы обес-” печить максимальную производительность.
4.Принцип совместимости, по которому, во-первых, различие
вцелях каждого уровня не может быть слишком большим, цели должны частично пересекаться и, во-вторых, уровни многоцеле вой системы должны быть совместимы по языку, т. е. должна иметься возможность перевода с одного уровня на другой.
5.Принцип ведущего слабого звена, по которому в системе для достижения цели объединяются слабые и сильные звенья. Для максимального использования всех возможностей сильные звенья подстраиваются под слабые, так как адаптационные возможности последних меньше. Например, если в шагающей машине частично вышла из строя одна из ног, то именно она должна играть роль ведущей ноги в алгоритме управления всеми ногами, так как
39