public class AngularSeparationDetector extends AbstractDetector<AngularSeparationDetector>
此探测器的主要用例是当观测者实际上是地面站,建模为一个TopocentricFrame
,并且信标是太阳
,用于计算遥测链路的干扰。另一个类似的情况是当信标是另一个太空飞行器时,用于计算干扰。
默认的处理程序行为是在太空飞行器进入接近区域时停止传播。可以通过在构造后调用AbstractDetector.withHandler(EventHandler)
来更改此行为。
Propagator.addEventDetector(EventDetector)
DEFAULT_MAX_ITER, DEFAULT_MAXCHECK, DEFAULT_THRESHOLD
Modifier | Constructor and Description |
---|---|
protected |
AngularSeparationDetector(AdaptableInterval maxCheck, double threshold, int maxIter, EventHandler handler, PVCoordinatesProvider beacon, PVCoordinatesProvider observer, double proximityAngle)
具有完整参数的受保护构造函数。
|
|
AngularSeparationDetector(PVCoordinatesProvider beacon, PVCoordinatesProvider observer, double proximityAngle)
构建一个新的角分离探测器。
|
Modifier and Type | Method and Description |
---|---|
protected AngularSeparationDetector |
create(AdaptableInterval newMaxCheck, double newThreshold, int newMaxIter, EventHandler newHandler)
构建一个新实例。
|
double |
g(SpacecraftState s)
计算切换函数的值。
|
PVCoordinatesProvider |
getBeacon()
获取接近区域中心的信标。
|
PVCoordinatesProvider |
getObserver()
获取太空飞行器的观测者。
|
double |
getProximityAngle()
获取接近角度(弧度)。
|
getHandler, getMaxCheckInterval, getMaxIterationCount, getThreshold, init, isForward, withHandler, withMaxCheck, withMaxCheck, withMaxIter, withThreshold
public AngularSeparationDetector(PVCoordinatesProvider beacon, PVCoordinatesProvider observer, double proximityAngle)
beacon
- 接近区域中心的信标
observer
- 太空飞行器的观测者,如果它们彼此太靠近,也可能同时看到信标
proximityAngle
- 从观测者看到的接近角度,触发事件的角度(弧度)
protected AngularSeparationDetector(AdaptableInterval maxCheck, double threshold, int maxIter, EventHandler handler, PVCoordinatesProvider beacon, PVCoordinatesProvider observer, double proximityAngle)
此构造函数不是公共的,因为预期用户将使用建造者API和各种withXxx()
方法来设置实例,以便以可读的方式设置实例,而不使用大量参数。
maxCheck
- 最大检查间隔
threshold
- 收敛阈值(秒)
maxIter
- 事件时间搜索中的最大迭代次数
handler
- 事件发生时要调用的事件处理程序
beacon
- 接近区域中心的信标
observer
- 太空飞行器的观测者,如果它们彼此太靠近,也可能同时看到信标
proximityAngle
- 从观测者看到的接近角度,触发事件的角度(弧度)
protected AngularSeparationDetector create(AdaptableInterval newMaxCheck, double newThreshold, int newMaxIter, EventHandler newHandler)
create
在类 AbstractDetector<AngularSeparationDetector>
newMaxCheck
- 最大检查间隔(秒)
newThreshold
- 收敛阈值(秒)
newMaxIter
- 事件时间搜索中的最大迭代次数
newHandler
- 事件发生时要调用的事件处理程序
public PVCoordinatesProvider getBeacon()
public PVCoordinatesProvider getObserver()
public double getProximityAngle()
public double g(SpacecraftState s)
此函数测量从观测者看到的信标和太空飞行器之间的角分离减去接近角度。因此,当太空飞行器进入接近区域时触发减小事件,当太空飞行器离开接近区域时触发增加事件。
不考虑阴影效应,因此即使太空飞行器对于一个地面站观测者而言在地平线以下,此方法也会计算并可能触发事件。如果必须考虑此类效应,则必须将探测器与基于仰角的谓词过滤器
相关联,其中谓词函数
基于仰角。
g
在接口 EventDetector
g
在类 AbstractDetector<AngularSeparationDetector>
s
- 当前状态信息:日期、运动学、姿态
Copyright © 2002-2023 CS GROUP. All rights reserved.