Files
2026-08-24 17:26:17 +08:00

80 lines
3.3 KiB
TeX

% Kinematic bicycle model and geometric parameters of the mining truck.
% Drawn to scale in metres with L_v = 12, B_v = 3, L_w = 6.5, rear overhang 1.5,
% steering at psi_max = arctan(L_w / R_min) so that the ICR sits at R_min = 12 m.
\documentclass[border=1pt]{standalone}
\input{figstyle}
\begin{document}
\begin{tikzpicture}[scale=0.53]
% ---------- global frame ------------------------------------------------
\draw[->, thin@] (-4.8,-2.8) -- (-2.6,-2.8) node[ann, right] {$x$};
\draw[->, thin@] (-4.8,-2.8) -- (-4.8,-0.6) node[ann, above] {$y$};
% horizontal reference through the rear-axle centre, for the heading angle
\draw[thin@, sitec, dash pattern=on 1.6pt off 1.2pt] (0,0) -- (5.6,0);
\draw[thin@] (4.2,0) arc[start angle=0, end angle=18, radius=4.2];
\node[ann] at (5.05,0.72) {$\theta$};
\begin{scope}[rotate=18]
% ---------- vehicle body ---------------------------------------------
\draw[veh, sitec, fill=fillc, fill opacity=0.6]
(-1.5,-1.5) rectangle (10.5,1.5);
\draw[thin@, sitec, dash pattern=on 1.4pt off 1pt] (-1.5,0) -- (11.6,0);
% ---------- wheels ----------------------------------------------------
% rear wheels, aligned with the body
\foreach \sy in {-1.5,1.5}{
\draw[veh, fill=sitec] (-0.9,\sy-0.22) rectangle (0.9,\sy+0.22);
}
% front wheels, steered by psi_max = 28 deg
\foreach \sy in {-1.5,1.5}{
\begin{scope}[shift={(6.5,\sy)}, rotate=28]
\draw[veh, fill=parkc, fill opacity=0.85]
(-0.9,-0.22) rectangle (0.9,0.22);
\end{scope}
}
% ---------- steering angle -------------------------------------------
\draw[thin@, parkc] (6.5,0) -- ++(28:3.1);
\draw[thin@] (8.7,0) arc[start angle=0, end angle=28, radius=2.2];
\node[ann] at (9.35,0.66) {$\psi$};
\node[annt, parkc] at (9.9,1.95) {$\dot\psi$};
\draw[->, thin@, parkc] (9.05,1.55) arc[start angle=32, end angle=52,
radius=3.0];
% ---------- instantaneous centre of rotation --------------------------
\draw[thin@, sitec, dash pattern=on 1.6pt off 1.2pt] (0,0) -- (0,12.2);
\draw[thin@, sitec, dash pattern=on 1.6pt off 1.2pt] (6.5,0) -- (0,12.2);
\fill[sitec] (0,12.2) circle (0.22);
\node[ann, above] at (0,12.45) {ICR};
\node[ann, left] at (-0.25,7.0) {$R_\text{min}=1/\kappa_\text{max}$};
% ---------- rear-axle centre = path reference point -------------------
\fill[parkc] (0,0) circle (0.26);
\node[ann, parkc] at (-2.35,-1.05)
{$\mathbf{p}=[x,y]^\top$};
% ---------- dimensions -----------------------------------------------
% wheelbase
\draw[dimline] (0,-0.75) -- (6.5,-0.75);
\node[annt, fill=fillc, inner sep=0.4pt] at (3.25,-0.75) {$L_\text{w}$};
% overall length
\draw[dimline] (-1.5,-2.55) -- (10.5,-2.55);
\node[annt, fill=white, inner sep=0.4pt] at (4.5,-2.55) {$L_\text{v}$};
\draw[thin@] (-1.5,-1.6) -- (-1.5,-2.75);
\draw[thin@] (10.5,-1.6) -- (10.5,-2.75);
% width
\draw[dimline] (-2.9,-1.5) -- (-2.9,1.5);
\node[annt, rotate=90, fill=white, inner sep=0.4pt]
at (-2.9,0) {$B_\text{v}$};
\draw[thin@] (-1.65,-1.5) -- (-3.1,-1.5);
\draw[thin@] (-1.65,1.5) -- (-3.1,1.5);
% swept rectangle annotation
\node[annt, sitec] at (7.4,-0.95) {$\mathcal{V}(\boldsymbol{\eta})$};
\end{scope}
\end{tikzpicture}
\end{document}