Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Learning PID controller #1

Open
jpark0315 opened this issue Sep 27, 2020 · 1 comment
Open

Learning PID controller #1

jpark0315 opened this issue Sep 27, 2020 · 1 comment

Comments

@jpark0315
Copy link

Hey great work! I am trying to extend your work and get a learning agent to auto-tune the PID parameters, and I was just wondering how you would personally go about doing this??

Thanks!

@NaleRaphael
Copy link
Owner

Hi @jpark0315
Really sorry for the late response, I've been busy with other stuffs recently.

And since I haven't gotten into fields related to reinforcement learning and control theory for a long period of time, I'm afraid that I cannot give you a constructive answer about this. Therefore, the following comment might not be completely correct.

In my opinon, the difficulty of this problem is how to formulate the problem of updating those controller coefficients. With a quick search for "reinforcement learning + PID controller tuning", I found the following paper may be helpful to you:

Although it's a MIMO system, but it seems that we can simplify it into the one like cart-pole system. And if you have checked the file pid.py in deepPID, you can see that those coefficients for PID controllers are actually determined by the input parameter action. And that parameter action will be given by model through this line.

As for the cart-pole system, note that the input space of it is discrete (0 or 1). You might need to replace it with a continuous input space, see also this part I've written. Otherwise, you might need to try Sliding Mode Control instead. (e.g. Deep Reinforcement Learning Based Self-Configuring Integral Sliding Mode Control Scheme for Robot Manipulators)

And these are what I can provide to you currently. I'll keep this thread open and let you know if there is any progress on this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants