Alpha+ Project PRD

目的・報酬駆動型 自律学習ロボット

Problemタスク追加のたびに制御を書き直す
Approach目的と報酬で行動を学習する
Demo人を探して安全に近づく

タスクごとに制御を書くのを、やめたい

目的と報酬を渡し、行動の獲得はロボット自身に任せます

いま困っていること

実装コストが積み上がる

移動、回避、追跡、探索を追加するたびに、制御ロジックをほぼ作り直します

環境変化に弱い

部屋のレイアウトや障害物が変わると、作り込んだ前提がすぐ崩れます

検証基盤がない

目的と報酬だけで現実のロボットが行動を獲得できるか、試す場所がありません

00. 現在の問題と要望

大会に出たい。でも毎回、書くものが違う

RoboCup 競技ごとに使う言語、SDK、制御の考え方が変わります
Kibo RPC 宇宙ロボット向けの処理フローを、また別の形で組みます
個人ロボット 大会とは別に、自分用の遊べるロボットも作ってみたい

毎回ロジックを書くの、正直めんどくさい

目的だけ渡して、あとは学習してくれる土台がほしいです

個人的には、かくれんぼがしたい

友人が少なくても、ひとりでも、ちゃんとかくれんぼが成立する相手がほしい

探す、見つける、追う、逃げる。それを現実のロボットでやりたいです

だから欲しいもの

  • 「人を探して」と言えば探索してくれる
  • 見つけたら安全な距離まで近づく
  • 部屋や障害物が変わっても調整できる
  • 新しい遊びや競技にも転用できる

事例: ARC Raiders が示していること

Player ARC Machine 環境に応じて動きが変わる 物理・移動学習・従来AIを組み合わせた例

ポイント

  • 敵AIが「学習しているように見える」ほど動的に振る舞う
  • 実際、最初は簡単に倒せた敵も、今はレイドを組まないと厳しいほど強くなっています
  • マッチ中も、戦闘が長引くほど探索・追跡・位置取りの圧が増していくように感じます
  • プレイヤー行動やマッチ由来のデータが、改善ループやML訓練に使われている点が重要です
  • このPRDでは「データから敵が強くなり、現実の体験も変わる」事例として扱います

参考: 80 Level / GamesRadar+ / ARC Raiders公式Fair Play記事

Arc Raiders の敵AIはどう作られているか

確定している技術要素

  • 手作業アニメーションだけではなく、物理シミュレーションと強化学習を組み合わせています
  • 多脚ロボットが地形や障害物に合わせて、自然に歩く・走る・崩れる・立て直す動きを獲得します
  • ロコモーションはニューラルネットワークで制御し、上位の行動判断はゲーム側のシステムで扱います
  • 状況ごとに学習済みの制御を切り替え、ゲームとして破綻しないように調整しています

面白いところ

  • 急旋回で体を振るような、手作業では作りづらい挙動が自然に出ます
  • 開発中には、想定外の歩き方やジャンプなど、人間の予想を超える動きも起きています
  • 機械学習のリアリティと、デザイナーが意図した難易度・行動パターンを両立させています
  • Alpha+でも「目的と報酬から行動が生える」体験を現実ロボットで試したいです

参考: 80 Level / GDC "Learning to Move" セッション / GamesRadar+

サンプル動画

ARC Raiders Short

サンプルとして見る動画
youtube.com/shorts/qaXpNkgHPSE

この動画で見たい観点

  • プレイヤーが「敵が賢くなった」と感じる瞬間
  • 移動、追跡、位置取りがどう見えるか
  • マッチ中に圧が増していくように見えるか
  • それを現実ロボットの探索・追跡タスクへどう落とすか

このスライドでは、実装の断定ではなく「目指したい体験の近い例」として扱います

01. 何を作るのか

ゴールは「目的を与えるだけ」

人間が渡すもの

  • 目的: この地点へ移動する
  • 報酬: 近づくほど高くする
  • 制約: 衝突しない、速度を守る

ロボットが獲得するもの

  • どこへ進むか
  • どう障害物を避けるか
  • 人間と無機物をどう区別するか
  • 目的達成までの行動戦略

初期に検証する5タスク

タスク 見たい能力 成功のイメージ
指定地点への移動 目的地への接近 無衝突で到達
障害物回避 周囲の認識と回避 ぶつからず迂回
人間の認識 Perception 人と物を区別
人間の追跡 継続的な再探索 一定距離を保つ
かくれんぼの鬼 探索と追跡の統合 発見して近づく

02. システム構成

Robot は薄く、AI はサーバーへ

Robot Client センサー送信とモーター実行に集中
Communication 映像・距離・姿勢を上げ、行動コマンドを返す
Server AI 学習、推論、モデル更新をまとめて担当
Safety Layer 速度制限、衝突防止、非常停止を独立制御
Real World 実機経験を次の学習に戻す

学習ループ

Simulation 大量試行 Training RL / IL / Curriculum Transfer Sim-to-Real Fine-Tuning 実機経験 実世界の結果を、次の学習へ戻します

報酬設計の例

Positive Reward

  • 目的地点に近づく
  • 人間を検出する
  • 一定距離まで安全に接近する
  • 無衝突で移動し続ける

Negative Reward

  • 障害物へ衝突する
  • 目的地から遠ざかる
  • その場で停滞する
  • 接触距離まで近づきすぎる

03. デモで見せたいもの

AI Robot Hide-and-Seek Demo

成功条件

対象となる人間を発見し、接触せず、一定距離まで近づけること

ここで統合される能力

  • 探索
  • 人物認識
  • 障害物回避
  • 安全な接近
  • 継続的な再探索

AI Robot Dashboard

Task Find target person
Episode 1,245,392
Reward 384.21
Success 73.4%
Battery 82%
Target FOUND
Distance 4.2m
Model v27

学習状況は見えるようにする

Monitoring

1.2MEpisodes
73%Success Rate
327hTraining Time
v27Model Version

成功率

実機 Fine-Tuning

途中経過、過去モデルとの比較、行動ログ、実機映像を同じ画面で確認します

04. リスクと設計方針

失敗しそうなところを先に潰す

リスク 何が起きるか 初期方針
初期学習問題 移動すら学べない デモ操作、既存制御、Curriculumを使う
Sim-to-Real Gap 実機で動かない Domain Randomizationと実機Fine-Tuning
破損リスク 衝突・転倒で壊れる Safety ControllerをAIから独立させる
通信遅延 回避や追跡が遅れる 遅延もランダム化して学習に含める
Reward Hacking 意図しない抜け道を選ぶ 研究対象としてログと比較で追う

Non-Goals

やらないこと

  • 人間への危害を目的にしない
  • 武器や攻撃装置を載せない
  • 公道や無許可の屋外で走らせない
  • ロボット本体をゼロから作らない

割り切ること

  • 完全な汎用人工知能は目指さない
  • すべてをEnd-to-Endだけで解かない
  • ハードウェアの物理限界は前提として扱う
  • 安全層は学習AIと分離します

現実世界を、学習環境として扱えるか?

シミュレーションと実機経験を往復させ、Sim-to-Real Gapを縮めます

Thank you!

Alpha+ Project PRD