1

ABBirb

../ABBirb.png

Download ABBirb.tex

\documentclass{standalone}
\usepackage[utf8]{inputenc}
\usepackage{amsmath,amsfonts,amssymb}

\usepackage{tikz}
\usetikzlibrary{shapes,positioning,calc}
\usetikzlibrary{narrow}

\tikzset{every picture/.style={auto, line width=1pt, >=narrow,
    font=\small, x=1mm, y=1mm}}

\tikzset{block/.style={draw, rectangle, line width=2pt, fill=blue!10,
    minimum height=3em, minimum width=3em, outer sep=0pt}}

\tikzset{blockMinus/.style={draw,minimum width=2em, minimum height=2em,
    line width=1pt,fill=blue!10,label=center:{$-1$}} }

\tikzset{sumcircle/.style={draw, fill=white, circle, outer sep=0pt,
    label=center:{{$\sum$}}, minimum width=2em}}

\begin{document}
\begin{tikzpicture}

\node[block](Adam){$K_i\int dt$};
\node[sumcircle, right=10mm of Adam](sumA){};
\node[sumcircle, left=15mm of Adam](sumB){};
\node[block,left=10mm of sumB](Bertil){$K_p$};
\node[sumcircle,left=10mm of Bertil](sumC){};
\node[block, right=10 mm of sumA](Cesar){Joints};
\node[block, right=10mm of Cesar,align=left](David){Forward\\Kinematics};
\node[block, above=5mm of Adam](Erik){$K_v$};
\node[block, below=5mm of Adam](Filip){$\displaystyle\frac{d}{dt}$};
\node[blockMinus,right=15mm of Filip](F2){};

\draw[->](sumB)--node[swap](aa){}(Adam);
\draw[->](aa)|-(Erik);
\draw[->](Adam)--(sumA);
\draw[->](sumA)--(Cesar);
\draw[->](Erik)-- ++(11,0) -- (sumA);
\draw[->](sumC)--(Bertil);
\draw[->](Bertil)--(sumB);
\draw[->](Cesar)--node(C2){}(David);


\coordinate[left=15mm of sumC](AA);
\draw[->](AA)--node{$\displaystyle p_{\text{ref}}$}++(8,0) -- (sumC); 
\coordinate(BB) at ($(AA |-Erik)$);
\draw[->](BB)--node{$\displaystyle v_{\text{ref}}$}++(8,0)-|(sumB);
\coordinate(CC) at ($(BB|-Erik.north) + (0,6)$);
\draw[->](CC)--node{$\displaystyle \tau_{\text{ff}}$}++(8,0)-|(sumA);
\draw[->](C2)|-(F2);
\draw[->](F2)--(Filip);
\draw[->](Filip)-|(sumB);

\coordinate(FF) at ($(C2 |- Filip) + (0,-10)$);
\node[blockMinus](bm2) at ($(sumC |- Filip)$){};

\draw[->](C2)--(FF)-|(bm2);
\draw[->](bm2)--(sumC);

\draw[->](David)--node[xshift=-2mm]{EE}++(20,0);

%\draw[->](sumC) ++(-20,0)--node[xshift=-5mm]{$AA$}(sumC);
\end{tikzpicture}
\end{document}