Closed articulation simulation problem

Did you see better behavior with the knee vs paw break?

I would setup the non-actuated joints with a joint drive with zero velocity target and some damping (and zero stiffness).

No not really.

We are now just modeling one of the legs. This is because we have done some real-world jumping tests on just an one-legged setup (only one motorhousing + leg), and we now want to checkout the sim-to-real gap of our model. The real-world leg was hold in place with a rig, which we just model with a vertical prismatic joint between “world” and motorhousing. It looks like this:

image

This is a lot more stable than the full quadruped. It seems to work fine with angular drives on the hips and just some friction on the knees. But since we need to model some springs as well, we need to make our own motor drives. We try to use the “apply_action” method from the articulationview instance, but this is results in less stable simulations even though our own PD controller has the same stiffness and damping values as when using the build-in angular drives. Is there a better way to implement our own controller?

Yes, please check out the actuator network that was successfully used to model actuator dynamics: https://arxiv.org/pdf/1901.08652.pdf

A key is also to run much higher simulation frequency to capture the high-bandwidth actuator dynamics.

Thanks, we will check it out!

I experimented with various settings and I found that it is possible to create a stable outcome.

Solver type : PGS
Enable gpu dynamics : ticked
Minimum position iteration count : 4
Minimum velocity iteration count : 1
Maxumum position iteration count : 4
Maximum velocity iteration count : 1
Timesteps per second: 480

The key change is timesteps per second. I appreciate this is computationally expensive. With a value of 240, I had a stable outcome but there was some unwanted oscillation. Smaller timesteps (smaller than 1/60) appear to lead to better outcomes.

It’s very hard to tell if we just need very small timesteps for this asset or if there is a bug lurking somewhere in physx. There is some joint separation visible at larger timesteps and that points to a bug in physx because this should not happen with an articulation. We’ll need to really dig in to this to determine the true source of the problem.

Hi @gyeoman,

What robot are you talking about?
My ANYmal with adaptive feet, or @finn.gross.maurer 's four bar linkage quadruped?

Thanks a lot.

Antonello

Sorry, I should have been more specific. I was referring to the four bar linkage quadruped.

@gyeoman Thanks for the information. We will check it out!