--- a +++ b/Application/Examples/ArmCurl/Model/Environment.any @@ -0,0 +1,666 @@ + + + + + + +AnyFolder EnvironmentModel = { + + AnyVec3 HandleRGB={0.3,0.3,0.3}; + AnyVec3 MadressRGB={0.3,0.3,0.3}; + + /* ********************************************************** + This folder contains the definition of the Environment + - GlobalRefFrame + + ********************************************************** */ + + AnyFixedRefFrame GlobalRef = { + Origin ={0.0,0,0.0}; + + AnyRefNode FloorNode ={ + sRel={0,0.16,0}; + AnyVec3 Color= {0.6,0.6,0.6}; //box color + AnyVar Opacity=1; //box Opacity + AnyVec3 Size={2,0.02,1}; + #include "<ANYBODY_PATH_MODELUTILS>/DrawObjects/Box.any" //include file which will draw a box + + AnyRefNode Right ={ + sRel={0.7,0,0.3}; +// AnyDrawRefFrame drw={}; + }; + AnyRefNode Left ={ + sRel={0.7,0,-0.3}; + // AnyDrawRefFrame drw={}; + }; + + }; + + + #include "drawcoorsystem.any" + //AnyDrawRefFrame drw={}; + AnyRefNode PelvisNode ={ + sRel={0.45,1,0}; + }; + AnyRefNode RightWheelNode2 ={ + sRel={0,1,0.23}; + }; + + AnyRefNode LeftWheelNode2 ={ + sRel={0,1,-0.27}; + }; + AnyRefNode RightMassNode ={ + sRel={-0.1,1,0.25}; + }; + AnyRefNode LeftMassNode ={ + sRel={-0.1,1,-0.25}; + }; + + };//GlobalRef + + + AnyFixedRefFrame Bench ={ + Origin={0,0.8,0}; + AnyVec3 Color= .MadressRGB; //box color + AnyVar Opacity=1; //box Opacity + AnyVec3 Size={1,.05,0.25}; + #include "<ANYBODY_PATH_MODELUTILS>/DrawObjects/Box.any" //include file which will draw a box + + AnyRefNode Frame ={ + sRel={0.1,-0.35,0}; + AnyVec3 Color= 0.8*..MadressRGB; //box color + AnyVar Opacity=1; //box Opacity + AnyVec3 Size={1,.5,0.25}; + #include "<ANYBODY_PATH_MODELUTILS>/DrawObjects/Box.any" //include file which will draw a box + }; + + AnyRefNode Node1 ={sRel={.Size[0]*0.5,0,0}; + //AnyDrawRefFrame drw={RGB={0,0,1};}; + }; + }; + + AnySeg ThoraxRest ={ + Mass=10; + Jii={0,0,0}; + r0 ={0.692836, 1.029813, 0.000000}; + Axes0 = {{-0.642788, 0.766044, 0.000000}, {-0.766044, -0.642788, 0.000000}, {0.000000, 0.000000, 1.000000}}; + + AnyVec3 Color= .MadressRGB; + AnyVar Opacity=1; //box Opacity + AnyVec3 Size={0.35,.05,0.25}; + #include "<ANYBODY_PATH_MODELUTILS>/DrawObjects/Box.any" //include file which will draw a box + //AnyDrawRefFrame drw={}; + + AnyRefNode Node1 ={ + sRel={.Size[0]*0.5,0,0}; + //AnyDrawRefFrame drw={}; + }; + + AnyRefNode Node2 = { + sRel={-.Size[0]*0.5,0,0}; + //AnyDrawRefFrame drw={}; + }; + }; + + AnyKinEqSimpleDriver drv={ + + AnyRevoluteJoint jnt={ + AnyRefNode &ref1=..Bench.Node1; + AnyRefNode &ref2=..ThoraxRest.Node1; + Axis=z; + }; + DriverPos={-130*pi/180}; + DriverVel={0}; + }; + + + AnySeg ArmRest ={ + Axes0 = {{-0.173648, -0.984808, 0.000000}, {0.984808, -0.173648, 0.000000}, {0.000000, 0.000000, 1.000000}}; + Mass=10; + Jii={0,0,0}; + r0 ={0.856123, 0.986061, 0.000000}; + // Axes0 = {{-0.642788, 0.766044, 0.000000}, {-0.766044, -0.642788, 0.000000}, {0.000000, 0.000000, 1.000000}}; + + AnyVec3 Color= .MadressRGB; + AnyVar Opacity=1; //box Opacity + AnyVec3 Size={0.4,.05,0.5}; + #include "<ANYBODY_PATH_MODELUTILS>/DrawObjects/Box.any" //include file which will draw a box + //AnyDrawRefFrame drw={}; + AnyRefNode Node1 ={sRel={.Size[0]*0.5,0,0}; + //AnyDrawRefFrame drw={}; + }; + + AnyRefNode Node2 ={sRel={-.Size[0]*0.5,0,0}; + //AnyDrawRefFrame drw={}; + }; + + AnyRefNode RightWheelNode1 ={sRel={0.08,-0.05,.Size[2]*0.5}; + //AnyDrawRefFrame drw={RGB={0,1,0};}; + }; + + AnyRefNode LeftWheelNode1 ={sRel={0.08,-0.05,-.Size[2]*0.5}; + //AnyDrawRefFrame drw={RGB={0,1,0};}; + }; + + }; + + AnyKinEqSimpleDriver ArmRestDrv={ + + AnyRevoluteJoint jnt={ + AnyRefNode &ref1=..ThoraxRest.Node2; + AnyRefNode &ref2=..ArmRest.Node1; + Axis=z; + }; + DriverPos={-130*pi/180}; + DriverVel={0}; + }; + + + + AnyFolder Right ={ + + AnySeg Wheel1 ={ + Mass=0; + Jii={0,0,0}; + r0 ={0.873488, 0.887580, 0.250000}; + Axes0 = {{-0.984808, 0.173648, 0.000000}, {-0.173648, -0.984808, 0.000000}, {0.000000, 0.000000, 1.000000}}; + //AnyDrawRefFrame drw={}; + AnyRefNode CylNode1={ + sRel={-0.0,-0.0,-0.0}; + AnySurfCylinder Cyl1={ + Radius=0.1; + Length=0.04; + AnyDrawParamSurf drw={ + Opacity=1; + RGB= {0.4,0.4,0.4}; + }; + }; + + AnyRefNode WireNode={ + sRel={0.105,0.0,0.02}; + //AnyDrawRefFrame drw={}; + + }; + + }; + /*AnyRefNode CylNode2={ + sRel={0,0,0.03}; + AnySurfCylinder Cyl2={ + Radius=0.1; + Length=0.02; + AnyDrawParamSurf drw={}; + }; + };*/ + + AnyRefNode Node0={ + //AnyDrawRefFrame drw={}; + sRel={0,0.0,0}; + }; + + AnyRefNode Node1={ + //AnyDrawRefFrame drw={}; + sRel={0,0.34,0}; + }; + + AnyRefNode Node2={ + //AnyDrawRefFrame drw={}; + sRel={0,0.34,-0.2}; + + }; + + //Draw a visual line between the points + AnyFolder Line ={ + AnyRefFrame &node1=.Node0; + AnyRefFrame &node2=.Node1; + AnyRefFrame &node3=.Node2; + + AnyDrawPLine line ={ + Thickness=0.02; + RGB=....HandleRGB; + }; + }; + + }; + + + AnyKinEqSimpleDriver Drv={ + + AnyRevoluteJoint Wheel1Jnt={ + AnyRefNode &ref1=...ArmRest.RightWheelNode1; + AnySeg &ref2 =..Wheel1; + }; + DriverPos={1.4}; + DriverVel={0.7*pi}/Main.Study.tEnd; + Reaction.Type={0}; + }; + + + AnySeg Handle ={ + Mass=0; + Jii={0,0,0}; + + r0 ={0.925583, 0.592138, 0.050000}; + Axes0 = {{0.173648, 0.984808, 0.000000}, {-0.984808, 0.173648, 0.000000}, {0.000000, 0.000000, 1.000000}}; + + AnyRefNode Node0={ + //AnyDrawRefFrame drw={}; + sRel={0,0.0,0}; + + }; + + + AnyRefNode Node1={ + //AnyDrawRefFrame drw={}; + sRel={0,0.14,0.0}; + + }; + + AnyRefNode Node2={ + //AnyDrawRefFrame drw={}; + sRel={0,0.14,0.16}; + + }; + + AnyRefNode Node3={ + //AnyDrawRefFrame drw={}; + sRel={0,0.14,0.20}; + + }; + //Draw a visual line between the points + AnyFolder Line ={ + AnyRefFrame &node1=.Node0; + AnyRefFrame &node2=.Node1; + AnyRefFrame &node3=.Node2; + AnyRefFrame &node4=.Node3; + + AnyDrawPLine line ={ + Thickness=0.02; + RGB=....HandleRGB; + }; + }; + + }; + + + //AnyKinEqSimpleDriver HandleDrv={ + + AnyRevoluteJoint jnt={ + AnyRefNode &ref1=.Wheel1.Node2; + AnyRefNode &ref2=.Handle.Node0; + Axis=z; + }; + // DriverPos={90*pi/180}; + // DriverVel={0}; + //}; + + + + AnySeg Wheel2 ={ + Mass=0; + Jii={0,0,0}; + + AnyRefNode CylNode1={ + sRel={0,0,0.0}; + AnySurfCylinder Cyl1={ + + Radius=0.1; + Length=0.04; + AnyDrawParamSurf drw={ + Opacity=1; + RGB= {0.4,0.4,0.4}; + }; + + }; + }; + + }; + + + AnyKinEqSimpleDriver Wheel2Drv={ + AnyRevoluteJoint JntWheel2={ + AnySeg &ref1=..Wheel2; + AnyRefNode &ref2=...GlobalRef.RightWheelNode2; + Axis=z; + }; + DriverPos={0}; + DriverVel={0}; + }; + + + + AnySeg Mass={ + + Mass=5; + Jii={0,0,0}; + AnyRefNode CylNode ={ + sRel={0,0,0.0}; + + AnyVec3 Color= {0.4,0.4,0.4}; //box color + AnyVar Opacity=1; //box Opacity + AnyVec3 Size={0.2,0.2,0.2}; + #include "<ANYBODY_PATH_MODELUTILS>/DrawObjects/Box.any" //include file which will draw a box + + }; + + AnyRefNode Logo={ + sRel={0,0.0,0.1}; + + AnyDrawSTL Body = { + FileName = "Body-grey.stl"; + RGB = Main.DrawSettings.Colors.AnyBodyGrey; + + Opacity = 1; + ScaleXYZ={0.005,0.005,0.005}; + }; + + AnyDrawSTL AnyTechnology = { + FileName = "AnyTechnology-red.stl"; + RGB = Main.DrawSettings.Colors.AnyBodyRed; + + Opacity = 1; + ScaleXYZ={0.005,0.005,0.005}; + }; + + }; + }; + + + + AnyPrismaticJoint MassJnt = { + Axis = y; + Ref = 0.000000; + AnyRefFrame &ref1=..GlobalRef.RightMassNode; + AnyRefFrame &ref2=.Mass; + }; + AnyKinEqSimpleDriver MassDrv={ + AnyPrismaticJoint &ref1=.MassJnt; + DriverPos={-0.6}; + DriverVel={0.21}/Main.Study.tEnd; + Reaction.Type={0}; + }; + + AnyKinSPLine Wire={ + AnyRefNode &ref1=.Wheel1.CylNode1.WireNode; + AnySeg &ref2=.Mass; + + AnySurfCylinder &ref3=.Wheel1.CylNode1.Cyl1; + AnySurfCylinder &ref5=.Wheel2.CylNode1.Cyl1; + AnyDrawPLine drw={Thickness=0.005; RGB={0.1,0.1,0.1};}; + InitWrapPosVectors ={{0,0.5,0},{-1,2,0}}; + StringMesh=70; + //RelTol=1e-4; + }; + + AnyReacForce WireReaction={ + AnyKinSPLine &ref=.Wire; + + + }; + + + }; //right + + + + AnyFolder Left ={ + + AnySeg Wheel1 ={ + Mass=0; + Jii={0,0,0}; + r0 ={0.873488, 0.887580, 0.250000}; + Axes0 = {{-0.984808, 0.173648, 0.000000}, {-0.173648, -0.984808, 0.000000}, {0.000000, 0.000000, 1.000000}}; + //AnyDrawRefFrame drw={}; + AnyRefNode CylNode1={ + sRel={-0.0,-0.0,-0.04}; + AnySurfCylinder Cyl1={ + Radius=0.1; + Length=0.04; + AnyDrawParamSurf drw={ + Opacity=1; + RGB= {0.4,0.4,0.4}; + }; + }; + AnyRefNode WireNode={ + sRel={0.105,0.0,0.02}; + }; + }; + + AnyRefNode Node0={ + //AnyDrawRefFrame drw={}; + sRel={0,0.0,0}; + }; + + AnyRefNode Node1={ + //AnyDrawRefFrame drw={}; + sRel={0,0.34,0}; + }; + + AnyRefNode Node2={ + //AnyDrawRefFrame drw={}; + sRel={0,0.34,0.2}; + + }; + + //Draw a visual line between the points + AnyFolder Line ={ + AnyRefFrame &node1=.Node0; + AnyRefFrame &node2=.Node1; + AnyRefFrame &node3=.Node2; + + AnyDrawPLine line ={ + Thickness=0.02; + RGB=....HandleRGB; + }; + }; + + }; + + + AnyKinEqSimpleDriver Drv={ + + AnyRevoluteJoint Wheel1Jnt={ + AnyRefNode &ref1=...ArmRest.LeftWheelNode1; + AnySeg &ref2 =..Wheel1; + }; + DriverPos={1.4}; + DriverVel={0.7*pi}/Main.Study.tEnd; + Reaction.Type={0}; + }; + + + AnySeg Handle ={ + Mass=0; + Jii={0,0,0}; + + r0 ={0.925583, 0.592138, 0.050000}; + Axes0 = {{0.173648, 0.984808, 0.000000}, {-0.984808, 0.173648, 0.000000}, {0.000000, 0.000000, 1.000000}}; + + AnyRefNode Node0={ + //AnyDrawRefFrame drw={}; + sRel={0,0.0,0}; + + }; + + + AnyRefNode Node1={ + //AnyDrawRefFrame drw={}; + sRel={0,0.14,0.0}; + + }; + + AnyRefNode Node2={ + //AnyDrawRefFrame drw={}; + sRel={0,0.14,-0.16}; + + }; + + AnyRefNode Node3={ + //AnyDrawRefFrame drw={}; + sRel={0,0.14,-0.20}; + + }; + //Draw a visual line between the points + AnyFolder Line ={ + AnyRefFrame &node1=.Node0; + AnyRefFrame &node2=.Node1; + AnyRefFrame &node3=.Node2; + AnyRefFrame &node4=.Node3; + + AnyDrawPLine line ={ + Thickness=0.02; + RGB=....HandleRGB; + }; + }; + + }; + + + //AnyKinEqSimpleDriver HandleDrv={ + + AnyRevoluteJoint jnt={ + AnyRefNode &ref1=.Wheel1.Node2; + AnyRefNode &ref2=.Handle.Node0; + Axis=z; + }; + // DriverPos={90*pi/180}; + // DriverVel={0}; + //}; + + + + AnySeg Wheel2 ={ + Mass=0; + Jii={0,0,0}; + + AnyRefNode CylNode1={ + sRel={0,0,0.0}; + AnySurfCylinder Cyl1={ + + Radius=0.1; + Length=0.04; + AnyDrawParamSurf drw={ + Opacity=1; + RGB= {0.4,0.4,0.4}; + }; + + }; + }; + + }; + + + AnyKinEqSimpleDriver Wheel2Drv={ + AnyRevoluteJoint JntWheel2={ + AnySeg &ref1=..Wheel2; + AnyRefNode &ref2=...GlobalRef.LeftWheelNode2; + Axis=z; + }; + DriverPos={0}; + DriverVel={0}; + }; + + + + AnySeg Mass={ + + Mass=5; + Jii={0,0,0}; + AnyRefNode CylNode ={ + sRel={0,0,0.0}; + + AnyVec3 Color= {0.4,0.4,0.4}; //box color + AnyVar Opacity=1; //box Opacity + AnyVec3 Size={0.2,0.2,0.2}; + #include "<ANYBODY_PATH_MODELUTILS>/DrawObjects/Box.any" //include file which will draw a box + + }; + + AnyRefNode Logo={ + sRel={0,0.0,0.1}; + + AnyDrawSTL Body = { + FileName = "Body-grey.stl"; + RGB = Main.DrawSettings.Colors.AnyBodyGrey; + + Opacity = 1; + ScaleXYZ={0.005,0.005,0.005}; + }; + + AnyDrawSTL AnyTechnology = { + FileName = "AnyTechnology-red.stl"; + RGB = Main.DrawSettings.Colors.AnyBodyRed; + + Opacity = 1; + ScaleXYZ={0.005,0.005,0.005}; + }; + + }; + }; + + + + AnyPrismaticJoint MassJnt = { + Axis = y; + Ref = 0.000000; + AnyRefFrame &ref1=..GlobalRef.LeftMassNode; + AnyRefFrame &ref2=.Mass; + }; + /* + AnyKinEqSimpleDriver MassDrv={ + AnyPrismaticJoint &ref1=.MassJnt; + DriverPos={-0.6}; + DriverVel={0.0}/Main.Study.tEnd; + Reaction.Type={0}; + }; + */ + AnyKinEqSimpleDriver MassDrv={ + AnyPrismaticJoint &ref1=.MassJnt; + DriverPos={-0.6}; + DriverVel={0.21}/Main.Study.tEnd; + Reaction.Type={0}; + }; + AnyKinSPLine Wire={ + AnyRefNode &ref1=.Wheel1.CylNode1.WireNode; + AnySeg &ref2=.Mass; + + AnySurfCylinder &ref3=.Wheel1.CylNode1.Cyl1; + AnySurfCylinder &ref5=.Wheel2.CylNode1.Cyl1; + AnyDrawPLine drw={Thickness=0.005; RGB={0.1,0.1,0.1};}; + InitWrapPosVectors ={{0,0.5,0},{-1,2,0}}; + StringMesh=70; + //RelTol=1e-4; + }; + + AnyReacForce WireReaction={ + AnyKinSPLine &ref=.Wire; + }; + + };//left + + + + + + +}; + + + + + + + + + + + + + + + + + + + + +