ВЕСТНИК ПНИПУ
2017 Электротехника, информационные технологии, системы управления № 22 УДК 681.51:681.3
О.В. Гончаровский, Ю.Н. Хижняков
Пермский национальный исследовательский политехнический университет,
Пермь, Россия
НЕЧЕТКОЕ УПРАВЛЕНИЕ МОБИЛЬНЫМ РОБОТОМ
Разработкой методологии модельно-ориентированного проектирования занимался ряд компаний: например, компания 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.
Ключевые слова: методология, модельно-ориентированное проектирование, мобильный робот.
O.V. Goncharovsky, Yu.N. Hizhnyakov
Perm National Research Polytechnic University, Perm, Russian Federation FUZZY CONTROL OF THE MOBILE ROBOT
A number of companies were engaged in the development of the model-oriented design methodology: for example, MathWorks developed an integrated development environment on the MatLab/Simulink platform. This allowed to unite in the continuous workflow different stages of system development, such as the formation of specifications and system requirements, simulation modeling,
system development, debugging and testing. Agilent Technologies offers CAD SystemVue for automation of design at the level of ESL (electronic system-level, system level of electronics). SystemVue introduces innovations such as system architecture and the development of algorithms for the design of the physical layer of wireless and aerospace telecommunications systems, providing their implementation in the form of RF (radio frequency nodes), DSP and FPGA ASIC.
Esterel Technologies has created the SCADE development environment to provide end-to-end solutions for application developers of critical security embedded systems and consists of the following components: project creation, modeling and verification of projects, C and Ada code generation and interoperability support tools with third-party development tools.
The article presents a model for developing a mobile robot using the Fuzzy controller based on the SCADE Suite model. The stages of designing fuzzy control of the movement of the robot are discussed. First, the linguistic variables are determined: the distance between the robot and the wall ("Distance") and the angle of the steering ("Angle"). Secondly, linguistic rules are defined: if the distance is less than 50 cm, then turn to the left if the distance is close to 50 cm.
Then in this case you need to move straight. Then three values are determined for "Distance": far, close, close and three values for "Angle": left, right, right. SCADE-management model Fuzzy contains several operators for the stages of fuzzification and disadaptation. The fuzzificationFar, fuzzificationNear, and fuzzificationNorm operators implement the fuzzification process. The search for the center of gravity (deactivation process) is performed using two pairs of iterators: NomGravityFar/DenomGravityFar, NomGravityNear/DenomGravityNear.
Keywords: Methodology, model-based design, mobile robot.
Традиционная методология создания встроенных систем основана на модели фон Неймана - поочередное выполнение последовательности примитивных вычислений, представленных на традиционных императивных языках программирования (язык Си). Для критичных по безопасности встроенных систем проект должен быть детерминированным, безопасным, корректным и полным. Большинство же традиционных языков программирования привносят в проект недетерминистские, непредсказуемые и небезопасные операции [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 обеспечивает
проектировщика технологией однократного (без итерационного) ввода информации, которая позволяет выполнить реализацию требований без избыточности или неоднозначности и построить более точные программные модели. В библиотеке БСАЭБ содержится более трехсот дискретных операторов.
2. Разработка нечеткого регулятора мобильного робота. Применение нейронечеткой технологии для автоматизации подвижных объектов посвящен ряд работ [5-12]. Необходимо разработать модель нечеткого управления мобильного робота, показанного на рис. 1.
А
Рис. 1. Лингвистические переменные системы управления мобильного робота: й - расстояние до стенки; а - угол поворота передних колес
На первом шаге создания модели нечеткого регулятора необходимо определить лингвистические переменные:
- расстояние между стенкой и мобильным роботом;
- угол поворота передних колес мобильного робота.
Для нечеткого регулятора определим следующие продукционные правила:
- если расстояние до стены меньше 50 см, то следует повернуть направо;
- если расстояние до стены больше 50 см, то следует повернуть налево;
- если расстояние до стены около 50 см, то следует двигаться прямо.
В соответствии с этими продукционными правилами определим терм-множество входной лингвистической переменной «расстояние» из трех терм: «далеко» (больше 50 см), «около» (около 50 см, оптимальное расстояние) и «близко» (меньше 50 см). Для лингвистической выходной переменной «угол поворота» определим терм-множество из трех терм: «вправо» - для отрицательных углов, «прямо» - для прямолинейного движения и «влево» - для положительных углов.
На рис. 2, а приведено терм-множество входной лингвистической переменной «расстояние» (й = 0...80) и на рис. 2, б - терм-множество выходной лингвистической переменной «угол поворота», размещенное на интервале: - 5, 0, +5 угловых градусов.
а б
Рис. 2. Терм-множества лингвистических переменных мобильного робота: а - расстояние; б - угол поворота
Предположим, что дальномер показывает расстояние 26 см и синглетон синхронно переместился на эту величину. При этом активизировались терм «близко» со степенью принадлежности 0,8 и терм «около» со степенью принадлежности 0,2. Для реализации нечеткой композиции (свертки) применим алгоритм Мамдани.
Находим усеченные функции принадлежности выходной лингвистической переменной «угол поворота» [16]:
С*(а) = [а1 пС* (а)] ; С*(а) = [а2 пС* (а)],
где а1 и а2 - степени принадлежности; С1 (а), С2 (а) - функции принадлежности выходной лингвистической переменной «угол поворота»;
С* (а), С* (а) - усеченные функции принадлежности выходной лингвистической переменной «угол поворота».
Определяем нечеткую композицию (свертку) объединенных усеченных функций С* (а), С* (а) с помощью поточечного суммирования:
с*(а) = с; и С*.
Для определения центра тяжести (дефаззификация) фигуры а, б, с, д, лежащей на оси абсцисс, применим метод центроида для равномерного распределения фигуры (см. рис. 2, б) согласно формулам [16]:
Ё ^ 0,52 Ы (У)
_ _[_ . уЁ _ _I_
хц.т. 11 ' уц.т. 11 ,
z S z S
i i
где = f (xt )-Axi - площадь i-прямоугольника; f (x) - высота i-прямоугольника; Dxi - ширина i-прямоугольника (шаг дискретиза-
x — Х-
ции); Ахц.т.г - значение абсциссы ЦТ i-прямоугольника, Лхцт.; = —^—L •
Рулевое управление может принимать одиннадцать дискретных значений в интервале от -5 до +5. Шаг дискретизации поиска текущего значения центра тяжести равен 6 см при шаге дискретизации дальномера 1 см.
3. Разработка программы управления мобильным роботом в SCADE. Рассмотрим реализацию модели этого нечеткого контроллера в SCADE Suite [13, 14, 15] • Процесс фаззификации представим с помощью трех операторов fuzzificationFar, fuzzificationNear и fuzzifica-tionNorm, соответствующих лингвистической переменной «расстояние»: «далеко», «близко» и «около». Каждый из операторов ставит в соответствие значения расстояния dist для оснований терм (рис. 3).
Нахождение центра тяжести реализуются с помощью пар итераторов NomGravityFar/DenomGravityFar, NomGravityNear/DenomGravityNear. Каждая пара соответствует паре итераторов числитель/знаменатель выражения для вычисления «центра тяжести» соответствующих активизированной фигуре лингвистической переменной «угол поворота».
а
б
в
Рис. 3. Модели терм-множества фаззификатора: а - fuzzificationFar; б -fuzzificationNear; в) fuzzificationNorm
В процессе фаззификации значений входа dist задействованы операторы fuzzificationFar, fuzzificationNear и fuzzificationNorm и три конструктора массива. В процессе дефаззификации задействованы четыре итератора foldi, сгруппированные попарно. На выходе angle они формируют индексы значений угла поворота от -5 до +5 угловых градусов.
Выводы
1. Модельно-ориентированное проектирование позволяет строить наглядные модели мобильных роботов для изучения их свойств и получить безопасный Си-код нечеткого регулятора для микроконтроллера мобильного робота.
2. Разработан нечеткий регулятор мобильного робота и внедрен в конкретной конструкции (полотер).
3. На разработанном прототипе мобильного робота и его программном обеспечении можно в дальнейшем расширять его возможности.
Библиографический список
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 с.
References
1. Demenkov N.P. Model'no orientirovannoe proektirovanie sistem upravleniia [Model oriented design management system], available at: http://is.ifmo.ru/misc2/_matlab_simulink.pdf (accessed 04 March 2017).
2. An Introduction to Safety Critical Systems: A document by IPL Information Processing Ltd, available at: http://www.ipl.com/pdf/p0826.pdf (accessed 04 March 2017).
3. Introduction to data flow simulation agilent technologies, available at: http:// edoc s.soco. agilent. com/display/ sv201001/introduction+to+data+flow+si-mulation/ (accessed 04 March 2017).
4. Esterel Technologies, Inc, available at: http://www.esterel-technologies.com/products (accessed 04 March 2017).
5. Mamdani, E.H. Application of fuzzy algorithms for the control of a simple dynamic plant. Proc IEEE, 1974, pp. 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, pp. 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, pp. 3-10.
10. Takagi T., Sugeno M. Fuzzy identification of systems and applications to modeling and control. IEEE Trans. On SMC 15, 1985, pp. 116-132. (Industrial application of fuzzy logic control).
11. Tsukamoto Y. An approach to fuzzy reasoning method. North-Holland, Amsterdam, 1979, pp. 137-149.
12. Kruglov V.V., Golunov R.Iu. Nechetkaia logika i iskusstvennye neironnye seti [Fuzzy logic and artificial neuron networks]. Moscow: Fizmatlit, 2001. 224 p.
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. Khizhniakov Iu.N. Nechetkoe, neironnoe i gibridnoe upravlenie [Indistinct, neural and hybrid management]. Perm': Permskii natsional'nyi issledovatel'skii politekhnicheskii universitet, 2013. 303 p.
Сведения об авторах
Гончаровский Олег Владленович (Пермь, Россия) - кандидат технических наук, доцент кафедры автоматики и телемеханики Пермского национального исследовательского политехнического университета (614990, Пермь, Комсомольский пр., 29, e-mail: 35911953@mail.ru).
Хижняков Юрий Николаевич (Пермь, Россия) - доктор технических наук, профессор кафедры автоматики и телемеханики Пермского национального исследовательского политехнического университета (614990, Пермь, Комсомольский пр., 29, е-mail: luda@at.pstu.ru).
About the authors
Goncharovsky Oleg Vladlenovich (Perm, Russian Federation) is a Ph.D. in Technical Sciences, Associate Professor of the Department of Automation and Telemechanics Perm National Research Polytechnic University (614990, Perm, 29, Komsomolsky pr., e-mail: 35911953@mail.ru).
Hizhnyakov Yury Nikolaevich (Perm, Russian Federation) is a Doctor of Technical Sciences, Professor at the Department of Automation and Telemechanics Perm National Research Polytechnic University (614990, Perm, 29, Komsomolsky pr., е-mail: luda@at.pstu.ru).
Получено 28.04.2017