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