Hi again, thanks for the previous speedy response,
I have another simple example with a revolute joint, and then a
spherical joint, i’m getting an error ‘Motion2.Reaction.Type’ :
Number of elements in type specification must match number of
elements in force vector (num. elem = 3) for the driver of the
second segments node, i’ve pasted my code below, any thoughts?
// 3d joint driven by 3 dimensional data
Main = {
//
AnyFolder MyModel = {
// Global Reference Frame
AnyFixedRefFrame GlobalRef = {
AnyDrawRefFrame DrwGlobalRef = {
ScaleXYZ = {0.1, 0.1, 0.1};
RGB = {0,1,0};
};
AnyRefNode bla1 = {
sRel = {0,0,0};
};
}; // Global reference frame
AnyFolder Segs = {
AnySeg Alpha ={
r0 = {0.1, 0, 0};
Mass = 2;
Jii = {0.001, 0.01, 0.01};
AnyDrawSeg drw = {};
AnyRefNode base = {
sRel = {0,0,0};
};
AnyRefNode end = {
sRel = {.2,0,0};
};
};//alpha
AnySeg Beta ={
r0 = {.4, 0, 0};
Mass = 2;
Jii = {0.001, 0.01, 0.01};
AnyDrawSeg drw = {};
AnyRefNode base = {
sRel = {0,0,0};
};
AnyRefNode end = {
sRel = {0.2,0,0};
};
};//beta
};//segs
AnyFolder Jnts = {
//---------------------------------
AnyRevoluteJoint jntbla = {
Axis = z;
AnyRefNode &basenode = ..GlobalRef.bla1;
AnyRefNode &uppernode = ..Segs.Alpha.base;
};//jntbla
AnySphericalJoint jntbla2 = {
AnyRefNode &basenode = ..Segs.Alpha.end;
AnyRefNode &uppernode =..Segs.Beta.base;
};//jntbla2
};//Jnts
AnyFolder Drivers = {
AnyFolder KinematicMeasures = {
AnyKinLinear Pos = {
// These are the nodes that the measure refers to
AnyRefNode &Ground = Main.MyModel.GlobalRef.bla1;
AnyRefNode &LowerArmNode = Main.MyModel.Segs.Alpha.end;
Ref = 0;
};//pos
};//kinematicmeasure
AnyFolder KinematicMeasures2 = {
AnyKinLinear Pos = {
// These are the nodes that the measure refers to
AnyRefNode &Ground = Main.MyModel.GlobalRef.bla1;
AnyRefNode &UpperArmNode = Main.MyModel.Segs.Beta.end;
Ref = 0;
};//pos
};//kinematicmeasure2
AnyVector Time = { 0,5,10};
AnyKinEqInterPolDriver Motion = {
AnyKinLinear &bla=.KinematicMeasures.Pos;
MeasureOrganizer = {1};
T = .Time;
Type = PiecewiseLinear;
Data = {{0,
.1,
.0
}} ;
Reaction.Type = {Off};
};//motion kineqinterpoldriver
AnyKinEqInterPolDriver Motion2 = {
AnyKinLinear &bla2=.KinematicMeasures2.Pos;
T = .Time;
Type = PiecewiseLinear;
Data = {{0,0,0},{0,0,0},{0,0,0}
} ;
Reaction.Type = {Off};
};//motion kineqinterpoldriver
}; //drivers
}; // MyModel
// The study: Operations to be performed on the model
AnyBodyStudy MyStudy = {
AnyFolder &Model = .MyModel;
RecruitmentSolver = MinMaxSimplex;
Gravity = {0.0, -9.81, 0.0};
tEnd = 10;
};
}; // Main