User Manual 3.3 Properties and models: Sensors : Différence entre versions

De Wiki
Aller à : navigation, rechercher
m (Admin a déplacé la page Properties and models: Sensors vers User Manual 3.3 Properties and models: Sensors sans laisser de redirection)
(Contents)
 
(2 révisions intermédiaires par le même utilisateur non affichées)
Ligne 42 : Ligne 42 :
  
 
The Geometric property associates a part to any shape that implements the [{{JavaDoc3.3}}/org/apache/commons/math3/geometry/euclidean/threed/SolidShape.html SolidShape] interface.<br>
 
The Geometric property associates a part to any shape that implements the [{{JavaDoc3.3}}/org/apache/commons/math3/geometry/euclidean/threed/SolidShape.html SolidShape] interface.<br>
(See the [MAT_GEO_Home Geometry] chapter of the Mathematics user manual for more details)
+
(See the [[User Manual 3.3 Geometry|Geometry]] chapter of the Mathematics user manual for more details)
 
It is used in masking computations.
 
It is used in masking computations.
  
Ligne 114 : Ligne 114 :
 
</syntaxhighlight>
 
</syntaxhighlight>
  
* Set potentially masking objects and test the masking at a date. Those objects can be parts of the same spacecraft (the one carrying the sensor), parts of [MIS_SENSORS_SecondSpc secondary spacecrafts] or [MIS_SENSORS_PatriusBodySpheroid celestial bodies].
+
* Set potentially masking objects and test the masking at a date. Those objects can be parts of the same spacecraft (the one carrying the sensor), parts of [[MIS_SENSORS_SecondSpc secondary spacecrafts]] or [[MIS_SENSORS_PatriusBodySpheroid celestial bodies]].
  
 
<syntaxhighlight lang="java">
 
<syntaxhighlight lang="java">
Ligne 139 : Ligne 139 :
  
 
=== Fields of view ===
 
=== Fields of view ===
See the dedicated [SPC_FIELD_mainPage Fields of view ] page.
+
See the dedicated [[User Manual 3.3 Fields of view|Fields of view]] page.
  
 
== Getting started ==
 
== Getting started ==
Ligne 169 : Ligne 169 :
 
|}
 
|}
  
See the dedicated [SPC_FIELD_mainPage Fields of view ] page for associated contents.
+
See the dedicated [[User Manual 3.3 Fields of view|Fields of view]] page for associated contents.
  
 
== Tutorials ==
 
== Tutorials ==
Ligne 180 : Ligne 180 :
 
== [[File:lightBulb.png]] Tips & Tricks ==
 
== [[File:lightBulb.png]] Tips & Tricks ==
 
{{specialInclusion prefix=$theme_sub section="Tips"/}}
 
{{specialInclusion prefix=$theme_sub section="Tips"/}}
 +
 +
[[Category:User_Manual_3.3_Spacecraft]]

Version actuelle en date du 1 mars 2018 à 12:47


Introduction

Scope

In this section are presented the sensor model for a PATRIUS assembly, the associated part property and the fields of view that are necessary to describe it.

Javadoc

The SensorModel ais available in the package fr.cnes.sirius.patrius.assembly.models.

The SensorProperty is available in the package fr.cnes.sirius.patrius.assembly.properties.

The fields of view are available in the package fr.cnes.sirius.patrius.fieldsofview.


Overview

The sensor model is associated to one part of an assembly that must have a "SensorProperty" property.

Its main and inhibition targets are several PVCoordinatesProvider (and their radiuses are doubles), its main and inhibition fields of view are under the IFieldOfView interface, in the "fieldsofview" package.

Sensors.PNG

Features Description

Properties

Sensor Property

To create a sensor model, one part of the assembly must be associated to a SENSOR property.

A sensor property contains :

  • a sight axis (not optional)
  • (optional) a main spherical target defined by its center and radius (that can be set to zero to create a simple point)
  • (optional)if a main target has been defined : a main field of view
  • (optional) two arrays (same length) for the inhibition fields and the associated targets (as the main one, they are spherical, with radiuses that can be set to zero to create a simple point)
  • (optional) an array of reference axis

All of them are expressed in the sensor part/frame.

This property shall be used through the Sensor Model.

The property type associated is SENSOR.

Geometric property

The Geometric property associates a part to any shape that implements the SolidShape interface.
(See the Geometry chapter of the Mathematics user manual for more details) It is used in masking computations.

The property type associated is GEOMETRY.

Sensor model

An instance of the sensor model is associated to one part, that contains a SENSOR property. It realizes the useful computations about this particular sensor : check if the main target is in its field of view, if inhibition or maskings happen, etc...

Here is a comlete list of thoses services. The model provides methods to :

  • Check if the main spherical target is in the field of view at a date

Important : for "is in" boolean tests, all spherical targets (main and inhibition) are considered to be in the associated field as soon as a part of them is in.

// the model is build from an assembly, giving the name of the part that contains the SENSOR property.
SensorModel sensor = new SensorModel(assembly, partName);
boolean targetIsInField = sensor.isMainTargetInField(date);
  • Check if at least an inhibition spherical target is in its associated inhibition field at a date
boolean noInhibition = sensor.noInhibition(date);
  • Check if the main spherical target is in the field of view AND no inhibition target in its inhibition field at a given date
boolean visibilityIsOk = sensor.visibilityOk(date);
  • Computes the angular distance of the main target CENTER to the border of the main field of view at a date.

double angularDistance = sensor.getTargetCenterFOVAngle(date); The result is positive if the target is in the field. NB : in some particular cases of Boolean Field of view, this angular distance is approximated (but the sign is still right).

  • Computes the main spherical target direction vector in the part's frame (CX, CY, CZ)
Vector3D targetInFrame = sensor.getTargetVectorInSensorFrame(date);
  • Computes the dihedral angles (AX = atan2(CZ, CY), AY = atan2(CX, CZ), AZ = atan2(CY, CX))
// the order in this array is : AX, AY, AZ
double[] angles = sensor.getTargetDihedralAngles(date);
  • Computes the vector angles (of the main target to the sight axis or one of the reference axis)
// to the sight axis
double angleSightAxis = sensor.getTargetSightAxisAngle(date);
 
// to the reference axis number N (for the first N = 1 !!)
double angleRefAxis = sensor.getTargetRefAxisAngle(date, N);
  • Computes the elevation angles (of the main target to the plane orthogonal to the sight axis or to one of the reference axis)
// to the sight axis
double angleSightAxis = sensor.getTargetSightAxisElevation(date);
 
// to the reference axis number N (for the first N = 1 !!)
double angleRefAxis = sensor.getTargetRefAxisElevation(date, N);
// two potentially masking celestial bodies
GeometricBodyShape earth = new ExtendedOneAxisEllipsoid(aeEarth, fEarth, attachedFrameEarth, "earth");
GeometricBodyShape moon= new ExtendedOneAxisEllipsoid(aeMoon, fMoon, attachedFrameMoon, "moon");
 
sensor.addMaskingCelestialBody(earth);
sensor.addMaskingCelestialBody(moon);
 
// a potentially masking spacecraft (the concerned Assembly's parts must have the right GEOMETRY property)
SecondarySpacecraft issStation = new SecondarySpacecraft (assemblyISS, propagatorISS, "ISS");
 
// its potentially masking parts names
String[] maskingPartsISS = {"solar panel 1", "solar panel 2"};
 
sensor.addSecondaryMaskingSpacecraft(issStation, maskingPartsISS );
 
// the same spacecraft's potentially masking parts (that must have each a GEOMERTY property)
String[] maskingPartsSameSpacecraft = {"solar panel", "big antenna"};
 
sensor.addOwnMaskingParts(maskingPartsSameSpacecraft);

Fields of view

See the dedicated Fields of view page.

Getting started

Modèle:SpecialInclusion prefix=$theme sub section="GettingStarted"/

Contents

Classes

Class Summary Javadoc
SensorProperty This class is a part property for the PATRIUS assembly. It allows to define a part as a sensor, with associated fields and axis. ...
GeometricProperty This class is a part property for the PATRIUS assembly. It allows to define the part geometry for masking computations. ...
SensorModel This class is a model for a sensor integrated in a PATRIUS assembly. ...
SecondarySpacecraft This class is a potentially sensor-masking secondary spacecraft. ...

See the dedicated Fields of view page for associated contents.

Tutorials

Tutorial 1

Modèle:SpecialInclusion prefix=$theme sub section="Tuto1"/

Tutorial 2

Modèle:SpecialInclusion prefix=$theme sub section="Tuto2"/

LightBulb.png Tips & Tricks

Modèle:SpecialInclusion prefix=$theme sub section="Tips"/