Enable facet drag dynamic effector to link to state effectors#1289
Enable facet drag dynamic effector to link to state effectors#1289DavilaDawg wants to merge 4 commits intodevelopfrom
Conversation
f0adf7c to
8a29fe9
Compare
|
Can we update this PR to have a more descriptive title. |
|
Both the PR title and the PR description need to be more informative. The PR description, right now, just tells me some files were edited. It tells me nothing about what this branch is about, the motivation, expected outcome, assumptions, etc. |
[P1] Shadowed property-name fields break segment force routing for 2-DOF parents
Refs:
|
[P1] Shadowed state-name fields ignore assigned hub state names
Refs:
|
[P3] New numeric literals violate repo unit-comment ruleAGENTS requires inline unit comments for physically meaningful numeric literals in modified code. New literals were added without unit annotations. Refs:
|
schaubh
left a comment
There was a problem hiding this comment.
I did a rebase and fixed how release notes were added. In the future, when making a PR, please ensure your branch is already rebased on develop. Also, please make the PR title and description section more informative.
Overall getting close. Thanks for the support!
I'm waiting for @andrewmorell feedback on this PR as well.
| Eigen::Vector3d v_hat_B; //!< class variable | ||
| BSKLogger bskLogger; //!< -- BSK Logging | ||
|
|
||
| // State names (for hub attachment) |
There was a problem hiding this comment.
Shouldn't these variables be private variables that are accessed through setters and getters?
There was a problem hiding this comment.
Yes they should be. I fixed this.
| this->inertialAttitudeProperty = nullptr; | ||
|
|
||
| // Set default state names for hub attachment | ||
| this->stateNameOfSigma = "hubSigma"; |
There was a problem hiding this comment.
what about the default name for the position states?
There was a problem hiding this comment.
Do you actually use inertialPositionProperty?
There was a problem hiding this comment.
I removed this because it was unused.
| this->hubVelocity = nullptr; | ||
|
|
||
| // Initialize property pointers | ||
| this->inertialPositionProperty = nullptr; |
There was a problem hiding this comment.
I'm not sure you actually use this variable?
There was a problem hiding this comment.
I don't, I removed it.
f584912 to
4132d69
Compare
4132d69 to
af9e445
Compare
|
I have removed the unnecessary variables and also removed the getters as they are inherited from DynamicEffector. I kept the setter functions with an override but I could remove those too if needed. |
Description
The purpose of this PR is to augment the facet drag dynamic effector to be able to link to state effectors instead of just being able to link directly with the hub. To do this I added setter and getter functions for the states of the state effectors and updated the function that calculates drag based on the states of its parent so that if the parent is the hub it uses the hub states and if it is a state effector is uses the state effector's states. One commit contains the changes to the header, the next contains changes to the c+, the next contains changes to the integrated test and the last contains documentation changes.
Verification
I added to the integrated test: test_effectorBranching_integrated.py. I also wrote an aerobrake scenario and which compared two identical spacecraft one with facet drag with the hub as the parent and one where facet drag is also attached to 1DOF HRBs and 2DOF HRB's and the resulting dynamics make sense. The unit tests also pass.
Documentation
I added comments to the header file and c++ as well as added a column to the abilities table in bskPrinciples-11.rst. Also added to bskReleaseNotes.rst
Future work
Can use this change for a more accurate aerobraking maneuver scenario.