From e23b2443c3a6bdb564390d83526ba118378b12d9 Mon Sep 17 00:00:00 2001
From: Bo Bernhardsson <bob@control.lth.se>
Date: Sun, 28 Jan 2018 13:20:47 +0100
Subject: [PATCH] Euler-Lagrange modeling

---
 .gitignore   |   1 +
 modeling.pdf | Bin 0 -> 24652 bytes
 modeling.tex |  72 +++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 73 insertions(+)
 create mode 100644 modeling.pdf
 create mode 100644 modeling.tex

diff --git a/.gitignore b/.gitignore
index 0cab372..717299b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -23,3 +23,4 @@
 *.synctex.gz
 *.bak
 *.mp4
+*.ps
diff --git a/modeling.pdf b/modeling.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..977cf7a898644f81add749b2b4f5e1d68fdf13ce
GIT binary patch
literal 24652
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
D0i+MP

literal 0
HcmV?d00001

diff --git a/modeling.tex b/modeling.tex
new file mode 100644
index 0000000..a5e2a2a
--- /dev/null
+++ b/modeling.tex
@@ -0,0 +1,72 @@
+\documentclass[12pt,a4paper]{report}
+\usepackage[utf8]{inputenc}
+\usepackage{amsmath}
+\usepackage{amsfonts}
+\usepackage{amssymb}
+\usepackage{tikz}
+\usetikzlibrary{patterns,angles,calc,quotes}
+
+\begin{document}
+
+\section*{Dynamics from Euler-Lagrange equations}
+
+\begin{figure}
+\begin{center}
+\begin{tikzpicture}[thick,>=latex]
+    \begin{scope}
+    %\draw[step=1cm,gray,very thin] (-1,-1) grid (4,5);
+    \draw[->,thick] (-0.1,0) -- (4,0) node[anchor=west]{x}; 
+    \draw[->,thick] (0,-0.1) -- (0,4.5) node[anchor=south]{y};
+    \coordinate (cart) at (2,0);
+    \coordinate (mass1) at ($(cart) + (104:4)$);
+    \coordinate (mass2) at ($(cart) + (127:2.5)$);
+    \coordinate (upp) at ($(cart) + (0,5)$);
+    
+    \draw[draw=black,fill=black] (cart) circle (.1cm) node (cart){};
+    \draw[dashed] (cart.center) -- (upp) {};
+    \node at (cart.south) [anchor=north] {$(x,0)$}; 
+    
+    \draw (cart.center) -- (mass1)  node[midway,xshift=2mm,yshift=5mm] (mid1) {};
+    \draw[draw=black,fill=white] (mass1.center) circle (.15cm);
+    \node at (mass1.north) [anchor=south,xshift=1mm,yshift=1mm] { $(x_1,y_1)$};
+    \pic["$\theta_1$", draw=black, ->, angle eccentricity=1.15, angle radius=2.2cm]
+    {angle = upp--cart--mass1};
+    \draw (cart.center) -- (mass2) node[midway,xshift=1mm,yshift=3mm] (mid2) {};
+    \draw[draw=black,fill=white] (mass2.center) circle (.15cm);
+    \node at (mass2.north) [anchor=south,xshift=1mm,yshift=1mm] { $(x_2,y_2)$};
+    %\pic [draw, ->,  angle eccentricity=1] {angle = upp--cart--mass2};
+    \pic["$\theta_2\;$", draw=black, ->, angle eccentricity=1.25, angle radius=1.2cm]
+    {angle = upp--cart--mass2};
+    \end{scope}
+\end{tikzpicture}
+\label{fig01}
+\caption{Two pendulums on a moving cart}
+\end{center}
+\end{figure}
+Two pendulums with lengths $l_1$ and $l_2$ and masses $m_1$ and $m_2$ are mounted on a moving cart with mass $M$, see Figure~\ref{fig01}. Introduce $L = T - V$ where kinetick and potential energies are given by
+\begin{align}
+T &= \frac{1}{2}M\dot x^2 + \frac{1}{2}m_1(\dot x_1^2 + \dot y_1^2) + \frac{1}{2}m_2(\dot x_2^2 + \dot y_2^2)\\
+V &= m_1gl_1 c_1 + m_2gl_2c_2
+\end{align}
+where $c_i$ and $s_i$ and short for $\cos(\theta_i)$ and $\sin(\theta_i)$, $i=1,2$ respectively.
+Note that $x_i = x-l_is_i$ and $y_i = l_ic_i$. 
+The Euler-Lagrange equations
+\begin{align}
+\begin{cases}
+0=\dfrac{\partial L}{\partial \theta_i} - \dfrac{d}{dt}\left(\dfrac{\partial L}{\partial \dot{\theta}_i} \right), & i=1,2 \\
+F=\dfrac{\partial L}{\partial x} - \dfrac{d}{dt}\left(\dfrac{\partial L}{\partial \dot{x}} \right).
+\end{cases}
+\end{align}
+give after some calculations that
+\begin{align}
+l_i \ddot \theta_i &= gs_i + c_i \ddot x, \quad i=1,2\\
+F&=M\ddot x + m_1(\ddot x - l_1c_1\ddot \theta_1 + l_1s_1\dot{ \theta}_1^2) + m_2(\ddot x - l_2c_2\ddot \theta_2+ l_2s_2\dot{ \theta}_2^2).
+\end{align}
+For $m_i\approx 0$ and setting $u = \frac{F}{M}$, this simplifies to
+\begin{align}
+l_1 \ddot \theta_1 &= g\sin(\theta_1) + \cos(\theta_1) u\\
+l_2 \ddot \theta_2 &= g\sin(\theta_2) + \cos(\theta_2) u\\
+\ddot x &= u
+\end{align}
+
+\end{document}
\ No newline at end of file
-- 
GitLab