google-deepmind / mujoco_mpc

Real-time behaviour synthesis with MuJoCo, using Predictive Control
https://github.com/deepmind/mujoco_mpc
Apache License 2.0
955 stars 143 forks source link

Examples in the mjpc GUI #135

Closed emailweixu closed 1 year ago

emailweixu commented 1 year ago

I am playing with the examples in mjpc GUI. Unfortunately, except cartpole, I couldn't see any meaningful behavior. For example, the Quadraped Fl robot seems only doing some random movement on the ground and is not able to stand up with the default setting or with changes I have tried. For humanoid st, the robot could standup once a while but then fell down quickly.

Can you give some suggestion on how to tune the parameter or provide some parameters so that the robots can behave like the examples in your paper?

FYI: mjpc is compiled following the instruction in readme using vscode with clang-14. mujoco version is 2.3.6.

Thanks

Wei

thowell commented 1 year ago

Make sure you set CMake to 'Release' in VSCode when you build. How many threads does your machine have?

emailweixu commented 1 year ago

Make sure you set CMake to 'Release' in VSCode when you build. How many threads does your machine have?

Yes, it's compiled in "Release" mode and there are 32 threads in my machine.

thowell commented 1 year ago

Reach out to me via email so we can get on a video call and I can help you get MJPC working on your machine.

emailweixu commented 1 year ago

Problem solved with @thowell's help. Here is a summary about the cause and the solution of the problem in case it helps others. Basically, the simulation in mjpc runs asynchronously with the planner. If the planner is not fast enough, it cannot finish the computation in time. In my case, the slowness is probably caused by the use of remote desktop. Giving the planner more time to react by slowing down the simulation speed (by pressing '-' key) solves the problem.