DFFAttitudeManeuver:

Path: FormationFlying/Software

% DFF attitude maneuver planning
 This routine performs attitude maneuver planning. It takes a target as input
 and computes the required maneuver. The target quaternion that is output is
 found by computing the axis and single angle of rotation that will achieve the
 target. Given that quaternion, only a small angular deviation is used each
 step. Thus, the target is ramped up to prevent problems with the PID
 controller.

 Possible targets are

  'latlon'  - Point a vector at a latitude and longitude on the earth
  'sun'     - Point a vector at the sun
  'lvlh'    - Align body axes with LVLH
  'eci'     - Align body axes with ECI
  'ulvlh'   - Align a vector with a vector defined in LVLH
  'target'  - Point at a target in the ECI frame
  'ueci'    - Align a vector with a vector defined in ECI

------------------------------------------------------------------------
   Form:
   t = DFFAttitudeManeuver( action, d, k )
------------------------------------------------------------------------

   ------
   Inputs
   ------
   action        (1,:)     Action to be performed        
   d             (1,1)     Data structure for inputs
   k             (1,1)     Unique spacecraft identifier

   -------
   Outputs
   -------
   t             (1,1)     Data structure with outputs. Valid only
                           with action 'update' and 'get telemetry'

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