Vision Autonomous Relative Positioning and Orientating Algorithm for DistributedMicro / Nanosatellite Earth Observation System Based on Dual Quaternion

It is a valid way to analyze the space object real-time movement by using distributed satellite earth observation system, which can provide the stereographic image through the collaboration of the satellites. That relative position and pose estimation is one of the key technologies for distributed micro/nanosatellite earth observation system (DMSEOS). In this paper, on the basis of the attitude dynamics of spacecrafts and the theory of machine vision, an autonomous positioning and orientating algorithm for distributed micro/nanosatellites based on dual quaternion and EKF (extended Kalman filtering) is proposed. Firstly, how to represent a line transform unit using dual quaternion is introduced. Then, the feature line point of the line transform unit is defined. And then, on the basis of the attitude dynamics of spacecrafts and the theory of EKF, we build the state and observation equations. Finally, the simulations show that this algorithm is an accurate valid method in positioning and orientating of distributed micro/nanosatellite earth observation system.


Introduction
Many science problems to be pondered for surveyors after Sichuan Wenchuan Earthquake, such as the anomalous variations of the terrain surface objects, can be monitored dynamically by orbital satellites to forecast earthquake disaster or weather disaster.Unfortunately, traditional earth observation method only does some post hoc analysis and cannot forecast and reduce disaster currently.
It is a novel way to improve the efficiency of earth observation or to solve some difficult space problems by network spacecraft system, which depends on the collaboration of each spacecraft of the system.In recent years, as the development of modern science and technology, new space activities in space AR&D operations, such as capturing, maintaining, assembling, and attacking, have been considered by some countries.And some material progresses, including Demonstration of Autonomous Rendezvous Technology (DART) [1], XSS11 [2], Orbital Express (OE) [3], and NASA Deep Space Network (DSN) [4] plans, have been made by the USA.However, autonomous positioning and orientating is one of the key technologies in all these space activities.As metioned above, autonomous positioning and orientating based on machine vision is a direction all over the world currently.But there are some disadvantages of some traditional algorithms, such as complicated description, huge calculation burden, and lack of real-time ability.
Fortunately, dual quaternion is introduced by Clifford [5], can represent the rigid motion of 3D objects, and can calculate the rotation and translation transformations simultaneously.So it is more effective for dealing with positioning and orientating of DMSEOS.
Because dual quaternion is used for relative orientating and positioning based on feature line transform unit, we first introduce the repretation of line enties and their motion by dual quaternion.Then, the feature line point of the line transform unit is defined.And then, on the basis of the attitude dynamics of spacecrafts and the theory of EKF, we build the state and observation equations.Finally, the simulations show that this algorithm is an accurate valid method in positioning and orientating of spacecrafts based on machine vision.

Repretation of Lines Enties and Their Motion by Dual Quaternion
According to geometric algebra theory [4], dual quaternion can be found in special 4D even subalgebra of Ξ . ( Since a rigid motion consists of the transformations rotation and translation according to Euler theorem, a simple rotor is in its Euler representation for a rotation by an angle θ: R = q 0 + q 1 e 2 e 3 + q 2 e 3 e 1 + q 3 e 1 e 2 = q 0 + q where n is the unit 3D bivector of the rotation-axis spanned by the bivector basis e 2 e 3 , e 3 e 1 , e 1 e 2 , and q 0 ,q s (s = 1, 2, 3) ∈ R.
In the dual quaternion Ξ 3,0,1 , a translation t is represented by a spinor T. Thus applying T from the left and its conjugated from the right to the R in formula (2), we can get the modified rotor: = q 0 + q + I q ∧ t . ( As we know, a 3D line l a can be represented by Plücker coordinate: Hence the Euclidean transformation of the 3D line l a by the modified rotor M can be represented: In Figure 1, l a stands for a 3D object line, and its projective line is l b .We can represent the transformation between l a and l b as formula (5).But how to calculate the translator M using image coordinates and object coordinates?In order to process the data simply, first we give a definition as follows.
Feature line point is the intersection point of the projective line l b and a perpendicular line passing through the origin O i , it is unique.
In camera frame, the projective plane, which is shown in grey, can be represented as where (m bx m by m bz ) T = m b .
From Figure 1, we can see that the projection line l b lies in either projective plane or image plane.When z C = f ( f is the focus of the camera), the equation of the projective line l b that lies in image plane can be described as Thus we can get the vector m bP containing the feature line point of l b normal to the projective plane Then the feature line point of l b coordinates is described as From formula (9), we can see that l b , m bP , and (x iP , y iP ) T are all connected with (m bx , m by , m bz ) T .How can we calculate (m bx , m by , m bz ) T from the observation values?According to [6], the related formula will be given as follows.
Consider that P 1 , P 2 are two points on l b , then where (x iP1 , y iP1 ) T , (x iP2 , y iP2 ) T are image coordinates of P 1 and P 2 , which are observation values, The correspondence points of P 1 , P 2 , are p 1 , p 2 , on 3D line l a ; hence we can represent l a and m a as follows: Thus the relation between l a and l b as in formula (5) by using the known and observation values is built.

State Equation of the Algorithm.
To solve the dynamic estimation problem based on EKF, the state equation must be built.And how to select state variable is introduced here firstly.Since the filter computation time is proportional to the number of state variables, fewer variables are desirable.Based on the approach of the references [7][8][9], thirteen variables are used.In these applications, angle velocity vector is regarded as constant.But in the application of positioning and orientating for spacecraft, relative angle velocity vector (ω AP ) b is a variable.In this paper, we can estimate (ω AP ) b in advance and consider it as an input variable of time t.In this way, the number of state variables is reduced, but also the practical problem is solved well.Thus the state variables are three relative position variables (Δx PA−O , Δy PA−O , Δz PA−O ) T , three relative velocity variables (ΔVx, ΔV y, ΔVz) T , and four relative attitude variables ΔQ = (Δq 0 , Δq 1 , , Δq 2 , Δq 3 ) T , where the vector (Δx PA−O , Δy PA−O , Δz PA−O , ΔVx, ΔV y, ΔVz) T is defined in orbital frame of target spacecraft and vector ΔQ is defined in body frame of active satellite A. However, vision positioning and orientating is based on camera frame, and we must build the relationship of the camera frame, orbital frame, and body frame with each other.This will be studied in Section 3.
As mentioned above, the state variable assignment is Without disturbances, according to [10], the nonlinear continuous equation of S is where Ω is orbital angular velocity of objective satellite P, and (ω x , ω y , ω z ) T is the vector (ω AP ) b .From formula (13), we can get the linearization matrix Φ.

Observation Equation of the Algorithm.
From formulas ( 9) and ( 12), we can see that the state variables we selected are not related with image coordinate directly.So we must build the relationship between them before observation equation is built.Hereinafter, we will talk about the transformation of (Δx PA−O , Δy PA−O , Δz PA−O ) T firstly, and then we will discuss the transformation of ΔQ.

The Transformation of (Δx
where L P−iO is the transformation matrix from orbital frame defined in target spacecraft P to its inertial frame and L P−OO is the transformation matrix from second orbital frame defined in target spacecraft P to its geocentric orbital frame.(b) Transform (Δx AP−i Δy AP−i Δz AP−i ) T from inertial frame defined in active spacecraft A to its body frame by the formulation where L A−bO is the transformation matrix from second orbital frame defined in active spacecraft A to its body frame, L A−O O is the transformation matrix from geocentric orbital frame in active spacecraft A to its second orbital frame, and L A−Oi is the transformation matrix from inertial frame defined in active spacecraft A to its geocentric orbital frame.
where M is the rotation transformation matrix (namely, attitude transformation matrix) from body frame defined in active spacecraft to camera frame and T is the translation transformation matrix from body frame defined in active spacecraft to camera frame.They can be designed or measured.

The Transformation of ΔQ.
We can translate the relative attitude M into quaternion Q Cb form according to the transformation between cosine matrix and quaternion.
And we can transform ΔQ from body frame defined in active spacecraft A to camera frame by Q Cb as follows: Thus the relationship between the state variables and observation variables is built.Obviously, formula (9) is nonlinear equation about S. And they must be linearized in visual position and pose estimation based on EKF and dual quaternion.On the basis of [8], the partial derivative of each feature line point of formula (9)  (20) From formula (5), we can reduce to m b as follows: where R M = R C R q , R C is the transformation matrix from active satellite body frame to camera and R q is the transformation matrix from passive satellite body frame to active satellite body frame: 0 + q 2 1 − q 2 2 − q 2 3 2 q 1 q 2 + q 0 q 3 2 q 3 q 1 − q 0 q 2 2 q 1 q 2 − q 0 q 3 2 q 2 q 3 + q 0 q 1 2 q 2 q 3 + q 0 q 1 2 q 3 q 1 −q 0 q 2 2 q 2 q 3 −q 0 q 1 q 2 0 +q 2 [t 1 t 2 t 3 ] T = M C [x y z] T + T, M C is the transformation matrix from passive spacecraft orbital frame to camera frame, [x y z] T are the coordinates of the active satellite center in passive satellite orbital frame, and T is the translation matrix from the active satellite center to camera origin.Thus the partial derivatives of m b with respect to each state variable can be now calculated according to formula (20), and the linearization matrix H will be gotten.

Simulations and Analyses
On the basis of the algorithm above, let the camera focus be f = 50 mm, the target spacecraft P a 4.0 m × 4.0 m × 4.0 m cube, and its body frame coordinates of feature points, respectively, {−2.25, −8.The simulation time is three orbital periods.Figures 2 and 3 are the simulation results.
It is not intuitionistic to represent the attitude results by quaternion, yet the attitude results are described as their Euler form.
From Figure 2 and Figure 3, we can see that this algorithm is convergent.Figure 2 shows that the relative position errors are within ±0.045 meters when the simulation time is before about 1000 seconds.But after 1000 seconds the relative position errors decrease and are close to zero. Figure 3 shows that relative yaw angle errors are about −1.6∼0 mrad when the simulation time is before about 400 seconds.But after 400 seconds the relative yaw angle errors decrease and are close to zero.Relative pitch error is about −0.9∼0.1 mrad before 800 seconds, but after 800 seconds the errors are within ±0. 1 mrad.Relative roll angle errors are about −0.6∼1.2 mrad before 800 seconds, but after 800 seconds the errors decrease and are within −0.2∼0 mrad.These simulation results indicate that the algorithm of this paper can meet some high precision mission in distributed earth observation system.

Conclusions
On the basis of the theories of dual quaternion, extended Kalman filtering (EKF), and the attitude dynamics of spacecraft, we put forward an autonomous positioning and orientating algorithm for micro/nanosatellite earth observation system Based on dual quaternion.The simulation results show that this algorithm is an accurate valid method in positioning and orientating of distributed satellites.In our future work, we will consider the disturbance factor of satellites in order to improve the practicability of this algorithm.

Figure 1 :
Figure 1: Relation of projective line and plane with space object frame.
PA−O , Δy PA−O , Δz PA−O ) T .(a) Transform (Δx PA−O , Δy PA−O , Δz PA−O ) T from orbital frame defined in target spacecraft P to inertial frame defined in active spacecraft A as follows: (c) Transform ( ΔxAP−b ΔyAP−b ΔzAP−b ) T from body frame defined in active spacecraft A to camera frame by the formulation as follows:

3. Visual Autonomous Positioning and Orientating Algorithm Based on Dual Quaternion for Distributed Micro/Nanosatellite Earth Observation System
− x C y C z C stands for camera frame, and O i − x i y i stands for image frame.

Table 1 :
The initial parameters of the simulations.