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

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

И. В. Матросов a*, Ю. В. Морозов b**, А. В. Пестерев b***

a ООО “Джавад Джи Эн Эс Эс”
Москва, Россия

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

* E-mail: matrossov@yandex.ru
** E-mail: tot1983@inbox.ru
*** E-mail: alexanderpesterev.ap@gmail.com

Поступила в редакцию 01.08.2019
После доработки 23.10.2020
Принята к публикации 30.11.2020

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

Аннотация

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

Введение. Для практических приложений важное значение имеет задача качения колеса по неровной поверхности. Возрождение интереса к этой классической задаче [1] связано с внедрением в практику роботизированных систем нового типа (шарообразных роботов) и поиском новых движителей для таких систем [2, 3]. Для решения задач управления шарообразным роботом необходимы, в частности, методы численного интегрирования уравнений качения по неровной поверхности. Частным случаем рассматриваемой задачи является задача качения тяжелого колеса по криволинейному профилю.

Основная трудность решения задачи качения связана с тем, что сила реакции и момент, действующие на колесо в точке касания, заранее не известны и должны быть определены из некоторых алгебраических соотношений (связей), следующих из дополнительных предположений о характере качения [1]. Для случая плоской поверхности, решение данной задачи в квадратурах было получено Пэнлеве [1] в конце XIX в., однако его обобщение на случай произвольного криволинейного профиля затруднительно. С другой стороны, хорошо известно, что попытки прямого численного решения уравнений движения механических систем, стесненных неголономными связями, часто приводят к отсутствию устойчивости и сходимости процесса счета, а также нарушению условий связи. Одной из наиболее ранних работ, известной авторам, где ставится и решается проблема стабилизации связей, является статья [4], в которой предложен метод построения устойчивого алгоритма для случая одного дополнительного уравнения связи. Метод приобрел популярность и вызвал большое число публикаций (см., например, [57] и приведенные там ссылки), посвященных его дальнейшему развитию, обобщению на более широкий класс систем и обсуждению вопросов численной реализации.

Изложенный в настоящей работе подход позволяет расширить класс систем, к которым применима техника стабилизации связей, и включить в рассмотрение такие системы, в которых уравнения связей и/или правые части дифференциальных уравнений зависят не только от обобщенных координат и скоростей, но и от некоторых дополнительных переменных, входящих в уравнения нелинейно. Пример такой системы – тяжелое колесо, катящееся без отрыва и проскальзывания по криволинейному профилю: уравнения связей, наложенных на систему, нелинейно зависят от угла наклона касательной к кривой в точке касания колеса, который не входит в число обобщенных координат. Применение классического варианта метода стабилизации связей потребовало бы решения нелинейного алгебраического уравнения для нахождения этого угла на каждом шаге интегрирования. В рамках же предлагаемого подхода указанная трудность преодолевается включением данного угла в число переменных и добавлением одного дифференциального уравнения первого порядка, что позволяет получить устойчивый алгоритм численного решения задачи, при работе которого алгебраические соотношения и дифференциальные уравнения выполняются с заданными точностями на больших интервалах времени.

1. Постановка задачи. Рассмотрим механическую систему со связями. Будем полагать, что уравнения движения записаны в виде системы дифференциальных уравнений первого порядка с линейно зависящей от неизвестного вектора реакций связей $N \in {{R}^{m}}$ правой частью:

(1.1)
$\dot {X} = B(X)N + \widetilde F(X),\quad X(0) = {{X}_{0}},\quad t \in [0,{{t}_{1}}].$

Здесь, $X \in {{R}^{n}}$ – вектор состояния системы, а $n \times m$-матрица $B(X)$ и вектор $\widetilde F(X)$ – непрерывно-дифференцируемые функции. В частном случае механической системы с p степенями свободы, описываемой уравнениями Ньютона или Лагранжа, $X = {{[{{x}_{1}},{{\dot {x}}_{1}}, \ldots ,{{x}_{p}},{{\dot {x}}_{p}}]}^{{\text{T}}}}$, где xi, $i = \overline {1,p} $, – обобщенная координата и n = 2p. Однако, как это будет видно из примера в разд. 3, указанный случай не исчерпывает всех возможностей, так что в общем случае размерность n системы (1.1) не связана напрямую с числом степеней свободы и, в частности, может быть и нечетной.

Будем полагать, что связи заданы в виде m алгебраических уравнений (ограничений)

(1.2)
${{f}_{i}}(X) = 0,\quad i = \overline {1,m} ,$
и что начальные условия в (1.1) удовлетворяют указанным ограничениям. Предположим, что функции  fi  имеют непрерывные частные производные до порядка n включительно и что уравнения (1.2) определяют гладкое многообразие $\mathcal{M}$ в ${{R}^{n}}$, которому принадлежит искомая траектория движения. Для системы (1.1), (1.2) рассматривается задача о поиске приближенного решения. Под приближенным решением с точностью $\delta $ здесь, следуя А.Ф. Филиппову [8], понимаются вектор-функции $X(t)$ и $N(t)$, такие, что ${\text{||}}\dot {X} - F(X,N){\text{||}} < \delta $ и ${\text{|}}{{f}_{i}}{\text{|}} < \delta ,$ $\forall t \in [0,{{t}_{1}}],$ $\forall i = \overline {1,m} $.

В силу того, что правые части системы (1.1) включают неизвестные функции (реакции связей N), решение задачи не может быть получено применением стандартных процедур численного интегрирования. Таким образом, возникает необходимость в разработке метода численного решения системы дифференциально-алгебраических уравнений вида (1.1), (1.2).

Причина, по которой уравнения движения заданы в виде системы дифференциальных уравнений первого порядка, заключается в том, что правые части уравнений или условия связей могут зависеть не только от обобщенных координат и скоростей, но и от некоторых дополнительных переменных, динамика которых не обязательно описывается уравнениями второго порядка (пример такой системы рассматривается в разд. 3). Запись уравнений движения в виде (1.1) позволяет нам рассматривать такие системы и системы, описываемые дифференциальными уравнениями второго порядка (уравнениями Ньютона или Лагранжа), в рамках единого подхода и, таким образом, расширить класс систем, к которым применим предлагаемый метод.

2. Идея предлагаемого подхода. Уравнения (1.2) вместе с (1.1) образуют замкнутую систему n + m уравнений относительно n + m неизвестных функций $(X,N)$ и при этом алгебраические уравнения (1.2) не зависят явно от переменных N. Такого рода задачи возникают в теории управления и, в частности, в задачах стабилизации движения. Рассмотрим, например, классическую задачу о стабилизации траектории движения x*(t) управляемого объекта с одним входом, описываемого нелинейной аффинной системой:

$\frac{{dx}}{{dt}} = \Phi (x) + \beta (x)u,$
где $\Phi (x)$ и $\beta (x)$ – гладкие функции. Требуется найти такое скалярное управление в виде обратной связи $u = u(x)$, при котором в пределе выполняется (не зависящее явно от управления u) алгебраическое уравнение $x - x{\kern 1pt} *(t) = 0$. В теории управления предложено несколько подходов к решению этой задачи, таких, как линеаризация обратной связью и бэкстеппинг [9, 10]. В качестве основной идеи в этих методах предлагается дифференцировать невязку $y = x(t) - x{\kern 1pt} *(t)$ до тех пор, пока не появится u, после чего подставить производные в соответствующее эталонное линейное уравнение относительно y и выразить из него $u$. Аналогичный прием применяется при линеаризации с помощью обратной связи системы с m входами и m выходами [10]. Указанная идея используется и в рассматриваемой задаче о поиске приближенного решения системы (1.1) с ограничениями (1.2).

Обозначим через ${{r}_{i}}$ порядок наименьшей производной по времени функции ${{f}_{i}}(X)$ в силу системы (1.1), (1.2), которая явно зависит по крайней мере от одной компоненты вектора N. Так как правая часть (1.1) линейно зависит от $N$, ri-я производная  fi в силу (1.1) также зависит от N линейно, т.е. для любых $X \in \mathcal{M}$

(2.1)
$\frac{{{{d}^{{{{r}_{i}}}}}{{f}_{i}}}}{{d{{t}^{{{{r}_{i}}}}}}} = {{A}_{i}}(X)N + {{\varphi }_{i}}(X),\quad i = \overline {1,m} ,$
где ${{A}_{i}}(X)$ – вектор-строка длины m и ${{\varphi }_{i}}(X)$ – сумма всех не зависящих от $N$ членов, в то время как для любых $j < {{r}_{i}}$, ${{d}^{j}}{{f}_{i}}{\text{/}}d{{t}^{j}}$ явно от N не зависит.

Составим теперь из строк ${{A}_{i}}(X)$ $m \times m$-матрицу $A(X)$. Следуя А. Исидори [10], будем говорить, что система (1.1), (1.2) имеет векторную относительную степень $\{ {{r}_{1}}, \ldots ,{{r}_{m}}\} $ в точке $X{\kern 1pt} * \in \mathcal{M}$, если матрица $A(X{\kern 1pt} *)$ не вырождена. В дальнейшем предполагается, что рассматриваемая система имеет векторную относительную степень $({{r}_{1}},...,{{r}_{m}})$ во всех точках $X \in \mathcal{M}$.

Для механической системы в подавляющем числе случаев либо ${{r}_{i}} = 1$ (например, для неголономных ограничений), либо ${{r}_{i}} = 2$. Хотя рассмотрение общего случая произвольного ri не представляет принципиальных трудностей (см., например, [11, 12] и приведенные там ссылки) для простоты изложения, будем считать далее, что для всех условий связи ${{r}_{i}} \leqslant 2$, и введем обозначение ${{\dot {f}}_{i}}$ и ${{\ddot {f}}_{i}}$ для первой и второй производных функций ${{f}_{i}}$ по времени в силу системы (1.1), (1.2).

Так как уравнения (1.2) на искомой траектории выполняются тождественно, левые части в формулах (2.1) также тождественно равны нулю:

(2.2)
$\frac{{{{d}^{{{{r}_{i}}}}}{{f}_{i}}}}{{d{{t}^{{{{r}_{i}}}}}}} = 0,\quad i = \overline {1,m} ,$
откуда следует, что искомый вектор $N$ удовлетворяет уравнению
(2.3)
$A(X)N + \varphi (X) = 0,$
где $X \in \mathcal{M}$ и $\varphi (X) = {{[{{\varphi }_{1}}, \ldots ,{{\varphi }_{m}}]}^{{\text{T}}}}$.

Однако, как замечено в [46], использование уравнений (2.2) для численного нахождения вектора N недопустимо из-за неконтролируемого роста невязок алгебраических уравнений (1.2), возникающего при наличии сколь угодно малых ошибок задания начальных данных или неточности метода построения приближенного решения, так как общее решение уравнений (2.2) имеет вид ${{f}_{i}}(t) = {{c}_{{i2}}}t + {{c}_{{i1}}}$ для ${{r}_{i}} = 2$ и ${{f}_{i}}(t) = {{c}_{{i1}}}$, если ${{r}_{i}} = 1$, где константы интегрирования определены начальными условиями: ${{c}_{{i1}}} = {{f}_{i}}(0)$ и ${{c}_{{i2}}} = {{\dot {f}}_{i}}(0)$.

Следуя подходу, предложенному в [13], заменим систему (2.2) новой системой дифференциальных уравнений относительно  fi, удовлетворяющей следующим условиям:

1) порядок i-го дифференциального уравнения новой системы совпадает с порядком i-го уравнения в (2.2);

2) решения новой системы уравнений и системы (2.2) при нулевых начальных условиях совпадают;

3) любое решение новой системы, соответствующее ненулевым начальным условиям, экспоненциально стремится к нулю.

Указанным условиям удовлетворяют, например, уравнения вида

(2.4)
${{\ddot {f}}_{i}}(t) + 2{{\lambda }_{i}}{{\dot {f}}_{i}}(t) + \lambda _{i}^{2}{{f}_{i}}(t) = 0,\quad {{\lambda }_{i}} > 0,$
для невязок, соответствующих связям с ${{r}_{i}} = 2$, и
(2.5)
${{\dot {f}}_{i}}(t) + {{\lambda }_{i}}{{f}_{i}}(t) = 0,\quad {{\lambda }_{i}} > 0,$
для невязок, соответствующих связям с ${{r}_{i}} = 1$. Выбор коэффициентов из однопараметрического семейства в уравнении (2.4) ($\lambda _{i}^{2}$ и $2{{\lambda }_{i}}$) сделан для удобства обозначений и последующих выкладок; в общем случае оба (положительных) коэффициента могут выбираться независимо друг от друга. Напомним, что порядок каждого дифференциального уравнения выбирается так, чтобы старшая производная соответствующей ${{f}_{i}}$ явно зависела от сил N, а коэффициенты уравнений ${{\lambda }_{i}}$ определяют показатели экспоненциального убывания невязок.

Подставляя правые части выражений в (2.1) вместо производных ${{\ddot {f}}_{i}}$ и ${{\dot {f}}_{i}}$ в (2.4) и (2.5) соответственно, получим отличную от (2.3) линейную алгебраическую систему уравнений относительно реакций связей N:

(2.6)
$A(X)N = - \varphi (X,\lambda ),$
где $\lambda = [{{\lambda }_{1}}, \ldots ,{{\lambda }_{m}}]$, $\varphi (X,\lambda ) = {{[{{\varphi }_{1}}(X,{{\lambda }_{1}}), \ldots ,{{\varphi }_{m}}(X,{{\lambda }_{m}})]}^{{\text{T}}}}$ и ${{\varphi }_{i}}(X,{{\lambda }_{i}})$ определено при ${{r}_{i}} = 2$ формулой
(2.7)
${{\varphi }_{i}}(X,\lambda ) = {{\varphi }_{i}}(X) + \lambda _{i}^{2}{{f}_{i}} + 2{{\lambda }_{i}}{{\dot {f}}_{i}}$
и при ${{r}_{i}} = 1$ формулой

(2.8)
${{\varphi }_{i}}(X,\lambda ) = {{\varphi }_{i}}(X) + {{\lambda }_{i}}{{f}_{i}}.$

Так как допускаются ненулевые невязки, уравнения (2.6) определены не только на многообразии, но и некоторой его окрестности. По предположению о наличии векторной относительной степени во всех точках многообразия матрица A(X) не вырождена при любых $X \in \mathcal{M}$. Следовательно, найдется окрестность многообразия, в которой эта матрица также не вырождена и систему (2.6) можно разрешить относительно N:

(2.9)
$N(X,\lambda ) = - {{A}^{{ - 1}}}(X)\varphi (X,\lambda ).$

Подставляя (2.9) в (1.1) и интегрируя полученную замкнутую разрешенную относительно старших производных систему обыкновенных дифференциальных уравнений при помощи стандартного метода численного интегрирования, такого, как методы Рунге–Кутта или Адамса, находим искомую траекторию движения системы. Полученное решение будет δ-решением системы (1.1), (1.2), (2.9) по Филиппову, если вторые производные правой части системы ограничены на компактном замыкании окрестности области интегрирования.

Если начальные условия в (1.1) удовлетворяют ограничениям (1.2), то ${{f}_{i}}(0) = 0$, $i = \overline {1,m} $, и если ${{r}_{i}} = 2$, то ${{\dot {f}}_{i}}(0) = 0$. Так что решением уравнений (2.4) и (2.5) будут функции ${{f}_{i}}(t) \equiv 0$, $i = \overline {1,m} $, т.е. для точного решения выполнены условия (1.2). Если начальные условия не удовлетворяют ограничениям (1.2), метод дает приближенное решение задачи, при этом невязки ограничений стремятся экспоненциально к нулю. Выбирая достаточно большие коэффициенты ${{\lambda }_{i}}$ (и уменьшая при этом шаг интегрировании, см. [5]), можно добиться сколь угодно высокой точности $\delta $-решения задачи. Ошибки, связанные с неточным заданием начальных условий, не только не накапливаются, но и убывают экспоненциально с показателями $ - {{\lambda }_{i}}$, что позволяет получить решение задачи на больших интервалах времени с высокой точностью. Выбор шага интегрирования и коэффициентов ${{\lambda }_{i}}$, а также метода численного интегрирования системы обыкновенных дифференциальных уравнений выходит за рамки настоящей статьи и далее не рассматривается (интересующийся читатель может найти обсуждение задачи согласованного выбора численных значений для шага интегрирования и коэффициентов ${{\lambda }_{i}}$, например, в [5, 6]).

Замечание. Обратимость матрицы $A(X)$ при любых X, принадлежащих многообразию, не является необходимым условием применимости метода. Разрешимость уравнений (2.6) в таком случае исследуется дополнительно с использованием специфики решаемой задачи. Например, в задаче о качении колеса, рассматриваемой в следующем разделе, доказывается аналитически, что решение системы алгебраических уравнений (2.6) существует и при обращении детерминанта матрицы в нуль.

3. Качение тяжелого обруча по криволинейному профилю. В качестве иллюстрации применим описанный в предыдущем разделе метод для численного интегрирования уравнений качения тяжелого колеса (обруча) по криволинейному профилю (рис. 1).

Рис. 1.

Кинематическая и динамическая схемы колеса, катящегося по криволинейному желобу

Обозначим через $M$ и $r$ массу и радиус колеса. Пусть x и z – координаты центра колеса относительно горизонтальной и вертикальной осей неподвижной системы координат соответственно, а $\theta $ – угол поворота обруча вокруг центра, принимающий положительные значения при повороте против часовой стрелки. После освобождения от связей уравнения движения обруча [1] могут быть записаны в виде

(3.1)
$M\ddot {x} = {{R}_{x}},\quad M\ddot {z} = - Mg + {{R}_{z}},\quad J\ddot {\theta } = Q,$
где $g$ – ускорение свободного падения, $J = M{{r}^{2}}$ – момент инерции обруча, ${{R}_{x}}$ и ${{R}_{z}}$ – проекции силы реакции опоры на оси координат и Q – вращающий момент относительно центра масс. Уравнения (3.1) не могут быть проинтегрированы непосредственно, так как сила реакции и момент не известны. Для их нахождения мы далее выпишем алгебраические соотношения, следующие из дополнительных, сформулированных ниже предположений о характере качения.

Пусть форма желоба, по которому катится обруч, задана неявно уравнением $h(x,z) = 0$. Будем предполагать, что частная производная $h_{z}^{'}$ функции $h(x,z)$ по z нигде не равна нулю (профиль не содержит вертикальных участков) и что кривая является допустимой для данного обруча, т.е. кривизна кривой в любой точке меньше 1/r. Обозначим через ${{x}_{a}}$ и ${{z}_{a}}$ текущие координаты точки обруча, в которой он касается кривой: ${{x}_{a}} = x + rcos\alpha $, ${{z}_{a}} = z + rsin\alpha $, где $ - \pi < \alpha < 0$ – угол между осью x и вектором, направленным из центра обруча в точку касания (рис. 1).

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

(3.2)
$h({{x}_{a}},{{z}_{a}}) = 0$
и
(3.3)
$M({{\dot {x}}^{2}} + {{\dot {z}}^{2}}){\text{/}}2 + M{{r}^{2}}{{\dot {\theta }}^{2}}{\text{/}}2 + Mgz - {{E}_{0}} = 0,$
где E0 – полная энергия системы в начальный момент времени. Условие качения без проскальзывания можно записать как равенство нулю проекции скорости точки колеса, касающейся кривой, на касательное к кривой направление:
(3.4)
$ - \dot {x}sin\alpha + \dot {z}cos\alpha + r\dot {\theta } = 0$
(обычно используемое условие качения без проскальзывания ${{\dot {x}}^{2}} + {{\dot {z}}^{2}} - {{(r\dot {\theta })}^{2}} = 0$ в данном случае не годится, так как, наряду с истинным движением, оно допускает и физически нереализуемое движение, при котором колесо вращается в противоположную сторону). Описывающие систему уравнения (3.1)(3.4) имеют вид, отличный от (1.1), (1.2), так как алгебраические уравнения (3.2) и (3.4) зависят не только от переменных состояния, но и от дополнительной переменной $\alpha $.

Введем обозначения $\eta = {{[h_{x}^{'}({{x}_{a}},{{z}_{a}}),h_{z}^{'}({{x}_{a}},{{z}_{a}})]}^{{\text{T}}}}$ и $\tau = {{[ - h_{z}^{'}({{x}_{a}},{{z}_{a}}),h_{x}^{'}({{x}_{a}},{{z}_{a}})]}^{{\text{T}}}}$ для нормали к кривой и касательного вектора в точке касания с колесом (в дальнейшем, для краткости будем опускать аргументы функции $h({{x}_{a}},{{z}_{a}})$ и ее производных), $v = {{[\dot {x},\dot {z}]}^{{\text{T}}}}$ для вектора скорости центра колеса, $\mu = {{[cos\alpha ,sin\alpha ]}^{{\text{T}}}}$ для единичного вектора, лежащего на прямой, соединяющей центр колеса и точку касания с кривой, и $\chi = {{[ - sin\alpha ,cos\alpha ]}^{{\text{T}}}}$ для ортогонального ему вектора (рис. 1). Очевидно, что при качении колеса без отрыва от кривой векторы $\mu $ и $\tau $ ортогональны, $(\mu ,\tau ) \equiv 0$, т.е. должно выполняться условие

(3.5)
$h_{x}^{'}({{x}_{a}},{{z}_{a}})sin\alpha - h_{z}^{'}({{x}_{a}},{{z}_{a}})cos\alpha = 0.$

В классическом варианте метода стабилизации связей на каждом шаге интегрирования пришлось бы численно решать нелинейное алгебраическое уравнение (3.5) для того, чтобы выразить α через обобщенные координаты и скорости. В рамках же предлагаемого подхода для приведения системы уравнений к виду (1.1), (1.2) предлагается расширить пространство состояний, включив α в число переменных состояния, и добавить к системе (3.1) дифференциальное уравнение относительно новой переменной (из дальнейшего будет ясно, почему в данном случае можно ограничиться уравнением первого порядка):

(3.6)
$\dot {\alpha } = U.$

Так как неизвестная функции $U \in R$ входит линейно в правую часть уравнения (3.6), мы можем рассматривать ее как еще одну “реакцию связей”, а уравнение (3.5) – в качестве четвертого алгебраического уравнения связи.

Таким образом, мы получаем систему (3.1), (3.6) дифференциальных уравнений порядка семь относительно семи переменных состояния, $X = {{[x,z,\theta ,\dot {x},\dot {z},\dot {\theta },\alpha ]}^{{\text{T}}}}$, и четыре алгебраических уравнения (3.2)(3.5) для определения четырех неизвестных “реакций связей”, компонент вектора $N = {{[{{R}_{x}},{{R}_{z}},Q,U]}^{{\text{T}}}}$, в правой части системы. В соответствии с изложенным в предыдущем разделе методом обозначим левые части уравнений (3.2)–(3.5) через ${{f}_{1}}$, ${{f}_{2}}$, ${{f}_{3}}$ и ${{f}_{4}}$ соответственно. Дифференцируя первое алгебраическое уравнение, получаем

${{\dot {f}}_{1}} = h_{x}^{'}{{\dot {x}}_{a}} + h_{z}^{'}{{\dot {z}}_{a}} = h_{x}^{'}\dot {x} + h_{z}^{'}\dot {z} + r\dot {\alpha }( - h_{x}^{'}sin\alpha + h_{z}^{'}cos\alpha ) = (v,\eta ) - (\tau ,\mu )r\dot {\alpha }.$

Так как скалярное произведение $(\tau ,\mu )$ тождественно равно нулю на многообразии, производная ${{f}_{1}}$ по времени в силу системы (3.1)–(3.6) не зависит явно от N. Второе дифференцирование дает

${{\ddot {f}}_{1}} = (\dot {v},\eta ) + (v,\dot {\eta }).$

Непосредственным дифференцированием нетрудно показать, что $\dot {\eta } = {{H}_{2}}v + r\dot {\alpha }{{H}_{2}}\chi $, где

${{H}_{2}} = \left( {\begin{array}{*{20}{c}} {h_{{xx}}^{{''}}}&{h_{{xz}}^{{''}}} \\ {h_{{xz}}^{{''}}}&{h_{{zz}}^{{''}}} \end{array}} \right).$

Подставляя полученное выражение в формулу для ${{\ddot {f}}_{1}}$, получаем

${{\ddot {f}}_{1}} = h_{x}^{'}\ddot {x} + h_{z}^{'}\ddot {z} + (v,{{H}_{2}}v) + (v,{{H}_{2}}\chi )r\dot {\alpha },$
и вторая производная ${{f}_{1}}$ в силу системы (3.1)–(3.6) принимает вид

(3.7)
${{\ddot {f}}_{1}} = (h_{x}^{'}{{R}_{x}} + h_{z}^{'}{{R}_{z}}){\text{/}}M + (v,{{H}_{2}}\chi )rU - gh_{z}^{'} + (v,{{H}_{2}}v).$

Дифференцируя f2 и f3 по времени в силу уравнений (3.1)–(3.6), находим

(3.8)
${{\dot {f}}_{2}} = M\dot {x}\ddot {x} + M\dot {z}\ddot {z} + M{{r}^{2}}\dot {\theta }\ddot {\theta } + Mg\dot {z} = \dot {x}{{R}_{x}} + \dot {z}{{R}_{z}} + \dot {\theta }Q$
и

${{\dot {f}}_{3}} = - \ddot {x}sin\alpha + \ddot {z}cos\alpha - \dot {\alpha }(\dot {x}cos\alpha + \dot {z}sin\alpha ) + r\ddot {\theta }.$

Коэффициент при $\dot {\alpha }$ на многообразии равен нулю в силу ортогональности векторов ${v}$ и $\mu $, и мы окончательно получаем

(3.9)
${{\dot {f}}_{3}} = ( - {{R}_{x}}sin\alpha + {{R}_{z}}cos\alpha ){\text{/}}M + Q{\text{/}}Mr - gcos\alpha .$

Производная ${{f}_{4}} \equiv (\mu ,\tau )$ равна

${{\dot {f}}_{4}} = (\dot {\mu },\tau ) + (\mu ,\dot {\tau }),$
где $\dot {\mu } = {{[ - sin\alpha ,cos\alpha ]}^{{\text{T}}}}\dot {\alpha } = \dot {\alpha }\chi $ и

$(\dot {\mu },\tau ) = \dot {\alpha }(h_{x}^{'}cos\alpha + h_{z}^{'}sin\alpha ) = \dot {\alpha }\sqrt {{{{(h_{x}^{'})}}^{2}} + {{{(h_{z}^{'})}}^{2}}} \equiv \dot {\alpha }{\text{||}}\nabla h{\text{||}}.$

Дифференцируя касательный вектор $\tau $:

$\dot {\tau } = \left[ {\begin{array}{*{20}{c}} { - h_{{xz}}^{{''}}(\dot {x} - r\dot {\alpha }sin\alpha ) - h_{{zz}}^{{''}}(\dot {z} + r\dot {\alpha }cos\alpha )} \\ {h_{{xx}}^{{''}}(\dot {x} - r\dot {\alpha }sin\alpha ) + h_{{xz}}^{{''}}(\dot {z} + r\dot {\alpha }cos\alpha )} \end{array}} \right],$
после несложных выкладок находим

$\begin{gathered} (\mu ,\dot {\tau }) = - cos\alpha (h_{{xz}}^{{''}}\dot {x} + h_{{zz}}^{{''}}\dot {z}) + sin\alpha (h_{{xx}}^{{''}}\dot {x} + h_{{xz}}^{{''}}\dot {z}) + r\dot {\alpha }(h_{{xz}}^{{''}}cos\alpha sin\alpha - h_{{zz}}^{{''}}co{{s}^{2}}\alpha - \\ \, - h_{{xx}}^{{''}}si{{n}^{2}}\alpha + h_{{xz}}^{{''}}sin\alpha cos\alpha ) = \dot {x}(h_{{xx}}^{{''}}sin\alpha - h_{{xz}}^{{''}}cos\alpha ) + \dot {z}(h_{{xz}}^{{''}}sin\alpha - h_{{zz}}^{{''}}cos\alpha ) + \\ \, + r\dot {\alpha }[ - sin\alpha (h_{{xx}}^{{''}}sin\alpha - h_{{xz}}^{{''}}cos\alpha ) + cos\alpha (h_{{xz}}^{{''}}sin\alpha - h_{{zz}}^{{''}}cos\alpha )] = - (v,{{H}_{2}}\chi ) - (\chi ,{{H}_{2}}\chi )r\dot {\alpha }. \\ \end{gathered} $

Подставляя полученные выражения в формулу для ${{\dot {f}}_{4}}$, получаем производную  f4 в силу системы (3.1)–(3.6):

(3.10)
${{\dot {f}}_{4}} = ({\text{||}}\nabla h{\text{||}} - (\chi ,{{H}_{2}}\chi )r)U - (v,{{H}_{2}}\chi ).$

Так как после первого дифференцирования появляется компонента вектора N, ${{r}_{4}} = 1$. В отличие от классического варианта метода стабилизации связей, в котором голономные ограничения надо дифференцировать дважды, второе дифференцирование не требуется, что в свою очередь и объясняет, почему мы ограничились дифференциальным уравнением первого порядка для α.

Из (3.7)–(3.10) находим матрицу $A(X)$:

(3.11)
$A(X) = \left( {\begin{array}{*{20}{c}} {h_{x}^{'}}&{h_{z}^{'}}&0&{(v,{{H}_{2}}\chi )Mr} \\ {\dot {x}}&{\dot {z}}&{\dot {\theta }}&0 \\ { - sin\alpha }&{cos\alpha }&{1{\text{/}}r}&0 \\ 0&0&0&d \end{array}} \right),$
где $d = {\text{||}}\nabla h{\text{||}} - (\chi ,{{H}_{2}}\chi )r$, и правые части системы φ1(X, λ) = $ - Mgh_{z}^{'} + M(v,{{H}_{2}}v) + \lambda _{1}^{2}M{{f}_{1}} + 2{{\lambda }_{1}}M{{\dot {f}}_{1}}$, ${{\varphi }_{2}}(X,\lambda ) = {{\lambda }_{2}}{{f}_{2}}$, ${{\varphi }_{3}}(X,\lambda ) = - Mgcos\alpha + {{\lambda }_{3}}M{{f}_{3}}$, и φ4(X, λ) = $ - (v,{{H}_{2}}\chi ) + {{\lambda }_{4}}{{f}_{4}}$.

В соответствие с обсуждаемым в разд. 2 методом решение задачи о качении сводится по существу к решению системы четырех алгебраических уравнений $A(X)N = - \varphi (X,\lambda )$, где $\varphi (X,\lambda )$ – вектор с компонентами ${{\varphi }_{i}}(X,\lambda )$, $i = \overline {1,4} $, подстановке найденного вектора $N(X,\lambda )$ в систему дифференциальных уравнений (3.1), (3.6) и численному интегрированию полученной системы.

Для проверки обратимости матрицы $A(X)$ найдем ее детерминант при $X \in \mathcal{M}$:

$\begin{gathered} detA(X) = d\left| {\begin{array}{*{20}{c}} {h_{x}^{'}}&{h_{z}^{'}}&0 \\ {\dot {x}}&{\dot {z}}&{\dot {\theta }} \\ { - sin\alpha }&{cos\alpha }&{1{\text{/}}r} \end{array}} \right| = \\ \, = \frac{d}{r}( - \dot {x}h_{z}^{'} + \dot {z}h_{x}^{'}) - d\dot {\theta }(h_{x}^{'}cos\alpha + h_{z}^{'}sin\alpha ) = \frac{d}{r}({v},\tau ) - (\eta ,\mu )d\dot {\theta }. \\ \end{gathered} $

Принимая во внимание, что при $X \in \mathcal{M}$ пары векторов η, μ и $v$, $\chi $ коллинеарны и, следовательно, выполняются соотношения $(\eta ,\mu ) = {\text{||}}\nabla h{\text{||}}$, $\tau = {\text{||}}\nabla h{\text{||}}\chi $, ${v} = - r\dot {\theta }\chi $, откуда $(v,\tau ) = - r{\text{||}}\nabla h{\text{||}}\dot {\theta }$, получаем окончательно следующую формулу для детерминанта на многообразии:

$detA(X) = - 2d{\text{||}}\nabla h{\text{||}}\dot {\theta }.$

Покажем, что величина d не может быть равна нулю. Используя формулу

$\rho = \frac{{{{{({{{(h_{x}^{'})}}^{2}} + {{{(h_{z}^{'})}}^{2}})}}^{{3/2}}}}}{{{{{(h_{z}^{'})}}^{2}}h_{{xx}}^{{''}} - 2h_{x}^{'}h_{z}^{'}h_{{xz}}^{{''}} + {{{(h_{x}^{'})}}^{2}}h_{{zz}}^{{''}}}} \equiv \frac{{{\text{||}}\nabla h{\text{|}}{{{\text{|}}}^{3}}}}{{(\tau ,{{H}_{2}}\tau )}}$
для радиуса кривизны кривой, заданной неявно уравнением $h(x,z) = 0$, находим

$d = {\text{||}}\nabla h{\text{||}} - (\chi ,{{H}_{2}}\chi )r = {\text{||}}\nabla h{\text{||}} - \frac{{(\tau ,{{H}_{2}}\tau )r}}{{{\text{||}}\nabla h{\text{|}}{{{\text{|}}}^{2}}}} = {\text{||}}\nabla h{\text{||}}\left( {1 - \frac{r}{\rho }} \right).$

В силу предположения о допустимости кривой, $r < \rho $ и, следовательно, d > 0.

Таким образом, на многообразии детерминант равен нулю тогда и только тогда, когда $\dot {\theta } = 0$, т.е. когда колесо останавливается в верхней точке своей траектории перед тем, как катиться в противоположную сторону, при этом ${{\varphi }_{1}} = - Mgh_{z}^{'}$, ${{\varphi }_{2}} = {{\varphi }_{4}} = 0$ и ${{\varphi }_{3}} = - Mgcos\alpha $. Обозначим через X* точку многообразия, в которой детерминант матрицы A равен нулю. Пусть ${{X}^{k}} \in \mathcal{M}$ – произвольная стремящаяся к особой точке последовательность принадлежащих многообразию точек, ${{X}^{k}} \to X{\kern 1pt} *$. Введем обозначение ${{A}_{k}} = A({{X}^{k}})$ и ${{\varphi }^{k}} = \varphi ({{X}^{k}},\lambda )$. Нетрудно проверить, что уравнение ${{A}_{k}}{{N}^{k}} = {{\varphi }_{k}}$ разрешимо при любых k и его решение Nk стремится к вектору $N{\kern 1pt} * = {{[R_{x}^{*},R_{z}^{*},Q{\kern 1pt} *,U{\kern 1pt} *]}^{{\text{T}}}}$, где

$R_{x}^{*} = \frac{{Mgh_{z}^{'}cos\alpha }}{{2{\text{||}}\nabla h{\text{||}}}},\quad R_{z}^{*} = \frac{{Mg}}{2} + \frac{{Mgh_{z}^{'}sin\alpha }}{{2{\text{||}}\nabla h{\text{||}}}},\quad Q{\kern 1pt} * = \frac{{Mgrcos\alpha }}{2},\quad U{\kern 1pt} * = 0.$

Таким образом, уравнение (2.3) имеет решение $N = - {{A}^{{ - 1}}}(X)\varphi (X)$ при любых $X \in \mathcal{M}$, которое в точках необратимости матрицы A(X) достраивается до непрерывного. Тем самым описанный в предыдущем разделе метод применим к рассматриваемой задаче.

4. Численное моделирование. Численное моделирование проводилось с помощью разработанной И.В. Матросовым системы компьютерной алгебры DExpert. Эта система позволяет автоматически находить аналитические выражения для неизвестных реакций и в формульном виде подставлять их в правую часть уравнений движения системы, после чего производить численное интегрирование.

В численных расчетах рассматривалось движение колеса массы M = 1 и радиуса $r = 0.01$ по кривой, заданной уравнением $z = {{x}^{4}} + a{{x}^{3}} - b{{x}^{2}} - ax - (1 - b)$, $a = 0.13,$ $b = 0.5$ (все параметры системы – безразмерные).

Профиль кривой показан на рис. 1. Начальные условия выбирались так, чтобы координата xa точки касания колеса и кривой при любых $t$ принадлежала отрезку [–1, 1]. При этом колесо совершало периодическое движение между двумя крайними точками. Интегрирование проводилось как на коротких, так и длительных интервалах времени (до нескольких сотен прохождений профиля туда и обратно).

Для интегрирования замкнутой системы использовался явный метод Рунге–Кутта второго порядка с постоянным шагом $h = {{10}^{{ - 5}}}$. Результаты численных экспериментов показали, что показатели ${{\lambda }_{i}}$ при таком шаге должны выбираться из диапазона [1, 105], что согласуется с результатами в [5, 14]. При любых ${{\lambda }_{i}}$ из указанного диапазона максимальная невязка в установившемся режиме меньше 10–7 и достигает минимума ($\mathop {max}\limits_{i = \overline {1,4} } {\text{|}}{{\delta }_{i}}{\text{|}} < 7 \times {{10}^{{ - 9}}}$) при ${{\lambda }_{i}} = {{10}^{3}}$. Заметим, что при том же значении ${{\lambda }_{i}}$ уменьшение шага до $h = {{10}^{{ - 6}}}$ позволяет уменьшить максимальную невязку на три порядка: $\mathop {max}\limits_{i = \overline {1,4} } {\text{|}}{{\delta }_{i}}{\text{|}} < 5 \times {{10}^{{ - 12}}}$.

Чтобы определить константу $\delta $ в определении Филиппова из разд. 1, необходимо также оценить абсолютную ошибку численного метода, используемого при интегрировании системы дифференциальных уравнений, разрешенных относительно старших производных. В нашем случае при применении методов Рунге–Кутта и Адамса второго порядка можно использовать известную оценку $\delta < \hat {C}{{h}^{2}}$ [15, 16]. Константа $\hat {C}$ определяется максимальным значением нормы гессиана правой части системы разрешенных относительно старших производных дифференциальных уравнений [15, 16] и в данном численном примере не превосходит величины 102. Получение более точной оценки довольно трудоемко (см., например, вычисление $\hat {C}$ и $\delta $ в скалярном случае в работе [17]) и далеко выходит за рамки настоящей статьи.

Выбор значений ${{\lambda }_{i}}$ из допустимого диапазона определяет скорость, с которой убывают начальные невязки. Чем больше ${{\lambda }_{i}}$, тем быстрее убывают невязки. На рис. 2 показаны графики невязок, вызванных ошибками в начальных данных, на начальном отрезке времени интегрирования при двух различных показателях, ${{\lambda }_{i}} = 10$ (кривые 5–8) и ${{\lambda }_{i}} = 100$ (кривые 1–4), $i = \overline {1,4} $. Как и следовало ожидать, увеличение на порядок значения ${{\lambda }_{i}}$ ускоряет убываниe начальных невязок.

Рис. 2.

Графики невязок  fi, $i = \overline {1,4} $, на начальном отрезке интегрирования для двух значений коэффициентов ${{\lambda }_{i}} = 100$ (кривые 14) и ${{\lambda }_{i}} = 10$ (кривые 58)

При интегрировании на больших интервалах времени ошибки в начальных данных оказывают пренебрежимо малый эффект на результат, и невязки вызываются ошибками, связанными с конечностью  шага  интегрирования.  Типичная картина таких невязок показана на рис. 3, где цифрами 1–4 отмечены графики невязок ${{f}_{i}}(t)$, $i = \overline {1,4} $, соответственно, на интервале времени с 86 по 101 единицу времени. Интегрирование проводилось на длительном интервале времени при шаге $h = {{10}^{{ - 5}}}$ и ${{\lambda }_{i}}$ = 103. Как видно из рисунка, величина максимальной из невязок (${{f}_{3}}$) не превышает $7 \times {{10}^{{ - 9}}}$.

Рис. 3.

Графики невязок  fi, $i = \overline {1,4} $, вызванных ошибками интегрирования, $h = {{10}^{{ - 5}}}$ и ${{\lambda }_{i}} = {{10}^{3}}$

Следующий рисунок иллюстрирует утверждение разд. 2 о недопустимости использования уравнений (2.3) (соответствуют нулевым ${{\lambda }_{i}}$) для численного нахождения сил реакций. На рис. 4 показаны профиль, по которому должно катиться колесо (верхняя кривая), и траектория, описываемая точкой $({{x}_{a}},{{z}_{a}})$, полученная при ${{\lambda }_{i}} = 0$, $i = \overline {1,4} $, на интервале времени, соответствующем двукратному прохождению профиля туда и обратно. Из рис. 4 видно, насколько сильно отличается действительная траектория точки контакта колеса с кривой от кривой, по которой она должна двигаться, при том что начальные условия были выбраны достаточно точными ($\mathop {max}\limits_{i = \overline {1,4} } {\text{|}}{{\delta }_{i}}(0){\text{|}} < 1.0{{e}^{{ - 6}}}$). Таким образом, очевидно, что попытка численного интегрирования уравнений качения без стабилизации связей заведомо обречена на неудачу.

Рис. 4.

Траектория движения колеса при ${{\lambda }_{i}} = 0$, $i = \overline {1,m} $

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

Отметим, что приведенный метод может быть адаптирован для решения задач управления/стабилизации механических систем. Действительно, легко видеть, что если $X = (x,\dot {x})$, то рассматриваемая в статье задача может быть интерпретирована как задача стабилизации аффинной системы управления с векторным входом N и векторным выходом $Y = ({{y}_{1}}, \ldots ,{{y}_{m}})$, где ${{y}_{i}} = {{f}_{i}}(X)$. Более того, в рамках предлагаемого подхода можно исследовать управляемые механические системы с априори неизвестными реакциями связей, полагая, что вектор $N$ включает в себя как управления, так и реакции связей, и записывая систему в виде (1.1), (1.2). При этом часть компонентов векторного выхода будет представлять собой ограничения, наложенные на систему, а другие – цели управления.

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

  1. Пэнлеве П. Лекции о трении. М.: Гостехтеориздат, 1954.

  2. Борисов А.В., Мамаев И.С., Караваев Ю.Л. Мобильные роботы: робот-колесо и робот-шар. М.: Институт компьютерных исследований, 2013.

  3. Ylikorpi T.J., Forsman P.J., Halme, A.J. Dynamic Obstacle Overcoming Capability of Pendulum Driven Ball-shaped Robots // Proc. 17th IASTED Inter. Conf. Robot. Appl. (RA 2014). Zurich, 2014. P. 329–338.

  4. Baumgarte J. Stabilization of Constraints and Integrals of Motion in Dynamical Systems // Comp. Math. Appl. Mech. Eng. 1972. V. 1. P. 1–16.

  5. Ascher U.M., Hongsheng C., Petzold L.R., Reich S. Stabilization of Constrained Mechanical Systems with DAEs and Invariant Manifolds // J. Mech. Struct. Mach. 1995. V. 23. P. 135–158.

  6. Petzold L.R. QDAE Methods for the Numerical Solution of Euler-Lagrange Equations // App. Num. Math. 1992. V. 10. P. 397–413.

  7. Мухарлямов Р.Г. Дифференциально-алгебраические уравнения программных движений лагранжевых динамических систем // Изв. РАН. МТТ. 2011. № 4. С. 50–61.

  8. Филиппов А.Ф. Дифференциальные уравнения с разрывной правой частью. М.: Наука, 1985.

  9. Khalil H.K. Nonlinear Systems (3rd ed.). Upper Saddle River. N.J.: Prentice Hall, 2002.

  10. Isidori A. Nonlinear Control Systems. London: Springer, 1995.

  11. Lin S.-T., Hong M.-C. Stabilization Method for the Numerical Integration of Controlled Multibody Mechanical System: A Hybrid Integration Approach // JSME Intern. J. Ser. C. 2001. V. 44. № 1. P. 79–88.

  12. Мухарлямов Р.Г. Управление динамикой системы с дифференциальными связями // Изв. РАН. ТиСУ. 2019. № 4. С. 16–28.

  13. Матросов И.В. О единственности справа решений невырожденных алгебро-дифференциальных уравнений с разрывами // АиТ. 2007. № 1. С. 11–19.

  14. Flores P., Machado M., Seabra E. Investigation on the Baumgarte Stabilization Method for Dynamic Analysis of Constrained Multibody Systems // Proc. EUCOMES08. Cassino. 2008. P. 305–312.

  15. Kreyszig E. Advanced Engineering Mathematics. N.Y.: Wiley, 1962.

  16. Hairer E., Wanner G., Solving Ordinary Differential Equations II Stiff and Differential-Algebraic Problems. Berlin: Springer, 1996.

  17. Филиппов А.Ф. Получение на ЭВМ строгих оценок решений дифференциальных уравнений // ЖВМиМФ. 1991. № 7. С. 994–1005.

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