OpticalNavigationMoon:

Path: SpacecraftEstimation/OpticalNavigation

% Implements optical navigation using the Moon as a target
 This function implements static orbit determination in the Earth-Moon 
 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 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. 

 This version only has the static solution.
--------------------------------------------------------------------------
	  Form:
   d = OpticalNavigationMoon
   OpticalNavigationMoon( 'initialize', d, r, v )
   OpticalNavigationMoon( 'get unit vector', d, rMoon, vMoon, r, v )
   OpticalNavigationMoon( 'update', d, y, rMoon, vMoon, 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
               .aMoon      (1,1) Radius of the moon (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
   y       (.)   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
   rE      (3,1) Estimated position
   vE      (3,1) Estimated velocity

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

Children:

AC: ACData/ACTConstants
AerospaceUtils: Coord/QLVLH
SC: Ephem/LoadFK5
SC: SCData/sCTConstants
SC: Sensor/U2Pix
SCPro: ProSensors/HorizonUnitVectors
SCPro: ProSensors/NavigationCamera
SCPro: ProSensors/StarCameraViewer
SpacecraftEstimation: StellarAttDet/PinholeCameraStruct
SpacecraftEstimation: StellarAttDet/PinholeStarCamera
SpacecraftEstimation: StellarCatalog/LoadCatalog
SpacecraftEstimation: StellarData/FK5Polar
SpacecraftEstimation: StellarData/Hipparcos
Common: CommonData/Constants
Common: CommonData/SwooshWatermark
Common: CommonData/xSplashSmall
Common: Database/Constant
Common: General/CellToMat
Common: General/DeBlankLT
Common: General/DeleteCell
Common: General/MatToCell
Common: General/Watermark
Common: Graphics/NewFig
Common: Graphics/Plot2D
Common: Graphics/PltStyle
Common: Graphics/TitleS
Common: Graphics/XLabelS
Common: Graphics/YLabelS
Common: Graphics/ZLabelS
Common: Quaternion/Mat2Q
Common: Quaternion/Q2Mat
Common: Quaternion/QTForm
Common: Transform/RaDec2U
Common: Transform/VM2Int
Math: Linear/Cross
Math: Linear/Mag
Math: Linear/Unit

Back to the SpacecraftEstimation Module page