Question: how to solve this system?

updated:
P := evalm(p2 + c*vector([cos(q1+q2+q3), sin(q1+q2+q3)]));
 
restart:
with(Groebner):
p1 := vector([a*cos(q1), a*sin(q1)]);
p2 := evalm(p1 + b*vector([cos(q1+q2), sin(q1+q2)]));
P := evalm(p2 + c*vector([cos(q1+q2+q3), sin(q1+q2+q3)]));
Pe := map(expand, P);
A := {cos(q1) = c1, sin(q1) =s1, cos(q2)=c2, sin(q2)=s2, cos(q3)=c3, sin(q3)=s3};
P := subs(A, op(Pe));
F1 := [x - P[1], y - P[2], s1^2+c1^2-1, s2^2+c2^2-1, s3^2+c3^2-1 ];
F2 := subs({a=1, b=1, c=1}, F1);
 
g2 := Basis(F2, plex(c3, s3, c2, s2, c1, s1));
LeadingTerm(g2[1], plex(c3, s3, c2, s2, c1, s1));
LeadingTerm(g2[2], plex(c3, s3, c2, s2, c1, s1));
LeadingTerm(g2[3], plex(c3, s3, c2, s2, c1, s1));
LeadingTerm(g2[4], plex(c3, s3, c2, s2, c1, s1));
LeadingTerm(g2[5], plex(c3, s3, c2, s2, c1, s1));
LeadingTerm(g2[6], plex(c3, s3, c2, s2, c1, s1));
LeadingTerm(g2[7], plex(c3, s3, c2, s2, c1, s1));
LeadingTerm(g2[8], plex(c3, s3, c2, s2, c1, s1));
LeadingTerm(g2[9], plex(c3, s3, c2, s2, c1, s1));
 
                                   1, c1
                               2       2    2   2
                           16 y  + 16 x , s1  s2
                                           2
                                 8 x, c1 s2
                                2      2    2  
                             2 y  + 2 x , s1  c2
                                 2 x, c1 c2
                            3            2        
                         2 x  - 2 x + 2 y  x, s2 c2
                                        2
                                   1, c2
                                   2 x, s3
                                    2, c3
originally i think
g2[1], g2[7], g2[9] have single variables c1, c2, c3 respectively
can be used to solve system
 
but without x and y, these equations can not be used
if choose leading term has x and y , but there is no single variable s1 or c1.
 
originally expect solve as follows
g2spec := subs({x=1, y=1/2}, [g2[3],g2[5],g2[6]]);
S1 := [solve([g2spec[1]])];
q1a := evalf(arccos(S1[1]));
q1b := evalf(arccos(S1[2]));
S2 := [solve(subs(s1=S1[1], g2spec[2])), solve(subs(s1=S1[2], g2spec[2])) ];
q2a := evalf(arccos(S2[1]));
q2b := evalf(arccos(S2[2]));
S3 := [solve(subs(s1=S2[1], g2spec[2])), solve(subs(s1=S2[2], g2spec[2])) ];
q2a := evalf(arccos(S3[1]));
q2b := evalf(arccos(S3[2]));
 
Please Wait...