Attitude Comprehensive Message (ACM)¶
- class ccsds_ndm.Acm(header, segment)¶
Attitude Comprehensive Message (ACM).
An ACM specifies the attitude state of a single object at multiple epochs, contained within a specified time range. The ACM aggregates and extends APM and AEM content in a single comprehensive hybrid message.
Capabilities include: - Optional rate data elements - Optional spacecraft physical properties - Optional covariance elements - Optional maneuver parameters - Optional estimator information
- static from_file(path, format=None)¶
Parse an ACM from a KVN or XML file.
- static from_str(data, format=None)¶
- segment¶
ACM Segment.
- Type:
- to_file(path, format)¶
Atomically write this ACM as KVN or XML.
- to_str(format)¶
Serialize to validated KVN or XML.
- validate()¶
Validate the message against CCSDS rules.
- class ccsds_ndm.AcmSegment(metadata, data)¶
-
- metadata¶
ACM Metadata Section.
- Type:
- validate(header)¶
Validate the segment against CCSDS rules.
- class ccsds_ndm.AcmMetadata(object_name, epoch_tzero, time_system, international_designator=None, comment=None)¶
ACM Metadata Section.
- acm_data_elements¶
Included ACM data block elements.
CCSDS Reference: 504.0-B-2, Section 5.3.3.
- Type:
str | None
- comment¶
Comments (allowed only at the beginning of the ACM Metadata). Each comment line shall begin with this keyword.
Examples: This is a comment.
CCSDS Reference: 504.0-B-2, Section 5.3.3.
- epoch_tzero¶
Epoch from which all ACM relative times are referenced. (For format specification, see 6.8.9.) The time scale for EPOCH_TZERO is the one specified by ‘TIME_SYSTEM’ keyword in the Metadata section.
Examples: 2016-11-10T00:00:00
CCSDS Reference: 504.0-B-2, Section 5.3.3.
- Type:
- international_designator¶
Free text field containing an international designator for the object as assigned by the UN Committee on Space Research (COSPAR) and the US National Space Science Data Center (NSSDC). Such designator values have the following COSPAR format: YYYY-NNNP{PP}, where: YYYY = Year of launch. NNN = Three-digit serial number of launch in year YYYY (with leading zeros). P{PP} = At least one capital letter for the identification of the part brought into space by the launch. In cases in which the object has no international designator, the value UNKNOWN may be used. NOTE – The international designator is typically specified by ‘OBJECT_ID’ in the APM and AEM.
Examples: 2000-052A, 1996-068A, 2000-053A, 1996-008A, UNKNOWN
CCSDS Reference: 504.0-B-2, Section 5.3.3.
- Type:
str | None
- next_leap_epoch¶
Epoch of the next leap second.
CCSDS Reference: 504.0-B-2, Section 5.3.3.
- Type:
str | None
- next_leap_taimutc¶
Difference (TAI - UTC) at NEXT_LEAP_EPOCH, seconds.
CCSDS Reference: 504.0-B-2, Section 5.3.3.
- Type:
float | None
- object_designator¶
Unique object designator in the source catalog.
CCSDS Reference: 504.0-B-2, Section 5.3.3.
- Type:
str | None
- object_name¶
Free-text field containing the name of the object. There is no CCSDS-based restriction on the value for this keyword, but it is recommended to use names from either the UN Office of Outer Space Affairs designator index (reference [2]), which include Object name and international designator), the spacecraft operator, or a State Actor or commercial Space Situational Awareness (SSA) provider maintaining the ‘CATALOG_NAME’ space catalog. If the object name is not known (uncorrelated object), ‘UNKNOWN’ may be used (or this keyword omitted).
Examples: SPOT, ENVISAT, IRIDIUM, INTELSAT
CCSDS Reference: 504.0-B-2, Section 5.3.3.
- Type:
- odm_msg_link¶
Linked Orbit Data Message identifier.
CCSDS Reference: 504.0-B-2, Section 5.3.3.
- Type:
str | None
- originator_address¶
Originator point-of-contact address.
CCSDS Reference: 504.0-B-2, Section 5.3.3.
- Type:
str | None
- originator_email¶
Originator point-of-contact email.
CCSDS Reference: 504.0-B-2, Section 5.3.3.
- Type:
str | None
- originator_phone¶
Originator point-of-contact phone.
CCSDS Reference: 504.0-B-2, Section 5.3.3.
- Type:
str | None
- originator_poc¶
Originator point-of-contact.
CCSDS Reference: 504.0-B-2, Section 5.3.3.
- Type:
str | None
- originator_position¶
Originator point-of-contact position.
CCSDS Reference: 504.0-B-2, Section 5.3.3.
- Type:
str | None
- start_time¶
Earliest data time in this ACM.
CCSDS Reference: 504.0-B-2, Section 5.3.3.
- Type:
str | None
- stop_time¶
Latest data time in this ACM.
CCSDS Reference: 504.0-B-2, Section 5.3.3.
- Type:
str | None
- taimutc_at_tzero¶
Difference (TAI - UTC) at EPOCH_TZERO, seconds.
CCSDS Reference: 504.0-B-2, Section 5.3.3.
- Type:
float | None
- time_system¶
Time system used for metadata, attitude data, covariance data. The set of allowed values is described in annex B, subsection B2.
Examples: UTC, TAI
CCSDS Reference: 504.0-B-2, Section 5.3.3.
- Type:
- validate()¶
Validate the metadata section against CCSDS rules.
- class ccsds_ndm.AcmData(att=None, phys=None, cov=None, man=None, ad=None, user=None)¶
ACM Data Section.
- ad¶
A single attitude determination Data section.
CCSDS Reference: 504.0-B-2, Section 5.3.9.
- Type:
AcmAttitudeDetermination | None
- att¶
One or more optional attitude state time histories (each consisting of one or more attitude states).
CCSDS Reference: 504.0-B-2, Section 5.3.5.
- Type:
- cov¶
One or more optional covariance time histories (each consisting of one or more covariance matrix diagonals).
CCSDS Reference: 504.0-B-2, Section 5.3.7.
- Type:
- man¶
One or more optional maneuver specification section(s).
CCSDS Reference: 504.0-B-2, Section 5.3.8.
- Type:
- phys¶
A single space object physical characteristics section.
CCSDS Reference: 504.0-B-2, Section 5.3.6.
- Type:
AcmPhysicalDescription | None
- user¶
A single user-defined Data section.
CCSDS Reference: 504.0-B-2, Section 5.3.10.
- Type:
UserDefined | None
- validate(metadata)¶
Validate the data section against CCSDS rules.
- class ccsds_ndm.AcmAttitudeDetermination(ad_id=None, comment=None)¶
ACM Data: Attitude Determination Data Section.
- ad_epoch¶
Epoch of the attitude determination.
CCSDS Reference: 504.0-B-2, Section 5.3.9.
- Type:
str | None
- ad_id¶
Attitude determination block identifier.
CCSDS Reference: 504.0-B-2, Section 5.3.9.
- Type:
str | None
- ad_method¶
Attitude determination method.
CCSDS Reference: 504.0-B-2, Section 5.3.9.
- Type:
str | None
- ad_prev_id¶
Previous attitude determination block identifier.
CCSDS Reference: 504.0-B-2, Section 5.3.9.
- Type:
str | None
- attitude_source¶
Source of attitude estimate.
CCSDS Reference: 504.0-B-2, Section 5.3.9.
- Type:
str | None
- attitude_states¶
Attitude state type for estimator.
CCSDS Reference: 504.0-B-2, Section 5.3.9.
- Type:
str | None
- attitude_type¶
Type of attitude data, selected per annex B, subsection B4. Attitude states must always be listed before rate states.
Examples: QUATERNION
CCSDS Reference: 504.0-B-2, Section 5.3.9.
- Type:
str | None
- comment¶
Comments allowed only immediately after the AD_START keyword.
Examples: This is a comment.
CCSDS Reference: 504.0-B-2, Section 5.3.9.
- cov_type¶
Covariance type for estimator.
CCSDS Reference: 504.0-B-2, Section 5.3.7.
- Type:
str | None
- number_states¶
Number of estimator states.
CCSDS Reference: 504.0-B-2, Section 5.3.9.
- Type:
int | None
- rate_process_noise_stddev¶
Rate process noise standard deviation.
CCSDS Reference: 504.0-B-2, Section 5.3.9.
- Type:
float | None
- class ccsds_ndm.AcmAttitudeState(ref_frame_a, ref_frame_b, att_type, att_lines, comment=None)¶
ACM Data: Attitude State Time History Section.
- att_basis¶
Basis of this attitude state data.
CCSDS Reference: 504.0-B-2, Section 5.3.5.
- Type:
str | None
- att_id¶
Attitude state block identifier.
CCSDS Reference: 504.0-B-2, Section 5.3.5.
- Type:
str | None
- att_lines¶
Data lines that consist of attitude data followed by rate data. (For the data units, see above [ATT_TYPE and RATE_TYPE keywords]).
CCSDS Reference: 504.0-B-2, Section 5.3.5.
- att_prev_id¶
Previous attitude state block identifier.
CCSDS Reference: 504.0-B-2, Section 5.3.5.
- Type:
str | None
- att_type¶
Type of attitude data, selected per annex B, subsection B4. Attitude data must always be listed before rate data. The units that shall be used are given in annex B, subsection B4.
Examples: QUATERNION, EULER_ANGLES, DCM
CCSDS Reference: 504.0-B-2, Section 5.3.5.
- Type:
- comment¶
Comments allowed only immediately after the ATT_START keyword.
Examples: This is a comment.
CCSDS Reference: 504.0-B-2, Section 5.3.5.
- euler_rot_seq¶
Optional Euler rotation sequence.
CCSDS Reference: 504.0-B-2, Section 5.3.5.
- Type:
str | None
- number_states¶
Number of data states included. States to be included are attitude states and optional rate states.
Examples: 3, 4, 7
CCSDS Reference: 504.0-B-2, Section 5.3.5.
- Type:
- ref_frame_a¶
Name of the reference frame that defines the starting point of the transformation. The set of allowed values is described in annex B, subsection B3.
Examples: J2000
CCSDS Reference: 504.0-B-2, Section 5.3.5.
- Type:
- class ccsds_ndm.AcmCovarianceMatrix(cov_basis, cov_ref_frame, cov_type, cov_lines, comment=None)¶
ACM Data: Covariance Time History Section.
- comment¶
Comments allowed only immediately after the COV_START keyword.
Examples: THIS is a comment.
CCSDS Reference: 504.0-B-2, Section 5.3.7.
- cov_basis¶
Basis of this covariance time history data.
Examples: PREDICTED, DETERMINED_GND, DETERMINED_OBC, SIMULATED
- Type:
str | None
- cov_confidence¶
Optional confidence level of the covariance matrix.
CCSDS Reference: 504.0-B-2, Section 5.3.7.
- Type:
float | None
- cov_lines¶
Covariance data lines (diagonal terms only). (For the data units, see annex B, subsection B6.)
CCSDS Reference: 504.0-B-2, Section 5.3.7.
- class ccsds_ndm.AcmManeuverParameters(man_id=None, comment=None)¶
ACM Data: Maneuver Specification Section.
- actuator_used¶
Actuator used for this maneuver.
CCSDS Reference: 504.0-B-2, Section 5.3.8.
- Type:
str | None
- comment¶
Comments allowed only immediately after the MAN_START keyword.
Examples: This is a comment.
CCSDS Reference: 504.0-B-2, Section 5.3.8.
- man_begin_time¶
Maneuver begin time in seconds relative to EPOCH_TZERO.
CCSDS Reference: 504.0-B-2, Section 5.3.8.
- Type:
str | None
- man_duration¶
Maneuver duration in seconds.
CCSDS Reference: 504.0-B-2, Section 5.3.8.
- Type:
float | None
- man_end_time¶
Maneuver end time in seconds relative to EPOCH_TZERO.
CCSDS Reference: 504.0-B-2, Section 5.3.8.
- Type:
str | None
- man_prev_id¶
Previous maneuver block identifier.
CCSDS Reference: 504.0-B-2, Section 5.3.8.
- Type:
str | None
- target_attitude¶
Target attitude quaternion-like 4-vector.
CCSDS Reference: 504.0-B-2, Section 5.3.8.
- target_mom_frame¶
Reference frame of target momentum.
CCSDS Reference: 504.0-B-2, Section 5.3.8.
- Type:
str | None
- target_momentum¶
Target momentum vector [x, y, z].
CCSDS Reference: 504.0-B-2, Section 5.3.8.
- class ccsds_ndm.AcmPhysicalDescription(comment=None)¶
ACM Data: Space Object Physical Characteristics Section.
- comment¶
Comments allowed only immediately after the PHYS_START keyword.
Examples: This is a comment.
CCSDS Reference: 504.0-B-2, Section 5.3.6.
- cp¶
Center-of-pressure vector [x, y, z] in meters.
CCSDS Reference: 504.0-B-2, Section 5.3.6.
- cp_ref_frame¶
Center-of-pressure reference frame.
CCSDS Reference: 504.0-B-2, Section 5.3.6.
- Type:
str | None
State Blocks¶
- class ccsds_ndm.AngVelState(ref_frame_a, ref_frame_b, angvel_frame, angvel_x, angvel_y, angvel_z, comment)¶
Angular velocity vector.
All mandatory elements are to be provided if the block is present. (See annex F for conventions and further detail.)
- angvel_frame¶
Reference frame in which the components of the angular velocity vector are given. The set of allowed values is described in annex B, subsection B3.
CCSDS Reference: 504.0-B-2, Section 3.2.4.
- Type:
- angvel_x¶
Component of the angular velocity vector on the X axis.
Units: deg/s
CCSDS Reference: 504.0-B-2, Section 3.2.4.
- Type:
- angvel_y¶
Component of the angular velocity vector on the Y axis.
Units: deg/s
CCSDS Reference: 504.0-B-2, Section 3.2.4.
- Type:
- angvel_z¶
Component of the angular velocity vector on the Z axis.
Units: deg/s
CCSDS Reference: 504.0-B-2, Section 3.2.4.
- Type:
- comment¶
One or more comment line(s). Each comment line shall begin with this keyword.
CCSDS Reference: 504.0-B-2, Section 3.2.4.
- ref_frame_a¶
Name of the reference frame that defines the starting point of the transformation. The set of allowed values is described in annex B, subsection B3.
CCSDS Reference: 504.0-B-2, Section 3.2.4.
- Type: