-
Notifications
You must be signed in to change notification settings - Fork 1
Home
function F_G = gravityEarth(r, m)Parameters:
| Name | Datatype | Description |
|---|---|---|
r |
Vector | Vector pointing from the earth’s center to the location of the object. |
m |
Int | Mass of the object |
Return:
| Name | Datatype | Description |
|---|---|---|
F_G |
Vector | The force acting on the object by the gravitation of the earth. |
Formular:
F = G * m * m_Earth / r^2
Reference: https://en.wikipedia.org/wiki/Newton%27s_law_of_universal_gravitation#Modern_form
function B = mFluxDesity(r, m)Parameters:
| Name | Datatype | Description |
|---|---|---|
r |
Vector | Vector pointing from the earth’s center to the location. |
m |
Vector | Magnetic dipole momentum of the magnet causing the magnetic field |
Return:
| Name | Datatype | Description |
|---|---|---|
B |
Vector | The flux-density at the location caused by the magnet. |
Formular:
B = mu_0 / (2 * PI) * ( 3 * r * (m * r) / |r|^5 - m / |r|^3 )
function F_m = magneticForces(r, m, mE)Parameters:
| Name | Datatype | Description |
|---|---|---|
r |
Vector | Vector pointing from the earth’s center to the location of the magnet. |
m |
Vector | Magnetic dipole momentum of the magnet which is watched. |
mE |
Vector | Magnetic dipole momentum of the earth. |
Return:
| Name | Datatype | Description |
|---|---|---|
F_m |
Vector | The force acting on the center of the magnet by the magnetic force of the earth. |
Formular:
rh = r / norm(r);
F_m = 3 * MU_0 /( 4* pi * (norm(r)^4)) * ( m * dot(mE, rh) + mE * dot(m,r) + rh * dot(m, mE) - 5 * rh * dot(mE, rh) * dot(m, rh))
Reference: https://en.wikipedia.org/wiki/Magnetic_moment#Forces_between_two_magnetic_dipoles
function t = magneticTorque(B, m)Parameters:
| Name | Datatype | Description |
|---|---|---|
B |
Vector | Magnetic flux desitiy at the location of the object. |
m |
Vector | Magnetic dipole moment of the magent. |
Return:
| Name | Datatype | Description |
|---|---|---|
t |
Vector | The torque acting on the the magnet by the magnetic field of the earth. |
Formular:
t = m x B
Reference: https://en.wikipedia.org/wiki/Magnetic_moment#Forces_between_two_magnetic_dipoles
function vRot = rotateVec(k, v, theta)Parameters:
| Name | Datatype | Description |
|---|---|---|
k |
Unit Vector | Unit Vector describing the rotation axis. |
v |
Vector | Vector to be rotated around k. |
theta |
Double | Rotation angle in radiands. |
Return:
| Name | Datatype | Description |
|---|---|---|
vRot |
Vector | The rotated Vector. |
Formular:
vRot = v * cos(theta) + cross(k,v) * sin(theta) + k * dot(k,v) * (1 - cos(theta))
Reference: https://en.wikipedia.org/wiki/Rodrigues%27_rotation_formula
function m = solenoidDipoleMomentum(I, A)Parameters:
| Name | Datatype | Description |
|---|---|---|
I |
Double | Current flowing through coil |
A |
Vector | Vector normal to the cross sectional area defining the magnitude |
Return:
| Name | Datatype | Description |
|---|---|---|
m |
Vector | The dipole momentum of the solenoid |
Formular:
m = COIL_TURNS * I * A * MU / MU_0
Reference: https://physics.stackexchange.com/questions/174988/magnetic-moment-of-an-iron-core-solenoid https://physics.stackexchange.com/questions/301655/dipole-moment-vector-of-solenoid-with-core?noredirect=1&lq=1
function t = magneticTorqueSAT(posSAT, dirSAT, dirNormalSAT, I_1, I_2, I_3)Parameters:
| Name | Datatype | Description |
|---|---|---|
posSAT |
Vector | Position vector to cubesat |
dirSAT |
Vector | Vector that describes the attitude of the cubesat |
dirNormalSAT |
Vector | Vector that describes the attitude of the cubesat |
I_1 |
Double | Current through solenoid 1 |
I_2 |
Double | Current through solenoid 2 |
I_3 |
Double | Current through solenoid 3 |
Return:
| Name | Datatype | Description |
|---|---|---|
t |
Vector | Resulting torque on the cubesat |
Formular:
t = magneticTorque(BSAT, magnetorquer1) + magneticTorque(BSAT, magnetorquer2) + magneticTorque(BSAT, magnetorquer3)
Reference: see above
function c = getUsablity(v, u)Parameters:
| Name | Datatype | Description |
|---|---|---|
v |
Vector | Vector to be composed |
u |
Vector | Vector describing the axis |
Return:
| Name | Datatype | Description |
|---|---|---|
c |
Scalar with c >= 0 | A measure for the ability to be controlled by the three magnetorquers |
function c = getComponent(v, u)Parameters:
| Name | Datatype | Description |
|---|---|---|
v |
Vector | Vector to be composed |
u |
Vector | Vector describing the axis |
Return:
| Name | Datatype | Description |
|---|---|---|
c |
Scalar | The Component of the vector v along axis-vector u |
function m = getDipoleMomentum(B, anglV, J)Parameters:
| Name | Datatype | Description |
|---|---|---|
B |
Vector | Vector describing the magnetic flux density at a predefined location |
anglV |
Vector | Vector describing the angular velocity of the cubesat |
J |
Matrix | Matrix-Representation of the satellite's moment of inertia |
Return:
| Name | Datatype | Description |
|---|---|---|
m |
Vector | The needed magnetic dipole moment for stabilization |
Earth Magnetic Dipole Moment:
|mEarth| ≈ 10^23 A*m²