MATLAB与STK互联21:卫星对象操作(12)—加约束条件的可见性问题分析(仰角、距离、视线角约束)

继续探索加约束条件的可见性分析问题。上代码:
uiap = actxserver(‘STK11.application’);
root = uiap.Personality2;
root.NewScenario(‘access’);
sat = sc.Children.New(18,‘mysat’);
sat.Propagator.Propagate;
fac = sc.Children.New(‘eFacility’,‘myfac’);
fac.Position.AssignGeodetic(10,120,0);

facConstraints = fac.AccessConstraints;
(3)仰角约束: eCstrElevationAngle
在分析可见性时,一般会考虑地面站的最小仰角。可以通过以下方式进行设置:
elevation = facConstraints.AddConstraint(‘eCstrElevationAngle’);
查看属性:
elevation.get
在这里插入图片描述
属性中有:使能最小值、最小值、使能最大值、最小值。通过以下进行设置最小仰角:
elevation.EnableMin = 1;
elevation.Min = 8;
通过STK软件,可以查看下面的界面,也就是设置成功了。
在这里插入图片描述
增加可见性。
facaccesssat = fac.GetAccessToObject(sat);
facaccesssat.ComputeAccess();
仰角约束设置就说这么多,大家可以尝试方位角约束。
(4)作用距离约束:eCstrRange
地面站的作用距离一般是有限制的,也可以添加这个设置。
facrange = facConstraints.AddConstraint(‘eCstrRange’);
facrange.get
在这里插入图片描述
facrange.EnableMax = 1;
facrange.Max = 1000;%STK二维图中的弧段会明显变化。
(5)视线角约束:eCstrLOSSunExclusion
视线角约束常用场景:避免太阳光进入视场,所以对卫星→目标矢量与卫星→太阳矢量的夹角必须大于某个值。
facsunexclusion = facConstraints.AddConstraint(‘eCstrLOSSunExclusion’);
facsunexclusion.Angle = 20;
通过以上命令就可以完成相应的约束设置了。
去掉约束:
facConstraints.RemoveConstraint(‘eCstrRange’);
facConstraints.RemoveConstraint(‘eCstrElevationAngle’);
facConstraints.RemoveConstraint(‘eCstrLOSSunExclusion’);
%以下命令是获取当前对象的约束条件数量
facConstraints.Count
默认会有LineOfSight约束。
常用的可见性约束也就这几个了,以后有用到的再单独讨论。

  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值