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

Authors: Kezhao Li
Journal: International Journal of Navigation and Observation
 (2010)

---

## Abstract

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.


---

## Body

## 1. 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.


## 2. 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 Ξ3,0,1 and is spanned by the following basis(1)l︸scalare2e3,e3e1,e1e2,e4e1,e4e2,e4e3︸6bivectorsI︸unitpseudoscalar.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θ:(2)R=q0+q1e2e3+q2e3e1+q3e1e2=q0+q=cos⁡(θ2)+sin(θ2)n=q0+qsn,
where n is the unit 3D bivector of the rotation-axis spanned by the bivector basis e2e3, e3e1, e1e2, and q0,qs(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:(3)M=TRT*=(1+It2)(q0+q)(1-It2)=q0+q+I(q∧t).As we know, a 3D linela can be represented by Plücker coordinate:(4)l̆a=la+εma.Hence the Euclidean transformation of the 3D linela by the modified rotor M can be represented:(5)l̆b=lb+εmb=Ml̆aM*


## 3. Visual Autonomous Positioning and Orientating Algorithm Based on Dual Quaternion for Distributed Micro/Nanosatellite Earth Observation System

### 3.1. Camera Modelling and the Relation with Object Frame

Figure1 shows the relation of projective line and projective plane with space object frame. OW-xWyWzW stands for object frame, that is, body frame of object satellite in this paper, OC-xCyCzC stands for camera frame, and Oi-xiyi stands for image frame.Figure 1
Relation of projective line and plane with space object frame.In Figure1, la stands for a 3D object line, and its projective line is lb. We can represent the transformation between la and lb 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 linelb and a perpendicular line passing through the origin Oi, it is unique.In camera frame, the projective plane, which is shown in grey, can be represented as(6)mbxxC+mbyyC+mbzzC=0,
where (mbxmbymbz)T=mb.From Figure1, we can see that the projection line lb lies in either projective plane or image plane. When zC=f (f is the focus of the camera), the equation of the projective line lb that lies in image plane can be described as(7)mbxxi+mbyyi+mbzf=0.Thus we can get the vectormbP containing the feature line point of lb normal to the projective plane(8)mbP=fmbx2+mby2[mbxmbymbz]T.Then the feature line point oflb coordinates is described as(9)xiP=-fmbxmbzmbx2+mby2,yiP=-fmbymbzmbx2+mby2.From formula (9), we can see that lb, mbP, and (xiP,yiP)T are all connected with (mbx,mby,mbz)T. How can we calculate (mbx,mby,mbz)T from the observation values? According to [6], the related formula will be given as follows.Consider thatP1,P2 are two points on lb, then(10)mbx=yiP2-yiP1k,mby=xiP1-xiP2k,mbz=yiP1xiP2-xiP1yiP2fk,
where (xiP1,yiP1)T, (xiP2,yiP2)T are image coordinates of P1 and P2, which are observation values, k=[(yiP2-yiP1)2+(xiP1-xiP2)2+(yiP1xiP2-xiP1yiP2)2/f2]1/2 and mbx2+mby2+mbz2=1 is a constraint condition.The correspondence points ofP1,P2, are p1,p2, on 3D line la; hence we can represent la and ma as follows:(11)la=p1p2¯=OWp2¯-OWp1,¯ma=OWp2¯×OWp1¯.Thus the relation betweenla and lb as in formula (5) by using the known and observation values is built.


### 3.2. 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–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 (ΔxPA-O′,ΔyPA-O′,ΔzPA-O′)T, three relative velocity variables (ΔVx,ΔVy,ΔVz)T, and four relative attitude variables ΔQ=(Δq0,Δq1,,Δq2,Δq3)T, where the vector (ΔxPA-O′,ΔyPA-O′,ΔzPA-O′,ΔVx,ΔVy,Δ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(12)S=(ΔxPA-O′,ΔyPA-O′,ΔzPA-O′,ΔVx,ΔVy,ΔVz,Δq0,Δq1,Δq2,Δq3)T.
Without disturbances, according to [10], the nonlinear continuous  equation of S is(13)f(S)=12[A00W]S,
where(14)A=[000200000020000002000004Ω0-2Ω20000006Ω2-4Ω00],W=[0-ωx-ωy-ωzωx0ωz-ωyωy-ωz0ωxωzωy-ωx0],Ω 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 Φ.


### 3.3. 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 (ΔxPA-O′,ΔyPA-O′,ΔzPA-O′)T firstly, and then we will discuss the transformation of ΔQ.


#### 3.3.1. The Transformation of(ΔxPA-O′,ΔyPA-O′,ΔzPA-O′)T

(a) Transform(ΔxPA-O′,ΔyPA-O′,ΔzPA-O′)T from orbital frame defined in target spacecraft P to inertial frame defined in active spacecraft A as follows:(15)[ΔxAP-iΔyAP-iΔzAP-i]=-[ΔxPA-iΔyPA-iΔzPA-i]=-LP-iOLP-OO′[ΔxPA-O′ΔxPA-O′ΔxPA-O′],
where LP-iO is the transformation matrix from orbital frame defined in target spacecraft P to its inertial frame and LP-OO′ is the transformation matrix from second orbital frame defined in target spacecraft P to its geocentric orbital frame.(b) Transform(ΔxAP-iΔyAP-iΔzAP-i)T from inertial frame defined in active spacecraft A to its body frame by the formulation(16)[ΔxAP-bΔyAP-bΔzAP-b]=LA-bO′LA-O′OLA-Oi[ΔxAP-iΔyAP-iΔzAP-i],
where LA-bO′ is the transformation matrix from second orbital frame defined in active spacecraft A to its body frame, LA-O′O is the transformation matrix from geocentric orbital frame in active spacecraft A to its second orbital frame, and LA-Oi is the transformation matrix from inertial frame defined in active spacecraft A to its geocentric orbital frame.(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:
(17)[ΔxAP-CΔyAP-CΔzAP-C]=M[ΔxAP-bΔyAP-bΔzAP-b]+T,
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.


#### 3.3.2. The Transformation ofΔQ

We can translate the relative attitudeM into quaternion QCb form according to the transformation between cosine matrix and quaternion. (18)QCb=(qCb-0qCb-1qCb-2qCb-3)T.And we can transformΔQ from body frame defined in active spacecraft A to camera frame by QCb as follows:(19)ΔQCP=(qCP-0qCP-1qCP-2qCP-3)T=ΔQ∘QCb.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) need to be computed as follows:(20)∂xiP∂S=∂xiP∂mbx∂mbx∂S+∂xiP∂mby∂mby∂S+∂xiP∂mbz∂mbz∂S,∂yiP∂S=∂yiP∂mbx∂mbx∂S+∂yiP∂mby∂mby∂S+∂yiP∂mbz∂mbz∂S.From formula (5), we can reduce to mb as follows:(21)mb=RMma+12Mt,t*RMla,whereRM=RCRq, RC is the transformation matrix from active satellite body frame to camera and Rq is the transformation matrix from passive satellite body frame to active satellite body frame:(22)Rq=[q02+q12-q22-q322(q1q2+q0q3)2(q3q1-q0q2)2(q1q2-q0q3)2(q2q3+q0q1)2(q2q3+q0q1)2(q3q1-q0q2)2(q2q3-q0q1)q02+q12-q22-q32]Mt,t*=2[000000-t3t20t30-t10-t2t10],[t1t2t3]T=MC[xyz]T+T, MC is the transformation matrix from passive spacecraft orbital frame to camera frame, [xyz]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 ofmb with respect to each state variable can be now calculated according to formula (20), and the linearization matrix H will be gotten.


## 3.1. Camera Modelling and the Relation with Object Frame

Figure1 shows the relation of projective line and projective plane with space object frame. OW-xWyWzW stands for object frame, that is, body frame of object satellite in this paper, OC-xCyCzC stands for camera frame, and Oi-xiyi stands for image frame.Figure 1
Relation of projective line and plane with space object frame.In Figure1, la stands for a 3D object line, and its projective line is lb. We can represent the transformation between la and lb 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 linelb and a perpendicular line passing through the origin Oi, it is unique.In camera frame, the projective plane, which is shown in grey, can be represented as(6)mbxxC+mbyyC+mbzzC=0,
where (mbxmbymbz)T=mb.From Figure1, we can see that the projection line lb lies in either projective plane or image plane. When zC=f (f is the focus of the camera), the equation of the projective line lb that lies in image plane can be described as(7)mbxxi+mbyyi+mbzf=0.Thus we can get the vectormbP containing the feature line point of lb normal to the projective plane(8)mbP=fmbx2+mby2[mbxmbymbz]T.Then the feature line point oflb coordinates is described as(9)xiP=-fmbxmbzmbx2+mby2,yiP=-fmbymbzmbx2+mby2.From formula (9), we can see that lb, mbP, and (xiP,yiP)T are all connected with (mbx,mby,mbz)T. How can we calculate (mbx,mby,mbz)T from the observation values? According to [6], the related formula will be given as follows.Consider thatP1,P2 are two points on lb, then(10)mbx=yiP2-yiP1k,mby=xiP1-xiP2k,mbz=yiP1xiP2-xiP1yiP2fk,
where (xiP1,yiP1)T, (xiP2,yiP2)T are image coordinates of P1 and P2, which are observation values, k=[(yiP2-yiP1)2+(xiP1-xiP2)2+(yiP1xiP2-xiP1yiP2)2/f2]1/2 and mbx2+mby2+mbz2=1 is a constraint condition.The correspondence points ofP1,P2, are p1,p2, on 3D line la; hence we can represent la and ma as follows:(11)la=p1p2¯=OWp2¯-OWp1,¯ma=OWp2¯×OWp1¯.Thus the relation betweenla and lb as in formula (5) by using the known and observation values is built.


## 3.2. 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–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 (ΔxPA-O′,ΔyPA-O′,ΔzPA-O′)T, three relative velocity variables (ΔVx,ΔVy,ΔVz)T, and four relative attitude variables ΔQ=(Δq0,Δq1,,Δq2,Δq3)T, where the vector (ΔxPA-O′,ΔyPA-O′,ΔzPA-O′,ΔVx,ΔVy,Δ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(12)S=(ΔxPA-O′,ΔyPA-O′,ΔzPA-O′,ΔVx,ΔVy,ΔVz,Δq0,Δq1,Δq2,Δq3)T.
Without disturbances, according to [10], the nonlinear continuous  equation of S is(13)f(S)=12[A00W]S,
where(14)A=[000200000020000002000004Ω0-2Ω20000006Ω2-4Ω00],W=[0-ωx-ωy-ωzωx0ωz-ωyωy-ωz0ωxωzωy-ωx0],Ω 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 Φ.


## 3.3. 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 (ΔxPA-O′,ΔyPA-O′,ΔzPA-O′)T firstly, and then we will discuss the transformation of ΔQ.


### 3.3.1. The Transformation of(ΔxPA-O′,ΔyPA-O′,ΔzPA-O′)T

(a) Transform(ΔxPA-O′,ΔyPA-O′,ΔzPA-O′)T from orbital frame defined in target spacecraft P to inertial frame defined in active spacecraft A as follows:(15)[ΔxAP-iΔyAP-iΔzAP-i]=-[ΔxPA-iΔyPA-iΔzPA-i]=-LP-iOLP-OO′[ΔxPA-O′ΔxPA-O′ΔxPA-O′],
where LP-iO is the transformation matrix from orbital frame defined in target spacecraft P to its inertial frame and LP-OO′ is the transformation matrix from second orbital frame defined in target spacecraft P to its geocentric orbital frame.(b) Transform(ΔxAP-iΔyAP-iΔzAP-i)T from inertial frame defined in active spacecraft A to its body frame by the formulation(16)[ΔxAP-bΔyAP-bΔzAP-b]=LA-bO′LA-O′OLA-Oi[ΔxAP-iΔyAP-iΔzAP-i],
where LA-bO′ is the transformation matrix from second orbital frame defined in active spacecraft A to its body frame, LA-O′O is the transformation matrix from geocentric orbital frame in active spacecraft A to its second orbital frame, and LA-Oi is the transformation matrix from inertial frame defined in active spacecraft A to its geocentric orbital frame.(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:
(17)[ΔxAP-CΔyAP-CΔzAP-C]=M[ΔxAP-bΔyAP-bΔzAP-b]+T,
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.


### 3.3.2. The Transformation ofΔQ

We can translate the relative attitudeM into quaternion QCb form according to the transformation between cosine matrix and quaternion. (18)QCb=(qCb-0qCb-1qCb-2qCb-3)T.And we can transformΔQ from body frame defined in active spacecraft A to camera frame by QCb as follows:(19)ΔQCP=(qCP-0qCP-1qCP-2qCP-3)T=ΔQ∘QCb.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) need to be computed as follows:(20)∂xiP∂S=∂xiP∂mbx∂mbx∂S+∂xiP∂mby∂mby∂S+∂xiP∂mbz∂mbz∂S,∂yiP∂S=∂yiP∂mbx∂mbx∂S+∂yiP∂mby∂mby∂S+∂yiP∂mbz∂mbz∂S.From formula (5), we can reduce to mb as follows:(21)mb=RMma+12Mt,t*RMla,whereRM=RCRq, RC is the transformation matrix from active satellite body frame to camera and Rq is the transformation matrix from passive satellite body frame to active satellite body frame:(22)Rq=[q02+q12-q22-q322(q1q2+q0q3)2(q3q1-q0q2)2(q1q2-q0q3)2(q2q3+q0q1)2(q2q3+q0q1)2(q3q1-q0q2)2(q2q3-q0q1)q02+q12-q22-q32]Mt,t*=2[000000-t3t20t30-t10-t2t10],[t1t2t3]T=MC[xyz]T+T, MC is the transformation matrix from passive spacecraft orbital frame to camera frame, [xyz]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 ofmb with respect to each state variable can be now calculated according to formula (20), and the linearization matrix H will be gotten.


## 3.3.1. The Transformation of(ΔxPA-O′,ΔyPA-O′,ΔzPA-O′)T

(a) Transform(ΔxPA-O′,ΔyPA-O′,ΔzPA-O′)T from orbital frame defined in target spacecraft P to inertial frame defined in active spacecraft A as follows:(15)[ΔxAP-iΔyAP-iΔzAP-i]=-[ΔxPA-iΔyPA-iΔzPA-i]=-LP-iOLP-OO′[ΔxPA-O′ΔxPA-O′ΔxPA-O′],
where LP-iO is the transformation matrix from orbital frame defined in target spacecraft P to its inertial frame and LP-OO′ is the transformation matrix from second orbital frame defined in target spacecraft P to its geocentric orbital frame.(b) Transform(ΔxAP-iΔyAP-iΔzAP-i)T from inertial frame defined in active spacecraft A to its body frame by the formulation(16)[ΔxAP-bΔyAP-bΔzAP-b]=LA-bO′LA-O′OLA-Oi[ΔxAP-iΔyAP-iΔzAP-i],
where LA-bO′ is the transformation matrix from second orbital frame defined in active spacecraft A to its body frame, LA-O′O is the transformation matrix from geocentric orbital frame in active spacecraft A to its second orbital frame, and LA-Oi is the transformation matrix from inertial frame defined in active spacecraft A to its geocentric orbital frame.(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:
(17)[ΔxAP-CΔyAP-CΔzAP-C]=M[ΔxAP-bΔyAP-bΔzAP-b]+T,
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.


## 3.3.2. The Transformation ofΔQ

We can translate the relative attitudeM into quaternion QCb form according to the transformation between cosine matrix and quaternion. (18)QCb=(qCb-0qCb-1qCb-2qCb-3)T.And we can transformΔQ from body frame defined in active spacecraft A to camera frame by QCb as follows:(19)ΔQCP=(qCP-0qCP-1qCP-2qCP-3)T=ΔQ∘QCb.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) need to be computed as follows:(20)∂xiP∂S=∂xiP∂mbx∂mbx∂S+∂xiP∂mby∂mby∂S+∂xiP∂mbz∂mbz∂S,∂yiP∂S=∂yiP∂mbx∂mbx∂S+∂yiP∂mby∂mby∂S+∂yiP∂mbz∂mbz∂S.From formula (5), we can reduce to mb as follows:(21)mb=RMma+12Mt,t*RMla,whereRM=RCRq, RC is the transformation matrix from active satellite body frame to camera and Rq is the transformation matrix from passive satellite body frame to active satellite body frame:(22)Rq=[q02+q12-q22-q322(q1q2+q0q3)2(q3q1-q0q2)2(q1q2-q0q3)2(q2q3+q0q1)2(q2q3+q0q1)2(q3q1-q0q2)2(q2q3-q0q1)q02+q12-q22-q32]Mt,t*=2[000000-t3t20t30-t10-t2t10],[t1t2t3]T=MC[xyz]T+T, MC is the transformation matrix from passive spacecraft orbital frame to camera frame, [xyz]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 ofmb with respect to each state variable can be now calculated according to formula (20), and the linearization matrix H will be gotten.


## 4. Simulations and Analyses

On the basis of the algorithm above, let the camera focus bef=50 mm, the target spacecraft P a 4.0m×4.0m×4.0m cube, and its body frame coordinates of feature points, respectively, {-2.25,-8.5,2.25}, {-2.25,-7.8,-2.25}, {-2.25,9,2.25}, {-2.25,7.8,-2.25}, {-2.25,6.0,-2.25}, {1.25,7.6,2.25}, {2.25,-9,2.25}, and {2.25,8.9,2.25}. Table 1 lists the initial parameters of the simulations. The simulation time is three orbital periods. Figures 2 and 3 are the simulation results.Table 1
The initial parameters of the simulations.
Active spacecraft ATarget spacecraft BInitial parametersAscending node/deg0.00.0x/m0.0Inclination of orbit/deg57.557.5y/m0.0Argument of perigee/deg0.00.0z/m7.0505710682868Eccentricity0.0000010Vx/(m/s)0.0150364992Semimajor axis/km7051.0047051.004Vy/(m/s)0.0000007894Time of perigee passage/s00.0Vz/(m/s)0.0Yaw/deg0.50.5q01Pitch/deg0.20.2q10Roll/deg0.40.5q20Yaw angle velocity/(deg/s)5×10-75×10-7q30Pitch angle5×10-75×10-7Wx/(deg/s)−0.000000000864246Velocity/(deg/s)Wy/(deg/s)0.000000000876427Roll angle velocity/(deg/s)5×10-75×10-7Wx/(deg/s)−0.000000000010665Relative position errors.
(a)(b)(c)Relative attitude errors.
(a)(b)(c)It is not intuitionistic to represent the attitude results by quaternion, yet the attitude results are described as their Euler form.From Figure2 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.


## 5. 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.



---

*Source: 172679-2011-01-20.xml*