Rigid body dynamics model
Submodule RigidBody
provides simulation algorithm for the simple rigid body spacecraft attitude dynamics. This model does not include the flexible structural appendages.
FlexibleSpacecraft.RigidBody
— Modulemodule RigidBody
module that consists variables and functions needed for the simulation of rigid body spacecraft attitude dynamics. Internal module for FlexibleSpacecraft.jl
Usage
include("RigidBody.jl")
using .RigidBody
Parameter settings for rigid body attitude dynamics
Parameter setting YAML files should be organized as follows:
property: dynamics
name: example spacecraft
note: This model is for test purpose
dynamicsmodel: Rigid body # This must be set `Rigid body`
platform:
inertia: [ # inertia matrix of the spacecraft
50000, 0, 0,
0, 50000, 0,
0, 0, 50000
]
dynamicsmodel
should be set Rigid body
to tell the software that you are using the rigid body dynamics model.
Public interfaces
FlexibleSpacecraft.RigidBody.RigidBodyModel
— Typestruct RigidBodyModel
Data container of rigid body spacecraft model. Used to specify and configure the parameter settings for simulation and control model in FlexibleSpacecraft.jl
Fields of struct RigidBodyModel
inertia::SMatrix{3, 3, <:Real}
: Inertia matrix of spacecraft platform
FlexibleSpacecraft.RigidBody.update_angularvelocity
— Functionfunction update_angularvelocity(model::RigidBodyModel, currentTime::Real, angularvelocity::Union{Vector{<:Real}, SVector{3, <:Real}}, Tsampling::Real, currentbodyframe::Frame, disturbance::Union{Vector{<:Real}, SVector{3, <:Real}})::SVector{3, <:Real}
calculate angular velocity at next time step using 4th order Runge-Kutta method