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$ (3x1 vector) and $\mathbf{R}_i$ (3x3 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$ (3x1 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.