AttSim (Satellites)
Set values and run the Attitude Simulator
Syntax
AttSim <SatObjectPath> {AttSimOption} <Parameters>
Description
The AttSim Connect command provides the means to define one or more integrated attitude segments for a satellite.
Valid values for {AttSimOption} are:
{AttSimOption} | <Parameters> | Description |
---|---|---|
Run | "<OutputAttFile>" [UseForAttitude] | Run the Attitude Simulator, placing the resulting attitude in the file specified by "<OutputAttFile>". The file should have the .a extension. If "<OutputAttFile>" is just a filename without a path, the file will be saved in your default database directory. If you include the UseForAttitude keyword, the simulated attitude will automatically be inserted into the satellite's attitude profile, overriding any existing basic or targeted attitude for the specified time period. |
Times | {TimeInterval} [{EpochTime}] | Use Times to define a time period shorter than that defined for the satellite.
The EpochTime will normally coincide with the Start Time. Otherwise, the program will integrate (forward or backward, as appropriate) without saving until it reaches the Start Time; then it will integrate forward and save.
For valid {TimeInterval} and {EpochTime} values, see Time Options. |
InitCond | {InitOption} [<Parameters>] | Set the initial conditions for an attitude simulation. {InitOptions} and [<Parameters>] are outlined below. |
Integrator | "{IntegratorName}" <Parameters> | Specify an integrator. {IntegratorNames} and [<Parameters>] are outlined below. |
Advanced | {AdvancedOption} <Parameters> | Set advanced run options. {AdvancedOptions} and [<Parameters>] are outlined below. |
Environment | "{ModelName}" <Parameters> | Set parameters for the atmospheric density model to be used. "{ModelName}" and <Parameters> are outlined below. |
Config | {FileList} <Parameters> | Set initialization, simulation, and post-processing files and parameters regarding their use by the simulator. {FileList} and <Parameters> are outlined below. |
InitCond
If {AttSimOption} is InitCond; valid values for {InitOption} and their associated [<Parameters>] are:
{InitOption} | [<Parameters>] | Description |
---|---|---|
FromCurrent | N/A | Set the initial conditions for an attitude simulation using values from the satellite specified in the <SatObjectPath>. |
FixedRates | <wx> <wy> <wz> | Set the initial conditions for an attitude simulation by specifying the initial angular velocity rates about the satellite's X, Y, and Z axes. Enter <wx> <wy> <wz> in deg/sec. |
Quaternion | <q1> <q2> <q3> <q4> | Set the initial conditions for an attitude simulation using quaternion coordinates. |
Euler | <euler1> <euler2> <euler3> {Sequence} | Set the initial conditions for an attitude simulation using an euler angle. Enter <euler1> <euler2> <euler3> in degrees. {Sequence} is 121, 123, 131, 132, 212, 213, 231, 232, 312, 313, 321, or 323. |
YPR | <yaw> <pitch> <roll> {Sequence} | Set the initial conditions for an attitude simulation using YPR coordinates. {Sequence} is RPY, RYP, PRY, PYR, YRP, or YPR.
Similarly to Euler angles, YPR angles specify attitude using three rotations in a chosen sequence: the rotation about the reference X axis is called roll (R), the rotation about the reference Y axis is called pitch (P), and the rotation about the reference Z axis is called yaw (Y). Sequences are identified using either numbers (1 is the X axis, 2 is the Y axis, 3 is the Z axis) or letters (R is the X axis, P is the Y axis, Y is the Z axis). Unlike Euler angles, the rotations are not made about axes defined by an earlier rotation. Instead, each rotation is made about the reference system's axes. In YPR angles, the names yaw, pitch, and roll do NOT refer to the angles normally used in aviation; the terms yaw, pitch, and roll in aviation refer to 321 Euler angles. |
MomentumBias | {On | Off} [<hx> <hy> <hz>] | If you wish to take account of a Momentum Bias (e.g., due to a spinning device within the satellite body), turn MomentumBias On and specify the initial angular momentum values. If MomentumBias is On, enter <hx> <hy> <hz> with values between -1000.0 and 1000.0 and in units of kg m^2/sec. |
Integrator
If {AttSimOption} is Integrator; valid values for "{IntegratorName}" and their associated <Parameters> are:
"{IntegratorName}" | <Parameters> | Description |
---|---|---|
"Bulirsch Stoer" | <RelativeError> <NumberOfStages> [<MinStepOption> <MaxStepOption>] | Thsi integration method is based on Richardson extrapolation with automatic step size control. <RelativeError> is a real value between 1.0e-15 and 1.0. <NumberOfStages> is an integer between 1 and 10. |
"RKF 7(8)" | <RelativeError> <AbsoluteError> [<MinStepOption> <MaxStepOption>] | This is a Runge-Kutta-Fehlberg integration method of the seventh order, with eighth-order error control for the integration step size. <RelativeError> and <AbsoluteError> are real values between 1.0e-15 and 1.0. |
"RKF 4(5)" | <RelativeError> <AbsoluteError> [<MinStepOption> <MaxStepOption>] | This is a Runge-Kutta-Fehlberg integration method of the fourth order with fifth-order error control for the integration step size. <RelativeError> and <AbsoluteError> are real values between 1.0e-15 and 1.0. |
The optional <MinStepOption> and <MaxStepOption> enable you to specify a minimum or maximum (or both) step, the time interval between evaluations.
Advanced
If {AttSimOption} is Advanced, valid values for {AdvancedOptions} and their associated <Parameters> are:
{AdvancedOption} | <Parameters> | Description |
---|---|---|
Progress | {On | Off} | If On, the percent of the run completed and the time remaining is displayed during the simulator run. |
Animate | {On | Off} [<SamplingPeriod>] | If On, the scenario will animate in the 2D and 3D Graphics windows during the simulator run. If On, you can also include a <SamplingPeriod> by specifying a value between: 0.01 and 180.0 secs, entered in the Connect time unit. |
Environment
If {AttSimOption} is Environment, valid values for "{ModelName}" and their associated <Parameters> are:
"{ModelName}" | <Parameters> | Description |
---|---|---|
"Harris-Priester" | <AverageF10.7> | Takes into account a 10.7 cm solar flux level and diurnal bulge and uses density tables. |
"1976 Standard" | N/A | This is a table look-up model based on the satellite's altitude, with a valid range of 86km - 1000 km. |
"Jacchia 1970" | <DailyF10.7> <AverageF10.7> <GeoMagIndex> | Computes atmospheric density based on the composition of the atmosphere, which depends on altitude as well as seasonal variation. Valid range is 100-2500 km. |
"Jacchia 1971" | <DailyF10.7> <AverageF10.7> <GeoMagIndex> | Similar to Jacchia 1970, with improved treatment of certain solar effects. |
"Jacchia-Roberts" | <DailyF10.7> <AverageF10.7> <GeoMagIndex> | Similar to Jacchia 1971 but uses analytical methods to improve performance. |
"Jacchia 1960" | N/A | An earlier model by Jacchia that uses the solar cycle to predict a value for the F10.7 cm flux and accounts for the effects of the diurnal bulge. |
"MSIS 1986" | <DailyF10.7> <AverageF10.7> <GeoMagIndex> | This is an empirical density model developed by Hedin based on satellite data. It finds the total density by accounting for the contribution of N2, O, O2, He, Ar, and H. This 1986 version has a valid range of 90-1000 km. |
"MSISE 1990" | <DailyF10.7> <AverageF10.7> <GeoMagIndex> | This is an empirical density model developed by Hedin based on satellite data. It finds the total density by accounting for the contribution of N2, O, O2, He, Ar, and H. This 1990 version has a valid range of 0-1000 km. |
"NRLMSISE 2000" | <DailyF10.7> <AverageF10.7> <GeoMagIndex> | This is an empirical density model developed by the US Naval Research Laboratory based on satellite data. It finds the total density by accounting for the contribution of N2, O, O2, He, Ar, and H. It includes anomalous oxygen. This 2000 version has a valid range of 0-1000 km. This implementation always calls the gtd7d routine (in contrast to switching between it and gtd7) per the recommendation of Mike Picone, one of the code authors. |
"DTM 2012" | <DailyF10.7> <AverageF10.7> <GeoMagIndex> | The Drag Temperature Model (DTM), version 2012, is a semiempirical model that computes the temperature, density, and composition of the thermosphere. It was developed at CNES. The valid range is 120-1500 km. |
"DTM 2020" | <DailyF10.7> <AverageF10.7> <GeoMagIndex> | The Drag Temperature Model (DTM), version 2020, is a semi-empirical model which computes the temperature, density, and composition of the thermosphere. Developed at CNES. Valid range is 120-1500 km. |
"Exponential" | <RefDensity> <RefAltitude> <ScaleAltitude> | This model uses an equation to calculate atmospheric density. The equation is in the Astrogator Components: Atmospheric Models STK Help topic. |
<Parameters> associated with available "{ModelNames}" can be:
<Parameter> | Description |
---|---|
<AverageF10.7> | <AverageF10.7> is the 81-day averaged Ottawa 10.7 cm solar flux value and is expressed as an integer between 40 and 10000. |
<DailyF10.7> | <DailyF10.7> is the daily Ottawa 10.7 cm solar flux value and is expressed as an integer between 40 and 10000. |
<GeoMagIndex> | <GeoMagIndex> is the planetary geomagnetic flux index, Kp, and is expressed as a real number between 0.0 and 10.0. |
<RefAltitude> | Enter a value between 0.0m and 1.0e9m in Connect distance units. |
<ScaleAltitude> | |
<RefDensity> | Enter a value between 0.0 and 1000.0 in kg/m^3. |
Config
Valid values for {FileList} and their associated <Parameters> are:
{FileList} | <Parameters> | Description |
---|---|---|
Initialization | {Action} <FilePath> [<Index>] [<NewFilePath>] | Use <FileName> to indicate the name of the file to be used. Valid values for {Action} and <SimulationParams> are outlined below. |
Simulation | {Action} <FilePath> [<Index>] [<NewFilePath>] [<SimulationParams>] | |
PostProcess | {Action} <FilePath> [<Index>] [<NewFilePath>] |
Valid values for {Action} and their associated <Parameters> are:
{Action} | <Parameters> | Description |
---|---|---|
Add | <FilePath> [<Index>] [<SimulationParams>] |
Only 10 files can be added to each list. |
Remove | <FilePath> [<Index>] [<SimulationParams>] |
|
Modify | <FilePath> [<Index>] [<NewFilePath>] [<SimulationParams>] |
|
Valid values for <SimulationParams> are:
<SimulationParams> can be included only if {FileList} is Simulation.
<SimulationParams> | <Parameters> |
---|---|
Sampling <SampleValue> {Recompute | NoRecompute} | Sampling occurs at the frequency set in <SampleValue>, which you enter in Connect time units. It must be greater than 0.0 and less than 3600.0 seconds. Enter Recompute to have the recomputation of attitude occur only at the intervals you set using the AttSim Times command instead of occurring at every sampling taken by the integrator. |
NoSampling | Allow the integrator to use its step size control algorithm to determine the right steps. |
Examples
To Run an attitude simulation for Satellite1 and place it in the file AttSimRun1.a:
To Run an attitude simulation for Satellite1, place the result in the file AttSimRun1.a, and set the result attitude profile as Satellite1's profile:
To set the start and stop times for an attitude simulation for attSat:
To set the initial conditions for an attitude simulation using values from the satellite attSat:
To set the initial conditions for an attitude simulation using a euler angle with values: -80 94 -23, and sequence 313:
To set up an attitude simulation using the RKF 4(5) integrator:
To animate during the simulator run and use a sampling period of 2.5 seconds:
To set up an attitude simulation using the "Jacchia 1960" environment model:
To set up an attitude simulation using the "Exponential" model with Ref Density of 234.56 km, RefAltitude of 1234.5 km and Scale Altitude of 76.321 km:
To add the matlab file rblimit.m, to the initialization file list for an attitude simulation:
To change the satu.m file in the Simulation file list to not use sampling:
To remove the rblimit.m, which is in position 4, from the PostProcess file list:
Return message
Group membership
This command belongs to the following group(s):
Version
11.4