-
Notifications
You must be signed in to change notification settings - Fork 241
Tendon-driven z-axis rotation task #223
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
base: main
Are you sure you want to change the base?
Conversation
|
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
|
Thanks for the contributions again! A few tasks should be done to tidy up the PR before submission:
Thank you! |
btaba
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
added comment in main thread
Hi @btaba Thank you for your thoughtful comments! I’ve addressed all of them in the latest update. Here’s a brief summary of the changes:
Thanks again for your time and feedback. Please let me know if there’s anything else that needs to be refined! Nan |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice contribution again! Generally LGTM with minor comments. Please let us know when the Mengarie PR is in, and we can then merge this one in as well
| termination=-100.0, | ||
| action_rate=-1.0, | ||
| ), | ||
| ), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just curious, if you had tried this with the Warp backend, see examples here
mujoco_playground/mujoco_playground/_src/manipulation/leap_hand/reorient.py
Lines 70 to 72 in b1417e4
| impl='jax', | |
| nconmax=30 * 8192, | |
| njmax=128, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, we just tested the Warp backend by setting impl=warp for training, and it works smoothly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it possible to pull out the reoreintation_cube into _src/manipulation/assets, and re-use the same files?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tried moving the files to the directory you suggested, but encountered some directory-related errors. I suggest we keep this PR as it is for now and address the issue in a future update.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this pdf file necessary? Why is it in pdf format?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Those files are for different tasks and are not needed here, so I’ve removed them to keep the assets minimal.
Thanks for the feedback! I’ve addressed most of the comments, leaving one due to the directory issue for future changes. Please let me know how this version looks. I’ve also left a comment on our PR in the Menagerie repo to help speed up the review, though it doesn’t seem to be moving very quickly at the moment. I’ll keep you posted once there’s any update. Nan |
|
Just fixed the building error by updating the menagerie commit sha. Should work now. |
|
Hi! Friendly second ping on that PR. The build issue is resolved and the updates are pushed. |
erikfrey
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is nicely written code. Appreciate the attention to detail!
|
Hi! CI is green except for the internal Copybara check. |
|
@Nan-Tetheria yes all good, that's on our end to address as part of the import. It shoujld finally merge in the next day or two. Thanks for your patience. |
Tendon-driven z-rotation task
rollout2.mp4
As shown in the video, the policy learns to rotate a cube about the z-axis using tendon-space actuation of the Tetheria Aero Hand Open.
All finger joints are driven by tendons, while the thumb abduction is actuated via a position actuator. This environment serves as an example demonstrating MuJoCo Playground’s training capabilities on tendon-driven and under-actuated models.
For further information about the tendon-actuated model, which emulates the cable-driven mechanism of the real hand, please refer to the accompanying README and MJCF files.
The reward function consists of three interpretable components:
Although individual training runs exhibit stochastic variation, the policies consistently converge to a positive total reward within approximately 40 minutes of PPO training on a single NVIDIA GeForce RTX 5090.
The resulting policy transfers directly to the physical Tetheria Aero Hand Open, benefiting from the tendon-space formulation that closely mirrors the real actuation system.