АВТОМАТИЧЕСКАЯ СИСТЕМА УПРАВЛЕНИЯ ДВИЖЕНИЕМ МОБИЛЬНОГО ОБЪЕКТА И СПОСОБ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ ДВИЖЕНИЕМ МОБИЛЬНОГО ОБЪЕКТА
AUTOMATIC SYSTEM FOR CONTROLLING MOVEMENT OF MOBILE OBJECT AND METHOD FOR AUTOMATIC CONTROL OF MOVEMENT OF MOBILE OBJECT

Изобретение относится к области управления и может быть использовано для автоматического управления движением автотранспорта, движущихся роботов, для посадки самолетов, в системах причаливания судов и пр., а также может быть применено для выполнения различных манипуляционных операций.
Известна система управления (СУ), реализованная в устройстве «Мобильный робот», включающая систему технического зрения (СТЗ), компьютер, контроллер [Патент РФ №2210492, МПК B25J 5/00]. СТЗ содержит размещенную вертикально телекамеру для создания изображения потолка помещения с закрепленным на нем базовым знаком, который служит ориентиром при определении местоположения робота, линейный лазер для излучения горизонтального светового пучка по направлению движения робота, телекамеру с фильтром, расположенную над лазером, для распознавания только линейного светового пучка, отраженного от препятствия. Компьютер содержит две видеоплаты, входы которых соединены с телекамерами, а выходы - с контроллером. Основной задачей данной СУ является перемещение робота в помещении в заданное место с объездом препятствий.
Однако известная система управления позволяет только перемещать объект по помещению в заданное место, ориентируясь на базовый знак на потолке.
Известно автономное адаптивное устройство управления мобильным объектом [патент РФ на полезную модель N 78456, МПК B25J 5/00], принятое за прототип. Устройство функционально содержит три части: нейропроцессорную, коммутационную и контроллерную, включающую контроллер с нечеткой логикой, причем выходы датчиков, установленных на мобильном объекте, и входы и выходы приводов исполнительных механизмов соединены с контроллером с нечеткой логикой.
Однако известное устройство оперирует данными, поступающими от небольшого количества датчиков одного типа, и может быть применено только в условиях, когда в окружении мобильного объекта остальные объекты достаточно статичны, т.е. внешние условия не изменяются.
Известен способ управления антропоморфным роботом, включающий предварительное обучение нейронной сети системы управления оператором на основе собственного опыта и наблюдаемого результата действий [заявка на выдачу патента РФ на изобретение N 2007107468, МПК B25J 13/08]. Нейронную сеть обучают на выполнение задач, связанных с захватом и удержанием роботом объектов различной формы и веса, для чего формируют конечную выборку изображений взаимного расположения робота и объекта и соответствующих им значений углов поворотов корпуса, манипуляторов и кистей робота, причем в качестве входных сигналов для нейронной сети используют полученные от системы технического зрения изображения расположения объекта, находящегося в зоне захвата, относительно корпуса и манипуляторов робота, а в качестве выходных сигналов используют угол α поворота корпуса относительно горизонтальной оси симметрии робота, угол β наклона корпуса по отношению к вертикальной оси, угол γ между плечевой частью манипулятора и корпусом и угол δ между плечевой и локтевой частями манипуляторов.
Однако в данном способе нейронную сеть обучают для выполнения одного класса задач, и для других задач она не может быть перестроена.
Известен способ управления, реализованный в автономном устройстве управления мобильным объектом, принятый за прототип [патент РФ на полезную модель N 78456, МПК B25J 5/00]. Способ включает предварительное программирование блока с нечеткой логикой, который на основе правил нечетких продукций и на основе графиков функций принадлежности вырабатывает рекомендуемые значения углов поворота и направления движения для каждой ситуации в процессе движения мобильного объекта, обучение нейронной сети на выполнение задач, связанных с конкретной ситуацией, сравнение рекомендуемых значений, выработанных блоком с нечеткой логикой, и фактических значений, полученных в процессе обучения нейронной сети, уточнение весовых коэффициентов нейронной сети и корректировку графиков функций принадлежности в блоке с нечеткой логикой.
Однако в известном способе осуществляется уточнение только вида графиков функций принадлежности, но невозможно изменять вид базы нечетких правил для данной ситуации, а также использовать различные базы правил для различных ситуаций. Также нет принципиальной возможности улучшения (настройки) вида базы правил для одной ситуации в ходе обучения и отсутствует механизм порождения новых баз правил для новых ситуаций.
При создании изобретения решалась задача расширения функциональных возможностей автоматической системы управления и достижения автоматического управления движением мобильного объекта в разных ситуациях без участия человека.
Поставленная задача решена за счет того, что в известной автоматической системе управления движением мобильного объекта, содержащей блок обработки цифровых параметрических сигналов, установленный на мобильном объекте, блок с нечеткой логикой, включающий базу правил нечетких продукций и систему нечеткого вывода, блок с реализованной на нем программно или аппаратно нейронной сетью, корректирующей вид графиков функций принадлежности, и коммутирующий контроллер, согласно изобретению дополнительно система управления содержит блок обработки видеосигналов, вход которого соединен с камерами системы технического зрения, установленными на мобильном объекте, блок анализа и кластеризации, входы которого соединены с блоком обработки цифровых параметрических сигналов и блоком обработки видеосигналов, блок с программно или аппаратно реализованным первым генетическим алгоритмом, настраивающим базы правил нечетких продукций, вход и выход которого связаны с блоком с нечеткой логикой, блок с программно или аппаратно реализованным вторым генетическим алгоритмом, настраивающим нейронные сети, вход и выход которого связаны с блоком с реализованными на нем нейронными сетями, а вход и выход блока с нейронными сетями связан с блоком с нечеткой логикой.
Также поставленная задача решена за счет того, что предложен способ автоматического управления движением мобильного объекта, включающий создание исходных баз правил нечетких продукций для множества сценариев развития ситуаций, предварительное обучение предложенной автоматической системы управления на выполнение задач, связанных с движением мобильного объекта в условиях изменяющейся окружающей среды, и выработку управляющих сигналов для исполнительных органов мобильного объекта, при этом предварительное обучение системы управления осуществляют с применением первого генетического алгоритма, который вырабатывает наилучший вариант базы правил нечетких продукций для каждого сценария развития ситуации, и второго генетического алгоритма, который для каждого сценария развития ситуации вырабатывает наилучший вариант нейронной сети для каждой выходной лингвистической переменной, причем данные с выработанным наилучшим вариантом базы правил поступают в блок с нечеткой логикой и заменяют исходный вариант базы правил для данного сценария, данные с выработанным наилучшим вариантом нейронной сети для каждой выходной лингвистической переменной поступают в блок с нейронными сетями и заменяют исходную нейронную сеть для данной выходной лингвистической переменной для данного сценария, а выработку управляющих сигналов для исполнительных органов в зависимости от ситуации блок с нечеткой логикой осуществляет на основе измененных баз правил и откорректированных графиков функций принадлежности.
Изобретение иллюстрируется чертежами, где на фиг.1 показана принципиальная схема системы управления, где пунктирными стрелками показана работа системы на этапе обучения; на фиг.2 (а, б) - пример графиков нечетких переменных, составляющих входную и выходную лингвистические переменные для одной из ситуаций; на фиг.3 - начальная популяция особей для ГА1, работающего с вариантами баз правил; на фиг.4 - общая схема работы генетических алгоритмов ГА1 и ГА2; на фиг.5 - исходный вид нейронных сетей для корректировки графиков функций принадлежности выходных лингвистических переменных.
Автоматическая система управления движением мобильного объекта, например автомобилем, содержит блок обработки цифровых параметрических сигналов 1, на вход которого поступают данные факторов первой группы 2, например, от лазерных дальномеров, датчиков ускорения, датчиков угла поворота, датчиков скорости, датчиков угла азимута и наклона, датчика коэффициента сцепления и др., блок 3 обработки видеосигналов факторов второй группы 4 - изображений, поступающих на его вход с камер системы технического зрения (СТЗ), установленных на автомобиле. Обработанные сигналы с выходов блоков 1, 3 поступают на вход блока анализа и создания кластеров ситуаций 5, выход которого соединен со входом блока 6 баз нечетких правил и системы нечеткого вывода (СНВ). Также система управления содержит блок 7 с реализованным на нем программно или аппаратно первым генетическим алгоритмом (ГА1), настраивающим базы правил блока 6, блок 8 с реализованными на нем программно или аппаратно нейронными сетями (НС), корректирующими описание функций принадлежностей нечетких переменных, входящих в лингвистические переменные, применяемые в базах правил, и блок 9 с реализованным на нем программно или аппаратно вторым генетическим алгоритмом (ГА2), настраивающим нейронные сети блока 8, при этом вход и выход блока 7 соединены с блоком 6, вход и выход блока 9 соединены с блоком 8, вход и выход которого соединен с блоком 6. Вход и выход блока 6 базы правил также соединены с блоком контроллеров 10, соединенным с приводами 11 исполнительных механизмов мобильного объекта (рулевой механизм, педаль газа, педаль тормоза). Обученная система управления может быть установлена как на автомобиле, так и вне его. В этом случае сигналы с датчиков 2 и СТЗ 4 и сигналы на приводы 11 исполнительных механизмов передаются по радиоканалам.
Система управления функционирует следующим образом.
На этапе 1 осуществляют загрузку и настройку блоков 3, 5, 6, 7, 8, 9. В блок 3 загружают программу, обрабатывающую видеопоток в виде изображений всех выявленных в окрестности рядом с автомобилем других движущихся и стационарных объектов и выявляющую их размеры, скорость и направления движения. В блок 5 загружают программу, анализирующую обработанные сигналы с блоков 1, 3 и создающую множество кластеров, например, с помощью метода нечеткой кластеризации или нейронной сетью с конкурирующим слоем. Каждый кластер будет отнесен к различной ситуации, например проезд перекрестка, обгон, перестроение и пр. Близкие по входящим данным ситуации относятся в один кластер.
В блок 6 загружают программу с исходными базами нечетких правил, содержащими по одному варианту базы правил для каждого сценария развития ситуаций (предварительно предположенное исходя из анализа правил дорожного движения некоторое начальное количество кластеров n), которые могут возникнуть при движении автомобиля в городе при плотном потоке других транспортных средств и иных участников движения. Например, один вариант для ситуации «проезд перекрестка со светофором» может иметь вид (Вариант 1):
правило 1: Если «расстояние до перекрестка» далеко, то «скорость автомобиля» большая;
правило 2: Если «расстояние до перекрестка» близко, то «скорость автомобиля» малая;
правило 3: Если «расстояние до перекрестка» очень близко, то «скорость автомобиля» очень малая.
На фиг.2а приведен пример графиков, описывающих нечеткие переменные (термы) «очень близко», «близко», «недалеко», «далеко», «очень далеко», составляющие входную лингвистическую переменную «Расстояние до перекрестка», которая используется в базе правил для ситуации «проезд перекрестка со светофором». На фиг.2б (сплошная линия) аналогичным образом представлены термы, образующие выходную лингвистическую переменную «Скорость автомобиля» для этой же ситуации. Также в блок 6 загружают программу с системой нечеткого вывода (СНВ) на базе нечетких продукций, работающих по методу Мамдани.
В блок 7 загружают программу с первым генетическим алгоритмом (ГА1), способным генерировать популяции вариантов баз нечетких правил, а затем в этих популяциях находить наилучший вариант.
ij
В блок 8 загружают программу с исходными искусственными нейронными сетями (НС). Все они имеют первоначально одинаковую структуру, например такую, которая представлена на фиг.5, и одинаковые значения весов W, равные некоторым случайным малым числам.
Количество таких нейронных сетей равно произведению предварительно оцененного количества кластеров n на количество выходных лингвистических переменных в каждом кластере.
В блок 9 загружают программу со вторым генетическим алгоритмом (ГА2), способным генерировать популяции вариантов нейронных сетей, а затем в этих популяциях находить наилучший вариант.
На этапе 2 производят обучение системы управления с помощью опытного водителя. Водитель, руководствуясь собственным опытом и наблюдаемым результатом действий, а также показаниями датчиков, производит управление автомобилем в ходе движения по многим различным маршрутам в городе с плотным потоком транспорта. При этом он в ходе управления многократно выполняет действия, которые можно отнести к той или иной ситуации (кластеру с номером от 1 до n), например обгон, перестроение, поворот, остановка, увеличение или снижение скорости и т.д. Классификация этих действий основывается на факторах первой группы: показаниях приборов спидометра, тахометра и на факторах второй группы: визуально воспринимаемой обстановке на проезжей части в окрестностях своего автомобиля - наличие других транспортных средств и участников движения, их расположения и расстояния относительно транспортного средства, правильности визуальной оценки направленности курса автомобиля относительно неподвижных элементов полосы движения (столбов, разметки, фасадов домов, ограждений), а также визуально воспринимаемой динамики изменения этих факторов. При этом водитель сопоставляет факторы первой и второй группы и на оценке их комбинации принимает решение об изменении параметров управления - усилении/ослаблении давления на педаль акселерометра (газа), усилении/ослаблении давления на педаль тормоза, изменении угла поворота руля и смене направления движения «вперед-назад» (при автоматической коробке передач). Производимые водителем действия с приводами 11 исполнительных механизмов в виде цифровых значений поступают в блок контроллеров 10 и далее в блок 6.
Одновременно обработанные сигналы с датчиков параметрических сигналов и обработанный видеопоток с блоков 1 и 3 поступают в блок анализа 5, где осуществляется классификация признаков ситуации и из множества кластеров выбирается конкретная ситуация, например «проезд перекрестка со светофором». Выходные сигналы с блока 5 поступают в блок 6, где на основе правил нечетких продукций и графиков функций принадлежностей система нечеткого вывода (СНВ) вырабатывают рекомендуемые значения угла поворота руля, скорости и др. для приводов исполнительных механизмов и далее эти рекомендуемые значения сравниваются со значениями, выработанными при ручном управлении водителем. Разницу этих значений, взятую по модулю, называют текущей ошибкой обучения и обозначают буквой ε.
Исходный вид базы нечетких правил для ситуации «проезд перекрестка со светофором» с блока 6 поступает в блок 7 с первым генетическим алгоритмом ГА1, который начинает генерировать начальную популяцию из нескольких десятков или сотен особей, где за особь принят вариант базы нечетких правил. Эта варианты могут отличаться друг от друга по трем параметрам: а), б) и в).
а) Применены различные нечеткие переменные в одинаковых правилах.
Например, Вариант 2 может иметь вид:
правило 1: Если «расстояние до перекрестка» далеко, то «скорость автомобиля» очень большая;
правило 2: Если «расстояние до перекрестка» близко, то «скорость автомобиля» большая;
правило 3: Если «расстояние до перекрестка» очень близко, то «скорость автомобиля» средняя;
и отличаться от Варианта 1 только значениями термов в заключениях продукций.
б) Используется разное количество правил.
Например, Вариант i+1 может иметь вид:
правило 1: Если «расстояние до перекрестка» далеко, то «скорость автомобиля» большая;
правило 2: Если «расстояние до перекрестка» близко, то «скорость автомобиля» малая;
правило 3: Если «расстояние до перекрестка» очень близко, то «скорость автомобиля» очень малая;
правило 4: Если «расстояние до перекрестка» недалеко, то «скорость автомобиля» малая;
и отличаться от Варианта 1 значениями термов в заключениях продукций и количеством правил в базе.
в) Структура правил различная, например:
правило 1: Если «расстояние до перекрестка» далеко и «сигнал светофора» красный, то «скорость автомобиля» большая и «руль» прямо.
Пример такой начальной популяции вариантов базы нечетких правил представлен на фиг.3. Здесь варианты с номерами от 1-го до i-гo отличаются по пункту а), варианты с номерами от i+1-го до k-го - по пункту б), а с номерами от k+1-го до р-го - по пункту в). Далее запускается механизм генетического поиска. Целью поиска при этом является улучшение структуры базы правил, т.е. изменение по вариантам а), б) и в), причем критерием выбора будет минимальное значение разницы (например, 0,1%) между значением выходной лингвистической переменной, в данном случае скорости, рекомендуемой СНВ, и выходной лингвистической переменной (скорость), полученной при ручном управлении, т.е. текущей ошибки обучения ε. Поиск наилучшего варианта базы правил проходит в несколько циклов, когда в каждом новом цикле создаются новые поколения за счет применения операторов генетического поиска, где (см. фиг.4) присутствуют:
- оператор ранжирования, т.е. выстраивание особей по порядку;
- оператор кроссинговера, т.е. образование новых дочерних особей путем скрещивания родительских особей;
- оператор мутации, т.е. внесение случайных изменений в гены дочерних особей;
- оператор редукции, т.е. удаление из популяции части особей с минимальными значениями целевой функции.
При этом, если нужный критерий сразу не будет достигнут, то цикл многократно повторяется до получения заданного критерия, т.е. наилучшего варианта базы правил.
Найденный наилучший вариант базы правил для данной ситуации из блока 7 поступает в блок 6, при этом структура исходной базы нечетких правил заменяется на полученный с помощью ГА1 наилучший вариант.
Далее с блока 6 в блок 8 поступает сигнал, по которому с блока 8 в блок 9 со вторым генетическим алгоритмом поступает исходная нейронная сеть с определенной структурой и начальными малыми значениями весов, например сеть прямого распространения сигналов (см. фиг.5). По аналогии с ГА1 в блоке 9 начинается генерация начальной популяции особей, где за особь принят вариант структуры нейронной сети, и запускается механизм генетического поиска. Целью поиска при этом является улучшение структуры и настройка весов НС, а критерием выбора - уменьшение текущей ошибки обучения ε. После многократных циклов найденный с помощью ГА2 наилучший вариант НС с блока 9 поступает в блок 8 и заменяет исходную НС для одной из выходных лингвистических переменных, применяемых в базе правил для этого кластера. Так происходит для всех лингвистических переменных в этом кластере. Конечный наилучший набор НС для ситуации «проезд перекрестка со светофором» выдает блоку 6 новые данные, корректирующие значения функций принадлежности выходных лингвистических переменных, одна из которых принимает вид, например, см. график пунктирной линией на фиг.2б.
В ходе этапа 2 будут многократно повторены различные ситуации, которые блок 5 отнесет либо к новым (создав новый кластер), либо к уже существующим кластерам. В первом случае это приведет к работе по вышеописанной схеме. При этом количество кластеров может превысить предварительно предположенное исходя из анализа правил дорожного движения начальное количество кластеров n и достичь, например, значения m. При этом для каждого такого кластера в диапазоне от n до m в качестве начальных вариантов баз правил в блоке 6 и начальных вариантов нейронных сетей в блоке 8 будут использованы ближайшие аналоги, применяемые в качестве начальных для самого близкого кластера, т.е. для кластера, у которого ситуация наиболее близка по входящим данным. Во втором случае это приведет к тому, что ситуация для данного кластера один или несколько раз повторяется с несколько отличающимися значениями входных параметров (совокупностью сигналов от датчиков блоков 1 и 3). ГА1 и ГА2 при этом уже запускаться не будут, т.е. будут использованы один раз полученные наилучшие варианты базы правил и нейронной сети. Будут лишь каждый раз уточняться значения функций принадлежности для всех выходных лингвистических переменных, фигурирующих в этом варианте базы правил.
На этапе 3, т.е. в автоматическом режиме (без участия человека), блок 6, опираясь на откорректированные базы нечетких правил для всех ситуаций и уточненные значения функций принадлежности, начинает выдавать для текущей ситуации результаты управления в блок 10, откуда эти управляющие воздействия затем поступают на приводы исполнительных механизмов 11. При завершении одной ситуации и переходе к другой блок 6 начинает использовать соответствующую ей базу правил нечетких продукций.