Description
Standard attitude profile for satellite.
Public Properties
Basic | Get the basic attitude properties. |
External | Get the precomputed (external) attitude properties. |
IntegratedAttitude | Returns a reference to the Integrated Attitude Tool. |
Pointing | Get the target pointing attitude properties. |
Interfaces
CoClasses that Implement IAgVeOrbitAttitudeStandard
Example
Configure Target Slew for a satellite
[C#] |
---|
IAgVeOrbitAttitudeStandard orbitAttStandard = satellite.Attitude as IAgVeOrbitAttitudeStandard;
orbitAttStandard.Pointing.UseTargetPointing = true;
orbitAttStandard.Pointing.Targets.Add("Facility/FacSlew");
orbitAttStandard.Pointing.TargetSlew.SetSlewModeType(AgEVeSlewMode.eVeSlewModeConstrained2ndOrderSpline);
IAgVeAttSlewConstrained constrainedSlew = orbitAttStandard.Pointing.TargetSlew.SlewMode as IAgVeAttSlewConstrained;
constrainedSlew.MaximumSlewTime = 20.0; //sec
constrainedSlew.SlewTimingBetweenTargets = AgEVeSlewTimingBetweenTargets.eVeSlewTimingBetweenTargetsOptimal;
IAgVeAttMaximumSlewRate maxRate = constrainedSlew.MaximumSlewRate;
maxRate.Magnitude = 10.0; //deg/sec^2
maxRate.PerAxisXEnabled = true;
maxRate.PerAxisX = 5.0; //deg/sec^2
maxRate.PerAxisYEnabled = true;
maxRate.PerAxisY = 5.0; //deg/sec^2
maxRate.PerAxisZEnabled = true;
maxRate.PerAxisZ = 5.0; //deg/sec^2
IAgVeAttMaximumSlewAcceleration maxAcceleration = constrainedSlew.MaximumSlewAcceleration;
maxAcceleration.Magnitude = 10.0; //deg/sec^2
maxAcceleration.PerAxisXAccelEnabled = true;
maxAcceleration.PerAxisXAccel = 5.0; //deg/sec^2
maxAcceleration.PerAxisYAccelEnabled = true;
maxAcceleration.PerAxisYAccel = 5.0; //deg/sec^2
maxAcceleration.PerAxisZAccelEnabled = true;
maxAcceleration.PerAxisZAccel = 5.0; //deg/sec^2
|
|
Configure Target Slew for a satellite
[Visual Basic .NET] |
---|
Dim orbitAttStandard As IAgVeOrbitAttitudeStandard = TryCast(satellite.Attitude, IAgVeOrbitAttitudeStandard)
orbitAttStandard.Pointing.UseTargetPointing = True
orbitAttStandard.Pointing.Targets.Add("Facility/FacSlew")
orbitAttStandard.Pointing.TargetSlew.SetSlewModeType(AgEVeSlewMode.eVeSlewModeConstrained2ndOrderSpline)
Dim constrainedSlew As IAgVeAttSlewConstrained = TryCast(orbitAttStandard.Pointing.TargetSlew.SlewMode, IAgVeAttSlewConstrained)
constrainedSlew.MaximumSlewTime = 20
'sec
constrainedSlew.SlewTimingBetweenTargets = AgEVeSlewTimingBetweenTargets.eVeSlewTimingBetweenTargetsOptimal
Dim maxRate As IAgVeAttMaximumSlewRate = constrainedSlew.MaximumSlewRate
maxRate.Magnitude = 10
'deg/sec^2
maxRate.PerAxisXEnabled = True
maxRate.PerAxisX = 5
'deg/sec^2
maxRate.PerAxisYEnabled = True
maxRate.PerAxisY = 5
'deg/sec^2
maxRate.PerAxisZEnabled = True
maxRate.PerAxisZ = 5
'deg/sec^2
Dim maxAcceleration As IAgVeAttMaximumSlewAcceleration = constrainedSlew.MaximumSlewAcceleration
maxAcceleration.Magnitude = 10
'deg/sec^2
maxAcceleration.PerAxisXAccelEnabled = True
maxAcceleration.PerAxisXAccel = 5
'deg/sec^2
maxAcceleration.PerAxisYAccelEnabled = True
maxAcceleration.PerAxisYAccel = 5
'deg/sec^2
maxAcceleration.PerAxisZAccelEnabled = True
maxAcceleration.PerAxisZAccel = 5
'deg/sec^2
|
|
Set satellite attitude basic spinning
[Python - STK API] |
---|
# IAgSatellite satellite: Satellite object
basic = satellite.Attitude.Basic
basic.SetProfileType(AgEVeProfile.eProfileSpinning)
basic.Profile.Body.AssignXYZ(0, 0, 1)
basic.Profile.Inertial.AssignXYZ(0, 1, 0)
basic.Profile.Rate = 6 # rev/sec
|
|
Set satellite attitude targeting
[Python - STK API] |
---|
# IAgSatellite satellite: Satellite object
attitudePointing = satellite.Attitude.Pointing
attitudePointing.UseTargetPointing = True
attitudePointing.Targets.RemoveAll()
attitudePointing.Targets.Add('AreaTarget/MyAreaTarget')
attitudePointing.TargetTimes.UseAccessTimes = True
|
|
Set satellite attitude external
[Python - STK API] |
---|
# IAgSatellite satellite: Satellite object
satellite.Attitude.External.Load(r'C:\Program Files\AGI\STK 12\Data\Resources\stktraining\text\AttitudeTimeEulerAngles_Example.a')
|
|
Set satellite attitude basic spinning
[MATLAB] |
---|
% IAgSatellite satellite: Satellite object
basic = satellite.Attitude.Basic;
basic.SetProfileType('eProfileSpinning')
basic.Profile.Body.AssignXYZ(0, 0, 1)
basic.Profile.Inertial.AssignXYZ(0, 1, 0);
basic.Profile.Rate = 6; % rev/sec
|
|
Set satellite attitude targeting
[MATLAB] |
---|
% IAgSatellite satellite: Satellite object
attitudePointing = satellite.Attitude.Pointing;
attitudePointing.UseTargetPointing = 1;
attitudePointing.Targets.RemoveAll;
attitudePointing.Targets.Add('AreaTarget/MyAreaTarget');
attitudePointing.TargetTimes.UseAccessTimes;
|
|
Set satellite attitude external
[MATLAB] |
---|
% IAgSatellite satellite: Satellite object
satellite.Attitude.External.Load('C:\Program Files\AGI\STK 12\Data\Resources\stktraining\text\AttitudeTimeEulerAngles_Example.a');
|
|
Set up target slewing
[MATLAB] |
---|
% IAgSatellite satellite: Satellite object
satellite.Attitude.Pointing.UseTargetPointing = true;
satellite.Attitude.Pointing.Targets.Add('Facility/FacSlew');
attitudeSlewing = satellite.Attitude.Pointing.TargetSlew;
attitudeSlewing.SetSlewModeType('eVeSlewModeConstrained2ndOrderSpline');
constrainedSlew = attitudeSlewing.SlewMode;
constrainedSlew.MaximumSlewTime = 20; % sec
constrainedSlew.SlewTimingBetweenTargets = 'eVeSlewTimingBetweenTargetsOptimal';
maxRate = constrainedSlew.MaximumSlewRate;
maxRate.Magnitude = 10; % deg/sec
maxRate.PerAxisXEnabled = 1;
maxRate.PerAxisX = 5; % deg/sec
maxRate.PerAxisYEnabled = 1;
maxRate.PerAxisY = 5; % deg/sec
maxRate.PerAxisZEnabled = 1;
maxRate.PerAxisZ = 5; % deg/sec
maxAcceleration = constrainedSlew.MaximumSlewAcceleration;
maxAcceleration.Magnitude = 10; % deg/sec^2
maxAcceleration.PerAxisXAccelEnabled = 1;
maxAcceleration.PerAxisXAccel = 5; % deg/sec^2
maxAcceleration.PerAxisYAccelEnabled = 1;
maxAcceleration.PerAxisYAccel = 5; % deg/sec^2
maxAcceleration.PerAxisZAccelEnabled = 1;
maxAcceleration.PerAxisZAccel = 5; % deg/sec^2
|
|