:orphan: .. **************************************************************************** .. CUI .. .. The Advanced Framework for Simulation, Integration, and Modeling (AFSIM) .. .. The use, dissemination or disclosure of data in this file is subject to .. limitation or restriction. See accompanying README and LICENSE for details. .. **************************************************************************** WsfP6DOF_GuidanceComputer ------------------------- .. class:: WsfP6DOF_GuidanceComputer inherits WsfGuidanceComputer Overview ======== WsfP6DOF_GuidanceComputer is derived from :model:`WSF_GUIDANCE_COMPUTER` and provides a similar set of controls for platforms that use :model:`WSF_P6DOF_MOVER` movers. .. warning:: Be sure to use :model:`WSF_P6DOF_GUIDANCE_COMPUTER` for platforms that include a :model:`WSF_P6DOF_MOVER`. Use of a :model:`WSF_GUIDANCE_COMPUTER` with a :model:`WSF_P6DOF_MOVER` will not result in proper guidance and control. General Methods =============== .. method:: void SelectPhase(string aPhaseName) Immediately terminates the current phase and initiates the specified phase. The :command:`WSF_P6DOF_GUIDANCE_COMPUTER.on_exit` script block in the current phase is executed, then the :command:`WSF_P6DOF_GUIDANCE_COMPUTER.on_entry` script block is executed in the selected phase. .. method:: bool SetGuidanceDelay(double aValue) bool SetGuidanceDelay(string aPhaseName, double aValue) Sets the value of :command:`WSF_P6DOF_GUIDANCE_COMPUTER.guidance_delay` (in seconds). .. method:: bool SetMaximumCommandedGees(double aValue) bool SetMaximumCommandedGees(string aPhaseName, double aValue) Sets the value of :command:`WSF_P6DOF_GUIDANCE_COMPUTER.maximum_commanded_g` (G's: i.e.: a value of 1.0 is 1 g). .. method:: void StopEngines() This immediately terminates thrust. Proportional Navigation Methods =============================== .. method:: bool SetProportionalNavigationGain(double aValue) bool SetProportionalNavigationGain(string aPhaseName, double aValue) Sets the value of :command:`WSF_P6DOF_GUIDANCE_COMPUTER.proportional_navigation_gain` (unitless). .. method:: bool SetProportionalNavigationLimitAngle(double aValue) bool SetProportionalNavigationLimitAngle(string aPhaseName, double aValue) Sets the value of :command:`WSF_P6DOF_GUIDANCE_COMPUTER.proportional_navigation_limit_angle` (degrees). .. method:: bool SetProportionalNavigationMethod(double aValue) bool SetProportionalNavigationMethod(string aPhaseName, double aValue) Sets the value of :command:`WSF_P6DOF_GUIDANCE_COMPUTER.proportional_navigation_method` ("pure" or "augmented"). Velocity Pursuit Methods ======================== .. method:: bool SetVelocityPursuitGain(double aValue) bool SetVelocityPursuitGain(string aPhaseName, double aValue) Sets the value of :command:`WSF_P6DOF_GUIDANCE_COMPUTER.velocity_pursuit_gain` (unitless). Trajectory Shaping Methods ========================== .. method:: bool SetGeeBias(double aValue) bool SetGeeBias(string aPhaseName, double aValue) Sets the value of :command:`WSF_P6DOF_GUIDANCE_COMPUTER.g_bias` (unitless). .. method:: bool SetLateralGeeBias(double aValue) bool SetLateralGeeBias(string aPhaseName, double aValue) Sets the value of :command:`WSF_P6DOF_GUIDANCE_COMPUTER.lateral_g_bias` (unitless). .. method:: bool SetCommandedAzimuthOffset(double aValue) bool SetCommandedAzimuthOffset(string aPhaseName, double aValue) Sets the value of :command:`WSF_P6DOF_GUIDANCE_COMPUTER.commanded_azimuth_offset` (degrees). Aimpoint Methods ================ .. method:: bool SetGuidanceTarget(string aValue) bool SetGuidanceTarget(string aPhaseName, string aValue) Sets the value of :command:`WSF_P6DOF_GUIDANCE_COMPUTER.guidance_target` ("truth", "perception", "predicted_intercept", "default"). .. method:: bool SetAimpointAltitudeOffset(double aValue) bool SetAimpointAltitudeOffset(string aPhaseName, double aValue) Sets the value of :command:`WSF_P6DOF_GUIDANCE_COMPUTER.aimpoint_altitude_offset` (meters). .. method:: bool SetAimpointAzimuthOffset(double aValue, string aDirection) bool SetAimpointAzimuthOffset(string aPhaseName, double aValue, string aDirection) Sets the value of :command:`WSF_P6DOF_GUIDANCE_COMPUTER.aimpoint_azimuth_offset` (degrees). aDirection must be "left", "right" or "either". .. method:: bool SetAimpointRangeOffset(double aValue) bool SetAimpointRangeOffset(string aPhaseName, double aValue) Sets the value of :command:`WSF_P6DOF_GUIDANCE_COMPUTER.aimpoint_range_offset` (meters). .. method:: bool SetAimpointEvaluationInterval(double aValue) bool SetAimpointEvaluationInterval(string aPhaseName, double aValue) Sets the value of :command:`WSF_P6DOF_GUIDANCE_COMPUTER.aimpoint_evaluation_interval` (seconds). Unsupported Methods =================== The following methods (inherited from :model:`WSF_GUIDANCE_COMPUTER`) are not supported at this time. .. method:: void EjectStage() void EjectStage(double aPreSeparationCoastTime, double aPreIgnitionCoastTime) .. method:: bool SetAllowRouteFollowing(bool aValue) bool SetAllowRouteFollowing(string aPhaseName, bool aValue) Sets the value of :command:`WSF_GUIDANCE_COMPUTER.allow_route_following` (true or false). .. method:: bool ClearCommandedAltitude() bool ClearCommandedAltitude(string aPhaseName) Clears the :command:`WSF_GUIDANCE_COMPUTER.commanded_altitude`. .. method:: bool ClearCommandedSpeed() bool ClearCommandedSpeed(string aPhaseName) Clears the :command:`WSF_GUIDANCE_COMPUTER.commanded_speed` or :command:`WSF_GUIDANCE_COMPUTER.commanded_mach`. .. method:: bool ClearCommandedFlightPathAngle() bool ClearCommandedFlightPathAngle(string aPhaseName) Clears the :command:`WSF_GUIDANCE_COMPUTER.commanded_flight_path_angle`. .. method:: bool ClearCommandedThrottle() bool ClearCommandedThrottle(string aPhaseName) Clears the :command:`WSF_GUIDANCE_COMPUTER.commanded_throttle` (resumes the default throttle control in the mover). .. method:: bool SetCommandedAltitude(double aValue) bool SetCommandedAltitude(string aPhaseName, double aValue) Sets the value of :command:`WSF_GUIDANCE_COMPUTER.commanded_altitude` (meters above mean sea level). .. method:: bool SetCommandedAltitudeAGL(double aValue) bool SetCommandedAltitudeAGL(string aPhaseName, double aValue) Sets the value of :command:`WSF_GUIDANCE_COMPUTER.commanded_altitude` (meters above ground level). .. method:: bool SetMaximumAscentRate(double aValue) bool SetMaximumAscentRate(string aPhaseName, double aValue) Sets the value of :command:`WSF_GUIDANCE_COMPUTER.maximum_ascent_rate` (meters/second). .. method:: bool SetMaximumDescentRate(double aValue) bool SetMaximumDescentRate(string aPhaseName, double aValue) Sets the value of :command:`WSF_GUIDANCE_COMPUTER.maximum_descent_rate` (meters/second). .. method:: bool SetMaximumPitchAngle(double aValue) bool SetMaximumPitchAngle(string aPhaseName, double aValue) Sets the value of :command:`WSF_GUIDANCE_COMPUTER.maximum_pitch_angle` (degrees). .. method:: bool SetPitchChangeGain(double aValue) bool SetPitchChangeGain(string aPhaseName, double aValue) Sets the value of :command:`WSF_GUIDANCE_COMPUTER.pitch_change_gain` (unitless). .. method:: bool SetCommandedFlightPathAngle(double aValue) bool SetCommandedFlightPathAngle(string aPhaseName, double aValue) Sets the value of :command:`WSF_GUIDANCE_COMPUTER.commanded_flight_path_angle` (degrees). .. method:: bool SetCommandedMach(double aValue) bool SetCommandedMach(string aPhaseName, double aValue) Sets the value of :command:`WSF_GUIDANCE_COMPUTER.commanded_mach` (unitless Mach number). .. method:: bool SetCommandedSpeed(double aValue) bool SetCommandedSpeed(string aPhaseName, double aValue) Sets the value of :command:`WSF_GUIDANCE_COMPUTER.commanded_speed` (meters/second). .. method:: bool SetCommandedThrottle(double aValue) bool SetCommandedThrottle(string aPhaseName, double aValue) Sets the value of :command:`WSF_GUIDANCE_COMPUTER.commanded_throttle` in the range [0..1].