%&tex
\documentclass{standalone}
\usepackage{tikz}
\usepackage{siltex}
\usetikzlibrary {arrows.meta,positioning,calc,math}
\tikzset{nodes={text height=.6em, text width=2.5cm, align=center,
draw=black!50, thick, font=\footnotesize, fill=white},
>={Stealth[round,sep]}, rounded corners, semithick}
\pgfdeclarelayer{bg}
\pgfsetlayers{bg,main}

\begin{document}
\begin{tikzpicture}[y=3.5mm,x=3.2cm]
\def\rectoffset{-1.2mm,1.2mm};
\def\rectoffsetleft{-1.9cm,0cm};
\def\textoffset{-2.5cm,0cm};
\def\modelgroup(#1,#2,#3){%
    \begin{scope}[nodes={draw=none, fill=none,text width={},text height={}}]
        \node (a) at ($(#1.north west)+(\rectoffset)+(\rectoffsetleft)$){};
        \node (b) at ($(#2.south east)-(\rectoffset)$){};
        \draw[fill=lightgray] (a) rectangle (b);
        \node[anchor=center] at ($(#1)!0.5!(#2)+(\textoffset)$) {#3};
    \end{scope}
    };
    \node (bm) {Basic Model};
    \node (ip)[below=1 of bm] {Ideal Physics};
    \node (dc)[below=1 of ip] {DC-motor behavior};
    \node (cl)[below=1 of dc] {Control loop};
    \node (sm)[below=1 of cl] {Stepper Motor\\ behavior};
    \node (dd)[below=1 of sm] {3D Physics};
    \node (ml)[below=1 of dd] {Marker Lifting};
    \node (cd)[below=1 of ml] {Component design};
    \path[->] (bm) edge (ip)
              (ip) edge (dc)
              (dc) edge (cl)
              (cl) edge (sm)
              (sm) edge (dd)
              (dd) edge (ml)
              (ml) edge (cd);
    \begin{pgfonlayer}{bg}
        \modelgroup(bm,bm,Kinematics);
        \modelgroup(ip,sm,2D Dynamics);
        \modelgroup(dd,ml,3D Dynamics);
        \modelgroup(cd,cd,CAD Drawing);
    \end{pgfonlayer}
\end{tikzpicture}
\end{document}
