Научная статья на тему 'Построение системы автоматического управления мобильным роботом на основе автоматного подхода'

Построение системы автоматического управления мобильным роботом на основе автоматного подхода Текст научной статьи по специальности «Механика и машиностроение»

CC BY
484
106
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АВТОМАТНОЕ ПРОГРАММИРОВАНИЕ / AUTOMATA-BASED PROGRAMMING / МОБИЛЬНЫЙ РОБОТ / MOBILE ROBOT / АВТОМАТИЧЕСКОЕ УПРАВЛЕНИЕ / AUTOMATIC CONTROL

Аннотация научной статьи по механике и машиностроению, автор научной работы — Клебан В.О., Парфенов В.Г., Шалыто А.А.

В настоящей работе описывается подход к созданию системы автоматического управления мобильным роботом на основе автоматного подхода. Автоматное программирование применяется для написания программного обеспечения робота КВАРК-М на всех трех уровнях: на верхнем уровне применяется три автомата, на среднем пять, а на нижнем одиннадцать. Такой подход позволяет существенно повысить качество программного обеспечения роботов.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Application of automata-based approach for A mobile robot control system

An automata-based approach for design of control system for mobile robot is described in this paper. Automata-based programming is used for creating software for KVARK-M robot on three levels: on the top level three automata are used, on the middle there are five, on the bottom eleven. Such an approach allows to greatly heighten the quality of software for robots.

Текст научной работы на тему «Построение системы автоматического управления мобильным роботом на основе автоматного подхода»

9

АВТОМАТНОЕ ПРОГРАММИРОВАНИЕ

МОБИЛЬНЫХ РОБОТОВ

УДК 004.896

ПОСТРОЕНИЕ СИСТЕМЫ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ МОБИЛЬНЫМ РОБОТОМ НА ОСНОВЕ АВТОМАТНОГО

ПОДХОДА В.О. Клебан, В.Г. Парфенов, А.А. Шалыто

(Санкт-Петербургский государственный университет информационных технологий, механики и оптики)

В настоящей работе описывается подход к созданию системы автоматического управления мобильным роботом на основе автоматного подхода. Автоматное программирование применяется для написания программного обеспечения робота КВАРК-М на всех трех уровнях: на верхнем уровне применяется три автомата, на среднем - пять, а на нижнем - одиннадцать. Такой подход позволяет существенно повысить качество программного обеспечения роботов.

Ключевые слова: автоматное программирование, мобильный робот, автоматическое управление

Для построения надежного программного обеспечения (ПО) целесообразно использовать технологию автоматного программирования [1], в которой, в частности, предлагается строить программу как систему автоматов, взаимодействующих между собой за счет вложенности и вызываемости. Использование автоматного подхода при создании ПО обладает рядом достоинств: документируемость [2], возможность верификации [3], упрощение внесения изменений и т.д.

Рассмотрим в качестве примера применения автоматного программирования проектирование модуля свободного движения мобильного робота КВАРК-М (рис. 1)[4].

Модуль свободного движения должен осуществлять случайные перемещения мобильного робота, при этом контролируя наличие препятствий на пути робота.

Рис. 1. Мобильный робот КВАРК-М

Разделим модуль свободного движения на три составляющих: модуль датчиков, модуль двигателей, расчетный модуль.

Рассмотрим модуль датчиков. В качестве сенсоров для определения препятствий выступает пара индикаторов дальности смонтированных на поворотной платформе. Поворот платформы регулируется с некоторой дискретностью.

Задача рассматриваемого модуля - обеспечить робота как можно более точными данными о наличии препятствий на маршруте. При решении этой задачи стало ясно, что поворотный стол должен вращаться не с постоянной скоростью, а изменять ее в зависимости от наличия препятствий. Так, например, при наличии препятствия справа необходимо усилить контроль правой части обзора. При этом для поворотного стола можно выделить четыре режима (состояния) вращения: влево, вправо, влево точно, вправо точно. Автомат управления этим объектом будет иметь одноименные состояния.

Пусть переменные х1 и х2 обозначают соответственно помеху слева или справа, а переменная х3 будет устанавливаться в ноль, когда платформа повернута вправо, и в единицу, когда она повернута влево. Выделим также событие е0, соответствующее достижению платформой крайнего положения. Это воздействие используется как событие, так как это воздействие импульсное. Для указанных состояний, переменных и события построим управляющий автомат А, граф переходов которого приведен на рис. 2.

Рис. 2. Граф переходов автомата управления поворотным столом

В г-ое состояние этого автомата вложим автомат Аг (г = 0,...,3), реализующий действия, необходимые для обеспечения работы объекта управления в этом состоянии. Результат работы модуля датчиков приведен на рис. 3.

Рис. 3. Результат работы модуля датчиков

Рассмотрим модуль обеспечения передвижения. Робот приводится в движение с помощью пары коллекторных двигателей, которые оборудованы импульсными энкоде-рами. Задачей данного модуля является отслеживание пройденного роботом пути и скорости его передвижения.

Рассмотрим автомат А1, реализующий функцию отслеживания пройденного пути (рис. 4). Задачей данного автомата является измерения пройденного пути роботом и остановка по завершению задания.

х1 &х2

С

гО

Рис. 4. Автомат А1 контроля пройденного пути

0.Остановлен

г.

V

1. Работа

В данном автомате использованы следующие переменные: х1, х2 обозначают, достигнут ли задатчик пройденного пути для левого и правого борта робота соответственно. Выходное воздействие е0 - останов двигателей. В состоянии «Работа» при переходе по петле (!х1 | !х2) происходит вызов автомата А2.

Построим автомат А2, регулирующий скорость вращения вала двигателя (рис. 5). Входными воздействиями в данном случае являются: х0 - текущая скорость двигателя, х1 - задатчик необходимой скорости двигателя. Выходными воздействиями 20.23 являются непрерывные законы управления применимые для каждого из состояний автомата. Переключение законов управления осуществляется автоматом, образуя, так называемый, гибридный автомат (гибридную систему) [5].

Рис. 5. Автомат стабилизации скорости вращения вала двигателя

Рассмотрим расчетный модуль, задачей которого является выдача команд на передвижение мобильного робота. Для обеспечения случайных, но «осмысленных» движений робота построим вероятностный конечный автомат (рис. 6). Данный автомат в случае отсутствия препятствий с вероятностью 0.6 будет выдавать роботу команду на

движение вперед, с вероятностями 0.2 влево либо вправо. Входными воздействиями данного автомата являются: х0 - присутствует препятствие, х1 - операция перемещения завершена.

0.6, !х0 х1

1. Отъезд

4. Разворот

!х1

х1

Рис. 6. Вероятностный автомат расчетного модуля

Полученные автоматы объединяются в иерархическую систему взаимодействующих автоматов.

В настоящее время программный комплекс управления мобильным роботом КВАРК-М является трехуровневой системой. Верхний (первый) уровень (автоматизированное рабочее место оператора телеуправления) реализован на переносном персональном компьютере с использованием беспроводной связи Wi-Fi. Средний (второй) уровень (бортовой компьютер) обеспечивает автономное управление, например, при отключении телеуправления. Он реализован на основе карманного персонального компьютера. Нижний (третий) уровень (периферийные модули), реализованный на контроллерах, например, AT91SAM7P256. Эти модули управляют различными узлами робота.

Программирование всех уровней системы выполнялось на основе автоматного подхода. При этом на верхнем уровне применялось три автомата, на среднем - пять, а на нижнем - одиннадцать (два из них - гибридные, а четыре - однотипные). При помощи гибридных автоматов осуществляется контроль и управление скоростью вращения гусениц (используется пять законов непрерывного управления).

Дальнейшее развитие методов автоматного программирования применительно к проектированию ПО мобильных роботов связано с применением автоматизированных сервисов для обеспечения повторного использования модулей ПО, которые также реализуются с помощью конечных автоматов [6].

В заключение работы отметим, что применение автоматов в мобильных роботах, как и в работе [7], позволяет резко повысить качество ПО.

Литература

1. Шалыто А. А. Б'ксЬ-технология. Алгоритмизация и программирование задач логического управления. - СПб: Наука, 1998. - Режим доступа: http://is.ifmo.rU/books/switch/1

2. Сайт по автоматному программированию. Разделы «Проекты» и «ЦшМоё-проекты». - Режим доступа: http://is.ifmo.ru

3. Сайт по автоматному программированию. Раздел «Верификация». - Режим доступа: http://is.ifmo.ru

4. Клебан В.О. Мобильный робот КВАРК-М. - Режим доступа: http://quark-bot.blogspot.com

5. Сениченков Ю.Б., Колесов Ю.Б. Моделирование систем. Динамические и гибридные системы. - СПб: БХВ-Петербург, 2005.

6. Клебан В.О., Шалыто А.А. Автоматизированные сервисы и мобильные роботы / Настоящий сборник.

7. Brooks R.A. A Robust Layered Control System for a Mobile Robot // IEEE Journal of Robotics and Automation. - 1986. - 2. - Р.14-23.

i Надоели баннеры? Вы всегда можете отключить рекламу.