Files
mcm-26-b/docs/paper/sections/q2.tex
T
2026-09-13 14:38:31 +08:00

174 lines
7.2 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
\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} 采用其凸松弛,
使真实可行位置始终包含在所维护的候选集合中。
对非空紧集 $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)$ 的一个显式凸子集。
\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)))$。
该算法采用问题一的角域模型与最小包围圆方法,通过多边形裁剪逐次更新候选集。