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

93 lines
4.5 KiB
TeX

% Overall three-stage framework: offline field prior -> parallel coarse search
% -> joint numerical optimization. Laid out to fit one IEEE column (252 pt)
% at full size, so no scaling is applied when included. Section numbers are
% plain text so the standalone figure compiles independently of main.tex.
\documentclass[border=1pt]{standalone}
\input{figstyle}
\begin{document}
\begin{tikzpicture}[
blk/.style={draw=sitec, line width=0.5pt, rounded corners=1.2pt,
align=center, inner sep=2.2pt, font=\tiny,
text width=23mm, minimum height=5.4mm},
io/.style={blk, fill=fillc, text width=20mm},
offb/.style={blk, fill=centc!10, draw=centc!70},
parkb/.style={blk, fill=parkc!10, draw=parkc!70, text width=21mm},
exitb/.style={blk, fill=exitc!10, draw=exitc!70, text width=21mm},
optb/.style={blk, fill=corrc!10, draw=corrc!70, text width=52mm},
stage/.style={draw=sitec!45, line width=0.4pt,
dash pattern=on 1.4pt off 1.2pt, rounded corners=2pt},
lbl/.style={font=\tiny\itshape, sitec},
ar/.style={->, line width=0.45pt, sitec,
>={Latex[length=1.3mm,width=1.0mm]}},
note/.style={font=\tiny, sitec, align=left},
]
% =====================================================================
% Stage 1 -- offline construction of the guidance-field prior
% =====================================================================
\node[io] (bnd) at (0,0) {site boundary point cloud};
\node[offb] (skel) at (0,-0.98) {EVG skeleton $+$ QP smoothing
$\rightarrow \varLambda_\text{center}$};
\node[offb] (guid) at (0,-1.96) {normal offset $\pm W/2$
$\rightarrow \varLambda_\text{park},
\varLambda_\text{exit}$};
\node[offb] (fld) at (0,-3.05) {kernel superposition
$\rightarrow U_\text{park}, U_\text{exit}$
(mirrored about $\varLambda_\text{center}$)};
\foreach \a/\b in {bnd/skel, skel/guid, guid/fld}{ \draw[ar] (\a) -- (\b); }
\node[stage, fit=(bnd)(fld), inner sep=3pt] (s1) {};
\node[lbl, above=0.8pt of s1.north] {Stage 1: offline (Sec.~III)};
% =====================================================================
% Stage 2 -- two coarse paths searched independently and in parallel
% =====================================================================
\node[parkb] (hap) at (3.72,-0.82) {field-adaptive Hybrid A*
on $U_\text{park}$};
\node[exitb] (hax) at (3.72,-2.24) {field-adaptive Hybrid A*
on $U_\text{exit}$};
\node[stage, fit=(hap)(hax), inner sep=3pt] (s2) {};
\node[lbl, above=0.8pt of s2.north, align=center]
{Stage 2: online, parallel (Sec.~IV)};
\draw[ar] (fld.east) -- ++(0.22,0) |- (hap.west);
\draw[ar] (fld.east) -- ++(0.22,0) |- (hax.west);
% =====================================================================
% Stage 3 -- joint optimization of the two coarse paths
% =====================================================================
\node[optb] (corr) at (1.86,-4.35)
{convex corridors $\mathcal{P}_k$ from the perception snapshot
(ellipsoid proxy, inset by $\Delta_\text{cut}$)};
\node[optb] (nlp) at (1.86,-5.45)
{joint NLP:
$\mathbf{z}=[\mathbf{z}_\text{park};\mathbf{z}_\text{exit}]$,
interaction cost $J_\varPsi$, solved by Ipopt};
\node[io, text width=28mm] (out) at (1.86,-6.45)
{$\varGamma_\text{park}^\star,\ \varGamma_\text{exit}^\star$};
\node[stage, fit=(corr)(out), inner sep=3pt] (s3) {};
\node[lbl, below=0.8pt of s3.south]
{Stage 3: joint optimization (Sec.~V)};
\draw[ar] (hap.east) -- ++(0.20,0) |- ([yshift=1.1mm]corr.east);
\draw[ar] (hax.south) -- ++(0,-0.30) -| ([xshift=8mm]corr.north);
\draw[ar] (corr) -- (nlp);
\draw[ar] (nlp) -- (out);
% ---------- what each stage fixes ------------------------------------
\node[note] at (0.30,-3.72) {\textbf{fixes} topology};
\node[note] at (3.30,-3.00) {\textbf{fixes} $N,\{\delta_j\}$};
\node[note] at (-0.62,-5.45) {\textbf{fixes}\\shape,\\$\kappa$ cont.};
% ---------- rebuild trigger -------------------------------------------
\draw[ar, densely dotted, centc, >={Latex[length=1.3mm,width=1.0mm]}]
(out.west) -- ++(-0.42,0) |- (skel.west);
\node[font=\tiny, centc, align=center] at (-1.32,-2.55)
{rebuild only\\on boundary\\change};
\end{tikzpicture}
\end{document}