<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Севостьянов Р.А., Шаяхметова Л.В.</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Saint Petersburg University</institution>
          ,
          <addr-line>Saint-Petersburg</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <fpage>127</fpage>
      <lpage>134</lpage>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Описание модели
Для создания управляющеи тяги используется импеллер с бесколлекторным
электрическим мотором и регулятором оборотов, подключенным к отдельному 11.1В
аккумулятору. Для обеспечения управления поворотом судна тяговыи импеллер установлен на
сервоприводе и может вращаться.</p>
      <p>
        В качестве системы управления используется контроллер ТРИК [
        <xref ref-type="bibr" rid="ref1 ref10">3</xref>
        ], предназначенныи
специально для упрощения создания различных кибер-физических систем. Контроллер основан на
ARM9-процессоре с тактовои частотои 375МГц и 256Мб ОЗУ. В качестве операционнои системы
используется Linux. Кроме этого, ТРИК оснащен отдельным процессором для цифровои обработки
сигналов, а также периферииным процессором для работы с внешними устроиствами. На
контроллере имеется 19 сигнальных портов общего назначения, 4 вывода на силовые моторы
612В, а также 3-х осевые гироскоп и акселерометр. Возможна коммуникация по беспроводнои сети
стандарта WiFi или Bluetooth. Программирование контроллера возможно при помощи различных
языков: C++, C#, F#, Java, JavaScript, QtScript, а также специального визуального языка
программирования.
      </p>
      <p>
        Несмотря на то, что контроллер ТРИК имеет встроенные гироскоп и акселерометр, на борту
судна установлен внешнии модуль MPU-9250 [
        <xref ref-type="bibr" rid="ref11 ref11 ref2 ref2">4</xref>
        ], совмещающии в себе 3-х осевые гироскоп,
акселерометр и магнитометр. Основным преимуществом этого модуля является наличие
специального процессора, обрабатывающего показания с внутренних датчиков и выполняющего
калибровку, а также фильтрацию данных без нагрузки на внешнии контроллер. К тому же
стабильное вычисление угла рысканья без использования магнитометра является чрезвычаино
труднои задачеи.
      </p>
      <p>Кроме этого, на модели судна установлена веб-камера для обеспечения трансляции
видеопотока в ручном режиме управления.
Автоматизация проведения экспериментов</p>
      <p>Для автоматизации процесса исследования динамики модели СВП реализована удаленная
программная система управления в виде клиент-сервернои архитектуры, в которои контроллер
ТРИК выполняет управляющие команды от клиентского программного обеспечения удаленного
компьютера и передает обратно данные, считанные с бортовых датчиков, а также транслирует
видео-поток с веб-камеры. Коммуникация происходит по беспроводнои связи (WiFi-сеть) через
протокол TCP.</p>
      <p>
        Программное обеспечение контроллера ТРИК представляет собои консольное приложение,
реализованное на языке C++ с использованием инструментария Qt [
        <xref ref-type="bibr" rid="ref12 ref12 ref3 ref3">5</xref>
        ], а также библиотеки для
работы с портами ввода-вывода контроллера.
Программное обеспечение удаленного компьютера представляет собои оконное
приложение, реализованное на языке C++ с использованием инструментария Qt. В системе можно
выделить две основных части (рис.3): область задания параметров 1 и область вывода
графиков/трансляции видео 2. Для вывода графиков используется специализированная
библиотека QCustomPlot [
        <xref ref-type="bibr" rid="ref13 ref13 ref4 ref4">6</xref>
        ], а для трансляции видео – библиотека для решения задач
компьютерного зрения OpenCV [
        <xref ref-type="bibr" rid="ref14 ref14 ref5 ref5">7</xref>
        ]. Область задания параметров обеспечивает работу в трех
режимах: ручное управление, задание постоянных значении и автоматическое управление с
обратнои связью. В режиме ручного управления движение модели регулируется перемещением
ползунков, ответственных за тягу и угол поворота тягового импеллера. Положение ползунков
также можно менять курсорными клавишами клавиатуры.
      </p>
      <p>
        В режиме управления с заданием постоянных значении можно ввести точные желаемые
величины для тяги и угла поворота тягового импеллера и анализировать графики выбранных
переменных состояния системы в установившемся режиме (рис. 4).
Наконец, управление в автоматическом режиме осуществляется путем задания
коэффициентов пропорционально-интегрально-дифференциального (ПИД [
        <xref ref-type="bibr" rid="ref15 ref6">8</xref>
        ]) регулятора,
которыи будет описан в следующем параграфе. При этом также можно анализировать графики
переменных состояния, которые строятся в режиме реального времени (рис. 5).
      </p>
      <p>Общими параметрами для любого режима служат уровень мощности электромоторов
нагнетающих импеллеров, а также время эксперимента. Задание нулевого значения для времени
эквивалентно бесконечности, т.е. эксперимент будет длиться до тех пор, пока не будет нажата
кнопка «STOP!». Между режимами можно переключаться без остановки эксперимента. Для всех
режимов существует возможность записать данные использованных параметров для дальнеишего
использования. Также в системе предусмотрены функции для сохранения графиков в виде
картинок (в частности, графики для следующего раздела были сформированы при помощи этои
функции), а также полученных данных с датчиков в текстовои форме для анализа.
Стабилизация курсового угла</p>
      <p>Продемонстрируем применение системы на примере задачи стабилизации курсового угла
СВП. Для начала исследуем динамику курсового угла при заданнои постояннои скорости вращения
тягового импеллера и нулевом угле поворота сервопривода. Такое движение можно задать в
системе при помощи режима управления с заданием постоянных значении. Ввиду того, что
импеллер расположен не строго на оси центра масс, а также из-за влияния аэродинамического
сопротивления, СВП совершает поворотное движение, как показано на рис.6.</p>
      <p>Рис.6. Динамика курсового угла при постоянной скорости вращения тягового импеллера и нулевом угле
поворота сервопривода
Очевидно, требуется применение автоматического управления с обратнои связью. В
простеишем варианте при отсутствии математическои модели объекта управления задачу можно
решить при помощи ПИД-регулятора, имеющего вид
t
u( t )  K pe( t )  K i  e(  )d  Kd e( t ),
0
где u( t ) – управляющии сигнал, e( t ) – расхождение между текущим и заданным значениями
регулируемои переменнои (в рассматриваемои задаче регулируемои переменнои является
курсовои угол, а заданным значением будем считать значение курсового угла в начальныи момент
времени), K p ,K i ,Kd – постоянные коэффициенты усиления пропорциональнои, интегральнои и</p>
      <p>u( t )  K pe( t ).</p>
      <p>Попробуем в качестве коэффициента пропорциональности принять K p  2 . Как видно из
рис.7, такое управление не приводит к желаемому результату, курсовои угол расходится.
Увеличение коэффициента пропорциональности в два раза только ухудшает ситуацию, увеличивая
количество колебании системы (рис.8).
Рис.7. Динамика курсового угла при автоматическом управлении с П-регулятором при K p  2
Рис.8. Динамика курсового угла при автоматическом управлении с П-регулятором при K p  4
Так как процесс неустоичив при применении пропорционального регулятора по курсовому
углу, добавление интегральнои или дифференциальнои составляющих так же не сможет улучшить
ситуацию. Попробуем исходить из следующеи предпосылки. Момент вращения, появляющиися на
корпусе СВП при повороте тягового импеллера, влияет на курсовои угол косвенно через угловую
скорость. С учетом этого добавим в уравнение выходного сигнала слагаемое, пропорциональное
значению угловои скорости судна. Тогда управляющии сигнал примет вид</p>
      <p>u* ( t )  K pe( t )  K p y .</p>
      <p>В качестве коэффициента пропорциональности примем K p  1 . Как можно заметить из
рис.9, такая добавка позволяет стабилизировать курсовои угол. Некоторые отклонения от
заданного значения можно объяснить неточностью отработки командного сигнала,
неравномерностью поверхности пола, а также влиянием боковых потоков воздуха, образующихся
из-за крена судна при изменении угла поворота тягового импеллера.
Рис.9. Динамика курсового угла при автоматическом управлении с П-регулятором с добавлением значения
угловой скорости судна
Таким образом, в процессе проведения нескольких экспериментов, параметры которых
легко настраиваются при помощи описаннои выше системы, было получено удовлетворительное
решение поставленнои задачи.
Заключение</p>
      <p>Представленныи в статье программныи комплекс является удобным средством для
автоматизации работы с моделью СВП, что было продемонстрировано на примере задачи подбора
коэффициентов ПИД-регулятора для задачи стабилизации курсового угла. Он может быть полезен
не только для проведения научных исследовании, но и как инструмент для обучения студентов
различным аспектам теории автоматического управления. Как показывает практика, работа с
реальными динамическими объектами увеличивает мотивацию и интерес обучающихся,
обеспечивая более глубокое понимание учебного материала. Наличие удобного инструмента для
проведения экспериментов еще больше упрощает процесс обучения.</p>
      <p>
        В качестве доработок системы можно выделить следующие. В первую очередь
представляется необходимым добавление модуля для проведения идентификации
математическои модели СВП. Это позволит обеспечить применение более сложных законов
управления с учетом ограничении и требовании оптимальности, таких как линеино-квадратичные
[
        <xref ref-type="bibr" rid="ref16">9</xref>
        ] и многоцелевые [
        <xref ref-type="bibr" rid="ref17 ref7">10</xref>
        ] регуляторы. Инструмент для автоматического синтеза различных
регуляторов в зависимости от требовании также имеет смысл добавить в качестве модуля системы.
      </p>
      <p>Еще одним важным дополнением может стать модуль для автоматизированного
проведения серии экспериментов с заранее заданными параметрами. Такои модуль позволит
избежать потери времени на ожидание конца текущего эксперимента для запуска следующего, если
параметры не зависят от результатов текущего.</p>
      <p>Кроме этого, необходимо расширить функциональность системы для работы с различными
видами СВП, отличающимися количеством тяговых импеллеров, поворотными механизмами, а
также использующими разделение воздушнои подушки на секции для создания
восстанавливающих моментов по крену и дифференту. Такое обобщение позволит, в том числе,
сравнивать эффективность работы различных систем актуаторов СВП и исследовать их
преимущества и недостатки.</p>
      <p>References</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>3. ТРИК. URL: http://www.trikset.com/.</mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>4. MPU-9250 | InvenSense. URL: https://www.invensense.com/products/motion-tracking/9-axis/mpu-9250/.</mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          5. Qt |
          <article-title>Cross-platform software development for embedded &amp; desktop</article-title>
          . URL: https://www.qt.io/.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Qt</given-names>
            <surname>Plotting</surname>
          </string-name>
          <article-title>Widget QCustomPlot</article-title>
          . URL: http://qcustomplot.com/.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>7. OpenCV. URL: http://opencv.org/.</mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          8.
          <string-name>
            <surname>Классический</surname>
          </string-name>
          ПИД-регулятор. URL: http://www.bookasutp.ru/Chapter5_2.aspx.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          10.
          <string-name>
            <surname>Веремей</surname>
            <given-names>Е.И.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Сотникова</surname>
            <given-names>М</given-names>
          </string-name>
          .В. «
          <article-title>Многоцелевая структура законов управления морскими подвижными объектами» // Труды XII Всероссийского совещания по проблемам управления</article-title>
          .
          <article-title>- 2011.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Lukomskiy</given-names>
            <surname>Yu</surname>
          </string-name>
          .A.,
          <string-name>
            <surname>Chugunov</surname>
            <given-names>V.S.</given-names>
          </string-name>
          <article-title>Sistemy upravleniya morskimi podvizhnymi ob"ektami</article-title>
          . - L.: «Sudostroenie»,
          <year>1988</year>
          . -
          <fpage>272s</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Voytkunskiy</given-names>
            <surname>Ya</surname>
          </string-name>
          .I.
          <article-title>Spravochnik po teorii korablya: v trekh tomakh</article-title>
          . Tom 3.
          <string-name>
            <surname>Upravlyaemost</surname>
          </string-name>
          <article-title>' vodoizmeshchayushchikh sudov. Gidrodinamika sudov s dinamicheskimi printsipami podderzhaniya</article-title>
          . - L.: «Sudostroenie»,
          <year>1985</year>
          . -
          <fpage>544</fpage>
          s.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>3. TRIK. URL: http://www.trikset.com/.</mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>4. MPU-9250 | InvenSense. URL: https://www.invensense.com/products/motion-tracking/9-axis/mpu-9250/.</mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          5. Qt |
          <article-title>Cross-platform software development for embedded &amp; desktop</article-title>
          . URL: https://www.qt.io/.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Qt</given-names>
            <surname>Plotting</surname>
          </string-name>
          <article-title>Widget QCustomPlot</article-title>
          . URL: http://qcustomplot.com/.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>7. OpenCV. URL: http://opencv.org/.</mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          8.
          <string-name>
            <surname>Klassicheskiy</surname>
          </string-name>
          PID-regulyator. URL: http://www.bookasutp.ru/Chapter5_2.aspx.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          9.
          <string-name>
            <surname>Veremey</surname>
            <given-names>E.I.</given-names>
          </string-name>
          <article-title>Lineynye sistemy s obratnoy svyaz'yu: Uchebnoe posobie</article-title>
          . - SPb: «Lan'»,
          <year>2013</year>
          . -
          <fpage>448</fpage>
          s.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          10.
          <string-name>
            <surname>Veremey</surname>
            <given-names>E.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sotnikova</surname>
            <given-names>M.V.</given-names>
          </string-name>
          «
          <article-title>Mnogotselevaya struktura zakonov upravleniya morskimi podvizhnymi ob"ektami» // Trudy XII Vserossiyskogo soveshchaniya po problemam upravleniya</article-title>
          .
          <article-title>- 2011.</article-title>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>