dehaeze20_virtu_senso_fusio/tikz/figs/mech_sys_alone_ctrl.tex

57 lines
2.1 KiB
TeX
Raw Normal View History

2020-10-08 10:53:01 +02:00
\tikzset{block/.default={0.8cm}{0.6cm}}
\tikzset{addb/.append style={scale=0.7}}
\tikzset{node distance=0.6}
\def\cdist{0.7}
\definecolor{T}{rgb}{0.230, 0.299, 0.754}%
\definecolor{S}{rgb}{0.706, 0.016, 0.150}%
\begin{tikzpicture}
% ====================
% Parameters
% ====================
\def\massw{2.2} % Width of the masses
\def\massh{0.8} % Height of the masses
\def\spaceh{1.2} % Height of the springs/dampers
\def\dispw{0.3} % Width of the dashed line for the displacement
\def\disph{0.5} % Height of the arrow for the displacements
\def\bracs{0.05} % Brace spacing vertically
\def\brach{-10pt} % Brace shift horizontaly
% ====================
% ====================
% Ground
% ====================
\draw (-0.5*\massw, 0) -- (0.5*\massw, 0);
\draw[dashed] (0.5*\massw, 0) -- ++(\dispw, 0);
\draw[->] (0.5*\massw+0.5*\dispw, 0) -- ++(0, \disph) node[below right]{$w$};
% ====================
\begin{scope}[shift={(0, 0)}]
% Mass
\draw[fill=white] (-0.5*\massw, \spaceh) rectangle (0.5*\massw, \spaceh+\massh) node[pos=0.5]{$m$};
% Spring, Damper, and Actuator
\draw[spring] (-0.4*\massw, 0) -- (-0.4*\massw, \spaceh) node[midway, left=0.1]{$k$};
\draw[damper] (0, 0) -- ( 0, \spaceh) node[midway, left=0.2]{$c$};
\draw[actuator] ( 0.4*\massw, 0) -- ( 0.4*\massw, \spaceh) coordinate[midway, right=0.15](F);
% Displacements
\draw[dashed] (0.5*\massw, \spaceh) -- ++(\dispw, 0);
\draw[->] (0.5*\massw+0.5*\dispw, \spaceh) -- ++(0, \disph) node[right](x){$x$};
\end{scope}
\node[block, right=1 of F] (Kfb) {$K$};
\node[addb={+}{}{-}{}{}, right=2*\cdist of Kfb] (add) {};
\node[addb] (addn) at (x-|Kfb) {};
\node[block, right=of addn] (Hl) {$H_L$};
\draw[->] (x) -- (addn.west);
\draw[->] (addn.east) -- (Hl.west);
\draw[->] (Hl.east) -| (add.north);
\draw[->] (add.west) -- (Kfb.east);
\draw[->] (Kfb.west) -- (F) node[above right]{$F$};
\draw[<-] (addn.north) -- ++(0,\cdist) node[below right]{$n$};
\draw[<-] (add.east) -- ++(\cdist,0) node[above left]{$r$};
\end{tikzpicture}