Известия РАН. Теория и системы управления, 2023, № 3, стр. 156-176

УПРАВЛЕНИЕ МОБИЛЬНЫМ РОБОТОТЕХНИЧЕСКИМ КОМПЛЕКСОМ ДЛЯ ОБСЛУЖИВАНИЯ ВЕРТИКАЛЬНЫХ ПОВЕРХНОСТЕЙ

М. Алхаддад a*, В. Г. Чащухин b**

a МФТИ
Москва, Россия

b ИПМех РАН
Москва, Россия

* E-mail: alkhaddad.m@phystech.edu
** E-mail: ketlk@mail.ru

Поступила в редакцию 18.11.2022
После доработки 24.11.2022
Принята к публикации 05.12.2022

Полный текст (PDF)

Аннотация

Рассмотрен робототехнический комплекс, состоящий из транспортно-манипуляционной платформы и установленного на ней робота вертикального перемещения. Платформа предназначена для перемещения робота по горизонтальной поверхности и его установки на вертикальную поверхность. Описывается практическая реализация алгоритма управления платформой, позволяющего автоматизировать процесс установки робота на вертикальную поверхность.

Введение. Данное исследование мотивировано разработкой в лаборатории робототехники и мехатроники Института проблем механики им. А.Ю. Ишлинского Российской академии наук мобильного робота для обслуживания вертикальных поверхностей. Робот удерживается на вертикальной поверхности за счет разрежения воздуха в полости, отделяющей днище робота от поверхности перемещения. На рис. 1 изображен лабораторный образец робота и показаны его основные компоненты. Робот состоит из жесткого основания 1 круглой формы, на котором крепятся два колеса 2, управляемые независимыми электроприводами 3, и центробежный вакуумный насос 4. Оси вращения колес расположены на одной прямой, проходящей через центр основания. Колеса снабжены шинами, материал которых подбирается так, чтобы обеспечить максимально высокий коэффициент трения колес о поверхность перемещения. Под днищем основания имеется полость 5, в которой создается разрежение воздуха. Благодаря этому робот избыточным внешним атмосферным давлением прижимается к поверхности перемещения с силой, которая позволяет создать трение между колесами и поверхностью, достаточное для удержания робота на поверхности при заблокированных колесах и его движения при включенных приводах. Исследованиям динамических свойств робота, определению состава сенсоров и разработке алгоритмов управления посвящены работы [13].

Рис. 1.

Робот вертикального перемещения (a) и его основные компоненты (б)

Для описанного робота создана транспортно-манипуляционная платформа, которая предназначена для доставки робота к месту использования и приведения его в рабочее положение на обслуживаемой вертикальной поверхности. Робототехнический комплекс изображен на рис. 2 и состоит из робота вертикального перемещения 1, специализированного манипулятора 2 и колесной транспортной платформы 3. Робот вертикального перемещения крепится к выходному звену манипулятора посредством специализированного крепления. В транспортном положении манипулятор находится в сложенном виде. Перед подходом платформы к обслуживаемой вертикальной поверхности, поворотом выходного звена робот приводится в положение, в котором днище и колеса обращены к поверхности. Затем робот в автоматическом режиме подводится к поверхности и включается вакуумный насос. Робот фиксируется на вертикальной поверхности, освобождается от закрепления на манипуляторе и начинает функционировать независимо от платформы. В статье рассматривается реализация управления движением транспортно-манипуляционной платформы с учетом изменения или неопределенности набора параметров. Управление системой разделяется на управление движением манипулятора и движением колесной платформы.

Рис. 2.

Транспортно-манипуляционное устройство

Для управления движением манипулятора используется способ, предложенный в [4]. Цель управления – приведение выходного звена манипулятора в вертикальное положение с достаточной степенью точности с учетом изменений в параметрах системы, таких, как масса и момент инерции выходного звена (эти параметры зависят от объекта манипулирования, которым нагружен манипулятор, и от способа его крепления к манипулятору). Данная операция не требует высокого быстродействия, но требует надежности. Поэтому предлагается простой способ управления, обеспечивающий прохождение системы через фиксированную последовательность промежуточных положений со стабилизацией в этих положениях.

Адаптивные алгоритмы управления движением транспортной платформы предложены в [5]. Адаптивные алгоритмы отслеживания траектории движения при наличии параметрических неопределенностей, базирующиеся на кинематических уравнениях, представлены в [69]. Робастные адаптивные регуляторы, такие, как адаптивные регуляторы скользящего режима, предназначенные для компенсации непределенностей в конструкции системы и внешних возмущений, исследованы в [10]. Адаптивные нейронные сети, преимущество которых в том, что они не требуют динамической модели робота, обсуждаются в [11]. В [12] для мобильного робота разработана и реализована эталонная модель адаптивного управления, включающая известные и неизвестные динамические параметры. Использование этой модели позволяет увеличить скорость адаптации. Большинство существующих адаптивных регуляторов учитывают неопределенность геометрических или инерционных параметров мобильного робота и не учитывают неидеальности исполнительных механизмов, которые могут существенно влиять на точность выполнения роботом программных движений.

В [5] предлагается схема адаптивного управления для отслеживания программных движений робота, которая учитывает параметричекие неопределенности в конструкции робота, а также неидеальности исполнительных механизмов. Работа алгоритма управления продемонстрирована с помощью компьютерного моделирования [5]. В данной статье обсуждается реализация алгоритмов управления движением манипулятора и мобильной колесной платформы, представленных в [4, 5] соответственно. Алгоритмы управления реализованы с использованием микроконтроллера и датчиков: гироскопа, оптоэлектронных датчиков скорости вращения, лазерных и фотоэлектрических датчиков расстояния. Реализация управления платформой разделена на несколько этапов.

1. Платформа по заранее спланированной траектории подъезжает к обслуживаемой поверхности на дистанцию (1–2 м), с которой начинается надежная работа лазерных датчиков расстояния.

2. Платформа поворачивается на месте так, чтобы выходное звено манипулятора с роботом вертикального перемещения было ориентировано на вертикальную поверхность.

3. Манипулятор приводит робот в вертикальное положение из транспортного.

4. Платформа приближается к поверхности в автоматическом режиме, при этом корректируется ориентация робота относительно поверхности на основе показания лазерных датчиков расстояния.

5. При приближении платформы к вертикальной поверхности на расстояние около 0.005 м фотоэлектрический датчик подает сигнал о том, что робот находится достаточно близко к поверхности, запускается прижимное устройство робота вертикального перемещения, он освобождается от зацепов манипулятора и начинает движение вдоль поверхности.

1. Управление движением манипуляционного механизма. Схема манипулятора изображена на рис. 3. Манипулятор состоит из приводного звена $AB$ с изменяемой длиной и двух пассивных звеньев $AC$ и $BC$, длины которых неизменны; звено $AC$ является выходным для манипулятора, к нему прикрепляется объект манипулирования (в данном случае робот вертикального перемещения). Звенья соединены цилиндрическими шарнирами, оси которых горизонтальны и параллельны друг другу. Шарнир $A$ жестко связан с платформой, шарнир $B$ также располагается на платформе, но не связан с ней жестко, его ось может перемещаться относительно платформы при изменении длины приводного звена.

Рис. 3.

Схема специализированного манипулятора

В [4] предложен простой способ управления углом $\varphi $ между звеньями $AC$ и $AB$. Этот способ обеспечивает прохождение системы через фиксированную последовательность промежуточных положений со стабилизацией системы в этих положениях. Промежуточные положения расположены достаточно близко друг к другу, чтобы управление переходом между двумя последовательными положениями можно было рассчитать на основе линейного уравнения движения вблизи положения равновесия, к которому система приводится на следующем этапе. В итоге значения управляющего сигнала изменяются в соответствии с положением выходного звена и задаются выражением

(1.1)
${{u}_{i}} = - {{K}_{i}}{{e}_{i}} - {{D}_{1}}{{\dot {e}}_{i}} - {{I}_{i}}\int\limits_0^t {{e}_{i}}(\xi )d\xi ,\quad {{K}_{i}} > 0,\quad {{D}_{i}} > 0,\quad {{I}_{i}} > 0,\quad i = \overline {0,15} ,$
где ${{e}_{i}}$ – сигнал ошибки между углом выходного звена $\varphi $ и промежуточным положением i:

(1.2)
${{e}_{i}} = \varphi - {{\varphi }_{i}}.$

Предложен набор промежуточных значений угла ${{\varphi }_{i}}$ между двумя состояниями выходного звена – транспортным и рабочим положениями вертикального перемещения робота. Коэффициенты регулятора и значение опорного угла в каждом промежуточном положении задаются в табл. 1.

Таблица 1.

Коэффициенты ПИД-регулятора при каждом положении равновесия

Коэффициенты ПИД-регулятора
${{\varphi }_{i}}$, [rad] без нагрузки с нагрузкой
${{K}_{i}}$ ${{I}_{i}}$ ${{D}_{i}}$ ${{K}_{i}}$ ${{I}_{i}}$ ${{D}_{i}}$
0.87 32.06 58.06 3.96 55.03 99.66 6.79
0.92 31.81 57.61 3.93 53.95 97.71 6.66
0.97 31.69 57.41 3.91 53.11 96.27 6.56
1.02 31.71 57.43 3.91 52.65 95.29 6.49
1.07 31.82 57.63 3.93 52.28 94.70 6.45
1.12 32.02 57.99 3.95 52.14 94.44 6.44
1.17 32.29 58.49 3.95 52.17 94.49 6.44
1.22 32.64 59.11 4.03 52.35 94.81 6.46
1.27 33.04 59.85 4.08 52.67 95.39 6.50
1.32 33.51 60.69 4.13 53.11 96.20 6.56
1.37 34.03 61.63 4.20 53.69 97.24 6.63
1.42 34.60 62.66 4.27 54.38 98.49 6.71
1.47 35.21 63.78 4.35 55.18 99.95 6.81
1.52 35.87 64.98 4.43 56.18 101.6 6.93
1.57 36.58 66.26 4.52 57.17 103.5 7.05

2. Реализация алгоритма управления манипуляционным механизмом. Алгоритм управления манипулятором реализован с помощью программы микроконтроллера RP Pico с периодом дискретизации 100 мс, гироскопа MPU6050 и линейного привода постоянного тока SL14. Алгоритм управления соответствует блок-схеме на рис. 4. Первое значение угла ${{\varphi }_{i}}$ и соответствующие ему значения коэффициентов ${{K}_{i}},\;{{I}_{i}},\;{{D}_{i}}$ выбираются из таблицы. Угол $\varphi $ рассчитывается с использованием гироскопа. Затем вычисляется сигнал ошибки по формуле (1.2). Слагаемые с производной и интегралом в (1.1) определяются численно, начальные значения ei предполагаются равными нулю. Управляющий сигнал, вычисленный по формуле (1.1), подается на линейный привод. Когда сигнал ошибки становится достаточно малым по сравнению с точностью показаний гироскопа, выполняется переход к новому значению для угла ${{\varphi }_{i}}$ и коэффициентов из таблицы. Этот процесс продолжается до тех пор, пока не будет достигнуто желаемое значение угла выходного звена.

Рис. 4.

Блок-схема алгоритма управления манипулятором

На рис. 5 и 6 показаны экспериментально полученные зависимости угла выходного звена как функции времени для ненагруженного манипулятора и манипулятора, нагруженного роботом вертикального перемещения. Из этих рисунков видно, что точность позиционирования манипулятора в конечном положении при предложенном алгоритме управления практически не зависит от его нагрузки.

Рис. 5.

Положение выходного звена манипулятора как функция времени без нагрузки

Рис. 6.

Положение выходного звена манипулятора как функция времени с нагрузкой

3. Управление движением транспортной платформы. Рассматривается известная модель колесного робота (рис. 7) с двумя приводными колесами 1, 2, расположенными на одной оси, которая закреплена на жесткой платформе 3. Кроме приводных колес робот снабжен пассивным рояльным колесом 4, что обеспечивает роботу трехточечную опору. Кроме того, робот содержит оптоэлектронные датчики скорости вращения колес 5, гироскоп 6, релейные фотоэлектрические датчики расстояния 7 и лазерные датчики расстояния 8. Предполагается, что трение в осях рояльного колеса отсутствует, а его масса равна нулю. Приводные колеса считаются абсолютно жесткими дисками, плоскости которых перпендикулярны осям вращения колес. Считается, что платформа движется по горизонтальной плоскости без проскальзывания приводных колес. Введем три правые системы координат: неподвижную (инерциальную) систему координат $Oxyz$, систему координат $O{\kern 1pt} 'x{\kern 1pt} 'y{\kern 1pt} 'z{\kern 1pt} '$, жестко связанную с платформой, и системы координат ${{O}_{1}}{{x}_{1}}{{y}_{1}}{{z}_{1}}$, ${{O}_{2}}{{x}_{2}}{{y}_{2}}{{z}_{2}}$, жестко связанные с колесами. Оси $z$ и $z{\kern 1pt} '$ направим вертикально вверх, точку $O{\kern 1pt} '$ поместим в середине отрезка, соединяющего центры колес, точки ${{O}_{1}}$ и ${{O}_{2}}$ расположим в пересечениях оси колес с их плоскостями, ось $x{\kern 1pt} '$ направим горизонтально от точки $O{\kern 1pt} '$ к рояльному колесу, оси ${{y}_{1}}$ и ${{y}_{2}}$ систем координат, связанных с колесами, направим параллельно оси $y{\kern 1pt} '$ системы координат, связанной с платформой. Будем предполагать, что центр масс платформы $C$ находится на оси $x{\kern 1pt} '$.

Рис. 7.

Схема колесного мобильного робота

В качестве обобщенных координат, определяющих конфигурацию системы, будем использовать декартовы координаты x и y точки $O{\kern 1pt} '$ в инерциальной системе отсчета, угол $\varphi $ между осями x и $x{\kern 1pt} '$ и углы ${{\theta }_{1}}$ и ${{\theta }_{2}}$ поворота колес 1 и 2 относительно платформы. Номером 1 помечено колесо, расположенное в “положительном” полупространстве относительно плоскости $x{\kern 1pt} 'z{\kern 1pt} '$; колесо с номером 2 находится в “отрицательном” полупространстве. Положительным считается полупространство, в котором лежит положительная координатная полуось $y{\kern 1pt} '$. Согласно [5], уравнения скорости $\dot {x}$, $\dot {y}$ и $\dot {\varphi }$ как функции угла $\varphi $ поворота платформы и угловых скоростей вращения колес относительно платформы ${{\dot {\theta }}_{1}}$ и ${{\dot {\theta }}_{2}}$ задаются формулами:

(3.1)
$\begin{gathered} \dot {x} = {{a}_{1}}({{{\dot {\theta }}}_{1}} + {{{\dot {\theta }}}_{2}})\cos \varphi , \\ \dot {y} = {{a}_{1}}({{{\dot {\theta }}}_{1}} + {{{\dot {\theta }}}_{2}})\sin \varphi , \\ \dot {\varphi } = {{a}_{2}}({{{\dot {\theta }}}_{2}} - {{{\dot {\theta }}}_{1}}), \\ \end{gathered} $
где вектор параметров $a = [{{a}_{1}},{{a}_{2}}{{]}^{{\text{T}}}}$ зависит от геометрических параметров робота: радиуса колес и расстояния между колесами. Уравнения (3.1) можно трактовать как кинематическую модель управления рассматриваемой транспортной платформой, считая угловые скорости вращения колес управляющими переменными, а обобщенные координаты x, y и $\varphi $, характеризующие положение платформы относительно неподвижной системы отсчета, – фазовыми переменными.

Введем следующие обозначения: ${{\omega }_{1}} = {{\dot {\theta }}_{1}}$ и ${{\omega }_{2}} = {{\dot {\theta }}_{2}}$ – скорости вращения колес, ${v}$ – линейная скорость точки $O{\kern 1pt} '$, $\omega $ – угловая скорость платформы. Динамическую модель управления можно представить в следующем виде [5]:

(3.2)
$\begin{gathered} \dot {q} = - \Gamma (q)({{\omega }_{c}} + \zeta ), \\ \bar {\bar {M}}\dot {\zeta } + \bar {\bar {C}}(\zeta )\zeta + Yp = u + \bar {\varepsilon }, \\ \Gamma (q) = \left[ {\begin{array}{*{20}{c}} { - {{a}_{1}}\cos \varphi }&{ - {{a}_{1}}\cos \varphi } \\ { - {{a}_{1}}\sin \varphi }&{ - {{a}_{1}}\sin \varphi } \\ {{{a}_{2}}}&{ - {{a}_{2}}} \end{array}} \right], \\ Y = \left[ {\begin{array}{*{20}{c}} {{{{\dot {\omega }}}_{{c1}}}}&{{{{\dot {\omega }}}_{{c2}}}}&{{{\omega }_{{c1}}}}&{\omega {{\omega }_{{c2}}}} \\ {{{{\dot {\omega }}}_{{c2}}}}&{{{{\dot {\omega }}}_{{c1}}}}&{{{\omega }_{{c2}}}}&{ - \omega {{\omega }_{{c1}}}} \end{array}} \right], \\ p = \left[ \begin{gathered} {{p}_{1}} \hfill \\ {{p}_{2}} \hfill \\ {{p}_{3}} \hfill \\ {{p}_{4}} \hfill \\ \end{gathered} \right],\quad \zeta = \left[ {\begin{array}{*{20}{l}} {{{\zeta }_{1}}} \\ {{{\zeta }_{2}}} \end{array}} \right] = \left[ {\begin{array}{*{20}{l}} {{{\omega }_{1}} - {{\omega }_{{c1}}}} \\ {{{\omega }_{2}} - {{\omega }_{{c2}}}} \end{array}} \right]. \\ \end{gathered} $

Здесь $q = [x,y,\varphi {{]}^{{\text{T}}}}$ – вектор конфигурации транспортной платформы, ${{\omega }_{c}} = [{{\omega }_{{c1}}},{{\omega }_{{c2}}}{{]}^{{\text{T}}}}$ – вектор угловых скорости вращения колес (пока неизвестные), которые обеспечивают отслеживание заданного движения, $\zeta = [{{\zeta }_{1}},{{\zeta }_{2}}{{]}^{{\text{T}}}}$ – вектор, представляющий ошибку отслеживания угловых скоростей колес, $\bar {\bar {M}}$ и $\bar {\bar {C}}$ – матрицы, содержащие инерционные и геометрические параметры модели, $u = [{{u}_{1}},{{u}_{2}}{{]}^{{\text{T}}}}$ – вектор управляющего электрического напряжения, $\bar {\varepsilon } = [{{\bar {\varepsilon }}_{1}},{{\bar {\varepsilon }}_{2}}{{]}^{{\text{T}}}}$ – вектор добавок к управляющим напряжениям, требуемых для компенсации трения в приводах. Компоненты векторов p состоят из инерционных и геометрических параметров: массы, моментов инерции, радиуса колес, параметров модели привода и т.д. [5]. Предполагается, что компоненты этого вектора, а также векторов a и $\bar {\varepsilon }$ неизвестны. Поскольку в динамической модели (3.2) имеются неизвестные параметры, будем строить адаптивное управление, которое обеспечивает стремление к нулю векторов ошибок отслеживания $e,\zeta $ при любых допустимых значениях этих параметров. Введем величины $\tilde {p}$, $\tilde {\bar {\varepsilon }}$ и $\tilde {a}$, представляющие разности между реальными значениями неизвестных параметров и их оценками:

(3.3)
$\tilde {p} = p - \hat {p},\quad \tilde {\bar {\varepsilon }} = \bar {\varepsilon } - \hat {\bar {\varepsilon }},\quad \tilde {a} = a - \hat {a},$
где $\hat {p} = [{{\hat {p}}_{1}},{{\hat {p}}_{2}},{{\hat {p}}_{3}},{{\hat {p}}_{4}}{{]}^{{\text{T}}}}$, $\hat {a} = [{{\hat {a}}_{1}},{{\hat {a}}_{2}}{{]}^{{\text{T}}}}$ и $\hat {\bar {\varepsilon }} = [{{\hat {\bar {\varepsilon }}}_{1}},{{\hat {\bar {\varepsilon }}}_{2}}{{]}^{{\text{T}}}}$ – векторы, оценивающие значения неизвестных параметров $p,\;a$ и $\varepsilon $.

Требуется, управляя угловыми скоростями колес, обеспечить движение робота по заданной траектории, определяемой функциями $x = {{x}_{d}}(t)$, $y = {{y}_{d}}(t)$, $\varphi = {{\varphi }_{d}}(t)$. Эти функции удовлетворяют следующим уравнениям:

(3.4)
$\begin{gathered} {{{\dot {x}}}_{d}} = {{{v}}_{d}}\cos {{\varphi }_{d}}, \\ {{{\dot {y}}}_{d}} = {{{v}}_{d}}\sin {{\varphi }_{d}}, \\ {{{\dot {\varphi }}}_{d}} = {{\omega }_{d}}. \\ \end{gathered} $

Допустим, что функции $x(t)$, $y(t)$ и $\varphi (t)$ характеризуют реальное движение робота, которое, вообще говоря, отличается от программного, и реальному движению отвечают управления ${v}(t)$ и $\omega (t)$. Рассогласование реального и программного движений будем характеризовать тремя переменными ${{e}_{1}}$, ${{e}_{2}}$ и ${{e}_{3}}$, определяемыми следующим образом:

(3.5)
$e = \left[ {\begin{array}{*{20}{l}} {{{e}_{1}}} \\ {{{e}_{2}}} \\ {{{e}_{3}}} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {\cos \varphi }&{\sin \varphi }&0 \\ { - \sin \varphi }&{\cos \varphi }&0 \\ 0&0&1 \end{array}} \right]\left[ {\begin{array}{*{20}{l}} {{{x}_{d}} - x} \\ {{{y}_{d}} - y} \\ {{{\varphi }_{d}} - \varphi } \end{array}} \right].$

В [5] строится адаптивное управление, производящее оценку неизвестных параметров в процессе работы. На основе динамической модели (3.2) формируется положительно-определенная функция Ляпунова, которая содержит все сигналы ошибок $e,\;\zeta $, $\tilde {a},\;\tilde {p},\;\tilde {\bar {\varepsilon }}$. Предлагаются законы управления, которые делают производную функции Ляпунова по времени отрицательно-определенной. Таким образом подобранные законы управления обеспечивают асимптотическую устойчивость движения и ограниченность оцениваемых параметров. Законы управления напряжениями, подаваемыми на приводные колеса, имеют следующий вид:

(3.6)
$\left[ {\begin{array}{*{20}{c}} {{{u}_{1}}} \\ {{{u}_{2}}} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {Y\hat {p} - \left[ {\begin{array}{*{20}{c}} { - {{\gamma }_{1}}{{{\hat {a}}}_{1}}{{e}_{1}} + {{{\hat {a}}}_{2}}\sin {{e}_{3}}} \\ { - {{\gamma }_{1}}{{{\hat {a}}}_{1}}{{e}_{1}} - {{{\hat {a}}}_{2}}\sin {{e}_{3}}} \end{array}} \right] - \left[ \begin{gathered} {{k}_{3}}{{\zeta }_{1}} \hfill \\ {{k}_{4}}{{\zeta }_{2}} \hfill \\ \end{gathered} \right] - \left[ \begin{gathered} {{{\hat {\bar {\varepsilon }}}}_{1}} \hfill \\ {{{\hat {\bar {\varepsilon }}}}_{2}} \hfill \\ \end{gathered} \right]} \end{array}} \right],$
где

(3.7)
$\begin{gathered} {{{\dot {\hat {a}}}}_{1}} = - {{\gamma }_{1}}{{\gamma }_{2}}({{\omega }_{{c1}}} + {{\omega }_{{c2}}}){{e}_{1}} - {{\gamma }_{1}}{{\gamma }_{2}}({{\zeta }_{1}} + {{\zeta }_{2}}){{e}_{1}}, \\ {{{\dot {\hat {a}}}}_{2}} = - {{\gamma }_{3}}({{\omega }_{{c2}}} - {{\omega }_{{c1}}})\sin {{e}_{3}} - {{\gamma }_{3}}({{\zeta }_{2}} - {{\zeta }_{1}})\sin {{e}_{3}}; \\ \end{gathered} $
(3.8)
$\begin{gathered} {{\omega }_{{c1}}} = \frac{1}{{2{{{\hat {a}}}_{1}}}}({{k}_{1}}{{e}_{1}} + {{{v}}_{d}}\cos {{e}_{3}}) - \frac{1}{{2{{{\hat {a}}}_{2}}}}({{\omega }_{d}} + {{\gamma }_{1}}{{e}_{2}}{{{v}}_{d}} + {{k}_{2}}\sin {{e}_{3}}), \\ {{\omega }_{{c2}}} = \frac{1}{{2{{{\hat {a}}}_{1}}}}({{k}_{1}}{{e}_{1}} + {{{v}}_{d}}\cos {{e}_{3}}) + \frac{1}{{2{{{\hat {a}}}_{2}}}}({{\omega }_{d}} + {{\gamma }_{1}}{{e}_{2}}{{{v}}_{d}} + {{k}_{2}}\sin {{e}_{3}}); \\ \end{gathered} $
(3.9)
$\begin{gathered} \dot {\hat {p}} = - Z{{Y}^{{\text{T}}}}\zeta , \\ \dot {\hat {\bar {\varepsilon }}} = K\zeta . \\ \end{gathered} $

Здесь ${{k}_{1}}$, ${{k}_{2}}$, ${{k}_{3}}$, ${{k}_{4}}$ – положительные коэффициенты, Z, K – симметричные положительно-определенные матрицы и ${{\gamma }_{1}},\;{{\gamma }_{2}},\;{{\gamma }_{3}}$ – положительные числа.

4. Реализация алгоритма управления транспортной платформой. Алгоритм управления движением транспортной платформы реализован с помощью микроконтроллера Raspberry Pi Pico, драйвера двигателей, гироскопа MPU6050, установленного в середине отрезка, соединяющего центры колес, датчиков скорости вращения BS5-T2M, лазерных датчиков расстояния VL53L0X и фотоэлектрических концевых датчиков. В качестве приводов колес применялись мотор-редукторы для стеклоочистителя автомобиля ВАЗ-2110 К3АЭ. Этот алгоритм используется для управления движением в два этапа – движение из местоположения робота $A$ до положения B на расстоянии 1–2 м от вертикальной поверхности (расстояние надежной работы лазерных датчиков) и движение из положения $B$ к положению C у поверхности. Отличие между этапами заключается в способе подбора значений параметров заданной траектории. Однако законы адаптации и управления не отличаются. Предполагается, что локальная система координат $O{\kern 1pt} 'x{\kern 1pt} 'y{\kern 1pt} 'z{\kern 1pt} '$ и фиксированная система координат $Oxyz$ в начале движения совпадают.

Алгоритмы управления представлены на блок-схемах на рис. 8 и 9. Блок-схема, соответствующая этапу движения по заданной траектории из положения $A$ в $B$, показана на рис. 8. В начале движения на этом этапе определяются значения для линейной и угловой скоростей платформы для заданной траектории и в соответствии с (3.4) вычисляются координаты $({{x}_{d}},{{y}_{d}},{{\varphi }_{d}})$ в фиксированной системе $Oxyz$. Вычисление координат $x,y,\varphi $ робота производится на основе одометрии в соответствии с (3.1). Скорость вращения колес определяется с помощью оптико-электронных датчиков скорости вращения, установленных на каждом колесе. После того, как отклонение заданной траектории от траектории, рассчитанной по результатам одометрии, получено в соответствии с (3.5), законы управления движением рассчитываются, как в (3.6) . При этом для вычисления векторов оценки параметров $\hat {p},\;\hat {a},\;\hat {\bar {\varepsilon }}$ в (3.7), (3.9) используется численный метод Эйлера для решения системы обыкновенных дифференциальных уравнений. Начальные значения оценок параметров задаются с учетом физических характеристик платформы. Значения управляющих сигналов передаются через платы драйверов на мотор-редукторы колес. Алгоритм выполняется до тех пор, пока не закончится время, отведенное на заданную траекторию. На рис. 9 показана блок-схема алгоритма управления движением из положения $B$ в положение C. В начале движения на этом этапе угол ориентации робота относительно стены ${{\varphi }_{c}}$ рассчитывается с использованием двух лазерных датчиков расстояния. Это необходимо, чтобы обеспечить подъезд платформы перпендикулярно вертикальной поверхности. Задается положительное постоянное значение скорости ${{{v}}_{d}}$. Вычисляется зависимость координат $({{x}_{d}},{{y}_{d}})$ от времени, согласно (3.4), где ${{\varphi }_{d}} = {{\varphi }_{c}}$. Таким образом, програмное движение робота будет осуществляться перпендикулярно вертикальной поверхности. Расчет траектории робота на основе одометрии, вычисление отклонения заданной траектории от траектории, построенной по результатам одометрии и управляющих сигналов, производятся также, как и в предыдущем алгоритме. Значения управляющих сигналов также передаются через платы драйверов на мотор-редукторы колес. Этот алгоритм выполняется до тех пор, пока концевые фотоэлектрические датчики не подадут сигнал о приближении к вертикальной поверхности. Если только один фотоэлектрический датчик подал сигнал о приближении к стене, то алгоритм прекращает передачу управляющего сигнала на соответствующий мотор-редуктор. Когда алгоритм выполнен, колесная платформа останавливается достаточно близко и с нужной ориентацией к вертикальной поверхности, запускается прижимное устройство и приводные двигатели робота вертикального перемещения, находящегося на зацепах манипулятора. Он начинает движение по вертикальной поверхности, освобождаясь при этом от зацепов.

Рис. 8.

Блок-схема алгоритма управления колесным роботом на первом этапе

Рис. 9.

Блок-схема алгоритма управления колесным роботом на втором этапе

На рис. 10 показан способ получения угла ориентации робота относительно стены ${{\varphi }_{d}}$ = ${{\varphi }_{c}}$, где ${{d}_{1}},\;{{d}_{2}}$ – расстояния до стены от левого и правого датчиков соответственно. Угол ориентации робота относительно стены определяется следующим выражением:

(4.1)
${{\varphi }_{c}} = {\text{arctg}}\left( {\frac{{{{d}_{1}} - {{d}_{2}}}}{{{{L}_{d}}}}} \right),$
где ${{L}_{d}}$ – расстояние между датчиками. Расположение датчиков расстояния на роботе изображено на рис. 11, на рис. 12 – зависимость угла ${{\varphi }_{c}}$ от времени, полученная следующим образом. Робот был установлен перпендикулярно стене на расстоянии 20–30 см от нее. Вручную робот вращался в горизонтальной плоскости. Чтобы проверить значения ${{\varphi }_{c}}$, угол ориентации робота $\varphi $ вычислялся посредством данных, полученных с гироскопа, который установлен в точке $O{\kern 1pt} '$. Полученные результаты подтверждают, что с помощью этого метода можно определить ориентацию робота относительно вертикальной поверхности с достаточно малой погрешностью. Недостатком этого способа является ограниченный угол обзора и диапазон измеряемых расстояний датчика. В работе используются датчики расстояния VL53L0X, которые имеют угол обзора 27° и дальность действия до 2 м.

Рис. 10.

Пример работы датчиков растояния

Рис. 11.

Датчики расстояния на роботе

Рис. 12.

Угол ориентации робота относительно стены

Для тестирования мотор-редукторов колес был проведен дополнительный эксперимент. На мотор-редукторы колес подавалось одинаковое напряжение и измерялись угловые скорости колес как функции времени. Колеса при этом поверхности перемещения не касались. Соответствующие зависимости для левого (${{\omega }_{1}}$) и правого (${{\omega }_{2}}$) колес изображены на рис. 13. Из этого рисунка видно, что зависимости угловых скоростей от времени оказались существенно различными для левого и правого колес, причем ни для одного из колес угловая скорость не выходила на постоянное значение, несмотря на постоянство поданного напряжения. Этот эффект особенно хорошо виден для правого колеса. Такое поведение связано с повышенным трением в трансмиссионных механизмах, передающих вращение от электродвигателей к колесам, и обусловлено, прежде всего, деформацией осей вращения колес. Данный дефект преднамеренно не был устранен для проверки адаптивных алгоритмов управления, предложенных в данной статье.

Рис. 13.

Зависимость угловых скоростей колес от времени (колеса не касаются поверхности перемещения)

Результаты тестирования реализованного алгоритма рассмотрены ниже. Все величины, использованные при тестировании, представлены в единицах международной системы СИ. Для краткости размерности переменных и параметров в дальнейшем не указываются. Для проверки алгоритма следования по заданной траектории был проведен эксперимент с движением платформы вдоль окружности. Центр оси ведущих колес (точка $O{\kern 1pt} '$) перемещается по окружности диаметром $d = 1.76$ с постоянной линейной скоростью ${{{v}}_{d}} = 0.15$; угловая скорость вращения робота при этом равна ${{\omega }_{d}} = 0.17$. В начале программного движения точка $O{\kern 1pt} '$ имеет нулевые координаты в неподвижной системе отсчета (${{x}_{d}} = 0$, ${{y}_{d}} = 0$) и нулевой угол между продольной осью робота и осью x неподвижной системы координат (${{\theta }_{d}} = 0$).

При тестировании задаются начальные значения для кинематических и динамических параметров ${{\hat {a}}_{1}} = 0.048$, ${{\hat {a}}_{2}} = 0.26$, ${{\hat {p}}_{1}} = 0.1$, ${{\hat {p}}_{2}} = - 0.1$, ${{\hat {p}}_{3}} = 2$, ${{\hat {p}}_{4}} = 0.1$, ${{\hat {\bar {\varepsilon }}}_{1}} = 0$, ${{\hat {\bar {\varepsilon }}}_{2}} = - 1.5$. Эти значения основаны на физических характеристиках транспортной платформы. Были взяты следующие настраиваемые параметры для законов управления и адаптации: ${{k}_{1}} = 1$ , ${{k}_{2}} = 2$, ${{\gamma }_{1}} = 5$, ${{\gamma }_{2}} = 0.01$, ${{\gamma }_{3}} = 0.05$, ${{k}_{3}} = 10$, ${{k}_{4}} = 10$, Z = ${\text{diag}}(0.002,0.002,0.002,0.002)$, $K = {\text{diag}}(2,2)$.

Результаты эксперимента при движении транспортной платформы по окружности иллюстрируются на рис. 14–27. На рис. 14 показаны координаты траектории точки $O'$ платформы (сплошная кривая) и заданной траектории ${{x}_{d}}{{y}_{d}}$ (штриховая кривая). На рис. 15 и 16 представлено изменение со временем координат x и y платформы в реальном движении (сплошная кривая) и координаты заданной траектории (штриховая кривая). На рис. 17–19 изображены зависимости от времени сигналов рассогласования ${{e}_{1}},\;{{e}_{2}},\;{{e}_{3}}$ и ${{\zeta }_{1}},\;{{\zeta }_{2}}$. Зависимости от времени параметров адаптации $\hat {a}$, $\hat {p}$ и $\hat {\bar {\varepsilon }}$ приведены на рис. 20–27. Из рис. 17–19 видно, что ошибки отслеживания роботом программного движения стремятся с течением времени к нулю. Согласно рис. 20–27, оцениваемые параметры ограничены. На рис. 28 и 29 показаны скорости вращения колес и передаваемые двигателям напряжения при отслеживании движения по прямолинейной траектории. Этот эксперимент был проведен, чтобы продемонстрировать влияние дефектов (трения) в приводах. Из этого эксперимента видно, что, хотя среднее значение скорости вращения колеса постоянно, управляющие напряжения на приводах правого и левого колес разные.

Рис. 14.

Реальная траектория робота в случае движения по окружности

Рис. 15.

Зависимость реальной координаты x транспортной платформы от времени в сравнении с координатой ${{x}_{d}}$ заданной траектории

Рис. 16.

Зависимость реальной координаты y транспортной платформы от времени в сравнении с координатой ${{y}_{d}}$ заданной траектории

Рис. 17.

Зависимости от времени рассогласования сигналов ${{e}_{1}},\;{{e}_{2}}$

Рис. 18.

Зависимость от времени рассогласования сигнала ${{e}_{3}}$

Рис. 19.

Зависимости от времени рассогласования сигналов ${{\zeta }_{1}},\;{{\zeta }_{2}}$

Рис. 20.

Оцениваемый параметр ${{\hat {a}}_{1}}$

Рис. 21.

Оцениваемый параметр ${{\hat {a}}_{2}}$

Рис. 22.

Оцениваемый параметр ${{\hat {p}}_{1}}$

Рис. 23.

Оцениваемый параметр ${{\hat {p}}_{2}}$

Рис. 24.

Оцениваемый параметр ${{\hat {p}}_{3}}$

Рис. 25.

Оцениваемый параметр ${{\hat {p}}_{4}}$

Рис. 26.

Оцениваемый параметр ${{\hat {\bar {\varepsilon }}}_{1}}$

Рис. 27.

Оцениваемый параметр ${{\hat {\bar {\varepsilon }}}_{2}}$

Рис. 28.

Зависимости от времени скоростей вращения ${{\omega }_{1}}$, ${{\omega }_{2}}$

Рис. 29.

Зависимости от времени сигналов напряжения ${{u}_{1}}$, ${{u}_{2}}$

Пример подъезда платформы к вертикальной стене демонстрируется на видеозаписи11, которая была сделана для всего этапа движения с изученным алгоритмом управления. Последовательность кадров из видео показана на рис. 30–32. На рис. 30 приведено перемещение колесного робота из исходного положения в положение на расстоянии около 2 м от стены. В завершение этого этапа мобильный робот ориентируется так, чтобы выходное звено манипулятора было ориентировано на стену. На рис. 31 рассмотрено движение манипулятора по приведению робота вертикального перемещения в рабочее положение. На рис. 32 показано перемещение платформы к стене и вертикальное перемещение робота вдоль стены.

Рис. 30.

Последовательность движений на первом этапе

Рис. 31.

Последовательность движений на втором этапе

Рис. 32.

Последовательность движений на третьем этапе

Заключение. Реализованы алгоритмы адаптивного управления движением транспортно-манипуляционной платформы, предназначенной для установки мобильного робота на вертикальную поверхность. Алгоритм основан на динамической модели робота и позволяет компенсировать не только неопределенность его геометрических и инерционных параметров, но и неопределенность, связанную с несовершенством приводов. Тестирование алгоритмов на реальном роботе показывает, что эти алгоритмы обеспечивают высокую точность отслеживания роботом заданных программных движений.

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

  1. Нунупаров А.М., Чащухин В.Г. Система управления робота вертикального перемещения с аэродинамическим прижатием // Изв. РАН. ТиСУ. 2020. № 2. С. 168–176.

  2. Chashchukhin V.G. Orientation System of the Aerodynamically Adhesive Wall Climbing Robot // Extreme Robotics. 2019. V. 1. № 1. P. 145–148.

  3. Чащухин В.Г. Исследование параметров движения робота со скользящим уплотнением // Вестн. Нижегородск. ун-та им. Н.И. Лобачевского. 2011. № 4 (1.2). С. 347–349.

  4. Алхаддад М. Моделирование и управление движением манипулятора с замкнутой кинематической цепью и линейным приводом // Изв. РАН. ТиСУ. 2021. № 3. С. 168–176.

  5. Алхаддад М. Адаптивное управление движением мобильного колесного робота с учетом неидеальности приводов // Изв. РАН. ТиСУ. 2022. № 5. С. 144–158.

  6. Wang H., Fukao T., Adachi N. An Adaptive Tracking Control Approach for Nonholonomic Mobile Robot // IFAC Proceedings. 1999. V. 32. № 2. P. 8184–8189.

  7. Fukao T., Nakagawa H., Adachi N. Adaptive Tracking Control of a Nonholonomic Mobile Robot // IEEE Transactions on Robotics and Automation. 2000. V. 16. № 5. P. 609–615.

  8. Pourboghrat F., Karlsson M.P. Adaptive Control of Dynamic Mobile Robots with Nonholonomic Constraints // Computers and Electrical Engineering. 2002. V. 28. № 4. P. 241–253.

  9. Koubaa Y., Boukattaya M., Dammak T. An Adaptive Control for Uncertain Mobile Robot Considering Skidding and Slipping Effects // 5th Intern. Conf. on Systems and Control (ICSC). Marrakesh, 2016. P. 13–19.

  10. Wu J., Xu G., Yin Z. Robust Adaptive Control for a Nonholonomic Mobile Robot with Unknown Parameters // J. Control Theory Appl. 2009. V. 7. P. 212–215.

  11. Ye J. Adaptive Control of Nonlinear PID-based Analog Neural Networks for a Nonholonomic Mobile Robot // Neurocomputing. 2008. V. 71. P. 1561–1565.

  12. Canigur E., Ozkan M. Model Reference Adaptive Control of a Nonholonomic Wheeled Mobile Robot for Trajectory Tracking // Intern. Sympos. on Innovations in Intelligent Systems and Applications. Trabzon, 2012. P. 1–5.

Дополнительные материалы отсутствуют.