Робототехника.Фу, Ли, Гонсалес (962794), страница 94
Текст из файла (страница 94)
Эту ситуацию можно описать коныонкцией из следующих утверждений: СЬЕАЯ(о) На вершине объекта В нечего нет 3 ЬЕА(1(С) На вершние объекта С ничего нет )Ч(С, А) Объект С иа обьекте А О(ЧТАВЬЕ(А) Объект А на столе 014ТАВьЕ(В) Объект о на столе НАЫРЕМРТУ В схаате робота нет объекта НОЬР1)4О(Х) В схвате робота объект Х Цель заключается в построении пирамиды из объектов, в которой объект В находится на объекте С и объект А — на объ. екте В, В терминах логических утверждений эта цель выглядит следующим образом: Ог((В, С)Л Ог((А, В). Действия робота переводят одно состояние или конфигурацию рабочего пространства в другое.
Один из простых и полезных методов для описания действий робота используется системой планирования решений задачи робота, которая называется 8ТР1Р8 (78), Для описания действий робота используется набор правил. Каждое правило состоит нз трех компонент. Первым из них является предусловие, которое должно быть истинным, прежде чем правило может быть применено, Предусловие обычно составляет левую часть правила. Вторым К омпонентом является список предикатов, называемый списколг исключений. Когда правило применяется к описанию состоян й или базе данных, то из списка исключений, находящегося в базе данных, проводится исключение соответствующих утверждений.
Третий компонент называется списком добавлений, Когда п именяется правило, утверждение вводится в список добавприм лений, расположенный в базе данных. Описание действия МОЧЕ для примера построения пирамиды из объектов А, В, С приводится ниже: МОЕЕ(Х, у, Е); Перемещать объект Х от У к с Предусловие: СЬЕАЕ(Х), СЬЕА(1(с), О(ч'(Х, У) Сйисок исключенитс ОЬ((Х, т), С!.ЕАЕ(с) Список добавлений; ОЫ(Х, с), СЬЕАЕ(У) Если МОЧЕ является единственным имеющимся в наличии оператором или действием робота, в этом случае генерируется граф (нли дерево), показанный на рис.
!0.2. Рассмотрим более подробно пример работы системы 8ТК1Р8 с исходным состоянием базы данных, приведенном на рис. 101, н 4 действиями илн операциями: 1. Р1СК()Р(Х) — поднять объект Х Предусловие и список исключений: 01(ТАВЬЕ(Х), СЬЕА)7(Х), НАНРЕМРТУ Список добавлений." НОЬ01НО (Х) 2. РЫТООЮ'.х) (Х) — опустить объект Х Предусловие и список исключений: НОЬ1)1(х(О(Х) б41 Список добавлений: 0)ч(ТАВОТЕ(Х), С1ЕАВ(Х), НАНОЕМРТТ' 3, БТАСК(Х, У) — положить объект Х на объект У Предусловие и список исключений: НО(01НО(Х), СГ.ЕАК(у) Список добавлений: НАГМОЕМРТУ', 0(т((Х, У), СГ.ЕАРТ(Х) 4.
()(т(БТАСК(Х, У) — снять объект Х с объекта У Предусловис и список исключений: НАА)ОЕМРТУ', СГЕАЯ(Х), ОН(Х, у) Список добавлений: Н01.01(УО(Х), СГ.ЕАР(У) Предположим, что нашей целью является 0(е) (В, С) Ат Л 01<((А, В). Начиная работу с описания начального состояния, С1 Елй(4! ОЧТАВ<.Е( и О.ЕЛК(в) ОМТЛИ<ЬВ) с( елйа) он<ли<и(О НАМОЕМРТУ р.(4 (М р(а р(в) М.).р<4) ра(4. М! рй<,р(С) РМ (С) С1.ЕЛЬС) С1.1АК(В) НО! О!Мо С! ОМТАВ).Т(4) ОМТАВ).ЬВ( С(ЕАЬВ) С<ЕАЯ(О НОТО)мо 4) ОМТЛВ).ЬВ ОМТАВ).<(< С(.ЕАЬА) ССЕАК(С) НОЬМЧС В) ОМТАВ).Ь() ОМТАВ1.ЬС) СЫЛК(В) (Р (4 С( С) КАК(41 ОЧ<АВ)) В ОЧТАВ! Е ( ( НАМОЕМРТУ О.ЕАК(В) ОМН 4 С).ЕАйи ( ОМТАВ<Ь(! ОМТАВ<р(В\ НАсн)ЕМРТ)' С! )лй(С! ОЧ(М О Елв,о ОЧТАВ1.ЬВ) ОМТАВ1.Е(С! НАМОЕМРТУ С<ЕАК(С) ОЧ(В 4! <Т ) АК(В) ОМ (А В<в 4) ОМТЛВ) ЬС) 14 А Ч О Е М РТ У С<ЕЛМ() ОМ(.в! С( ЕАК(С) ОМТЛВ<ЬН ОМТАВ1.ЬВ) НАНОЕМРТУ <'1 ЕАЬ 4) ОМВ С( с!,ельв) ОИТАВ(.Е(4( ОМ (А В( 1 (С) НЛЧ(И МРТ1 Р)М Р)О Р (Ь (С! ря<.ив мм мм) м 1 Р(с) р«мс НО Р)СЬР(4! Р 4 М<) РНЬР<41 рна СН рл< р(М р Мс ОМ(в с ) ОМВ 4) ОМ(С В) ОМ< ОМ(4 ( ( <1 ТАЬВ! (1 ЕАК(В) С(ЕАЬО О <АК(С1 С1ЕАЬЛ) нО( О(ИО(4) нО! О(мыО нО! О)мо(.4) НО) О)МО В! НОТО(МО(В) ОМТАВ! Е <1 ОМТЛВ(Е(4) ОМТАВ) ЬВ( ОМТАН)Е 4 ОМТАВ1Е С( ОМ 4 В С<ЕАЬ41 НО1.О(МО(С) ОМТАВЕЕ(В) К МС,В) М(ХМС.В) )и ЬВ С) ма МВ <') м МС<1 наЬС.А) аисн(.в) Рхил.в) а(4 с( ак снл с) нам в 4) н Ьв.() С<<Ай(В) ОМВ С) ОМ(С.А\ ОМТЛВ!.Ь 4) НАМОЕМРТУ' <1 ЕАЬ () ОМ4 1 ) ОМ< М ОМТАВЕЕ В) НАМО1МРТУ с! Клк <) ОМ <.В! ОМ(в.() ОМТАВ1 <(4) НАМОЕМРТУ 4 1.ЕАЯ(4! ОМ(4 Ф ОМВ О ОМ(АВ! ОС) НЛЧО)МЕТУ' С<ЕАЯ(в) ОМВ.
° ) ОМА.С) ОМТАВ<.ЬС( НАМОЕМРТУ < ЮАЯ(С) ОМС„!) ОМ(А,В! ОМТАВ).Е(В) НАМОЕМРТУ Рис. 1О !3. Прострвистно состояний дди задачи росотк. приведенного на рис, 1О,1, мы получаем полное пространство состояний (рис. 10.13) и путь (решение) между начальным и целевым состояниями, отмеченный полужирными линиями. Последовательность действий для решения задачи имеет вид (()МБТАСК(С, А), РБТОО)лт)((С), Р1СКБР(В), ЗТАСК(В, С), 642 ма(МВ. и ВМЕ(в.л) *«ЬСМ) али ЬСА) Н.М«В) сана ЬЛ В1 ЯХ<(Р С) „„1 В С) Н НСВ) „„К ЬСВ) Н М(4 О Р1СКНР(А), ЗТАСК(А, В)) и называется «планок!» достнже. ния цели.
Если системе известно, как каждый оператор изменяет состояние рабочего пространства или базы данных и известны предусловия оператора, который должен выполняться, она может применять анализ конечных значений для решения задачи. Короче говоря, по этому методу рассматриваются различия между текушими и целевыми состояниями и предпринимается попытка найти оператор, который уменьшит это различие. Таким оператором является тот, чей список добавлений содержит формулы, которые устранили хотя бы некоторую часть этого различия Поиск продолжается рекурсивным образом до тех пор, пока не будет достигнуто целевое состояние. Система ЗТК!РЗ н большинство других планировшиков используют анализ конечных значений. Выше мы видели, как система БТК1РЗ составляет план для решения конкретной задачи движения робота.
Следуюший шаг занлючается в обобшепии плана путем замены констант новыми параметрами. Другими словами, мы хотим расширить план до схемы алана. Требования обобшения плана появляются в обучающихся системах. Для сохранения планов (т, е чтобы их части могли быть использованы в дальнейшем процессе планирования) должны быть известны предусловия и результаты ействия любой части плана. С этой целью планы хранятся в треугольной таблице со строкамн н стодбцаъ)и, соответству юшими операторам плана. Треугольная таблица содержит структуру пл плана в такой форме, которая позволяет использовать части плана при решении сходных задач.
П имер треугольной таблицы приведен на рис. 10.14. Левый толбец назовем нулевым, тогда 1'-й столбец означает 1ьй опер— р аст ) тор в последовательности плана. Пусть верхняя строка имее т номер 1. Если имеется М операторов в последовательности, представляющей собой план, тогда последняя строка будет иметь номер )т<'+ 1. Записи в (й 1)-х элементах таблицы для 1) 0 и ! < 1<+ 1 являются теми утверждениями, добавленными к описанию состоян янин 1-м оператором, которые остались в качестве прсдусловий <-го оператора, Записями в (<, О)-х элементах для ! ( )ЕГ-1- являются те утверждения в описании начального состояния, которые остались как предусловня 1-го оператора.
Записи в (Ар+ 1)-й строке таблицы являются предложениями в описании о ачального состояния и предложениями, добавленными различными операторами, которые являются компонентами цели. Треугольные таблицы легко строятся из описания начального состояния, последовательности операторов и описания цели. Эти таблицы являются четким и удобным представлением 643 НАНОЕМРТУ С!.ЕАК(С) он(с,л) ! ааа!Ек)(С,А) НОЕО)НО(С) 2 ркдака(С) ОМТАВЫКВ) СЬЕАК(В), НАНОЕМРТУ ркьар(В) НО' О!'(О(В) 4 нас!(В.С) СЬЕАК(С) 5 рк! Р(Л) н,Аноемртт С!.ЕАК(Л) ОНТАВЬЕРЯ в а)ась(Л.В) иоинко(л) б СЕЕАРЛВ) ОН(Л,В) он(в,с) Рнс.
)Ц!4. Треугольная таблнца. На рис. !0 14 четвертое ядро обведено двойными линиямн. Записи в (нм ядре определяют условия, которые должны соответствовать описанию состояния таким образом, чтобы последовательность, составленная нз 1-го и последуюптего операторов, была выполнимой и приводила к цели. Таким образом, первое ядро (т. е. нулевой столбец) содержит те условия начального состояния, которые необходимы последующим операторам и цели; (М+ 1)-е ядро (т. е.
(М+ 1)-я строка) содержит условия цели. Этн свойства треугольной таблицы весьма полезны для управления ходом выполнения плана движения робота. Поскольку планы робота в реальном рабочем пространстве должны выполняться механическими устройствами, система управления должна предусматривать возможность того, что планируемые действия робота не будут реализованы, поскольку механические допуски могут вводить ошибки при реализации плана. Во время выполнения роботом операций незапланированные действия могут неожиданно приблизить иас к цели либо сбить с пути.
Эти проблемы можно было бы решить путем гене- для планов действия робота, Записи в строках слева от (-го оператора являются предусловием оператора. Записи в столбце снизу (-го оператора являются предложениями того оператора, которые требуются последующим операторам или которые являются компонентами цели. (-е ядро можно получить из треугольной таблицы путем вычеркивания из нее верхних ! — 1 строк и всех столбцов, начиная с !.го.
а )8 К ФУ Я АР рации нового плана (основанного на модернизированном описании состояний) после каждого действия робота, но очевидно, что такая стратегия была бы слишком дорогой, поэтому мы приведем схему, с помощью которой можно управлять ходом действия робота согласно данному плану. Ядра треугольных таблиц содержат только информацию, необходимую для реализации такой системы выполнения плана. В начале выполнения плана мы знаем, что полный план выполним и соответствует достижению цели, поскольку предложения в первом ядре соответствуют описанию первоначального состояния, которое было использовано при создании плана. (Здесь мы предполагаем, что рабочее пространство является статическим, т. е. рабочее пространство изменяют только действия самого робота,) Теперь предположим, что система выполнила первые ! — 1 действий последовательности операторов плана, Тогда, чтобы оставшаяся часть плана (состояшая из (-го и последующих действий) была выполнимой и приводила к достижению цели, предложения в 1-м ядре должны соответствовать описанию нового текущего состояния.
(Мы предполагаем, что во время выполнения плана система очувствления непрерывно модернизирует описание состояний так, чтобы это описание точно моделировало текущее состояние рабочего пространства.) Фактически мы можем нс просто проверить, соответствует ли ядро описанию состояния рабочего пространства после действия робота, мы можем выбрать соответствующее ядро с наибольшим н . р омс ом. Тогда, если непредвиденные эффекты приближают нас ели, нам необходимо только выполнить оставшиеся действ ия; к цел, и если ошибка выполнения нарушает результаты предыдущ их действий, соответствующие действия могут быть выполнены вновь, Чтобы найти соответствующее ядро, мы проверяем ядра в треугольной таблице по мере уменьшения их номеров, начиная с большего (ядро, соответствующее большому номеру, является последней строкой таблицы), Если целевое ядро (последняя строка таблицы) приводит к достиженшо конечного состояния, то система заканчивает работу.