Робототехника.Фу, Ли, Гонсалес (962794), страница 95
Текст из файла (страница 95)
В противном случае предполагаем, что соответствующим ядром с наибольшим номером является ядро с номером !. Тогда мы знаем, что 1-й оператор применим к описанию текущего состояния. В этом случае система осуществляет действия, соответствующие 1-му оператору, и проверяет результаты, снова отыскивая соответствующее ядро с наибольшим номером. В идеальном рабочем пространстве эта про цедура выполняется просто согласно последовательности операторов плана. В реальном же рабочем пространстве эта процедура помогает избе>кать ненужных действий, а также страннть некоторые виды аварийного завершения путем по- У вторного выполнения соответствующих действий.
Переплани) )ование осуществляется, когда больше нет соответствующих ядер. 545 В качестве примера, иллюстрирующего этот процесс, рассмотрим снова задачу построения пирамиды из объектов А, В и С и план, представленный в виде треугольной таблицы на рис. 10.!4. Предположим, что система выполняет действия, соответствующие первым четырем операторам, и результаты этих действий заранее планируются. Теперь предположим, что система пытается осушсствить захват блока А, но программа выполнения (в это время) меняет блок А на блок В, и поэтому вместо блока А робот захватывает блок В. (Снова предполагаем, что система очувствления точно модернизирует описание состояния, добавляя утверждение Н01Р1ЫО(В) и исключая утверждение ОЫ(В, С); в частности, она не добавляет утверждение НО! Р1ИО(А).] Если бы не было ошибки выполнения, шестое ядро было бы теперь соответствующим; в результате ошибки соответствующим ядром с наибольшим номером становится четвертое ядро.
Вновь выполняется действие, соотвст. ствуюшсе оператору ЯТАСК(В, С), и система продолжает ра. боту. То, что ядра треугольной таблицы частично перекрываются, можно использовать для улучшения поиска соответствующего ядра с наибольшим номером. Начиная с нижней строки, мы просматриваем таблицу слева направо, определяя первый элемент, содсржаший предложение, не соответствуюшее описанию текушего состояния.
Если мы просмотрели всю строку и не обнаружили такого элемента, целевое ядро является соответствующим. Если же мы нашли такой элемент в 1-м столбце, наибольший номер соответствующего ядра не может превышать й В этом случае мы устанавливаем границу по 1-му столбцу, переходим к следующей снизу строке и начинаем просматривать ее слева направо до столбца 1. Если мы находим элемент, содержащий несоответствующее утверждение, мы вновь устанавливаем границу по столбцу, начинаем просматривать следующую строку и т.
д. Процесс завершается определением й-го соответствующего ядра (наибольшим номером соответствующего Ф-й просматриваемой строке и проведением границы по й-му столбцу, соответствующему этой строке). Пример. Рассмотрим простую задачу переноса ящика мобильным роботом из соседней комнаты, Начальное состояние модели рабочего пространства робота приведено на рис.
!О.!б. Предположим, что имеются два оператора ООТНРБ и РБВНТНП13. ООТНК~3 (с), гь г,) Робот двигается через дверь )1 из комнаты г, в комнату г, Предусловис: 1ЫВООМ(ПОВОТ, г,) ЛСОНЫЕСТБ()1, гь гт) робот в комнате г) и дверь с) соединяет комнаты г, и г, Список исключений:1НЕООМ(ПОВОТ,5) для любого значения5 646 Список добавлений: 1НКООМ(КОВОТ, г,) РБВНТНПБ(Ь, б), г), гт) Робот переносит объект Ь через дверь 4( нз комнаты г, в комнату г, Рнс.
10.16, Начальная модель рабочего пространства. Нвявдьнвя база двннмх М, !ХКООМ ЯОВОТ, Л~) — робот в «омнвте В~ СОХХЕСТЗ )ль Вь Лз) — двеРь В, соединЯет комната ГО и Ле СОХХеСтз )В... В., В,) — дверь В~ соединяет комната ж и Лз ВОХ )В,) — ящик В1 1ХЯООЯ )В, В — ящик В~ в комнате В, ЧХЧВЬ)я )еоьннееста 1», и, В)-ЬСОХХЕСТЗ )Х, д, ай Цель Ое Эх )ВОХ )х) Д )ХДООМ )х. Л,)) Рис, 10.16. Таблица «действие — оператор» Предусловие: !)ч)сООМ(Ь, г))Л1)ч)тООМ()40ВОТ, г))Л ' СОНЬ)ЕСТ5(с), гь гт) Список исключений; 1зЬ(ВООМДОВОТ, 5) 1)д)РООМ(Ь, 5) Список добавлеиий; 11ч)400М(КОВОТ, гт), 1Ь)РООМ (Ь, гт) Таблица «различие — оператор» приведена на рнс. 10.!б.
647 !8" Когда система БТК1РБ приступает к решению задачи, она сначала пытается достигнуть цели 6е из начального состояния Ме. Эта задача не может быть решена сразу. Однако, если на- чальная база данных содержит утверждение !ХЙООМ(Вь КД процесс решения задачи может продолжаться. Система БТЙ!РБ находит оператор Р()БНТНКП(вь т(, гь К~), действие которого может привести к желаемому утверждению. Прсдус- ловисм 61 для оператора Р()БНТНК1) является следующее: 6,:1ХКООМ(Вь г ) лт)ХЙООМ(ЙОВОТ, г,) гт ,лт СОХХЕСТБ (т(, гь Й~) В анализе конечных значений это предусловие является под- целью и БТК1РБ пытается реализовать его из состояния М,.
Поскольку нет непосредственного решения этой задачи, БТЙ1РБ находит, что если г, =Йз, з7 =В, и текущая база дан- ных содержит оператор 1ХКООМ(КОВОТ, Кз), то процесс мо- жет продолжаться. Вновь БТК!РБ находит оператор ООТНКО(т(, гь Йз, результат действия которого может привести к желаемому состоянию.
Его предусловие является следующей подцелью: 6з .' !ХЙООМ(КОВОТ, г~) тл СОХХЕСТБ (т(, го Йя) Используя подстановки г, = Йз и з7 = Рь система БТК1РБ спо- собна выполнить операцию 6з. Применяя оператор ОзОТНЙП(Вь Йь Кз) к состоянию Ме, имеем М~:!ХКООМ(КОВОТ Йг) СОХХЕСТБ (0~ Й~ Йз) СОХХЕСТБ(оз Яь Кз), ВОХ(В~) 1ХЙООМ(Вь Йз), (з1гх) (агу) (ч'г) [СОХХЕСТБ(х, у, г) Ф СОХХЕСТБ(х,г,у)) Теперь БТК!РБ пытается достигнуть подцели бз из новой базы данных Мь Она находит оператор Р()БНТНК()(вь Пь Й„ Д,) с подстановками г~ = Йз и т( = Вь Применяя этот оператор к Мь получаем Мг:1ХКООМ(КОВОТ Й~) СОХХЕСТБ(61 Й~ Кз) СОХХЕСТБ (Вь Йь Кз), ВОХ(В1) !ХКООМ(В. К,), ...
(1гхяутГг) (СОХХЕСТБ(х, у, г) Ф СОХХЕСТБ(х, г, у)) На следующем шаге система БТК!РБ пытается реализовать ис- ходную цель 6е из состояния Мз. Эта попытка оказывается ус- пешной, и окончательная последовательность операторов имеет вид: ООТНЙП(вь Йь, Йз), Р()БНТНЙ()(Вь Во Кз, Й,) Желательно создать план, который ие зависел бы от констант вь %, Йз и Вз и можно было бы использовать в ситуациях 548 с произвольными дверями, комнатами, ящиками.
Треугольная таблица для конкретного плана приведена на рис. 10.17, а тре- Рнс. 10.!7. Треугольная таблица для конкретного плана. Рис 10.18. Треутольная таблица для обобтценного плана. угольная таблица для обобщенного плана — на рис. 10.!8. Следовательно, обобщенный план мог бы иметь следующий вид: ООТНК1) (д~ г~ гг) Р()БНТНК() ((з, с(м гг. гз) и мог быть использован для перехода пз первой комнаты во вторую и переноса ящика в третью комнату. !0.7. ОБУЧЕНИЕ РОБОТА Мы рассмотрели применение треугольных таблиц обобщенных планов для управления ходом выполнения плана действий робота.
Треугольные таблицы для обобщенных планов также 849 могут быть использованы системой БТК1РЗ для выделения соответствующей последовательности операторов во время последовательного процесса планирования, В принципе можно составить единую треугольную таблицу для представления семейства обобщенных операторов. Из списка добавлений, определяемого системой ЗТЕ!РЗ, мы должны выбрать наиболее экономичный по параметрам оператор, Напомним, что (1+ 1)-я строка треугольной таблицы (исключая первый элемент) представляет собой список добавлений Аь ...,, Рй части плана, т.
е. последовательность ОРь ..., ОР;. и-й шаг плана дает системе БТ)7!РЗ п альтернативных списков добавлений, каждый из которых может быть использован для уменьшения различия, возникающсго во время нормального процесса планирования. Система ЗТИРБ обычным образом проверяет соответствие каждого из списков добавлений обобщенного плана и выбирает из них те, которые обеспечивают наибольшее уменьшение различия. Часто данный набор подходящих утверждений будет появляться в нескольких строках таблицы. В этом случае выбирается строка с наименьшим номером, поскольку данный выбор приводит к наиболее короткой последовательности операторов, с помощью которых создаются требуемые утверждения.
Предположим, что система ЗТК1РБ выбирает 1-й список добавлений А~ ..., Аь ! ( и. Поскольку этот список является результатом работы последовательности операторов ОРь ..., ОРь то очевидно, что не надо интересоваться их применением и тем более установлением их предусловий. Как правило, некоторые шаги плана требуются только для установления предусловий последуюших шагов. Если нас не интересует завершающая часть плана, то в соответствующем примере обобщенного плана могут не содержаться те операторы, единственной целью которых является определение прсдусловий для завершающей части плана. Поэтому обычно система БТц1РЗ использует ограниченный набор из списка Аь ..., А> для установления соответствия Рй начальной части плана. Каждый из первых ! операторов, которые нс добавляют утверждений в этот ограниченный набор или помогают установить предусловия для некоторого оператора, добавляющего утверждение в этот набор, не требуется в соответствующем примере обобщенного плана.
Для того чтобы получить систему планирования действий робота, которая может не только ускорять процесс планирования, но также улучшать способность системы решать более сложные задачи, можно было создать систему, имеющую способность к обучению, Система БТц1РЗ использует схему общих правил машинного обучения. Другой формой обучения могло бы быть обновление информации в таблице «различне — оператор» на основе опыта системы. Мошным средством является обучение по аналогии, которое также применяется для планирования действий робота.