Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Кибернетическая картина мира

.pdf
Скачиваний:
331
Добавлен:
03.05.2015
Размер:
14.72 Mб
Скачать

Перечислим основные черты лингвистического подхода применительно к широкому классу сложных систем. Во-первых, в структуресистемывыделяютсяотдельныеуровни,описываемыекаждый своим языком со своим словарем и грамматическими правилами. Во-вторых, процесс достижения цели системой рассматривается как процесс перевода с языка одного уровня на язык другого уровня. В-третьих, для количественной характеристики этого процесса вводятся понятия изоморфного и гомоморфного переводов, идиоматики различных языковых уровней, неопределенности задания, меры сложности перевода с одного уровня на другой и т. д.

Например, сложность автоматизации проектирования или производства каких-либо объектов определяется затратами на перевод с соответствующих уровней. Затраты на перевод во многом определяются объемом трансляции. Чтобы уменьшить сложность трансляции, пытаются разрабатывать по возможности близкие языки.

С помощью тех или иных последовательностей правил и ограниченного алфавита символов может быть построено огромное число грамматически правильных слов (или фраз) на языке k-го уровня, каждое из которых представляет собой некоторую команду управления, которая должна быть передана на более низкий уровень.

Задача передачи команды управления с одного уровня на другой будет заключаться лишь в переводе слова, записанного на языке одного уровня, на язык другого уровня.

Для этого необходимо иметь еще и транслятор, т. е. правила перевода с одного языка на другой. Если иерархическая система управления состоит из t уровней, то она должна иметь t словарей, t грамматик и t – 1 транслятор.

При рассмотрении лингвистической структуры алгоритмов управления роботами-манипуляторами следует разделить языки управления на две большие группы: «входные языки» и «языки программирования». Разница между этими языками такая же, как между правилами пользования радиолой или магнитофоном и нотной записью. Входной язык позволяет выбрать пластинку и нажать соответствующие кнопки, язык программирования должен обеспечить возможность записи или исполнения того или иного музыкального произведения.

Рассмотрим кратко входные языки для роботов. Наиболее подходящим, на первый взгляд, является ограниченный естественный язык–русский,английскийит.п.Однакоограниченныйестествен- ный язык удобен человеку, но не вычислительной машине. Ученые,

121

работающие в области связи человека с вычислительной машиной, считают, что общение на естественных языках неудобно, кроме прочих причин, из-за того, что для разговора машин, сконструированных в разных странах, необходимы машины-полиглоты, понимающие различные языки. Особенно неудобны для связи наиболее распространенные языки – русский и английский.

В связи с этим Б. Б. Гурфинкель предложил построить единый «родной язык машин» и придать ему некоторую фонетическую структуру. Основные свойства этого языка следующие: 1) в основу фонетики положены открытые слоги – ба, ду, ми и т. п.; 2) во избежание фонетической неопределенности глухие и звонкие слоги типа со и зо, должны быть равнозначными; 3) отношение между словами должно выражаться не суффиксами и окончаниями, а с помощью служебных частиц.

По-видимому, не всегда удобно отдавать роботу приказания на естественном языке. Часто сложная двигательная задача значительно проще может быть выражена с помощью рисунка. В связи с этим представляют интерес графические языки для записи движений человека, используемые в хореографии (кинетография Р. Лабана, мотография А. П. Валышева и др.) [16].

Известен метод общения человека с вычислительной машиной при помощи «светового пера». Человек может рисовать на экране рисунки, писать слова, фразы, и вся эта информация будет автоматически вводиться в память вычислительной машины.

Вот при такой связи с ЭВМ и удобно использовать графические (иероглифические) языки для записи движений роботовманипуляторов. Человек-оператор сможет прямо на экране записывать движения робота, которые вслед за этим будут выполняться автоматически.

По своей структуре входные языки можно разбить на ранги (или уровни). К низшему рангу относятся языки, позволяющие описывать движения в коде операций (например, правая нога на 10 см вперед), языки иероглифического типа и т. п. Запрограммировать сложное задание с помощью входного языка низшего ранга чрезвычайно сложно. Для этого предназначены языки более высоких рангов, позволяющие отдавать команды в обобщенном виде: по-

грузить все ящики размером 10 50 100 на автомашину. Чем выше ранг входного языка, тем больше неопределенности в формулировке задания. В нашем примере робот может начинать поиск соответствующих ящиков слева, справа или с середины и т. п. Если

122

бы задание роботу выдавалось на языке самого низкого ранга, то было бы указано, откуда надо начинать поиск ящиков, каким образом их брать, по какой траектории переносить на автомашину и т. д.

Перейдем к рассмотрению языков программирования роботов, т. е. языков, с помощью которых составляются различные подпрограммы поведения роботов. Эти языки совершенно не обязательно знать пользователю, так же, как пользователю вычислительной машиной не обязательно знать структуру стандартных подпрограмм, имеющихся в библиотеке стандартных программ данной ЭВМ, а достаточно лишь уметь к ним обращаться.

Языками программирования роботов могут быть любые математические языки – язык дифференциальных уравнений, язык теории конечных автоматов, язык исчисления предикатов и т. п. С их помощью решаются задачи определения оптимальных траекторий при движении робота от одной точки пространства к другой, обхода препятствий, управления движениями нескольких рук. Так же, как и входные, языки программирования можно разделить на ранги (или уровни). При этом к языкам высшего ранга относятся наиболее сложные языки для программирования двигательных задач. Тогда к языку самого высокого ранга следует отнести язык кода движений.

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

Действительно, задача отыскания, например, всех кубиков с ребром не более 5 см очень неопределенна, и ее можно решать самыми различными способами. Та же задача, записанная на входном языке низкого ранга, имеет меньшую неопределенность (передвигать схват направо до конца стола; если встретится препятствие, определить, куб ли это; если это куб, то превышает ли его ребро 5 см и т. д.), и совсем небольшой будет неопределенность при записи задачи в коде движений (правда, записать такую задачу в коде движений, например с помощью изменений углов между сочленениями, практически невозможно). Обратная зависимость получается для количества знаков, используемых при формулировке того же задания. Очень сложное задание можно выразить на входном языке высшего ранга буквально несколькими словами или даже знаком (иероглифом), в то время как на язы-

123

 

 

 

 

 

 

 

 

 

 

 

 

O

 

O

^ ^

#ÎǽÆÇÂ

¸ÀÔÃ

 

 

 

ØÀÔÃ

 

 

ИЙЗ¼Й¹ЕЕБЙЗ»¹ЖБШ

 

Рис. 3.1. Диаграмма изменения неопределенности:

1 – смысловое содержание задания; 2 – неопределенность в формулировке задания; 3 – количество знаков в формулировке задания

ке кода движений количество знаков стремится к бесконечности

(рис. 3.1).

Большой интерес представляет мощность языка данного уровня. Будем считать, что язык уровня k более мощен, чем язык уровня (k – 1), если одна команда языка уровня k переводится в несколько команд уровня (k – 1). Это значит, что оператор, задав какуюлибо команду на языке k-го уровня, может предоставить ЭВМ выбрать лучшую команду (k – 1)-го уровня. При этом возникают следующие трудности. Задачи перевода команд с одного уровня на другой могут чрезвычайно загрузить ЭВМ, что, естественно, отрицательно сказывается на системе управления роботом. Разумный выход из этого положения – дать человеку-oператору возможность заранее разбить задачу на некоторые подцели, что резко уменьшит число анализируемых альтернатив. Очевидно, что с увеличением мощности команд загрузка ЭВМ вычислительной работой растет.

Кроме того, команды могут стать настолько громоздкими (обширными), что человеку-оператору станет чрезвычайно трудно их использовать. В настоящее время еще нет общего метода для разрешения этих трудностей, но для отдельных проблемноориентированных систем разработаны языки разных уровней, хорошо согласованные друг с другом.

124

3.4. Робот как многоцелевая система с избыточностью

Как было отмечено выше, характерной чертой биологических систем является их универсальность, которая достигается за счет избыточности. Механические руки робота тоже предназначены для выполнения многих работ, поэтому их кинематические схемы со держат значительно большее число степеней подвижности, чем то, которое необходимо для выполнения какой-либо работы.

На рис. 3.2 изображена кинематическая схема руки манипулятора, где хi, yi, zt – координаты шарниров. Каждый шарнир имеет одну или две угловые степени подвижности. Осуществление движения в каждой из степеней подвижности производит изменение положения конечной точки руки манипулятора (схвата с инструментом) так, чтобы выполнить ту или иную работу: завинтить гайку, взять предмет и перенести его в заданное место и т. д.

Для выработки сигналов, управляющих приводами руки манипулятора, необходимо построить ее математическую модель. Система алгебраических уравнений с переменными – координатами шарниров и может быть такой моделью:

(xi – xi + 1)2 + (yi – yi + 1)2 + (zi – zi + 1)2 = li2, i = 0, 1,..., n,

где lt – длины соответствующих стержней; n – число стержней. Определение координат шарниров в функции от координат схвата x4, y4, z4, которые обычно задаются с верхнего уровня управления, и составляет главную задачу управления манипулятором. Для ее решения необходимо решать приведенную выше систему уравнений, в которых число переменных больше числа уравнений связи. Анализ различных систем типа манипулятор показывает, что они описываются системами конечных уравнений. Разница между числом переменных n и числом уравнений m, т. е. n – m, называется естественной избыточностью таких систем.

Y Z [

Y Z [

Y Z [

Y Z [

Рис. 3.2. Кинематическая схема манипулятора

125

Одна из главных и наиболее трудных задач при создании роботов-манипуляторов, управляемых ЭВМ, – это разработка алгоритмов управления роботами. При этом необходимо учитывать, что в этой задаче рассматриваются системы с естественной избыточностью, что позволяет использовать метод избыточных переменных для управления этими системами на некоторых уровнях иерархической системы управления. И автоматический манипулятор, и шагающая машина, представляющая собой очевидное развитие манипулятора применительно к решению задачи перемещения, являются многоцелевыми системами. Например, управление механическими ногами может быть нацелено на выполнение различных заданий: в одном случае это преодоление рва, в другом – перешагивание через барьер, в третьем – бег по ровной дороге. Поэтому, прежде чем переходить к анализу структуры управления этими системами, попытаемся сформулировать некоторые общие принципы использования избыточности в многоцелевых системах.

Во-первых, это принцип концентрации усилий, в соответствии с которым многоцелевая система мобилизует все свои ресурсы для достижения какой-то одной конкретной цели. При этом элементы системы, предназначенные для использования при достижении других целей, выступают как избыточные и используются для улучшения качественных показателей решения основной задачи. Этот принцип совпадает с принципом доминанты, который наблюдается в живых системах.

Во-вторых, принцип неоднородности, в соответствии с которым многоцелевая система может существовать только как многоуровневая структура, между уровнями которой существуют отношения подчиненности. Иерархическая структура не может быть реализована в однородной структуре. Наглядной иллюстрацией этого принципа может быть решение задачи построения движений у человека и животных.

В-третьих, принцип перемены цели в качестве средства приспособления к окружающей среде. В противоположность одноцелевым системам многоцелевые системы имеют большие преимущества благодаря возможности изменять цель в соответствии с изменяющейся обстановкой. Особенно эффективно этот принцип реализован в вычислительных системах с разделением времени, в которых задачи заказчиков пропускаются через процессор таким образом, чтобы обеспечить максимальную производительность.

126

Следующий – принцип совместимости, по которому, во-первых, различие в целях каждого уровня не может быть слишком большим, цели должны частично пересекаться, и, во-вторых, уровни многоцелевой системы должны быть совместимы по языку, т. е. должна быть возможность перевода с одного уровня на другой.

Наконец, принцип ведущего слабого звена, по которому если в системедлядостиженияцелиобъединяютсяслабыеисильныезвенья, то для максимального использования всех возможностей сильные звенья подстраиваются под слабые, так как адаптационные возможности последних меньше. Например, если в шагающей машине частично вышла из строя одна из ног, то именно она должна играть ведущую роль в алгоритме управления всеми ногами, так как только в этом случае оказывается возможным использовать оставшиеся исправными степени подвижности поврежденной ноги.

На практике эти принципы могут быть реализованы с помощью эвристических приемов. Но если имеется математическая модель, то их реализация облегчается. Например, принцип концентрации усилий реализуется с помощью сведения задачи достижения цели к достижению глобального экстремума, для чего система должна допускать интерпретацию в виде экстремальной модели. При программировании манипулятора это приводит к минимизации расстояния между схватом манипулятора и точкой цели, при этом движение осуществляется на пересечении многообразий, заданных кинематикой манипулятора. При включении в число координат состояний датчиков, расположенных на схвате манипулятора, оказывается возможным свести к такой форме задачу построения более сложных движений, таких как отыскать объект, взять объект и т. д.

Рассмотренные системы являются единством конструкции, энергии и информации, и в неоднородной структуре возможны обменные соотношения между этими компонентами. Например, требования к механической части манипулятора, управляемого непосредственно человеком-оператором, оказываются значительно выше по сравнению со случаем, когда оператор управляет манипулятором с помощью вычислительной машины, и заложенные в ЭВМ алгоритмы позволяют корректировать многие дефекты механической системы. Здесь появление нового уровня – вычислительной машины – позволяет уменьшить затраты на конструктивном уровне за счет увеличения затрат на информационном уровне.

Аналогичное явление имеет место и в шагающих машинах: чем больше число ног, тем проще управление системой (например, для

127

поддержания равновесия). Обратившись к животному миру, мы видим, что, чем выше организация нервной системы биологического объекта, тем меньше ног этот объект имеет и тем сложнее, следовательно, у него структура системы управления движениями.

В отличие от системы с искусственно введенной избыточностью, где исходная задача погружена в расширенную систему, в многоцелевых системах с естественной избыточностью каждая из задач погружена во множество пересекающихся задач, которые и образуют расширенную систему. В таких системах, по сути дела, отсутствуют элементы, введенные только для увеличения надежности или других показателей качества решения отдельной задачи, что увеличивает эффективность систем. В этом проявляется качественное отличие многоцелевых систем от одноцелевых.

Развитие теории многоцелевых систем еще только начинается. Можноотметитьпоявлениев последнеевремябольшогоколичества многоцелевых систем, что связано с бурным научно-техническим прогрессом, так как, по-видимому, только многоцелевые системы могут избежать опасности быстрого морального старения.

Робот-манипулятор по своим задачам является многоцелевой системой, и поэтому он содержит естественную избыточность. Разработка алгоритмов управления системы с избыточностью является первостепенной задачей. Применительно к биологическим системам Н. А. Бернштейн писал, что «координация движений есть преодоление избыточных степеней свободы движущегося органа и превращение его в управляемую систему». Это полностью справедливо и для роботов-манипуляторов.

3.5. Основные элементы роботов-манипуляторов

Структура роботов начала складываться чрезвычайно давно. Первой компонентой робота является его механическая конструкция (в простейшем случае – рука), которая в разное время приводилась в движение либо силой падающей воды (Герон Александрийский), либо человеком через рычажно-веревочные передачи, либо часовым механизмом. В 30–40-е гг. XX в. стали бурно развиваться электрический и гидравлический приводы, которые в дальнейшем были автоматизированы. Различного рода приводы можно отнести ко второй компоненте робота. Третья компонента – датчики информации, телевизионные системы – получили развитие в 40–50-е гг.

128

XX в. И, наконец, четвертая компонента – ЭВМ – появилась в начале 50-х гг.

70-е гг. XX в. явились эпохой создания систем из этих компонент, их интегрирования в единую систему типа «робот». Сначала рассмотрим механические конструкции роботов.

Наличие механических конечностей является характерной особенностью роботов как систем. В одних случаях эти конечности выступают в качестве механических рук – манипуляторов, в других случаях – в качестве ног. С помощью этих конечностей робот осуществляет активное взаимодействие с окружающей средой. Манипуляторы служат для выполнения различных работ, ноги – для перемещения робота и изменения его позы.

Манипуляторы. Они являются одной из наиболее разработанных механических частей роботов. Основная задача манипулятора заключается в воспроизведении движений руки человека. Поэтому для того, чтобы создать манипулятор, приближающийся по своим кинематическим и динамическим характеристикам к руке человека, необходимо учитывать биомеханические особенности руки.

В этом направлении проделана большая работа и созданы разнообразные конструкции манипуляторов с электрическим, гидравлическим или пневматическим приводом. Их предшественниками были копирующие манипуляторы, управляемые непосредственно человеком и являющиеся лишь удлинителями рук человека. Все многообразие их конструкций укладывается в рамки кинематической разомкнутой цепи с шарнирами (см. рис. 3.2).

Манипуляторы отличаются друг от друга, прежде всего, числом степеней подвижности. У одних она минимальна и равна трем. К ним относится манипулятор промышленного робота «Версатран», который работает в цилиндрической системе координат.

Большинство манипуляторов имеют семь степеней подвижности и лишь некоторые их них – десять. С ростом числа степеней подвижности возрастает разнообразие работ, выполняемых манипулятором, но при этом усложняется процесс управления им. На рис. 3.3, аг приведены кинематические схемы действующих манипуляторов четырех типов, которые представляют собой сочетания поступательных и вращательных звеньев.

Большим разнообразием отличаются конструкции схвата манипулятора. Обычно предусматривается автоматическая смена инструмента, который вставляется вместо схвата при выполнении отдельных работ.

129

¸

¹

º

»

Рис. 3.3. Кинематические схемы манипуляторов:

а – «Версатран»; б – «Мастэр-слейв»; в – «Маскот»; г – «Битл»

Важнымотличиемоднихконструкцийманипуляторовотдругих является место расположения двигателей, которые поворачивают отдельные звенья манипулятора. В ранних конструкциях двигатель размещался вне руки, и усилия от него передавались либо с помощью тросовой передачи, либо с помощью зубчатых передач.

Позднее появились манипуляторы с гидроприводом, рабочие цилиндры которого размещались прямо на суставах руки. В последнее время, в связи с появлением волновых редукторов, оказалось возможным существенно усовершенствовать электропривод и размещать его также на суставах манипулятора. Описанию конструкций манипуляторов посвящена довольно обширная литература. Поэтому, не останавливаясь подробно на этом вопросе, перейдем к описанию конструкции подвижной платформы, на которой может быть установлен манипулятор.

130