Jump to content
OMRON Forums

Ln values in Kinmatic Equations


Recommended Posts

Are the Ln values in the forward and inverse kinematic equation buffers in units or encoder counts? In some examples I see Ln being solved to encoder counts and other I see the equations stop when the Ln value is solved to the unit level. If Ln is only solved to the unit level in the kinematics buffer then where would counts per unit value be input?

 

Solved to encoder counts

&1 open inverse

L1=C6*1000; // Mtr1pos=Xpos*1000

L2=C7*1000; // Mtr2pos=Ypos*1000

if (D0 > 0) { // True for unsegmented PVT only

R1=C38*1000; // Mtr1vel=Xvel*1000

R2=C39*1000; // Mtr2vel=Yvel*1000

}

close

 

Solved only to unit level of Angle

open inverse

X2Y2=pow(KinPosAxisX,2)+pow(KinPosAxisY,2); // X^2 + Y^2

Bcos=(X2Y2-SumLenSqrd)/ProdofLens; // cos(B)

if (abs(Bcos)<0.9995){ // Valid solution?

KinPosMotor2=acosd(Bcos)+90; // B motor angle

AplusC=atan2d(KinPosAxisY,KinPosAxisX);

Cangle=acosd(((X2Y2+DifLenSqrd) / (2*Len1*sqrt(SumLenSqrd));

KinPosMotor1=AplusC-Cangle; // A motor angle

}

else abort1; // No valid solution, stop

close

Link to comment
Share on other sites

  • Replies 4
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

it is suggested to use KinPosAxis and KinPosMotor variables in kinematics.

not sure why you are using them in inverse but not in forward.

Ln and Rn are local variables, and you can't not monitor them.

and your inverse and forward kinematics are not matching together: in inverse, it's a scara robot, and in forward, it's just a scaling.

Please specify what you are trying to achieve so we can help you better

Link to comment
Share on other sites

I know they have to match and the variables should be used. These are just two different examples that I found of Kinematics Examples in the Power PMAC Coordinate System power point. Neither one of these would work for my actual machine. I was just curious why one of these solved all the way to encoder counts and the other only solved to Angle. In the second example, how does the PMAC know how many encoder counts is a Degree?
Link to comment
Share on other sites

If Motor[].PosSf, and Motor[].Pos2Sf are 1, the units are in motor (encoder) counts. So everything else is, including these kinematic variables. You would need to apply the proper scaling within the kinematics equations. The current examples in the Users manual use this method.

 

Otherwise, if you have specified PosSf, and Pos2Sf (which has become the preferred method for users) then everything else in is in engineering units (e.g. mm, inches, degrees), including these kinematic variables. And for example the same goes for jogging commands which are now in engineering units.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

×
×
  • Create New...