4.3.3. Реализация навыка отслеживания с помощью обучаемого нейросетевого визуального серворегулятора
а). Постановка задачи обучения управляющего регулятора
При использовании визуального сервоуправления предполагается, что управляющий сигнал вычисляется непосредственно по сигналу рассогласования между текущим и программно заданным сигналами на выходе системы технического зрения (рис.4.11).
В общем виде, выражение для вычисления управляющего сигнала может быть записано как где— текущий сигнал на выходе системы машинного зрения; у d—программно заданное значение сигнала у; е— сигнал рассогласования (ошибки); и u ∈— управляющий сигнал. Функция задает закон управ
ления Fuв визуальном сервоконтуре.
В нашей задаче обучения управляющего регулятора закон управления Fuи программно заданное значение сигнала ydявляются неизвестными. Тем не менее, представляется возможным обучить нейронную сеть таким образом, чтобы она аппроксимировала некую функцию, неявно содержащую и закон
управления Fuи программный сигнал yd.Обученный нейросетевой регулятор будет тогда обеспечивать нелинейное отображение между векторными пространствами входного у и управляющего и сигналов, аппроксимирующее требуемый закон управления. Следует отметить, что время в функции Fu(у) отсутствует — предполагается, что каждому входному сигналу у функцией
Fu(y)ставится в соответствие управляющий сигнал и.
Таким образом, в задаче разработки управляющего регулятора способного обучиться навыку отслеживания направляющей следует решить несколько подзадач.
Во-первых, система машинного зрения должна быть способна обнаружить направляющую линию на полу и описать ее небольшим числом независимых параметров, которые будут формировать вектор входных сигналов для нейросетевого регулятора. Во-вторых, следует определить процедуру сбора обучающего набора данных. И, наконец, следует определить структуру нейросетевого регулятора и алгоритм его обучения на тренировочном наборе данных.б) Методика обучения контроллера мобильного робота навыку управления
Сбор обучающего набора данных и его предварительная обработка
Обнаруженная системой машинного зрения направляющая описывается следующим вектором, который используется в качестве входного сигнала для управляющего движением робота регулятора
Управляющий регулятор включает в себя нейронную сеть, которая неявно содержит управляющее уравнение регулятора и должна быть обучена этому уравнению во время тренировочной фазы. Тренировочная фаза включает в себя сбор обучающего набора данных, его предварительную обработку и собственно алгоритм обучения нейронной сети.
Сбор обучающего набора данных производится человеком-оператором, который обучает робот навыку отслеживания путем ручного управления роботом при движении вдоль нескольких контрольных траекторий. Во время этой операции непосредственно происходит передача навыка отслеживания направляющей линии на полу от оператора к контроллеру робота. Собранный обучающий набор данных неявно содержит закон управления регулятора в виде соответствующих друг другу наборов входныхи выходных
векторов. Эти наборы векторов автоматически записываются во время ручного управления роботом вдоль обучающих траекторий. Обучающие траектории должны включать в себя все возможные ситуации, с которыми роботу придется столкнуться во время отслеживания направляющей линии: левый и правый повороты, компенсация отклонения от следования линии, траектории сближения с направляющей.
Во время управления роботом при отслеживанииобучающих траекторий важно держать направляющую в поле зрения видеокамеры робота.
После сбора обучающего набора данных необходимо выполнить его обработку, предваряющую обучение нейросетевого регулятора. Целью предварительной обработки является уменьшение размера обучающего набора за счет удаления избыточных данных для сокращения времени обучения нейронной сети регулятора. На первом этапе из обучающего набора удаляются соседние одинаковые пары входных и выходных векторов {y,∙,u,}, которые могут присутствовать в наборе из-за небольшого времени квантования системы управления.
Для дальнейшего уменьшения размера обучающего набора данных используется простой метод группировки (кластеризации). Алгоритм группировки классифицирует пару входных и выходных векторов {y,∙,u^} в группу к согласно следующему критерию
где— евклидова норма разности векторов;- максимальное зна
чение нормы; п — число пар в исходном обучающем наборе; N- число групп. Если условие (4.30) не выполняется, то создается новая группа векторов. Для каждой &-той группы вычисляется представительная пара
Обучение нейронной сети
Перед обучением нейронной сети обучающий набор данных нормализуется так, чтобы все значения входных и выходных векторов для нейронной сети лежали в диапазоне [-1, 1]. Для определения наиболее эффективного метода обучения нейронной сети была проведена предварительная серия численных экспериментов с использованием различных методов обучения нейронных сетей.
Были проведены эксперименты с использованием: стандартного и адаптивного методов обратного распространения ошибки, метода с переменной скоростью обучения, метода Левенберга-Марквардта. Из перечисленных методов наименьшее число итераций процесса обучения было получено при использовании метода Левенберга-Марквардта, однако, время затрачиваемое на одну итерацию было примерно на два порядка больше других методов из-за большого размера обучающего набора данных. Наиболее оптимальным по затратам
вычислительного времени оказался метод адаптивного обратного распространения ошибки (resilient backpropagation),который и был выбран в качестве метода обучения нейронной сети для контроллера робота.
в) Эксперимент
Для проверки предложенного метода обучения управляющего контроллера робота навыку отслеживания направляющей линии был проведен эксперимент с использованием мобильного робота. Для проведения эксперимента был использован имеющийся в лаборатории искусственного интеллекта факультета электроники и электротехники университета г. Оита (Япония) прототип интеллектуального сервисного мобильного робота, изображенный на рис.4.10. Данный робот приводится в движение двумя ведущими колесами, с приводами от электродвигателей постоянного тока с широтно-импульсным управлением. Бортовая управляющая система робота включает в себя два персональных компьютера, которые могут обмениваться данными по сети Ethernet. Пройденный ведущими колесами путь и их скорость вращения измеряются круговыми импульсными датчиками положения, связанными с осью вращения каждого из колес. Мобильный робот оборудован двумя видеокамерами с возможностью поворота вокруг вертикальной и горизонтальной оси. Для считывания видеоизображений в память одного из управляющих компьютеров используются стандартные карты покадрового захвата видеоизображений. Габаритные размеры робота составляют 1.3?0.44?0.5 метров (высотах ширинах длина). Видеокамеры установлены на высоте hc = 1,06 м над полом под углом φc = 45° к его плоскости, что обеспечивает перспективное изображение пространства перед роботом с «мертвым пространством» 0,56 м перед его передним бампером.
Управляющий вектор нейросетевого регулятора включает в себя угловые скорости вращения левого ωbи правого ®Rведущих колес
В регуляторе для управления отслеживающим движением робота использовалась многослойная нейронная сеть с входным, выходным и двумя скрытыми слоями. Входной слой содержал 3 нейрона, выходной — 2 нейрона (по числу компонент входного и управляющего векторов), каждый из двух скрытых слоев содержал 30 нейронов. В нейронах скрытых слоев использовались логарифмические сигмоидальные активационные функции, в выходном слое использовалась тангенциальная сигмоидальная активационная функция [308].
Рис.4.13. Обучающие траектории.
Обучающий набор данных был собран при помощи обучения робота человеком-оператором на наборе обучающих траекторий, включающих левые и правые траектории корректировки ошибки отслеживания направляющей и сближения с ней (рис.4.13). Размер обучающего набора данных после предварительной обработки указанным выше алгоритмом составил N= 302 пар векторов. Время обучения нейронной сети составило 8 минут.
Результаты эксперимента показаны на рис.4.14 и 4.15. Во время эксперимента, робот, после обучения его навыку управления по направляющей линии отслеживал имеющую вид вопросительного знака цветную направляющую длиной 9 м на полу в помещении лаборатории. На рис.4.14 показаны траектории, полученные при отслеживании роботом направляющей в обоих направлениях, на рис.4.15 изображен график абсолютной ошибки в отслеживании направляющей в ходе проведенного эксперимента. На рис.4.14, 4.15 сравниваются результаты, полученные с использованием обученного регулятора, с результатами, полученными для программно заданного регулятора с фиксированным законом управления
Рис.4.14.
Траектории, полученные в ходе эксперимента.
Рис.4.15. Абсолютная ошибка отслеживания траектории.
По приведенным на рис.4.14, 4.15 данным можно отметить, что разница в точности отслеживания направляющей между обученным навыку контроллером и контроллером с программно-заданным законом управления достаточно мала. Также можно отметить, что обученный на наборе типовых траекторий нейросетевой регулятор хорошо справился с отслеживанием траекторий, на которых он непосредственно не обучался. Таким образом, можно сделать вывод, что регулятор обучился именно навыку отслеживания направляющих линий, а не отслеживанию какой-либо отдельной направляющей линии. Следует заметить, что ошибка отслеживания для графика на рис.4.15 измерялась для точки между ведущими колесами. Таким образом, значительная ее величина для обоих регуляторов объясняется как результат наличия непросматриваемого каме
рой «мертвого пространства» перед роботом.
В данном разделе представлена методика обучения контроллера мобильного робота простому навигационному навыку отслеживания направляющей линии на полу. Данная методика может быть использована в качестве одной из методик на которых могут основываться самообучаемые системы управления интеллектуальных роботов. Методика позволяет системе управления приобрести навык визуального отслеживания без какой-либо предварительной информации о законе управления. Входной сигнал для системы управления вырабатывается системой машинного зрения с использованием предложенного метода обработки изображения. Обучение навыку происходит с помощью человека-оператора, который собирает обучающий набор данных. После предварительной обработки этот набор данных используется для обучения нейронной сети, являющейся центральным элементом регулятора.
Приведенные экспериментальные результаты показывают, что обученный нейросетевой регулятор способен использовать приобретенный навык для отслеживания направляющей произвольной формы. Однако следует заметить, что стабильность приведенного алгоритма обучения в большой степени зависит от качества данных в обучающем наборе, а следовательно от выбора обучающих траекторий.
4.4.