brax icon indicating copy to clipboard operation
brax copied to clipboard

Tendon simulation in Brax

Open pete-j-turnbull opened this issue 3 years ago • 2 comments

I'm looking to simulate a tendon within Brax so that I can model a dexterous hand and train an RL agent to move it naturally.

This works in Mujoco right now by treating the muscle connected to the tendon as a 0 length actuator whose force depends on how contracted the 'muscle' is. Ie. the tendon actually changes length based on the force applied to it.

I'd like to have a go at implementing this and potentially submitted a PR - does anyone have any tips on how this might be implemented best within the Brax framework.

Thanks!

pete-j-turnbull avatar Jan 10 '22 12:01 pete-j-turnbull

Hello!

I'd expect this to look very similar to our angle-actuator defined here: https://github.com/google/brax/blob/main/brax/physics/actuators.py#L72

Do you have a particular form for the biodynamics you're trying to model beyond modulating the actuator spring constant?

cdfreeman-google avatar Jan 10 '22 17:01 cdfreeman-google

Heya

Thanks for the tip on the angle actuator - it seems like it could be very useful. The scenario I want to be able to model is a tendon attached to a contracting muscle that goes over a number of pulleys (cylinders that can rotate) and finally connects to a bone (capsule). Then when the muscle contracts it has the effect of shortening the tendon and generating a force which is translated through the pulleys to the bone (capsule) at the end.

I think the various forces involved aren't actually all that complex - its just that there's quite a lot going on all at once in order to model a single tendon!

pete-j-turnbull avatar Jan 11 '22 11:01 pete-j-turnbull