アヒルは目隠しで立っている — センサーと「観測61次元」の中身【アヒルで学ぶフィジカルAI #4】

Ember 編集部 ・ 2026-08-28 ・ 約5分 ・ robotics

ここまでの3回で、FUTSAL DUCKSの世界(状態341個)と、アヒルの体(関節14個、モーターは目標角度で動く)を見てきました。今回はいよいよ、体と脳をつなぐ配線——アヒルの脳(ポリシー)に毎秒50回届いている入力データを開けます。 その入力は、ちょうど 61個の数字 です。この連載ではこれを<strong 観測(observation)</strong と呼びます。「状態」と似ていますが、決定的に違う概念です。状態は<strong 世界の全情報</strong (神の視点)。観測は<strong ロボット自身が自分のセンサーで知れること</strong (当事者の視点)。この2つの落差こそ、今回の主題です。 先に一番面白い事実を言ってしまいます。61個の中身を全部並べても、そこに ボールの位置はありません 。自分が今ピッチのどこにいるかという座標も、敵の位置も、ゴールの方向もない。そして<strong カメラ映像も入っていません</strong ——実機のmicroduckの頭には本物のカメラが(製品版には深度センサーまで)付いているのに、です。つまりこのアヒルは、目を持ちながら、<strong ボールを見ずにフットサルをしている</strong のです。

61個の内訳 観測61次元の中身は、きっちり5つのグループに分かれます。 ひとつずつ、なぜこれが選ばれたのかを見ていきます。 ①ジャイロと②重力方向 は、実機ではIMU(慣性計測ユニット)という数百円〜数千円のセンサーから得られます。スマホの画面が縦横に回るのと同じ部品です。特に②が重要で、「体の座標系で重力がどっちを向いているか」という3個の数字は、 転びそうかどうか をほぼこれだけで教えてくれます。直立していれば真下(0, 0, −1)、前に傾けば重力ベクトルが前方成分を持ちます。ゲーム内の転倒判定も、実はこの数字を見ています。 ③関節角度 は、サーボモーター内蔵の角度センサー(エンコーダー)から。第3回でやった「基準姿勢からの差分」がここで再登場します。生の角度ではなく差分にするのは、脳にとって「ゼロ=いつもの姿勢」という分かりやすい座標系を作るためです。 ⑤直前の自分の行動 は、少し不思議に見えます。なぜ自分が出した指令を自分に見せるのか。理由は2つ。モーターは指令通りには即座に動かないので、「言ったこと」と「実際の角度」の差が情報になること。そして、前回の指令を知っていれば急ハンドルを避けてなめらかな動きを作りやすいことです。 ⑥コマンド は、外部からの注文書です。前進速度・横移動・旋回速度の3個に加えて、首や頭の向きの指定などが並びます。あなたがWASDキーを押すと、この最初の3個が書き換わります。 ないものリスト — アヒルは何を知らないか 改めて、61個に 入っていないもの を数えましょう。カメラ映像。自分の絶対位置。ボールの位置。敵味方の位置。ゴールの方向。スコア。残り時間。 念を押すと、カメラ映像が入っていないのは「実機にカメラがないから」ではありません。カメラはあるのに、この脳には<strong あえて配線されていない</strong 。意図的な設計です。 人間のフットサル選手から視覚と戦況を全部奪ったら、プレーは成立しません。ではなぜアヒルは動けているのか。 答えは 分業 です。このゲームの知能は2階建てになっています。 下の階(ポリシー) : 61個の観測から14個の関節指令を作る。担当は「転ばずに、注文どおりの速度で動く」ことだけ。1秒に50回。 上の階(プレイヤーまたはボットAI) : ピッチ全体を見て、「どっちへどれくらいの速さで動くべきか」を決め、コマンド欄に書き込む。ボールを見ているのは、この階だけです。 人間の体で言えば、下の階は小脳や脊髄です。あなたは歩くとき「右の股関節を23度」とは考えません。「あっちへ行こう」と思うだけで、バランスと足運びは無意識の階層が処理します。アヒルの61次元は、この無意識の階層への入力を、必要最小限まで削ぎ落としたものです。 実機のmicroduckでも構図は同じです。頭のカメラの映像は歩行ポリシーには入らず、別のプログラムが配信したり処理したりする——「見る係」と「バランス係」は、住んでいる階が違うのです。 なぜ削ぎ落とすのか — sim2realの伏線 「せっかくシミュレータなんだから、ボールの位置も自分の座標も全部教えればいいのに」と思いませんか。シミュレータの中では、341個の状態はすべて既知です。教えるのはタダです。 それでも教えない理由は2つあります。1つ目はこの連載の最終回のテーマ、sim2realです。 このポリシーは、いずれ現実のロボットで動くために訓練されている からです。実機にはカメラも深度センサーもありますが、シミュレータが「神の視点」でタダで配れるボールの正確な座標や自分の絶対位置を、現実のセンサーから同じ精度・同じ即時性で取り出すのは、それ自体が大仕事です。シミュレータの中で「現実では簡単に手に入らない情報」に頼って上手くなってしまうと、現実に持ち出した瞬間、何もできなくなります。 2つ目は、バランスという仕事の性質です。転びそうかどうかは、ジャイロと重力方向がほぼ教えてくれます。カメラ映像は毎秒50回の死活判断に必須ではないのに、処理の重さは桁違い。必須でない重い入力を反射の階に混ぜない——だから視覚は、もっとゆっくり考えられる上の階に任せるのです。 だから観測は、 現実のセンサーから確実に・即座に手に入るものだけ で組む。シミュレーションの練習は、本番と同じ持ち物で。フィジカルAIの設計思想が、この61という数字の選び方に凝縮されています。 今回の道具箱 ① 観測(observation) — ロボット自身のセンサーから得られる情報。世界の全情報(状態)とは区別する。この差を「部分観測」と呼ぶ。 ② IMU — 角速度と姿勢(重力方向)を測る小さなセンサー。スマホにも入っている。二足歩行の生命線。 ③ 階層設計 — 「バランスと移動」を下の階(ポリシー)に、「戦術と照準」を上の階(プレイヤー/ボットAI)に分ける。それぞれの階が必要な情報だけを受け取る。 観察課題 1. 目をつぶって片足立ち してみてください(安全な場所で)。視覚なしでもしばらく立てるのは、内耳の前庭感覚(=ジャイロと重力方向)と、筋肉・関節の感覚(=関節角度と速度)があるからです。あなたの中にも61次元とよく似た配線があります。ちなみに目を開けると急に安定するのは、人間が視覚もバランスに使っている証拠。アヒルの歩行ポリシーは、頭にカメラという「目」を持ちながら、あえてそれを使わずにプレーし続けていると考えると、なかなか健気です。 2. ゲームで、 壁際に追い込まれたアヒル を見てください。壁は61個のどこにも入っていないので、アヒルは壁を知覚できず、平然と壁に向かって歩き続けます。「観測にないものは存在しないのと同じ」——部分観測という概念が一目でわかる場面です。 3. ボットのアヒルが ボールをきれいに追いかける のを見てください。ボールが見えない脳で、なぜ? もう答えられるはずです。見ているのは上の階(ボットAI)で、下の階には「こっちへ進め」という3個の数字しか届いていません。 次回はいよいよ本丸、この61→14の変換を行うニューラルネットワークを、 誰も歩き方を教えずに 育てた方法——強化学習の話です。