303 lines
29 KiB
Plaintext
303 lines
29 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import sympy as sm\n",
|
|
"import sympy.physics.mechanics as me\n",
|
|
"me.init_vprinting()\n",
|
|
"\n",
|
|
"A = me.ReferenceFrame('A')\n",
|
|
"B = me.ReferenceFrame('B')\n",
|
|
"\n",
|
|
"theta = me.dynamicsymbols('theta')\n",
|
|
"\n",
|
|
"B.orient_axis(A, theta, A.y)\n",
|
|
"\n",
|
|
"Q = 3*me.outer(B.x, A.z) + 4*me.outer(A.x, A.x) + 6*me.outer(A.z, B.z)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"M1, M2, M3 = me.dynamicsymbols('M1, M2, M3')\n",
|
|
"A = me.ReferenceFrame('A')\n",
|
|
"A = me.ReferenceFrame('A')\n",
|
|
"\n",
|
|
"w1, w2, w3 = me.dynamicsymbols('omega1, omega2, omega3')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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",
|
|
"text/latex": [
|
|
"$\\displaystyle \\omega_{1}\\mathbf{\\hat{b}_x} + \\omega_{2}\\mathbf{\\hat{b}_y} + \\omega_{3}\\mathbf{\\hat{b}_z}$"
|
|
],
|
|
"text/plain": [
|
|
"ω₁ b_x + ω₂ b_y + ω₃ b_z"
|
|
]
|
|
},
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"A_w_B = w1*B.x + w2*B.y + w3*B.z\n",
|
|
"A_w_B"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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",
|
|
"text/latex": [
|
|
"$\\displaystyle M_{1}\\mathbf{\\hat{b}_x} + M_{2}\\mathbf{\\hat{b}_y} + M_{3}\\mathbf{\\hat{b}_z}$"
|
|
],
|
|
"text/plain": [
|
|
"M₁ b_x + M₂ b_y + M₃ b_z"
|
|
]
|
|
},
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"M = M1*B.x + M2*B.y + M3*B.z\n",
|
|
"M"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"I11, I22, I33 = sm.symbols('I_(11), I_(22), I_(33)')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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",
|
|
"text/latex": [
|
|
"$\\displaystyle I_{(11)}\\mathbf{\\hat{b}_x}\\otimes \\mathbf{\\hat{b}_x} + I_{(22)}\\mathbf{\\hat{b}_y}\\otimes \\mathbf{\\hat{b}_y} + I_{(33)}\\mathbf{\\hat{b}_z}\\otimes \\mathbf{\\hat{b}_z}$"
|
|
],
|
|
"text/plain": [
|
|
"I₍₁₁₎ b_x⊗b_x + I₍₂₂₎ b_y⊗b_y + I₍₃₃₎ b_z⊗b_z"
|
|
]
|
|
},
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"I = I11 * me.outer(B.x, B.x) + I22 * me.outer(B.y, B.y) + I33 * me.outer(B.z, B.z)\n",
|
|
"I"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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",
|
|
"text/latex": [
|
|
"$\\displaystyle I_{(11)} \\omega_{1}\\mathbf{\\hat{b}_x} + I_{(22)} \\omega_{2}\\mathbf{\\hat{b}_y} + I_{(33)} \\omega_{3}\\mathbf{\\hat{b}_z}$"
|
|
],
|
|
"text/plain": [
|
|
"I₍₁₁₎⋅ω₁ b_x + I₍₂₂₎⋅ω₂ b_y + I₍₃₃₎⋅ω₃ b_z"
|
|
]
|
|
},
|
|
"execution_count": 8,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"H = me.dot(I, A_w_B)\n",
|
|
"H"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 9,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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",
|
|
"text/latex": [
|
|
"$\\displaystyle (I_{(11)} \\dot{\\omega}_{1} - I_{(22)} \\omega_{2} \\omega_{3} + I_{(33)} \\omega_{2} \\omega_{3})\\mathbf{\\hat{b}_x} + (I_{(11)} \\omega_{1} \\omega_{3} + I_{(22)} \\dot{\\omega}_{2} - I_{(33)} \\omega_{1} \\omega_{3})\\mathbf{\\hat{b}_y} + (- I_{(11)} \\omega_{1} \\omega_{2} + I_{(22)} \\omega_{1} \\omega_{2} + I_{(33)} \\dot{\\omega}_{3})\\mathbf{\\hat{b}_z}$"
|
|
],
|
|
"text/plain": [
|
|
"(I₍₁₁₎⋅ω₁̇ - I₍₂₂₎⋅ω₂⋅ω₃ + I₍₃₃₎⋅ω₂⋅ω₃) b_x + (I₍₁₁₎⋅ω₁⋅ω₃ + I₍₂₂₎⋅ω₂̇ - I₍₃₃₎⋅ω ↪\n",
|
|
"\n",
|
|
"↪ ₁⋅ω₃) b_y + (-I₍₁₁₎⋅ω₁⋅ω₂ + I₍₂₂₎⋅ω₁⋅ω₂ + I₍₃₃₎⋅ω₃̇) b_z"
|
|
]
|
|
},
|
|
"execution_count": 9,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"t = me.dynamicsymbols._t\n",
|
|
"Hdot = H.diff(t, B) + me.cross(A_w_B, H)\n",
|
|
"Hdot"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 10,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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",
|
|
"text/latex": [
|
|
"$\\displaystyle (- I_{(11)} \\dot{\\omega}_{1} + I_{(22)} \\omega_{2} \\omega_{3} - I_{(33)} \\omega_{2} \\omega_{3} + M_{1})\\mathbf{\\hat{b}_x} + (- I_{(11)} \\omega_{1} \\omega_{3} - I_{(22)} \\dot{\\omega}_{2} + I_{(33)} \\omega_{1} \\omega_{3} + M_{2})\\mathbf{\\hat{b}_y} + (I_{(11)} \\omega_{1} \\omega_{2} - I_{(22)} \\omega_{1} \\omega_{2} - I_{(33)} \\dot{\\omega}_{3} + M_{3})\\mathbf{\\hat{b}_z}$"
|
|
],
|
|
"text/plain": [
|
|
"(-I₍₁₁₎⋅ω₁̇ + I₍₂₂₎⋅ω₂⋅ω₃ - I₍₃₃₎⋅ω₂⋅ω₃ + M₁) b_x + (-I₍₁₁₎⋅ω₁⋅ω₃ - I₍₂₂₎⋅ω₂̇ + ↪\n",
|
|
"\n",
|
|
"↪ I₍₃₃₎⋅ω₁⋅ω₃ + M₂) b_y + (I₍₁₁₎⋅ω₁⋅ω₂ - I₍₂₂₎⋅ω₁⋅ω₂ - I₍₃₃₎⋅ω₃̇ + M₃) b_z"
|
|
]
|
|
},
|
|
"execution_count": 10,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"M - Hdot"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 11,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/latex": [
|
|
"$\\displaystyle \\left[\\begin{matrix}M_{1}\\\\M_{2}\\\\M_{3}\\end{matrix}\\right] = \\left[\\begin{matrix}I_{(11)} \\dot{\\omega}_{1} - I_{(22)} \\omega_{2} \\omega_{3} + I_{(33)} \\omega_{2} \\omega_{3}\\\\I_{(11)} \\omega_{1} \\omega_{3} + I_{(22)} \\dot{\\omega}_{2} - I_{(33)} \\omega_{1} \\omega_{3}\\\\- I_{(11)} \\omega_{1} \\omega_{2} + I_{(22)} \\omega_{1} \\omega_{2} + I_{(33)} \\dot{\\omega}_{3}\\end{matrix}\\right]$"
|
|
],
|
|
"text/plain": [
|
|
"⎡M₁⎤ ⎡I₍₁₁₎⋅ω₁̇ - I₍₂₂₎⋅ω₂⋅ω₃ + I₍₃₃₎⋅ω₂⋅ω₃ ⎤\n",
|
|
"⎢ ⎥ ⎢ ⎥\n",
|
|
"⎢M₂⎥ = ⎢I₍₁₁₎⋅ω₁⋅ω₃ + I₍₂₂₎⋅ω₂̇ - I₍₃₃₎⋅ω₁⋅ω₃ ⎥\n",
|
|
"⎢ ⎥ ⎢ ⎥\n",
|
|
"⎣M₃⎦ ⎣-I₍₁₁₎⋅ω₁⋅ω₂ + I₍₂₂₎⋅ω₁⋅ω₂ + I₍₃₃₎⋅ω₃̇⎦"
|
|
]
|
|
},
|
|
"execution_count": 11,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"sm.Eq(M.to_matrix(B), Hdot.to_matrix(B))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Bicycle example"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 12,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"B = me.ReferenceFrame('B')\n",
|
|
"H = me.dynamicsymbols('H')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 14,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/latex": [
|
|
"$\\displaystyle \\left[\\begin{matrix}0 & -1 & 0\\\\-1 & 0 & 0\\\\0 & 0 & -1\\end{matrix}\\right]$"
|
|
],
|
|
"text/plain": [
|
|
"⎡0 -1 0 ⎤\n",
|
|
"⎢ ⎥\n",
|
|
"⎢-1 0 0 ⎥\n",
|
|
"⎢ ⎥\n",
|
|
"⎣0 0 -1⎦"
|
|
]
|
|
},
|
|
"execution_count": 14,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"B_C_H = sm.Matrix([[0, -1, 0], [-1, 0, 0], [0, 0, -1]])\n",
|
|
"B_C_H"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"B.orient_explicit(H, B_C_H.transpose())"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "turtle_trade",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.10.16"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 2
|
|
}
|