-
Notifications
You must be signed in to change notification settings - Fork 63
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/bsk 613 smooth translational profiler #649
Feature/bsk 613 smooth translational profiler #649
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR is not updating the module documentation to reflect the new variable and method naming. Please update the RST documentation to reflect the module changes.
...on/deviceInterface/prescribedLinearTranslation/_UnitTest/test_prescribedLinearTranslation.py
Outdated
Show resolved
Hide resolved
The module is ready for review now @schaubh |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed a small issue in the RST documentation where a section title didn't have enough "^" symbols. Please squash this commit before closing.
e96aebe
to
f51d5cf
Compare
tr, ts, tc, and tf are renamed to t_r, t_s, t_c and t_f
This commit moves the module methods and variables into more logical groups so that when smoothing is introduced, the associated methods and variables will have clear groups they belong to.
This method is added in order to reduce the content and complexity of the UpdateState() method.
This method is added in order to reduce the content and complexity of the UpdateState() method.
The changes in this commit include small tweaks to method and parameter descriptions, rewording of other comments, changing indentation, and shifting/ swapping some lines of code to more logical locations.
Both of these variables represent the end of a bang segment; therefore they can be merged and renamed as a single variable. When smoothing is added to the module, these additional profilers will be able to re-use this variable.
transPos_tr and transVel_tr variables are renamed to transPos_tb1 and trannsVel_tb1, respectively. These variables are renamed so that when smoothing is added to the module, the additional profilers will be able to re-use these variables.
The methods ending in NoCoast() are removed because the other existing methods can be rewritten and used by either profiler.
This method is added in order to reduce the content and complexity of the UpdateState() method.
This commit adds both a smoothed bang-bang and a smoothed bang-coast-bang profiler option to the module.
For the smoothed profiler options, the numerical derivative of the profiled displacements and velocities is determined across the entire simulation and then checked with the module's profiled acceleration and velocity to ensure the profiled acceleration is correctly integrated in the module to obtain the displacements and velocities.
f51d5cf
to
037756e
Compare
I finished making your requested changes to this PR @schaubh |
Description
A smoothing option is added to the
prescribedLinearTranslation
module that smooths the bang-bang and bang-coast-bang options using cubic-spline acceleration profiles. This option is added to improve the verification of the prescribed motion state effector module and reduce the likelihood of exciting flexible modes of the spacecraft components. As a result of this update to the module, there are now four available options to configure the module: bang-bang, bang-coast-bang, smoothed bang-bang, and smoothed bang-coast-bang.The first 13 commits of this PR are changes that are made to the existing profiler module to prepare and organize the module for the addition of the smoothing profilers. The following commits are changes made to add smoothing to the module.
Verification
The module unit test is updated to check the smoothed profilers. In addition to checking that the translational positions converge to the reference values, the numerical derivative of the profiled displacements and velocities is determined across the entire simulation and then checked with the module's profiled acceleration and velocity to ensure the
profiled acceleration is correctly integrated in the module to obtain the displacements and velocities.
Documentation
The module documentation is updated to discuss the mathematics for the smoothed profiler options.
Future work
N/A