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

Optimal Control Cleanup and Debug/Prep For Early Adopters

    Details

      Description

      Scope: Address key bugs and usability issues and clean up recent code. Address any issues that occur in preliminary sample missions/tutorials.

      [JJR] Update tutorial script and address issues so that it runs and converges
      [JJR] Update Mission C script and address issues so that it runs and converges
      [JJR] Consolidate translation operation in GMATOptimalControl::GetUnscaledStatesForFun()
      [JJR] Debug dynamics partials
      [JJR] Clean up recent code for GMATOptimalControl Functions

        Gliffy Diagrams

          Attachments

            Activity

            Hide
            jraymond Joshua Raymond added a comment -

            Status - 02/07/2019

            [JJR] Testing tutorial script for debugging with assistance from SPH. Beginning to move common code in GmatOptimalControlFunction derived classes into GetUnscaledStatesForFun().

            Show
            jraymond Joshua Raymond added a comment - Status - 02/07/2019 [JJR] Testing tutorial script for debugging with assistance from SPH. Beginning to move common code in GmatOptimalControlFunction derived classes into GetUnscaledStatesForFun().
            Hide
            jraymond Joshua Raymond added a comment - - edited

            Status - 02/14/2019

            [JJR] The issue in the dynamics partials was found to be caused by the time Jacobian being produced for point masses when more than one point mass is being used. The issue was a discrepancy of coordinate systems between two position vectors being subtracted. Translation operation and state unscaling has been moved to GetUnscaledStatesForFun() and is ready for testing once dynamics bug is resolved and tutorial script is successfully converging. Further code cleanup has been completed.

            Show
            jraymond Joshua Raymond added a comment - - edited Status - 02/14/2019 [JJR] The issue in the dynamics partials was found to be caused by the time Jacobian being produced for point masses when more than one point mass is being used. The issue was a discrepancy of coordinate systems between two position vectors being subtracted. Translation operation and state unscaling has been moved to GetUnscaledStatesForFun() and is ready for testing once dynamics bug is resolved and tutorial script is successfully converging. Further code cleanup has been completed.
            Hide
            jraymond Joshua Raymond added a comment -

            Status - 02/21/2019

            [JJR] Translation operation has been moved to GetUnsclaedStatesForFun(). Cleanup was completed for new GmatOptimalControl functions. Point mass time Jacobian calculation is now working properly. Full sunlight and antumbra time Jacobians for SRP are looking good, there may be a bug in penumbra case. The tutorial script is now converging with all the point masses turned on. Waiting to discuss what users may want for the time elements of a CustomLinkageConstraint before making changes to this task.

            Show
            jraymond Joshua Raymond added a comment - Status - 02/21/2019 [JJR] Translation operation has been moved to GetUnsclaedStatesForFun(). Cleanup was completed for new GmatOptimalControl functions. Point mass time Jacobian calculation is now working properly. Full sunlight and antumbra time Jacobians for SRP are looking good, there may be a bug in penumbra case. The tutorial script is now converging with all the point masses turned on. Waiting to discuss what users may want for the time elements of a CustomLinkageConstraint before making changes to this task.
            Hide
            gmat_wcs Wendy Shoan added a comment -

            I assume these are part of my item, above:

            • Limitations for EMTG thrust configuration files
            • Fix path limitations for GmatGuess files
            • Rename GmatGuess to OptimalControlGuess
            • Support path for optimal control solution output file

            I think I will need more information on these.

            Show
            gmat_wcs Wendy Shoan added a comment - I assume these are part of my item, above: Limitations for EMTG thrust configuration files Fix path limitations for GmatGuess files Rename GmatGuess to OptimalControlGuess Support path for optimal control solution output file I think I will need more information on these.
            Hide
            jraymond Joshua Raymond added a comment -

            Status - 03/07/18

            [JJR] Fixed an issue where the step sized used in finite differencing for sparsity pattern determination of path Jacobians was too small for the Mission C script. Now the sparsity pattern is determined by selecting two random points and seeing if there were any changes to function values. This goes through 100 pairs of points to help ensure every possible change in Jacobian values are detected. As for SRP, I have discussed with DJC and he believes the differences in values I see compared to NH are through mathematical artifacts and therefore it would be best to move on to a new item and keep this in mind in case this issue arises later on. Also I would like to give huge thanks to NH for all his help in finding bugs in my penumbra case code!

            Show
            jraymond Joshua Raymond added a comment - Status - 03/07/18 [JJR] Fixed an issue where the step sized used in finite differencing for sparsity pattern determination of path Jacobians was too small for the Mission C script. Now the sparsity pattern is determined by selecting two random points and seeing if there were any changes to function values. This goes through 100 pairs of points to help ensure every possible change in Jacobian values are detected. As for SRP, I have discussed with DJC and he believes the differences in values I see compared to NH are through mathematical artifacts and therefore it would be best to move on to a new item and keep this in mind in case this issue arises later on. Also I would like to give huge thanks to NH for all his help in finding bugs in my penumbra case code!

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: