--- a +++ b/Tools/ModelUtilities/FrictionContactMuscles/ContactRotPush.any @@ -0,0 +1,30 @@ +AnyFolder Push={ + +AnyKinMeasureOrg Dist={ + AnyKinLinear Lin={ + AnyRefNode &Box =...BaseObject; + AnySeg &Hand = ...TargetObject; +}; +MeasureOrganizer ={..AxisNormalToSurfaceOfBaseObject}; + +}; + + +AnyKinRotational Rot={ + AnyRefNode &Box =..BaseObject; + AnySeg &Hand = ..TargetObject; + Type=RotVector; +}; + +AnyRecruitedActuator ContactMuscle={ + AnyKinMeasureOrg RotX={ + AnyKinLinear &ref=..Rot; + MeasureOrganizer={...Direction}; + }; + AnyVar limit=0; + Strength = 1e-5*(1/(sqrt((.Dist.Pos[0]-limit)^2)+..Epsilon))^2; + Type = NonNegative; + SET_DEFAULT_ACTUATOR_VOLUME; +}; + +};