Attitude dynamics general
Internal implementation of the attitude dynamics model in FlesibleSpacecraft.jl
is found on src/AttitudeDynamics
.
Attitude.jl
: common features and implementation of attitude dynamicsEvaluation.jl
: evaluation features of attitude dynamicsRigidBody.jl
: rigid body dynamics model
This section provides information of Attitude.jl
. This submodule deals with the common features in the attitude dynamics calculation.
FlexibleSpacecraft.Attitude
— Modulemodule Attitude
module for functions and APIs for the attitude kinematics
functions
Base.Math.deg2rad
— MethodBase.Math.deg2rad(rotationangle::Union{SVector{3, <:Real}, Vector{<:Real})
Convert rotation angle vector in degrees to radians
Base.Math.rad2deg
— MethodBase.Math.rad2deg(rotationangle::Union{SVector{3, <:Real}, Vector{<:Real})
Convert rotation angle vector in radians to degrees
FlexibleSpacecraft.Attitude._calcdifferential_kinematics
— Method_calcdifferential_kinematics(omega::Vector, quaterion::Vector)
Get differential of quaternion from equation of kinematics
Arguments
- omega: angular velocity of system
- quaterion: current value of quaternion
Return
- differential: differential of equation of kinematics
FlexibleSpacecraft.Attitude.dcm2euler
— Methoddcm2euler(dcm::Union{SMatrix{3, 3, <:Real}, Matrix{<:Real}})::SVector{3, <:Real}
calculates z-y-x euler rotation angle from direction cosine matrix
FlexibleSpacecraft.Attitude.dcm2quaternion
— Methoddcm2quaternion(dcm::Matrix{Real})::Vector{Real}
calculate quaternion from direction cosine matrix (DCM) dcm
FlexibleSpacecraft.Attitude.euler2dcm
— Methodfunction eular2dcm(euler::Union{SVector{3, <:Real}, Vector{<:Real}})::SMatrix{3, 3, <:Real}
calculate direction cosine matrix from the vector of z-y-x eular angles.
Argument
euler::Union{SVector{3, <:Real}, Vector{<:Real}}
: each element represents the rotation with z, y, x axis, respectively
FlexibleSpacecraft.Attitude.euler2quaternion
— Methodeuler2quaternion(euler::Union{SVector{3, <:Real}, Vector{<:Real}})::SVector{4, Real}
calculates quaternion from z-y-x euler rotation angle
FlexibleSpacecraft.Attitude.quaternion2dcm
— Methodquaternion2dcm(q::Union{Vector{<:Real}, SVector{4, <:Real}})
calculates direction cosine matrix from quaternion
FlexibleSpacecraft.Attitude.quaternion2euler
— Methodquaternion2euler(quaternion::Union{Vector{<:Real}, SVector{4, <:Real}})::SVector{3, <:Real}
calculates z-y-x euler rotation angle from quaternion
FlexibleSpacecraft.Attitude.update_quaternion
— Methodfunction update_quaternion(angularvelocity, quaternion, Tsampling)::SVector{4, <:Real}
calculate quaternion at next time step using 4th order Runge-Kutta method.