Диссертация (1149252), страница 14
Текст из файла (страница 14)
1.620 ∀. Это соотношение очевидноКомпьютерное моделированиеС целью расширения горизонта анализа, моделирование былососредоточено на случае динамического поля (в то время как теоретическиерезультаты касались статического поля). Параметры , регулятора (1.2)были выбраны в соответствии с рекомендациями теоремы 1.1.1. В (1.12)использовалась линейная возрастающая функция (1.11). Измерениязначений поля были искажены аддитивным белым гауссовским шумомсо среднеквадратичным отклонением 0,1 , где — единица измерения˙ использовался простейший двухточечныйзначения поля. Для вычисления ()˙метод численного дифференцирования ()≈ () −(− ) , где = 0,1 с,а в значении (·) учитывалась погрешность измерения. Начальные положенияроботов выбирались случайным образом.В первой серии моделирования в качестве поля было выбрано расстояние(, ) = ‖ − * ()‖ до подвижной цели * ().
Задача заключаласьв окружении целевого объекта группой роботов: требовалось вывести их назаданное расстояние до цели, равномерно распределить вокруг нее и обеспечитьпоследующее сопровождение с сохранением формации группы и заданногорасстояния до цели. В отличие от большинства существующих алгоритмов(типичные примеры см. в [107;108;111;115;116;118;129;130;148–159]; подробныеобзоры представлены в [112; 159]), роботы могли измерять только расстояние,в то время как угловые данные о цели не были доступны.
Навигация,основанная на измерениях только расстояния, представляет интерес для многихобластей, поскольку несет потенциал для снижения стоимости и сложностиоборудования и для повышения надежности системы [125; 160]. Однакореализации этого потенциала препятствует дефицит строго обоснованнойалгоритмической базы.В таблице 1 представлены численные значения параметров, которыеиспользовались в первой серии моделирования.72Таблица 1 — Параметры первой серии моделирования =8 = 0,5 м/с = 8 м0 = 10 м = 0,1 м/с = 0,9 м = 0,007 м−1 = 0,001 м/с = 0,1 с = 4м = 0,5 рад/с = 0,785 радТипичный результат этой серии показан на рисунке 1.20, где цельдвижется по диагонали с постоянной скоростью 0,2 м/с.
Целевая изолиния— окружность синего цвета с центром в месте положения цели. Роботыизображены красными точками, а прикрепленные к ним сектора соответствуютосновным зонам учета.а)б)в)г)Рисунок 1.20 — Захват и окружение подвижной целиРисунок 1.20 а) демонстрирует начальные положения роботов и цели.Рисунок 1.20 б) соответствует моменту, когда часть роботов уже достиглацелевой изолинии, в то время как оставшиеся еще только приближаютсяк ней. В конце концов все роботы не только выходят на требуемую изолинию,но и достигают устойчиво поддерживаемого равномерного самораспределения73вдоль нее, как показано на рисунке 1.20 в). На рисунке 1.20 г) представленграфик «псевдо-расстояний» от каждого робота до его предшественника;нетрудно заметить, что эти расстояния сходятся к одному значению, каки требуется.
Небольшой скачок справа объясняется резким изменениемнаправления движения цели: ограниченная маневренность преследователейв силу кинематических ограничений (1.1), предсказуемо влечет переходныйпроцесс для адаптации к резко измененившемуся движению цели. Однакогруппа быстро восстанавливает окружение цели. Таким образом, цельуправления достигается с высокой точностью, несмотря на погрешностьизмерений и перемещение поля.Для других серий моделирования были выбраны более сложные сценарии:для них изолинии по-прежнему подвижны, но уже не являются окружностями.Параметры, использованные в этих сериях, представлены в таблицах 2 и 3.Таблица 2 — Параметры второй серии моделирования = 12 = 0,5 м/с = 13 м0 = 10 м = 0,1 м/с = 0,9 м = 5м = 0,5 рад/с = 0,785 рад = 0,006 м−1 = 0,001 м/с = 0,1 сТаблица 3 — Параметры третьей серии моделирования =8 = 0,5 м/с = 12 м0 = 18 м = 0,1 м/с = 0,9 м = 6м = 0,5 рад/с = 0,785 рад = 0,007 м−1 = 0,001 м/с = 0,1 сВо второй серии поле было задано следующим образом:[︀]︀1,5 + sin 4 + 200+ 2 ang (),() = ‖‖ ·1,5где ang () — полярный угол .
Изолинии такого поля имеют форму гантелии поворачиваются с течением времени. Типичный результат компьютерногомоделирования, показанный на рисунке 1.21, демонстрирует, что роботыэффективно отслеживают вращающуюся изолинию и почти равномернораспределяются вдоль нее.74а)б)в)г)Рисунок 1.21 — Отслеживание гантелеобразной вращающейся изолинииДля третьей серии моделирования использовалось поле4 + sin9 + cos 150() = ‖‖ ··9[︀30]︀+ 5 ang(),4изолинии которого имеют форму звезды и не только вращаются,но и пульсируют, т.е.
постоянно расширяются и сжимаются, что дополнительноусложняет проблему сенсорного дефицита, поскольку длина изолиниирегулярно превышает критическое значение, выше которого роботыуже не могут «видеть» друг друга при равномерном распределении(при заданном их количестве и дальности видимости каждого из них).Это означает хотя и временный, но неизбежный разрыв обратной связив контуре регулирования расстояний между роботами с целью их равномерногораспределения.
Рисунок 1.22 демонстрирует, что данный факт ожидаемоухудшает качество регулирования в этом контуре: наблюдаемое распределениероботов вдоль изолинии даже по прошествии времени менее равномерно75в сравнении с предыдущими двумя сериями. Вместе с тем отслеживаниеизолинии остается практически идеальным.а)б)в)г)Рисунок 1.22 — Отслеживание звездообразной пульсирующей изолинииВ целом результаты компьютерного моделирования показали, чтопредложенный децентрализованный закон управления демонстрирует хорошуюробастность к различным погрешностям и дефициту данных.1.7Результаты экспериментов с реальными роботамиПредставленные в данном параграфе результаты, полученныев сотрудничестве с Овчинниковым К.С., иллюстрируют практическуюприменимость разработок главы 1 и не выносятся на защиту1 .1Видеозаписи экспериментов доступны по ссылке http://goo.gl/bHmWG776Для экспериментов были собраны четыре одинаковых трехколесныхробота из конструктора LEGO Mindstorms NXT 2.0 (см.
рисунок 1.23).Каждый робот имеет два приводных колеса спереди и одно пассивноеколесо сзади; колеса приводятся в действие независимо друг от другадвумя сервомоторами. Каждый сервомотор оснащен датчиком угла поворотаи управляется с помощью входного напряжения. Все части фиксируютсяк контроллеру NXT Intelligent Brick на базе 32-битного микропроцессораAtmel AT91SAM7S256, соединение которого с исполнительными механизмамии внешним компьютером осуществляется через выходные разъемы и каналBluetooth соответственно.Рисунок 1.23 — Трехколесный робот на базе NXTСценарий экспериментов был заимствован из первой серии компьютерногомоделирования: один робот выступал в роли цели и случайно перемещалсяоператором.
Остальные три робота образовывали «охотничью группу».Их задачей было достигнуть цель и окружить ее на заданном расстоянии,равномерно распределиться вокруг и продолжить ее сопровождениес сохранением требуемого расстояния и внутригрупповой формации.Предполагаемыесенсорныевозможностироботов,описанныев параграфе 1.2, были эмулированы с помощью системы видеозренияSSL-Vision.
Доступные для «охотников» данные вычислялись на основаниикоординат роботов, которые определял сервер видеозрения. Он получалинформацию с веб-камеры, жестко зафиксированной над сценой,см. рисунок 1.24 а). Для определения ориентации роботов и созданияотличий между целью и охотниками сверху каждого робота крепилисьпять ярких цветных пятен, см. рисунок 1.24 б). Определение координаткаждого из роботов включало в себя фильтрацию изображения по яркостии кластеризацию оставшихся пикселей. После того как кластер достигал77размера робота, координаты его центра интерпретировались как координатыданного робота.
Эти координаты определялись относительно фиксированногополя зрения камеры. На основании полученных данных компьютер вычислялпредполагаемые показания датчика для каждого преследователя: расстояниедо цели, а также относительное положение и ориентацию других роботовиз его зоны учета. После чего в соответствии с алгоритмом из параграфа 1.2вырабатывалось управление угловой и линейной скоростью, котороепередавалось по каналу Bluetooth соответствующему роботу.а)б)Рисунок 1.24 — Изображение с веб-камеры и результат его распознованияПередачу управления на входные сигналы моторов обеспечиваливстроенныедрайверымикропроцессора,написанныенаязыкепрограммирования nxtOSEK.
По сути это преобразование представлялособой реализацию низкоуровневого регулятора, который следил за значениямисоответствующих скоростей и возвращал их назад в виде сигналов датчикаугла поворота. Все вычисления происходили в программном пакете MATLAB,необходимая информация передавалась с помощью дополнительногопрограммного обеспечения. При этом контроллер каждого робота связывалсяс общим стационарным компьютером по каналу Bluetooth; автономностькаждого робота эмулировалась программным обеспечением.На рисунке 1.25 показаны фрагменты видеозаписи типичногоэксперимента, в котором цель движется по прямой.
Кадры демонстрируюта) начальное расположение роботов, б) их расстановку в момент времени,когда с высокой точностью достигнуто требуемое расстояние до цели,и в) завершение окружения, когда преследователи почти равномерно78распределены вокруг цели. Далее это расстояние и равномерный характерраспределения сохранялись с точностью ≈ 5 %.а)б)в)Рисунок 1.25 — Окружение цели, двигающейся по прямойРисунок 1.26 имеет дело с более сложным экспериментом, в котором цельнеоднократно резко поворачивает, двигаясь по сильно изогнутой траектории,показанной пунктиром. Кадры а) и б) демонстрируют, что в момент плавногодвижения цели преследователи эффективно окружают ее и распределяютсявокруг почти равномерно.