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?
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
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