YouDuck.ai

BAM アクチュエータモデル

最終更新

BAM(Better Actuator Models) は Rhoban チームによるサーボのモデル化・同定フレームワークです。microduck_rl の全タスクが Dynamixel XL330 に対してその M6 モデルを使っています。

モデル化しているもの

  • 電圧制御則 — サーボが受け取るのはトルクではなく電圧
  • 逆起電力 — 速く回るほど使えるトルクが減る
  • クーロン摩擦 — 運動方向に逆らう一定の抵抗
  • ストライベック摩擦 — 静摩擦から動摩擦へ移る低速域の非線形性
  • 負荷依存摩擦 — 関節にかかる力が大きいほど摩擦も増える

なぜこの層が成否を決めるのか

サーボを理想トルク源として扱う——0.3 Nm を要求すれば 0.3 Nm が得られる——と、学習したポリシーは実際には得られない応答に依存します。

具体的には、シミュレーションではポリシーが素早い小さな修正で平衡を保っているのに、実機ではその修正が静摩擦のせいで起きない、あるいは逆起電力のせいで足りず、ロボットが倒れます。

この失敗が診断しにくいのは、学習不足のように見えるからです。ポリシーは自分がいた世界ではよく学習できています。その世界が現実ではなかっただけです。