How do I check if these 6 equations with 6 variables are solvable?

90 Views Asked by At

I have been trying to find 3 rotational matrices of a kinematic system. I have algebraically found 6 equations connecting the 6 variables (angles) that I want to find.

The six equations I have are:

\begin{array}{c} \frac{25}{2}-\frac{6078\,\mathrm{sin}\left(t_{\textrm{0Rz}} \right)}{125}=\frac{25\,\mathrm{cos}\left(t_{\textrm{1z}} \right)}{2}+\frac{2797\,\mathrm{sin}\left(t_{\textrm{1z}} \right)}{125}\\ \frac{6078\,\mathrm{cos}\left(t_{\textrm{0Rx}} \right)\,\mathrm{cos}\left(t_{\textrm{0Rz}} \right)}{125}-\frac{3217\,\mathrm{sin}\left(t_{\textrm{0Rx}} \right)}{250}-71=\frac{25\,\mathrm{cos}\left(t_{\textrm{1x}} \right)\,\mathrm{sin}\left(t_{\textrm{1z}} \right)}{2}-\frac{2797\,\mathrm{cos}\left(t_{\textrm{1x}} \right)\,\mathrm{cos}\left(t_{\textrm{1z}} \right)}{125}-\frac{3217\,\mathrm{sin}\left(t_{\textrm{1x}} \right)}{250}\\ \frac{3217\,\mathrm{cos}\left(t_{\textrm{0Rx}} \right)}{250}+\frac{6078\,\mathrm{cos}\left(t_{\textrm{0Rz}} \right)\,\mathrm{sin}\left(t_{\textrm{0Rx}} \right)}{125}=\frac{3217\,\mathrm{cos}\left(t_{\textrm{1x}} \right)}{250}-\frac{2797\,\mathrm{cos}\left(t_{\textrm{1z}} \right)\,\mathrm{sin}\left(t_{\textrm{1x}} \right)}{125}+\frac{25\,\mathrm{sin}\left(t_{\textrm{1x}} \right)\,\mathrm{sin}\left(t_{\textrm{1z}} \right)}{2} \end{array} \begin{array}{c} -\frac{6078\,\mathrm{sin}\left(t_{\textrm{0Lz}} \right)}{125}-\frac{25}{2}=\frac{2797\,\mathrm{sin}\left(t_{\textrm{1z}} \right)}{125}-\frac{25\,\mathrm{cos}\left(t_{\textrm{1z}} \right)}{2}\\ \frac{6078\,\mathrm{cos}\left(t_{\textrm{0Lx}} \right)\,\mathrm{cos}\left(t_{\textrm{0Lz}} \right)}{125}-\frac{3217\,\mathrm{sin}\left(t_{\textrm{0Lx}} \right)}{250}-71=-\frac{3217\,\mathrm{sin}\left(t_{\textrm{1x}} \right)}{250}-\frac{2797\,\mathrm{cos}\left(t_{\textrm{1x}} \right)\,\mathrm{cos}\left(t_{\textrm{1z}} \right)}{125}-\frac{25\,\mathrm{cos}\left(t_{\textrm{1x}} \right)\,\mathrm{sin}\left(t_{\textrm{1z}} \right)}{2}\\ \frac{3217\,\mathrm{cos}\left(t_{\textrm{0Lx}} \right)}{250}+\frac{6078\,\mathrm{cos}\left(t_{\textrm{0Lz}} \right)\,\mathrm{sin}\left(t_{\textrm{0Lx}} \right)}{125}=\frac{3217\,\mathrm{cos}\left(t_{\textrm{1x}} \right)}{250}-\frac{2797\,\mathrm{cos}\left(t_{\textrm{1z}} \right)\,\mathrm{sin}\left(t_{\textrm{1x}} \right)}{125}-\frac{25\,\mathrm{sin}\left(t_{\textrm{1x}} \right)\,\mathrm{sin}\left(t_{\textrm{1z}} \right)}{2} \end{array}

I would like to get the solutions for the 6 "t".

I have attempted to solve this using the MATLAB solve and vpasolve, but it returns only the symbolic variables.

Is this actually solvable? What are the ways that I can tell?

I am clearly misunderstanding something, and would really appreciate some help! Thanks.

1

There are 1 best solutions below

0
On

Set:

$$ \begin{aligned} & a = \cos(t_{0Lx}), \quad \quad b = \sin(t_{0Lx}), \quad \quad a^2 + b^2 = 1\,; \\ & c = \cos(t_{0Lz}), \quad \quad d = \sin(t_{0Lz}), \quad \quad c^2 + d^2 = 1\,; \\ & e = \cos(t_{0Rx}), \quad \quad f = \sin(t_{0Rx}), \quad \quad e^2 + f^2 = 1\,; \\ & g = \cos(t_{0Rz}), \quad \quad h = \sin(t_{0Rz}), \quad \quad g^2 + h^2 = 1\,; \\ & k = \cos(t_{1x}), \quad \quad \;\, l = \sin(t_{1x}), \quad \quad \;\; k^2 + l^2 = 1\,; \\ & m = \cos(t_{1z}), \quad \quad \; n = \sin(t_{1z}), \quad \quad \;\, m^2 + n^2 = 1\,; \\ \end{aligned} $$

it can be reduced to a system of 12 polynomial equations and this allow us to determine all the complex solutions by implementing an appropriate numerical method (read here). Obviously, if we have a software equipped with a respectable CAS system (mainly Mathematica, Maple and MatLab) everything will be simpler and in lucky cases we could even get an exact solution.

Specifically, I tried in Mathematica by writing:

eqns = {25/2 - 6078/125 h == 25/2 m + 2797/125 n,
        6078/125 e g - 3217/250 f - 71 == 25/2 k n - 2797/125 k m - 3217/250 l,
        3217/250 e + 6078/125 g f == 3217/250 k - 2797/125 m l + 25/2 l n,
        -6078/125 d - 25/2 == 2797/125 n - 25/2 m,
        6078/125 a c - 3217/250 b - 71 == -3217/250 l - 2797/125 k m - 25/2 k n,
        3217/250 a + 6078/125 c b == 3217/250 k - 2797/125 m l - 25/2 l n,
        a^2 + b^2 == 1, c^2 + d^2 == 1, e^2 + f^2 == 1,
        g^2 + h^2 == 1, k^2 + l^2 == 1, m^2 + n^2 == 1};

sol = Solve[eqns, Reals];

Simplify[{t0Lx -> ArcTan[a, b], t0Lz -> ArcTan[c, d],
          t0Rx -> ArcTan[e, f], t0Rz -> ArcTan[g, h],
          t1x -> ArcTan[k, l], t1z -> ArcTan[m, n]} /. sol]

and in a moment we get 8 real exact solutions. If it hadn't been possible to get them exact, it would have been enough to use NSolve[] to approximate them, however being careful to adjust WorkingPrecision -> 10 ...