## 參考論文 參考論文原文: [End-Effector Force Estimation for Robotic Manipulators from Motor Current Measurements](https://ieeexplore.ieee.org/document/8816546) ## 摘要 有許多observer-based的方法,如: extended Kalman filter, Lyapunov-based adaption law etc. - **Contribution**: 這篇論文利用機器手臂**dynamic model**以及**friction torque model**,透過量測關節角度($q$)及馬達電流($I_m$),來估測輸出外力是多少。 - **Future work**: 本論文只提出force estimate的方法但是沒有用來做force control;文中所提到的friction model主要為動摩擦力而沒有考慮靜摩擦力。 ## 內容 - **Dynamic model** Equation of motion for manipulator:$$M(q)\ddot{q}+C(q,\dot{q})\dot{q}+G(q) = \tau_j-\tau_f-J^Tf$$ $\tau_j$ is joint torque vector, which is propotional to current$$\tau_j=KI_m$$ $\tau_f$ is joint friction torque $f$ is external wrench (機器人產生的外力以及外力矩) $q$ is joint angle $\dot{q}$ and $\ddot{q}$ is joint velocity and acceleration, which is derived from $q$ 在做微分取得速度和加速度會受到雜訊影響,加上recursive discrete-time low-pass filter:$$Y[n]=aX[n]+(1-a)Y[n-1]$$ a越大輸出訊號越平滑但是會delay並失真。其截止頻率為$$f_c=\frac{a}{2\pi t_s}$$其中$t_s$為sampling period - **friction model** 使用諧波減速機沒有辦法忽略摩擦力,作者建立出的摩擦力模型包含Coulomb friction和viscous friction。Coulomb friction和速度方向相反、與load force成正比(也就是動摩擦力的意思)$$\tau_{fc}=\xi\sigma F_N \cdot\text{sgn}(\dot{q})=C_c\cdot\text{sgn}(\dot{q})$$$$\tau_{fv}=C_v\cdot\dot{q}$$ 將friction model代回EOM$$f=(J^T)^{-1}(KI_m-\tau_{fc}(\dot{q})-C_v\dot{q}-[M(q)\ddot{q}+C(q,\dot{q})\dot{q}+G(q)])$$ - **Model parameter identification** 根據上式,參數$K, C_c, C_v$為我們需識別的參數,做參數識別的時候並沒有外力,因此上式的$f$等於零。所以$$KI_m-\tau_{fc}(\dot{q})-C_v\dot{q}=M(q)\ddot{q}+C(q,\dot{q})\dot{q}+G(q)$$右邊的矩陣的都是已知的數值(可以用Matlab知道),本文用non-linear least square regression method based on Gauss-Newton來做迴歸找出$K, C$等參數。 ## 實驗結果 請見原文