BAM アクチュエータモデル
最終更新
BAM(Better Actuator Models) は Rhoban チームによるサーボのモデル化・同定フレームワークです。microduck_rl の全タスクが Dynamixel XL330 に対してその M6 モデルを使っています。
モデル化しているもの
- 電圧制御則 — サーボが受け取るのはトルクではなく電圧
- 逆起電力 — 速く回るほど使えるトルクが減る
- クーロン摩擦 — 運動方向に逆らう一定の抵抗
- ストライベック摩擦 — 静摩擦から動摩擦へ移る低速域の非線形性
- 負荷依存摩擦 — 関節にかかる力が大きいほど摩擦も増える
なぜこの層が成否を決めるのか
サーボを理想トルク源として扱う——0.3 Nm を要求すれば 0.3 Nm が得られる——と、学習したポリシーは実際には得られない応答に依存します。
具体的には、シミュレーションではポリシーが素早い小さな修正で平衡を保っているのに、実機ではその修正が静摩擦のせいで起きない、あるいは逆起電力のせいで足りず、ロボットが倒れます。
この失敗が診断しにくいのは、学習不足のように見えるからです。ポリシーは自分がいた世界ではよく学習できています。その世界が現実ではなかっただけです。