|
Глава 5. Иерархические адаптивные системы управления роботов1. Зачем нужна иерархия и адаптация в системах управления роботов?Попытки создания интеллектуальных роботов, функционирующих в условиях большой неопределенности, привели в последние годы к осознанию того, что системы управления таких роботов необходимо должны быть иерархически организованными и адаптивными. Прежде всего попробуем разобраться, для чего и когда нужны иерархическая организация и адаптация в системах управления роботов и к каким последствиям приводит их появление. Ответ на эти вопросы позволит, в частности, разделить все системы управления роботов на два класса. Первый класс - это простые системы, в которых управление полностью централизовано и нет необходимости вводить иерархию и адаптацию. Второй класс - это сложные иерархические адаптивные системы управления с элементами искусственного интеллекта, которые в процессе функционирования сами вырабатывают целесообразное поведение робота. Дальнейшее изложение посвящено изучению систем управления роботов второго типа. Основное внимание обращается на разработку общих принципов и конкретных алгоритмов проектирования подобных систем. Рассматривается также вопрос о том, каким образом формируется сложное целесообразное поведение интеллектуального робота из совокупности действия простых в структурно-функциональном отношении элементов интеллекта. Говоря о роботах и искусственном интеллекте, нам неизбежно приходится пользоваться понятием сложности. В простейших случаях, например, когда речь идет о исполнительных механизмах робота, сложность можно понимать как число степеней свободы, т. е. число независимых переменных, определяющих состояние этих механизмов. Однако в менее элементарных случаях понятие сложности, имеющее принципиальное значение, труднее поддается точному определению. Если все же пользоваться в первом приближении понятием числа степеней свободы, то надо отметить, что достаточно эффективные методы исследования существуют в основном либо для систем с малым числом степеней свободы (локальные регуляторы, приводы и т. п.), либо для систем, где число степеней свободы столь велико, что отдельные степени свободы становятся несущественными (плазма, жидкость и т. п.). Однако робототехнические системы представляют собой промежуточный вариант между системами с малым и с очень большим числом степеней свободы, который, как это часто бывает, особенно трудно поддается изучению. В частности, методы, хорошо зарекомендовавшие себя при исследовании указанных предельных случаев, оказываются совершенно неэффективными при анализе и синтезе интеллектуальных робототехнических систем. Для описания таких систем, относящихся к сложным системам с элементами искусственного интеллекта, требуются новые понятия, модели и методы. Прежде всего отметим, что сложность интеллектуального робота определяется не только и не столько сложностью его исполнительных механизмов, сколько сложностью совершаемых им целенаправленных действий. В этом смысле робот обладает высокой сложностью (и соответственно высокой степенью интеллекта), если он способен решать весьма трудные и сложные задачи. Человек и другие сложные биологические системы способны решать очень трудные задачи по переработке информации и управлению. При этом они используют собственные, сложившиеся в результате многовековой эволюции и поэтому весьма эффективные принципы и средства. Каковы же эти принципы и средства? Что мы знаем о них? Обратимся к сложной системе, с которой мы никогда не расстаемся, - к нашему телу. Если рассматривать человеческое тело просто как механическую систему, то окажется, что эта существенно упрощенная система имеет более двухсот степеней свободы. Тем не менее мы успешно справляемся с задачей управления движением такой системы: пишем, ходим, бегаем, плаваем и т. п. Следует отметить, что при управлении телом весьма важен фактор времени. Если нам нужно избежать какой-либо опасности или обойти препятствие (скажем, отскочить от движущегося на нас автомобиля), то эту задачу, требующую участия многих мышц и поэтому сложную, нужно не просто решить, но решить достаточно быстро. Человек решает эту задачу без всякого напряжения примерно за секунду. А современные роботы, оснащенные соответствующими органами чувств и элементами искусственного интеллекта, потребуют даже для решения более простых задач значительно большего времени. Рассмотрим кратко (в основном на примере построения движений) некоторые общие принципы управления, действующие в биологических системах. Выяснение этих принципов особенно важно для построения достаточно совершенных систем управления роботов. Один из эффективных способов управления биологическими системами состоит в иерархизации управления, т. е. в распределении задачи между несколькими уровнями. Идея многоуровневого иерархического управления применительно к построению движений была сформулирована в наиболее четкой форме Н. А. Бернштейном и получила подтверждение в ряде конкретных психофизиологических исследований. Смысл иерархической организации управления заключается в следующем. Для того, чтобы выполнить некоторые движения, нужна согласованная работа нескольких мышц, каждая из которых, в свою очередь, состоит из совокупности отдельных двигательных единиц - волокон, управляемых связанными с ними мотонейронами. Совершенно ясно, что, выполняя то или иное движение, мозг вовсе не управляет каждой мышцей и тем более каждой двигательной единицей. Высший уровень нервной системы (связанный с большими полушариями мозга) ставит лишь общую задачу, скажем, переложить книгу с полки на стол. Этот уровень вообще не контролирует действие отдельных двигательных единиц, направленных на решение поставленной задачи. Здесь уместна аналогия: командующий армией, ставя перед своими войсками некую общую задачу, отнюдь не предписывает каждому солдату и офицеру, что именно он должен делать в каждый момент операции. Детализация построения движений у человека происходит на уровнях более низких, чем командный уровень коры больших полушарий. Более того, в некоторых случаях (например, когда мы случайно прикоснувшись к горячему предмету, рефлекторно отдергиваем руку, даже не успев осознать ситуацию) все управление формируется на нижележащих уровнях, связанных с различными отделами спинного мозга. Существенным свойством многоуровневых систем, необходимым для целенаправленного поведения, является определенный обмен информацией между уровнями. Следует заметить, однако, что передача избыточной информации с одного уровня на другой точно так же, как и недостаточный обмен информацией между уровнями, может серьезно нарушить поведение системы в целом. Вдумываясь в возможности иерархически организованных систем, мы сталкиваемся со следующей проблемой. С одной стороны, осуществление желаемого движения требует координированной работы большого числа мышц, для чего необходима обширная информация. С другой стороны, высший уровень управления дает лишь общую команду: "взять книгу", "сесть за стол" и т. п. Каким же образом эта общая команда преобразовывается в детализованную последовательность управляющих сигналов в условиях "информационного голода"? На самом деле парадокса здесь нет: недостающая информация заключена в памяти и структуре систем низших уровней. Ситуация здесь такая же, как и в случае, когда программист, составляя сложную программу для ЭВМ, часто использует так называемые стандартные подпрограммы, хранящиеся в памяти ЭВМ и встречающиеся в самых разных задачах. Именно за счет этих стандартных подпрограмм обобщенные макрокоманды программиста автоматически разворачиваются в детализованную систему необходимых вычислений. Таким образом, иерархическое (многоуровневое) управление гораздо экономнее, чем жестко централизованное, при котором некий управляющий орган точно предписывает действие каждой из составляющих систему частей. Более того, в ряде задач такой централизованный управляющий орган оказался бы настолько сложным, что едва ли смог бы функционировать. Выполняя движения, мы не можем независимо управлять всеми теми степенями свободы, которые имеет наше тело. При построении движений степени свободы тела распадаются на согласованно управляемые "блоки", которые физиологи называют синергиями. Тем самым число независимых степеней свободы, подлежащих управлению, оказывается существенно меньше, чем общее число степеней свободы тела. Некоторые из этих "блоков"-синергий в нашем организме жестко генетически зафиксированы, другие - вырабатываются в результате обучения. Обучение человека тем или иным движениям (например, плаванию, катанию на коньках и т. п.) сводится к формированию и закреплению в его памяти соответствующих синергии. При сложных движениях происходит последовательное чередование различных синергии. Итак, синергии - это те "кирпичи", из которых мы строим целенаправленные движения. Мы разобрали принцип синергийного ("блочного") управления на примере построения движений, однако он имеет гораздо более общее значение. Специализированные "блоки"-синергии могут формироваться в процессе эволюции или обучения не только для построения движений, но и для восприятия и переработки информации. В последнем случае такие блоки обычно называют фильтрами, детекторами, сенсорными или афферентными синергиями. Подобно тому, как моторная синергия определяет координированную последовательность мышечных сокращений, сенсорная синергия выделяет из всего многообразия возможных сигналов только определенную последовательность согласованных звуковых или визуальных образов. Группировка степеней свободы в "блоки" и связанное с этим существенное уменьшение числа независимых переменных является, по-видимому, одним из общих эффективных методов управления сложными системами. Следующий общий принцип организации управления в сложных биологических системах - это способность к обучению на опыте и адаптации к заранее неизвестным и меняющимся в довольно широких пределах условиям обитания. Человеку часто приходится решать сложные задачи с неопределенностью (с недостатком сведений) в жестко ограниченное время. Вместе с тем, скорость многих биологических процессов сравнительно невелика. Поэтому для того, чтобы, с одной стороны, по возможности увеличить быстродействие, а, с другой, - избавиться от излишней перегрузки, живой организм старается, используя прошлый опыт и прогнозируя текущую ситуацию на ближайшее будущее, адаптироваться (приспособиться) к ней с тем, чтобы в нужный момент не решать задачу "на пустом месте", а лишь уточнить и скорректировать заранее подготовленное решение. Способность к обучению и адаптации присуща не только целостному организму, но и отдельным его органам и функциям. Эта способность особенно важна в тех случаях, когда одна и та же задача (возможно, с некоторыми заранее неизвестными изменениями условий и данных) решается многократно. Таким образом, феномен обучения и адаптации играет важную роль в целесообразном поведении живых организмов. Мы рассмотрели некоторые общие принципы управления сложными биологическими системами - иерархическую организацию управления, блочную группировку переменных (принцип синергии), обучение и адаптацию. Попытаемся теперь использовать эти принципы при построении сложных, многомерных систем управления интеллектуальных роботов. Сложность таких систем управления заключается в том, что они состоят из многих взаимосвязанных подсистем, реализующих элементы интеллекта робота. Подчеркивая важность взаимозависимости отдельных подсистем, будем говорить об иерархических системах управления роботов. Анализ и особенно синтез таких систем управления наталкиваются на ряд принципиальных трудностей и непосредственно не сводятся к методам классической теории управления. В частности, функционирование интеллектуальных роботов описывается уравнениями более сложной структуры, чем обычно рассматриваемые алгебраические, дифференциальные или разностные уравнения; цели управления и критерии качества сложны и зачастую противоречивы; неопределенность (недостаток сведений) относительно характеристик среды, робота и условий его функционирования требует введения элементов обучения и адаптации. Все эти обстоятельства приводят, как и в случае сложных биологических систем, к тому, что системы управления узких роботов необходимо должны быть иерархическими и адаптивными. Поясним эту мысль на примере. Рассмотрим робот-манипулятор, изображенный на рис. 8. Предположим, что он должен в автономном режиме выполнить ряд технологических операций, связанных, например, со сборкой некоторой конструкции из беспорядочно разбросанных деталей. Для решения этой задачи необходимо прежде всего составить план сборки, т. е. указать, какими деталями, в какой последовательности и как нужно манипулировать. Затем необходимо последовательно отыскать и распознать нужные объекты, а также определить их геометрические характеристики (местоположение, ориентацию, возможность захвата и т. п.). После этого нужно рассчитать программу движения всех звеньев манипулятора, обеспечивающую выполнение плана сборки за приемлемое время. Эта программа движения должна удовлетворять требованию обхода манипулятором препятствий и естественным конструктивным ограничениям. Наконец, необходимо рассчитать закон управления исполнительными механизмами, реализующий требуемую программу движения. Решение перечисленных задач существенно осложняется тем, что ряд характеристик среды (геометрия и масса деталей, параметры препятствий и т. п.) и самого робота (параметры исполнительных механизмов и приводов) управляющей системе неизвестен. Совершенно ясно, что робот-манипулятор с одноуровневой системой управления, рассчитанной в соответствии с рецептами классической теории управления, в принципе не сможет решить задачу автоматической сборки. Вместе с тем иерархизация управления введением элементов интеллекта и адаптация как средство уменьшения неопределенности приводят к иерархическим адаптивным системам управления, которые делают робота способным решать такого рода задачи. Иерархическая организация управления роботом - это прежде всего распределение функций восприятия, обработки информации и управления между отдельными уровнями иерархии и подсистемами робота. Такое распределение "обязанностей" по переработке информации определяется в значительной степени объемом воспринимаемой информации и требованиями к ее обработке (объем памяти, быстродействие, точность преобразований и т. п.), необходимыми для управления исполнительными механизмами робота. При автономном управлении роботом в сложных и заранее неизвестных условиях функционирования полностью централизованные и жестко определенные алгоритмы восприятия, обработки информации и управления оказываются малоэффективными или даже непригодными. Это связано прежде всего с тем, что эти алгоритмы не адаптивны, т. е. не способны автоматически приспосабливаться к существующим (но заранее неизвестным) условиям функционирования, и достаточно сложны в реализации, что приводит к значительному запаздыванию в управлении, т. е. к управлению по устаревшей информации. Таким образом, возникновение иерархической адаптивной структуры управления диктуется в первую очередь стремлением увеличить быстродействие и уменьшить уровень неопределенности в процессе функционирования робота, т. е. повышением качества управления. Одним из эффективных путей преодоления трудностей, вызванных большим объемом воспринимаемой роботом информации и сложностью ее обработки, является, как и в случае биологических систем, распределение функций ("децентрализация") и распараллеливание алгоритмов обработки информации и управления между отдельными уровнями иерархии и подсистемами робота, т. е. создание автономно (самостоятельно) функционирующих подсистем (или, как еще говорят, модулей, блоков, звеньев). Для функционирования отдельных подсистем необходим уже значительно меньший объем информации, который можно быстрее и эффективнее обработать и, следовательно, решить соответствующую задачу в условиях меньшей (и, возможно, существенно меньшей) неопределенности*. * (Следует отметить, что иерархизация управления, приводящая к уменьшению неопределенности, связанной со сбором и обработкой информации, служит источником новой неопределенности, порождаемой возможной нетождественностью целей всей системы управления и ее отдельных подсистем. Так возникает проблема оптимальной меры иерархизации систем управления роботов.) При построении иерархической системы управления интеллектуального робота, функционирующего в условиях неопределенности, целесообразно использовать принцип обучения и адаптации. Согласно этому принципу в процессе решения роботом задач происходит накопление опыта и приспособление (адаптация) системы управления к конкретным условиям функционирования робота. Это осуществляется путем подстройки параметров и (или) структуры отдельных подсистем так, чтобы система управления по прошествии некоторого времени адаптации могла обеспечить назначенную цель управления. Время, затрачиваемое на обучение и адаптацию, связано с необходимостью для системы управления "приспособиться", "привыкнуть" к фактическим, но неизвестным условиям работы. Свойство адаптивности иерархической системы управления заключается, таким образом, в обеспечении достижения цели управления сразу для целого класса заранее неизвестных характеристик среды, робота и условий его функционирования. В общем случае иерархическую адаптивную систему управления интеллектуального робота можно представить в виде структурно-функциональной схемы, изображенной на рис. 9. Эта система состоит из следующих основных уровней иерархии: Рис. 9. Схема иерархической адаптивной системы управления 1. Общение робота с человеком. На этом высшем уровне имеется алгоритмический язык, по возможности близкий к естественному языку, на котором человек поддерживает связь с роботом в режиме диалога и, в частности, формулирует ему задания. 2. Планирование поведения и принятие решений. Алгоритмы этого уровня на основе задания, получаемого с высшего уровня, а также сигналов обратной связи от сенсорной системы и нижних уровней иерархии осуществляют выбор того или иного плана поведения робота, ведущего к выполнению задания. Далее последовательно принимаются решения об отработке отдельных операций, составляющих сформированный план. 3. Распознавание и анализ ситуаций. Алгоритмы этого уровня производят распознавание и анализ ситуаций в соответствии с указаниями высших уровней иерархии и информации, получаемой от сенсорной системы. 4. Формирование понятий и модели внешней среды. На этом уровне осуществляется формирование новых понятий и модели внешней среды в памяти робота путем соответствующей переработки текущей информации и накопленного роботом опыта. Именно наличие информационной модели внешней среды позволяет системе управления "мысленно" проигрывать различные схемы поведения робота еще до совершения им каких-либо реальных действий. 5. Построение программных движений. Алгоритмы этого уровня строят программные движения исполнительных механизмов робота, т. е. закон изменения их обобщенных координат, гарантирующий достижение цели управления с учетом имеющихся препятствий и конструктивных ограничений. 6. Управление приводами. На этом низшем уровне осуществляется синтез закона управления приводами, обеспечивающего приближенную реализацию программных движений исполнительных механизмов робота при наличии разного рода возмущений и неопределенности. Все перечисленные уровни функционально связаны между собой через систему координации их работы, а также с сенсорной системой, приводами и исполнительными механизмами. Уровни иерархии, выходные сигналы которых являются входными сигналами для более низких (ведомых) уровней, будем называть ведущими, или руководящими. В процессе функционирования робота вовсе не требуется, чтобы все уровни иерархии работали одновременно. В частности, ведущие (руководящие) уровни могут действовать более редко, чем ведомые. Перейдем теперь к подробному рассмотрению некоторых общих принципов и конкретных алгоритмов построения перечисленных уровней иерархической адаптивной системы управления интеллектуального робота. Дальнейшее изложение потребует привлечения некоторых идей, методов и средств теоретической и технической кибернетики, математической логики, вычислительной математики и техники. Вследствие этого оно неизбежно будет более специальным, требующим от читателя большего напряжения и определенной математической подготовки. Поэтому тем читателям, кому предлагаемое ниже описание алгоритмов построения интеллекта роботов покажется сложным, мы рекомендуем перейти к чтению следующей главы. В то же время мы надеемся, что читатель-специалист прочтет предлагаемый материал с интересом, так как он в значительной степени основан на новых идеях и результатах. |
|
|||
© ROBOTICSLIB.RU, 2001-2019
При копировании материалов проекта обязательно ставить ссылку на страницу источник: http://roboticslib.ru/ 'Робототехника' |