Hi AnyBody guys and gals (and anyone else who wants to do some bug testing) -
This may be a bug…not quite sure. Let me tell you what is going ‘wrong’
(beyond what is
in my head).
I have been playing around with the Rowing Machine Microgravity ESA example in
Repository 7.0. For fun I decided to plot the forces that are being applied to
the hands
and the feet. I believe they are in the Loads folder in the Environment.any
file. I tried
plotting the forces quickly and I noticed they were pointing in the same
direction. That
seemed very weird as looking in the model heirarchy, they are clearly the
negatives of one
another.
I am copying the Load = { } (see below); folder that goes in the Environment.any
file that I
have been using. I have created 2 scenarios (see how Vec = {} is defined in
each of the
drawing functions). The first one (i.e. Vec = {1,0,0} and Vec = {-1,0,0}), for
me, produces
vectors pointing in the same direction. The second one (i.e. Vec = {0,1,0} and
Vec = {0,-
1,0}) produces vectors pointing in opposite directions. I changed the point of
application
to the same reference frame, and got the same result. It seems as if the x
coordinate in
the plot function is ignoring the sign??
Hopefully I am doing something wrong and you can show me the error in my ways.
If not,
we can talk about my compensation.
Here is the code:
AnyFolder Load ={
AnyFunInterpol Force =
{
Type = Bspline;
BsplineOrder = 4;
FileName = "ReacForcesCase1.txt";
};
AnyForce PushPullUnitForce =
{
F = .Force(t)*(-1);
AnyPrismaticJoint &PushPullJoint =
Main.Model.ModelEnvironmentConnection.Joints.PushPullGuideJnt;
//draw the force...
AnyDrawVector drF = {
//Vec = {.Fout[0]/500,0,0}; // Scale the length down
Vec = {1,0,0}; // Does not point in the opposite direction as the
force below
// Vec = {0,1,0}; // Does point in the opposite direction as the force
below
Line = {
Style = Line3DStyleFull;
Thickness = 0.01;
RGB = {1, 0, 0};
End = {
Style = Line3DCapStyleArrow; // This specifies the end to be an
arrowhead
RGB = {1, 0, 0};
Thickness = 0.02; // The head begins with twice the thickness of
the shaft
Length = 0.05;
};
};
// attach the arrow to the hand
//AnyRefFrame &Palm = Main.ArmModel.Segs.ForeArm.PalmNode;
AnyRefFrame &Palm =
Main.Model.EnvironmentModel.Seg.GrabStickSeg.PushPullJtNode;
//AnyRefFrame &Palm = Main.Model.EnvironmentModel.GlobalRef;
};
};
//force applied to a kinematic measure defined by a prismatic joint
AnyForce FootRestForce =
{
F = .Force(t)*(1);
AnyPrismaticJoint &FootRestJoint =
Main.Model.ModelEnvironmentConnection.Joints.FootRestGuideJnt;
//draw the force...
AnyDrawVector drF = {
//Vec = {.Fout[0]/500,0,0}; // Scale the length down
Vec = {-1,0,0}; //does not point in the opposite direction as the
force above
//Vec = {0,-1,0}; //does point in the opposite direction as the force
above
Line = {
Style = Line3DStyleFull;
Thickness = 0.01;
RGB = {0, 1, 0};
End = {
Style = Line3DCapStyleArrow; // This specifies the end to be an
arrowhead
RGB = {0, 1, 0};
Thickness = 0.02; // The head begins with twice the thickness of
the shaft
Length = 0.05;
};
};
// attach the arrow to the hand
//AnyRefFrame &Palm = Main.ArmModel.Segs.ForeArm.PalmNode;
AnyRefFrame &Palm =
Main.Model.EnvironmentModel.Seg.FootRestSeg.FootRestLinearGuideNode;
//AnyRefFrame &Palm =
Main.Model.EnvironmentModel.Seg.GrabStickSeg.PushPullJtNode;
//AnyRefFrame &Palm = Main.Model.EnvironmentModel.GlobalRef;
};
};
}; //Load