| ||
: О проекте :: Устройство робота :: Фото и видео :: Демострационный софт :: О авторе : | ||
Система управления движением. Тактический уровень системы управленияГлавной задачей системы управления движением (тактического уровня системы управления) является планирование перемещений робота к некоторой целевой точке с учетом различных факторов. При движении к целевой точке эта система должна учитывать заданные аспекты поведения, а также конструктивные, динамические, а иногда даже энергетические, возможности конструкции робота. Интеллектуальный мобильный робот RAD обладает релейной системой управления. Причем аппаратная часть робота устроена таким образом, что минимальное время между командами управления должно быть менее 110 мс. Кроме того, частая смена команд управления может впасть в резонанс с колебаниями корпуса, что может сломать механизм опускания корпуса и даже перевернуть робота. Поэтому штатная смена команд управления должна производиться не чаще 800-1000 мс. Для робота RAD была реализована система управления движением на основе технологии нечеткой логики. Реализованная система управления движением разделяет локальную карту местности, поступающую на вход системы, на 3 одинаковые зоны: "левая", "передняя" и "правая". Зоны слегка пересекаются (Рис. 1). На вход нечеткой системы управления поступают следующие сигналы (Рис. 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. [ Увеличить ] [ Уменьшить ] Рассмотрим систему нечетких правил. Согласно правилам 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 мм перед кубиком. Приведем результаты одного такого эксперимента. В первоначальный момент времени положение робота изображено на Рис. 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 робот остановился в ней. Видеоматериал этого эксперимента можно скачать здесь. (AVI, Indeo® Video 5.10, 2.6 Мб).
Проводились и другие экспериментальные исследования движения робота к целевой точке. Эти эксперименты показывают эффективность разработанного алгоритма, хотя следует отметить и его недостаток: наблюдается достаточно резкий переход из обычного состояния в состояние обнаружения препятствия. | ||
Дизайн: DynSoft |