RSO Scenarios
RSO scenarios define the geometry of a RSO.
The geometry is defined by a set of RSOPoint
objects, which give a location and
a normal vector for the point, as well as conditions for inspection (range, illumination,
etc.). Implemented geometries include:
SphericalRSO
: Points are generated on a sphere using the Fibonacci sphere method.
This module does not consider self-shadowing effects or inspector to RSO shadowing effects.
- class RSOPoint(r_PB_B: numpy.ndarray, n_B: numpy.ndarray, theta_max: float, range_max: float, theta_solar_max: float, min_shadow_factor: float)[source]
Bases:
object
- Parameters:
r_PB_B (ndarray)
n_B (ndarray)
theta_max (float)
range_max (float)
theta_solar_max (float)
min_shadow_factor (float)
- r_PB_B: ndarray
- n_B: ndarray
- theta_max: float
- range_max: float
- theta_solar_max: float
- min_shadow_factor: float
- class RSOPoints[source]
Bases:
Scenario
- reset_overwrite_previous() None [source]
Overwrite target list from previous episode.
- Return type:
None
- visualize_rso_point(rso_point: RSOPoint, vizSupport=None, vizInstance=None)[source]
Visualize target in Vizard.
- Parameters:
rso_point (RSOPoint)
- class SphericalRSO(n_points: int = 100, radius: float = 1.0, theta_max: float = np.float64(0.7853981633974483), range_max: float = -1, theta_solar_max: float = np.float64(1.0471975511965976), min_shadow_factor: float = 0.1)[source]
Bases:
RSOPoints
Generate points on a sphere using the Fibonacci sphere method.
- Parameters:
n_points (int) – Number of points to generate on the sphere.
radius (float) – [m] Radius of the sphere.
theta_max (float) – [rad] Maximum angle from the normal for inspection.
range_max (float) – [m] Maximum range for inspection.
theta_solar_max (float) – [rad] Minimum solar incidence angle for illumination.
min_shadow_factor (float) – Minimum shadow factor for imaging.