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 --------------------------------------------------------------------------
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