GithubHelp home page GithubHelp logo

roboterax / humanoid-gym Goto Github PK

View Code? Open in Web Editor NEW
597.0 11.0 99.0 35.16 MB

Humanoid-Gym: Reinforcement Learning for Humanoid Robot with Zero-Shot Sim2Real Transfer https://arxiv.org/abs/2404.05695

Home Page: https://sites.google.com/view/humanoid-gym/

Python 100.00%
ai artificial-intelligence control-systems humanoid-robot locomotion machine-learning robotics

humanoid-gym's People

Contributors

deedive avatar jufrick avatar wangyenjen avatar zlw21gxy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

humanoid-gym's Issues

About the simulation environment

The Isaac Gym Preview 4 version used in the project is older and has many known problems, such as contact force, coordinate system, model solution, etc.

I noticed that legged_gym has been ported to the new simulation platform orbit in January this year. Will the author consider porting in the future?

Model migration questions

Hello author! Your open source code can very well solve the walking problem of our humanoid robot. But after several days of trying, we have a problem that we haven't solved yet.
Our model can walk normally when training "plane", but it cannot walk normally when training "trimesh", and even forgets how to walk. We increased the number of iterations to 10,000 before the robot could barely walk. I would like to ask which part of the modification have we overlooked? Or what should I pay attention to when changing models?

Domain rand

I see that the code has many domain randomization Settings, as shown in the figure, but only a small part of them are used. Can such Settings ensure the robustness of sim2real
image
image

Mapping between urdf and mjcf

Hey, thanks for the great contribution!
I have question regarding urdf to mjcf mapping. How did you transfer the robot model between these two formats?

The function compute_ref_state() in humanoid_env.py

The function that compute reference state is very hard to understand. Why ref_dof_pos is related to sin of phase? What does the scale1/2 stand for? Why only 2,3,4 and 8,9,10 are specified?

I really appricate your help and answer.

    def compute_ref_state(self):
        phase = self._get_phase()
        sin_pos = torch.sin(2 * torch.pi * phase)
        sin_pos_l = sin_pos.clone()
        sin_pos_r = sin_pos.clone()
        self.ref_dof_pos = torch.zeros_like(self.dof_pos)
        scale_1 = self.cfg.rewards.target_joint_pos_scale
        scale_2 = 2 * scale_1
        # left foot stance phase set to default joint pos
        sin_pos_l[sin_pos_l > 0] = 0
        self.ref_dof_pos[:, 2] = sin_pos_l * scale_1
        self.ref_dof_pos[:, 3] = sin_pos_l * scale_2
        self.ref_dof_pos[:, 4] = sin_pos_l * scale_1
        # right foot stance phase set to default joint pos
        sin_pos_r[sin_pos_r < 0] = 0
        self.ref_dof_pos[:, 8] = sin_pos_r * scale_1
        self.ref_dof_pos[:, 9] = sin_pos_r * scale_2
        self.ref_dof_pos[:, 10] = sin_pos_r * scale_1
        # Double support phase
        self.ref_dof_pos[torch.abs(sin_pos) < 0.1] = 0

        self.ref_action = 2 * self.ref_dof_pos

How does policy handle privileged observations in real-world?

Dear author.

Thank you for your awesome work, How does policy handle privileged observations in real-world?
and Why do the privileged observations have 73 dimensions in Table 3 but a different number in Table 1 in the paper?What does privileged observation involve?

Version compatibility

Hello, I am really interested in this project and would like to have implement it.

During installation setup, you mentioned using python 3.8 in the first step, however, in step 3 it does not seem to be compatible with it, here is the output:

Could not solve for environment specs
The following packages are incompatible
├─ pin-1 is installable and it requires
│ └─ python 3.11.* , which can be installed;
└─ torchvision 0.14.1 is not installable because there are no viable options
├─ torchvision 0.14.1 would require
│ └─ python >=3.10,<3.11.0a0 , which conflicts with any installable versions previously reported;
├─ torchvision 0.14.1 would require
│ └─ python >=3.7,<3.8.0a0 , which conflicts with any installable versions previously reported;
├─ torchvision 0.14.1 would require
│ └─ python >=3.8,<3.9.0a0 , which conflicts with any installable versions previously reported;
└─ torchvision 0.14.1 would require
└─ python >=3.9,<3.10.0a0 , which conflicts with any installable versions previously reported.

It would be greatly appreciated if we could have a further discussion regarding the entire project, please contact me if you are interested, my email address is [email protected]
Both Mandarin and English are fine with me.

Thank you in advance

All the best
Zhengting Li

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.