OpticalNavigation:

Path: OpticalNavigation/Core

% Implements optical navigation using two targets.
 This function implements orbit determination in a two body system.
 system. It allows for two types of measurements, planet chord and planet
 horizon.  The latter is used when the spacecraft is near a planet or moon 
 and it is too close to see the whole planet. The function assumes that
 the camera is pointing so that it sees the whole planet or the horizon.

 The function assumes that the navigation camera points instantly
 at the target. It does not require a star camera.

 There are three actions: 'initialize,' 'get unit vector,' and 'update.'
 'initialize' sets the output to the input r and v. 'get unit vector'
 gets the pointing vector for the navigation camera. This is sent to the
 camera. 'update' updates the filter. 

--------------------------------------------------------------------------
	  Form:
   d = OpticalNavigation
   OpticalNavigation( 'initialize', d, r, v )
   OpticalNavigation( 'ukf parameters', q, p, alpha, f )
   OpticalNavigation( 'get unit vector', d, rPlanet, vPlanet, r, v )
   OpticalNavigation( 'update', d, y, rPlanet, vPlanet, r, v )
   OpticalNavigation( 'update trn', d, y, rPlanet, vPlanet, r, v )

   [d,rE,vE] = OpticalNavigationMoon( action, d, varargin )
--------------------------------------------------------------------------

   ------
   Inputs
   ------
   action  (1,:) 'initialize,' 'get unit vector,' and 'update'
   d       (.) Data structure
               .starCat    (.) Star catalog data structure
               .uStarCat   (3,:) Unit vectors for the stars
               .aBody1   	(1,1) Radius of the first body (km)
               .aBody2     (1,1) Radius of the second body (km)
               .uCamera    (3,1) Unit vector for camera in body frame
               .dNav       (.)   Navigation camera data structure
               .rE         (3,1) Spacecraft position vector (km)
               .vE         (3,1) Spacecraft velocity vector (km/s)
               .dT         (1,1) Time step (s)
               .rES        (3,1) Static solution position estimate (km)
               .vES        (3,1) Static solution velocity estimate (km/s)
               .rESOld     (3,1) Static solution old position estimate
               .useStatic  (1,1) If 1 return the static solution
               .target     (1,1) 1 = moon, 2 = Earth
               .type       (1,1) 1 = horizion, 2 = centroid
               .halfAng    (1,1) Navigation camera half field-of-view
   meas    (.)   Navigation camera data struture
   rMoon   (3,1) Moon position vector (km)
   vMoon   (3,1) Moon velocity vector (km/s)
   r       (3,1) Spacecraft position vector (km)
   v       (3,1) Spacecraft velocity vector (km/s)

   -------
   Outputs
   -------
   d       (.) Data structure

--------------------------------------------------------------------------

Children:

OpticalNavigation: Core/SelectTarget
OpticalNavigation: Dynamics/RHSUKFCisLunarMission
OpticalNavigation: Measurements/MeasStarAngleAndChord
SCPro: ProSensors/HorizonUnitVectors
SCPro: ProSensors/NavigationCamera
SpacecraftEstimation: SensorMeas/MeasGPS
SpacecraftEstimation: SensorMeas/MeasRangeGroundStation
SpacecraftEstimation: StellarCatalog/LoadCatalog
Common: Database/Constant
Common: Estimation/KFInitialize
Common: Estimation/UKFPredict
Common: Estimation/UKFUpdate
Common: Transform/RaDec2U
Math: Linear/BlockDiagonal
Math: Linear/Mag
Math: Linear/Unit

Back to the OpticalNavigation Module page