階層的な VLM 計画: ドローンに「建物 3 の東側に着陸」などの指示を理解させます。

UAV の経路計画におけるビジョン言語アクション モデル (VLA) の適用を詳細に分析し、シングル エンドツーエンドから階層型セマンティック プランニングまでの進化ルートを精査し、RT-2、OpenVLA、Compositional Foundation Models、LangStrands などの主要な作業をカバーし、階層アーキテクチャが UAV VLA にとって最適なソリューションである理由を分析し、実装ガイドラインを提供します。

階層型 VLM 計画: ドローンに「建物 3 の東側に着陸」などの指示を理解させます

1. 質問: 「ダイレクトエンドツーエンド」はなぜドローンでは機能しないのですか?

ドローンに次のコマンドを与えたと想像してください。「建物 2 を回って、建物 3 の東側の広場に着陸してください」

この文は人間にとって単純ですが、3 つのレベルの意味が含まれています。

  1. セマンティック レイヤー: ビルディング 2 とビルディング 3 の位置を検索します。
  2. 空間推論: 現在の場所から開始して、建物 2 を迂回し、建物 3 の東側に到達します。
  3. 物理的実行: スムーズな 3D 軌道を生成し、リアルタイム トラッキングのためにモーターを制御します。

純粋なエンドツーエンド VLA (Vision-Language-Action) を使用してカメラ画像からモーター制御信号を直接出力する場合、次の 2 つの基本的な問題に直面することになります。

したがって、階層型 VLM 計画 は、産業界と学術界で一般的な選択肢となっています。

2. 階層化アーキテクチャの概要

用户指令: "绕过2号楼,在3号楼东侧降落"

┌─────────────────────────────────────────────┐
│ Layer 1: 语义理解层 (VLM/LLM)               │
│ 输入: 文本指令 + 地图/图像                   │
│ 输出: "先向北飞,绕过2号楼,再向东飞..."       │
│       (子目标序列)                            │
│ 模型: GPT-4V / LLaVA / Gemini 2.0 Flash    │
└─────────────────────────────────────────────┘
                    ↓ 子目标
┌─────────────────────────────────────────────┐
│ Layer 2: 轨迹规划层 (MPC / RRT* / ESDF)    │
│ 输入: 当前状态 + 子目标                      │
│ 输出: 空间路径点序列 (x,y,z,t)              │
│ 特点: 有理论安全性保证(可源性、碰撞检测)     │
└─────────────────────────────────────────────┘
                    ↓ 路径点
┌─────────────────────────────────────────────┐
│ Layer 3: 控制执行层 (PID / 非线性MPC)        │
│ 输入: 期望轨迹 + 当前状态                    │
│ 输出: 电机转速 / PWM 信号                    │
│ 频率: 100-400Hz (实时)                      │
└─────────────────────────────────────────────┘

この階層化の利点: 各レイヤーは分離されており、フルリンクのエンドツーエンド トレーニングを必要とせず、そのレイヤーに最適な方法を使用して独立してトレーニング/最適化できます

3. 各層の詳細説明

3.1 レイヤ 1: 意味理解レイヤ - VLM に指示を理解させます

これは、階層化アーキテクチャの中で最も「賢い」層であり、大規模なモデルが最も役立つ場所です。

中心的な使命:

主要なテクノロジー: 視覚的なグラウンディング

言語の抽象的な参照 (「建物 3 の東側」) を地図/画像内の具体的な場所にマッピングします。

# 伪代码示例
def parse_instruction(instruction: str, map_image: Image, ego_view: Image):
    # Step 1: 用 VLM 理解指令中的地标
    landmarks = vlm.extract_landmarks(
        instruction,  # "绕过2号楼,在3号楼东侧降落"
        map_image    # 鸟瞰地图
    )
    # → ["building_2 (polygon: [[x1,y1],...])", 
    #    "landing_zone: east_side_of_building_3"]

    # Step 2: 将地标转换为坐标
    goal_pose = convert_to_waypoints(landmarks, ego_view)

    # Step 3: 生成子目标序列
    subgoals = plan_subgoal_sequence(
        current_pose, goal_pose,
        constraints=[avoid(building_2), approach(building_3, side=east)]
    )
    # → ["fly_north_50m", "turn_east", "descend_20m", "hover_at_landing_zone"]

    return subgoals

モデルの選択:|モデル |利点 |デメリット |該当するシナリオ | |------|------|------|----------| | GPT-4V / GPT-4o |強力な推論能力、強力なマルチモダリティ |インターネット接続が必要、遅延が長い |クラウド、遅延の影響を受けない | |ジェミニ 2.0 フラッシュ |無料、高速、ローカル展開をサポート |中国語の説明書の一般的な理解 |ローカルエッジ展開 | | LLaVA 7B |ローカルに展開可能なオープンソース |複雑な命令を理解するのが苦手 |エッジドローン | | Qwen2-VL |中国人に優しい、オープンソース |エッジ展開は定量化する必要がある |国内シナリオ |

最近の進捗状況 (2024 ~ 2025 年):

3.2 レイヤ 2: 軌道計画レイヤ - セマンティクスから空間パスまで

この層は、セマンティック層のサブゴールを受け取り、幾何学的パスを出力します。

古典的な方法 (非学習スタイル):

# RRT* 全局路径规划
path = rrt_star(
    start=current_pose,
    goal=subgoal,
    obstacles=building_2_obstacle,  # 来自语义层的输出
    max_iterations=1000,
    connection_radius=5.0
)

# ESDF 局部避障(实时)
esdf_map = build_esdf_from_lidar(ego_view)
safe_direction = esdf_map.gradient_at(current_position)

# MPC 轨迹优化
trajectory = mpc.optimize(
    horizon=20,
    dynamics=uav_dynamics,
    obstacles=esdf_map,
    cost=[trajectory_smoothness, progress_to_goal, control_effort]
)

学習方法(強化学習):

# 策略网络:输入当前状态+目标 → 输出控制动作
policy = PPO(
    obs_dim=state_dim,      # 位置、速度、姿态、附近障碍物
    act_dim=action_dim,     # 速度指令 (vx, vy, vz)
)

# 在仿真中训练,通过 Domain Randomization 提升泛化性
# DR参数:风速、延迟、传感器噪声、空气质量
env.set_domain_randomization(
    wind=(0, 5),           # m/s
    comm_latency=(0, 100), # ms
    sensor_noise=(0, 0.05) # 归一化噪声
)

**このレイヤーを純粋な RL に置き換えてみてはいかがでしょうか? **

純粋な RL 軌道には理論的な安全性の保証がないため、RL は「実行可能に見えても実際には壁にぶつかる」パスを見つける可能性があります。 ESDF + MPC の組み合わせにより、到達可能性が保証されます。MPC が解決策を見つけることができる限り、障害物に衝突することはありません

3.3 レイヤ 3: 制御実行レイヤ - リアルタイムの安定した追跡

この層は最も成熟しており、従来の制御理論で完全に十分です。

# 非线性 MPC 控制
class UAVController:
    def __init__(self):
        self.mpc = NMPC(
            horizon=10,          # 预测 10 步 (~1秒)
            dt=0.1,             # 控制周期 10Hz
            Q=diag([1,1,1]),    # 位置误差权重
            R=diag([0.1,0.1])   # 控制量权重
        )

    def control(self, state, ref_trajectory):
        # ref_trajectory 来自 Layer 2
        u = self.mpc.solve(state, ref_trajectory)
        return self.motor_mixer.mix(u)  # 转换为电机转速

    def safety_check(self, state):
        # 实时安全兜底:如果状态危险,强制悬停
        if state.altitude < 2.0 and state.speed < 0.5:
            return "LANDING"
        return "FLY"

4. 主な研究活動

4.1 階層的計画のための構成基盤モデル

Ajay et al.、arXiv:2309.08587 (2023)

この記事は非常に重要な基礎作業であり、「結合基本モデル」の概念を提案します。- 中心的なアイデア: 複数の専用の基本モデルを組み合わせて使用し、各レイヤーが 1 つのことを実行し、組み合わせを使用して複雑なタスクを完了します。

UAV にとって魅力的な理由: 階層計画により、UAV シナリオに合わせてシステム全体を再トレーニングすることなく、各レイヤーが事前トレーニングされたモデルを個別に再利用できるようになります。

4.2 LangStrands — 自然言語制御ロボット

LangStrands (2024) — 自然言語を使用してロボットを制御し、産業シナリオで偵察/操作タスクを実行します。

・「まずAエリアの設備を確認し、異常があればB拠点に報告する」といった複雑な指示にも対応

UAV からの参照: LangStrands のミッション マップ分析のアイデアは、「最初に 5 つの目標点を偵察し、その後基地に戻る」などの複雑なタスクなど、UAV に直接転送できます。

4.3 具現化された思考の木 — 世界モデル支援計画

Xu et al.、arXiv:2512.08188 (2025)

UAV にとっての価値: UAV が空中を飛行しているとき、World Model は突風の影響やバッテリー劣化後のホバリング能力を予測し、より安全な軌道を事前に計画できます。

4.4 OpenVLA — オープンソースのロボット VLA

OpenVLA (2024) — カリフォルニア大学バークレー校がリリースしたオープンソース VLA モデル:

Ni et al.、arXiv:2509.15273 (2025)

重要: 統合された評価プラットフォームを使用すると、階層化アーキテクチャの各層を独立して評価でき、証拠に基づいて最適化できます。

5. Sim2Real: 訓練された戦略を実際のドローンに転送する方法

階層型アーキテクチャの主な利点: 各層を独立して Sim2Real にすることができるため、フルリンクのエンドツーエンド移行の必要がなくなります。

5.1 Sim2Real 各層の難易度分析

レベルトレーニング環境移行の難しさ主要な課題
レイヤ 1 (VLM)任意の画像/地図低いVLM は事前トレーニングされており、強力な一般化を備えています。
レイヤ 2 (RL)AirSim / フライトメア空力パラメータの不一致
レイヤ 3 (MPC)リアルドローンパラメータ調整低いモーターパラメータを校正するだけです

5.2 レイヤ 2 の Sim2Real 戦略

ドメインのランダム化 (DR):

# 仿真训练时随机化关键物理参数
class SimEnv:
    def reset(self):
        self.wind = random.uniform(-3, 3)      # m/s 阵风
        self.motor_lag = random.uniform(0.8, 1.2)  # 电机响应系数
        self.battery_level = random.uniform(0.7, 1.0)  # 电池状态
        self.gps_noise = random.uniform(0, 0.5)  # GPS 噪声 (m)

**Real2Sim キャリブレーション (実機キャリブレーション): **

# 在真实无人机上跑系统辨识
def calibrate_dynamics(real_uav):
    # 激励信号:阶跃输入
    for amplitude in [0.1, 0.3, 0.5]:
        response = real_uav.step_input(thrust=amplitude)
        # 拟合真实电机响应曲线
        motor_model.fit(step_responses)

    # 将标定参数写回仿真
    sim_env.set_dynamics(motor_model.params)

5.3 実践例: MADER の Sim2Real

MADER (空中群に対するマルチエージェント DEep 強化学習) は、近年 UAV Sim2Real によって行われた最高の作品の 1 つです。

6. エンジニアリングの実装: 階層型 VLM ドローンをゼロから構築する### 6.1 推奨されるテクノロジースタック

硬件:                      软件:
- Pixhawk 飞控 (或 Crazyflie)   - PX4 / ArduPilot 固件
- Jetson Orin NX (边缘计算)     - ROS 2 Humble
- Livox 激光雷达 / RealSense    - 深度相机 + IMU

软件分层:
┌──────────────────────────────────┐
│ VLM (Layer 1): LLaVA 7B/Qwen2-VL │
│ 推理引擎: llm.cpp / vLLM          │
│ 推理硬件: Jetson Orin NX (INT8)   │
└──────────────────────────────────┘
┌──────────────────────────────────┐
│ 规划器 (Layer 2):                │
│ - 全局: RRT* (OMPL)             │
│ - 局部: OSQP / Crocoddyl (MPC)   │
└──────────────────────────────────┘
┌──────────────────────────────────┐
│ 控制器 (Layer 3): PX4 SITL /     │
│              Ardupilot guided mode │
└──────────────────────────────────┘

6.2 ROS 2 メッセージ インターフェイス

# Layer 1 → Layer 2 消息
class SubgoalMsg(Message):
    position: Point  # 目标点
    constraints: List[Constraint]  # 避障约束
    priority: int  # 优先级
    timeout: float  # 超时时间

# Layer 2 → Layer 3 消息
class TrajectoryMsg(Message):
    waypoints: List[PoseStamped]  # 路径点序列
    velocities: List[float]       # 期望速度
    start_time: Time             # 计划开始时间

6.3 遅延バジェット (リアルタイム保証)

总延迟预算: < 500ms (可接受)
├─ 图像采集: 30ms (30fps)
├─ VLM 推理: 200-400ms (LLaVA 7B @ INT8)
├─ 轨迹规划: 50ms (RRT* + MPC)
└─ 控制器跟踪: 实时 (100Hz)

VLM 推論が遅すぎる場合は、次のことができます。

  1. ストリーミング推論を使用すると、計画層は中間結果を事前に取得できます。 2.軽量モデル(LLaVA 3B / Qwen2-VL 2B)を使用 3.よく使用する命令の計画結果をキャッシュ(マップ固定時有効)

7. 現在の課題と今後の方向性

7.1 主要な課題

  1. VLM 推論レイテンシ: LLaVA 7B はエッジ GPU で約 200 ~ 400 ミリ秒を推論し、セキュリティ対応の要件を超えています
  2. コマンドのあいまいさ: 「安全な場所に着陸する」というあいまいなコマンドは、VLM が処理するのが困難です。
  3. 多層エラーの蓄積: レイヤ 1 のセマンティック エラー → レイヤ 2 のパス偏差 → レイヤ 3 の制御ジッタ
  4. 動的障害物: レイヤー 2 の ESDF マップ更新頻度は、高速の障害物 (飛んでいる鳥など) に追いつくことができません。

7.2 今後の方向性

8. まとめ

階層型 VLM 計画は、現在 UAV インテリジェンスにとって最も実現可能なルートです。

このアーキテクチャの主な利点: **すべてのリスクを負担するためにブラック ボックスのエンドツーエンド モデルを使用するのではなく、大きなモデルに得意なこと (理解) を行わせ、古典的な手法に得意なこと (セキュリティ計画) を行わせます。それぞれが独自の役割を果たします。


*参考文献(本文中の引用順)*1. Ajay et al.、「階層計画のための構成基盤モデル」、arXiv:2309.08587、2023 2. Padalkar 他、「OpenVLA: オープンソースのビジョン-言語-アクション モデル」、2024 年 3. Liu 他、「サイバー空間と物理世界の整合: 身体化 AI に関する包括的な調査」、arXiv:2407.06886、2024 4. Xu et al.、「身体化された思考のツリー: 身体化された世界モデルを使用した意図的な操作計画」、arXiv:2512.08188、2025 5. Ni et al.、「Embodied Arena: A Comprehensive Evaluation Platform for Embodied AI」、arXiv:2509.15273、2025 6. Mu et al.、「Embodied AI-Enhanced IoMT Edge Computing: UAV Trajectory Optimization」、arXiv:2512.20902、2025 7. Zhou et al.、「OmniShow: Unifying Multimodal Conditions for Human-Object Interaction」、arXiv:2604.11804、2026

※著者:神楽タルト | 2026-04-15*