Alescontrela / AMP_for_hardware

Code for "Adversarial Motion Priors Make Good Substitutes for Complex Reward Functions"
Other
258 stars 59 forks source link

gait frequency faster than mocap data #25

Open BruceXing24 opened 3 months ago

BruceXing24 commented 3 months ago

hi, everyone. I use this framework to train my robot. I got a nice policy in running and verity in mujoco then validate in real robot. For walking works in issac and mujoco but perform terrible in real robot

But I found some questions.

  1. I try walk, run and jump, they all works in mojuco, buy their gait frequency are much faster than the mocap data I give, maybe double or triple.

  2. even though the lin_vel and angular reward are much bigger than others, but I can just control the speed a little or just doesn't work at all, same for the direction.

You can go through my video, it shows the robot executable its skill in a very fast frequency

https://github.com/user-attachments/assets/bf21b521-1466-4e15-9023-455c963243b1

https://github.com/user-attachments/assets/76f18b6b-e0cd-45f3-a19d-fa9a51ba9531

https://github.com/user-attachments/assets/809aaff5-cb7e-44ae-9d17-c615d1aa29f5

apirrone commented 3 months ago

Hi @BruceXing24, maybe it's just a matter of dt ? Do they match between IsaacGym and Mujoco (model.opt.timestep) ?

Also, can you share your repo ? I would love to take a look at your config. Thanks !

BruceXing24 commented 3 months ago

Hi @BruceXing24, maybe it's just a matter of dt ? Do they match between IsaacGym and Mujoco (model.opt.timestep) ?

Also, can you share your repo ? I would love to take a look at your config. Thanks !

Hello @apirrone, thanks for your response. What I set in mujoco is model.opt.timestep = cfg.sim_config.dt it has same cfg as in issac. So I think dt is same as issac.

kaydx1 commented 3 months ago

@apirrone @BruceXing24 check your decimation matching as well between mujoco and isaac. Because in isaac it could be env.dt=sim.dt*decimation(it's basically frequency on which you querying policy). Regarding different velocity control, it depends on your data if it covers the whole range of velocities and motions. If not, it struggles to extrapolate to unseen velocities.

apirrone commented 3 months ago

@kaydx1 I generated motion reference for walking forward and turning left and right so it covers the velocity control I set in my tests.

BruceXing24 commented 3 months ago

@apirrone @BruceXing24 check your decimation matching as well between mujoco and isaac. Because in isaac it could be env.dt=sim.dt*decimation(it's basically frequency on which you querying policy). Regarding different velocity control, it depends on your data if it covers the whole range of velocities and motions. If not, it struggles to extrapolate to unseen velocities.

yes, I found my ref didn't cover full velocity range

mahanxin commented 1 month ago

@apirrone @BruceXing24 Hello, I have the same problem that faster gait frequency. I am sure there is no problem with dt. Have you solved it?