Closed jlwu002 closed 7 months ago
Hi Junlin,
Thanks for your comments and for sharing your interesting work.
Regarding the two issues you mentioned, please see the following responses.
More importantly, with the correct formula as Eq. (20) in our paper, by setting $\kappa(s) = 1$, we have it is a 2-dimensional autonomous system. However, if we have $\dot{d_e}$ in the denominator, it is obviously not.
Moreover, we fixed this issue by proposing more rigorous verification process with mathematical proofs as a side result in our newly published papers.
Thanks.
Dear Ruikun,
Thank you for your interesting work. We have conducted a follow-up study on your research, where we solved for a controller and certified the Lyapunov conditions for arbitrary nonlinear dynamical systems in the discrete-time setting: https://github.com/jlwu002/nlc_discrete (NeurIPS 2023), paper.
While reproducing your work, we found the following two issues:
1) Issue with Path Following Dynamics. There appears to be a typo in the path following dynamics formula: the dynamic for $\dot{\theta}$ (angle error) should use $\dot{d_e}$ in the denominator (where $d_e$ is the distance error), instead of $d_e$ as currently written in the paper and code. The correct dynamic should be: $\dot{\theta}_e = \frac{\omega - v\kappa(s) \cos(\theta_e)}{1 - \dot{d_e}\kappa(s)}$, instead of: $\dot{\theta}_e = \frac{\omega - v\kappa(s) \cos(\theta_e)}{1 - d_e\kappa(s)}$ (Snider [2009], Chang [2019])
2) Issue with Lyapunov conditions. In your code, the function "CheckLyapunov" checks for the condition V >= 0 and lie_derivative_ofV <= epsilon. However, there is another critical constraint for Lyapunov conditions: V(0) = 0. Since the neural network structure used in your work include bias terms (z1 = np.dot(vars,w1.T)+b1; z2 = np.dot(a1,w2.T)+b2; V_learn = tanh(z2.item(0))), V(0) = 0 is not guaranteed. This will cause issues, for example, the system cannot distinguish between the equilibrium point and other points with the same value. We need to check V(x_t) - V(0) > 0.
Thank you! Junlin