Description
Standard attitude profile for satellite.
Object Model
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
Example
Configure Target Slew for a satellite
[C#] | Copy Code |
---|
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;
constrainedSlew.SlewTimingBetweenTargets = AgEVeSlewTimingBetweenTargets.eVeSlewTimingBetweenTargetsOptimal;
IAgVeAttMaximumSlewRate maxRate = constrainedSlew.MaximumSlewRate;
maxRate.Magnitude = 10.0;
maxRate.PerAxisXEnabled = true;
maxRate.PerAxisX = 5.0;
maxRate.PerAxisYEnabled = true;
maxRate.PerAxisY = 5.0;
maxRate.PerAxisZEnabled = true;
maxRate.PerAxisZ = 5.0;
IAgVeAttMaximumSlewAcceleration maxAcceleration = constrainedSlew.MaximumSlewAcceleration;
maxAcceleration.Magnitude = 10.0;
maxAcceleration.PerAxisXAccelEnabled = true;
maxAcceleration.PerAxisXAccel = 5.0;
maxAcceleration.PerAxisYAccelEnabled = true;
maxAcceleration.PerAxisYAccel = 5.0;
maxAcceleration.PerAxisZAccelEnabled = true;
maxAcceleration.PerAxisZAccel = 5.0;
|
|
Configure Target Slew for a satellite
[Visual Basic .NET] | Copy Code |
---|
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
constrainedSlew.SlewTimingBetweenTargets = AgEVeSlewTimingBetweenTargets.eVeSlewTimingBetweenTargetsOptimal
Dim maxRate As IAgVeAttMaximumSlewRate = constrainedSlew.MaximumSlewRate maxRate.Magnitude = 10
maxRate.PerAxisXEnabled = True maxRate.PerAxisX = 5
maxRate.PerAxisYEnabled = True maxRate.PerAxisY = 5
maxRate.PerAxisZEnabled = True maxRate.PerAxisZ = 5
Dim maxAcceleration As IAgVeAttMaximumSlewAcceleration = constrainedSlew.MaximumSlewAcceleration maxAcceleration.Magnitude = 10
maxAcceleration.PerAxisXAccelEnabled = True maxAcceleration.PerAxisXAccel = 5
maxAcceleration.PerAxisYAccelEnabled = True maxAcceleration.PerAxisYAccel = 5
maxAcceleration.PerAxisZAccelEnabled = True maxAcceleration.PerAxisZAccel = 5
|
|
Set satellite attitude basic spinning
[MATLAB] | Copy Code |
---|
% 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] | Copy Code |
---|
% 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] | Copy Code |
---|
% IAgSatellite satellite: Satellite object satellite.Attitude.External.Load('C:\Program Files\AGI\STK 11\Help\stktraining\text\AttitudeTimeEulerAngles_Example.a');
|
|
Set up target slewing
[MATLAB] | Copy Code |
---|
% IAgSatellite satellite: Satellite object 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
|
|
Set satellite attitude basic spinning
[Python] | Copy Code |
---|
# IAgSatellite satellite: Satellite object basic = satellite.Attitude.Basic basic.SetProfileType(16) # 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] | Copy Code |
---|
# IAgSatellite satellite: Satellite object attitudePointing = satellite.Attitude.Pointing attitudePointing.UseTargetPointing = 1 attitudePointing.Targets.RemoveAll() attitudePointing.Targets.Add('AreaTarget/MyAreaTarget') attitudePointing.TargetTimes.UseAccessTimes = True
|
|
Set satellite attitude external
[Python] | Copy Code |
---|
# IAgSatellite satellite: Satellite object satellite.Attitude.External.Load(r'C:\Program Files\AGI\STK 11\Help\stktraining\text\AttitudeTimeEulerAngles_Example.a')
|
|
CoClasses that Implement IAgVeOrbitAttitudeStandard