Dynamic parameter identification

Based on Section 7.3 of Robotics: Modelling, Planning and Control.

The procedure

  • The dynamic parameters of the manipulator can be approximated by using CAD modelling techniques, by knowing the geometry and type of materials.

  • Nevertheless, to obtain a more accurate set of values, one must rely on identification techniques, that exploit the property of linearity of the dynamic model w.r.t. the dynamic parameters:

    \[y(\boldsymbol q,\boldsymbol{\dot{q}},\boldsymbol{\ddot{q}})\,\boldsymbol \pi \;=\;\boldsymbol \tau\]
  • Assumption: the kinematic parameters of the matrix \(y\) are known with good accuracy (one can resort to kinematic calibration procedures)

  • Idea: Impose suitable motion trajectories to the manipulator and measure joint positions \(\boldsymbol q\), velocities \(\boldsymbol{\dot{q}}\) and accelerations \(\boldsymbol{\ddot{q}}\), and joint torques \(\boldsymbol z\); then:

    \[\begin{split}\boldsymbol \tau = \begin{bmatrix} \tau(t_{1})\\ \vdots\\ \tau(t_{N}) \end{bmatrix} = \begin{bmatrix} Y(t_{1})\\ \vdots\\ Y(t_{N}) \end{bmatrix} \boldsymbol \pi = \boldsymbol Y\,\boldsymbol \pi\end{split}\]

The number of time instants \(t_{1}\dots t_{N}\) is large enough, \(N,n \gg p\)

\(N\): number of time instants \(n\): number of joints \(p\): number of parameters

\[\boldsymbol \pi = \underbrace{(Y^{T}Y)^{-1}\,Y^{T}}_{\text{left pseudo-inverse of matrix }\boldsymbol Y}\,\boldsymbol \tau\]

Comments

Comments on measurements:

  • \(\boldsymbol q\) and \(\boldsymbol{\dot{q}}\) can be measured.

  • \(\boldsymbol {\ddot{q}}\) can be numerically reconstructed (anti-causal reconstruction filter can be used to obtain accurate reconstruction since it is a non-real-time procedure).

  • \(\boldsymbol \tau\) can be directly measured if torque sensors are available, or indirectly obtained through current measurements in the case of electric actuators.

Comments on procedure:

  • \(Y\) has a block-diagonal structure. This can be used to solve in a sequential way, joint by joint, from joint n to joint 1, i.e. by starting with:

    \[\tau_{n} = \boldsymbol y_{nn}^T \,\boldsymbol \pi_{n} \quad\text{for a given trajectory and joint }n\]
  • The previous procedure may accumulate errors. A global procedure can be applied if motions on all manipulator joints at the same time can be imposed.

Comments on parameters:

  • Only the dymanic parameters that contribute to the dynamic model can be identified.