{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Движение наноспутника в транспортно-пусковом контейнере"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Юдинцев В. В. / [www.classmech.ru](www.classmech.ru) / 2019"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"_Пример использование языка программирования Python с библиотеками [numpy](https://www.numpy.org), [scipy](https://scipy.org), [sympy](https://www.sympy.org/ru/), [matplotlib](https://matplotlib.org) для построения и интегрирования уравнений движения наноспутника формата [кубсат](https://ru.wikipedia.org/wiki/Кубсат) внутри транспортно-пускового контейнера._"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![](https://www.isispace.nl/wp-content/uploads/2016/02/ISIPOD.png)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[ISIPOD CubeSat Deployer](https://www.isispace.nl/product/isipod-cubesat-deployer/)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Схема системы "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Рассмотрим простейшую плоскую модель движения [наноспутника](https://ru.wikipedia.org/wiki/Кубсат) внутри контейнера. Ниже на рисунке показан транспортно-пусковой контейнер $A_0OB_0D_0$, внутри которого движется наноспутник. Свободное движение наноспутника ограничивают направляющие транспортно-пускового контейнера, которые в рассматриваемой плоской задаче представлены отрезками $B_0D_0$ и $OA_0$. \n",
"\n",
"Пусть наноспутник при движении в контейнере своим ребром $B$, скользит по направляющей $B_0D_0$, а ребро $А_0$ контейнера может касаться боковой поверхности наноспутника $DA$. Наноспутник может двигаться внутри контейнера без соприкосновения с ребром $A_0$, однако до момента выхода из контейнера и пока на наноспутник действует сила пружинного толкателя $P$, ребро $B$ наноспутника касается поверхности $B_0D_0$. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![Наноспутник](http://classmech.ru/assets/img/blog/cubesat.png)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"На наноспутник действуют сила пружинного толкателя $P$ и силы реакции $R_A$ и $R_B$ со стороны направляющих транспортно-пускового контейнера. В рассматриваемой модели движение наноспутника в контейнере можно разделить на три этапа: \n",
"\n",
"1 этап: $P>0$, $R_A>0$, $R_B>0$: на наноспутник действует сила пружинного толкателя, спутник в процессе движения касается контейнера в точках $A_0$ и $B$. В этих точках на спутник действуют силы реакции $R_A$ и $R_B$. \n",
"\n",
"2 этап: $P>0$, $R_A=0$, $R_B>0$: на наноспутник действует сила пружинного толкателя $P$, наноспутник касается контейнера только в точке $B$. \n",
"\n",
"3 этап: $P=0$, $R_A=0$, $R_B=0$: свободное движение наноспутника \"по инерции\"."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Этапы движения показаны на следующем видео:"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"\n"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%HTML\n",
""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Уравнения движения"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Положение наноспутника будем определять относительно связанной с контейнером неподвижной системы координат $Oy_0z_0$ при помощи трех параметров: координатами центра масс наноспутника $y$, $z$ и углом $\\beta$ между направляющей конейнера и ребром наноспутника. \n",
"\n",
"Учитывая предполагаемое изменение в процессе движения количества связей, ограничивающих движение наноспутника, удобней для записи уравнений использовать теорему о движении центра масс и теорему об изменении момента количества движения, дополняя эти уравнения необходимыми уравнениями связей для каждого этапа движения. \n",
"\n",
"Векторная форма уравнений движения центра масс наноспутника имеет вид: \n",
"\n",
"\\begin{equation}\\label{eq:1}\n",
" m \\vec{a} = \\vec{R}_A + \\vec{R}_B + \\vec{P}\n",
"\\end{equation}\n",
"\n",
"где $m$ - масса наноспутника, $\\vec{R}_A$ - сила реакции, действующая на наноспутник со стороны контейнера, в точке $A'$, $\\vec{R}_B$ - сила реакции со стороны контейнера, действующая на наноспутник в точке $B$, $\\vec{P}$ - сила пружинного толкателя. Полагаем, что сила $\\vec P$ приложена в середине задней стенки наноспутника и направлена вдоль оси $Oz_0$. Трением, действующим на наноспутник при его скольжении внутри контейнера пренебрегаем.\n",
"\n",
"Уравнение углового движения наноспутника:\n",
"\n",
"$$\n",
"J \\ddot \\beta = P (z_c \\cos \\beta + y_c \\sin \\beta) - R_A (DA-z_c) - R_B(z_c \\cos \\beta - (w/2 + y_c)\\sin \\beta)\n",
"$$\n",
"\n",
"где $w = 100$ мм - ширина наноспутника, $y_c>0$, $0 \\leq z_c \\leq L$ - положение центра масс наноспутника в связанной с ним системой координат: $y_c$ - расстояние от продольной оси наноспутника до центра масс в плоскости перпендикулярной продольной оси, $z_c$ - расстояние от задней стенки наноспутника до центра масс вдоль продольной оси, $J$ - момент инерции наноспутника. В правой части последнего уравнения записана сумма моментов относительной центра масс от силы толкателя и двух сил реакции."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Спроецировав векторное уравнение движения центра масс на оси системы координат $Oy_0z_0$, вместе с уравнением движения вокруг центра масс, получим систему трех дифференциальных уравнений: "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\left\\{\n",
"\\begin{aligned}\n",
"& m \\ddot y = R_A \\cos \\beta - R_B \\\\\n",
"& m \\ddot z = P + R_A \\sin \\beta \\\\\n",
"& J \\ddot \\beta = P (z_c \\cos \\beta + y_c \\sin \\beta) - R_A (DA-z_c) - R_B(z_c \\cos \\beta - (w/2 + y_c)\\sin \\beta) \\\\\n",
"\\end{aligned}\n",
"\\right.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"в матричной форме:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\begin{pmatrix}\n",
"m & 0 & 0 & - \\cos \\beta & 1 \\\\\n",
"0 & m & 0 & - \\sin \\beta & 0 \\\\\n",
"0 & 0 & J & DA-z_c & z_c \\cos \\beta - (w/2 + y_c)\\sin \\beta \n",
"\\end{pmatrix}\n",
"\\begin{pmatrix}\n",
"\\ddot y \\\\\n",
"\\ddot z \\\\\n",
"\\ddot \\beta \\\\\n",
"R_A \\\\\n",
"R_B \n",
"\\end{pmatrix} = \\begin{pmatrix} F_y \\\\ F_z \\\\ M_x\\end{pmatrix}\n",
"$$ "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Для определения неизвестных сил реакций $R_A$ и $R_B$ систему уравнений необходимо дополнить уравнениями связей."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Уравнения связей\n",
"\n",
"Уравнения связей отражают тот факт, что движение наноспутника внутри контейнера ограничено направляющими. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Уравнение связи для точки В"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Если точка $B$ скользит по линии $B_0D_0$, то её координата $y_B$ остаётся постоянной и равной ширине контейнера ($w+d$):\n",
"\n",
"$$\n",
"y_B = w + d\n",
"$$\n",
"\n",
"Выражая координату $y_B$ через положение центра масс и угол поворота наноспутника, получим уравнение связи:\n",
"\n",
"$$\n",
" \\boxed{y + y_c \\cos \\beta + z_c \\sin \\beta + w/2 \\cos \\beta = w + d} \n",
"$$\n",
"\n",
"Это уравнение отражает связь между координатой $y$ центра масс наноспутника и углом его поворота. Запишем это уравнение связи в виде: \n",
"\n",
"$$\n",
" f_B = 0,\n",
"$$\n",
"\n",
"где \n",
"\n",
"$$\n",
" f_B = y + z_c \\sin \\beta + (w/2 + y_c) \\cos \\beta - w - d \n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Уравнение связи для точки А"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Если наноспутник скользит своей поверхностью DA по точке $A_0$ контейнера, то в этом случае должно выполняеться условие: \n",
"\n",
"$$\n",
" w \\cos \\beta + DA' \\sin \\beta = w + d, \n",
"$$ \n",
"\n",
"при этом координата $z$ точки $A'$ (точки контакта) должна быть равна известному расстоянию $OA_0$:\n",
"\n",
"$$\n",
" z_A' = z_B - w \\sin \\beta + DA' \\cos \\beta = OA_0 \n",
"$$\n",
"\n",
"С учетом последнего выражения, уравнение связи для точки А' примет вид:\n",
"\n",
"$$\n",
" w \\cos \\beta + \\frac{OA_0 - z_B + w \\sin \\beta}{\\cos \\beta} \\sin \\beta = w + d\n",
"$$\n",
"\n",
"Подставляя в это уравнение выражение для $z_B$:\n",
"\n",
"$$\n",
" z_B = z + y_c \\sin \\beta - z_c \\cos \\beta + (w/2)\\cdot \\sin \\beta \n",
"$$\n",
"\n",
"получим:\n",
"\n",
"$$\n",
" \\boxed{w \\cos^2 \\beta + (OA_0 - z + z_c \\cos \\beta + (w/2-y_c) \\sin \\beta) \\sin \\beta = (w + d) \\cos \\beta}\n",
"$$\n",
"\n",
"или \n",
"\n",
"$$\n",
" f_A = 0\n",
"$$\n",
"\n",
"где \n",
"\n",
"$$\n",
" f_A = w \\cos^2 \\beta + [OA_0 - z + z_c \\cos \\beta + (w/2-y_c) \\sin \\beta] \\sin \\beta - (w + d) \\cos \\beta \n",
"$$\n",
"\n",
"Длину $OA_0$ определим из уравнения, описывающего начальное положение наноспутника внутри контейнера. Считаем, что в начальном положении $z_B = 0$, а ребро $A$ наноспутника совпадает с ребром $A_0$ контейнера, тогда:\n",
"\n",
"$$\n",
" OA_0 = L \\cos \\beta_0 - w \\sin \\beta_0\n",
"$$\n",
"\n",
"при этом\n",
"\n",
"$$\n",
" w \\cos \\beta_0 + L \\sin \\beta_0 = w + d\n",
"$$\n",
"\n",
"Последнее уравнение позволяет определить начальное значение угла $\\beta_0$. Далее для обозначения длины $OA_0$ используется запись $L_d$\n",
"\n",
"$$\n",
" L_d = OA_0\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Сила пружинного толкателя"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Сила пружиного толкателя P, которая выталкивает наноспутник из контейнера, зависит от положения наноспутника внутри контейнера. Будем считать, что сила пружинного толкателя линейно зависит от координаты $z_B$ точки $B$ пока перемещение этой точки не превысит максимальной величины хода толкателя h:\n",
"\n",
"$$\n",
"P =\n",
"\\begin{cases}\n",
"P_0 - \\frac{P_0-P_k}{h} \\cdot z_b & z_b \\leq h \\\\\n",
"0 & z_b > h\n",
"\\end{cases}\n",
"$$\n",
"\n",
"где $P_0$ - начальное усилие толкателя, $P_k$ - конечное усилие толкателя, $h$ - ход толкателя или максимальнео его перемещение (выдвижение) от начального положения. Пока $z_b \\leq h$ толкатель разгоняет наноспутник, при $z_b>h$ толкатель перестет действовать и наноспутник продолжает движение \"по инерции\". "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Дифференциально-алгебраические уравнения"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Для интегрирования уравнений движения совместно с уравнениями связей необходимо продифференцировать дважды уравнения связей, приведя их к линейным уравнениям относительно ускорений: \n",
"\n",
"$$\n",
" f_A = f_A(y(t),z(t),\\beta(t)) = 0, \\quad f_B = f_B(y(t),z(t),\\beta(t)) = 0,\n",
"$$\n",
"\n",
"Выражение для второй производной уравнения связи $f_A =0$ будет иметь вид: \n",
"\n",
"$$\n",
" \\frac{d^2f_A}{dt^2} = \\frac{\\partial f_A}{\\partial y} \\ddot y + \\frac{\\partial f_A}{\\partial z} \\ddot z + \\frac{\\partial f_A}{\\partial \\beta} \\ddot \\beta + \\Phi_A = 0 \n",
"$$\n",
"\n",
"где \n",
"\n",
"$$\n",
"\\Phi_A = \\frac{\\partial^2 f_A}{\\partial y^2} \\dot y^2 + \\frac{\\partial^2 f_A}{\\partial z^2} \\dot z^2 + \\frac{\\partial^2 f_A}{\\partial \\beta^2} \\dot \\beta^2 + 2 \\frac{\\partial^2 f_A}{\\partial y \\partial z} \\dot y \\dot z + 2 \\frac{\\partial^2 f_A}{\\partial y \\partial \\beta} \\dot y \\dot \\beta + 2 \\frac{\\partial^2 f_A}{\\partial z \\partial \\beta} \\dot z \\dot \\beta\n",
"$$\n",
"\n",
"Полученное новое уравнение связи для ускорений можно записать матричном виде:\n",
"\n",
"$$\n",
" Q_A \\ddot{q} = \\Phi_A\n",
"$$\n",
"\n",
"или\n",
"\n",
"$$\n",
"\\begin{bmatrix} Q_{Ay} & Q_{Az} & Q_{A\\beta} \\end{bmatrix} \\cdot \\begin{bmatrix} \\ddot y \\\\ \\ddot z \\\\ \\ddot \\beta \\end{bmatrix} = \\Phi_A \n",
"$$\n",
"\n",
"где \n",
"\n",
"$$\n",
"Q_{Ay} = \\frac{\\partial f_A}{\\partial y}, \\quad Q_{Az} = \\frac{\\partial f_A}{\\partial z}, \\quad Q_{A\\beta} = \\frac{\\partial f_\\beta}{\\partial \\beta}\n",
"$$\n",
"\n",
"Дополнив уравнения движения уравнениями связей для точек А и В получим систему дифференциально-алгебраических уравнений:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"\\begin{pmatrix}\n",
"m & 0 & 0 & - \\cos \\beta & 1 \\\\\n",
"0 & m & 0 & - \\sin \\beta & 0 \\\\\n",
"0 & 0 & J & DA-z_c & z_c \\cos \\beta - (w/2 + y_c)\\sin \\beta \\\\\n",
"Q_{Ay} & Q_{Az} & Q_{A\\beta} & 0 & 0 \\\\\n",
"Q_{By} & Q_{Bz} & Q_{B\\beta} & 0 & 0 \n",
"\\end{pmatrix}\n",
"\\begin{pmatrix}\n",
"\\ddot y \\\\\n",
"\\ddot z \\\\\n",
"\\ddot \\beta \\\\\n",
"R_A \\\\\n",
"R_B \\\\\n",
"\\end{pmatrix} = \\begin{pmatrix} F_y \\\\ F_z \\\\ M_x \\\\ \\Phi_A \\\\ \\Phi_B \\end{pmatrix}\n",
"$$ "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Начальные условия также должны удовлетворять уравнениям связей:\n",
"\n",
"$$\n",
" ({f_A})_{t=0} = 0, \\quad \\left(\\frac{d f_A}{dt}\\right)_{t=0} = 0, \\quad ({f_B})_{t=0} = 0, \\quad \\left(\\frac{d f_B}{dt}\\right)_{t=0} = 0, \n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Включение и выключение связей"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Связи, ограничивающие движение наноспутника, являются неудерживающими, поэтому в процессе интегрирования уравнений движения необходимо контролировать значения сил реакций в точках контакта и в момент изменении знака силы реакции \"выключать\" соответсвующее этой реакции уравнение связи. Удобней всего сделать это \"выключение\" связи заменой исходного уравнения связи. Например, пока $R_A>0$ используем уравнение связи:\n",
"\n",
"$$\n",
"\\begin{bmatrix} Q_{Ay} & Q_{Az} & Q_{A\\beta} \\end{bmatrix} \\cdot \\begin{bmatrix} \\ddot y \\\\ \\ddot z \\\\ \\ddot \\beta \\end{bmatrix} = \\Phi_A \n",
"$$\n",
"\n",
"а при $R_A = 0$ останавливаем процесс интегрирования, \"выключаем\" связь, заменяя уравнение связи на уравнение \n",
"\n",
"$$\n",
"R_A = 0.\n",
"$$\n",
"\n",
"Далее продолжаем интегрировать систему уравнений:\n",
"\n",
"$$\n",
"\\begin{pmatrix}\n",
"m & 0 & 0 & - \\cos \\beta & 1 \\\\\n",
"0 & m & 0 & - \\sin \\beta & 0 \\\\\n",
"0 & 0 & J & DA-z_c & z_c \\cos \\beta - (w/2 + y_c)\\sin \\beta \\\\\n",
"0 & 0 & 0 & 1 & 0 \\\\\n",
"Q_{By} & Q_{Bz} & Q_{B\\beta} & 0 & 0 \n",
"\\end{pmatrix}\n",
"\\begin{pmatrix}\n",
"\\ddot y \\\\\n",
"\\ddot z \\\\\n",
"\\ddot \\beta \\\\\n",
"R_A \\\\\n",
"R_B \\\\\n",
"\\end{pmatrix} = \\begin{pmatrix} F_y \\\\ F_z \\\\ M_x \\\\ 0 \\\\ \\Phi_B \\end{pmatrix}\n",
"$$ \n",
"\n",
"Это система уравнений движения второго этапа: этапа движения, при котором наноспутник касается контейнера только точкой $B$. На втором этапе контролируется значение реакции $R_B$ и при $R_B=0$ выполняется переход на третрий этап - этап свободного движения. Исходное уравнение связи для точки $B$ заменяется на уравнение \n",
"\n",
"$$\n",
"R_B = 0\n",
"$$\n",
"\n",
"На третьем этапе интегрируется система уравнений:\n",
"\n",
"$$\n",
"\\begin{pmatrix}\n",
"m & 0 & 0 & - \\cos \\beta & 1 \\\\\n",
"0 & m & 0 & - \\sin \\beta & 0 \\\\\n",
"0 & 0 & J & DA-z_c & z_c \\cos \\beta - (w/2 + y_c)\\sin \\beta \\\\\n",
"0 & 0 & 0 & 1 & 0 \\\\\n",
"0 & 0 & 0 & 0 & 1 \\\\\n",
"\\end{pmatrix}\n",
"\\begin{pmatrix}\n",
"\\ddot y \\\\\n",
"\\ddot z \\\\\n",
"\\ddot \\beta \\\\\n",
"R_A \\\\\n",
"R_B \\\\\n",
"\\end{pmatrix} = \\begin{pmatrix} F_y \\\\ F_z \\\\ M_x \\\\ 0 \\\\ 0 \\end{pmatrix}\n",
"$$ "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Программа"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [],
"source": [
"# Символные математические преобразоания\n",
"import sympy as sp\n",
"\n",
"# Для быстрых подстановок чисел в аналитические выражения \n",
"from sympy.utilities.lambdify import lambdify\n",
"\n",
"# Для печати красивых формул\n",
"sp.init_printing()\n",
"\n",
"# Матрицы, массивы\n",
"import numpy as np\n",
"\n",
"# Из этого модуля понадобится функция root\n",
"from scipy import optimize\n",
"# Из этого модуля понадобится функция solve\n",
"from scipy import linalg\n",
"\n",
"# Для численного интегрирования дифференциальных уранвений\n",
"from scipy.integrate import solve_ivp\n",
"\n",
"# Для графиков\n",
"import matplotlib.pyplot as plt\n",
"import matplotlib as mpl\n",
"import matplotlib.pylab as pylab\n",
"\n",
"# Настройка стиля графиков\n",
"pylab.rcParams.update({'legend.fontsize': 14, \n",
" 'figure.figsize': (12, 8), \n",
" 'axes.labelsize': 14,\n",
" 'axes.titlesize':14, \n",
" 'xtick.labelsize':14,\n",
" 'ytick.labelsize':14})"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"# Положение центра масс (yc, zc), ширина наноспутника (w), время (t)\n",
"yc, zc, w, t = sp.symbols('y_c z_c w t')\n",
"\n",
"# Начальное и конечное усилие толкателя и его ход\n",
"P0, Pk, h = sp.symbols('P_0 P_k h')\n",
"\n",
"# Положение центра масс и угол поворота наноспутника -- это функции времени\n",
"y = sp.Function('y')\n",
"z = sp.Function('z')\n",
"beta = sp.Function('beta')\n",
"\n",
"# Координата z точки B\n",
"zb = z(t) + yc*sp.sin(beta(t)) - zc*sp.cos(beta(t)) + w*sp.sin(beta(t))/2 \n",
"\n",
"# Сила, действующая на наноспутник, зависящая от zb\n",
"# Используем функцию Piecewise\n",
"P = sp.Piecewise( (P0-(P0-Pk)*zb/h, zb <= h), (0, zb>h) )"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"# Длина наноспутника (L), максимальный зазор между контейнером и наноспутником (d), начальный угол (beta0)\n",
"L, d, beta0 = sp.symbols('L d beta_0')\n",
"\n",
"# Длина контейнера -- расстояние OA_0\n",
"Ld = L*sp.cos(beta0) - w*sp.sin(beta0) "
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"# Масса и момент инерции наноспутника\n",
"m, J = sp.symbols('m, J')"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/latex": [
"$\\displaystyle \\left[ \\frac{d^{2}}{d t^{2}} y{\\left(t \\right)}, \\ \\frac{d^{2}}{d t^{2}} z{\\left(t \\right)}, \\ \\frac{d^{2}}{d t^{2}} \\beta{\\left(t \\right)}\\right]$"
],
"text/plain": [
"⎡ 2 2 2 ⎤\n",
"⎢ d d d ⎥\n",
"⎢───(y(t)), ───(z(t)), ───(β(t))⎥\n",
"⎢ 2 2 2 ⎥\n",
"⎣dt dt dt ⎦"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Вектор обобщенных координат\n",
"q = [y(t), z(t), beta(t)]\n",
"\n",
"# Вектор обобщенных скоростей (производная от q)\n",
"dq = [sp.diff(var,t) for var in q]\n",
"\n",
"# Вектор обобщенных ускорений (производная от dq)\n",
"d2q = [sp.diff(var,t) for var in dq]\n",
"d2q"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Силы"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABO8AAACaCAYAAADxRmxJAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAgAElEQVR4Ae29Xe4ctbuuTaIcLwWQ1vkfJrAVkvNXAmYAyQiAGYAivecRzCBhBIHMABhBSGYA+3xJhGhNIPu+/LMrrmq77K6u/r4tVVeVPx7blz/KfsrlvvXu3bsPbEzABEzABEzABEzABM6bwK1bt36MOfhH5091/Khx3t/nnSun3gRMwARMwARMwARM4JaVd64EJmACJmACJmACJnDeBKS4e6UcPNG47gU50f1dnbD70go8iNiYgAmYgAmYgAmYwPkSuK3B3T0d7yrHr+ebNafcBEzABEzABEzABC6fgMZw3yqXd5Pijhzr+q1OKPKecm9jAiZgAiZgAiZgAiZwugQ0nvuropcLn8veyZL+k67/yu659KcWEyC+NQETMAETMAETMIETI/C10vO6kKaXsvteA0EUeyjzbEzABEzABEzABEzABE6TQNr+JE/dl7r5CotceffUn1XkjHxtAiZgAiZgAiZgAmdB4Aul8lkhpUlhh3v4nLbgx1YmYAImYAImYAImYAJHJiB93MZYTi9gSVVQ3t0+cvocvQmYgAmYgAmYgAmYwEICrKrrCPpRhx97MQETMAETMAETMAETOFECVt6daME4WSZgAiZgAiZgAibQQSAp5tIquzzIm3jTo+DLw/naBEzABEzABEzABEzghAhYeXdCheGkmIAJmIAJmIAJmMAeCHy8B5kWaQImYAImYAImYAImcCACVt4dCLSjMQETMAETMAETMIE9EEir60qi06q8f0qOtjMBEzABEzABEzABEzgPAlbenUc5OZUmYAImYAImYAImsEEg+xfZ0qexye7vjYC2MAETMAETMAETMAETOBsCVt6dTVE5oSZgAiZgAiZgAiZQJPC7bD8puKSVd7jbmIAJmIAJmIAJmIAJnCkBK+/OtOCcbBMwARMwARMwAROIBH7V+X6Bxmeye52tzit4sZUJmIAJmIAJmIAJmMCpE7Dy7tRLyOkzARMwARMwARMwgRkCUs49k/ObW7dufZW86ZpPZh/q+CbZ+WwCJmACJmACJmACJnCeBO6cZ7KdahMwARMwARMwARMwgYwAq+weS2mXPp99oPvPpdh7nfnxpQmYgAmYgAmYgAmYwBkSsPLuDAvNSTYB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q+wYaPPmAsMm15/HQXuw8I8JmIAJmIAJmECZAM9LPUN5lv6g89voi2fqD3JLCqtgrXv8/MohCxRiYUWb7tPKAc7sNcefQzAOQNGX/vX1O9mzH124z+LlH22xS3E/ldvfskOphwzSgnKRM25pZZ1uR4a0JBnJoWSX/ngCJWFQREo26U1pYBJFfCjsMB/r4PPgoABspTuE8I8JmIAJmIAJzBCIzxhWhvOcW8XckhQewvwT1KfpobWKZAsxARO4eALqlOiQHqvv+LA3swrD5yoMtl8oXBrw9wa3PxMwARMwARMwARMwARMwARMwARM4WQKa8zLf/ULz3U93SWSaO0vOrdu7CHJYEzCB6yagToQVd3zWihKvyyhMWjY8fArbFdCeTMAETMAETMAETMAETMAETMAETOCECWhuzEpyFqysuj+8lXcnXOhOmgmcCQE6JT6JoZPqNeEz222Ufr2C7c8ETMAETMAETMAETMAETMAETMAEjkSAbRv4ymy0NcWuack/my3J8mdtJSq2MwETGBGQEo4OimXB7KnTZRSGz/X5bP8zhcs3y+4Kb08mYAImYAImYAImYAImYAImYAImcCoENMdlxR1z4/9ojjvdp3U2mQr7lzwUF8RI1i2Ud2zWyj83lszf8rSqtrAUie1MwATOn4A6GzaD/k19RtefV8g/fc8fOlDgfem+RhRsTMAETMAETMAETMAETMAETMAEzo6A5rco3ligsujPFRUexV/RaK787JZ+io62NAETMIFtCERlHJ3V1+pXulfSKRxvJtgz7zs6pW3itF8TMAETMAETMAETMAETMAETMAETODYBzWuZC/Ov6XuZ01p5d+wSdvwmcEEE1GHxtuETdVhbrdhVOFbffbRtuAtC56yYgAmYgAmYgAmYgAmYgAmYgAmcIQHNZ/mq7P4+57P/DwO3tpkt4zs4AAAAAElFTkSuQmCC\n",
"text/latex": [
"$\\displaystyle \\left[\\begin{matrix}0\\\\\\begin{cases} P_{0} - \\frac{\\left(P_{0} - P_{k}\\right) \\left(\\frac{w \\sin{\\left(\\beta{\\left(t \\right)} \\right)}}{2} + y_{c} \\sin{\\left(\\beta{\\left(t \\right)} \\right)} - z_{c} \\cos{\\left(\\beta{\\left(t \\right)} \\right)} + z{\\left(t \\right)}\\right)}{h} & \\text{for}\\: h \\geq \\frac{w \\sin{\\left(\\beta{\\left(t \\right)} \\right)}}{2} + y_{c} \\sin{\\left(\\beta{\\left(t \\right)} \\right)} - z_{c} \\cos{\\left(\\beta{\\left(t \\right)} \\right)} + z{\\left(t \\right)} \\\\0 & \\text{otherwise} \\end{cases}\\\\\\left(y_{c} \\cos{\\left(\\beta{\\left(t \\right)} \\right)} + z_{c} \\sin{\\left(\\beta{\\left(t \\right)} \\right)}\\right) \\left(\\begin{cases} P_{0} - \\frac{\\left(P_{0} - P_{k}\\right) \\left(\\frac{w \\sin{\\left(\\beta{\\left(t \\right)} \\right)}}{2} + y_{c} \\sin{\\left(\\beta{\\left(t \\right)} \\right)} - z_{c} \\cos{\\left(\\beta{\\left(t \\right)} \\right)} + z{\\left(t \\right)}\\right)}{h} & \\text{for}\\: h \\geq \\frac{w \\sin{\\left(\\beta{\\left(t \\right)} \\right)}}{2} + y_{c} \\sin{\\left(\\beta{\\left(t \\right)} \\right)} - z_{c} \\cos{\\left(\\beta{\\left(t \\right)} \\right)} + z{\\left(t \\right)} \\\\0 & \\text{otherwise} \\end{cases}\\right)\\end{matrix}\\right]$"
],
"text/plain": [
"⎡ \n",
"⎢ \n",
"⎢ ⎧ ⎛w⋅sin(β(t)) \n",
"⎢ ⎪ (P₀ - Pₖ)⋅⎜─────────── + y_c⋅sin(β(t)) - z_c⋅cos(β(t))\n",
"⎢ ⎪ ⎝ 2 \n",
"⎢ ⎨P₀ - ──────────────────────────────────────────────────────\n",
"⎢ ⎪ h \n",
"⎢ ⎪ \n",
"⎢ ⎩ 0 \n",
"⎢ \n",
"⎢ ⎛⎧ ⎛w⋅sin(β(t)) \n",
"⎢ ⎜⎪ (P₀ - Pₖ)⋅⎜─────────── + y_c⋅sin(β(t))\n",
"⎢ ⎜⎪ ⎝ 2 \n",
"⎢(y_c⋅cos(β(t)) + z_c⋅sin(β(t)))⋅⎜⎨P₀ - ──────────────────────────────────────\n",
"⎢ ⎜⎪ h \n",
"⎢ ⎜⎪ \n",
"⎣ ⎝⎩ 0 \n",
"\n",
" 0 \n",
" \n",
" ⎞ \n",
" + z(t)⎟ \n",
" ⎠ w⋅sin(β(t)) \n",
"──────── for h ≥ ─────────── + y_c⋅sin(β(t)) - z_c⋅cos(β(t)) + z(t) \n",
" 2 \n",
" \n",
" otherwise \n",
" \n",
" ⎞ \n",
" - z_c⋅cos(β(t)) + z(t)⎟ \n",
" ⎠ w⋅sin(β(t)) \n",
"──────────────────────── for h ≥ ─────────── + y_c⋅sin(β(t)) - z_c⋅cos(β(t)) \n",
" 2 \n",
" \n",
" otherwise \n",
"\n",
" ⎤\n",
" ⎥\n",
" ⎥\n",
" ⎥\n",
" ⎥\n",
" ⎥\n",
" ⎥\n",
" ⎥\n",
" ⎥\n",
" ⎥\n",
" ⎞⎥\n",
" ⎟⎥\n",
" ⎟⎥\n",
"+ z(t)⎟⎥\n",
" ⎟⎥\n",
" ⎟⎥\n",
" ⎠⎦"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Столбец [Fy Fz Mx] -- первые три строки правой части уравнений движения\n",
"FyzMx = sp.Matrix([0,P,P*(zc*sp.sin(beta(t)) + yc*sp.cos(beta(t)))]) \n",
"FyzMx"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Уравнения связей"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/latex": [
"$\\displaystyle - d - w + z_{c} \\sin{\\left(\\beta{\\left(t \\right)} \\right)} + \\left(\\frac{w}{2} + y_{c}\\right) \\cos{\\left(\\beta{\\left(t \\right)} \\right)} + y{\\left(t \\right)}$"
],
"text/plain": [
" ⎛w ⎞ \n",
"-d - w + z_c⋅sin(β(t)) + ⎜─ + y_c⎟⋅cos(β(t)) + y(t)\n",
" ⎝2 ⎠ "
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Уравнение связи для точки В\n",
"f_B = y(t) + zc * sp.sin(beta(t)) + (w/2 + yc)*sp.cos(beta(t)) - w - d\n",
"f_B"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/latex": [
"$\\displaystyle w \\cos^{2}{\\left(\\beta{\\left(t \\right)} \\right)} - \\left(d + w\\right) \\cos{\\left(\\beta{\\left(t \\right)} \\right)} + \\left(L \\cos{\\left(\\beta_{0} \\right)} - w \\sin{\\left(\\beta_{0} \\right)} + z_{c} \\cos{\\left(\\beta{\\left(t \\right)} \\right)} - z{\\left(t \\right)}\\right) \\sin{\\left(\\beta{\\left(t \\right)} \\right)}$"
],
"text/plain": [
" 2 \n",
"w⋅cos (β(t)) - (d + w)⋅cos(β(t)) + (L⋅cos(β₀) - w⋅sin(β₀) + z_c⋅cos(β(t)) - z(\n",
"\n",
" \n",
"t))⋅sin(β(t))"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Уравнение связи для точки А'\n",
"f_A = w*sp.cos(beta(t))**2 + (Ld-z(t)+zc*sp.cos(beta(t))+0*(w/2-yc)*sp.sin(beta(t)))*sp.sin(beta(t))-(w+d)*sp.cos(beta(t))\n",
"f_A"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"# Вторые производные уравнений связи\n",
"d2f_B = sp.diff(f_B,t,2)\n",
"d2f_A = sp.diff(f_A,t,2)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/latex": [
"$\\displaystyle 2 w \\sin^{2}{\\left(\\beta{\\left(t \\right)} \\right)} \\left(\\frac{d}{d t} \\beta{\\left(t \\right)}\\right)^{2} - w \\sin{\\left(2 \\beta{\\left(t \\right)} \\right)} \\frac{d^{2}}{d t^{2}} \\beta{\\left(t \\right)} - 2 w \\cos^{2}{\\left(\\beta{\\left(t \\right)} \\right)} \\left(\\frac{d}{d t} \\beta{\\left(t \\right)}\\right)^{2} + \\left(d + w\\right) \\sin{\\left(\\beta{\\left(t \\right)} \\right)} \\frac{d^{2}}{d t^{2}} \\beta{\\left(t \\right)} + \\left(d + w\\right) \\cos{\\left(\\beta{\\left(t \\right)} \\right)} \\left(\\frac{d}{d t} \\beta{\\left(t \\right)}\\right)^{2} - 2 \\left(z_{c} \\sin{\\left(\\beta{\\left(t \\right)} \\right)} \\frac{d}{d t} \\beta{\\left(t \\right)} + \\frac{d}{d t} z{\\left(t \\right)}\\right) \\cos{\\left(\\beta{\\left(t \\right)} \\right)} \\frac{d}{d t} \\beta{\\left(t \\right)} - \\left(z_{c} \\sin{\\left(\\beta{\\left(t \\right)} \\right)} \\frac{d^{2}}{d t^{2}} \\beta{\\left(t \\right)} + z_{c} \\cos{\\left(\\beta{\\left(t \\right)} \\right)} \\left(\\frac{d}{d t} \\beta{\\left(t \\right)}\\right)^{2} + \\frac{d^{2}}{d t^{2}} z{\\left(t \\right)}\\right) \\sin{\\left(\\beta{\\left(t \\right)} \\right)} - \\left(L \\cos{\\left(\\beta_{0} \\right)} - w \\sin{\\left(\\beta_{0} \\right)} + z_{c} \\cos{\\left(\\beta{\\left(t \\right)} \\right)} - z{\\left(t \\right)}\\right) \\sin{\\left(\\beta{\\left(t \\right)} \\right)} \\left(\\frac{d}{d t} \\beta{\\left(t \\right)}\\right)^{2} + \\left(L \\cos{\\left(\\beta_{0} \\right)} - w \\sin{\\left(\\beta_{0} \\right)} + z_{c} \\cos{\\left(\\beta{\\left(t \\right)} \\right)} - z{\\left(t \\right)}\\right) \\cos{\\left(\\beta{\\left(t \\right)} \\right)} \\frac{d^{2}}{d t^{2}} \\beta{\\left(t \\right)}$"
],
"text/plain": [
" 2 2 \n",
" 2 ⎛d ⎞ d 2 ⎛d \n",
"2⋅w⋅sin (β(t))⋅⎜──(β(t))⎟ - w⋅sin(2⋅β(t))⋅───(β(t)) - 2⋅w⋅cos (β(t))⋅⎜──(β(t)\n",
" ⎝dt ⎠ 2 ⎝dt \n",
" dt \n",
"\n",
" 2 2 2 \n",
" ⎞ d ⎛d ⎞ ⎛ \n",
")⎟ + (d + w)⋅sin(β(t))⋅───(β(t)) + (d + w)⋅cos(β(t))⋅⎜──(β(t))⎟ - 2⋅⎜z_c⋅sin\n",
" ⎠ 2 ⎝dt ⎠ ⎝ \n",
" dt \n",
"\n",
" ⎛ 2 \n",
" d d ⎞ d ⎜ d \n",
"(β(t))⋅──(β(t)) + ──(z(t))⎟⋅cos(β(t))⋅──(β(t)) - ⎜z_c⋅sin(β(t))⋅───(β(t)) + z_\n",
" dt dt ⎠ dt ⎜ 2 \n",
" ⎝ dt \n",
"\n",
" 2 2 ⎞ \n",
" ⎛d ⎞ d ⎟ \n",
"c⋅cos(β(t))⋅⎜──(β(t))⎟ + ───(z(t))⎟⋅sin(β(t)) - (L⋅cos(β₀) - w⋅sin(β₀) + z_c⋅\n",
" ⎝dt ⎠ 2 ⎟ \n",
" dt ⎠ \n",
"\n",
" 2 \n",
" ⎛d ⎞ \n",
"cos(β(t)) - z(t))⋅sin(β(t))⋅⎜──(β(t))⎟ + (L⋅cos(β₀) - w⋅sin(β₀) + z_c⋅cos(β(t\n",
" ⎝dt ⎠ \n",
" \n",
"\n",
" 2 \n",
" d \n",
")) - z(t))⋅cos(β(t))⋅───(β(t))\n",
" 2 \n",
" dt "
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# ...выглядят эти производные довольно громоздко даже после попытки упрощения (метод simplify)\n",
"d2f_A.simplify()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Коэффициенты при вторых производных обобщенных координат в уравнении связи $d^2f_A/dt^2 = 0$ -- матрица-строка $Q_A = [Q_{Ay}, Q_{Az}, Q_{A\\beta}]$:"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/latex": [
"$\\displaystyle \\left[ 0, \\ - \\sin{\\left(\\beta{\\left(t \\right)} \\right)}, \\ L \\cos{\\left(\\beta_{0} \\right)} \\cos{\\left(\\beta{\\left(t \\right)} \\right)} + d \\sin{\\left(\\beta{\\left(t \\right)} \\right)} - w \\sin{\\left(\\beta_{0} \\right)} \\cos{\\left(\\beta{\\left(t \\right)} \\right)} - 2 w \\sin{\\left(\\beta{\\left(t \\right)} \\right)} \\cos{\\left(\\beta{\\left(t \\right)} \\right)} + w \\sin{\\left(\\beta{\\left(t \\right)} \\right)} - z_{c} \\sin^{2}{\\left(\\beta{\\left(t \\right)} \\right)} + z_{c} \\cos^{2}{\\left(\\beta{\\left(t \\right)} \\right)} - z{\\left(t \\right)} \\cos{\\left(\\beta{\\left(t \\right)} \\right)}\\right]$"
],
"text/plain": [
"⎡ \n",
"⎣0, -sin(β(t)), L⋅cos(β₀)⋅cos(β(t)) + d⋅sin(β(t)) - w⋅sin(β₀)⋅cos(β(t)) - 2⋅w⋅\n",
"\n",
" 2 2 \n",
"sin(β(t))⋅cos(β(t)) + w⋅sin(β(t)) - z_c⋅sin (β(t)) + z_c⋅cos (β(t)) - z(t)⋅cos\n",
"\n",
" ⎤\n",
"(β(t))⎦"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"QA = [ d2f_A.expand().coeff(var) for var in d2q ]\n",
"QA"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Коэффициенты при вторых производных обобщенных координат в уравнении связи $d^2f_B/dt^2 = 0$ -- матрица-строка $Q_B = [Q_{By}, Q_{Bz}, Q_{B\\beta}]$:"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/latex": [
"$\\displaystyle \\left[ 1, \\ 0, \\ - \\frac{w \\sin{\\left(\\beta{\\left(t \\right)} \\right)}}{2} - y_{c} \\sin{\\left(\\beta{\\left(t \\right)} \\right)} + z_{c} \\cos{\\left(\\beta{\\left(t \\right)} \\right)}\\right]$"
],
"text/plain": [
"⎡ w⋅sin(β(t)) ⎤\n",
"⎢1, 0, - ─────────── - y_c⋅sin(β(t)) + z_c⋅cos(β(t))⎥\n",
"⎣ 2 ⎦"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"QB = [ d2f_B.expand().coeff(var) for var in d2q ]\n",
"QB"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"В правую часть уравнений движения пойдут все слагаемые, в которые не ходят вторые производные обобщенных координат. Используем для этого метод [as_independent](https://docs.sympy.org/latest/modules/core.html#sympy.core.expr.Expr.as_independent). Эти слагаемые составляют $\\Phi_B$:"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/latex": [
"$\\displaystyle - \\left(\\frac{w \\cos{\\left(\\beta{\\left(t \\right)} \\right)}}{2} + y_{c} \\cos{\\left(\\beta{\\left(t \\right)} \\right)} + z_{c} \\sin{\\left(\\beta{\\left(t \\right)} \\right)}\\right) \\left(\\frac{d}{d t} \\beta{\\left(t \\right)}\\right)^{2}$"
],
"text/plain": [
" 2\n",
" ⎛w⋅cos(β(t)) ⎞ ⎛d ⎞ \n",
"-⎜─────────── + y_c⋅cos(β(t)) + z_c⋅sin(β(t))⎟⋅⎜──(β(t))⎟ \n",
" ⎝ 2 ⎠ ⎝dt ⎠ "
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Phi_B = d2f_B.expand().as_independent(*d2q)[0].simplify()\n",
"Phi_B"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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hMRoTuBobdvU9wtAvsb8PN/cXe0uldnJwg9SQUW5kIAPMrRggCDkREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAENiWAtQx8Yzf/nPnA/mFzU4E6Kvx2QBaCug9o/EernAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAhsTeApBPioRR/naggt/PjLRCM0OREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQARHYjIB5ccV9CMDPtMt5BM4WfmB1DL9pz+/V8zUpciIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiKwJYHhxRVYz8C1DHIegbOFHyb8GfZ3sWrmVy++TkVABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERgFQJYt3AXBXHtAtcxyAUI3MKKmID3V1+ZRR+/IfzrYAR5ioAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiMCCBLB24SWy/wFrF+4tWMyus44u/GCtAPADdi8B8MWuaynhRUAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEdkUAaxa+g8Bct/Aj1i283ZXwKwqbW/jxA2R5g+0eIH5cUS4VJQIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIicGACWPjxitXHeoXHB8aQrXpy4QdTA+Rz7PjalAfZ3BRBBERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABGYSwFqFJ8iC6xX+g/UKVzOzu+jk2YUfrD2A8q0fbwBTn3y56OagyomACIiACIiACIiACIiACIiACIiACIiACIiACIiACIiACIiACIiACIiACIjAtgSwRoGfeHmH7b9Yp/B+W2n6L7104cddA/WxoPavVEkoAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAnslgIUfXPTxEusT/thrHdaUu2jhBwUyK2q+A9i3awqoskRABERABERABERABERABERABERABERABERABERABERABERABERABERABERABI5BAGsT+GKKh1qbUK7v/we2qMv+NiTeJQAAAABJRU5ErkJggg==\n",
"text/latex": [
"$\\displaystyle \\left(\\frac{L \\sin{\\left(\\beta_{0} - \\beta{\\left(t \\right)} \\right)} \\frac{d}{d t} \\beta{\\left(t \\right)}}{2} - \\frac{L \\sin{\\left(\\beta_{0} + \\beta{\\left(t \\right)} \\right)} \\frac{d}{d t} \\beta{\\left(t \\right)}}{2} + d \\cos{\\left(\\beta{\\left(t \\right)} \\right)} \\frac{d}{d t} \\beta{\\left(t \\right)} + \\frac{w \\cos{\\left(\\beta_{0} - \\beta{\\left(t \\right)} \\right)} \\frac{d}{d t} \\beta{\\left(t \\right)}}{2} - \\frac{w \\cos{\\left(\\beta_{0} + \\beta{\\left(t \\right)} \\right)} \\frac{d}{d t} \\beta{\\left(t \\right)}}{2} + w \\cos{\\left(\\beta{\\left(t \\right)} \\right)} \\frac{d}{d t} \\beta{\\left(t \\right)} - 2 w \\cos{\\left(2 \\beta{\\left(t \\right)} \\right)} \\frac{d}{d t} \\beta{\\left(t \\right)} - 2 z_{c} \\sin{\\left(2 \\beta{\\left(t \\right)} \\right)} \\frac{d}{d t} \\beta{\\left(t \\right)} + z{\\left(t \\right)} \\sin{\\left(\\beta{\\left(t \\right)} \\right)} \\frac{d}{d t} \\beta{\\left(t \\right)} - 2 \\cos{\\left(\\beta{\\left(t \\right)} \\right)} \\frac{d}{d t} z{\\left(t \\right)}\\right) \\frac{d}{d t} \\beta{\\left(t \\right)}$"
],
"text/plain": [
"⎛ d d \n",
"⎜L⋅sin(β₀ - β(t))⋅──(β(t)) L⋅sin(β₀ + β(t))⋅──(β(t)) \n",
"⎜ dt dt d \n",
"⎜───────────────────────── - ───────────────────────── + d⋅cos(β(t))⋅──(β(t)) \n",
"⎝ 2 2 dt \n",
"\n",
" d d \n",
" w⋅cos(β₀ - β(t))⋅──(β(t)) w⋅cos(β₀ + β(t))⋅──(β(t)) \n",
" dt dt d \n",
"+ ───────────────────────── - ───────────────────────── + w⋅cos(β(t))⋅──(β(t))\n",
" 2 2 dt \n",
"\n",
" \n",
" \n",
" d d d \n",
" - 2⋅w⋅cos(2⋅β(t))⋅──(β(t)) - 2⋅z_c⋅sin(2⋅β(t))⋅──(β(t)) + z(t)⋅sin(β(t))⋅──(β\n",
" dt dt dt \n",
"\n",
" ⎞ \n",
" ⎟ \n",
" d ⎟ d \n",
"(t)) - 2⋅cos(β(t))⋅──(z(t))⎟⋅──(β(t))\n",
" dt ⎠ dt "
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Phi_A = d2f_A.expand().as_independent(*d2q)[0].simplify()\n",
"Phi_A"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Переход от символьных выражений к их числовым значениям (подстановка)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"В полученных выше аналитических выражениях при численном интегрировании необходимо выполнять замены символов их соответсвующими числовыми значениями. Для замены можно использоваться метод subs выражения sympy, например, для подстановки в выражение Phi_B значений $w = 0.1$ и $y_c=0$ можно вызвать метод subs, передав ему список замен:"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAA3CAYAAADjVlaCAAAACXBIWXMAAA7EAAAOxAGVKw4bAAASnklEQVR4Ae2di7HcxBKG73E5AGMysDOwcQSGDAxEYMgAlyOgIAMgAh4ZGCIwdgaQAXgz8P0/eVpIo3npdVZ7Tk+VVpqZ7p7uX6Oep7RX79+//58HR8ARcAQcgduDwNXV1T1Z+zJY/CCcn6s9ON29PTC4pY6AI+AIOAIBge/UAHxtaKiR+EHXb3Q8vPKRgsHiZ0fAEXAEbgcCagSYIvpM/v93LFac0cJfOh7fIcGDI+AIOAKOwK1CgFHCnymLfaSQQsXTHAFHwBG4RQhopPCdzH2mkcNDHyncohvvpjoCNw0BObNfdXx60+yq2SOb7+l4xblGW8uXjEeieabjMbTeKICCB0fAEbg4BOTMfpXSr2xe/OIMWKGwbD6J/YWOP9Y0DOJlLYFRwuMg0xsFgeHBEXAELgyB0CD8LUf241LVJeORjjc63ulg981FBdn+Vgp/q4NdQ7ODbO4aBMlhwfmkOHg88DWF2VA6gyPgCJwTATmur1T+Czmyh1voIXnsxPlc8n7bQt51y5D+NGj3pf/nrWXj/EULH6MNCyw+v/BGweDwsyPgCBwegeDMuq2TcoL0lFcFyWM94pWOjySPKZmLDLIDTHj3oGnkJPp3op+sR4j/ytcULrIKuNKOwK1FAAf+/RYNQkDwM52ZhrrYBiHYQY//Ozn7iaMP+aOT7KURZFAwOiDyRmEElUccAUfgqAjI4TFtxDTJcMpjrbqMFLoXuNYKOie/MGHq628dLBqvCj59tAo+Z3YEHIHrQiBMefy4tFEQP/PoNCiMCv7RQWPAIu3FridI9z7IPpsKeyiMaCAWBW8UFsHmTI6AI3CdCMjhfaPy6AUvmvsPDpMtrGy97Bym0piKwpEukim+wwXZRCP3p2zsv2s0V0mfPpqLmNM7Ao7AORDAyf0mZzd77l+Oknl2GgR2LA170Fy/XSJTfEcNbFH9Kti8SEdvFBbB5kyOgCNwXQjIwfHGLVM/OLwlgREGDcMvEfONWE+IbLL1EdZfFgWfPloEmzM5Ao7AdSGgRoFe/qfq0X+0pEzxs/2SKRV2GnUh9KRJ778UGrIu/iTbmBZ7IHsXvcfhI4WLrwJugCNw4xFY3KMPzp9RQvxOwxegJsdpPeubBCKN6APZzuhqdvBGYTZkzuAIOALXhYAcG1NHOHV6v2vC64iZt3+7hkJlPFvqQCOZR4naNBmN6exwLY3CDQM8C/IedrbKbKFrocka5xlnQ2CP+9Yqs0a3Nr8B1C8DzaIevUYCJ/Hj/Ptes3Rmvp24/Z/AE9ENF6CVtU+o4WWlttIZ/fAcbMbufrpsmF+73r1RkHFsJaO1v9FhDztnymS4CNal0EJT4r+oPOExqXdK45PDvYM4ukHhnk7sWKP3TJm1OrM2v2YKtp9WOu2nkvEEu3Ww6ExjgMO8H7D4Wde7h41xr+mLjYvqza4LzQKBb3TTCm/5BmINjEm+9MAJsH+XLWlN3waZCCkktNoZ9GBrHS/O2CIQOtGqj0KrzCGTeGgUeGWftxuToYUmybhxovTg4SQYFny3pbm31sIvGvu+i80nMw1B6D8T/CF6zF/p3/T8iI76fbZ6pfKL9a6WX0JfvJNF4hL9deadG/eSrdKN5+sbPVNXJbpknphYbNn8UGE8gG/2kD1XpvRgbo0vIf4wl7dGL5lNdoqOB/eroTziOn4dpnGtUJQZ8vkAFjsMRvdOaTR+9+L0YbyFZki/9XUon3956nRHXx1Je4xmeG7lDzKRC6jdB8N0LmIzLOec1+ipo/r8iOYQ9Qpd0TmHWS0/xYc8Hbs8t6ny5qRJr0PgntNZ+uFbwI5dWyMfUYvfEdNegZbqEN8oFwjMR/LWIr2prUPVTrXaVG6cYDxK+VfpqSFeTSaNHA1CqmcN5vCXQgtNll/2fKpj0T7owIfz6Eczuj6pMOLV+jKTnxeTeOWfETHn5Kgsa+h5M2p1gD9bP1K9qtWpWn4KbRwvgQb9MOFguOdwYfqIkPIvH3Jyv3pQZrUirfQq710r7SXTtdgpGoZxE5yVztax1EihiJ14eMCyvUjlddMmqTItrYXGaOOzeJnWSNoU08Zx8bGLJGUzMunZZHubyFJo5hftpJxYn6PGpXuxDgQskvcAu1O212Qqf1W9Qr6O7P2r5cf3QvRWJ/pRZUxzjrj0OhTuKQy4DzoWjbJ2GSmoJaUnm+rFKvnmhDV2Bl5a8edDRBplgm9pNwbYfzGUm7huoUmwrU5Cd0ZIcWC0QCC/FNbyl2QfIq+xDiR1PXO9qtWpWn5s0/2QAN+hw5lxn2CjhsKeJ8NwQpNLuJvLWJnOHuCS02Loi0OkR0PgK4VvlcZwkTmweJqlI8r9BFk4C4CghSR8KTmPg0zKQfbvSuv+nWhQPqCxr5fhOj0TwhMdr0X7fRfL/7TYiV6/Bz3oiaGjDYtTC55JmeJHDtNf2Ac/f52HXSk9wZ7dFSUcW2gkYrsgfe3elIRmK/ESfvEwzWXlsrjPupItPGf1CGVRJ7hfFsC6n/Ya0Nj0BvIZnfR1XzTU82TdNKGJc7IODOkk94j1qlanavlDE7m2+za8BzHNtcYPinsJA8OwRDPOUwWeTGusTVMJLDqNFlVjmYGGXQs8eEwJcD17IVg8GM2fd4/sUNpfwzTiOnhgYzqGvDjXfkioax5khl6Thdwhv/Jb7GRXTVem6HFQHMhHn0eWZ2elFWUqvxtSG33qLBrKyE4vwdNCk5IdeNGhxytHF6eLh8aMwntMjEZphnlW7lx+0VOv+umMAX9x8S3QUS/6aQtd44RJ6+4ZZx3cw1EdUbyrywGnprppGNhZMop1IMjuMRT9IepV0CNb72r5Zr+dRY9voL7099DyznVGJytb14fA3fSJz9KP+pq9HzG9xe+KaY/Aw5CaIujKUmuLc3gqJU5WuNIAe8lC8CeS8Yn4qTi9PKX1PbpQRm4IyoIMToLeWRd0zaiFaxxBqbddtLMTNviR3F4W9irrJx2PByRc1mQyAqj1dMEeOaXQQlPi3yvv45WCe37hDVZ9UPxv4U5vlRGbbQnu8wcXdBLirb2G5ynQQcNXO+N6xfZr/gyecu7raKmbIhuFWh0YER+oXtXqVC1/ZJcihnmcfoj4gXDP4TEX707OXVVegP9Dx5wb0E335DRROg/DKZc/fJBC+TjIRe8ySBZTMxj/LjyI9NR4WOfIs5X6WOUaJkU7g23/xEJDHGdCbzMORZkipqGKG7xYBrJtiirOs3iVRvrjPCkvDujIFGCqEWfHT9/ARozcp1zoZCozhxd8a/mRgd3snkru3gr3jPsymjqUTWDe4S4a8sH3tY5REJ11KJi+fCHaJXUTLLLPT9Axh9M561WtTtXyR1gq0tUJ4ZjFImbYM35g3EtmdxiWCOK8uwHwuLca0+0SF8g8WF9Lh5RzmVMm+r/UgQOjgeG/SvmHprVyJWpVYBRDjzEVcCyzKnuolGBGw1cKRacSGKs0OfykB9NHONWR4ywpRJ7oT+LlMtXYWhqOIxnm8KscMOKvG3N128qLy7LGNOd0oTea0v3j/hL2qJtHrVe1OlXL/4DYyl/d+25+dKWYjl31Z/jy11Fx38LUXsad/mrbCx7s3EPXlaQbhwNnzrbv0SttwqM0HDyvp/PHEaw7jILSugcUOcEB8HldGgPo7cEc8WwYqdnJZ3nfZspjaiPVYJRkUilxrj2fbJxgJhLSSr1qxLTQQLd1QHdzqkPZOAxCb9uH6OS3lR+sUth05RTuizVKpeklo0nJN4WZqlpaN0t1APlHrVe1OlXLN+zs3NXhTB03mslZ95b3UjY5IuFHxT1ScxSt+YERMZG9GgUUST34nQK6yTQIqZ4mc+x9EB0LeSwi0yNliofRQBxw/Cz4dEG0Jx3M3TPU75zoh5xdfot2qsTU1IvtvEK3vkEcaFeSOVpPED7PxGfOdCCiSzPHNUwfXsNXoxnSb3XNXHzqvtCjbvkXrFZ+Roopx849yTY81B/0yOjIvaMjQz50ozULxcm3e87U29K6WaoDFGNlcN0HlU1556xXtTpVy+9tCRdgTIDvCOGouOewATfDMEczSd+rUeCheTIpTQmh4uIMH+r6lY7uI1U60wB8azyK81Cx2GcPMA7sqeVH55eivxelETdey4ppSF9T4Up2Uha9xb7BojDFqVg4NtZlUk45K1M8NLQdT7A3OS8uGhxsbYqphUZitg2ymQb7X+lPg9aFYAvvVTwPSeDEh+ve63hjaZxb+UX6g3ipQ31Q3EaauTUPoyWfD73F946pSe4Pgbr4hWgedbH/fqD5XnoaXWvd/E/ChzJyz8+R61WtTtXyhxhwbVN4qec2pt01rvt8ZNxLtqd8TIn+f7t8EE8A4vjYXjrpqSmPXUZdD1nXOAZGByjO9E/vxJXHdqrnSusW93SdDKEsemw0KlZ5PtY1IwwWoXloeVCtd8qIo3voQzq6nnSQjl7QkU86emUXTkPZOTuxDX4cuY2a0Osf6ZWdi6/IRA6OjkbFHCSXoyAZYMFQN1shWmhGQgcR8WJbaqQ3oMpfip/79FKHPfQ4wG+lrznSjjnoyLslo7WhGfzgZaMxGv9/iUse97sYQhnUTXiMnnvdYyoak2/53f0RTVePlU8dytbNnAKB7+LqlfQu1rtafoyH6GmUqe+8zzOqGzHt3nHpcujnOWW/dGZtZf7aqsDGuWx+SBkqyGQffmtZ4sUgHM/mum0pM2en0vv9zHPLy8lskQNm8JdoW2gq/Dwg2fcJSrye11afuYc6Js+P0g5Zr6RXsd7V8lP1QjzUM/xA8b2SFO/WadLhkLjn7JS+dLzAbrbed8S0V6B3PurhzSyIngEVrQ9q+ZB5tLDWzpQ9a2TSM67h1EKT0svS6Blb79jS/LwtAmvqQE6TNTJrdWZtfkpnG5WN/ECKsDVNPoQvAfAeCVvYR9OLrTIW0O2Je04dw8xG4zm6SfpujYJaMOaOmZc15SaFVxKYwvlc/Owisp1H/ZpDhffaslN2Sl9a6dk3w5ROybS80jlgzeiqf0kupm+hiXniuOQzpZMtI6b3+HwEUnXgqPWqVqdq+Tl0hIFNGbEWsUlApg7k8YyO1t3AV8dfQd++PNIVOeTz3Cs5vTC/aw3rlCKXIoB2m55RmR3we5ZxBNmxnYozlzwZ+s/RNZbZwiseKnnxkwAtNC1lOc1+z41hG9cBxQ9Zr2p1qpZv9qbO4mUabfanGlKyLE3ywJGpldGzong3XWV0dg70h3yeTcf4LJ3ZVLFoCn63BsGUlGK0WMXvIBntJZ/3sHOOTDCGvoRhC02J3/P2bwhijOfUgZg3F58js1Zn1ubndLR0yWdTRfUz4kbfcpY8pnMm625KYzpp0wZoqI9kN/tC0Vaf56Hs+Fr84Kbk+XV2l91HUsaDI+AIOAKrEdDUje1A4k+yTqsFSoBkvtHpT8kbrXkqnVHJ3E/kbKHS5jJkC7s3sXHyLk2tsLs1As93BBwBR+CMCLBVnMCUT3F7ekcV/cg50jtnEZwGhXUBtguzTb1bn1Q+cmkcmOqGtvRJemUfPwSbu6n7Jdr6SGEJas7jCDgC14ZA6PX2/4XSWnBw+Eyj8J5Dt+CqNNbdaAhGIw+ls57Ap/WH3zpS0uUF2WKjK/6CdvZC853LM9k1dgQcgVuGwC+yF0feHOQY6SnTIPCy4tAxcp36nArTLLbbSZcXHbCFr0EM7W42yBuFZqic0BFwBM6EAM6d7aJzGgYWk2kYaFCGARn9lxMGGbn0AcnFXDLqWfwOhjcKF3OfXVFH4HYioB4vTpxeL+8utQa+pcWU08kYwuiBdYPJ+wlKm6Qb3yWdw9QRKi9+j8gbhUu6466rI3B7EaDnz0us9P6LIdBAF08H0VCwTzMeKXwSp7eUA88BA4vq7KDqG8O5OnqjMBcxp3cEHIFrR0BOjp4vju7ljMJfR7SMNLqGQk7/mQ5GB4TRegJ5SuMDihcVpDdTYNhEw7A4eKOwGDpndAQcgWtGAGfHp/aLo4XQS8b5m9Pn3YTuZTCl2RbXJ6KzhVjouusgm5dALU9ZFxNslLBKd9+SejH32xV1BBwBOW1ePGOtoNgbDs79J9EyWuCT9T/rYKTBNBRpyLBRA40CC7MsaDO9tHg+Hv5zBNnLKIG1ktFW2yW6eKOwBDXncQQcgbMgIOfHi2d/6OjfPTiLIgcrVLg0/f9Mi9reKLSg5DSOgCNwGATkAPnY25fq0W/29dTDGLdAEeFhI5w5u7OyJfmaQhYaz3AEHIEjIqDGgH8u5K9umQq61UEYsCjOGsgmDQJgeqNwq6uUG+8IXCYCwQnynSIWkG9lkO1MpbEbK/ff9Ytw8UZhEWzO5Ag4AudGQA0DW0n5Iy4WWW9VkM3swGIh/alwYAF9s/B/fCtU3y1AsHcAAAAASUVORK5CYII=\n",
"text/latex": [
"$\\displaystyle - \\left(z_{c} \\sin{\\left(\\beta{\\left(t \\right)} \\right)} + 0.05 \\cos{\\left(\\beta{\\left(t \\right)} \\right)}\\right) \\left(\\frac{d}{d t} \\beta{\\left(t \\right)}\\right)^{2}$"
],
"text/plain": [
" 2\n",
" ⎛d ⎞ \n",
"-(z_c⋅sin(β(t)) + 0.05⋅cos(β(t)))⋅⎜──(β(t))⎟ \n",
" ⎝dt ⎠ "
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Phi_B.subs([ [w, 0.1], [yc, 0.0] ])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"В эту же функцию можно передать словарь:"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/latex": [
"$\\displaystyle - \\left(z_{c} \\sin{\\left(\\beta{\\left(t \\right)} \\right)} + 0.05 \\cos{\\left(\\beta{\\left(t \\right)} \\right)}\\right) \\left(\\frac{d}{d t} \\beta{\\left(t \\right)}\\right)^{2}$"
],
"text/plain": [
" 2\n",
" ⎛d ⎞ \n",
"-(z_c⋅sin(β(t)) + 0.05⋅cos(β(t)))⋅⎜──(β(t))⎟ \n",
" ⎝dt ⎠ "
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Phi_B.subs({w: 0.1, yc: 0.0})"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Наиболее быстрый способ -- использование функции [lambdify](https://docs.sympy.org/latest/modules/utilities/lambdify.html). Возьмем для примера выражение Phi_B, которое зависит от угла поврота, угловой скорости наноспутника и параметров w, yc, zc"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/latex": [
"$\\displaystyle - \\left(\\frac{w \\cos{\\left(\\beta{\\left(t \\right)} \\right)}}{2} + y_{c} \\cos{\\left(\\beta{\\left(t \\right)} \\right)} + z_{c} \\sin{\\left(\\beta{\\left(t \\right)} \\right)}\\right) \\left(\\frac{d}{d t} \\beta{\\left(t \\right)}\\right)^{2}$"
],
"text/plain": [
" 2\n",
" ⎛w⋅cos(β(t)) ⎞ ⎛d ⎞ \n",
"-⎜─────────── + y_c⋅cos(β(t)) + z_c⋅sin(β(t))⎟⋅⎜──(β(t))⎟ \n",
" ⎝ 2 ⎠ ⎝dt ⎠ "
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Phi_B"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"При помощи функции lambdify определим функцию, которая будет вычислять значение этого выражения для заданных числовых параметров. Первый аргумент функции lambdify -- список символов, которые содержаться в вычисляемом выражении, второй аргумент -- само символьное выражение."
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [],
"source": [
"n_Phi_B = lambdify( [beta(t), sp.diff(beta(t),t), w, yc, zc], Phi_B )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Результатом работы lambdify является объект типа функция, которую можно вызвать с заданными числовыми значениями"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/latex": [
"$\\displaystyle -0.0011445877901887554$"
],
"text/plain": [
"-0.0011445877901887554"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"n_Phi_B(0.1,0.1,0.01,0.1,0.1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Для удобства, чтобы вручную не перечислять параметры выражений, определим список, который будет включать в себя и вектор состояния наноспутника $q=(y,z,\\beta,\\dot{y},\\dot{z},\\dot{\\beta})$ и его параметры. Этот список будет списком аргументов всех вычисляемых функций, которые будут построены на основе символьных выражений при помощи [lambdify](https://docs.sympy.org/latest/modules/utilities/lambdify.html)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
"# Определим список параметров наноспутника \n",
"\n",
"# Наноспутника типоразмера 3U массой 3 кг, с центром масс, \n",
"# смещенным на 10 мм от продольной оси и на 50 мм от середины к толкателю\n",
"# Максимальный зазор между наноспутником и контейнером 1 мм\n",
"# Толкатель работает на ходе 220 мм\n",
"params = {m: 3.0, J: 0.021, L: 0.340, w: 0.100, d: 0.001, yc: 0.010, zc: 0.340/2.0 - 0.05, P0: 7, Pk: 2, h: 0.220}\n",
"\n",
"\n",
"def get_q0(params):\n",
" '''\n",
" Функция, определяющая начальное положение и угол поворота контейнера \n",
" для заданной длины L, ширины w \n",
" и максимального зазора d между контейнером и наноспутником, \n",
" полагая что в начальный момент точка B совпадает с точной B0, а точка А с точкой А0\n",
" '''\n",
" f = (w*sp.cos(beta0)+L*sp.sin(beta0) - w - d).subs(params) \n",
" b0 = optimize.root(lambda x: f.subs({beta0:x}), 0.0, tol=1e-8).x[0]\n",
" y0 = ((w+d) - 0.5*w*np.cos(b0)-zc*np.sin(b0)-yc*np.cos(b0)).subs(params)\n",
" z0 = (-0.5*w*np.sin(b0)+zc*np.cos(b0)-yc*np.sin(b0)).subs(params)\n",
" return [y0, z0, b0]\n",
"\n",
"\n",
"# Вектор начальных условий, зависящий от параметров наноспутника и контейнера\n",
"q0 = get_q0(params)\n",
"# Добавим к этому списку нулевые начальные скорости\n",
"q0.extend([0.0,0.0,0.0])\n",
"# Добавим в словарь параметров вычисляемое значение beta_0\n",
"params[beta0] = q0[2]"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/latex": [
"$\\displaystyle \\left[ y{\\left(t \\right)}, \\ z{\\left(t \\right)}, \\ \\beta{\\left(t \\right)}, \\ \\frac{d}{d t} y{\\left(t \\right)}, \\ \\frac{d}{d t} z{\\left(t \\right)}, \\ \\frac{d}{d t} \\beta{\\left(t \\right)}, \\ m, \\ J, \\ L, \\ w, \\ d, \\ y_{c}, \\ z_{c}, \\ P_{0}, \\ P_{k}, \\ h, \\ \\beta_{0}\\right]$"
],
"text/plain": [
"⎡ d d d \n",
"⎢y(t), z(t), β(t), ──(y(t)), ──(z(t)), ──(β(t)), m, J, L, w, d, y_c, z_c, P₀, \n",
"⎣ dt dt dt \n",
"\n",
" ⎤\n",
"Pₖ, h, β₀⎥\n",
" ⎦"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# а теперь определим объединенный список переменных состояния и параметров \n",
"state_and_params = [*q,*dq,*params.keys()]\n",
"state_and_params"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/latex": [
"$\\displaystyle \\left[\\begin{matrix}m & 0 & 0 & - \\cos{\\left(\\beta{\\left(t \\right)} \\right)} & 1\\\\0 & m & 0 & - \\sin{\\left(\\beta{\\left(t \\right)} \\right)} & 0\\\\0 & 0 & J & L - z_{c} & z_{c} \\cos{\\left(\\beta{\\left(t \\right)} \\right)} - \\left(\\frac{w}{2} + y_{c}\\right) \\sin{\\left(\\beta{\\left(t \\right)} \\right)}\\end{matrix}\\right]$"
],
"text/plain": [
"⎡m 0 0 -cos(β(t)) 1 ⎤\n",
"⎢ ⎥\n",
"⎢0 m 0 -sin(β(t)) 0 ⎥\n",
"⎢ ⎥\n",
"⎢ ⎛w ⎞ ⎥\n",
"⎢0 0 J L - z_c z_c⋅cos(β(t)) - ⎜─ + y_c⎟⋅sin(β(t))⎥\n",
"⎣ ⎝2 ⎠ ⎦"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Первые три строки матрицы коэффициентов правой части уравнений движения\n",
"# Символьное выражение sympy (матрица)\n",
"mass_matrix = sp.Matrix([[m, 0, 0, -sp.cos(beta(t)), 1],\n",
" [0, m, 0, -sp.sin(beta(t)), 0],\n",
" [0, 0, J, L-zc, zc*sp.cos(beta(t))-(w/2+yc)*sp.sin(beta(t))]])\n",
"\n",
"# Создаем функцию-вычислитель для этого блока матрицы\n",
"n_mass_matrix = lambdify(state_and_params, mass_matrix)\n",
"\n",
"# Исходное символьное выражение\n",
"mass_matrix"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 3.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n",
" -9.99995671e-01, 1.00000000e+00],\n",
" [ 0.00000000e+00, 3.00000000e+00, 0.00000000e+00,\n",
" -2.94244971e-03, 0.00000000e+00],\n",
" [ 0.00000000e+00, 0.00000000e+00, 2.10000000e-02,\n",
" 2.20000000e-01, 1.19822934e-01]])"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Вычисляем значение mass_matrix для конкретных значений\n",
"# Для примера передаем в функцию n_mass_matrix вектор начального состояния наноспутника q0, определенный выше, \n",
"# и значения параметров \n",
"n_mass_matrix(*[*q0,*params.values()])"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [],
"source": [
"# Матрица коэффициентов уравений связей \n",
"Q_matrix = sp.Matrix([QA, QB])\n",
"# и её вычисляемое выражение \n",
"n_Q_matrix = lambdify(state_and_params, Q_matrix)"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [],
"source": [
"# Матрица правых частей уравнений связей\n",
"Phi_matrix = sp.Matrix([-Phi_A, -Phi_B])\n",
"# вычислитель\n",
"n_Phi_matrix = lambdify(state_and_params, Phi_matrix)"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [],
"source": [
"# Первые три строки матрицы-столбца правой части (активные силы и момент, действующие на наноспутник)\n",
"n_FyzMx = lambdify(state_and_params,FyzMx)\n",
"\n",
"# Координата z точки B\n",
"n_zb = lambdify(state_and_params, zb)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Собираем матрицу коэффицентов левой части дифференциальных уравнений и матрицу-столбец правой части"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [],
"source": [
"def get_A_matrix(t, qt, params, stage):\n",
" A = np.zeros((5,5),dtype=float)\n",
" A[0:3,:] = n_mass_matrix(*[*qt,*params.values()])\n",
" A[3:5,0:3] = n_Q_matrix(*[*qt,*params.values()])\n",
" if stage == 2:\n",
" # RA = 0\n",
" A[3,:] = 0\n",
" A[3,3] = 1 \n",
" if stage == 3:\n",
" # RA = 0 и RB = 0\n",
" A[3,:] = 0\n",
" A[4,:] = 0\n",
" A[4,4] = 1 \n",
" A[3,3] = 1 \n",
" return A\n",
" \n",
"def get_B_matrix(t, qt, params, stage):\n",
" B = np.zeros((5,1), dtype=float)\n",
" B[0:3] = n_FyzMx(*[*qt,*params.values()])\n",
" B[3:5] = n_Phi_matrix(*[*qt,*params.values()]) \n",
" if stage == 2:\n",
" # RA = 0\n",
" B[3] = 0 \n",
" if stage==3:\n",
" # RA = 0 и RB = 0\n",
" B[3] = 0\n",
" B[4] = 0 \n",
" return B "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Численное интегрирование"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Функция правых частей дифференциальных уравнений"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [],
"source": [
"def dydt(t,y):\n",
" A = get_A_matrix(t, y, params, STAGE)\n",
" B = get_B_matrix(t, y, params, STAGE)\n",
" # Реашем систему линейных уравнений\n",
" X = linalg.solve(A,B.flatten()) \n",
" res = np.zeros(len(y), dtype=float)\n",
" # копируем скорости\n",
" res[0:3] = y[3:6]\n",
" # записываем ускорения \n",
" res[3:6] = X[0:3]\n",
" return res"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Функции для остановки интегрирования при выполнении некоторых условий"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [],
"source": [
"def Ra_eq_0(t, y):\n",
" # Функция-\"детектор\", передаваемая в интегратор (параметр events), \n",
" # для остановки процесса интегрирования \n",
" # при Ra = 0 -- переход от этапа движения 1 к этапу 2\n",
" A = get_A_matrix(t, y, params, STAGE) \n",
" B = get_B_matrix(t, y, params, STAGE)\n",
" X = linalg.solve(A,B.flatten()) \n",
" return X[3]\n",
"\n",
"# функция-детектор активна\n",
"Ra_eq_0.terminal = True\n",
"\n",
"# функция определяется условие Ra = 0 при убывании Ra\n",
"Ra_eq_0.direction = -1\n",
"\n",
"def Rb_eq_0(t, y):\n",
" # Функция-\"детектор\", передаваемая в интегратор (параметр events), \n",
" # для остановки процесса интегрирования \n",
" # при Rb = 0 -- переход от этапа движения 2 к этапу 3\n",
" A = get_A_matrix(t, y, params, STAGE) \n",
" B = get_B_matrix(t, y, params, STAGE)\n",
" X = linalg.solve(A,B.flatten()) \n",
" return X[4]\n",
"\n",
"# функция определяется условие Rb = 0 при убывании Rb\n",
"Rb_eq_0.direction = -1\n",
"# функция-детектор активна\n",
"Rb_eq_0.terminal = True"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [],
"source": [
"STAGE = 1\n",
"# Интегрируем пока Ra > 0\n",
"sol_1 = solve_ivp(dydt, [0, 0.5], q0, events = [Ra_eq_0], \n",
" rtol = 1e-6, method=\"LSODA\",minstep=0.01)\n",
"\n",
"STAGE = 2\n",
"# Интегрируем пока Rb > 0\n",
"sol_2 = solve_ivp(dydt, [sol_1.t[-1], sol_1.t[-1]+0.5], sol_1.y[:,-1], events = [Rb_eq_0], \n",
" rtol = 1e-6, method=\"LSODA\", minstep=0.01)\n",
"\n",
"STAGE = 3\n",
"# Свободное движение наноспутника\n",
"sol_3 = solve_ivp(dydt, [sol_2.t[-1], sol_2.t[-1]+0.5], sol_2.y[:,-1], \n",
" rtol = 1e-6, method=\"LSODA\", minstep=0.01)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Зависимость линейной скорости наноспутника от времени"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"