Body Frame/Intermediate Frame Property
The bodyFrame/intermediateFrame property defines the data that the program uses to compute an object’s body-fixed frame orientation (in one-step orientation definitions):
"bodyFrame": {
"type": "Cosmographia frame type",
... type-dependent frame attributes ...
},
or intermediate frame orientation (in two-step orientation definitions, when the intermediateFrame property is accompanied by the rotationModel property described in detail in the Rotation Model Types section of the user’s guide):
"intermediateFrame": {
"type": "Cosmographia frame type",
... type-dependent frame attributes ...
},
"rotationModel": {
"type" : "Cosmographia rotation model type",
... model-dependent attributes ...
},
The bodyFrame/intermediateFrame property is very rarely omitted. If it is omitted, bodyFrame/intermediateFrame defaults to “ICRF”, which is equivalent to the SPICE “J2000” frame.
The following bodyFrame/intermediateFrame types described below are supported by Cosmographia:
All of these types can also be used for the trajectoryFrame property.
SPICE
The SPICE frame type (“type“: “Spice“) directs Cosmographia to compute body frame/intermediate frame orientation using SPICE data for the SPICE frame specified by the name attribute, like this:
"bodyFrame": {
"type": "Spice",
"name" : "CLIPPER_SPACECRAFT"
},
Inertial
The built-in inertial frame type (“type“: “name of built-in inertial frame“) directs Cosmographia to align body frame/intermediate frame with one the inertial frames built into the program like this:
"bodyFrame" : "ICRF",
or using the slightly more verbose object syntax, more consistent with the style used for describing other frame types:
"bodyFrame": {
"type": "ICRF"
},
The available built-in inertial frames are:
-
ICRF (the default). This Cosmographia frame is equivalent to the SPICE ‘J2000’ frame.
-
EquatorJ2000 (commonly called EME2000 elsewhere). This Cosmographia frame is NOT
equivalent the SPICE ‘J2000’ frame
-
EclipticJ2000. This Cosmographia frame is NOT equivalent to the SPICE ‘ECLIPJ2000’ frame.
-
EquatorB1950. This Cosmographia frame is NOT equivalent to the SPICE ‘B1950’ frame.
BodyFixed
The BodyFixed frame type (“type“: “BodyFixed“) directs Cosmographia to align body frame/intermediate frame with the body-fixed frame of the body specified by the body attribute, like this:
"bodyFrame": {
"type": "BodyFixed",
"body": "CubeSat"
},
TwoVector
The TwoVector frame type (“type“: “TwoVector“) directs Cosmographia to align body frame/intermediate frame with the frame based on two vectors defining primary and secondary axes. For each axis, a vector must be defined and specified as corresponding to a certain axis (x,y,z,-x,-y,-z) using one of three types: RelativePosition, RelativeVelocity, and ConstantVector. These are examples of defining TwoVector-type frames using all three types of vectors:
"bodyFrame": {
"type": "TwoVector",
"primaryAxis": "x",
"primary": {
"type": "RelativePosition",
"observer": "CubeSat",
"target": "Ceres"
},
"secondaryAxis": "-y",
"secondary": {
"type": "RelativeVelocity",
"observer": "CubeSat",
"target": "Ceres"
}
},
"bodyFrame": {
"type": "TwoVector",
"primaryAxis": "x",
"primary": {
"type": "RelativePosition",
"observer": "CubeSat",
"target": "Ceres"
},
"secondaryAxis": "-y",
"secondary": {
"type": "ConstantVector",
"direction": [1.0, 2.0, 3.0],
"frame": "ICRF"
}
},
Any built-in inertial frame can be used in the frame attribute of the ConstantVector block.
Like this:
Like Loading...