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