terrydeltasigmacorp.com Posted May 27, 2016 Share Posted May 27, 2016 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 More sharing options...
Jay Lee Posted May 31, 2016 Share Posted May 31, 2016 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 More sharing options...
terrydeltasigmacorp.com Posted May 31, 2016 Author Share Posted May 31, 2016 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 More sharing options...
Richard Naddaf Posted May 31, 2016 Share Posted May 31, 2016 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 More sharing options...
terrydeltasigmacorp.com Posted May 31, 2016 Author Share Posted May 31, 2016 Thanks Link to comment Share on other sites More sharing options...
Recommended Posts