Skip to main content
. 2020 Jun 22;20(12):3534. doi: 10.3390/s20123534
Algorithm 1 Joint axis estimation
Require: Data DN={yωN,yaN}, initial estimate x^(0), tolerance Vtol, residual weights wω and wa.
  • 1:

    for i∈{1,2} do

  • 2:

        k←0.                      ▹ Begin Gauss–Newton.

  • 3:

        ΔV←Vtol.

  • 4:

        V(0)←V(x^(0)).                 ▹V(x) defined by (23).

  • 5:

        while ΔV≥Vtol do

  • 6:

            Compute the Jacobian J(x^(k)) and the residuals e(x^(k)) according to (31) and (32).

  • 7:

            Δx(k)←J⊤(x^(k))J(x^(k))−1J⊤(x^(k))e(x^(k)).

  • 8:

            Obtain step length α using backtracking line search.

  • 9:

            x^(k+1)←x^(k)−αΔx(k).

  • 10:

            k←k+1.

  • 11:

            V(k)←V(x^(k)).

  • 12:

            ΔV←|V(k−1)−V(k)|.

  • 13:

        end while

  • 14:

        x^←x^(k).                     ▹ End Gauss–Newton.

  • 15:

        x^(i)=θ^1(i)ϕ^1(i)θ^2(i)ϕ^2(i)⊤←x^.

  • 16:

        x^(0)←θ^1(i)ϕ^1(i)−θ^2(i)ϕ^2(i)+π⊤.        ▹ Initialize at −j^2.

  • 17:

    end for

  • 18:

    x^←arg minx∈{x^(1),x^(2)}V(x).               ▹Correct sign pairing.

  • 19:

    return j(x^).