Changelog
Release 1.0.0
refactor to use automatic differentiation through JAX, removing the dependency on the numpy package.
remove dependency on pnnchio library. The model will now be defined by explicit dh-parameters, inertial matrices, simple damping, and a generalized friction unified model.
restructure into one Python package with multiple modules inside.
remove all complex and non-linear friction models (such as Lugure, Maxwell, and others requiring solving partial differential equations at each step). Adopt a simpler general friction model where the force related to joint position, velocity, and acceleration is described by the relation for a single joint (i):
\[f_i = \alpha_{1i} q_i + \alpha_{2i} q_i^2 + \ldots + \alpha_{ni} q_i^n + \beta_{1i} v_i + \beta_{2i} v_i^2 + \ldots + \beta_{ki} v_i^k + \gamma_{1i} a_i + \gamma_{2i} a_i^2 + \ldots + \gamma_{pi} a_i^p \]Here, the values of \(n\), \(k\) , and \(p\) are dynamically chosen and are generally not equal. Non-linear transformations on \(q_i\), \(v_i\), and \(a_i\) are allowed, while not incorporating any specific parameters (e.g., \( \beta_{1i} \cos(v_i) \)).
Release 0.1.0
first experimental package.