## 參考論文
參考論文原文: [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$等參數。
## 實驗結果
請見原文