---
# System prepended metadata

title: '[文獻筆記] End-Effector Force Estimation for Robotic Manipulators from Motor Current Measurements'
tags: [文獻筆記]

---

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