Uploaded image for project: 'GMAT'
  1. GMAT
  2. GMT-3833

Poor error message when targeter changes spacecraft property outside of valid bounds

    Details

    • Type: Bug
    • Status: Open (View Workflow)
    • Priority: P2
    • Resolution: Unresolved
    • Affects Version/s: R2014a, R2015a, R2016a, R2017a, R2018A
    • Fix Version/s: R2018A
    • Component/s: Vary Command (FRC-2)
    • Labels:
      None
    • Environment:

      GMAT R2013a

      Description

      Run the attached script. After 32 targeter iterations, this message appears (context included):

      DC1 Iteration 32; Nominal Pass
         Variables:  positron.RA = 284.933633789, positron.DEC = 87.08, TJI.Element1 = 6.4374075406
         Goals and achieved values:
            positron.UTCModJulian  Desired: 32597.8458333  Achieved: 33138.5176968  Variance: -540.671863474
            positron.JupiterInertial.BdotR  Desired: 100000  Achieved: 8579158.03864  Variance: -8479158.03864
            positron.JupiterInertial.BdotT  Desired: 10000  Achieved: -15327619.2561  Variance: 15337619.2561
      
         Completed iteration 32, pert 1 (positron.RA = 284.934633789)
         Completed iteration 32, pert 2 (positron.DEC = 87.081)
         Completed iteration 32, pert 3 (TJI.Element1 = 6.4375075406)
      
      Command Exception: **** ERROR **** Error scripting the variable in the Vary command: Coordinate systems and Central Bodies are not supported on the left hand side at this time in line:
      Vary 'Vary Dec' DC1(positron.DEC = -2.92, {Perturbation = 0.001, Lower = -180, Upper = 180, MaxStep = 10, AdditiveScaleFactor = 0.0, MultiplicativeScaleFactor = 1.0});
      *** Mission run failed.
      ===> Total Run Time: 201.688000 seconds
      
      ========================================
      

      There is no CS or central body in the scripting, so this error message should not have been thrown. It certainly should not have passed the check for 31 iterations and then failed.

      This might just be a bad message generated from some other condition, but it must be investigated and resolved.

        Gliffy Diagrams

          Attachments

            Activity

            Hide
            shughes Steven Hughes added a comment -

            Note that constraints on DEC are -90 <= DEC <0 90. The previous iteration is on DEC = 87.08 degrees. It is possible this issue is because the solver broke the input validation constraint.

            I can't be sure that is the problem obviously without seeing debug.

            There is another ticket that we need to handle modulo in solvers. Not sure how this would work here though. That issue is more relating to Achieve and NonlinearConstraint.

            Show
            shughes Steven Hughes added a comment - Note that constraints on DEC are -90 <= DEC <0 90. The previous iteration is on DEC = 87.08 degrees. It is possible this issue is because the solver broke the input validation constraint. I can't be sure that is the problem obviously without seeing debug. There is another ticket that we need to handle modulo in solvers. Not sure how this would work here though. That issue is more relating to Achieve and NonlinearConstraint.
            Hide
            shughes Steven Hughes added a comment - - edited

            My previous comment correctly explains the issue, this is not a critical bug, it is a poor error message: I modified the script like this to see DEC

            Vary 'Vary Dec' DC1(DEC = -2.92, {Perturbation = 0.001, Lower = -180, Upper = 180, MaxStep = 10,);
            Report rf positron.RA DEC
            positron.DEC = DEC

            Now I see this exception:

            Parameter exception: Utility Exception: The value of "97.08" for field "DEC" on object "positron" is not an allowed value.
            The allowed values are: [-90.0 <= Real Number <= 90.0]
            in
            "positron.DEC = DEC;"

            Show
            shughes Steven Hughes added a comment - - edited My previous comment correctly explains the issue, this is not a critical bug, it is a poor error message: I modified the script like this to see DEC Vary 'Vary Dec' DC1(DEC = -2.92, {Perturbation = 0.001, Lower = -180, Upper = 180, MaxStep = 10,); Report rf positron.RA DEC positron.DEC = DEC Now I see this exception: Parameter exception: Utility Exception: The value of "97.08" for field "DEC" on object "positron" is not an allowed value. The allowed values are: [-90.0 <= Real Number <= 90.0] in "positron.DEC = DEC;"

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated: