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

Customized model will stay still #78

Closed
Croolch opened this issue May 20, 2024 · 4 comments
Closed

Customized model will stay still #78

Croolch opened this issue May 20, 2024 · 4 comments

Comments

@Croolch
Copy link

Croolch commented May 20, 2024

No description provided.

@Croolch Croolch closed this as completed May 20, 2024
@learning-github-zgy
Copy link

Hello, I have the same problem as you, have you solved it?

@Croolch
Copy link
Author

Croolch commented Jul 10, 2024

Hello, I have the same problem as you, have you solved it?

Hi,

I have not solved this problem yet, but I have some probable solutions for this.

I suspect that the reason why the learned controller cannot make character move is rooted in the joints' pd gains. The stiffness and damping from pd controller require some experiences to tune. You can check this for some details. This may happen when your policy learned to output pd targets instead of torques. Code from here.

So I recommend you to:

  1. Try some example robot model to test if this issue only happens on your customized model. If it works well, then the issue may locate in model definition.
  2. Try to tune pd gains. This may be of some help.

These are some solutions for this suspect from my opinion. I hope you will solve this issue.

@learning-github-zgy
Copy link

Hello, I have the same problem as you, have you solved it?

Hi,

I have not solved this problem yet, but I have some probable solutions for this.

I suspect that the reason why the learned controller cannot make character move is rooted in the joints' pd gains. The stiffness and damping from pd controller require some experiences to tune. You can check this for some details. This may happen when your policy learned to output pd targets instead of torques. Code from here.

So I recommend you to:

  1. Try some example robot model to test if this issue only happens on your customized model. If it works well, then the issue may locate in model definition.
  2. Try to tune pd gains. This may be of some help.

These are some solutions for this suspect from my opinion. I hope you will solve this issue.

Wow, thank you so much for your prompt and detailed reply!
You have a point, and I also suspect that this is the problem; In addition, I just made some other attempts: I changed the "drive_mode" from position-driven to force-driven, and increased the power scale, and the robot began to move. I have not found the specific reason why the robot cannot move normally in the position driven mode, and I will share it with you further after I solve it.
Oh, I almost forgot, I tried two different robot models before, the first one can move normally during training, but the second one can't. I don't know whether the "drive_mode" of Isaac gym is still related to the robot model defined by xml, I will continue to find a solution.

@learning-github-zgy
Copy link

Hello, I have the same problem as you, have you solved it?

Hi,
I have not solved this problem yet, but I have some probable solutions for this.
I suspect that the reason why the learned controller cannot make character move is rooted in the joints' pd gains. The stiffness and damping from pd controller require some experiences to tune. You can check this for some details. This may happen when your policy learned to output pd targets instead of torques. Code from here.
So I recommend you to:

  1. Try some example robot model to test if this issue only happens on your customized model. If it works well, then the issue may locate in model definition.
  2. Try to tune pd gains. This may be of some help.

These are some solutions for this suspect from my opinion. I hope you will solve this issue.

Wow, thank you so much for your prompt and detailed reply! You have a point, and I also suspect that this is the problem; In addition, I just made some other attempts: I changed the "drive_mode" from position-driven to force-driven, and increased the power scale, and the robot began to move. I have not found the specific reason why the robot cannot move normally in the position driven mode, and I will share it with you further after I solve it. Oh, I almost forgot, I tried two different robot models before, the first one can move normally during training, but the second one can't. I don't know whether the "drive_mode" of Isaac gym is still related to the robot model defined by xml, I will continue to find a solution.

Bingo, I finally solved the problem by following the solutions you provided.
I looked at the xml file for the second robot and found that there is no stiffness in the joint tag, only a default damping, which causes the action output in PD drive mode to actually act on the robot joints to be 0, so the robot stays still. Finally I added the stiffness and damping for each joint in the robot's xml file and the robot started moving without any surprises.
Finally, thank you so much for the ideas you provided, this helped me solve this problem quickly!

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