Система управления движением. Тактический уровень системы управления

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

Интеллектуальный мобильный робот RAD обладает релейной системой управления. Пластинки и капы не ставят на брекеты, а используют отдельно. Причем аппаратная часть робота устроена таким образом, что минимальное время между командами управления должно быть менее 110 мс. Кроме того, частая смена команд управления может впасть в резонанс с колебаниями корпуса, что может сломать механизм опускания корпуса и даже перевернуть робота. Поэтому штатная смена команд управления должна производиться не чаще 800-1000 мс.

Для робота RAD была реализована система управления движением на основе технологии нечеткой логики.

Реализованная система управления движением разделяет локальную карту местности, поступающую на вход системы, на 3 одинаковые зоны: "левая", "передняя" и "правая". Зоны слегка пересекаются (Рис. 1).

Рис. 1. Зоны разбиения локальной карты местности


На вход нечеткой системы управления поступают следующие сигналы (Рис. 2):

  • Опасности направлений движений к зоне "L", "0" и "R" (Рис. 1) подаются на входы "DL", "D0" и "DR" соответственно.

  • Пеленг и расстояние до целевой точки (Aц и Dц).
  • Текущая скорость поворота Qspd.
  • Последние командные значения скорости поворота и скорости Qo и Vo, формируемые на выходе системы управления движением.
  • Значение декрементного таймера, отсчитывающего время от 1000 до 0 мс от момента подачи последней команды управления.
Рис. 2. Структура системы управления движением


Декрементный таймер, обозначенный на (Рис. 2.) запускается сигналом от формирователя событий "ФС". Формирователь событий формирует на выходе единичный сигнал каждый раз при изменении одного из двух сигналов на своем входе.

Сигнал о наличии целевой точки управляет пятью программными переключателями, которые в разомкнутом состоянии подключают соответствующий выход к нулю. Это обеспечивает остановку робота по прибытию к целевой точке.

Система целеуказания преобразует координаты целевой точки из декартовой системы координат в полярную, формируя на своем выходе сигнал Aц - переленг целевой точки, Dц - дальность до целевой точки. Для обеспечения корректного поведения робота в окресности целевой точки, где небольшие линейные рассогласования по координате Xц могут привести к большим рассогласованиям по пеленгу, систем целеуказания формирует на выходе Aц значение 0, в случае, если Dц < 70 мм.

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

Механизм нечетного вывода работает на основе композиции MIN-MAX. Преобразование результатов логического вывода в конкретные значения управляющих сигналов производится по методу "центра тяжести".

Функционирование разработанной системы управления определяется следующими продукционными правилами, в которых заложена логика принятия решения в той или иной ситуации:

	1. ЕСЛИ QoL И CmdTime ТО Qleft
	2. ЕСЛИ QoR И CmdTime ТО Qright
	3. ЕСЛИ QoF И CmdTime ТО Qforward
	4. ЕСЛИ VoB И CmdTime ТО Vback
	5. ЕСЛИ VoF И CmdTime И НЕ(Denger0 И НЕ(Dnodenger)) ТО Vforward
	6. ЕСЛИ VoZ И CmdTime ТО Vzero
	7. ЕСЛИ Aleft ТО QL
	8. ЕСЛИ Aright ТО QR
	9. ЕСЛИ Aforward И QspdL ТО QR
	10.ЕСЛИ Aforward И QspdR ТО QL
	11.ЕСЛИ Dapple И Aback ТО Vback И QZero
	12.ЕСЛИ НЕ(Dapple) И Aback И Aleft ТО Vzero И QQL
	13.ЕСЛИ НЕ(Dapple) И Aback И Aright ТО Vzero И QQR
	14.ЕСЛИ Dnear И Aleft ТО QQL
	15.ЕСЛИ Dnear И Aright ТО QQR
	16.ЕСЛИ НЕ(Dapple) И НЕ(Aback) И НЕ(Denger0) ТО Vforward
	17.ЕСЛИ DengerL И НЕ(Dnodenger) ТО QQR
	18.ЕСЛИ DengerR И НЕ(Dnodenger) ТО QQL
	19.ЕСЛИ Denger0 И DengerL И НЕ(DengerR) И НЕ(Dnodenger) ТО QQR
	20.ЕСЛИ Denger0 И НЕ(DengerL) И DengerR И НЕ(Dnodenger) ТО QQL
	21.ЕСЛИ Denger0 И НЕ(Dnodenger) ТО Vback
	22.ЕСЛИ Dapple И НЕ Aback ТО Vzero

Соответствие между реальными физическими параметрами и термами, используемыми в данных правилах, определяют функциями принадлежности, представленными на Рис. 3.

[ Увеличить ] [ Уменьшить ]



[ Увеличить ] [ Уменьшить ]

Рис. 3 Функции принадлежности нечеткой системы управления движением интеллектуального мобильного робота на основе определения опасностей: а) Ф-ции принад. по переменным DR,DL,D0 (опасностям направления); б) Ф-ции принад. по переменной пеленга на целевую точку (AЦ); в) Ф-ции принад. по переменной дальности до целевой точки (DЦ); г) Ф-ции принад. по переменной Q0 - текущее значение командной скорости поворота; д) Ф-ции принад. по переменной V0 - текущее командное значение направления движения; е) Ф-ции принад. по скорости поворота (Qspd); ж) Ф-ции принад. по величине значения декрементного таймера; з) Ф-ции принад. по выходному командному значению направления поворота q; ж) Ф-ции принад. по командному значению направления движения v.


Рассмотрим систему нечетких правил.

Согласно правилам 1-6 принятое решение о направлении движения и направлении поворота будет неизменным в течение 600-800 миллисекунд, если не будет доминировать правило с более высоким приоритетом.

Команда "Вперед" является исключением из правил 1-6. По правилу 5 команда "вперед" может быть прервана, если перед роботом возникнет препятствие, а робот находится не рядом с целевой точкой.

Правила 7-8 обеспечивают поворот робота к целевой точке.

Правила 9-10 обеспечивают гашение скорости поворота в случае, когда целевая точка находится почти перед роботом, но скорость его поворота все еще большая.

Правило 11 обеспечивает задний ход робота (или его торможение) в случае, когда целевая точка совсем близко, но находится сзади. Такая ситуация возможна в случае промаха при подъезде к целевой точке.

Правило 12 обеспечивает левый разворот робота на месте к целевой точке в случае, если целевая точка находится слева сзади робота, а расстояние до нее не близкое. Данное правило имеет приоритет над другими правилами поворота.

Правило 13 обеспечивает правый разворот робота на месте к целевой точке в случае, если целевая точка находится справа сзади робота, а расстояние до нее не близкое. Данное правило имеет приоритет над другими правилами поворота.

Правила 14-15 обеспечивают строгую ориентацию робота к целевой точке в случае подъезда к ней. Причем правила обладают высоким приоритетом, доминирующим над правилами 1-6.

Правило 16 заставляет робота ехать вперед, если целевая точка не близко и не сзади, а опасности движения вперед не существует.

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

Правила 19-20 позволяют роботу выбрать менее опасное направление объезда препятствия, оказавшегося прямо по курсу. При этом согласно данным правилами, вблизи целевой точки препятствия игнорируются.

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

Правило 22 обеспечивает остановку робота, в случае попадания в целевую точку.



Экспериментальные исследования системы управления движением

Опыт 1.

Исследуем движение робота к целевой точке по прямой в среде без препятствий. Цель эксперимента отладить алгоритм позиционирования робота в целевой точке.

На локальной карте местности оператор указывает конечную точку пути перед роботом в 120 см от его центра. В результате по правилу 16 робот начинает движение по прямой, после чего по правилу 22 останавливается. Пройденный роботом путь составляет 123 см. Для данного робота такая погрешность, вполне уместна.


Опыт 2.

Исследуем динамику поворота робота. Для этого укажем целевую точку сбоку от робота (Рис. 4, а). Заметим, что по правилам 7 и 8 робот начинает поворот к целевой точке, а по правилам 9 и 10 заблаговременно сбрасывает скорость поворота, минимизируя промах. По правилу 16 начинает движение, а по правилу 22 тормозит. На Рис. 4 (б) и (в) показаны графики изменения пеленга и расстояния до целевой точки при движении робота.


Опыт 3.

Укажем точку за роботом. По правилам 12 и 13 робот на месте поворачивается назад право или влево (в зависимости того, куда ближе). После чего наступает ситуация, описанная в опыте 2.


Опыт 4.

Назначим целевую точку, путем назначения объекта, к которому следует прибыть роботу при движении в среде с препятствиями. Для этого необходимо воспользоваться системой управления поведением. Допустим, что модуль базы данных образов обучен распознавать кубик.

Для проведения эксперимента оператор делает запрос к роботу "Встань перед кубиком".

Система управления поведением начинает процесс поиска кубика, заключающийся в повороте на месте в поисках требуемого объекта. Обнаружив кубик, система управления поведением назначает для системы управления движением целевую точку, находящуюся на расстоянии 200 мм перед кубиком.

Рис. 4. Исследование динамики поворота робота: а) Указание целевой точки на локальной карте местности; б) Графики изменения азимутального угла поворота робота; в) График изменения расстояния до целевой точки


Приведем результаты одного такого эксперимента.

В первоначальный момент времени положение робота изображено на Рис. 5 (а). Изображение с его телекамеры представлено на Рис. 5 (б). После того, как оператор сделал запрос "Встань перед кубиком", начался процесс поиска кубика (Рис. 5, а-в). Найдя кубик, робот начинал движение по правилу 16. По правилу 20 робот совершил левый поворот, чтобы обойти препятствие на своем пути (Рис. 5, г). После этого совокупность правил 8 и 18 определила движение робота вперед без поворотов. Продолжая свое движение по правилам 3 и 16, робот проехал небольшое расстояние. После чего доминирование правил 3 и 18 стало минимальным, поэтому по правилу 8 робот вновь повернулся к целевой точке (Рис. 5, д, е). Высокая скорость этого поворота была приостановлена правилом 10, согласно которому робот прежде временно закончил свой поворот. Далее по правилу 3 и 16 робот начал движение вперед. Спустя некоторое время правило 3 перестало доминировать, и по правилу 8 робот повернулся к целевой точке, продолжая свое движение к ней. Далее совокупность правил 1, 2, 7, 8, 9, 10, 14 и 15 заставило робота более точно ориентироваться к целевой точке, а правилу 22 робот остановился в ней.

Рис. 5. Процесс движения к целевой точке интеллектуального мобильного робота с нечеткой системой управления движением на основе определения опасности направлений перемещения: а) в) г) д) ж) з) и) Внешний вид; б) е) з) к) м) Вид с телекамеры робота.


Видеоматериал этого эксперимента можно скачать здесь. (AVI, Indeo® Video 5.10, 2.6 Мб).

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




Назад ]
Дизайн: DynSoft 

статистика Мультимедиа Бизнес Комуникации Разработчику Сеть Безопасность Система WEB разработчику