]> defiant.homedns.org Git - wt_open_manipulator.git/blobdiff - ikfast/ik.cpp
replace id 12 with xm540-w270
[wt_open_manipulator.git] / ikfast / ik.cpp
index c2ccfc4fd7e284ab976f5996f11753e61652ce1d..44d72a943d14d10379b5bc61e332dc41890d7604 100644 (file)
@@ -12,7 +12,7 @@
 /// See the License for the specific language governing permissions and
 /// limitations under the License.
 ///
-/// ikfast version 0x10000049 generated on 2020-01-01 11:08:21.983960
+/// ikfast version 0x10000049 generated on 2021-08-14 17:43:05.445798
 /// To compile with gcc:
 ///     gcc -lstdc++ ik.cpp
 /// To compile without any main function as a shared object (might need -llapack):
@@ -298,7 +298,7 @@ inline CheckValue<T> IKPowWithIntegerCheck(T f, int n)
 /// \param pfree is an array specifying the free joints of the chain.
 IKFAST_API void ComputeFk(const IkReal* j, IkReal* eetrans, IkReal* eerot) {
 for(int dummyiter = 0; dummyiter < 1; ++dummyiter) {
-IkReal x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19;
+IkReal x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18;
 x0=IKcos(j[0]);
 x1=IKcos(j[2]);
 x2=IKcos(j[1]);
@@ -310,27 +310,27 @@ x7=IKcos(j[3]);
 x8=((0.126)*x4);
 x9=((0.124)*x1);
 x10=((1.0)*x4);
-x11=((0.128)*x3);
-x12=((0.124)*x4);
-x13=((0.126)*x1);
-x14=(x2*x6);
-x15=(x1*x2);
-x16=(x0*x2);
-x17=(x0*x3);
-x18=(x1*x3);
-x19=(x3*x6);
-IkReal x20=((1.0)*x17);
-eetrans[0]=((0.012)+((x0*x11))+((x16*x9))+((x7*(((((-1.0)*x20*x8))+((x13*x16))))))+(((0.024)*x16))+((x5*(((((-1.0)*x16*x8))+(((-1.0)*x13*x20))))))+(((-1.0)*x12*x20)));
+x11=((0.124)*x4);
+x12=((0.126)*x1);
+x13=(x2*x6);
+x14=(x1*x2);
+x15=(x0*x2);
+x16=(x0*x3);
+x17=(x1*x3);
+x18=(x3*x6);
+IkReal x19=((1.0)*x8);
+IkReal x20=((1.0)*x16);
+eetrans[0]=((0.012)+(((0.132)*x16))+((x7*(((((-1.0)*x16*x19))+((x12*x15))))))+(((-1.0)*x11*x20))+(((0.024)*x15))+((x5*(((((-1.0)*x15*x19))+(((-1.0)*x12*x20))))))+((x15*x9)));
 IkReal x21=((1.0)*x8);
-IkReal x22=((1.0)*x19);
-eetrans[1]=(((x5*(((((-1.0)*x14*x21))+(((-1.0)*x13*x22))))))+((x14*x9))+((x11*x6))+((x7*(((((-1.0)*x19*x21))+((x13*x14))))))+(((0.024)*x14))+(((-1.0)*x12*x22)));
-IkReal x23=((1.0)*x2);
-IkReal x24=((1.0)*x3);
-eetrans[2]=((0.0765)+(((0.128)*x2))+((x7*(((((-1.0)*x23*x8))+(((-1.0)*x13*x24))))))+(((-1.0)*x24*x9))+((x5*((((x3*x8))+(((-1.0)*x13*x23))))))+(((-0.024)*x3))+(((-1.0)*x12*x23)));
+IkReal x22=((1.0)*x18);
+eetrans[1]=((((0.132)*x18))+((x7*(((((-1.0)*x18*x21))+((x12*x13))))))+(((-1.0)*x11*x22))+(((0.024)*x13))+((x5*(((((-1.0)*x13*x21))+(((-1.0)*x12*x22))))))+((x13*x9)));
+IkReal x23=((1.0)*x3);
+IkReal x24=((1.0)*x2);
+eetrans[2]=((0.0875)+(((-1.0)*x23*x9))+((x5*((((x3*x8))+(((-1.0)*x12*x24))))))+((x7*(((((-1.0)*x24*x8))+(((-1.0)*x12*x23))))))+(((0.132)*x2))+(((-1.0)*x11*x24))+(((-0.024)*x3)));
 IkReal x25=((1.0)*x10);
-if( ((((x5*(((((-1.0)*x18))+(((-1.0)*x2*x25))))))+((x7*(((((1.0)*x15))+(((-1.0)*x25*x3)))))))) < -1-IKFAST_SINCOS_THRESH || ((((x5*(((((-1.0)*x18))+(((-1.0)*x2*x25))))))+((x7*(((((1.0)*x15))+(((-1.0)*x25*x3)))))))) > 1+IKFAST_SINCOS_THRESH )
+if( ((((x5*(((((-1.0)*x17))+(((-1.0)*x2*x25))))))+((x7*(((((1.0)*x14))+(((-1.0)*x25*x3)))))))) < -1-IKFAST_SINCOS_THRESH || ((((x5*(((((-1.0)*x17))+(((-1.0)*x2*x25))))))+((x7*(((((1.0)*x14))+(((-1.0)*x25*x3)))))))) > 1+IKFAST_SINCOS_THRESH )
     continue;
-eerot[0]=IKacos((((x5*(((((-1.0)*x18))+(((-1.0)*x2*x25))))))+((x7*(((((1.0)*x15))+(((-1.0)*x25*x3))))))));
+eerot[0]=IKacos((((x5*(((((-1.0)*x17))+(((-1.0)*x2*x25))))))+((x7*(((((1.0)*x14))+(((-1.0)*x25*x3))))))));
 return;
 }
 IKFAST_ASSERT(0);
@@ -416,17 +416,17 @@ j0 = j0array[ij0]; cj0 = cj0array[ij0]; sj0 = sj0array[ij0];
 IkReal op[162], zeror[48];
 int numroots;;
 IkReal x28=IKcos(j0);
-IkReal x29=((0.409)*pz);
-IkReal x30=((0.024)*px);
+IkReal x29=((0.024)*px);
+IkReal x30=((0.439)*pz);
 IkReal x31=IKsin(j0);
-IkReal x32=((0.101432)+(((-0.496)*pz)));
-IkReal x33=((-0.2045)+pz);
+IkReal x32=((0.108872)+(((-0.496)*pz)));
+IkReal x33=((-0.2195)+pz);
 IkReal x34=((2.0)*pz);
-IkReal x35=((0.153)+(((-1.0)*x34)));
-IkReal x36=((0.103)*pz);
+IkReal x35=((0.175)+(((-1.0)*x34)));
+IkReal x36=((0.089)*pz);
 IkReal x37=((0.496)*pz);
-IkReal x38=((-0.103)+(((-1.0)*x34)));
-IkReal x39=((-0.0515)+(((-1.0)*pz)));
+IkReal x38=((-0.089)+(((-1.0)*x34)));
+IkReal x39=((-0.0445)+(((-1.0)*pz)));
 IkReal x40=((1.0)*(px*px));
 IkReal x41=((1.0)*(py*py));
 IkReal x42=((1.0)*(pz*pz));
@@ -434,31 +434,31 @@ IkReal x43=((1.0)*(IKcos(r00)));
 IkReal x44=((-1.0)+(((-1.0)*x43)));
 IkReal x45=((1.0)+(((-1.0)*x43)));
 IkReal x46=((0.012)*x28);
-IkReal x47=((-0.409)+x34);
+IkReal x47=((-0.439)+x34);
 IkReal x48=(py*x31);
 IkReal x49=(px*x28);
-IkReal x50=((0.006144)*x28);
-IkReal x51=((-0.153)+x34);
+IkReal x50=((0.006336)*x28);
+IkReal x51=((-0.175)+x34);
 IkReal x52=((0.000576)*x28);
 IkReal x53=((0.003552)*x28);
-IkReal x54=((0.025544)+x37);
+IkReal x54=((0.022072)+x37);
 IkReal x55=((0.0024)*x28);
 IkReal x56=((0.048)*x48);
 IkReal x57=((0.048)*x49);
-IkReal x58=((0.512)*x49);
-IkReal x59=((0.512)*x48);
+IkReal x58=((0.528)*x49);
+IkReal x59=((0.528)*x48);
 IkReal x60=((0.296)*x48);
 IkReal x61=((0.296)*x49);
 IkReal x62=((0.2)*x48);
 IkReal x63=((0.2)*x49);
 IkReal x64=(x30+x29);
-IkReal x65=(x30+x52);
+IkReal x65=(x52+x29);
 IkReal x66=(x48+x49);
 IkReal x67=((((1.0)*x48))+(((1.0)*x49)));
-IkReal x68=(x59+x58);
-IkReal x69=(x62+x63);
+IkReal x68=(x62+x63);
+IkReal x69=(x60+x61);
 IkReal x70=(x57+x56);
-IkReal x71=(x60+x61);
+IkReal x71=(x59+x58);
 IkReal x72=((0.274)+(((-1.0)*x46))+x66);
 IkReal x73=((0.022)+(((-1.0)*x46))+x66);
 IkReal x74=(x42+x40+x41);
@@ -469,18 +469,18 @@ IkReal x78=((0.274)+x46+(((-1.0)*x67)));
 IkReal x79=((0.022)+x46+(((-1.0)*x67)));
 IkReal x80=(x74+x36);
 IkReal x81=(x74+x52);
-IkReal x82=((0.007344)+(((-0.096)*pz))+x68+(((-1.0)*x50)));
-IkReal x83=((0.045288)+(((-0.592)*pz))+x68+(((-1.0)*x50)));
-IkReal x84=((-0.0306)+(((0.4)*pz))+x68+(((-1.0)*x50)));
+IkReal x82=((0.0084)+(((-0.096)*pz))+x71+(((-1.0)*x50)));
+IkReal x83=((0.0518)+(((-0.592)*pz))+x71+(((-1.0)*x50)));
+IkReal x84=((-0.035)+(((0.4)*pz))+x71+(((-1.0)*x50)));
 IkReal x85=(x70+x80);
-IkReal x86=((0.01995975)+x70+x64+(((-1.0)*x81)));
-IkReal x87=((-0.04253625)+x70+x64+(((-1.0)*x81)));
-IkReal x88=((-0.04799225)+(((-1.0)*x74))+x71+x64+(((-1.0)*x53)));
-IkReal x89=((-0.03608825)+(((-1.0)*x74))+x55+x64+(((-1.0)*x69)));
-IkReal x90=((0.05912775)+x65+(((-1.0)*x85)));
-IkReal x91=((-0.00336825)+x65+(((-1.0)*x85)));
-IkReal x92=((-0.00882425)+(((-1.0)*x71))+x30+x53+(((-1.0)*x80)));
-IkReal x93=((0.00307975)+x30+x69+(((-1.0)*x80))+(((-1.0)*x55)));
+IkReal x86=((0.01359975)+x70+x64+(((-1.0)*x81)));
+IkReal x87=((-0.04889625)+x70+x64+(((-1.0)*x81)));
+IkReal x88=((-0.05435225)+(((-1.0)*x74))+x64+x69+(((-1.0)*x53)));
+IkReal x89=((-0.04244825)+(((-1.0)*x74))+x55+x64+(((-1.0)*x68)));
+IkReal x90=((0.05979975)+x65+(((-1.0)*x85)));
+IkReal x91=((-0.00269625)+x65+(((-1.0)*x85)));
+IkReal x92=((-0.00815225)+x53+x29+(((-1.0)*x69))+(((-1.0)*x80)));
+IkReal x93=((0.00375175)+x68+x29+(((-1.0)*x80))+(((-1.0)*x55)));
 op[0]=x86;
 op[1]=0;
 op[2]=x87;
@@ -954,7 +954,7 @@ IKSolver solver;
 return solver.ComputeIk(eetrans,eerot,pfree,solutions);
 }
 
-IKFAST_API const char* GetKinematicsHash() { return "2062b4aa7fde98f002602493c9ba542a"; }
+IKFAST_API const char* GetKinematicsHash() { return "f8e185c58eba9ecf036d09a0db9b2f5b"; }
 
 IKFAST_API const char* GetIkFastVersion() { return "0x10000049"; }