ロボットの体は文章で書ける — 関節・モーター・「気をつけ」の姿勢【アヒルで学ぶフィジカルAI #3】
Ember 編集部 ・ 2026-08-28 ・ 約4分 ・ robotics
前回、FUTSAL DUCKSの世界は「341個の数字」でできていて、そのうちアヒル1羽ぶんは21個だと話しました。では、その「アヒルの体そのもの」——どこに関節があり、部品がどんな形で、どこにモーターが付いているか——は、どうやってコンピュータに伝えているのでしょうか。 答えは、 テキストファイル1本 です。このアヒルの体は、MJCF(MuJoCo XML)という形式の、人間がそのまま読み書きできるテキストで書かれています。CADソフトの複雑な画面を想像した人には拍子抜けかもしれません。ロボットの体は、文章で書けるのです。 そしてこのゲームがアヒルを8羽に増やしている方法は、身も蓋もなく言えば コピペ です。1羽ぶんの体の記述を8回複製し、名前に d0 〜 d7 と接頭辞を付けて、1つの世界に並べている。体がテキストであることの威力は、この「増やせる・書き換えられる・差分が見える」に尽きます。
道具箱① 関節と自由度 — 体は「数珠つなぎ」で書く MJCFでは、体を 入れ子 で書きます。胴体の中に太ももがあり、太ももの中にすねがあり、すねの中に足がある。親子関係でつながった部品の間に<strong 関節(joint)</strong を置くと、そこが曲がるようになります。 アヒルの関節は全部で14個です。 脚 : 股関節3個(前後・左右・ひねり)+膝1個+足首1個 = 片脚5個 × 2 = 10個 首と頭 : 首の前後、頭の前後・左右・ひねり = 4個 関節1個はどれも「ちょうつがい(hinge)」で、曲がり角度は数字1個で表せます。前回の「アヒル1羽=21個」の内訳は、胴体の位置と向きの7個+この関節角度14個でした。体の設計図と状態の数字が、ここでピタリと噛み合います。 ちなみに人間の片脚は股関節3+膝1+足首2の6自由度と言われます。アヒルの脚は足首を1自由度に簡略化した設計で、人間より1つ少ない。 自由度を増やすほど器用になるが、モーターが増えて重く・高く・壊れやすくなる ——この設計のさじ加減は、ロボット工学の永遠のテーマです。 実物を見てみる アヒルの記述から、雰囲気が伝わる部分を(簡略化して)抜き出します。 axis は回転軸、 range は可動域(単位はラジアン)です。実物のファイルはこれが約1000行続きますが、構造はこの入れ子の繰り返しにすぎません。公式シミュレータと一緒に公開されているので、誰でも全文を読めますし、書き換えれば脚の長さも可動域も変えられます。 道具箱② アクチュエータ — モーターは「願い事」で動く 体ができたら、動かす仕組みです。関節を動かす装置を アクチュエータ と呼びます(このアヒルでは各関節に1個、計14個のサーボモーター)。 ここで大事な感覚がひとつ。プログラムからモーターに送る指令は「この力を出せ」ではなく、 「この角度になってほしい」という目標角度 です。すると、モーターの中の制御回路が という計算で、目標に向かってばねのように引っ張ってくれます。目標から遠いほど強く引き、近づくと弱める。実物のサーボモーターもシミュレータの position アクチュエータも、この PD制御 と呼ばれる仕組みで動いています。 「願い事(目標角度)を言えば、細かい力加減はモーターが引き受けてくれる」——この分業のおかげで、上位のプログラム(そして次回以降に登場するニューラルネットワーク)は、1秒に50回、14個の目標角度を言うだけで済むのです。 道具箱③ 基準姿勢 — すべては「気をつけ」からの差分 ゲーム内のアヒルは、リセット直後、膝を軽く曲げた独特の立ち姿になります。これは適当な姿勢ではなく、設計で決められた<strong 基準姿勢(デフォルトポーズ)</strong です。実際の数字を少しだけ見ると、 膝を伸ばし切らず、少し沈んだ姿勢。人間がスポーツで構えるときと同じで、 どの方向にもすぐ動ける、バランス回復の余地がある姿勢 です。 この基準姿勢は、じつはこの後の連載全体で繰り返し登場する超重要人物です。アヒルの脳(ポリシー)が出す指令は、生の角度ではなく、 という<strong 「気をつけ」からの差分</strong として扱われます。脳が全部0を出せばアヒルは基準姿勢で立ち、脳は「そこからどれだけずらすか」だけを考えればいい。ゼロ点をうまく選ぶと学習が楽になる——機械学習全般に通じるコツが、ここに埋まっています。 観察課題 1. アヒルが キックされて転んだ後 を見てください。数秒後、その場で基準姿勢に戻って復帰します。これは「関節角度14個を基準姿勢の値に書き戻すリセット」です。前回のセーブデータの話と今回の基準姿勢が、画面の1シーンでつながります。 2. 🛼 ローラーモード のアヒルの足元を拡大して見てください。足が車輪付きのブレードに置き換わっています。実はこれ、 別のMJCFファイル です。体のテキストを差し替えただけで、同じゲームエンジンの上に「別の身体」が立ち上がる。ただし車輪にはアクチュエータが ありません (受動車輪)。モーターなしの関節が転がりだけを担当します。 3. では、体が変わったとき、 脳は同じままでいいのでしょうか? ——結論だけ先に言うと、ダメでした。ローラーのアヒルは別の脳を積んでいます。体と脳がセットであるという話(第7回)への伏線です。 次回は、体と脳の間をつなぐ配線の話。アヒルの脳に毎秒50回届いている「観測61次元」を1個ずつ開けていきます。驚くべきことに、その61個の中に ボールの位置は入っていません 。アヒルは、ボールが見えていないのです。