НЕЧЕТКОЕ УПРАВЛЕНИЕ МОБИЛЬНЫМ РОБОТОМ

Аннотация


Разработкой методологии модельно-ориентированного проектирования занимался ряд компаний: например, компания MathWorks разработала интегрированную среду разработки на платформе MatLab/Simulink. Это позволило объединить в непрерывный рабочий процесс разные этапы разработки системы, такие как формирование спецификаций и системных требований, имитационное моделирование, разработку системы, отладку и тестирование. Компания Agilent Technologies предлагает САПР SystemVue, предназначенный для автоматизации проектирования на уровне ESL (electronicsystem-level, системный уровень электроники). SystemVue вводит такие новшества, как архитектура системы и разработка алгоритмов для проектирование физического уровня беспроводных и аэрокосмических телекоммуникационных систем, обеспечивая их реализации в виде RF (радиочастотные узлы), DSP и FPGA/ASIC. Компания Esterel Technologies создала среду разработки SCADE для получения законченных решений разработчиками прикладного программного обеспечения критических по безопасности встроенных систем и состоит из следующих компонентов: создание проектов, моделирование и верификация проектов, генерация кода на Си и Ada и средства поддержки функциональной совместимости с инструментами разработки других производителей. В статье приведена модель разработки мобильного робота с применением контроллера Fuzzy на основе модели SCADE Suite. Обсуждаются этапы проектирования нечеткого контроля передвижения робота. Во-первых, определяются лингвистические переменные: расстояние между роботом и стеной («Расстояние») и угол рулевого управления («Угол»). Во-вторых, определяются лингвистические правила: если расстояние менее 50 см, то следует повернуть налево, если расстояние близко 50 см, то в этом случае нужно двигаться прямо. Затем определяются три значения для переменной «Расстояние»: далеко, близко и три значения для «Угол»: левый, прямой, правый. SCADE-модель управления Fuzzy содержит несколько операторов для этапов фаззификации и дезадаптации. Операторы fuzzificationFar, fuzzificationNear и fuzzificationNorm реализуют процесс fuzzification. Поиск центра тяжести (процесс дезактивации) осуществляется с использованием двух пар итераторов: NomGravityFar/DenomGravityFar, NomGravityNear DenomGravityNear.

Полный текст

Традиционная методология создания встроенных систем основана на модели фон Неймана - поочередное выполнение последовательности примитивных вычислений, представленных на традиционных императивных языках программирования (язык Си). Для критичных по безопасности встроенных систем проект должен быть детерминированным, безопасным, корректным и полным. Большинство же традиционных языков программирования привносят в проект недетерминистские, непредсказуемые и небезопасные операции [1]. Для устранения возможностей непредсказуемого поведения были разработаны синхронные языки программирования. Эти языки используют ограниченные конструкции традиционных языков для исключения недетерминизма и небезопасных операций. Главным образом синхронные языки поддерживают только временное ограничение выполнения операций. Они работают в соответствии с концепцией глобальной длительности временного интервала, означающей, что в данном интервале все могут выполнять свою требуемую задачу. Модельно-ориентированное проектирование является другой методологией создания встроенных систем. Изначально оно использовалось для систем комбинированного управления, цифровой обработки сигналов и телекоммуникационных систем. Сейчас модельно-ориентированное проектирование используется для управления движением, управления промышленным оборудованием, в аэрокосмических и автомобильных приложениях. Ключевая идея подхода состоит в построении высокоуровневой визуальной модели системы и ее отладки с последующей автоматической генерацией безопасного Си-кода, который затем компилируется в объектный код целевого микроконтроллера системы управления. Целью данной статьи является изучение возможностей SCADEsuite для разработки и отладки модели адаптивного нечеткого регулятора мобильного робота. 1. Модельно-ориентированное проектирование систем. Парадигма модельно-ориентированного проектирования систем означает, что помимо языков той или иной предметный области используются точные и практические описания важных сущностей в терминах объекта и процесса проектирования. Программная или аппаратная реализация (код на том или ином языке программирования) генерируется автоматически только после детального изучения поведения модели (верификации модели). Существуют различные среды разработки встроенных систем, основанные на методологии модельно-ориентированного проектирования. Компания MathWorks [2] разработала интегрированную среду разработки на платформе MatLab/Simulink. Это позволило объединить в непрерывный рабочий процесс разные этапы разработки системы, такие как формирование спецификаций и системных требований, имитационное моделирование, разработку системы, отладку и тестирование. Модельно-ориентированное проектирование помогает координировать работу различных групп разработчиков и позволяет выявлять ошибки на ранних стадиях, значительно сокращая время разработки и повышая эффективность проектирования. Автоматическая генерация кода обеспечивает генерацию ANSI/ISО c кода из моделей Simulink для применения в конечном продукте и ускорения имитации (для микропроцессоров, DSP), а также быстрого создания прототипов и тестирования в аппаратном режиме. Тестирование и верификация осуществляются на основе технических требований (прослеживаются требования в коде), осуществляется непрерывное тестирование в процессе имитационного моделирования, создания прототипов, программ, на уровне микроконтроллера и аппаратном уровне. Компания Agilent Technologies предлагает САПР SystemVue предназначенный для автоматизации проектирования на уровне ESL (electronic system-level, системный уровень электроники) [3]. SystemVue вводит такие новшества, как архитектура системы и разработка алгоритмов для проектирования физического уровня беспроводных и аэрокосмических телекоммуникационных систем, обеспечивая их реализацию в виде RF (радиочастотные узлы), DSP и FPGA/ASIC. SystemVue заменяет такие среды разработки, как проектирование цифровых устройств общего назначения, проектирование аналоговых узлов и выполнение математических расчетов. SystemVue (называют просто RF) сокращает разработку и время верификации физического уровня вдвое. Ключевые достоинства SystemVue: - являются лучшей в классе средств разработки RF узлов для работы в основной полосе, позволяет виртуализацию проектирования; - обеспечивает более высокую интеграцию с тестированием, ускоряет степень завершенности разработки и рационализирует последовательность модельно-ориентированного проектирования - от архитектуры до верификации; - для групп разработчиков, объединенных в сеть, максимизирует повторное использование результатов проектирования и капитализирует совместную деятельность. Компания Esterel Technologies [4] создала среду разработки SCADE для получения законченных решений разработчиками прикладного программного обеспечения критических по безопасности встроенных систем. Она состоит из следующих компонентов. Комплект программ SCADE Suite - это основанный на модели набор инструментов (tool-chain) для разработки прикладного программного обеспечения систем управления, интеграционную роль в которой играют собственный (native) язык SCADE и его формальная нотация. SCADE Suite содержит компоненты для создания проектов, моделирования и верификация проектов, генерации кода на Си и Ada и средства поддержки функциональной совместимости с инструментами разработки других производителей. Унифицированная «Методология разработки моделей» в SCADE позволяет объединять алгоритмические описания, сделанные с помощью потоков данных, с описаниями, сделанными с помощью конечных автоматов, на любом уровне иерархии проекта. SCADE обеспечивает проектировщика технологией однократного (без итерационного) ввода информации, которая позволяет выполнить реализацию требований без избыточности или неоднозначности и построить более точные программные модели. В библиотеке SCADE содержится более трехсот дискретных операторов. 2. Разработка нечеткого регулятора мобильного робота. Применение нейронечеткой технологии для автоматизации подвижных объектов посвящен ряд работ [5-12]. Необходимо разработать модель нечеткого управления мобильного робота, показанного на рис. 1. d a Рис. 1. Лингвистические переменные системы управления мобильного робота: d - расстояние до стенки; а - угол поворота передних колес На первом шаге создания модели нечеткого регулятора необходимо определить лингвистические переменные: - расстояние между стенкой и мобильным роботом; - угол поворота передних колес мобильного робота. Для нечеткого регулятора определим следующие продукционные правила: - если расстояние до стены меньше 50 см, то следует повернуть направо; - если расстояние до стены больше 50 см, то следует повернуть налево; - если расстояние до стены около 50 см, то следует двигаться прямо. В соответствии с этими продукционными правилами определим терм-множество входной лингвистической переменной «расстояние» из трех терм: «далеко» (больше 50 см), «около» (около 50 см, оптимальное расстояние) и «близко» (меньше 50 см). Для лингвистической выходной переменной «угол поворота» определим терм-множество из трех терм: «вправо» - для отрицательных углов, «прямо» - для прямолинейного движения и «влево» - для положительных углов. На рис. 2, а приведено терм-множество входной лингвистической переменной «расстояние» (d = 0…80) и на рис. 2, б - терм-множество выходной лингвистической переменной «угол поворота», размещенное на интервале: - 5, 0, +5 угловых градусов. а б Рис. 2. Терм-множества лингвистических переменных мобильного робота: а - расстояние; б - угол поворота Предположим, что дальномер показывает расстояние 26 см и синглетон синхронно переместился на эту величину. При этом активизировались терм «близко» со степенью принадлежности 0,8 и терм «около» со степенью принадлежности 0,2. Для реализации нечеткой композиции (свертки) применим алгоритм Мамдани. Находим усеченные функции принадлежности выходной лингвистической переменной «угол поворота» [16]: ; , где и - степени принадлежности; , - функции принадлежности выходной лингвистической переменной «угол поворота»; , - усеченные функции принадлежности выходной лингвистической переменной «угол поворота». Определяем нечеткую композицию (свертку) объединенных усеченных функций , с помощью поточечного суммирования: . Для определения центра тяжести (дефаззификация) фигуры а, б, с, д, лежащей на оси абсцисс, применим метод центроида для равномерного распределения фигуры (см. рис. 2, б) согласно формулам [16]: ; , где - площадь i-прямоугольника; - высота i-прямоугольника; - ширина i-прямоугольника (шаг дискретизации); Dxц.т.i - значение абсциссы ЦТ i-прямоугольника, . Рулевое управление может принимать одиннадцать дискретных значений в интервале от -5 до +5. Шаг дискретизации поиска текущего значения центра тяжести равен 6 см при шаге дискретизации дальномера 1 см. 3. Разработка программы управления мобильным роботом в SCADE. Рассмотрим реализацию модели этого нечеткого контроллера в SCADE Suite [13, 14, 15]. Процесс фаззификации представим с помощью трех операторов fuzzificationFar, fuzzificationNear и fuzzificationNorm, соответствующих лингвистической переменной «расстояние»: «далеко», «близко» и «около». Каждый из операторов ставит в соответствие значения расстояния dist для оснований терм (рис. 3). Нахождение центра тяжести реализуются с помощью пар итераторов NomGravityFar/DenomGravityFar, NomGravityNear/DenomGravityNear. Каждая пара соответствует паре итераторов числитель/знаменатель выражения для вычисления «центра тяжести» соответствующих активизированной фигуре лингвистической переменной «угол поворота». а б в Рис. 3. Модели терм-множества фаззификатора: а - fuzzificationFar; б - fuzzificationNear; в) fuzzificationNorm В процессе фаззификации значений входа dist задействованы операторы fuzzificationFar, fuzzificationNear и fuzzificationNorm и три конструктора массива. В процессе дефаззификации задействованы четыре итератора foldi, сгруппированные попарно. На выходе angle они формируют индексы значений угла поворота от -5 до +5 угловых градусов. Выводы 1. Модельно-ориентированное проектирование позволяет строить наглядные модели мобильных роботов для изучения их свойств и получить безопасный Си-код нечеткого регулятора для микроконтроллера мобильного робота. 2. Разработан нечеткий регулятор мобильного робота и внедрен в конкретной конструкции (полотер). 3. На разработанном прототипе мобильного робота и его программном обеспечении можно в дальнейшем расширять его возможности.

Об авторах

О. В Гончаровский

Пермский национальный исследовательский политехнический университет

Email: 35911953@mail.ru

Ю. Н Хижняков

Пермский национальный исследовательский политехнический университет

Email: luda@at.pstu.ru

Список литературы

  1. Деменков Н.П. Модельно ориентированное проектирование систем управления [Электронный ресурс]. - URL: http://is.ifmo.ru/misc2/ _matlab_simulink.pdf (дата обращения: 04.03.2017).
  2. An Introduction to Safety Critical Systems: A document by IPL Information Processing Ltd [Электронный ресурс]. - URL: http://www.ipl.com/pdf/p0826.pdf (дата обращения: 04.03.2017).
  3. Introduction to data flow simulation agilent technologies [Электронный ресурс]. - URL: http://edocs.soco.agilent.com/display/sv201001/ introduction+to+data+flow+simulation/ (дата обращения: 04.03.2017).
  4. Esterel Technologies, Inc. - URL: http://www.esterel-technologies.com/products (дата обращения: 04.03.2017).
  5. Mamdani E.H. Application of fuzzy algorithms for the control of a simple dynamic plant // Proc IEEE. - 1974. - P. 121-159.
  6. Kickert W., Van Nauta Lemke H. Application of a Fuzzy Controller in a Warm Water Plant // Automatica. - Pergamon Press, 1976. - Vol. 12. - P. 301-308.
  7. Siegel D., Hansman J. Development of an Autoland System for General Aviation Aircraft. MIT International Center for Air Transportation (ICAT), Department of Aeronautics & Astronautics, Massachusetts Institute of Technology. - Cambridge, MA 02139 USA, Rep. No. ICAT-2011-09, 2011.
  8. Mamdani E.H., Assilian S. An experiment in linguistic synthesis with a fuzzy logic controller // International Journal of Man-Machine Studies. - 1975.
  9. Larsen P.M. Industrial applications of fuzzy logic control // International Journal of Man-Machine Studies. - 1980. - Vol. 12, Iss. 1. - P. 3-10.
  10. Takagi T., Sugeno M. Fuzzy identification of systems and applications to modeling and control // IEEE Trans. On SMC 15. - 1985. - P. 116-132. (Industrial application of fuzzy logic control).
  11. Tsukamoto Y. An approach to fuzzy reasoning method. - North-Holland, Amsterdam, 1979. - P. 137-149.
  12. Круглов В.В., Голунов Р.Ю. Нечеткая логика и искусственные нейронные сети. - М.: Физматлит, 2001. - 224 с.
  13. Scade Language Reference Manual - Copyright © Esterel Technologies SA. - Published March 2012. (ScadeLanguageReference_SC-LRM-63.pdf).
  14. Scade Language Tutorial - Copyright © Esterel Technologies SA. - Published March 2012. (LanguageTutorial_SC-LT-63.pdf).
  15. SCADE Suite User Manual - Copyright © Esterel Technologies SA. - Published March 2012. (UserManual_SC-UM-63.pdf).
  16. Хижняков Ю.Н. Нечеткое, нейронное и гибридное управление: учеб. пособие. - Пермь: Изд-во Перм. нац. исслед. политехн. ун-та, 2013. - 303 с.

Статистика

Просмотры

Аннотация - 27

PDF (Russian) - 4

Ссылки

  • Ссылки не определены.

© Гончаровский О.В., Хижняков Ю.Н., 2017

Creative Commons License
Эта статья доступна по лицензии Creative Commons Attribution-NonCommercial 4.0 International License.

Данный сайт использует cookie-файлы

Продолжая использовать наш сайт, вы даете согласие на обработку файлов cookie, которые обеспечивают правильную работу сайта.

О куки-файлах