Hello, I had connected box and human hand, then I tried to analysis.
However, there are some errors as follows:
- When I use AnyStdJoint, error message 'Model is kinematically over-constrained'. Then, I think that I should make free of axis, so I used AnyRevoluteJoint. However, another error occured.
First, my code that I used AnystdJoint is follows:
AnyFolder Segments={
AnySeg box={
Mass=10;
Jii={0.02,0.0002,0.02};
r0={Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.PelvisSeg.r0[0]-0.3,
Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.PelvisSeg.r0[1]+0.2,
Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.PelvisSeg.r0[2]+0.2};
//r0={0.2,0.2,0};
//Axes0={Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.PelvisSeg.Axes0[0],
//Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.PelvisSeg.Axes0[1],
//Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.PelvisSeg.Axes0[2]};
Axes0={{cos(15*pi/180),0,sin(15*pi/180)}, {0,1,0}, {sin(15*pi/180),0,cos(15*pi/180)}};
AnyDrawSeg drw={};
AnyRefNode DrwNode={
AnyDrawSTL drw={
FileName="input/0.01_0.25_0.5.stl";
};
};
AnyRefNode Right={
sRel = {0,-0.37,0.16};
};
AnyRefNode Left={
sRel = {0.46,-0.37,0.16};
};
};
};
AnyFolder Joints={
AnyStdJoint Leftboxjnt={
AnySeg &LeftHand = Main.HumanModel.BodyModel.Left.ShoulderArm.Seg.Glove;
AnyRefNode &boxLeftside = Main.EnvironmentModel.Segments.box.Left;
};
AnyStdJoint Rightboxjnt={
AnySeg &RightHand = Main.HumanModel.BodyModel.Right.ShoulderArm.Seg.Glove;
AnyRefNode &boxRightside = Main.EnvironmentModel.Segments.box.Right;
};
};
- When I Use 'AnyRevoluteJoint', error message 'Kinematic analysis failed in time step 0 : Position analysis is not completed'.
This is my code for using AnyRevoluteJoint as follows:
AnyFolder Segments={
AnySeg box={
Mass=10;
Jii={0.02,0.0002,0.02};
r0={Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.PelvisSeg.r0[0]-0.3,
Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.PelvisSeg.r0[1]+0.2,
Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.PelvisSeg.r0[2]+0.2};
//r0={0.2,0.2,0};
//Axes0={Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.PelvisSeg.Axes0[0],
//Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.PelvisSeg.Axes0[1],
//Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.PelvisSeg.Axes0[2]};
Axes0={{cos(15*pi/180),0,sin(15*pi/180)}, {0,1,0}, {sin(15*pi/180),0,cos(15*pi/180)}};
AnyDrawSeg drw={};
AnyRefNode DrwNode={
AnyDrawSTL drw={
FileName="input/0.01_0.25_0.5.stl";
};
};
AnyRefNode Right={
sRel = {0,-0.37,0.16};
};
AnyRefNode Left={
sRel = {0.46,-0.37,0.16};
};
};
};
AnyFolder Joints={
AnyRevoluteJoint Leftboxjnt={
AnySeg &LeftHand = Main.HumanModel.BodyModel.Left.ShoulderArm.Seg.Glove;
AnyRefNode &boxLeftside = Main.EnvironmentModel.Segments.box.Left;
Axis = x;
};
AnyRevoluteJoint Rightboxjnt={
AnySeg &RightHand = Main.HumanModel.BodyModel.Right.ShoulderArm.Seg.Glove;
AnyRefNode &boxRightside = Main.EnvironmentModel.Segments.box.Right;
Axis = x;
};
};
How Can I solve this problem?
What kind of code do I should use?
Thank you!