X-Git-Url: https://defiant.homedns.org/gitweb/?p=wt_open_manipulator.git;a=blobdiff_plain;f=ikfast%2Fik.cpp;h=44d72a943d14d10379b5bc61e332dc41890d7604;hp=c2ccfc4fd7e284ab976f5996f11753e61652ce1d;hb=264f3ad6518cc1e467b12b38ffd5cbb05be3c282;hpb=bc995d87c13021ac6d43fcfc88b536dc7a0f462d diff --git a/ikfast/ik.cpp b/ikfast/ik.cpp index c2ccfc4..44d72a9 100644 --- a/ikfast/ik.cpp +++ b/ikfast/ik.cpp @@ -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 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"; }