External Device

The external device is connected to the seg of the body by creating a node on each of the two nodes and then connecting with the joint. However, the coordinate system of the two nodes is not consistent, which leads to the rotation of the device by an Angle during the inverse kinematics calculation. How to unify the coordinate system of the two nodes?
Before calculated


After the calculation

AnySeg BeltSeg={
r0 = Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.PelvisSeg.r0+{0.07,-0.055,0};
Mass=4;
Jii={0.101,0.101,0.101};
AnyRefNode Right = {sRel={0,0.055,-0.15820};
AnyDrawRefFrame dd={};
AnyDrawNode StrapBack2 =
{
RGB = {1, 0, 0};
ScaleXYZ = {0.005, 0.005, 0.005}3;
};
};
AnyRefNode surfnode = {
ARel=RotMat(90
pi/180,y);
AnyDrawRefFrame dd={};
AnyDrawSurf srf={
FileName="Belt-1.STL";
ScaleXYZ={1,1,1}*0.001;
RGB={0.8,1,0.6};
};
};
};
Main.Model.BodyModel.Trunk.SegmentsLumbar.PelvisSeg = {
AnyRefNode AddNodeR = {
sRel = {0.07, 0, -0.15820};
AnyDrawRefFrame dd={};
AnyDrawNode AddNodeR =
{
RGB = {0, 1, 0};
ScaleXYZ = {0.005, 0.005, 0.005};
};
};
};
AnyStdJoint BeltDrv_R={
AnyRefFrame &Ref0=.BeltSeg.Right;
AnyRefFrame &Ref1= Main.Model.BodyModel.Trunk.SegmentsLumbar.PelvisSeg.AddNodeR;
Constraints.CType={Soft,Soft,Soft,Soft,Soft,Soft};
};

Hi Biao,

The easiest way would probably be to rotate .BeltSeg.Right node by adding an ARel in case you expect the device to be fixed on the pelvis. If the device is moving wrt pelvis - you would need to define this movement through constraints/drivers.

Kind regards,
Pavel

This topic was automatically closed 125 days after the last reply. New replies are no longer allowed.