\section{问题二:保证接收的第二检测点选择} \subsection{候选位置集合与安全区域} 问题一说明了如何由多次观测确定位置,问题二则提出一个更早的问题: 在只测过一次的情况下,第二点应当选在哪里。 这里存在一对相互牵制的目标:若只追求大交会角,第二点可能远离源而收不到信号; 若只求保证接收,又可能缺少横向基线。要同时处理两者, 第一步是先刻画"由首次观测能推断出哪些位置"。 设首次有效示向度为 $(s,\theta)$,则有效读数除限定角域外, 还说明源距检测点不超过接收半径上界,故 \begin{equation} K_1=\Omega\cap W(s,\theta,\delta_{\mathrm{eff}})\cap\B(s,R_+). \label{eq:k1} \end{equation} 其中 $R_+=1500$ 为有效接收半径上界。 $\direction$ 对应距离大于 $5$ m;式~\eqref{eq:k1} 采用其凸松弛, 使真实可行位置始终包含在所维护的候选集合中。 采用凸松弛而非精确的"挖去 $5$ m 小圆",是为了让后续的圆盘交运算保持凸性。 有了候选集合,第二步是把"保证接收"写成集合条件。 对非空紧集 $K$ 定义 \begin{equation} F_K(q)=\max_{g\in K}\norm{q-g},\qquad \mathcal Q(K)=\{q:F_K(q)\le R_-\} =\bigcap_{g\in K}\B(g,R_-). \label{eq:exact-safe} \end{equation} 该区域内的任何点均在所有可能真源的最小接收范围内。 $F_K$ 是凸函数且为 $1$-Lipschitz,因而 $\mathcal Q(K)$ 是闭凸集。 由式~\eqref{eq:mec} 可知 \begin{equation} \mathcal Q(K)\ne\varnothing\quad\Longleftrightarrow\quad\rho(K)\le R_-. \end{equation} 这一步把第二点的鲁棒可行性转化为问题一已经解决的最小包围圆判据\cite{boyd}, 两个问题由此共用同一套几何工具。 在线执行时,还需把解析区域换成可快速裁剪的表示。 为此用外切正多边形表示圆盘,再逐半平面裁剪。 若边数为 $M$、圆半径为 $r$,外切多边形顶点的半径为 $r\sec(\pi/M)$,其最大径向超出量准确写为 \begin{equation} e_M(r)=r\bigl(\sec(\pi/M)-1\bigr). \label{eq:outer-error} \end{equation} 默认 $M=192$。由于整个圆盘已包含在多边形中, 裁剪后得到 $K_1\subseteq P^{\mathrm{out}}$。 算法求外包多边形 $P^{\mathrm{out}}$ 的最小包围圆 $\B(m,\rho_{\mathrm{out}})$。 在此基础上,由三角不等式可直接得到一个保守但显式的安全盘。充分安全盘为 \begin{equation} \mathcal Q_{\mathrm{in}} =\B\!\left(m,R_- -\rho_{\mathrm{out}}-\eta\right),\qquad \eta=10^{-3}\ {\rm m}. \label{eq:safe-disk} \end{equation} 任意 $q\in\mathcal Q_{\mathrm{in}}$ 与真源 $g$ 满足 $\norm{q-g}\le\norm{q-m}+\norm{m-g}\le R_- -\eta$。 因此第二次检测一定为 $\direction$ 或 $\near$。 该构造适用于 $\rho_{\mathrm{out}}+\eta\le R_-$; 当候选区域较大时,程序先在其圆心追加观测,再更新可行区域。 \subsection{首次截断角域的解析候选盘} 上述安全盘依赖离散多边形,只能在程序内使用;题目还要求给出解析的候选区域。 为此暂去掉 $\Omega$,考虑 $S=W(s,\theta,\delta)\cap\B(s,R_+)$, 它的形状是一个被圆弧截断的角域。当 $0\le\delta\le45^\circ$,令 \begin{equation} a=\frac{R_+}{2\cos\delta},\qquad c=s+a\,u(\theta). \end{equation} 即可得到该区域的最小包围圆。 \begin{proposition}[截断角域最小包围圆] 上述 $S$ 的最小包围圆为 $\B(c,a)$。 \end{proposition} \begin{proof} 任取 $g=s+t u(\theta+\varphi)$,其中 $0\le t\le R_+$、 $|\varphi|\le\delta$。有 $\norm{g-c}^2=t^2+a^2-2at\cos\varphi$。 该式关于 $t$ 为凸二次式,最大值在区间端点取得。 $t=0$ 时为 $a^2$;$t=R_+$ 时不超过 $R_+^2+a^2-2aR_+\cos\delta=a^2$,故全域被包含。 再取边界三点 $s,p_\pm=s+R_+u(\theta\pm\delta)$。 权重 $\lambda_\pm=1/(4\cos^2\delta)$、 $\lambda_0=1-1/(2\cos^2\delta)$ 非负且和为 $1$, 其加权中心为 $c$。三点均距 $c$ 为 $a$, 对任意圆心 $z$,加权平方距离等于 $a^2+\norm{z-c}^2$, 故至少一点距 $z$ 不小于 $a$。任何包含三点的圆半径均不小于 $a$。 \end{proof} 由于 $K_1\subseteq S$,于是 \begin{equation} \boxed{ q\in\B\!\left(s+\frac{1500}{2\cos\delta}u(\theta), 1000-\frac{1500}{2\cos\delta}\right)} \label{eq:q2-answer} \end{equation} 即为题目所求的一种明确候选区域,实际使用时再内缩 $1$ mm。 该圆盘构成 $\mathcal Q(K_1)$ 的一个显式凸子集。 表~\ref{tab:safeanalytic} 给出两种误差半角下的具体数值。 可以看到,误差从 $1^\circ$ 放宽到 $1.005^\circ$ 时, 圆心偏移仅增加约 $0.001$ m,候选盘半径仅减少约 $0.001$ m, 说明该判据对题设的舍入余量并不敏感。 \begin{table}[htbp] \centering\small \caption{解析安全盘参数,由式~\eqref{eq:q2-answer} 直接计算} \begin{tabular}{lrr} \toprule 误差半角 & 中心沿首次方向偏移 $a$/m & 候选盘半径/m\\ \midrule $1^\circ$ & 750.114246 & 249.885754\\ $1.005^\circ$ & 750.115391 & 249.884609\\ \bottomrule \end{tabular} \label{tab:safeanalytic} \end{table} 在线算法继续使用 $\Omega$ 裁剪后的完整候选形状, 通常能够获得更紧的源包围圆与更大的充分安全盘。 两者的分工是清楚的:解析公式负责解释保证为何存在, 多边形流程负责利用已有的全部几何约束。 \begin{figure}[htbp] \centering \includegraphics[width=0.70\linewidth]{geo-q2-guaranteed-reception-disk.png} \caption{第二点解析候选区域。左图为首次截断角域 $S$、 其最小包围圆 $\B(c,a)$ 与保证接收的候选盘 $\B(c,1000-a)$; 右图为半径分解,$a=1500/(2\cos\delta)$。取 $\delta=1^\circ$ 时 $a\approx750.114$ m、$1000-a\approx249.886$ m,与表~\ref{tab:safeanalytic} 一致。} \label{fig:q2disk} \end{figure} \subsection{定位效果指标与有限候选求解} 保证接收只解决了一半问题,另一半是"在安全区域内如何让第二次观测最有效"。 理想的鲁棒选点模型为 \begin{equation} \min_{q\in\mathcal Q_{\mathrm{in}}} \left(\sup_{y\in\mathcal Y(q,K_1)}\rho(K_1\cap O(q,y)), \frac{\norm{q-p}}{5}\right)_{\mathrm{lex}}, \label{eq:q2minimax} \end{equation} 其中 $p$ 是当前机器人位置,$y$ 表示可能观测, $O(q,y)$ 为相应观测可行集,下标表示按字典序比较: 先最小化最坏后验半径,再减少移动耗时。 方向分支取相应角域,近距离分支取 $\B(q,5)$。 这比仅优化交会角更直接地对应最终清除需求。 连续极小极大问题求解成本较高,当前算法采用有限候选近似。 在式~\eqref{eq:safe-disk} 的盘心及半径比例 $0.4,0.75,1.0$ 的三个环上各取 $12$ 个方向, 角度为 $(k+\tfrac12)2\pi/12$,共 $37$ 点。 对每个候选 $q$,在 $P^{\mathrm{out}}$ 边界以不大于 $60$ m 的间距采样, 包含全部顶点。对边界采样点 $g$ 枚举读数 $\operatorname{bearing}(q,g)\pm\delta_{\mathrm{eff}}$, 计算新角域交后的最小包围半径,并另外计算 $\near$ 分支; 取所得最大值作为 $\widehat J(q)$。 选取使 $(\widehat J(q),\norm{q-p}/5)$ 最小的点, 然后将边界采样间距加密至 $15$ m 复核其评分。 需要强调的是,$\widehat J$ 是最坏后验半径的\textbf{离散近似}, 只用于比较有限候选点的定位效果;接收条件由式~\eqref{eq:safe-disk} 保证, 不受该近似影响。 \begin{algorithm}[htbp] \caption{保证接收的第二检测点选择} \label{alg:q2} \begin{algorithmic}[1] \Require 首次测点与示向度,或已更新的候选凸外包;当前位置 \Ensure 下一检测点、采样后验评分与接收保证状态 \State 初次调用时构造 $K_1$ 的外包多边形;后续调用沿用已有外包 \State 计算最小包围圆 $\B(m,\rho_{\mathrm{out}})$ 与安全盘半径 $b=1000-\rho_{\mathrm{out}}-10^{-3}$ \If{$b<0$} \State 在候选区域圆心追加观测 \Else \State 生成 $37$ 个安全候选点 \For{每个候选点 $q$} \State 枚举外包边界样本与方向端点读数,补入近距离分支 \State 计算最坏后验半径 $\widehat J(q)$ \EndFor \State 按后验评分优先、移动时间次优选点,并以 $15$ m 采样间距复核 \EndIf \State 获得新观测后更新候选集 \If{观测为 $\near$} \State 就地清除 \Else \State 根据最小包围半径决定清除或追加测量 \EndIf \end{algorithmic} \end{algorithm} 若候选数为 $N_q$、边界样本数为 $N_g$、多边形顶点数为 $m$, 一次裁剪为 $O(m)$,总计算量主要为 $O(N_qN_g(m+C_{\mathrm{MEC}}(m)))$。 该算法复用问题一的角域模型与最小包围圆方法,通过多边形裁剪逐次更新候选集。 综上,问题二得到两点结论:1. "对所有可能真源均保证接收"等价于候选集合的最小包围圆半径不超过 $1000$ m, 据此可给出半径约 $249.885$ m 的显式安全候选盘; 2. 在安全盘内以最坏后验半径为第一目标、移动时间为第二目标选点, 既避免了"收不到信号"的失败模式,又保证了交会基线。