Open wangyixu14 opened 2 years ago
The class LinearLimitCycle builds a Limit Cycle SDE. The dynamics are generated in a latent space in the polar coordinates (r,theta) and transformed back to the Cartesian coordinates through the transform function. To define the dynamics, the dynamics for the radial part dr = f(r)dt + g(r)dB are a simple linear attractor to _rdes, so *f(r) = -self.v_r(r - self.r_des) . The dynamics for the angular part is an SDE with constant velocity for the deterministic part, f(theta) = -self.w**.
The stochastic part remains fix in the polar coordinates, with g(x) = 1 for both cases. Remind that when transforming the SDE from polar coordinates to cartesian coordinates g(x) might change. You have an example of transformed dynamics in the paper.
Let me know if it is clear.
Hi,
Thanks for this awesome work! I am writing to ask how should I interpret the results. My understanding is this work is going to learn an explicit SDE for the system dynamics. Where should I find the learned SDE after I run the example?
For instance, I am playing with _python example/trainiros.py. I notice in the code, there is variable lsd denoting the dynamics with parameters _rdes, _Vr, A(these three are constant), and _logvar. How should I write the final dx = f(x)dt + g(x) dB after the learning?
Looking forward to your reply! Thanks, Yixuan