Hi everyone,
I’m quite confused about the difference between MotorSystemConfig(s) and motor policies.
From my understanding, MotorSystemConfig is built on motor policies and is what the code uses instead of using motor policies directly. If that’s accurate, then when I’m interested in comparing motor policies I can’t do it directly; I have to compare MotorSystemConfig instances instead — at least when using the code from the tutorials on the website.
For example, if I want to compare InformedPolicy and SurfacePolicyCurvatureInformed, I used MotorSystemConfigInformedNoTrans (which implements InformedPolicy) and MotorSystemConfigCurInformedSurfaceGoalStateDriven (which implements SurfacePolicyCurvatureInformed). Is it accurate to say I’m comparing Monty’s motor policies? Especially since there are other different parameters in MotorSystemConfig that aren’t equalized between the two configurations.
Another thing regarding HypothesisDrivenPolicyMixin: it isn’t listed in the policy_class= section of any MotorSystemConfig, but the documentation says:
“The hypothesis-driven policy is implemented as a mixin, such that it can be adopted by a variety of other core policies, such as the informed distant-agent policy or the surface-agent curvature-informed policy.”
Does this mean it’s implemented in a different way? For example, in MotorSystemConfigCurInformedSurfaceGoalStateDriven there is use_goal_state_driven_actions = True. Does that mean it uses a hypothesis-driven policy? Is that the same as HypothesisDrivenPolicyMixin? If so, does it mean two different policies are being used?
Thanks — Happy New Year!