Кибернетическая картина мира. Есть многое на свете, друг Горацио, что недоступно нашим
![]()
|
3.3. лингвистический подход к анализу уровневой структуры системы управления роботов Характерной особенностью сложных систем управления явля- ется иерархичность их структуры и наличие управляющих воздей- ствий, связанных с переработкой большого количества информа- ции. в связи с этим перед теорией сложных систем ставится задача математического описания состояния управляемых элементов, пе- редачи информации, процессов ее переработки, выдачи управляю- щих сигналов и т. п. Если пользоваться обычными методами математического описа- ния функционирования элементов таких систем, то получающиеся соотношения будут чрезвычайно сложны, громоздки и трудноо- бозримы. Поэтому в настоящее время наиболее целесообразным методом анализа сложных систем представляется моделирование на вычислительных машинах процессов их функционирования. Но применение вычислительных машин не ограничивается толь- ко анализом сложных систем, эвМ оказываются незаменимыми и при синтезе сложных систем управления. Система управления роботом-манипулятором – типичный при- мер сложной системы, имеющей иерархическую структуру. Наи- более общим подходом для анализа и синтеза подобных систем яв- ляется лингвистический подход. 121 Перечислим основные черты лингвистического подхода приме- нительно к широкому классу сложных систем. во-первых, в струк- туре системы выделяются отдельные уровни, описываемые каждый своим языком со своим словарем и грамматическими правилами. во-вторых, процесс достижения цели системой рассматривается как процесс перевода с языка одного уровня на язык другого уров- ня. в-третьих, для количественной характеристики этого процесса вводятся понятия изоморфного и гомоморфного переводов, идио- матики различных языковых уровней, неопределенности задания, меры сложности перевода с одного уровня на другой и т. д. Например, сложность автоматизации проектирования или про- изводства каких-либо объектов определяется затратами на перевод с соответствующих уровней. затраты на перевод во многом опреде- ляются объемом трансляции. Чтобы уменьшить сложность транс- ляции, пытаются разрабатывать по возможности близкие языки. С помощью тех или иных последовательностей правил и ограни- ченного алфавита символов может быть построено огромное число грамматически правильных слов (или фраз) на языке k-го уровня, каждое из которых представляет собой некоторую команду управ- ления, которая должна быть передана на более низкий уровень. задача передачи команды управления с одного уровня на другой будет заключаться лишь в переводе слова, записанного на языке одного уровня, на язык другого уровня. для этого необходимо иметь еще и транслятор, т. е. правила перевода с одного языка на другой. Если иерархическая система управления состоит из t уровней, то она должна иметь t словарей, t грамматик и t – 1 транслятор. При рассмотрении лингвистической структуры алгоритмов управления роботами-манипуляторами следует разделить языки управления на две большие группы: «входные языки» и «языки программирования».Разница между этими языками такая же, как между правилами пользования радиолой или магнитофоном и нотной записью. входной язык позволяет выбрать пластинку и нажать соответствующие кнопки, язык программирования должен обеспечить возможность записи или исполнения того или иного му- зыкального произведения. Рассмотрим кратко входные языки для роботов. Наиболее под- ходящим, на первый взгляд, является ограниченный естественный язык – русский, английский и т. п. однако ограниченный естествен- ный язык удобен человеку, но не вычислительной машине. Ученые, 122 работающие в области связи человека с вычислительной машиной, считают, что общение на естественных языках неудобно, кроме прочих причин, из-за того, что для разговора машин, сконструиро- ванных в разных странах, необходимы машины-полиглоты, пони- мающие различные языки. особенно неудобны для связи наиболее распространенные языки – русский и английский. в связи с этим Б. Б. Гурфинкель предложил построить единый «родной язык машин» и придать ему некоторую фонетическую структуру. основные свойства этого языка следующие: 1) в основу фонетики положены открытые слоги – ба, ду, ми и т. п.; 2) во из- бежание фонетической неопределенности глухие и звонкие слоги типа со и зо, должны быть равнозначными; 3) отношение между словами должно выражаться не суффиксами и окончаниями, а с помощью служебных частиц. По-видимому, не всегда удобно отдавать роботу приказания на естественном языке. Часто сложная двигательная задача значи- тельно проще может быть выражена с помощью рисунка. в связи с этим представляют интерес графические языки для записи движе- ний человека, используемые в хореографии (кинетография Р. Ла- бана, мотография А. П. валышева и др.) [16]. Известен метод общения человека с вычислительной машиной при помощи «светового пера». Человек может рисовать на экране рисунки, писать слова, фразы, и вся эта информация будет автома- тически вводиться в память вычислительной машины. вот при такой связи с эвМ и удобно использовать графиче- ские (иероглифические) языки для записи движений роботов- манипуляторов. Человек-оператор сможет прямо на экране запи- сывать движения робота, которые вслед за этим будут выполняться автоматически. По своей структуре входные языки можно разбить на ранги (или уровни). К низшему рангу относятся языки, позволяющие описы- вать движения в коде операций (например, правая нога на 10 см вперед), языки иероглифического типа и т. п. запрограммировать сложное задание с помощью входного языка низшего ранга чрез- вычайно сложно. для этого предназначены языки более высоких рангов, позволяющие отдавать команды в обобщенном виде: по- грузить все ящики размером 10 ⋅50⋅100 на автомашину. Чем выше ранг входного языка, тем больше неопределенности в формули- ровке задания. в нашем примере робот может начинать поиск со- ответствующих ящиков слева, справа или с середины и т. п. Если 123 бы задание роботу выдавалось на языке самого низкого ранга, то было бы указано, откуда надо начинать поиск ящиков, каким об- разом их брать, по какой траектории переносить на автомашину и т. д. Перейдем к рассмотрению языков программирования роботов, т. е. языков, с помощью которых составляются различные подпро- граммы поведения роботов. эти языки совершенно не обязательно знать пользователю, так же, как пользователю вычислительной ма- шиной не обязательно знать структуру стандартных подпрограмм, имеющихся в библиотеке стандартных программ данной эвМ, а достаточно лишь уметь к ним обращаться. Языками программирования роботов могут быть любые матема- тические языки – язык дифференциальных уравнений, язык тео- рии конечных автоматов, язык исчисления предикатов и т. п. С их помощью решаются задачи определения оптимальных траекторий при движении робота от одной точки пространства к другой, обхо- да препятствий, управления движениями нескольких рук. Так же, как и входные, языки программирования можно разделить на ран- ги (или уровни). При этом к языкам высшего ранга относятся наи- более сложные языки для программирования двигательных задач. Тогда к языку самого высокого ранга следует отнести язык кода движений. Если рассматривать какую-либо определенную задачу, то не- определенность в формулировке задания будет наибольшей для входного языка высшего ранга и наименьшей для языка програм- мирования. действительно, задача отыскания, например, всех кубиков с ребром не более 5 см очень неопределенна, и ее можно решать са- мыми различными способами. Та же задача, записанная на вход- ном языке низкого ранга, имеет меньшую неопределенность (пе- редвигать схват направо до конца стола; если встретится препят- ствие, определить, куб ли это; если это куб, то превышает ли его ребро 5 см и т. д.), и совсем небольшой будет неопределенность при записи задачи в коде движений (правда, записать такую за- дачу в коде движений, например с помощью изменений углов между сочленениями, практически невозможно). обратная за- висимость получается для количества знаков, используемых при формулировке того же задания. очень сложное задание можно выразить на входном языке высшего ранга буквально нескольки- ми словами или даже знаком (иероглифом), в то время как на язы- 124 ке кода движений количество знаков стремится к бесконечности (рис. 3.1). Большой интерес представляет мощность языка данного уровня. Будем считать, что язык уровня k более мощен, чем язык уровня (k – 1), если одна команда языка уровня k переводится в несколь- ко команд уровня (k – 1). это значит, что оператор, задав какую- либо команду на языке k-го уровня, может предоставить эвМ выбрать лучшую команду (k – 1)-го уровня. При этом возникают следующие трудности. задачи перевода команд с одного уровня на другой могут чрезвычайно загрузить эвМ, что, естественно, отри- цательно сказывается на системе управления роботом. Разумный выход из этого положения – дать человеку-oператору возможность заранее разбить задачу на некоторые подцели, что резко умень- шит число анализируемых альтернатив. очевидно, что с увели- чением мощности команд загрузка эвМ вычислительной работой растет. Кроме того, команды могут стать настолько громоздкими (об- ширными), что человеку-оператору станет чрезвычайно труд- но их использовать. в настоящее время еще нет общего метода для разрешения этих трудностей, но для отдельных проблемно- ориентированных систем разработаны языки разных уровней, хо- рошо согласованные друг с другом. Рис. 3.1. Диаграмма изменения неопределенности: 1 – смысловое содержание задания; 2 – неопределенность в формулировке задания; 3 – количество знаков в формулировке задания 125 3.4. робот как многоцелевая система с избыточностью Как было отмечено выше, характерной чертой биологических систем является их универсальность, которая достигается за счет избыточности. Механические руки робота тоже предназначены для выполнения многих работ, поэтому их кинематические схемы со держат значительно большее число степеней подвижности, чем то, которое необходимо для выполнения какой-либо работы. На рис. 3.2 изображена кинематическая схема руки манипуля- тора, где х i , y i , z t – координаты шарниров. Каждый шарнир имеет одну или две угловые степени подвижности. осуществление дви- жения в каждой из степеней подвижности производит изменение положения конечной точки руки манипулятора (схвата с инстру- ментом) так, чтобы выполнить ту или иную работу: завинтить гай- ку, взять предмет и перенести его в заданное место и т. д. для выработки сигналов, управляющих приводами руки мани- пулятора, необходимо построить ее математическую модель. Си- стема алгебраических уравнений с переменными – координатами шарниров и может быть такой моделью: (x i – x i + 1 ) 2 + (y i – y i + 1 ) 2 + (z i – z i + 1 ) 2 = l i 2 , i = 0, 1,..., n, где l t – длины соответствующих стержней; n – число стержней. определение координат шарниров в функции от координат схвата x 4, y 4, z 4 , которые обычно задаются с верхнего уровня управления, и составляет главную задачу управления манипулятором. для ее решения необходимо решать приведенную выше систему уравне- ний, в которых число переменных больше числа уравнений связи. Анализ различных систем типа манипулятор показывает, что они описываются системами конечных уравнений. Разница между чис- лом переменных n и числом уравнений m, т. е. n – m, называется естественной избыточностью таких систем. Рис. 3.2. Кинематическая схема манипулятора 126 одна из главных и наиболее трудных задач при создании роботов-манипуляторов, управляемых эвМ, – это разработка ал- горитмов управления роботами. При этом необходимо учитывать, что в этой задаче рассматриваются системы с естественной избы- точностью, что позволяет использовать метод избыточных пере- менных для управления этими системами на некоторых уровнях иерархической системы управления. И автоматический манипу- лятор, и шагающая машина, представляющая собой очевидное развитие манипулятора применительно к решению задачи переме- щения, являются многоцелевыми системами. Например, управле- ние механическими ногами может быть нацелено на выполнение различных заданий: в одном случае это преодоление рва, в дру- гом – перешагивание через барьер, в третьем – бег по ровной доро- ге. Поэтому, прежде чем переходить к анализу структуры управ- ления этими системами, попытаемся сформулировать некоторые общие принципы использования избыточности в многоцелевых системах. во-первых, это принцип концентрации усилий, в соответствии с которым многоцелевая система мобилизует все свои ресурсы для достижения какой-то одной конкретной цели. При этом элементы системы, предназначенные для использования при достижении других целей, выступают как избыточные и используются для улучшения качественных показателей решения основной задачи. этот принцип совпадает с принципом доминанты, который наблю- дается в живых системах. во-вторых, принцип неоднородности, в соответствии с которым многоцелевая система может существовать только как многоуров- невая структура, между уровнями которой существуют отношения подчиненности. Иерархическая структура не может быть реали- зована в однородной структуре. Наглядной иллюстрацией этого принципа может быть решение задачи построения движений у че- ловека и животных. в-третьих, принцип перемены цели в качестве средства приспо- собления к окружающей среде. в противоположность одноцелевым системам многоцелевые системы имеют большие преимущества благодаря возможности изменять цель в соответствии с изменяю- щейся обстановкой. особенно эффективно этот принцип реализо- ван в вычислительных системах с разделением времени, в которых задачи заказчиков пропускаются через процессор таким образом, чтобы обеспечить максимальную производительность. 127 Следующий – принцип совместимости, по которому, во-первых, различие в целях каждого уровня не может быть слишком боль- шим, цели должны частично пересекаться, и, во-вторых, уровни многоцелевой системы должны быть совместимы по языку, т. е. должна быть возможность перевода с одного уровня на другой. Наконец, принцип ведущего слабого звена, по которому если в системе для достижения цели объединяются слабые и сильные зве- нья, то для максимального использования всех возможностей силь- ные звенья подстраиваются под слабые, так как адаптационные воз- можности последних меньше. Например, если в шагающей машине частично вышла из строя одна из ног, то именно она должна играть ведущую роль в алгоритме управления всеми ногами, так как толь- ко в этом случае оказывается возможным использовать оставшиеся исправными степени подвижности поврежденной ноги. На практике эти принципы могут быть реализованы с помощью эвристических приемов. Но если имеется математическая модель, то их реализация облегчается. Например, принцип концентрации усилий реализуется с помощью сведения задачи достижения цели к достижению глобального экстремума, для чего система должна до- пускать интерпретацию в виде экстремальной модели. При програм- мировании манипулятора это приводит к минимизации расстояния между схватом манипулятора и точкой цели, при этом движение осуществляется на пересечении многообразий, заданных кинема- тикой манипулятора. При включении в число координат состояний датчиков, расположенных на схвате манипулятора, оказывается возможным свести к такой форме задачу построения более сложных движений, таких как отыскать объект, взять объект и т. д. Рассмотренные системы являются единством конструкции, энергии и информации, и в неоднородной структуре возможны обменные соотношения между этими компонентами. Например, требования к механической части манипулятора, управляемого непосредственно человеком-оператором, оказываются значитель- но выше по сравнению со случаем, когда оператор управляет ма- нипулятором с помощью вычислительной машины, и заложенные в эвМ алгоритмы позволяют корректировать многие дефекты ме- ханической системы. здесь появление нового уровня – вычисли- тельной машины – позволяет уменьшить затраты на конструктив- ном уровне за счет увеличения затрат на информационном уровне. Аналогичное явление имеет место и в шагающих машинах: чем больше число ног, тем проще управление системой (например, для 128 поддержания равновесия). обратившись к животному миру, мы видим, что, чем выше организация нервной системы биологическо- го объекта, тем меньше ног этот объект имеет и тем сложнее, следо- вательно, у него структура системы управления движениями. в отличие от системы с искусственно введенной избыточностью, где исходная задача погружена в расширенную систему, в многоце- левых системах с естественной избыточностью каждая из задач по- гружена во множество пересекающихся задач, которые и образуют расширенную систему. в таких системах, по сути дела, отсутству- ют элементы, введенные только для увеличения надежности или других показателей качества решения отдельной задачи, что уве- личивает эффективность систем. в этом проявляется качественное отличие многоцелевых систем от одноцелевых. Развитие теории многоцелевых систем еще только начинается. Можно отметить появление в последнее время большого количества многоцелевых систем, что связано с бурным научно-техническим прогрессом, так как, по-видимому, только многоцелевые системы могут избежать опасности быстрого морального старения. Робот-манипулятор по своим задачам является многоцелевой системой, и поэтому он содержит естественную избыточность. Раз- работка алгоритмов управления системы с избыточностью являет- ся первостепенной задачей. Применительно к биологическим си- стемам Н. А. Бернштейн писал, что «координация движений есть преодоление избыточных степеней свободы движущегося органа и превращение его в управляемую систему». это полностью справед- ливо и для роботов-манипуляторов. 3.5. основные элементы роботов-манипуляторов Структура роботов начала складываться чрезвычайно давно. Первой компонентой робота является его механическая конструк- ция (в простейшем случае – рука), которая в разное время приводи- лась в движение либо силой падающей воды (Герон Александрий- ский), либо человеком через рычажно-веревочные передачи, либо часовым механизмом. в 30–40-е гг. XX в. стали бурно развиваться электрический и гидравлический приводы, которые в дальнейшем были автоматизированы. Различного рода приводы можно отнести ко второй компоненте робота. Третья компонента – датчики инфор- мации, телевизионные системы – получили развитие в 40–50-е гг. 129 XX в. И, наконец, четвертая компонента – эвМ – появилась в на- чале 50-х гг. 70-е гг. XX в. явились эпохой создания систем из этих компо- нент, их интегрирования в единую систему типа «робот». Сначала рассмотрим механические конструкции роботов. Наличие механических конечностей является характерной осо- бенностью роботов как систем. в одних случаях эти конечности выступают в качестве механических рук – манипуляторов, в дру- гих случаях – в качестве ног. С помощью этих конечностей робот осуществляет активное взаимодействие с окружающей средой. Ма- нипуляторы служат для выполнения различных работ, ноги – для перемещения робота и изменения его позы. |