I have an optimization problem for this 4 bar-linkage.
Nothing is known(a,b,c,d,x,y) except The Tip of the triangle’s co-ordinate which is known for some value of phi (angle between a and d). For Example when phi is 0 Trangle tip is at (1.22,3.66) See the table below.
The system of equation I ended up with is known as Freudenstein equation:
\[CurlyPhi][\[Phi]_, a_, b_, c_, d_] := ArcSec[(2 c^2 (d - a Cos[\[Phi]]) (a^2 + d^2 - 2 a d Cos[\[Phi]]))/(c (d - a Cos[\[Phi]])^2 (a^2 - b^2 + c^2 + d^2 - 2 a d Cos[\[Phi]]) - a c \[Sqrt](-(d - a Cos[\[Phi]])^2 (a^4 + (b - c - d) (b + c - d) (b - c + d) (b + c + d) - 2 a^2 (b^2 + c^2 - 2 d^2) + 2 a d (2 (-a^2 + b^2 + c^2 - d^2) Cos[\[Phi]] + a d Cos[2 \[Phi]]))) Sin[\[Phi]])]; A[\[Phi]_, a_] := a {Cos[\[Phi]], Sin[\[Phi]]}; B[\[Phi]_, a_, b_, c_, d_] := {d - c Cos[\[CurlyPhi][\[Phi], a, b, c, d]], c Sin[\[CurlyPhi][\[Phi], a, b, c, d]]}; \[Lambda][\[Phi]_, a_, b_, c_, d_] := ArcTan @@ (B[\[Phi], a, b, c, d] - A[\[Phi], a]); W[\[Phi]_, a_, b_, c_, d_] := A[\[Phi], a] + x {Cos[\[Lambda][\[Phi], a, b, c, d] + y], Sin[\[Lambda][\[Phi], a, b, c, d] + y]};
Should look like this picture if you run the code on Mathematica
Then I run this code to get 24 equation for the triangle tip co-ordinate(see the 2nd image (phi, x, y table ))
System = W[#, a, b, c, d] & /@ {0, \[Pi]/12, \[Pi]/6, \[Pi]/4, \[Pi]/ 3, (5 \[Pi])/12, \[Pi]/2, (7 \[Pi])/12, (2 \[Pi])/3, (3 \[Pi])/ 4, (5 \[Pi])/6, (11 \[Pi])/12} // Simplify // Flatten
The problem is when I am trying to solve this using
NSolve
NSolve[System == {1.22`, 3.66`, 0.9`, 2.7`, 1.2`, 1.93`, 1.93`, 1.48`, 3.1`, 1.46`, 4.58`, 1.85`, 5.8`, 2.36`, 6.12`, 3.2`, 5.62`, 4.06`, 4.57`, 4.8`, 3.24`, 4.9`, 2.04`, 4.45`}, {x, y, a, b, c, d}, Reals]
It runs for eternity. Can any one tell me if I have any other option to solve this in Mathematica? Thanks