ся подвижной рукой, способной брать и перемещать кубики. Рука робота может выполнять следующие задания ( U, V, W, X, Y, Z - переменные).
goto(X,Y,Z) перейти в местоположение X, Y, Z
pickup(W) взять блок W и держать его
putdown(W) опустить блок W в некоторой точке
stack(U,V) поместить блок U на верхнюю грань блока V
unstack(U,V) убрать блок U с верхней грани блока V
Состояния мира описываются следующим множеством предикатов и отношений между ними.
on(X,Y) блок X находится на верхней грани блока Y
clear(X) верхняя грань блока Х пуста
gripping(X) захват робота удерживает блок Х
gripping() захват робота пуст
ontable(W) блок W находится на столе
Рис. 3. 8. Начальное и целевое состояния задачи из мира кубиков
Предметная область из мира кубиков представлена на рис. 3. 8 в виде начального и целевого состояния для решения задачи планирования. Требуется построить последовательность действий робота, ведущую (при ее реализации) к достижению целевого состояния.
Состояния мира кубиков представим в виде предикатов. Начальное состояние можно описать следующим образом:
start handempty, ontable(b),
ontable(c), on(a,b), clear(c),
clear(a)
где: handempty означает, что рука робота Робби пуста.
Целевое состояние записывается так:
goal handempty, ontable(a),
ontable(b), on(c,b), clear(a),
clear(c)
Теперь запишем правила, воздействующие на состояния и приводящие к новым состояниям.
Прежде чем использовать эти правила, необходимо упомянуть о проблеме границ. При выполнении некоторого действия могут изменяться другие предикаты и для этого могут использоваться аксиомы границ - правила, определяющие инвариантные предикаты. Одно из решений этой проблемы предложено в системе STRI
Страницы: << < 12 | 13 | 14 | 15 | 16 > >>