<!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>TIME MINIMIZATION FOR RIDING A MOBILE ROBOT TO THE DESIRED TRAJECTORY</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Timur Lepikhin</string-name>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>Saint-Petersburg State University, St. Petersburg, Russia</string-name>
        </contrib>
      </contrib-group>
      <fpage>121</fpage>
      <lpage>126</lpage>
      <abstract>
        <p>В статье предлагается метод решения задачи минимизации времени перевода мобильного колесного робота из некоторого начального положения на заданную траекторию. Строится кинематическая и динамическая модель объекта управления. Рассматривается подход к формированию опорных точек, по которым ориентируется робот во время движения. Приводятся результаты имитационного моделирования с вариациями параметров.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Кинематическая модель
координатOXY. Отметим, что при равенстве угловых скоростеи на задних колесахr  l платформа
будет двигаться строго по прямои, перпендикулярнои к заднеи оси, в случае же если колеса
вращаются в противоположные стороны при одинаковых скоростяхr  l платформа
поворачивается на угол   . В общем случае, угловые скорости на правом и левом колесах
различны, за счет чего движение мобильнои платформы в горизонтальнои плоскости является
сложным.</p>
      <p>
        Рис.1. Структурная схема колесного робота
Приведенное ниже уравнение [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] описывает скорости мобильнои платформы при движении
без проскальзывания:
(1)
(2)
(3)
(4)
(5)
 r
    2r
  
 2R
r 
2R 
 2r   lr ,
y g  v sin  d cos
где r – радиус колеса, R – половина расстояния между задними колесами.
      </p>
      <p>Выражая из уравнении скорости центра масс скорости по координатам, получим:
xg  v cos  d sin
В матричнои форме уравнение (2) перепишется в виде (3):
 xg  cos  d sin </p>
      <p>  v 
qg   yg    sin d cos      A V .</p>
      <p>   0 1 
Тогда кинематическую модель движения колесного робота может быть представлена в
следующем виде:</p>
      <p> r cos  rd sin
 xg   2 2R
 yg    r sin  rd cos</p>
      <p>  2 2R
   r
 2R</p>
      <p>
r cos  rd sin 
2 2R 
2r sin  2rdR cos   lr  .</p>
      <p> r 
2R 
Динамическая модель</p>
      <p>Ускорение центра масс получается из уравнения векторного положения точки Gи
выглядит следующим образом:</p>
      <p>ag  v  d2  ei  i  d  v ei ,
масс. Тогда можно записать следующие выражения:</p>
      <p>F  mv  md2
С другои стороны выражения (6) могут быть представлены через вращательные моменты
1 R
ведущих колес  r , l в виде: F  r  r  l ,   </p>
      <p>r  r  l  . Тогда динамическая модель выглядит
следующим образом:
  J g  md 2   mdv </p>
      <p>B   M V  C ,
(6)
(7)
 1

где B   r
 R

 r</p>
      <p>1 
rR  , M   m0 J g 0md 2  , C  mdmvd2  ,   tlr  .</p>
      <p>r 
Планирование пути и синтез управляющего воздействия</p>
      <p>
        В качестве качественнои характеристики процесса управления выступает время [
        <xref ref-type="bibr" rid="ref2 ref3">2, 3</xref>
        ].
Следовательно, оптимизационную задачу можно поставить в виде (8):
      </p>
      <p>EP ds
T   v , (8)</p>
      <p>SP
где ds  x2u  y 2udu .</p>
      <p>
        Рис. 2. Планирование пути
Предлагаемыи в работе подход основан на параметризации пути [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], т.е. при стабилизации
робота на траектории вводится некоторое желаемое значение q0 xd , yd , d  , к которому стремится
робот и которое, соответственно, находится в допустимои окрестности траектории.
Введем следующую параметризацию траектории:
xr t   X r st 
yr t   Yr st  .
      </p>
      <p> t   st 
Выбор функции st зависит от следующих нюансов:

Если робот проскочит заданную позицию, ему придется возвращаться, что
существенно повлияет на время перехода;
 Если робот не дойдет до указанной позиции, то придется поворачивать и как
следствие такой же результат с превышением времени перехода.</p>
      <p>
        1
Поэтому выберем такую функцию us [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], что s  us . Выразим из функционала время
через us и получим следующее выражение: ts   u d . Тогда для конечнои позиции s finish
sstart
получаем время желаемого переходного процесса в виде (9):
s
      </p>
      <p>
        sstart
Собственно, задача состоит в выборе такои функции us , которая обеспечивает
минимальное значение функционала (9) [
        <xref ref-type="bibr" rid="ref2 ref3">2, 3</xref>
        ].
      </p>
      <p>Для решения поставленнои задачи, разобьем весь путь на промежуточные точки
sstart , s1,...,sn1, s finish как показано на рис. 3, т.е. имеем n+1 точек. Чем больше n, тем точнее
получается решение, но при этом требуется больше времени вычислении.
s  </p>
      <p>L
X s2  Y s2
– малая, больше – большая).</p>
      <p>Рис. 3. Разбиение траектории
большои кривизны выбирается шаг равныи s  </p>
      <p>Стоить также отметить, что в промежуточных позициях должны выполняться ограничения
на максимальную скорость перехода между точками. Кроме того, необходимо регулировать шаг
отрезка sk , sk1, поскольку кривизна текущего пути может быть различна. Ввиду сказанного, для
X 2 s  Y 2 s</p>
      <p>, а для малои соответственно
X s2  Y s2

. Малая кривизна характеризуется граничным соотношение L (меньше</p>
      <p>Рис.4. Сема компьютерной модели
Программная реализация</p>
      <p>Моделирование проводилось в подсистеме Simulink пакета MATLAB. При формировании
компьютернои модели принято, что желаемая траектория робота задается изначально набором
точек N на плоскости xk , yk . В качестве наиболее быстрого перехода между соседними позициями
можно выбрать прямолинеиное движение. Начальная позиция робота считается значительно
смещеннои относительно траектории. Общая схема системы представлена на рис. 4.
Рис. 5. График ошибки позиционирования относительно траектории
Рис. 6. Графики движения системы вдоль прямой при различных значениях параметров</p>
      <p>Рис. 7. Вариация параметров
Приведем краткое описание блоков модели:
 Блок "Targets" содержит набор точек xk , yk ;

блок "Make choice" отвечает за выбор актуальной точки для выхода на траекторию,
т.е. переход в точку s finish ;


блок "Trajectory" генерирует оптимальную траекторию;
блоки "Error" и "Control" вычисляют отклонение от траектории и управляющее
воздействие соответственно;
 блок "WMR" моделирует кинематику объекта управления.</p>
      <p>Рассмотрим пример применения реализуемои модели. Заданы две точки 0;0, 20;65 .
Оптимальныи путь находится по трем опорным точкам сплаина. Исходная позиция робота –
  
  5.42,   . Переходные процессы отработки ошибки, оптимальнои траектории представлены на
 6 
рис. 5, 6.</p>
      <p>Лучшее возможное время получилось равным 6.89 с. при учете ограничении на скорость.</p>
      <p>Рис. 8. Опорные точки и траектория движения
Заключение</p>
      <p>В работе показан подход к решению задачи перехода робота на заданную траекторию с
оптимизациеи по быстродеиствию путем планирования траектории с помощью опорных точек.
Проведено компьютерное моделирование кинематико-динамическои модели с реализациеи
алгоритма выбора опорных точек и подсчетом функционала качества. Результаты, полученные при
моделировании, подтверждают состоятельность метода.</p>
      <p>Тем не менее, есть возможность еще улучшить время переходного процесса за счет выбора
прямолинеиного движения. Однако в этих случаях возможны трудности, поскольку движение
робота осуществляется с максимальнои скоростью. Могут возникнуть ситуации, при которых робот
может опрокинуться. Поэтому в работе наиден, можно сказать, некии квазиоптимальныи вариант
решения, удовлетворяющии ограничениям, накладываемым на возможное движение робота.</p>
      <p>Литература</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Oriolo</surname>
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Luca</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vendittelli</surname>
            <given-names>M.</given-names>
          </string-name>
          <article-title>Control of Wheeled Mobile Robots: An Experimental Overview // IEEE Transactions on control systems technology</article-title>
          , VOL.
          <volume>10</volume>
          ,
          <issue>№</issue>
          . 6,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <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>
          ,
          <string-name>
            <surname>Eremeev</surname>
            <given-names>V.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Korovkin</surname>
            <given-names>M.V.</given-names>
          </string-name>
          <article-title>Modal parametric optimization of control laws with special structure</article-title>
          .
          <source>Source of the Document International Conference on Control, Automation and Systems</source>
          ,
          <year>2014</year>
          , pp.
          <fpage>1278</fpage>
          -
          <lpage>1283</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Sotnikova</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Veremey</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhabko</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          <article-title>Wheel angular velocity stabilization using rough encoder data</article-title>
          .
          <source>International Conference on Control, Automation and Systems</source>
          ,
          <year>2014</year>
          , pp.
          <fpage>1345</fpage>
          -
          <lpage>1350</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Kanayama</surname>
            <given-names>Y</given-names>
          </string-name>
          , et al.
          <article-title>A Stable Tracking Control Method for a Non-Holonomic Mobile Robot //</article-title>
          <source>Proc. IEEE/RSJ Int. Workshop Intelligent Robots and Systems</source>
          ,
          <year>1991</year>
          , P.
          <fpage>1236</fpage>
          -
          <lpage>1241</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>