# ************************************************************************** # Kinematics2: Inverse position problem for a six-revolute-joint problem # in mechanics (dense system) # # References : # @book{Numerica, # author = "P. {Van Hentenryck} and L. Michel and Y. Deville", # title = "{N}umerica: a {M}odeling {L}anguage for {G}lobal {O}ptimization", # publisher = "MIT Press", # year = 1997 # } # # A. Morgan and A. Sommese # `Computing all solutions to polynomial systems # using homotopy continuation', # Appl. Math. Comput., Vol. 24, pp 115-138, 1987. # # # Solution 1 [7.96e-10] # x1 = [0.847673005425..0.847673006201] # x2 = [0.530519061668..0.530519062465] # x3 = [0.985262164217..0.985262164748] # x4 = [-0.17105106633..-0.171051066016] # x5 = [0.490021055296..0.490021055511] # x6 = [-0.871710597238..-0.871710597151] # x7 = [-0.551930866067..-0.551930866017] # x8 = [-0.833889872294..-0.833889872288] # # Solution 2 [2.16e-14] # x1 = [0.945504605289..0.94550460529] # x2 = [0.325608724354..0.325608724355] # x3 = [0.938561247378..0.938561247379] # x4 = [0.345112713354..0.345112713355] # x5 = [-0.939144701771..-0.93914470177] # x6 = [-0.343521803002..-0.343521803001] # x7 = [0.870774471403..0.870774471404] # x8 = [0.4916826415..0.491682641501] # # Solution 3 [1.07e-13] # x1 = [0.977921858273..0.977921858274] # x2 = [0.208970904937..0.208970904938] # x3 = [0.0261132902624..0.0261132902626] # x4 = [0.999658989891..0.999658989892] # x5 = [-0.0978686112838..-0.0978686112837] # x6 = [0.995199344315..0.995199344316] # x7 = [0.0770736104145..0.0770736104146] # x8 = [-0.997025405182..-0.997025405181] # # # Solution 4 [6.34e-12] # x1 = [0.980793884335..0.980793884338] # x2 = [0.195047062133..0.19504706214] # x3 = [-0.99411033624..-0.994110336236] # x4 = [-0.108372687451..-0.108372687444] # x5 = [0.884452311754..0.884452311758] # x6 = [0.466630590755..0.466630590757] # x7 = [0.294340361574..0.294340361575] # x8 = [-0.955700660013..-0.955700660012] # # Solution 5 [3.69e-14] # x1 = [0.952758034456..0.952758034457] # x2 = [0.303730353733..0.303730353734] # x3 = [-0.790526544347..-0.790526544346] # x4 = [0.612427777524..0.612427777525] # x5 = [0.241511523754..0.241511523755] # x6 = [0.970397951303..0.970397951304] # x7 = [0.237359796077..0.237359796078] # x8 = [-0.971421807047..-0.971421807046] # # Solution 6 [9.63e-11] # x1 = [-0.554195147306..-0.554195147277] # x2 = [0.832386772303..0.832386772319] # x3 = [0.562636008201..0.562636008298] # x4 = [0.826704737002..0.82670473705] # x5 = [0.82857143958..0.828571439594] # x6 = [-0.559883353483..-0.559883353471] # x7 = [-0.690854676776..-0.690854676766] # x8 = [-0.722993648373..-0.722993648368] # # Solution 7 [1.76e-14] # x1 = [-0.541927920626..-0.541927920625] # x2 = [0.840424969194..0.840424969195] # x3 = [0.467043194447..0.467043194448] # x4 = [0.884234501996..0.884234501997] # x5 = [-0.836719093531..-0.83671909353] # x6 = [-0.54763232056..-0.547632320559] # x7 = [0.895144039691..0.895144039692] # x8 = [0.445777016237..0.445777016238] # # Solution 8 [5.11e-15] # x1 = [-0.767519772512..-0.767519772511] # x2 = [0.641025271579..0.64102527158] # x3 = [0.696416041868..0.696416041869] # x4 = [-0.717638277009..-0.717638277008] # x5 = [-0.999979248148..-0.999979248147] # x6 = [-0.00644230346531..-0.0064423034653] # x7 = [0.814950634523..0.814950634524] # x8 = [0.579530381679..0.57953038168] # # Solution 9 [1.53e-14] # x1 = [-0.83325829747..-0.833258297469] # x2 = [-0.55288390255..-0.552883902549] # x3 = [-0.954937653973..-0.954937653972] # x4 = [0.29680646392..0.296806463921] # x5 = [0.864628314645..0.864628314646] # x6 = [-0.502412059483..-0.502412059482] # x7 = [-0.233473572586..-0.233473572585] # x8 = [-0.972363147649..-0.972363147648] # # Solution 10 [1.64e-14] # x1 = [-0.974997904471..-0.97499790447] # x2 = [-0.222214055087..-0.222214055086] # x3 = [-0.993879628586..-0.993879628585] # x4 = [-0.110468474607..-0.110468474606] # x5 = [-0.999992079505..-0.999992079504] # x6 = [0.00398006627132..0.00398006627133] # x7 = [0.998339814129..0.99833981413] # x8 = [-0.0575987458603..-0.0575987458602] # ************************************************************************** # Domains var x1 >= -1, <= 1; var x2 >= -1, <= 1; var x3 >= -1, <= 1; var x4 >= -1, <= 1; var x5 >= -1, <= 1; var x6 >= -1, <= 1; var x7 >= -1, <= 1; var x8 >= -1, <= 1; # Constants param a11 := -0.24915068; param a12 := 0.12501635; param a13 := -0.63555007; param a14 := 1.4894773; param a21 := 1.6091354; param a22 := -0.68660736; param a23 := -0.11571992; param a24 := 0.23062341; param a31 := 0.27942343; param a32 := -0.11922812; param a33 := -0.66640448; param a34 := 1.3281073; param a41 := 1.4348016; param a42 := -0.71994047; param a43 := 0.11036211; param a44 := -0.25864503; param a51 := 0.0; param a52 := -0.43241927; param a53 := 0.29070203; param a54 := 1.1651720; param a61 := 0.40026384; param a62 := 0.0; param a63 := 1.2587767; param a64 := -0.26908494; param a71 := -0.80052768; param a72 := 0.0; param a73 := -0.62938836; param a74 := 0.53816987; param a81 := 0.0; param a82 := -0.86483855; param a83 := 0.58140406; param a84 := 0.58258598; param a91 := 0.074052388; param a92 := -0.037157270; param a93 := 0.19594662; param a94 := -0.20816985; param a101 := -0.083050031; param a102 := 0.035436896; param a103 := -1.2280342; param a104 := 2.6868320; param a111 := -0.38615961; param a112 := 0.085383482; param a113 := 0.0; param a114 := -0.69910317; param a121 := -0.75526603; param a122 := 0.0; param a123 := -0.079034221; param a124 := 0.35744413; param a131 := 0.50420168; param a132 := -0.039251967; param a133 := 0.026387877; param a134 := 1.2499117; param a141 := -1.0916287; param a142 := 0.0; param a143 := -0.057131430; param a144 := 1.4677360; param a151 := 0.0; param a152 := -0.43241927; param a153 := -1.1628081; param a154 := 1.1651720; param a161 := 0.049207290; param a162 := 0.0; param a163 := 1.2587767; param a164 := 1.0763397; param a171 := 0.049207290; param a172 := 0.013873010; param a173 := 2.1625750; param a174 := -0.69686809; subject to cons1 : x1^2 + x2^2 = 1; cons2 : x3^2 + x4^2 = 1; cons3 : x5^2 + x6^2 = 1; cons4 : x7^2 + x8^2 = 1; cons5 : x3*(a11*x1 + a31*x2 + a111) +x4*(a21*x1 + a41*x2 + a121) +x8*(a61*x5 + a161) +x6*(a71*x7 + a141) +a91*x1 + a101*x2 + a131*x5 + a171 = 0; cons6 : x3*(a12*x1 + a32*x2 + a112) +x4*(a22*x1 + a42*x2) +x7*(a52*x5 + a152) +a92*x1 + a102*x2 + a132*x5 + a82*x6*x8 + a172 = 0; cons7 : x3*(a13*x1 + a33*x2) +x4*(a23*x1 + a43*x2 + a123) +x7*(a53*x5 + a73*x6 + a153) +x8*(a63*x5 + a83*x6 + a163) +a93*x1 + a103*x2 + a133*x5 + a143*x6 + a173 = 0; cons8 : x3*(a14*x1 + a34*x2 + a114) +x4*(a24*x1 + a44*x2 + a124) +x7*(a54*x5 + a74*x6 + a154) +x8*(a64*x5 + a84*x6 + a164) +a94*x1 + a104*x2 + a134*x5 + a144*x6 + a174 = 0; # SYSTEME ORIGINAL # x1*(a11*x3 + a21*x4 + a91) + # x2*(a31*x3 + a41*x4 + a101) + # x5*(a51*x7 + a61*x8 + a131) + # x6*(a71*x7 + a81*x8 + a141) + # a111*x3 + a121*x4 + a151*x7 + a161*x8 + a171 = 0, # # x1*(a12*x3 + a22*x4 + a92) + # x2*(a32*x3 + a42*x4 + a102) + # x5*(a52*x7 + a62*x8 + a132) + # x6*(a72*x7 + a82*x8 + a142) + # a112*x3 + a122*x4 + a152*x7 + a162*x8 + a172 = 0, # # x1*(a13*x3 + a23*x4 + a93) + # x2*(a33*x3 + a43*x4 + a103) + # x5*(a53*x7 + a63*x8 + a133) + # x6*(a73*x7 + a83*x8 + a143) + # a113*x3 + a123*x4 + a153*x7 + a163*x8 + a173 = 0, # # x1*(a14*x3 + a24*x4 + a94) + # x2*(a34*x3 + a44*x4 + a104) + # x5*(a54*x7 + a64*x8 + a134) + # x6*(a74*x7 + a84*x8 + a144) + # a114*x3 + a124*x4 + a154*x7 + a164*x8 + a174 = 0 # solve; display x1, x2, x3, x4, x5, x6, x7, x8;