[Math] Systems of polynomial equations

groebner-basespolynomialsroot-systems

Hi all,

I'm an engineer assigned to determine some parameters of a manipulator (ie., calibration). It has a number of parameters, but after some manipulations of its dynamic equations, I can have the following equations:

$\mathbf{l}_i^T \mathbf{R}_x \mathbf{R}_i \mathbf{p} = 0$ with $i=0,..,N$ (1)

where $\mathbf{l}_i$ (3×1 vector) and $\mathbf{R}_i$ (3×3 vector) can be measured and computed using external devices. $\mathbf{R}_x$ and $\mathbf{p}$ are the ones that I have to determine. $\mathbf{R}_x$ is a unitary matrix (actually some rotation matrix with 3 degrees of freedom). $\mathbf{p}$ is fixed and is some linear transform of some other parameters. Further isolating $\mathbf{R}_x$, I can get the following system:

$[(\mathbf{R}^T_0 \mathbf{R}^T_x \mathbf{l}_0) \times (\mathbf{R}_1^T\mathbf{R}_x^T\mathbf{l}_1)] . \mathbf{R}_k^T \mathbf{R}_x^T \mathbf{l}_k = 0$ (2) where $k=2,..,N$
with $\times$ denotes cross product and $.$ denotes dot product. $N$ is the number of measurements.

At this point, I'm not sure how to solve this system of equations. The reason that I chose to isolate $\mathbf{R}_x$ because once it is found, I can find other parameters using a large but doable linear system. My questions are:

1) Is it possible to solve the system (2)? Any idea to analytical or numerical solutions is highly appreciated.
The problem is not trivial at all. For example, if I limit $\mathbf{R}_x$ to one degree of freedom (DOG), and set it to become $\mathbf{R}_x$ = [cos(a) -sin(a) 0; sin(a) cos(a) 0; 0 0 1] (Matlab notation), then I will have an equation with $\cos(a)^3, \sin(a)^3, \cos(a)^2\sin(a), \dots$ terms with $N=3$. If I use $x=\cos(a)$ and $y=\sin(a)$ with constraint $x^2 + y^2 = 1$, then I have a system of polynomial equations, as titled.
That simplified system is somehow doable but no way trivial. And that is for 1 DOG only. It'll get much worse for all 3 DOGs altogether.

2) Since $\mathbf{l}_i$ (3×1 vector) and $\mathbf{R}_i$ are measured, it can have measurement noises. If the system is linear, the way is to find least square, but I'm not sure about this. Any theory to deal with this case?

3) Can Groebner basis theory be useful in my case?
When I searched for a solution for question 1 above, it seems helpful as shown in http://www.scholarpedia.org/article/Groebner_basis#Robotics
However, further reading indicates that it may not be stable with measurement noises, floating point, etc. I'm not sure it's worth my time and effort to study the theory, given that I have a deadline. In addition, learning such advanced math theory by myself can be very difficult, if not impossible. Please advise.

Thank you very much.

Best Answer

I won't be able to answer your question entirely, but I hope these remarks can be useful.

  1. I believe your problem could be tractable using Groebner bases: I remember a seminar talk from the late 1990's by Laureano Gonzalez-Vega where he solved an electrical engineering problem a colleague had asked by precisely that kind of trick: turning sines and cosines into a polynomial system with the sum of squares equals 1 constraint.

  2. Though I don't remember all the details, I think his problem was simpler. But both computers and algorithms have improved noticeably in the past 10 years, hence my guarded optimism.

  3. I briefly looked around for any written reference from that specific work, and I could not find anything. It's highly likely the detailed solution was never published. In the meantime, chapters 1 and 2 of Some Tapas of Computer Algebra might be useful get an idea about polynomial system solving.

  4. The topic is technical. You mention investing time in learning the theory, but what I learned from the people I know who solve polynomial systems for a living is that learning the theory is not the hardest or more time intensive: solving is an art as well as a science, and experience counts for a lot. There are ways of recasting a problem that can turn it from too hard to feasible, and veterans of the subject have a knack for seeing those. I don't know what kind of deadline you are working with, but that will not make matters easier.

  5. Related to my previous point: all the examples I know of successful applications of Groebner bases to (hard) engineering problems have involved a close collaboration between specialists in the field of engineering in question and polynomial system solving experts. The good news is that those symbolic computation experts who have a real interest in engineering applications are always looking for new examples and new challenges, so you might be able to interest one of them in your problem.

OK, so I'm offering a lot of words and not a lot of solutions; I hope this is somewhat helpful nonetheless.

Related Question