Closed shitoujie closed 5 months ago
Hi @shitoujie ,
The decision to use Python is mostly for convenience since we want to be able to modify the sensor data preprocessing, joystick mapping, logging, etc easily, and it's a bit easier to make such changes in Python.
Regardless, the real-time considerations don't make too much difference in our controller since the policy evaluation frequency is quite low (50Hz) and the policy is trained with a lag model that makes it robust to some delays.
One paper has shown that quadruped locomotion policies can even be stable at much lower control frequencies: https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=10160357
However, another paper has shown that for high-speed running, reducing the lag can be critical to maintaining stability: https://www.nature.com/articles/s42256-022-00576-3
So, it depends on the task and the intended purpose of the code! In a production system, I would use C++, but for a research controller with this architecture, I think Python works fine
Gabe
May i ask why you deploy this model with python rather than c++? It seems like deploying with c++ is more suitable for realtime control.