Up トルクの計算 作成: 2026-07-27
更新: 2026-07-30


4足歩行ロボット身体体性神経系 > 遠心性関節トルクNNトルクの計算

    関節トルクNN の訓練データの作成では,つぎのことをした:
      θ_target, ω_target を実現するトルクτを計算

    この計算は,以下のものである:


    (1) PID ゲイン
     (比例 Proportional - 積分 Integral - 微分 Derivative) 
    ・偏差
      時間tにおける偏差
       e_θ(t) = θ_target − θ(t)
    ・PID ゲイン
       τ(t) = K_p e_θ(t)
          + K_i ∫ e_θ(t) dt
          + K_d d/dt e_θ(t)

          = K_p e_θ(t)
          + K_i ∫ e_θ(t) dt
          + K_d ω(t)

     項の意味・含蓄は,
      K_p e_θ(t):
        偏差 e_θ(t) の大きさに<比例>
        定常偏差を残して安定
        (微小トルクと抵抗がつり合う)
      K_i ∫ e_θ(t) dt:
        偏差 e_θ(t) の累積 (<積分>) の大きさに比例
        定常偏差を消せる
      K_d d/dt e_θ(t) = K_d ω(t):
        偏差 e_θ(t) の変化率 (<微分>) の大きさ
         に比例
         (即ち,角速度ω(t) の大きさに比例)
        積分項によるオーバーシュートを抑える
        ノイズに弱い

    K_p, K_i, K_d は,マシンに応じて決めるというものであり,計算プログラムの中で設定する。


    (2) フィードフォワード補正 (FF)  
    PID ゲインは,「偏差に比例」。
    しかしロボットの運動は,姿勢が変わるたびにダイナミクスが変化する:
      慣性力
        姿勢に大きく依存する
      コリオリ力
        高速で動くほど,これの影響が大きくなる
      重力
        関節角度に対して非線形
    そしてこれらはどれも,偏差に比例しない。

    こうして,PID によるトルク計算は,目標の姿勢を実現するトルクの計算としては,精度不足になる。

    ロボットの非線形動力学は,
      n 自由度のロボットマニピュレータの運動方程式
    を次のように措く:
      τ = M(q) q¨ + C(q,q˙) + G(q)  
        τ ∈ ℝ^n : 関節トルク入力
        q ∈ ℝ^n : 関節角度ベクトル
        M(q) ∈ ℝ^{n×n} : 慣性行列
          ( M(q) q¨ : 慣性項 )
        C(q,q˙) ∈ ℝ^{n×n} : コリオリ・遠心力行列
        G(q) ∈ ℝ^n : 重力ベクトル

    このτを,PID で計算したトルクτ_pid の
      次に必要となるトルク
    と見る。
    この補正は,形が 「フィードフォワード (FF)」 である。
    そこで,τをτ_ff で表す。

    そしてつぎを,必要トルクの最終形とする:
       τ = τ_pid + τ_ff


    (3) 補正 (上限設定)  
      トルク上限 τ_limit
      角度上限 θ_limit
      角速度上限 ω_limit


    ○ 逆運動学  
    トルクの計算は,逆運動学をしていることになる。

    「逆運動」 は,歩行ロボットではつぎの内容になる:  
      足先の位置 → この位置を実現する関節運動
            → この運動を実現するトルク

    関節トルクNN の訓練データ作成は,このうちの  
      関節運動 → この運動を実現するトルク  
    を引用する。
    そしてこの計算が,PID, FF だというわけである。


    ○ 運動方程式  
    運動方程式は,「運動方程式は立つが計算式にはならない」 といったもの。
    特にコリオリ・遠心力行列は,4足歩行ロボットではただの無茶振りになる。
    「厳密な M(q), C(q,q˙), G(q) を計算して歩行を制御」のアプローチは,現代のロボット工学でも,ほぼ不可能。

    「関節トルクNN」 を考えるのは,これがいちばんの理由。
    そして,NN の訓練の教師信号に計算値を用いないことの理由である。

    確認:
    4足歩行ロボットは 12 自由度。
    M(q), C(q,q˙) は,12×12 の巨大な非線形行列。
    これは人間が手で扱えるレベルではない。
    また,歩行ロボットは,「「接地・非接地」 でダイナミクスが大きく変わる:
      足が地面に接地しているとき
      足が空中にあるとき
      接地が滑るとき
      地面が柔らかいとき
    これは,運動方程式が時間とともに変わるということ。