# Satellite using rung-kutta method for 4DOF or 6DOF simulation

1. Nov 23, 2009

### shakeel001

I am working on sun earth attitude determination simulation for my satellite in MATLAB using SCT(space craft control toolbox)I have my keplerian elements for my satellite.I have some initial conditions for orbit setting or satellite is known.I need to use RK4 method for quaternion/state variables determination.How can I get initial control law values (like wx,wy,wz) where state vector is defined as x=[q(1:4) wx wy wz a1 a2 a3 b1 b2 b3] from my keplerian element or known initial conditions of satellite.

I dont know whether the following statement is true

"using six keplerian elements is 6DOF problem but for attitude determination I am only interested in quaternion which is of four variables" so should RK4 means 4DOF

any help or tutorial and explanation in this regard is highly regarded
shakeel

2. Nov 24, 2009

### D H

Staff Emeritus
1. On translational state.
One obvious solution is to convert those orbital elements into Cartesian position and velocity vectors. If you need to use orbital elements, Lagrange's Planetary Equations are a good start. However, these blow up *badly* for near-circular and near-equatorial orbits. You might want to consider Delaunay's or Hill's Planetary Equations as an alternative.

John P. Vinti, Gim J. Der, Nino L. Bonavito, "Orbital and celestial mechanics," AIAA, 1998
http://books.google.com/books?id=-d...nepage&q=lagrange planetary equations&f=false

Also see http://ccar.colorado.edu/~parkerjs/SpaceFlight/Software.html [Broken], and the references in [post=2349736]this post[/post].

2. On rotational state.
If you are doing attitude control you need a 6DOF simulation. Forces and torques.
Quaternions are nice, but they suffer (to a lesser degree) the same problem occur with using transformation matrices to represent attitude. Transformation matrices have nine elements, quaternions have four, and there are only three degrees of freedom. Quaternions, like transformation matrices, over-specify the problem.

One solution to using quaternions is to normalize after each integration step. This has some accuracy problems and (worse) does not conserve energy. Some use Lagrange multipliers in lieu of normalization.

Another approach is to use something other than quaternions. You might want to look into Rodrigues parameters or modified Rodrigues parameters.

Last edited by a moderator: May 4, 2017
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook