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

Estimate kd and kp for PID controller #174

Open
tfederico opened this issue Feb 16, 2022 · 3 comments
Open

Estimate kd and kp for PID controller #174

tfederico opened this issue Feb 16, 2022 · 3 comments

Comments

@tfederico
Copy link

Hello,

how did you estimate the values of kp and kd for the humanoid?

If I were to develop a different model, how could I estimate the 2 parameters?

@tfederico
Copy link
Author

I am trying to build a robotic hand model controlled using pybullet.
However, I am having some issues regarding the tuning of the PD controller.

Simulated and kinematic models are working properly, but when I set the PD controller parameters and try to apply an action this happens.

@xbpeng do you have any suggestion about how to perform PD controller tuning?

@xbpeng
Copy link
Owner

xbpeng commented Feb 22, 2022

cool, thats a neat looking hand! In your video, it kind of seems like there are no forces being applied to the joints? They just seems to kind of fall over. It could be that your PD gains are too small, so it's not really applying large enough forces to hold the target pose. In general, I set kd = 0.1kp, and then just tune kp until it can track a desired motion close enough. You also want to make sure the gains are not too large, else the movements become too stiff. So set them to be just large enough to do what you while, while also not being too stiff.

@tfederico
Copy link
Author

I tried estimating the parameters for the PD controller but it didn't work, so I switched to a position controller and it's following the reference motion.

Do you have any idea why? My guess is that it's related to the fact that the hand base is not moving in the 3D space, so it's different from the humanoid scenario.

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