Torque-jerk dynamics for non-fixed output systems are not correct, they lead to unstable dynamics due to the integrating pole at zero to be moved slightly into the positive real plane.
Expressing the outputs in only torque and jerk cannot work, since it's impossible to infer the overall position of the system from those variables (as it's not connected to ground anywhere).
Please see comment below this post before reading on
My attempts at fixing this involved adding a position and velocity state of the output:
x = [tau_g, tau_l, q_b, tau_g_dot, tau_l_dot, q_b_dot]' (see full_dyn_TJ.m)
which does result in an invertible transformation matrix and a system that has nearly identical poles, except for the integrating pole at zero:
There are other choices of state possible that are more stable (i.e. a pole at +1e-10), but I haven't yet found one that results in one with exclusively negative real poles.
There was an issue with the definition of the transformation matrix T. (x = T * x_bar, not the inverse). This was fixed in fe04e4be0ad32831bf45cd3c7c59a82a225a5a6e.
Torque-jerk dynamics for non-fixed output systems are not correct, they lead to unstable dynamics due to the integrating pole at zero to be moved slightly into the positive real plane.
Expressing the outputs in only torque and jerk cannot work, since it's impossible to infer the overall position of the system from those variables (as it's not connected to ground anywhere).
Please see comment below this post before reading on
My attempts at fixing this involved adding a position and velocity state of the output:
x = [tau_g, tau_l, q_b, tau_g_dot, tau_l_dot, q_b_dot]'
(see full_dyn_TJ.m) which does result in an invertible transformation matrix and a system that has nearly identical poles, except for the integrating pole at zero:There are other choices of state possible that are more stable (i.e. a pole at +1e-10), but I haven't yet found one that results in one with exclusively negative real poles.