How JointDriveController.cs work

Hello, I am making a quadruped very similar to ml-agent’s crawler, which I will eventually build in reality.
I was thinking of using JointDriveController.cs and Configurable joints to control the joints like the crawler and walker do.
By default the values are very large (see picture), in which unit are they?

The idea is to model a Dynamixel Servo https://robosavvy.co.uk/robotis-dynamixel-xl330-m288-t.html with a Stall Torque [N·m] of 0.52 and a speed of 104.0 [rpm] is this possible to change to Joint Drive Settings?

Thank you in advance

Have you figure out How JointDriverController work? Recently I want built a visual crawler in mixed reality, I must change the scale of the crawler otherwise it is too large for mixed reality environment, but when I set the scale to 0.1, The trained crawler is not able to walk.

you cannot change the size of ML trained objects bc they kind of overfitted. You ahve to specifically train the agent to get as input the scale and randomize it if you want different scales

1 Like

Thank you very much, I’ll try

To answer my own question for others who may be wondering the same thing. I found that “Joint Drive Controller” and joint in Unity generally works as a PD controller:

This means that:
Max Joint Spring → PositionSpring → P in PD controller
Joint Dampen → PositionDamper → D in PD
Max Joint Force Limit → Max force the joint can apply. This is in Nm.

I never figured out a good way to limit the speed of the servo. However, I could set the “Max angular speed”, either globally or for one object. Edit → Project Settings → Physics → Default Max Angular speed