Агентный декларативный принцип управления

реклама
УДК 004.4 (06) Компьютерные системы и технологии
И.С. БЕРЕЗНЯК
Научный руководитель – Е.В. ЧЕПИН, к.т.н., доцент
Национальный исследовательский ядерный университет «МИФИ»
АГЕНТНЫЙ ДЕКЛАРАТИВНЫЙ ПРИНЦИП УПРАВЛЕНИЯ РОБОТОТЕХНИЧЕСКИМИ
УСТРОЙСТВАМИ
В статье рассматривается один из методов поведенческой робототехники – многоагентные системы. На
основе данной архитектуры был разработан подход для описания поведенческих моделей роботов.
Декларативное программирование является чрезвычайно эффективной методикой для написания управляющих программ для робототехнических устройств. Поведенческие модели, как правило, изначально описываются набором математических правил и соотношений. Одно из преимуществ использования функциональной парадигмы для программирования поведения робота – возможность напрямую перенести в программный код разработанную модель, вместо составления на ее основе громоздких алгоритмов.
Описываемый подход основан на использовании программных «агентов» [1]. Поведенческая модель
робота строится из отдельных параллельных функционирующих блоков – агентов. Например, могут быть
агенты обхода препятствий, агенты поиска объекта, агенты планирования действий, агенты распознавания
образов, агент перезарядки батарей и тому подобные. Каждый такой агент – это некоторая процедура или
«думающий элемент» [2, 3]. Любой из агентов может использовать данные измерений датчиков робота
(например, камеры, ультразвуковые и инфракрасные дальномеры, тактильные датчики/бамперы), внутренние состояния и выходы других агентов. Под воздействием входных данных агент может изменять внутренне состояние, управлять аппаратурой РУ или другими агентами. Многоагентный метод подразумевает,
что робот управляется группой параллельных взаимодействующих агентов.
Рассмотрим в качестве примера мобильного робота, двигающегося к некоторой цели внутри помещения.
Допустим, что робот оборудован системой определения координат и лазерный дальномером. При обычном
подходе к решению этой задачи, программисту следует разработать (или подобрать подходящие) и реализовать несколько алгоритмов: построение карты по показаниям дальномера, поиск пути на карте (которая,
вероятно не полностью построена), обнаружение и обход возникающих на пути препятствий и тому подобные. Так простое задание для робота превращается в ряд относительно сложных задач.
С другой стороны, при использовании функционального агентного подхода данная задача существенно
упрощается. Для приведенного выше примера достаточно разработать двух агентов: для движения к цели
(А) и для обхода препятствий (Б). Оба агента имеют доступ к датчикам и исполнительным устройствам робота. Агент (А) при помощи системы координат определяет направление движения к цели, а агент (Б) при
помощи лазерного дальномера определяет направление для объезда препятствий. Данная модель выражается следующими формулами (см. рис. 1):
y
Цель
(1)
θ d
x
(2)
Робот
Рис. 1. Пояснение к формуле 3. d
– вектор направления движения
робота, x и y – связанная с роботом
система отсчета
(3)
(4)
В данной модели α и β – это приращения угла движения робота, LMS – это массив измерений лазерного
дальномера, avoid – предикат определяющий наличие препятствий ближе заданного порога (thold), пока
предикат ложный используется значение α для изменения угла движения робота, в случае истинности предиката используется значение β.
Список литературы
1. Gerhard Weiss, ed., Multiagent Systems: A Modern Approach to Distributed Artificial Intelligence (MIT
Press, Cambridge, MA, 1999); 619 стр.
Maja J. Mataric, Behavior-based robotics as a tool for synthesis of artificial behavior and analysis of natural
behavior, Trends in Cognitive Sciences – Vol.2, No.3, March 1998
2.
УДК 004.4 (06) Компьютерные системы и технологии
3.
R. A. Brooks. Intelligence without reason. A.I. Memo, MIT AI Lab, 1991.
Скачать