Results 1 to 4 of 4

Math Help - Trying to find "best" rotation matrix

  1. #1
    Newbie
    Joined
    Aug 2010
    Posts
    3

    Trying to find "best" rotation matrix

    <br />
\text{Let }A_i = <br />
\left[ \begin{array}{cc}<br />
R_i & p_i \\<br />
0 & 1\end{array}\right]<br />
\text{ where } R_i \in SO[3] \text{ , and } p_i \in R^3.<br />

    <br />
\text{Further, let } \overline{R} = <br />
\left[ \begin{array}{cc}<br />
R & 0 \\<br />
0 & 1\end{array}\right]<br />
\text{ where } R \in SO[3].<br />

    Now, given a set of A_i, I'm looking to find a least squares (or some other optimal form) of R such that

    <br />
A_i \overline{R} <br />
\left[\begin{array}{c}0 \\ -L \\ 0 \\ 1 \end{array}\right]<br />
=<br />
\left[\begin{array}{c}c_x \\ c_y \\ c_z \\ 1 \end{array}\right]<br />

    I've tried to present the mathematical description of a problem I'm facing. I have a rod that is connected to the end of a 6dof robot. The robot provides position/orientation information in the form of a homogeneous transform ( A_i). However, the orientation needs to be calibrated (hence the separate R matrix). To do so, I fix the end of the rod and trace out a sphere which provides me the position and orientation vectors that should all intersect at the center point c.

    Obviously if there were only 1 data point (i.e. 1 position vector, 1 orientation matrix, and 1 center point), the solution could (rather trivially) be determined in a unique fashion. What I'm looking for is a way to solve this in a least squares (or some other "optimal") sense. Ideas?

    My best has been to use the following (note: slightly different notation here as I'm using inhomogeneous coordinates)...

    <br />
\text{Let } A_i \in SO[3], p_i \in R^3, R \in SO^3, c \in R^3.<br />

    <br />
A_i R <br />
\left[ \begin{array}{c} 0 \\ -L \\ 0 \end{array}\right]<br />
+ p_i<br />
=<br />
c<br />

    Thus,
    <br />
R_2 = \frac{-1}{L} A_i^T (c - p_i) \text{ where } R_2 \text{ is the 2nd column of } R<br />

    I could try to take the mean over R_2 and attempt to solve for the entire matrix using the single column, but it will certainly be messy.

    EDIT: On 2nd thought, I can't solve for the matrix with only a single column
    Last edited by anon123; August 5th 2010 at 03:13 PM.
    Follow Math Help Forum on Facebook and Google+

  2. #2
    A Plied Mathematician
    Joined
    Jun 2010
    From
    CT, USA
    Posts
    6,318
    Thanks
    4
    Awards
    2
    Warning: this might be a somewhat boneheaded approach. Given the equation

    A_i \overline{R} <br />
\left[\begin{array}{c}0 \\ -L \\ 0 \\ 1 \end{array}\right]<br />
=<br />
\left[\begin{array}{c}c_x \\ c_y \\ c_z \\ 1 \end{array}\right],

    isn't it true that A_{i}, L, c_{x}, c_{y}, and c_{z} are all known? If that's the case, can't you come up with a general description of the matrix \overline{R} in terms of, say, Euler angles, and combine that matrix with

    \left[\begin{array}{c}0 \\ -L \\ 0 \\ 1 \end{array}\right],

    then solve the resulting system, and finally solve the smaller problem? It's kind of like this: Solve ABx = b by first setting y = Bx, then solve Ay = b, and then solve y = Bx. The only difference is that in your second problem, you're solving for the matrix instead of the vector.

    Any reason why this wouldn't work?
    Follow Math Help Forum on Facebook and Google+

  3. #3
    Newbie
    Joined
    Aug 2010
    Posts
    3
    If I were trying to solve for R given a single A_i and p_i, then that'd be the way to go obviously. However, I have an overdetermined system with a BUNCH of A_i and p_i. Therefore, even if I were to solve each one individually, the best I'd be able to do is to average them (which isn't exactly robust to outliers).
    Follow Math Help Forum on Facebook and Google+

  4. #4
    A Plied Mathematician
    Joined
    Jun 2010
    From
    CT, USA
    Posts
    6,318
    Thanks
    4
    Awards
    2
    Well, it's beyond me, I'm afraid. Maybe Captain Black can help you.
    Follow Math Help Forum on Facebook and Google+

Similar Math Help Forum Discussions

  1. Replies: 3
    Last Post: October 17th 2011, 02:50 PM
  2. Replies: 1
    Last Post: September 16th 2011, 01:08 AM
  3. Replies: 2
    Last Post: April 24th 2011, 07:01 AM
  4. Replies: 1
    Last Post: October 25th 2010, 04:45 AM
  5. Replies: 1
    Last Post: June 4th 2010, 10:26 PM

Search Tags


/mathhelpforum @mathhelpforum