> ## Documentation Index
> Fetch the complete documentation index at: https://kensou.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Pointwalker mapless quadruped locomotion directly  dissection

[//]: # "<!-- ontology-5axis
problem: navigation
representation: voxel
sensor: LiDAR
paradigm: learned
time: filter-streaming
ref: ../../cheat-sheet/ontology.md §5
\-->"

# PointWalker：无地图四足运动，直接吃原始 LiDAR 点云 (PointWalker: Mapless Quadruped Locomotion Directly From Raw LiDAR Point Clouds)

> **发布时间**：2026-10-11（arXiv:2610.15548v1 \[cs.RO]）
> **论文 / 模型名**：PointWalker
> **核心定位**：把"感知→控制"之间的地形地图 / 深度图接口整个删掉，让单个 RL 策略在 50 Hz 下直接消费 4 路 LiDAR 的 350 个体素化原始点，一套 PPO 训出跨 7 类地形的单一策略。

四足要过缝、上高台、走镂空钢格栅楼梯，决定性几何在"脚下与身前"，但高程图把格栅糊成假高度、深度相机看不到身体正下方。PointWalker 的答案是：不要中间表示，把点云本身喂给策略，本体感受当 query 去"检索"点云。

***

## X-Ray 开场

本文要解决的是**感知接口瓶颈**：现有敏捷四足都在感知与控制之间插入高程图 / 深度图 / 学习到的 latent，而地图会被里程计漂移与离群点污染、被镂空格栅破坏 2.5-D 单高度假设、被光照与材质削弱深度相机。

作者提出 PointWalker：4 路 Livox Mid-360 每步取 70 点、保留最近 5 组共 350 点，经 0.1 m 体素化后由**线性自注意力**编码成 32-D token，再用本体感受+指令作为 query 做**交叉注意力**检索地形上下文，输出 12 维关节目标——**没有地图、没有落脚点估计、没有 scan projection、没有 world model**。

对 spatial AI 研究者意味着：在"稀疏支撑 + 透视结构"这类几何上，**中间表示的量化误差是不可逆的**，而原始点云 + 运动条件化的注意力查询，可以在 2.01 ms 的感知预算内保住这些几何。

***

## 📍 研究全景时间线

```
盲式本体感受 RL          教师-学生特权蒸馏         高程图 + 落脚规划
(纯 proprioception)  →  (height map 作 privilege) → (2.5-D 表面 + planner)
        │                      │                          │
        │                      │                          ├─→ 深度图/重建图 end-to-end parkour
        │                      │                          │      (前向视锥 ≠ 脚下)
        │                      │                          │
        │                      │                          ├─→ LiDAR → 高程图 (BeamDojo, 人形稀疏落脚)
        │                      │                          │
        │                      │                          └─→ LiDAR → 球面深度图 + JEPA latent (JEPLO)
        │                      │                                     │
        └──────────────────────┴─────────────────────────────────────┘
                                                                     ▼
                                                    ★ PointWalker (2026-10)
                                            原始体素点 + 交叉注意力，单一 PPO run
                                            7 类地形 / 90.1% sim / X30 零样本 50 Hz
                                    ┌──────────────────────────────┐
                                    │ 局限：感知是局部且瞬时的       │
                                    │ · 只有 0.1 s 历史，无全局规划  │
                                    │ · 跨平台布局未验证             │
                                    │ · 动态/移动支撑未处理          │
                                    └──────────────────────────────┘
```

> 注：前序工作的具体年份未在本论文全文中给出，时间轴按"范式推移"排序，非按年份。

***

## 1 · 核心架构 / 方法总览

### 1.1 系统组件对比表

| 模块 | 输入 | 输出 | 训练 / 推理差异 |
| - | - | - | - |
| 4× Livox Mid-360 采样 | 角点安装、交错 pitch、360° 水平 / −7°–52° 垂直 | 旋转发射的 5 组射线（等效 10 Hz） | 仿真中额外打到"仅感知结构层"+大腿/小腿 mesh（腿部自遮挡） |
| 固定尺寸体素采样 | 每组命中点，base frame | `𝒫_t ∈ ℝ^{5×70×3}` | 训练额外注入 2% 无效点、2% 离群点、40–60 ms 延迟；推理同链路但真实退化 |
| 线性自注意力编码 | 4-D（坐标 + 扫描组编码）→ 32-D 嵌入 | 350 个 32-D point token `{𝒆_i}` | 两层线性注意力；无效点被 **mask 而非删除** |
| 时序分支 | `𝑶_t ∈ ℝ^{5×42}`（5 帧 proprio）⊕ `𝒄_t ∈ ℝ^5` | `𝒔_t` (512-D) | 两层 512-D MLP（linear+LN+SiLU） |
| 交叉注意力融合 | query=`𝒔_t` 投影，key/value=350 tokens | `𝒛_t ∈ ℝ^512` | 16 头 × 32 维；推理时注意力权重可读出做可解释性 |
| Backbone + 3 头 | `𝒔_t ⊕ 𝒛_t` (1024-D) → 两层 512-D MLP | `𝝁_θ`(12)、`log σ`(12)、`𝒗̂_t`(3)、`𝒉̂_t`(4) | 辅助头仅 MSE 监督，无额外前向；部署取 `𝝁_θ` |
| 非对称 critic | 4 帧无噪真值状态 + 身高图 + 真值随机化动力学参数 | `V_ϑ(𝝃_t)` | **仅训练**，不出现在 ONNX 中 |
| 关节 PD | `𝒒_des = clip(𝒒^0 + 0.25𝒂_t, 𝒒_lim)` | 12 维力矩 | Kp=100/100/120，Kd=2.5/2.5/3，限幅 84/84/150 N·m |
| 双通道仿真 | 物理通道（可碰撞 height field + mesh）/ 感知通道（结构层，不进碰撞） | — | 仅训练；5 mm 扁条、40 mm 间距的格栅在此渲染 |
| 地形感知奖励 | 特权高度采样 + 11 条向下射线 | `r_t = Σ w_i r_i` | 仅训练；用无噪仿真真值 |

### 1.2 关键机制

**⚡ Eureka Moment：把"本体感受 + 指令"当作 query 去原始点云里做检索——地形不需要被压缩成图，只需要被"按当前运动意图"查询。**

论文用一组数字把这句话钉死了：把交叉注意力换成 **mean pooling + concat**，平均成功率从 90.1% 掉到 80.1%（−10 点），其中台阶石/平衡木最惨（68.9% / 77.5%），而斜坡和离散障碍几乎不掉（92.1% / 89.6%）。这说明**决定性落脚点只占输入的一小撮**，只有被运动条件化的 query 才取得出来；平均池化把 350 个点等权稀释，稀薄支撑的几何信号就被淹没。

第二层洞见是\*\*"双通道仿真"\*\*：物理通道里支撑是实的（用于特权高度采样与落脚射线），感知通道里格栅是镂空扁条（用于 LiDAR 打点）。于是策略必须在"看见镂空"的同时"落在实心"——这正是真实工业钢格栅的处境，也是高程图方法根本表示不了的东西。

第三层是**注意力形式的选择是工程决策而非精度决策**：softmax 注意力 90.4%，线性注意力 90.1%，差 0.3 点，但延迟 8.23 ms vs 2.01 ms（4.1×）。作者用不到半点的精度换回 3/4 的感知预算。

### 1.3 信息流

```
 4× LiDAR (旋转 5 组射线, 等效 10 Hz)
        │  每控制步读 1 组，滚动保留最近 5 组 (0.1 s)
        ▼
 [ 5 × 70 = 350 hits ] ──► 去自点(<0.15 m) / 去体内点 / +N(0, 0.02²)
        │
        ▼
 体素化 0.1 m, 区域 x[-1.2,1.2] y[-0.6,0.6] z[-1.0,0.5]
        │  逐体素平均 → 从占用体素采 70 点/组
        ▼
 𝒫_t ∈ ℝ^{5×70×3}  ──► [4-D 嵌入] ──► [线性 SA ×2] ──► {𝒆_i} 350×32
                                                              │
 proprio 𝑶_t ∈ ℝ^{5×42} ─┐                                    │ (K,V, 无效点 mask)
 command 𝒄_t ∈ ℝ^5 ──────┴─► [2 层 512 MLP] ─► 𝒔_t ─► [MHA 16×32] ─► 𝒛_t (512)
                                                                       │
                                          𝒔_t ⊕ 𝒛_t (1024) ────────────┤
                                                                       ▼
                                                    [2 层 512 MLP] ─► 3 heads
                                                    ├─ 𝝁_θ, logσ (12)  → q_des → PD → 力矩
                                                    ├─ 𝒗̂_t (3)   ┐
                                                    └─ 𝒉̂_t (4)   ┘ 仅训练时 MSE 监督
 训练侧旁路（不进 ONNX）：特权状态+身高图+真值动力学 → critic；特权高度采样 → 奖励
```

***

## 2 · 数学核心

📌 **Napkin Formula**

```
𝒛_t = MHA( query = MLP(𝑶_t, 𝒄_t) ,  key/value = LinearAttn(体素化点云 𝒫_t) )
```

一句话：**地形不建图，用"我现在想怎么动"去点云里查"哪里能踩"。**

### 2.1 目标

学习一个策略 `π_θ(𝒂_t | 𝒫_t, 𝑶_t, 𝒄_t)`，使成功穿越地形的期望折扣回报最大，且**推理时只允许观测点云 + 本体感受 + 指令**（无地图、无定位、无高度图）。

### 2.2 线性自注意力（点编码）

```
𝒆_i = Σ_j φ(𝑾_Q 𝒙_i)ᵀ φ(𝑾_K 𝒙_j) 𝒙_j  /  Σ_j φ(𝑾_Q 𝒙_i)ᵀ φ(𝑾_K 𝒙_j)
φ(𝒙) = elu(𝒙) + 1
```

| 变量 | 含义 |
| - | - |
| `𝒙_i ∈ ℝ^32` | 第 i 个点的嵌入（4-D 输入 = base-frame 坐标 + 扫描组编码，线性嵌入到 32-D） |
| `𝑾_Q, 𝑾_K` | query / key 投影 |
| `φ(·)` | 正特征映射（ELU+1），保证核为非负、免 softmax |
| 分母 | 数值稳定起见做 clamp |
| 层数 | 2 层 |

**直觉**：softmax 注意力要对 350×350 的成对关系做归一化，复杂度 O(N²)；把 softmax 换成 φ 内积后，可以先把 `Σ_j φ(k_j) v_jᵀ` 累加成一个 32×32 的"全局摘要"，再对每个 query 做一次乘法，复杂度降到 O(N·d²)。代价是不能表达"尖锐"的注意力分布——但地形上下文本来也不需要这么尖。作者强调这比共享 MLP 编码器强，因为**线性注意力仍保留点与点之间的几何关系（格栅的平行扁条就是靠点间关系识别出来的）**。

### 2.3 交叉注意力融合

```
𝒛_t = MHA( 𝒖_t , {𝒆_i}_{i=1}^{350} ) ∈ ℝ^512
```

query `𝒖_t` 是 `𝒔_t` 的逐头投影；16 头 × 32 维；无效点在注意力中 mask 掉（分母相应调整），最后拼接成 512-D 地形上下文。

**直觉**：`𝒔_t` 编码了"我现在速度多少、重力投影朝哪、上一帧动作是什么、gait clock 到相位几了"。用它去 query 点云，等于在问"**在我当前朝向与步态相位下，哪些点会成为下一个落点**"——论文的可视化（Fig. 7/8）显示注意力确实集中在支撑脚下方与即将踩上的那级踏面。

### 2.4 损失

```
L(θ,ϑ) = −Ê[ min(η_t Â_t, clip(η_t, 1−ε, 1+ε) Â_t) ]
        + β_v Ê[(V_ϑ(𝝃_t) − V^targ)²]
        + λ_v ‖𝒗̂_t − 𝒗_t‖² + λ_h ‖𝒉̂_t − 𝒉_t‖²
```

`ε = 0.2`，`β_v = 1.0`，`λ_v = λ_h = 0.1`，`𝒗_t`、`𝒉_t` 为特权真值。辅助头的作用是逼 backbone 编码运动状态与局部地形几何，但**不增加一次前向**（不像独立估计器）。

### 2.5 奖励里的"一个 basis 覆盖所有地形"

局部最小二乘平面 `z = Ax + By + D` 给出地形法向 `𝒏_t = [A,B,−1]/‖[A,B,−1]‖` 与身高 `h^b`，于是：

```
地形对齐惩罚 = 1 − exp(−‖𝒈 − 𝒏_t‖²)     权重 −1.0
```

**直觉**：把"姿态应与世界竖直对齐"改成"姿态应与**局部地形法向**对齐"，山slope、台阶、平地在同一项里统一处理，**无需按地形类型切换**。

落脚质量用 11 条特权向下射线（半径 0.085 m 圆盘）打分，命中高度落在 `𝒲 = [−0.11, 0.02]` m 内才算有效支撑，越界比例即 edge-landing ratio，直接进惩罚（权重 −0.5）。两个动力学期望项：缝隙超速容差（`κ = 2 s⁻¹`、`G_0 = 0.3 m`）与高台起跳奖励 `v_z (h^p − h_0)^+`（`h_0 = 0.25 m`，权重 +2.0）。

***

## 3 · 带数字走一遍（玩具设定，数字为示范推算）

设定：50 Hz 控制，一步 20 ms，机器人正以 1.1 m/s 巡航逼近 0.8 m 缝隙。

**Step 1｜采样**
4 路 LiDAR 等效 10 Hz、分 5 组旋转 → 每 100 ms 一轮 5 组。每控制步读 1 组、每组 70 点：

```
保留窗口 = 5 组 × 70 点 = 350 点，覆盖时间 = 5 × 20 ms = 100 ms
```

以 1.1 m/s 计，这 350 点在机体系里横跨 `1.1 × 0.1 = 0.11 m` 的行进位移（推算，非论文数字）。

**Step 2｜体素化稀疏度**
感知盒 `2.4 m × 1.2 m × 1.5 m`，0.1 m 体素：

```
体素格总数 = 24 × 12 × 15 = 4320
350 点最多占用 350 个体素 → 占用率上限 ≈ 8.1%
```

也就是说这个表示**天生极度稀疏**——这正是为什么"mean pooling 会稀释"（§1.2）：350 个点里可能只有十几个落在缝隙边缘或石头上。

**Step 3｜张量尺寸**

```
𝒫_t : 350 × 3  = 1050 个数 ≈ 4.2 KB (fp32)
{𝒆_i}: 350 × 32 = 11200 个数 ≈ 44.8 KB
𝒛_t  : 512      = 512 个数  ≈ 2.0 KB
```

感知通路显存占用在 KB 量级，瓶颈不在内存而在延迟与采样算子。

**Step 4｜线性 vs softmax 注意力的账**
单头单层、d=32、N=350：

```
softmax: O(N²·d) = 122500 × 32 ≈ 3.9 M MAC
linear : O(N·d²) = 350 × 1024  ≈ 0.36 M MAC   → 理论 ≈ 11× 差距
```

论文实测的**整条感知通路** FLOPs 是 7.35 M（线性）vs 22.67 M（softmax），比值 3.1×；延迟 2.01 ms vs 8.23 ms，比值 4.1× —— 因为体素化、采样、MLP 是不随注意力形式变化的固定开销。

**Step 5｜动作**
`𝒂_t ∈ ℝ^12`（部署取均值，确定性）

```
𝒒_des = clip( 𝒒^0 + 0.25 𝒂_t , 𝒒_lim )
𝒒^0 = [0, −1, 1.8] rad（每条腿）
```

即动作被限制在默认站姿 ±0.25 rad 的动作空间缩放内，再由 PD 跟踪。

**Step 6｜缝隙冲刺的物理量级**
论文报告过缝时峰值 `v_x` 达 2.1 m/s。在 20 ms 控制周期内：

```
2.1 m/s × 20 ms = 4.2 cm / 控制步
```

与 0.1 m 体素、0.085 m 落脚射线圆盘同量级 —— 这意味着**一步的控制误差就约等于一个支撑单元的尺度**，控制周期与感知延迟没有冗余空间（这也是 §8 第 2 条 pitfall 的来源）。

***

## 4 · 工程视角

| 项 | 数值（逐字取自全文） | 备注 |
| - | - | - |
| 部署算力 | Deep Robotics X30 机载 **RK3588**（CPU） | 100 次 ONNX Runtime 推理，batch size = 1 |
| 感知链路延迟（linear attn, 0.1 m 体素） | **2.01 ± 0.85 ms** | 含体素化；占 20 ms 控制周期的 10% |
| 感知 FLOPs / 参数量 | **7.35 M / 1.47 M** | 同上配置 |
| softmax 注意力替代 | 延迟 **8.23 ± 3.68 ms**，22.67 M FLOPs | 4.1× 延迟，精度仅 +0.3 点 |
| 0.05 m 体素 | 延迟 **7.33 ± 2.40 ms**，19.52 M FLOPs | 3.6× 延迟换 +2.0 点成功率 |
| 0.2 m 体素 | 延迟 **1.03 ± 0.45 ms**，4.36 M FLOPs | −7.9 点，石头 −16.1 |
| 深度图编码对照 | 延迟 **4.50 ± 2.25 ms**，11.82 M FLOPs，2.16 M 参数 | 论文称 2.2× 于自身通路 |
| 高程图编码对照 | 延迟 **1.18 ± 0.43 ms**，2.90 M FLOPs，1.26 M 参数 | 最快的高程图配置仍慢于 blind |
| 盲式对照 | 延迟 **0.38 ± 0.06 ms**，1.89 M FLOPs，0.75 M 参数 | 无感知下界 |
| 控制频率 | **50 Hz**（20 ms） | 部署取动作均值，确定性 |
| 训练 | **8192** 并行环境，**4 × RTX 5090**，**\~50 h**，Adam 3e-4 | 单次 PPO run |
| 感知窗口 | 350 点 / 0.1 s | 固定尺寸采样，与场景复杂度解耦 |
| 通信 / 内存 / 功耗 / 温升 | **论文未报告** | — |
| 端到端机载总延迟（含伺服） | **论文未报告** | 仅给出感知通路 2.01 ms 与"留出伺服与安全监控余量"的定性表述 |

**Trade-off 结构**：本文最有工程价值的不是"更快"，而是**把延迟变成了一个可调的分辨率旋钮**。0.1 m 是作者选的平衡点：0.05 m 用 3.6× 延迟换 2.0 点（石头 +6.3 点），0.2 m 省 2× 延迟但掉 7.9 点（窄支撑类地形崩）。注意 FLOPs 随点数量走而非参数走——细体素容纳更多点、粗体素更少，这也是为什么三档的参数量都是 1.47 M 但 FLOPs 差 4.5×。

**"固定 70 点/组"是一个关键的工程约束**：它让机载算力与场景复杂度脱钩（空旷场景与密集钢架开销相同），代价是采样算子必须与网络一起导出、且必须自己处理"占用体素不足 70"的情形（见 §8）。

***

## 5 · 数据与评测

**本体**：Deep Robotics **X30** 四足，**55 kg**，**0.9-m** 机身，12 个驱动关节。感知为 4 台 **Livox Mid-360**（前后各两台、交错 pitch）。

**仿真评测设置（讲条件）**

* 每格 **200 trials，5 个 seed**（共 1000 次）
* 地形为 **10 × 10 m** 瓦片，成功判据：**20 s** 超时内走完整个 10 m
* 指令 **1.0 m/s** 恒速，**最高课程难度**（Table II 上限）
* **开启结构层**、开启训练级传感器退化、使用**确定性均值策略**（与部署一致）
* 离散障碍**仅在仿真评测**，不迁移到硬件

**课程范围（Table II）**：台阶高 0.1→0.28 m（踏面 0.28 m）、坡度 tanθ 0.2→0.65、离散障碍 0.1→0.23 m、缝宽 0.15→1.1 m、高台 0.25→1.2 m、台阶石间距 0.1→0.55 m / 石宽 0.8→0.35 m、平衡木宽 0.9→0.3 m。

**仿真成功率（Table V，%）**

| 方法 | Stairs | Slopes | Obst. | Gaps | Plat. | Stones | Beams | Mean |
| - | - | - | - | - | - | - | - | - |
| PointWalker (full) | 93.2 | 96.3 | 93.2 | 86.1 | 85.3 | 83.8 | 92.7 | **90.1** |
| Depth-image enc. | 94.6 | 94.9 | 91.7 | 71.5 | 82.9 | 68.4 | 89.3 | 84.8 |
| Height-map enc. | 86.7 | 97.2 | 93.3 | 82.4 | 87.1 | 75.8 | 89.1 | 87.4 |
| Blind | 82.6 | 84.1 | 90.3 | 18.5 | 15.2 | 6.4 | 11.7 | 44.1 |
| w/o Cross-attn. | 82.4 | 92.1 | 89.6 | 74.8 | 75.2 | 68.9 | 77.5 | 80.1 |
| w/ Standard attn. | 94.3 | 95.7 | 94.0 | 87.2 | 84.8 | 84.7 | 92.1 | 90.4 |
| w/ 0.05-m voxels | 92.8 | 97.1 | 94.5 | 88.5 | 87.4 | 90.1 | 94.3 | 92.1 |
| w/ 0.2-m voxels | 82.7 | 95.6 | 92.5 | 79.1 | 79.6 | 67.7 | 78.3 | 82.2 |

**读表要点**：盲式在"脚能探到的"台阶/斜坡保住 82.6/84.1，但在"必须先看到才能踩"的缝/台/石/木上崩到 18.5/15.2/6.4/11.7。深度图编码的短板不是编码能力而是**接口几何**——前向视锥看不到脚下与体侧；论文明确指出这是"接口属性而非编码缺陷"。高程图在钢格栅楼梯上吃 86.7（vs 93.2），因为 2.5-D 聚合把镂空踏面糊成"既非安全支撑也非真实几何"的伪高度。

**edge-landing ratio**（越界落脚的无效比例）：PointWalker **11.5%–18.7%**；深度图编码升到 **18.6%–26.9%**（平均约高 60%）；去掉 foot-edge penalty 后到 **32.4%–57.2%**（约为 PointWalker 的 3 倍）。

**硬件结果（零样本，operator 只发恒速约 1.0 m/s 前进指令，无按地形切换）**

* 工业钢格栅楼梯：**25-cm** 台阶、**45°**
* 自然室外斜坡：**30°–40°**（论文注明这是超出最难课程等级的 OOD 穿越）
* 缝隙 **0.8 m**、高台 **0.8 m**
* 台阶石：**35-cm** 顶面、**30-cm** 间距
* 平衡木：**35-cm** 宽
* 负载：上身背负重物，**30 kg**（体重的 **55%**）上 0.8 m 高台；**50 kg**（**91%**）上钢格栅楼梯
* 遮挡：遮住**一前一后共 2 台 LiDAR**（4 台中 2 台），仍完成台阶（20-cm）、高台、20° 斜坡的组合场景
* 长距：**2.5 km** 山路、**200 m** 爬升、**25 kg**（45%）负载、约 **46 min**、**0.9 m/s**
* 泛化：砾石、沙地、鹅卵石（**均不属 7 类训练地形**）上稳定行走

**诚实的空白**：§IV-C 的组件消融（双通道地形、foot-edge penalty、overspeed tolerance、jump incentive）在硬件上全部标注为 **qualitative**，没有给出成功率或次数；硬件对比也不能与已发表系统直接比（论文明确说明平台/协议不同、无法在硬件上重跑外部系统）。因此硬件侧只有"能 / 不能"的定性结论，**无统计数字**。

***

## 6 · 能力与失败模式

### 能做到（有明确证据）

* **镂空结构落脚**：钢格栅 45° 楼梯，从稀疏点直接落到实心踏面（Fig. 7），这是双通道仿真的直接产物。
* **稀疏支撑**：35-cm 平衡木、35-cm 顶面 / 30-cm 间距台阶石，无地图无落脚点估计。
* **动力学期望项真的在起作用**：缝隙段从巡航 1.1 m/s 加速到峰值 2.1 m/s（高于巡航 90%）、`ω_y` 摆到 1.6 rad/s；高台段 `ω_y` 达 4 rad/s、峰值 2.3 m/s、`v_z` 有 0.5 m/s 脉冲。去掉对应项后：超速容差缺失→撞到对岸边缘悬停；起跳奖励缺失→在台沿抓挠但上不去。
* **传感器冗余**：4 台中遮 2 台仍能走（但测试场景限制在课程内）。
* **跨域接触**：沙、砾石、鹅卵石三种未训练过的接触行为仍稳定行走。

### 做不到 / 会崩

1. **弯折在"感知分布"之外的地形**：`w/o Dual-channel terrain` 变体只在实心楼梯上训练过，遇到真实镂空格栅时**卡在楼梯底部**，最多把一只前脚搭上第一级（Fig. 9）。这是本文最锋利的反面证据——不是策略不行，是**感知分布**不行。
2. **无全局规划**：论文在 Discussion 明说"感知是局部且瞬时的，策略只穿越当前点云所示的内容"，全局路径规划与移动支撑列为 open。
3. **跨平台布局未验证**：明说"porting beyond the X30's four-LiDAR layout is untested"。
4. **动态环境未处理**：移动障碍与移动支撑为待办。
5. **身体正下方/极近处**：0.15 m 内点被删除、体内点被删除，因此紧贴机身的几何是盲区；同时感知盒上界 `z = 0.5 m`，课程里最高的高台**台面会超出这个上界**——论文的应对是"正面仍在视野内"，即**靠台体正面而非顶面**完成上跳决策。

### 隐含假设 (Hidden Assumptions)

| 假设 | 出处 | 一旦不成立 |
| - | - | - |
| **地形局部可用一个最小二乘平面近似** | `𝒏_t` 由 `z = Ax+By+D` 拟合 | 台阶边缘、碎石堆、格栅上，法向病态 → 地形对齐惩罚给出错误梯度 |
| **支撑面落在 z ∈ \[−1.0, 0.5] m 的机体系盒内** | 体素化感知区域 | 更高台面/更深坑的顶面直接不可见；本文靠"正面仍可见"兜住 0.8 m 台 |
| **结构几何是静态的、且可由手写结构层渲染** | 双通道仿真的 perception channel（5 mm 扁条 / 40 mm 间距等参数为手工给定） | 真实世界的格栅间距、栏杆密度、杂物的分布若偏离，属于感知分布外 |
| **4 路 LiDAR 的固定布局 + 交错 pitch** | 硬件配置 | 换机器人、换安装位、加相机吊舱都会改 FOV 与自遮挡结构 |
| **本体感受历史 0.1 s 足够** | `𝑶_t ∈ ℝ^{5×42}` | 需要跨步记忆的支撑（如连续两级不同高度的台阶）只能靠隐式记忆 |
| **特权高度采样可用于构造奖励** | 局部平面拟合、缝隙宽度、台面高度、11 条落脚射线全部基于 privileged height samples | 这些量在真机上不存在；策略学到的是"模仿被特权奖励塑造出的行为"，其上限由特权信号的保真度决定 |
| **步态时钟固定 1.4 Hz 是合适的节律先验** | `𝒄_t` 含 sin/cosψ | 跨步跳跃（0.8 m 缝、0.8 m 台）需要打破周期节律，靠的是过速容差/起跳奖励去覆盖时钟 |
| **仿真中的腿部自遮挡建模足够** | 射线打到 thigh/shank mesh | 真实负载（50 kg 背包）会新增遮挡体，论文未在感知通道中建模负载外形 |
| **训练注入的退化覆盖真实退化** | 2% 无效点 / 2% 离群 / 40–60 ms 延迟 / σ=0.02 m | 遮挡实验一次去掉远多于 2% 的回报，仍成功——但仅在课程内场景验证 |

***

## 7 · 与相关工作对比

| 维度 | DreamWaQ 类（盲式） | Miki 类（高程图 + belief） | 深度图 parkour（PIE / START 类） | BeamDojo | JEPLO | **PointWalker** |
| - | - | - | - | - | - | - |
| 感知输入 | 仅本体感受 | 深度/点云 → 2.5-D 高程图 | 前向深度图 / 重建图 | LiDAR → 高程图 | LiDAR 累积 → 球面深度图 | **4 路 LiDAR 原始体素点** |
| 感知-控制之间是否有中间表示 | 无（但也没有地形信息） | 有（地图 + belief state） | 有（图像） | 有（高程图） | 有（JEPA latent） | **无** |
| 是否需要里程计/配准 | 否 | 是（漂移会传播到控制） | 是 | 是 | 是（累积扫描） | **否** |
| 镂空/透视结构 | 不可知 | 单高度假设被破坏 | 图像空间保住 2-D 扁条 | 高程图同类问题 | 球面深度图仍投影 | **点保留原样** |
| 身体正下方 | 靠触觉 | 依赖地图覆盖 | 前向视锥看不到 | 依赖地图 | 球面投影可覆盖 | **4 路 360° 融合覆盖** |
| 训练范式 | 单阶段 | 教师-学生 / belief | 端到端 | — | 世界模型 + latent | **单阶段 PPO + 非对称 critic（特权只在 critic）** |
| 地形覆盖 | 可探测地形 | 广泛 | 跑酷类 | 稀疏落脚（人形） | 广泛 | **7 类单一策略，无按地形切换** |
| 感知延迟 | 最低（0.38 ms 对照组） | 1.18 ms（对照组） | 4.50 ms（对照组） | 论文未报告 | 论文未报告 | **2.01 ms** |

**三条最该记住的对比结论**（数字均来自 Table V / Table IV）：

1. 相对高程图：**+2.7 点均值**，但代价集中在**台阶（+6.5）与台阶石（+8.0）**——正是 2.5-D 聚合会毁掉的两类几何。
2. 相对深度图：**+5.3 点均值**，差距集中在**缝隙（86.1 vs 71.5）与石头（83.8 vs 68.4）**——这是视锥几何的差异，不是编码能力的差异。
3. 相对盲式：**+46.0 点均值**，差距全在"必须先看见才能踩"的四类地形上。这说明**感知的价值不在平均提升，而在补上触觉来不及的那一类地形**。

### 🎯 面试 Tip

被问到"这个工作和 BeamDojo / JEPLO 有什么本质区别"时，**不要答"我们用点云它们用地图"**（太浅，会被追问"点云不也是表示吗"）。正确的答法是切到**信息损失的可逆性**：

> "区别不在输入的传感器，而在**中间表示是否丢失了决策所需的信息**。BeamDojo 把 LiDAR 投成高程图，是把 3-D 塌成 2.5-D，在镂空格栅上会产生'既不是支撑也不是真实几何'的伪高度；JEPLO 把扫描投成球面深度图再压成 latent，投影本身已经丢了点间关系。PointWalker 不做投影也不做压缩，它保留 350 个原始点，把'压缩'这件事交给一个**被本体感受和指令条件化的交叉注意力**去在线完成——因为决定性落脚点只占输入的一小撮，全局等权的表示（高程图、mean pooling）一定会把它稀释掉。论文里的证据是：把交叉注意力换成 mean pooling，平均掉 10 点，石头和平衡木掉得最多。"
>
> 如果继续被问"那为什么不干脆用 softmax 注意力"：答"softmax 是 90.4%，线性是 90.1%，差 0.3 点，但延迟 8.23 ms vs 2.01 ms——在 20 ms 的控制周期里，这 6 ms 要留给伺服和安全监控，所以这是工程决策而不是精度决策。"

***

## 8 · GitHub-validated pitfalls (atlas 联动, 2026-10-20)

**仓库信号核查**：本论文全文（含 HTML 版与图注）中**未出现任何 `github.com` 链接**，仅在首页给出补充视频 `https://youtu.be/QnCFGh7QXIw`。因此按铁律，**本节不写任何 repo URL / commit / issue 编号**，也不声称存在社区 issue 流。

> **状态**：官方代码仓库未在论文中给出，以下 pitfall 由 **§6 失败模式 + §III 方法约束**推导，**未经 issue 验证**。

### Pitfall 1｜"固定 70 点/组"的采样器是导出边界上最脆的一环

* **方法约束**：`𝒫_t ∈ ℝ^{5×70×3}` 由"从**占用体素**中采样 70 点"构造（§III-A），且论文明确说这个固定尺寸设计是为了"让机载算力与场景复杂度无关"。
* **失败模式来源**：§6 隐含假设"支撑面落在感知盒内"+"结构几何静态"。
* **后果**：在**空旷场景**（室外开阔地、只有地面回波）或**极端近距遮挡**（4 台中 2 台被遮，参见 Fig. 14）时，占用体素数可能 **\< 70**。此时采样器必须做出选择：重复采样、补零、还是补无效点。**补零与补无效点在数学上不等价**——因为论文明确"invalid points are **masked, not removed**"（§III-B），补零会被当作原点附近的真实观测进入注意力。ONNX 导出时若没有把 mask 通道一起导出，注意力分母会静默改变（分母有 clamp，不会 NaN，只会**悄悄错**）。
* **工程动作**：导出前用一个"只有地面"的最小场景跑一遍，检查 mask 输入张量是否在计算图里；把采样器的空体素分支写成显式 assert 或专门的 sentinel 值，并在策略侧配一个对应的 mask 位。

### Pitfall 2｜40–60 ms 的训练延迟 × 2.1 m/s 的冲刺速度 = 感知滞后跨过一个支撑单元

* **方法约束**：训练时注入 **40–60 ms** 点云延迟（§III-A、Table III）；保留窗口为 **5 组 × 70 点 = 0.1 s**（§III-A）。
* **失败模式来源**：§6 "局部且瞬时感知" + Fig. 5 的缝隙冲刺（峰值 2.1 m/s）。
* **推算**：60 ms 延迟在 20 ms 控制周期下意味着最新一组点已陈旧 \~3 步；以峰值 2.1 m/s 计，`2.1 × 0.06 ≈ 12.6 cm`，**超过 0.1 m 体素、也超过 0.085 m 的落脚射线圆盘半径**。也就是说，在缝隙/高台这两个最需要精确边缘判断的瞬间，点云告诉策略的边缘位置可能已经"落在脚后面"。
* **后果**：真机上若 LiDAR 驱动/传输延迟超出训练区间（比如网络拥塞、多传感器时间同步失败），策略不会报错，**只会在边缘判断上系统性偏保守或偏激进**——表现为"要么提前起跳扎进缝里，要么冲过头撞对岸"，与 Fig. 11(b) 去掉超速容差后的失败形态高度相似，容易被误诊为"奖励没调好"。
* **工程动作**：把 LiDAR 时间戳对齐纳入健康监控；延迟超阈值时降速（论文的过速容差只在训练分布内被验证）。

### Pitfall 3｜感知盒 `z ≤ 0.5 m` + 机体系体素化，在"后仰上跳"姿态下会自截断目标

* **方法约束**：体素化区域为机体系 `x∈[−1.2,1.2], y∈[−0.6,0.6], z∈[−1.0,0.5]` m（§III-A），且论文自认"最高的课程高台台面会超出这个上界，靠正面仍在视野内"。
* **失败模式来源**：§6 隐含假设"局部平面近似"与 Fig. 6 的高台上跳动力学——`ω_y` 高达 **4 rad/s**，机身大幅俯仰。
* **后果**：体素网格是**机体系轴对齐**的，机身 pitch 4 rad/s 时网格随身体一起转。上跳瞬间身体后仰 → 感知盒的上界在世界系里抬升、前界缩短，**正在被瞄准的台沿可能在关键时刻掉出盒子**；同时机体系轴对齐的体素在世界系里的有效垂直分辨率随 pitch 变化（0.1 m 的立方体被斜切）。论文的 0.8 m 高台属"上难度区间"且成功，说明在这个尺度上仍可兜住，但 **1.2 m 课程上界的台子**只在仿真里通过。
* **工程动作**：跨到不同机身尺寸/不同高台高度的平台前，先算一次"最坏俯仰角下台沿是否仍在盒内"；若不在，需要考虑把体素化改到重力对齐系（代价：需要姿态估计，破坏"无外部定位"的干净性）。

***

**一句话总结（可直接背）**：PointWalker 用"**本体感受当 query、原始点云当检索库**"的交叉注意力，替掉了高程图/深度图这个中间接口，在一套 PPO run 里训出跨 7 类地形（含镂空钢格栅与 35 cm 平衡木）的单一策略，仿真均值 **90.1%**、感知通路机载 **2.01 ms**、X30 零样本过 0.8 m 缝 / 0.8 m 台 / 45° 钢格栅楼梯 / 背 50 kg / 走 2.5 km 山路——**代价是感知完全局部瞬时，没有全局规划，也没验证过第二台机器人**。

***

[← Back to Legged Locomotion README](./README.md)

> **Status**：v0.1 · 基于 arXiv 全文 · 未在真机复现的数字标 `UNVERIFIED`
> 说明：本文所有数值均逐字取自 arXiv:2610.15548v1 正文与表格；§3 的稀疏度、张量尺寸、单步位移为基于论文原始参数的**示范推算**（已在文中标注）；§8 无 repo 信号，pitfall 为推导而非 issue 验证。

[//]: # "<!-- source: https://arxiv.org/abs/2610.15548 -->"


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.