- 歩行AI のモデルは,
小〜中規模のニューラルネット
MLP (多層パーセプトロン) が多い
- 入力 = 「状態」 観測データ
センサー情報
関節角度,角速度,床反力,姿勢,カメラ画像など
- 出力 = 「行動」 指令:
- 入力の詳細
(1) 観測 (observation) データ
① 身体状態(Proprioception)
関節角度(joint position)
関節角速度(joint velocity)
本体の姿勢(roll, pitch, yaw)
本体の角速度(gyroscope)
重心の高さ
各脚の接地状態(foot contact)
これらは,
位置(現在)
速度(過去との変化)
加速度(さらにその変化)
を含んでいて,「過去の情報を圧縮した特徴量」になっている。
② 環境の局所情報(Local Environment)
歩行 (“次の一歩をどう置くか”) に必要な「足元の情報」。
地面の高さ(height map)
傾斜(slope)
近くの障害物の距離
地面の摩擦係数(ドメインランダム化で変える)
③ 目標速度(Target Velocity)※任意
歩行の「スタイル」を指定する
前進速度の目標値
「速く歩け」「ゆっくり歩け」
旋回速度の目標値
「右に曲がれ」など
(2) 観測ベクトル
観測データは,ベクトルの形で,入力になる。
例:
| カテゴリ | 次元数 | 内容 |
| 本体姿勢 | 3 | roll, pitch, yaw |
| 本体角速度 | 3 | gyro |
| 本体加速度 | 3 | acc |
| 関節角度 | 12 | 4 脚 × 3 関節 |
| 関節角速度 | 12 | 同上 |
| 接地状態 | 4 | 各脚の接地フラグ |
| 行動履歴 | 12 | 1 ステップ前のトルク |
| 地面高さ | 20〜50 | 足元の height map |
| 目標速度 | 3 | vx, vy, yaw_rate |
合計:70〜100 次元程度
観測データは多ければよいわけではない:
不必要な情報 → 学習が不安定になる
ノイズの多い情報 → 方策が揺れる
高次元すぎる → サンプル効率が悪化
備考:
カメラ画像は,歩行ポリシーには重過ぎる。
画像は,上位層(スキル層)が扱うべき。
|