Интеллектуальные робототехнические системы




Программирование в CLIPS экспертной системы управления технологическим процессом. - часть 2


Эта программа управления роботом по перекладыванию кубиков. Начальное состояние положения кубиков в стеке 1 и стеке 2 определяется путем перечисления кубиков сверху вниз. Задавая различные комбинации в deffacts initial-state, мы получим конкретные последовательности действий робота.

(deftemplate goal (slot move) (slot on-top-of)) (deffacts initial-state (stack A B C) (stack D E F) (goal (move C) (on-top-of E))) (defrule move-directly ?goal < — (goal (move ?block1) (on-top-of ?block2)) ?stack-1 < — (stack ?block1 $?rest1) ?stack-2 < — (stack ?block2 $?rest2)

(retract ?goal ?stack-1 ?stack-2) (assert (stack $?rest1)) (assert (stack ?block1 ?block2 $?rest2)) (printout t ?block1 "moved on top of" ?block2 crlf)) (defrule move-to-floor > ?goal < — (goal (move ?block1) (on-top-of floor)) ?stack-1 < — (stack ?block1 $?rest)

(retract ?goal ?stack-1) (assert (stack ?block1)) (assert (stack $?rest)) (printout t ?block1 "moved to the floor." crlf)) (defrule clear-upper-block (goal (move ?block)) (stack ?top $? ?block $?)

(assert (goal (move ?top) (on-top-of floor)))) (defrule clear-lower-block (goal (on-top-of ?block)) (stack ?top $? ?block $?)

(assert (goal (move ?top) (on-top-of floor))))

Результат работы CLIPS в данном случае будет следующий:

CLIPS$>$ (run) A moved to the floor. B moved to the floor. D moved to the floor. C moved on top of E CLIPS$>$

В завершение лекции читателю может быть рекомендована книга Ж.Гурратано [94], содержащая множество примеров программирования ЭС на основе CLIPS.

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




Содержание  Назад  Вперед