问题藏在两次成功检查之间
机器人要把工具移到夹具另一侧。程序检查一系列位姿,未发现碰撞,但运动途中工具穿过销钉所占空间。这并不矛盾:检查的是孤立点,机器人还走过点间路径。实际问题是:离散检查何时能证明中间路径也畅通?
摘要。把问题简化为平面圆形工具绕圆形障碍运动,计算六次检查漏掉的碰撞,推导连续最小距离,并用余量和采样间距构建充分条件。区分观察到碰撞、在模型内几何证明无碰撞、结论不足三种结果。教学模型不包含完整机械臂、传感不确定性或真实机器人行为,用于理解“所检查位姿均有效”仍缺什么信息。
从工具体积转到中心距离
坐标单位米。工具中心从a=(0,0)直线到b=(1,0),销钉中心c=(0.5,0)。工具半径0.02米、障碍半径0.04米。中心距不大于半径和R=0.06米时圆盘接触或重叠。因此可把工具当作点并将障碍扩张0.02米。这对两个圆盘精确,不适用于任意机器人几何。
定义间隙g(p)=||p−c||−R,范数是欧氏距离,二维用勾股定理。g正表示分离,零为接触,负为重叠。模型将接触也算碰撞。间隙单位长度,不是概率,也不描述冲击力、速度或接触后果。
六个畅通位姿,模型内仍有碰撞
将一米路径等分五段,在x=0、0.2、0.4、0.6、0.8、1检查。最近的0.4、0.6距障碍中心0.1米,间隙0.04米,全部通过。但x=0.5与障碍中心重合,间隙−0.06米。碰撞区间[0.44,0.56]完全在采样点之间。
四等分会包含x=0.5并检测碰撞。改变网格时从五次增加到六次检查,反而可能漏掉原先检测到的事件。这不是说细分无用,而是非嵌套网格的检测结果不保证单调。保留旧点再增新点的细化则会保留已观察碰撞。
求整条线段上的最近点
此简单几何无需采样。线段点p(u)=a+ud,d=b−a,无量纲u在0到1间表示进度。最小化距离平方||a+ud−c||²可免开方且不改变最小点。对u求导得2d·(a+ud−c),设零得到向无限直线的投影。
d·d为线段长度平方。将u₀限制到[0,1]很重要,投影落在端点外时最近点就是端点。a=b时分母0,应直接检查单点。本例u*=0.5、g_min=−0.06米。每对线段-障碍需常数次运算,直接查M个障碍为O(M)。
间隙何时让采样足够
线段与圆盘的精确计算方便,复杂几何未必可用。可让采样不仅给是非,还给周围余量。点移动一厘米,到障碍距离最多减少一厘米。这由三角不等式得出,称常数为1的Lipschitz连续性。
p、q在同一坐标系和单位,减去常数R不改变不等式。若最大沿线段间距为Δs,每个路径点到邻近某采样点至多Δs/2。设采样最小间隙m,则未检查点间隙不低于m−Δs/2。这把离散信息连接到连续结论。
第二行是充分非必要条件。通过则在假设内证明无碰撞,未通过不等于碰撞,只代表样本不足以定论。仅布尔接口可能掩盖区别。应区分观察到碰撞、严格正下界、仍不确定区间。最后一种可保留原点并细分重查。
畅通路径也可能需要更多工作来证明
将线段移到y=0.08米,中心最小距离0.08米,连续间隙0.02米。五等分最近采样仍x=0.4、0.6,间隙约0.06806米,看似大,但Δs/2=0.1米,下界约−0.03194米。精确检查知道畅通,此网格证书却尚不能证明。
二十六等分包含中心,采样最小间隙0.02米,半间距约0.01923米,下界0.000769米为正。路径并未变得更空,而是获得足够信息证明本来存在的性质。因此检查成本本身不是物理风险度量。
| 高度y(米) | 分段数 | 采样最小(米) | 精确最小(米) | 下界(米) |
|---|---|---|---|---|
| 0 | 4 | −0.060000 | −0.060000 | −0.185000 |
| 0 | 5 | 0.040000 | −0.060000 | −0.060000 |
| 0.08 | 5 | 0.068062 | 0.020000 | −0.031938 |
| 0.08 | 26 | 0.020000 | 0.020000 | 0.000769 |

从图形到机器人:不能跳过的假设
本例点代表直线平移工具。关节角插值一般不产生工具中心直线,工具畅通时其他连杆仍可能碰撞。迁移需检查全部刚体几何与规划器真实插值。关节空间Lipschitz界需把角变化联系到物理点位移,不能直接沿用常数1,更不能弧度减米。
几何也是估计。模型间隙0.02米,若相对位置误差有已验证上界0.005米,预留后稳健模型剩0.015米。这里0.005仅假设,无依据的界不是保证。形状误差、挠曲、延迟、动态障碍需其他项或模型。几何模拟不证明协作单元安全,也不替代真实系统验证与适用要求。
有用接口应能说“尚未证明”
OMPL区分状态有效性与状态间运动有效性,文档指出粗离散可能跳过无效状态、过细增加工作,若有连续检查可使用适合的运动验证器。这正是本文概念区别。未运行OMPL或比较规划器;附代码仅隔离几何,检查公式、网格与边界案例。
答案是可以:每个检查位姿有效,途中仍可穿过障碍。在模型内排除需连续运动检查,或以可靠间隙变化界联系采样间距。界不足时应答不确定,而非畅通。重点不是盲目增点,而是知道检查证明何种性质与假设。这与EL-AI明确的未来工业协作机器人兴趣相关,不表示已在其机器人上验证。
片段复现采样余量与充分准则。完整归档包含精确投影、零长线段、线段外投影、切触、39组高度-网格组合及曲线。全为确定性,无种子、客户数据或硬件测量。10^−12米数值容差防止舍入把接触判正,不是机器人物理安全余量。
import math
obstacle = (0.5, 0.0)
radius = 0.06
def clearance(x, y):
return math.dist((x,y), obstacle)-radius
for n in (4,5,26):
for y in (0.0,0.08):
smallest = min(clearance(i/n,y) for i in range(n+1))
lower_bound = smallest-1/(2*n)
print(n, y, round(smallest,6), lower_bound>1e-12)
代码、数据与说明 · JSON. 教学计算使用 Python 3.14.0,图使用 Matplotlib 3.11.2。分析由 AI 辅助,不声称经过同行评审或人工审核。原创 ImageGen 封面仅作示意,不记录 EL-AI 人员、场所或实际安装。来源查阅于 2026 年 9 月 30 日。

