btx0424 / OmniDrones

https://omnidrones.readthedocs.io/
MIT License
147 stars 25 forks source link

Can I use omni_drones in extentions? #34

Open HGGshiwo opened 11 months ago

HGGshiwo commented 11 months ago

For some reason, it is more convience for me to use omni_drones in extensions rather than standalone applications, like tuning some parameters in pid controllers.

So I wonder is it possible to do that?

btx0424 commented 11 months ago

Using omni_drones in extensions is currently not supported. We have to hold off on our future plan due to the delayed release of Isaac Sim 2023.1.0, but interactive usage (as extensions) is on the list. Unfortunately, I am not sure about my bandwidth in the next few months because I need to prepare for my PhD application. Are you interested in helping us develop it? If so, it would be great to have a further discussion.

Regarding parameter tuning, I think an alternative, which also leverages the parallelism, is to perform stochastic/bayesian optimization over the controller parameters. You can set up the task (set/distribution) of interest (e.g., tracking) and efficiently evaluate sampled controller parameters in the parallel environments.

What do you think?

HGGshiwo commented 11 months ago

I just tried using omni_drones in extensions, but couldn't get it to work with env. If there's anything I can do, please let me know and I'll be happy to do it.

btx0424 commented 11 months ago

Hi there, sorry for the delayed reply. Now the new version has been released. I think it is possible to draw some inspiration from the new extension workflow example. I will try to come up with something in the next week. Your ideas are also welcome.

For example, can you provide a more concrete description of what you would expect it to be when used as an extension?

HGGshiwo commented 11 months ago

Thank you for your reply. My initial idea was to compare the RL method with traditional methods (such as PID control) during tracking. The problem I encountered is that it is cumbersome to manually adjust the PID parameters. I hope there is a slider, a visual interface, and a reset button. After adjusting the parameters, press reset, and then I can directly view the error curve through the visual interface, and then adjust the parameters through the error curve. , like below

I'd like to know if this is possible, or is there any other way to achieve the same effect?