Skip to content
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

Merged
merged 17 commits into from
Mar 21, 2024

Conversation

leahkiner
Copy link
Contributor

@leahkiner leahkiner commented Mar 19, 2024

  • Tickets addressed: bsk-613
  • Review: By commit
  • Merge strategy: Merge (no squash)

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

@leahkiner leahkiner added the enhancement New feature or request label Mar 19, 2024
@leahkiner leahkiner requested a review from schaubh March 19, 2024 00:37
@leahkiner leahkiner self-assigned this Mar 19, 2024
Copy link
Contributor

@schaubh schaubh left a 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.

@leahkiner
Copy link
Contributor Author

The module is ready for review now @schaubh

@leahkiner leahkiner marked this pull request as ready for review March 19, 2024 21:21
@schaubh schaubh self-requested a review March 20, 2024 14:37
Copy link
Contributor

@schaubh schaubh left a 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.

@leahkiner leahkiner force-pushed the feature/bsk-613-smooth-translational-profiler branch from e96aebe to f51d5cf Compare March 20, 2024 23:04
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.
@leahkiner leahkiner force-pushed the feature/bsk-613-smooth-translational-profiler branch from f51d5cf to 037756e Compare March 20, 2024 23:07
@leahkiner
Copy link
Contributor Author

I finished making your requested changes to this PR @schaubh

@leahkiner leahkiner merged commit 13a67ed into develop Mar 21, 2024
2 checks passed
@leahkiner leahkiner deleted the feature/bsk-613-smooth-translational-profiler branch March 21, 2024 20:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Add acceleration smoothing option to prescribedLinearTranslation profiler module
2 participants